polish
This commit is contained in:
parent
734dcca462
commit
57b87d318c
|
@ -1,9 +1,9 @@
|
||||||
<script>
|
<script>
|
||||||
import Markdown from 'svelte-exmarkdown';
|
import Markdown from 'svelte-exmarkdown';
|
||||||
import { gfmPlugin } from 'svelte-exmarkdown/gfm';
|
import { gfmPlugin } from 'svelte-exmarkdown/gfm';
|
||||||
import Code from './Code.svelte';
|
import Code from './markdown/Code.svelte';
|
||||||
import Link from './Link.svelte';
|
import Link from './markdown/Link.svelte';
|
||||||
import Section from './Section.svelte';
|
import Section from './markdown/Section.svelte';
|
||||||
|
|
||||||
const highlightPlugin = {
|
const highlightPlugin = {
|
||||||
renderer: {
|
renderer: {
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- svelte-ignore a11y-missing-attribute -->
|
<!-- svelte-ignore a11y-missing-attribute -->
|
||||||
<a {...properties} {target}>
|
<a {...properties} {target} rel={isExternal ? 'nofollow noreferrer external' : ''}>
|
||||||
<Children {children} />
|
<Children {children} />
|
||||||
{#if isExternal}
|
{#if isExternal}
|
||||||
<span class="icon">
|
<span class="icon">
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import Children from 'svelte-exmarkdown/renderer/Children.svelte';
|
import Children from 'svelte-exmarkdown/renderer/Children.svelte';
|
||||||
import { toAnchor } from './anchors';
|
import { toAnchor } from '$lib/anchors';
|
||||||
export let children;
|
export let children;
|
||||||
export let properties;
|
export let properties;
|
||||||
|
|
|
@ -2,18 +2,19 @@ import { getPost, getPostsFlat, isDir } from "$lib/pages";
|
||||||
|
|
||||||
export async function get({ params }) {
|
export async function get({ params }) {
|
||||||
let dir = await isDir(params.name);
|
let dir = await isDir(params.name);
|
||||||
|
let split = params.name.split('/');
|
||||||
if (dir === null) {
|
if (dir === null) {
|
||||||
return {status: 404};
|
return {status: 404};
|
||||||
} else if (dir) {
|
} else if (dir) {
|
||||||
return {
|
return {
|
||||||
body: {
|
body: {
|
||||||
pages: await getPostsFlat(params.name)
|
pages: await getPostsFlat(params.name),
|
||||||
|
loc: split[split.length - 1]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let pages = [];
|
let pages = [];
|
||||||
|
|
||||||
let split = params.name.split('/');
|
|
||||||
if (split.length > 1) {
|
if (split.length > 1) {
|
||||||
pages = await getPostsFlat(split[split.length - 2]);
|
pages = await getPostsFlat(split[split.length - 2]);
|
||||||
}
|
}
|
||||||
|
@ -25,7 +26,8 @@ export async function get({ params }) {
|
||||||
return {
|
return {
|
||||||
body: {
|
body: {
|
||||||
page: post,
|
page: post,
|
||||||
pages: pages
|
pages: pages,
|
||||||
|
loc: split[split.length - 2]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,11 +3,22 @@
|
||||||
import PageRenderer from './_page.svelte';
|
import PageRenderer from './_page.svelte';
|
||||||
export let page;
|
export let page;
|
||||||
export let pages;
|
export let pages;
|
||||||
|
export let loc;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if page}
|
{#if page}
|
||||||
<PageRenderer {page} {pages}/>
|
<PageRenderer {page} {pages} {loc}/>
|
||||||
{:else if pages}
|
{:else if pages}
|
||||||
|
<style>
|
||||||
|
.pagesin {
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="pagesin">Pages in <b>{loc}</b>:</div>
|
||||||
|
|
||||||
<Pages {pages}/>
|
<Pages {pages}/>
|
||||||
{:else}
|
{:else}
|
||||||
404!
|
404!
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
import Pages from "$lib/Pages.svelte";
|
import Pages from "$lib/Pages.svelte";
|
||||||
export let page;
|
export let page;
|
||||||
export let pages;
|
export let pages;
|
||||||
|
export let loc;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
@ -11,6 +12,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
gap: 1em;
|
gap: 1em;
|
||||||
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
.side {
|
.side {
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
|
@ -40,6 +42,13 @@
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
border-bottom: 1px solid #888;
|
border-bottom: 1px solid #888;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.viewall {
|
||||||
|
margin-top: 2em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1300px) {
|
@media screen and (max-width: 1300px) {
|
||||||
.side {
|
.side {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -91,7 +100,7 @@
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<content>
|
<content>
|
||||||
<Page content={page.content}></Page>
|
<Page content={page.content}/>
|
||||||
</content>
|
</content>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -99,4 +108,5 @@
|
||||||
<div class="other">Other pages in this category:</div>
|
<div class="other">Other pages in this category:</div>
|
||||||
<br>
|
<br>
|
||||||
<Pages pages={pages.slice(0, 3)}/>
|
<Pages pages={pages.slice(0, 3)}/>
|
||||||
|
<a class="viewall" href="/p/{page.path.split('/').slice(0, -1).join('/') + '/'}">View all pages in <b>{loc}</b></a>
|
||||||
{/if}
|
{/if}
|
Loading…
Reference in New Issue