cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm
leaflet
readability
golang
1import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
2import type * as Preset from "@docusaurus/preset-classic";
3import type { Config } from "@docusaurus/types";
4import { themes as prismThemes } from "prism-react-renderer";
5
6const ghURL = "https://github.com/stormlightlabs/noteleaf";
7// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
8const pragmaticSidebar: SidebarsConfig[string] = [
9 { type: "doc", id: "quickstart" },
10 { type: "category", label: "Concepts", items: [{ type: "autogenerated", dirName: "concepts" }] },
11 { type: "doc", id: "configuration" },
12 { type: "category", label: "Tasks", items: [{ type: "autogenerated", dirName: "tasks" }] },
13 { type: "category", label: "Notes", items: [{ type: "autogenerated", dirName: "notes" }] },
14 { type: "category", label: "Leaflet.pub", items: [{ type: "autogenerated", dirName: "leaflet" }] },
15 { type: "category", label: "Media", items: [{ type: "autogenerated", dirName: "media" }] },
16 { type: "category", label: "Articles", items: [{ type: "autogenerated", dirName: "articles" }] },
17 { type: "category", label: "Integrations", items: [{ type: "autogenerated", dirName: "integrations" }] },
18 { type: "category", label: "Workflows", items: [{ type: "autogenerated", dirName: "workflows" }] },
19 { type: "category", label: "Development", items: [{ type: "autogenerated", dirName: "development" }] },
20];
21
22const config: Config = {
23 title: "Noteleaf",
24 tagline: "Notes, blog posts, and productivity from the terminal",
25 favicon: "img/logo.svg",
26 // Improve compatibility with the upcoming Docusaurus v4
27 future: { v4: true },
28 url: "https://stormlightlabs.github.io/",
29 baseUrl: "/noteleaf/",
30 organizationName: "stormlightlabs",
31 projectName: "noteleaf",
32 onBrokenLinks: "throw",
33 i18n: { defaultLocale: "en", locales: ["en"] },
34 customFields: { pragmaticSidebar },
35 presets: [[
36 "classic",
37 { docs: { sidebarPath: "./sidebars.ts" }, theme: { customCss: "./src/css/custom.css" } } satisfies Preset.Options,
38 ]],
39
40 themeConfig: {
41 image: "img/social-card.png",
42 colorMode: { respectPrefersColorScheme: true },
43 navbar: {
44 title: "Noteleaf",
45 logo: { alt: "Noteleaf Logo", src: "img/logo.svg" },
46 items: [{ type: "doc", docId: "quickstart", position: "left", label: "Quickstart" }, {
47 type: "docSidebar",
48 sidebarId: "manualSidebar",
49 position: "left",
50 label: "Manual",
51 }, { href: ghURL, label: "GitHub", position: "right" }],
52 },
53 footer: {
54 style: "dark",
55 links: [{
56 title: "Docs",
57 items: [{ label: "Quickstart", to: "/docs/quickstart" }, { label: "Manual", to: "/docs/concepts/overview" }],
58 }, {
59 title: "Community",
60 items: [{ label: "BlueSky", href: "https://bsky.app/desertthunder.dev" }, {
61 label: "X",
62 href: "https://x.com/_desertthunder",
63 }],
64 }, { title: "More", items: [{ label: "GitHub", href: ghURL }] }],
65 copyright: `Copyright 漏 ${new Date().getFullYear()} Stormlight Labs, LLC.`,
66 },
67 prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula },
68 } satisfies Preset.ThemeConfig,
69};
70
71export default config;