diff --git a/packages/nicolium/src/components/navigation/sidebar-navigation.tsx b/packages/nicolium/src/components/navigation/sidebar-navigation.tsx index 2344ea8c1..5faefdf30 100644 --- a/packages/nicolium/src/components/navigation/sidebar-navigation.tsx +++ b/packages/nicolium/src/components/navigation/sidebar-navigation.tsx @@ -218,7 +218,7 @@ const SidebarNavigation: React.FC = React.memo(({ shrink }) text: intl.formatMessage(messages.keyboardShortcuts), }, { - href: 'https://pl.mkljczk.pl/docs/', + href: 'https://nicolium.app/docs/', target: '_blank', icon: require('@phosphor-icons/core/regular/book-open.svg'), text: intl.formatMessage(messages.docs), diff --git a/packages/website/package.json b/packages/website/package.json index 9e6caccb4..82d568f92 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -2,6 +2,14 @@ "name": "website", "type": "module", "version": "0.0.1", + "homepage": "https://nicolium.app", + "bugs": { + "url": "https://codeberg.org/mkljczk/nicolium/issues" + }, + "repository": { + "type": "git", + "url": "git+https://codeberg.org/mkljczk/nicolium.git" + }, "scripts": { "dev": "astro dev", "build": "astro build", diff --git a/packages/website/src/assets/screenshot2.png b/packages/website/src/assets/screenshot2.png new file mode 100644 index 000000000..6a1624d1e Binary files /dev/null and b/packages/website/src/assets/screenshot2.png differ diff --git a/packages/website/src/assets/screenshot3.png b/packages/website/src/assets/screenshot3.png new file mode 100644 index 000000000..dfdf1a3db Binary files /dev/null and b/packages/website/src/assets/screenshot3.png differ diff --git a/packages/website/src/assets/screenshot4.png b/packages/website/src/assets/screenshot4.png new file mode 100644 index 000000000..eb0266ca8 Binary files /dev/null and b/packages/website/src/assets/screenshot4.png differ diff --git a/packages/website/src/assets/screenshot5.png b/packages/website/src/assets/screenshot5.png new file mode 100644 index 000000000..21052b992 Binary files /dev/null and b/packages/website/src/assets/screenshot5.png differ diff --git a/packages/website/src/assets/screenshot6.png b/packages/website/src/assets/screenshot6.png new file mode 100644 index 000000000..733993c08 Binary files /dev/null and b/packages/website/src/assets/screenshot6.png differ diff --git a/packages/website/src/components/Footer.astro b/packages/website/src/components/Footer.astro index f67e1e0ee..e790ea9c9 100644 --- a/packages/website/src/components/Footer.astro +++ b/packages/website/src/components/Footer.astro @@ -2,6 +2,10 @@ import BaseFooter from "@mkljczk/astro-theme/components/Footer.astro"; const footerLinks = [ + { + label: "Docs", + href: "/docs/", + }, { label: "Source code", href: "https://codeberg.org/mkljczk/nicolium", diff --git a/packages/website/src/components/Header.astro b/packages/website/src/components/Header.astro index e5c22c157..20f77072e 100644 --- a/packages/website/src/components/Header.astro +++ b/packages/website/src/components/Header.astro @@ -1,7 +1,21 @@ --- +import type { CollectionEntry } from "astro:content"; import BaseHeader from "@mkljczk/astro-theme/components/Header.astro"; +interface Props { + docsNav?: { + name: string; + items: CollectionEntry<"docs">[]; + }[]; +} + +const { docsNav } = Astro.props; + const navItems = [ + { + label: "Docs", + href: "/docs/", + }, { label: "Source code", href: "https://codeberg.org/mkljczk/nicolium", @@ -16,4 +30,5 @@ const navItems = [ menuExpandTitle="Expand" menuCollapseTitle="Collapse" navItems={navItems} + docsNav={docsNav} /> diff --git a/packages/website/src/content.config.ts b/packages/website/src/content.config.ts new file mode 100644 index 000000000..a448ddb11 --- /dev/null +++ b/packages/website/src/content.config.ts @@ -0,0 +1,13 @@ +import { defineCollection, z } from "astro:content"; +import { glob } from "astro/loaders"; + +const docs = defineCollection({ + loader: glob({ base: "src/content/docs", pattern: "**/*.{md,mdx}" }), + schema: z.object({ + title: z.string(), + section: z.string().optional(), + order: z.number().default(99), + }), +}); + +export const collections = { docs }; diff --git a/packages/website/src/content/docs b/packages/website/src/content/docs new file mode 120000 index 000000000..ac19935a4 --- /dev/null +++ b/packages/website/src/content/docs @@ -0,0 +1 @@ +../../../../docs \ No newline at end of file diff --git a/packages/website/src/layouts/DocsLayout.astro b/packages/website/src/layouts/DocsLayout.astro new file mode 100644 index 000000000..d3100d8cc --- /dev/null +++ b/packages/website/src/layouts/DocsLayout.astro @@ -0,0 +1,56 @@ +--- +import type { CollectionEntry } from "astro:content"; +import BaseHead from "@mkljczk/astro-theme/components/BaseHead.astro"; +import BaseDocsLayout from "@mkljczk/astro-theme/layouts/DocsLayout.astro"; +import Header from "../components/Header.astro"; +import Footer from "../components/Footer.astro"; + +interface Props { + entry: CollectionEntry<"docs">; + headings: { depth: number; slug: string; text: string }[]; + allDocs: CollectionEntry<"docs">[]; +} + +const { entry, headings, allDocs } = Astro.props; +const { title } = entry.data; + +const sorted = [...allDocs].sort( + (a, b) => (a.data.order ?? 99) - (b.data.order ?? 99), +); + +const sections: { name: string; items: CollectionEntry<"docs">[] }[] = []; +const sectionMap = new Map[]>(); + +for (const doc of sorted) { + if (doc.id === "index") continue; + + const section = doc.data.section ?? "General"; + if (!sectionMap.has(section)) { + const items: CollectionEntry<"docs">[] = []; + sectionMap.set(section, items); + sections.push({ name: section, items }); + } + sectionMap.get(section)!.push(doc); +} +--- + + + +
+