parent
5651b770ce
commit
28cfe55921
@ -0,0 +1,89 @@ |
||||
<script> |
||||
import { push, link } from 'svelte-spa-router'; |
||||
import Validator from 'Validator'; |
||||
import { onMount } from 'svelte'; |
||||
import Layout from '$/client/Layout.svelte'; |
||||
import Icon from '$/client/components/Icon.svelte'; |
||||
import Blockstart from "$/client/components/Blockstart.svelte"; |
||||
import Code from "$/client/components/Code.svelte"; |
||||
import api from "$/client/api.js"; |
||||
|
||||
let index = {}; |
||||
let docs_data; |
||||
let url; |
||||
export let params; |
||||
|
||||
const load_docs = async (to_load) => { |
||||
const [status, data] = await api.get(`/docs/api/${to_load}.json`); |
||||
|
||||
docs_data = status === 200 ? data : {}; |
||||
url = to_load; |
||||
window.scrollTo(0, 0); |
||||
} |
||||
|
||||
const load_index = async () => { |
||||
const [status, data] = await api.get("/docs/api/index.json"); |
||||
|
||||
index = status === 200 ? data : {}; |
||||
} |
||||
|
||||
onMount(async () => { |
||||
await load_index(); |
||||
}); |
||||
|
||||
$: console.log("params", params); |
||||
|
||||
$: if(params.wild && params.wild !== url) { |
||||
load_docs(params.wild); |
||||
} |
||||
</script> |
||||
|
||||
<style> |
||||
sidebar { |
||||
max-width: 300px; |
||||
} |
||||
</style> |
||||
|
||||
|
||||
<Layout centered={ true } fullwidth={ true }> |
||||
<Blockstart> |
||||
<block class="horizontal"> |
||||
<sidebar> |
||||
<top><h4><a href="/" use:link><Icon name="chevrons-up" /> Docs</a></h4></top> |
||||
<items> |
||||
{#each Object.keys(index) as item} |
||||
<a class:active={ item === url } href="/docs/{item}" use:link>{item}</a> |
||||
{/each} |
||||
</items> |
||||
</sidebar> |
||||
|
||||
<right style="--pad: 0.5rem;"> |
||||
{#if docs_data} |
||||
{#each docs_data.exports as exp} |
||||
<h1>{ url }</h1> |
||||
<h2>{exp.name}</h2> |
||||
{#if exp.comment} |
||||
<pre> |
||||
{ exp.comment.value } |
||||
</pre> |
||||
{/if} |
||||
{#if exp.isa === "class"} |
||||
{#each exp.methods as method} |
||||
<h4>{ method.name }</h4> |
||||
{#if exp.comment} |
||||
<pre> |
||||
{ exp.comment.value } |
||||
</pre> |
||||
{/if} |
||||
<Code content={ method.code } language="javascript" /> |
||||
{/each} |
||||
{:else} |
||||
<Code content={ exp.code } language="javascript" /> |
||||
{/if} |
||||
{/each} |
||||
{/if} |
||||
</right> |
||||
</block> |
||||
</Blockstart> |
||||
</Layout> |
||||
|
Loading…
Reference in new issue