From a4bf1bb37a3d4426619f0582c3d24fd753ad1b17 Mon Sep 17 00:00:00 2001 From: Maciej Jur Date: Sat, 8 Apr 2023 00:09:16 +0200 Subject: [PATCH] Table of Contents component --- astro.config.ts | 1 + public/favicon-16x16.png | Bin 0 -> 887 bytes public/favicon-32x32.png | Bin 0 -> 2662 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/favicon.svg | 9 ------- src/components/Toc.astro | 52 ++++++++++++++++++++++++++++++++++++++ src/layouts/Article.astro | 25 +++++++++++++----- src/layouts/Home.astro | 5 ++-- 8 files changed, 74 insertions(+), 18 deletions(-) create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico delete mode 100644 public/favicon.svg create mode 100644 src/components/Toc.astro diff --git a/astro.config.ts b/astro.config.ts index 882e651..68eb275 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,4 +1,5 @@ import { defineConfig } from 'astro/config'; + // https://astro.build/config export default defineConfig({}); diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..b682f797c05e733d5cd623295bba781fca7be8e7 GIT binary patch literal 887 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 literal 0 HcmV?d00001 diff --git a/public/favicon.svg b/public/favicon.svg deleted file mode 100644 index f157bd1..0000000 --- a/public/favicon.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/src/components/Toc.astro b/src/components/Toc.astro new file mode 100644 index 0000000..4597699 --- /dev/null +++ b/src/components/Toc.astro @@ -0,0 +1,52 @@ +--- +interface Props { + headings: Array<{ + depth: number; + slug: string; + text: string; + }> +} + +type Heading = Props['headings'][number]; +type Nested = Heading & { children?: Heading[] }; + +const { headings } = Astro.props; + +function fold(headings: Heading[]) { + const toc = [] as Nested[]; + const map = new Map(); + for (const h of headings) { + const heading = { ...h }; + map.set(heading.depth, heading); + if (heading.depth === 2) + toc.push(heading) + else { + const backref = map.get(heading.depth - 1)!; + backref.children + ? backref.children.push(heading) + : backref.children = [heading]; + } + } + return toc; +} +--- + +
+

Content

+
+
diff --git a/src/layouts/Article.astro b/src/layouts/Article.astro index 210e54f..271c3bb 100644 --- a/src/layouts/Article.astro +++ b/src/layouts/Article.astro @@ -2,21 +2,34 @@ import dayjs from "dayjs"; import Base from "./Base.astro"; import Header from "../components/headers/Article.astro"; +import Toc from "../components/Toc.astro"; -const {frontmatter} = Astro.props; +interface Props { + headings: any[], + frontmatter: { + title: string; + date: string; + tags: string[]; + } +} + +const { + headings, + frontmatter: { + title, + date, + tags, +}} = Astro.props; ---
-
+
diff --git a/src/layouts/Home.astro b/src/layouts/Home.astro index 67297b7..ad214a2 100644 --- a/src/layouts/Home.astro +++ b/src/layouts/Home.astro @@ -1,11 +1,10 @@ --- import Base from "./Base.astro"; - const notice = { - header: "Hello!", + header: "Website ported to Astro 2!", content: [ - "Test" + "Third time's a charm, so hopefully this time it will last longer. So far Astro looks really cool." ] }; ---