diff --git a/dist/components/index.js.map b/dist/components/index.js.map
index 51174af..f5ec610 100644
--- a/dist/components/index.js.map
+++ b/dist/components/index.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../src/components/PageList.tsx","../../src/i18n/locales/en-US.ts","../../src/i18n/locales/ar-SA.ts","../../src/i18n/locales/ca-ES.ts","../../src/i18n/locales/cs-CZ.ts","../../src/i18n/locales/de-DE.ts","../../src/i18n/locales/en-GB.ts","../../src/i18n/locales/es-ES.ts","../../src/i18n/locales/fa-IR.ts","../../src/i18n/locales/fi-FI.ts","../../src/i18n/locales/fr-FR.ts","../../src/i18n/locales/he-IL.ts","../../src/i18n/locales/hu-HU.ts","../../src/i18n/locales/id-ID.ts","../../src/i18n/locales/it-IT.ts","../../src/i18n/locales/ja-JP.ts","../../src/i18n/locales/kk-KZ.ts","../../src/i18n/locales/ko-KR.ts","../../src/i18n/locales/lt-LT.ts","../../src/i18n/locales/nb-NO.ts","../../src/i18n/locales/nl-NL.ts","../../src/i18n/locales/pl-PL.ts","../../src/i18n/locales/pt-BR.ts","../../src/i18n/locales/ro-RO.ts","../../src/i18n/locales/ru-RU.ts","../../src/i18n/locales/th-TH.ts","../../src/i18n/locales/tr-TR.ts","../../src/i18n/locales/uk-UA.ts","../../src/i18n/locales/vi-VN.ts","../../src/i18n/locales/zh-CN.ts","../../src/i18n/locales/zh-TW.ts","../../src/i18n/index.ts","../../src/components/styles/listPage.scss","../../src/components/FolderContent.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import type { QuartzComponent, QuartzComponentProps, SortFn } from \"@quartz-community/types\";\nimport { getDate, byDateAndAlphabetical } from \"@quartz-community/utils/sort\";\nimport { resolveRelative, isFolderPath } from \"../util/path\";\nimport type { FullSlug } from \"../util/path\";\n\nexport type { SortFn } from \"@quartz-community/types\";\nexport { byDateAndAlphabetical };\n\nexport function byDateAndAlphabeticalFolderFirst(_cfg: unknown): SortFn {\n return (f1, f2) => {\n const f1IsFolder = isFolderPath(f1.slug ?? \"\");\n const f2IsFolder = isFolderPath(f2.slug ?? \"\");\n if (f1IsFolder && !f2IsFolder) return -1;\n if (!f1IsFolder && f2IsFolder) return 1;\n\n if (f1.dates && f2.dates) {\n return (getDate(f2)?.getTime() ?? 0) - (getDate(f1)?.getTime() ?? 0);\n } else if (f1.dates && !f2.dates) {\n return -1;\n } else if (!f1.dates && f2.dates) {\n return 1;\n }\n const f1Title = f1.frontmatter?.title?.toLowerCase() ?? \"\";\n const f2Title = f2.frontmatter?.title?.toLowerCase() ?? \"\";\n return f1Title.localeCompare(f2Title);\n };\n}\n\ntype DateComponentProps = {\n date: Date;\n locale: string;\n};\n\nfunction DateDisplay({ date, locale }: DateComponentProps) {\n return (\n \n );\n}\n\ntype PageListProps = {\n limit?: number;\n sort?: SortFn;\n} & QuartzComponentProps;\n\nexport const PageList: QuartzComponent = ({\n cfg,\n fileData,\n allFiles,\n limit,\n sort,\n}: PageListProps) => {\n const sorter = sort ?? byDateAndAlphabeticalFolderFirst(cfg);\n let list = [...allFiles].sort(sorter);\n if (limit) {\n list = list.slice(0, limit);\n }\n\n const fileSlug = (fileData as { slug?: string } | undefined)?.slug as FullSlug | undefined;\n\n return (\n
\n {list.map((page) => {\n const title = page.frontmatter?.title;\n const tags = (page.frontmatter?.tags ?? []) as string[];\n\n return (\n - \n
\n
\n {page.dates && getDate(page) && (\n \n )}\n
\n
\n
\n
\n \n );\n })}\n
\n );\n};\n\nPageList.css = `\n.section h3 {\n margin: 0;\n}\n\n.section > .tags {\n margin: 0;\n}\n`;\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"مجلد\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"يوجد عنصر واحد فقط تحت هذا المجلد\" : `يوجد ${count} عناصر تحت هذا المجلد.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 article en aquesta carpeta.\" : `${count} articles en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Složka\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 položka v této složce.\" : `${count} položek v této složce.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Ordner\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 Datei in diesem Ordner.\" : `${count} Dateien in diesem Ordner.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 artículo en esta carpeta.\" : `${count} artículos en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"پوشه\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \".یک مطلب در این پوشه است\" : `${count} مطلب در این پوشه است.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Kansio\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 kohde tässä kansiossa.\" : `${count} kohdetta tässä kansiossa.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dossier\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 élément sous ce dossier.\" : `${count} éléments sous ce dossier.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"תיקייה\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"פריט אחד תחת תיקייה זו.\" : `${count} פריטים תחת תיקייה זו.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappa\",\n itemsUnderFolder: ({ count }: { count: number }) => `Ebben a mappában ${count} elem található.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item di bawah folder ini.\" : `${count} item di bawah folder ini.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Cartella\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 oggetto in questa cartella.\" : `${count} oggetti in questa cartella.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"フォルダ\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}件のページ`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Қалта\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Бұл қалтада 1 элемент бар.\" : `Бұл қалтада ${count} элемент бар.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"폴더\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}건의 항목`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Aplankas\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1\n ? \"1 elementas šiame aplanke.\"\n : count < 10\n ? `${count} elementai šiame aplanke.`\n : `${count} elementų šiame aplanke.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappe\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 gjenstand i denne mappen.\" : `${count} gjenstander i denne mappen.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Map\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item in deze map.\" : `${count} items in deze map.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"W tym folderze jest 1 element.\" : `Elementów w folderze: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Arquivo\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item neste arquivo.\" : `${count} items neste arquivo.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dosar\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 articol în acest dosar.\" : `${count} elemente în acest dosar.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Папка\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n `в этой папке ${count} элемент${getForm(count, \"\", \"а\", \"ов\")}`,\n },\n },\n components: {},\n};\n\nfunction getForm(number: number, form1: string, form2: string, form5: string): string {\n const remainder100 = number % 100\n const remainder10 = remainder100 % 10\n\n if (remainder100 >= 10 && remainder100 <= 20) return form5\n if (remainder10 > 1 && remainder10 < 5) return form2\n if (remainder10 == 1) return form1\n return form5\n}\n","export default {\n pages: {\n folderContent: {\n folder: \"โฟลเดอร์\",\n itemsUnderFolder: ({ count }: { count: number }) => `มี ${count} รายการในโฟลเดอร์นี้`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Klasör\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Bu klasör altında 1 öğe.\" : `Bu klasör altındaki ${count} öğe.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Тека\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"У цій теці 1 елемент.\" : `Елементів у цій теці: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Thư mục\",\n itemsUnderFolder: ({ count }: { count: number }) => `Có ${count} trang trong thư mục này.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"文件夹\",\n itemsUnderFolder: ({ count }: { count: number }) => `此文件夹下有${count}条笔记。`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"資料夾\",\n itemsUnderFolder: ({ count }: { count: number }) => `此資料夾下有 ${count} 條筆記。`,\n },\n },\n components: {},\n};\n","import enUS from \"./locales/en-US\";\nimport arSA from \"./locales/ar-SA\";\nimport caES from \"./locales/ca-ES\";\nimport csCZ from \"./locales/cs-CZ\";\nimport deDE from \"./locales/de-DE\";\nimport enGB from \"./locales/en-GB\";\nimport esES from \"./locales/es-ES\";\nimport faIR from \"./locales/fa-IR\";\nimport fiFI from \"./locales/fi-FI\";\nimport frFR from \"./locales/fr-FR\";\nimport heIL from \"./locales/he-IL\";\nimport huHU from \"./locales/hu-HU\";\nimport idID from \"./locales/id-ID\";\nimport itIT from \"./locales/it-IT\";\nimport jaJP from \"./locales/ja-JP\";\nimport kkKZ from \"./locales/kk-KZ\";\nimport koKR from \"./locales/ko-KR\";\nimport ltLT from \"./locales/lt-LT\";\nimport nbNO from \"./locales/nb-NO\";\nimport nlNL from \"./locales/nl-NL\";\nimport plPL from \"./locales/pl-PL\";\nimport ptBR from \"./locales/pt-BR\";\nimport roRO from \"./locales/ro-RO\";\nimport ruRU from \"./locales/ru-RU\";\nimport thTH from \"./locales/th-TH\";\nimport trTR from \"./locales/tr-TR\";\nimport ukUA from \"./locales/uk-UA\";\nimport viVN from \"./locales/vi-VN\";\nimport zhCN from \"./locales/zh-CN\";\nimport zhTW from \"./locales/zh-TW\";\n\nconst locales: Record = {\n \"en-US\": enUS,\n \"ar-SA\": arSA,\n \"ca-ES\": caES,\n \"cs-CZ\": csCZ,\n \"de-DE\": deDE,\n \"en-GB\": enGB,\n \"es-ES\": esES,\n \"fa-IR\": faIR,\n \"fi-FI\": fiFI,\n \"fr-FR\": frFR,\n \"he-IL\": heIL,\n \"hu-HU\": huHU,\n \"id-ID\": idID,\n \"it-IT\": itIT,\n \"ja-JP\": jaJP,\n \"kk-KZ\": kkKZ,\n \"ko-KR\": koKR,\n \"lt-LT\": ltLT,\n \"nb-NO\": nbNO,\n \"nl-NL\": nlNL,\n \"pl-PL\": plPL,\n \"pt-BR\": ptBR,\n \"ro-RO\": roRO,\n \"ru-RU\": ruRU,\n \"th-TH\": thTH,\n \"tr-TR\": trTR,\n \"uk-UA\": ukUA,\n \"vi-VN\": viVN,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhTW,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n","ul.section-ul {\n list-style: none;\n margin-top: 2em;\n padding-left: 0;\n}\n\nli.section-li {\n margin-bottom: 1em;\n}\nli.section-li > .section {\n display: grid;\n grid-template-columns: fit-content(8em) 3fr 1fr;\n}\n@media all and (max-width: 600px) {\n li.section-li > .section > .tags {\n display: none;\n }\n}\nli.section-li > .section > .desc > h3 > a {\n background-color: transparent;\n}\nli.section-li > .section .meta {\n margin: 0 1em 0 0;\n opacity: 0.6;\n}\n\n.popover .section {\n grid-template-columns: fit-content(8em) 1fr !important;\n}\n.popover .section > .tags {\n display: none;\n}","import type {\n QuartzComponent,\n QuartzComponentConstructor,\n QuartzComponentProps,\n SortFn,\n} from \"@quartz-community/types\";\nimport { PageList } from \"./PageList\";\nimport { htmlToJsx } from \"@quartz-community/utils/jsx\";\nimport type { ComponentChildren } from \"preact\";\nimport type { Root } from \"hast\";\nimport { i18n } from \"../i18n\";\nimport style from \"./styles/listPage.scss\";\n\ninterface FolderContentOptions {\n showFolderCount: boolean;\n showSubfolders: boolean;\n sort?: SortFn;\n}\n\nconst defaultOptions: FolderContentOptions = {\n showFolderCount: true,\n showSubfolders: true,\n};\n\ninterface TrieNode {\n isFolder: boolean;\n children: TrieNode[];\n data: unknown;\n slug: string;\n displayName: string;\n findNode(path: string[]): TrieNode | undefined;\n}\n\ntype PageEntry = {\n slug?: string;\n dates?: { created: Date; modified: Date; published: Date };\n frontmatter?: { title?: string; tags?: string[] };\n};\n\nfunction concatenateResources(\n ...resources: (string | string[] | undefined)[]\n): string | string[] | undefined {\n const result = resources.filter((r): r is string | string[] => r !== undefined).flat();\n return result.length === 0 ? undefined : result;\n}\n\nfunction pagesFromTrie(folder: TrieNode, showSubfolders: boolean): PageEntry[] {\n return folder.children\n .map((node) => {\n const nodeData = node.data as PageEntry | null;\n if (nodeData) return nodeData;\n\n if (node.isFolder && showSubfolders) {\n return {\n slug: node.slug,\n dates: mostRecentDatesFromChildren(node.children),\n frontmatter: { title: node.displayName, tags: [] },\n };\n }\n return undefined;\n })\n .filter((page): page is PageEntry => page !== undefined);\n}\n\nfunction pagesFromAllFiles(\n allFiles: unknown[],\n folderSlug: string,\n showSubfolders: boolean,\n): PageEntry[] {\n const folderPrefix = folderSlug.endsWith(\"/index\")\n ? folderSlug.slice(0, -\"index\".length)\n : folderSlug.endsWith(\"/\")\n ? folderSlug\n : folderSlug + \"/\";\n\n const directChildren: PageEntry[] = [];\n const subfolderFiles = new Map();\n\n for (const file of allFiles as PageEntry[]) {\n const fileSlug = file.slug;\n if (!fileSlug || !fileSlug.startsWith(folderPrefix)) continue;\n\n const relativePath = fileSlug.slice(folderPrefix.length);\n if (!relativePath || relativePath === \"index\") continue;\n\n const segments = relativePath.split(\"/\");\n\n if (segments.length === 1) {\n directChildren.push(file);\n } else if (showSubfolders) {\n const subfolderName = segments[0]!;\n if (!subfolderFiles.has(subfolderName)) {\n subfolderFiles.set(subfolderName, []);\n }\n subfolderFiles.get(subfolderName)!.push(file);\n }\n }\n\n for (const [subfolderName, files] of subfolderFiles) {\n const indexFile = files.find((f) => f.slug === `${folderPrefix}${subfolderName}/index`);\n if (indexFile) continue;\n\n directChildren.push({\n slug: `${folderPrefix}${subfolderName}/index`,\n dates: mostRecentDatesFromEntries(files),\n frontmatter: { title: subfolderName, tags: [] },\n });\n }\n\n return directChildren;\n}\n\nfunction mostRecentDatesFromChildren(children: TrieNode[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const child of children) {\n const childDates = (child.data as { dates?: PageEntry[\"dates\"] } | null)?.dates;\n if (childDates) {\n if (!maybeDates) {\n maybeDates = { ...childDates };\n } else {\n if (childDates.created > maybeDates.created) maybeDates.created = childDates.created;\n if (childDates.modified > maybeDates.modified) maybeDates.modified = childDates.modified;\n if (childDates.published > maybeDates.published)\n maybeDates.published = childDates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nfunction mostRecentDatesFromEntries(entries: PageEntry[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const entry of entries) {\n if (entry.dates) {\n if (!maybeDates) {\n maybeDates = { ...entry.dates };\n } else {\n if (entry.dates.created > maybeDates.created) maybeDates.created = entry.dates.created;\n if (entry.dates.modified > maybeDates.modified) maybeDates.modified = entry.dates.modified;\n if (entry.dates.published > maybeDates.published)\n maybeDates.published = entry.dates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nexport default ((opts?: Partial) => {\n const options: FolderContentOptions = { ...defaultOptions, ...opts };\n\n const FolderContent: QuartzComponent = (props: QuartzComponentProps) => {\n const { tree, fileData, allFiles, cfg } = props;\n const ctx = props.ctx as { trie?: TrieNode } | undefined;\n const slug = (fileData as { slug?: string } | undefined)?.slug;\n\n if (!slug) return null;\n\n const trie = ctx?.trie;\n let allPagesInFolder: PageEntry[];\n\n if (trie) {\n const folder = trie.findNode(slug.split(\"/\"));\n if (!folder) return null;\n allPagesInFolder = pagesFromTrie(folder, options.showSubfolders);\n } else {\n allPagesInFolder = pagesFromAllFiles(allFiles ?? [], slug, options.showSubfolders);\n }\n\n const cssClasses =\n ((fileData as { frontmatter?: { cssclasses?: string[] } } | undefined)?.frontmatter\n ?.cssclasses as string[] | undefined) ?? [];\n const classes = cssClasses.join(\" \");\n const listProps = {\n ...props,\n sort: options.sort,\n allFiles: allPagesInFolder,\n };\n\n const hastRoot = tree as Root;\n const content =\n hastRoot.children.length === 0\n ? (fileData as { description?: unknown } | undefined)?.description\n : htmlToJsx(hastRoot);\n\n const pageListContent = PageList(listProps) as unknown as ComponentChildren;\n\n return (\n \n
{content}\n
\n {options.showFolderCount && (\n
\n {i18n(\n (cfg as { locale?: string } | undefined)?.locale ?? \"en-US\",\n ).pages.folderContent.itemsUnderFolder({\n count: allPagesInFolder.length,\n })}\n
\n )}\n
{pageListContent}
\n
\n
\n );\n };\n\n FolderContent.css = concatenateResources(style, PageList.css);\n return FolderContent;\n}) satisfies QuartzComponentConstructor;\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../src/components/PageList.tsx","../../src/i18n/locales/en-US.ts","../../src/i18n/locales/ar-SA.ts","../../src/i18n/locales/ca-ES.ts","../../src/i18n/locales/cs-CZ.ts","../../src/i18n/locales/de-DE.ts","../../src/i18n/locales/en-GB.ts","../../src/i18n/locales/es-ES.ts","../../src/i18n/locales/fa-IR.ts","../../src/i18n/locales/fi-FI.ts","../../src/i18n/locales/fr-FR.ts","../../src/i18n/locales/he-IL.ts","../../src/i18n/locales/hu-HU.ts","../../src/i18n/locales/id-ID.ts","../../src/i18n/locales/it-IT.ts","../../src/i18n/locales/ja-JP.ts","../../src/i18n/locales/kk-KZ.ts","../../src/i18n/locales/ko-KR.ts","../../src/i18n/locales/lt-LT.ts","../../src/i18n/locales/nb-NO.ts","../../src/i18n/locales/nl-NL.ts","../../src/i18n/locales/pl-PL.ts","../../src/i18n/locales/pt-BR.ts","../../src/i18n/locales/ro-RO.ts","../../src/i18n/locales/ru-RU.ts","../../src/i18n/locales/th-TH.ts","../../src/i18n/locales/tr-TR.ts","../../src/i18n/locales/uk-UA.ts","../../src/i18n/locales/vi-VN.ts","../../src/i18n/locales/zh-CN.ts","../../src/i18n/locales/zh-TW.ts","../../src/i18n/index.ts","../../src/components/styles/listPage.scss","../../src/components/FolderContent.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import type { QuartzComponent, QuartzComponentProps, SortFn } from \"@quartz-community/types\";\nimport { getDate, byDateAndAlphabetical } from \"@quartz-community/utils/sort\";\nimport { resolveRelative, isFolderPath } from \"../util/path\";\nimport type { FullSlug } from \"../util/path\";\n\nexport type { SortFn } from \"@quartz-community/types\";\nexport { byDateAndAlphabetical };\n\nexport function byDateAndAlphabeticalFolderFirst(_cfg: unknown): SortFn {\n return (f1, f2) => {\n const f1IsFolder = isFolderPath(f1.slug ?? \"\");\n const f2IsFolder = isFolderPath(f2.slug ?? \"\");\n if (f1IsFolder && !f2IsFolder) return -1;\n if (!f1IsFolder && f2IsFolder) return 1;\n\n if (f1.dates && f2.dates) {\n return (getDate(f2)?.getTime() ?? 0) - (getDate(f1)?.getTime() ?? 0);\n } else if (f1.dates && !f2.dates) {\n return -1;\n } else if (!f1.dates && f2.dates) {\n return 1;\n }\n const f1Title = f1.frontmatter?.title?.toLowerCase() ?? \"\";\n const f2Title = f2.frontmatter?.title?.toLowerCase() ?? \"\";\n return f1Title.localeCompare(f2Title);\n };\n}\n\ntype DateComponentProps = {\n date: Date;\n locale: string;\n};\n\nfunction DateDisplay({ date, locale }: DateComponentProps) {\n return (\n \n );\n}\n\ntype PageListProps = {\n limit?: number;\n sort?: SortFn;\n} & QuartzComponentProps;\n\nexport const PageList: QuartzComponent = ({\n cfg,\n fileData,\n allFiles,\n limit,\n sort,\n}: PageListProps) => {\n const sorter = sort ?? byDateAndAlphabeticalFolderFirst(cfg);\n let list = [...allFiles].sort(sorter);\n if (limit) {\n list = list.slice(0, limit);\n }\n\n const fileSlug = (fileData as { slug?: string } | undefined)?.slug as FullSlug | undefined;\n\n return (\n \n {list.map((page) => {\n const title = page.frontmatter?.title;\n const tags = (page.frontmatter?.tags ?? []) as string[];\n\n return (\n - \n
\n
\n {page.dates && getDate(page) && (\n \n )}\n
\n
\n
\n
\n \n );\n })}\n
\n );\n};\n\nPageList.css = `\n.section h3 {\n margin: 0;\n}\n\n.section > .tags {\n margin: 0;\n}\n`;\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"مجلد\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"يوجد عنصر واحد فقط تحت هذا المجلد\" : `يوجد ${count} عناصر تحت هذا المجلد.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 article en aquesta carpeta.\" : `${count} articles en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Složka\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 položka v této složce.\" : `${count} položek v této složce.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Ordner\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 Datei in diesem Ordner.\" : `${count} Dateien in diesem Ordner.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 artículo en esta carpeta.\" : `${count} artículos en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"پوشه\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \".یک مطلب در این پوشه است\" : `${count} مطلب در این پوشه است.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Kansio\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 kohde tässä kansiossa.\" : `${count} kohdetta tässä kansiossa.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dossier\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 élément sous ce dossier.\" : `${count} éléments sous ce dossier.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"תיקייה\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"פריט אחד תחת תיקייה זו.\" : `${count} פריטים תחת תיקייה זו.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappa\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n `Ebben a mappában ${count} elem található.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item di bawah folder ini.\" : `${count} item di bawah folder ini.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Cartella\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 oggetto in questa cartella.\" : `${count} oggetti in questa cartella.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"フォルダ\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}件のページ`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Қалта\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Бұл қалтада 1 элемент бар.\" : `Бұл қалтада ${count} элемент бар.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"폴더\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}건의 항목`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Aplankas\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1\n ? \"1 elementas šiame aplanke.\"\n : count < 10\n ? `${count} elementai šiame aplanke.`\n : `${count} elementų šiame aplanke.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappe\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 gjenstand i denne mappen.\" : `${count} gjenstander i denne mappen.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Map\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item in deze map.\" : `${count} items in deze map.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"W tym folderze jest 1 element.\" : `Elementów w folderze: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Arquivo\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item neste arquivo.\" : `${count} items neste arquivo.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dosar\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 articol în acest dosar.\" : `${count} elemente în acest dosar.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Папка\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n `в этой папке ${count} элемент${getForm(count, \"\", \"а\", \"ов\")}`,\n },\n },\n components: {},\n};\n\nfunction getForm(number: number, form1: string, form2: string, form5: string): string {\n const remainder100 = number % 100;\n const remainder10 = remainder100 % 10;\n\n if (remainder100 >= 10 && remainder100 <= 20) return form5;\n if (remainder10 > 1 && remainder10 < 5) return form2;\n if (remainder10 == 1) return form1;\n return form5;\n}\n","export default {\n pages: {\n folderContent: {\n folder: \"โฟลเดอร์\",\n itemsUnderFolder: ({ count }: { count: number }) => `มี ${count} รายการในโฟลเดอร์นี้`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Klasör\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Bu klasör altında 1 öğe.\" : `Bu klasör altındaki ${count} öğe.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Тека\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"У цій теці 1 елемент.\" : `Елементів у цій теці: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Thư mục\",\n itemsUnderFolder: ({ count }: { count: number }) => `Có ${count} trang trong thư mục này.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"文件夹\",\n itemsUnderFolder: ({ count }: { count: number }) => `此文件夹下有${count}条笔记。`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"資料夾\",\n itemsUnderFolder: ({ count }: { count: number }) => `此資料夾下有 ${count} 條筆記。`,\n },\n },\n components: {},\n};\n","import enUS from \"./locales/en-US\";\nimport arSA from \"./locales/ar-SA\";\nimport caES from \"./locales/ca-ES\";\nimport csCZ from \"./locales/cs-CZ\";\nimport deDE from \"./locales/de-DE\";\nimport enGB from \"./locales/en-GB\";\nimport esES from \"./locales/es-ES\";\nimport faIR from \"./locales/fa-IR\";\nimport fiFI from \"./locales/fi-FI\";\nimport frFR from \"./locales/fr-FR\";\nimport heIL from \"./locales/he-IL\";\nimport huHU from \"./locales/hu-HU\";\nimport idID from \"./locales/id-ID\";\nimport itIT from \"./locales/it-IT\";\nimport jaJP from \"./locales/ja-JP\";\nimport kkKZ from \"./locales/kk-KZ\";\nimport koKR from \"./locales/ko-KR\";\nimport ltLT from \"./locales/lt-LT\";\nimport nbNO from \"./locales/nb-NO\";\nimport nlNL from \"./locales/nl-NL\";\nimport plPL from \"./locales/pl-PL\";\nimport ptBR from \"./locales/pt-BR\";\nimport roRO from \"./locales/ro-RO\";\nimport ruRU from \"./locales/ru-RU\";\nimport thTH from \"./locales/th-TH\";\nimport trTR from \"./locales/tr-TR\";\nimport ukUA from \"./locales/uk-UA\";\nimport viVN from \"./locales/vi-VN\";\nimport zhCN from \"./locales/zh-CN\";\nimport zhTW from \"./locales/zh-TW\";\n\nconst locales: Record = {\n \"en-US\": enUS,\n \"ar-SA\": arSA,\n \"ca-ES\": caES,\n \"cs-CZ\": csCZ,\n \"de-DE\": deDE,\n \"en-GB\": enGB,\n \"es-ES\": esES,\n \"fa-IR\": faIR,\n \"fi-FI\": fiFI,\n \"fr-FR\": frFR,\n \"he-IL\": heIL,\n \"hu-HU\": huHU,\n \"id-ID\": idID,\n \"it-IT\": itIT,\n \"ja-JP\": jaJP,\n \"kk-KZ\": kkKZ,\n \"ko-KR\": koKR,\n \"lt-LT\": ltLT,\n \"nb-NO\": nbNO,\n \"nl-NL\": nlNL,\n \"pl-PL\": plPL,\n \"pt-BR\": ptBR,\n \"ro-RO\": roRO,\n \"ru-RU\": ruRU,\n \"th-TH\": thTH,\n \"tr-TR\": trTR,\n \"uk-UA\": ukUA,\n \"vi-VN\": viVN,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhTW,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n","ul.section-ul {\n list-style: none;\n margin-top: 2em;\n padding-left: 0;\n}\n\nli.section-li {\n margin-bottom: 1em;\n}\nli.section-li > .section {\n display: grid;\n grid-template-columns: fit-content(8em) 3fr 1fr;\n}\n@media all and (max-width: 600px) {\n li.section-li > .section > .tags {\n display: none;\n }\n}\nli.section-li > .section > .desc > h3 > a {\n background-color: transparent;\n}\nli.section-li > .section .meta {\n margin: 0 1em 0 0;\n opacity: 0.6;\n}\n\n.popover .section {\n grid-template-columns: fit-content(8em) 1fr !important;\n}\n.popover .section > .tags {\n display: none;\n}","import type {\n QuartzComponent,\n QuartzComponentConstructor,\n QuartzComponentProps,\n SortFn,\n} from \"@quartz-community/types\";\nimport { PageList } from \"./PageList\";\nimport { htmlToJsx } from \"@quartz-community/utils/jsx\";\nimport type { ComponentChildren } from \"preact\";\nimport type { Root } from \"hast\";\nimport { i18n } from \"../i18n\";\nimport style from \"./styles/listPage.scss\";\n\ninterface FolderContentOptions {\n showFolderCount: boolean;\n showSubfolders: boolean;\n sort?: SortFn;\n}\n\nconst defaultOptions: FolderContentOptions = {\n showFolderCount: true,\n showSubfolders: true,\n};\n\ninterface TrieNode {\n isFolder: boolean;\n children: TrieNode[];\n data: unknown;\n slug: string;\n displayName: string;\n findNode(path: string[]): TrieNode | undefined;\n}\n\ntype PageEntry = {\n slug?: string;\n dates?: { created: Date; modified: Date; published: Date };\n frontmatter?: { title?: string; tags?: string[] };\n};\n\nfunction concatenateResources(\n ...resources: (string | string[] | undefined)[]\n): string | string[] | undefined {\n const result = resources.filter((r): r is string | string[] => r !== undefined).flat();\n return result.length === 0 ? undefined : result;\n}\n\nfunction pagesFromTrie(folder: TrieNode, showSubfolders: boolean): PageEntry[] {\n return folder.children\n .map((node) => {\n const nodeData = node.data as PageEntry | null;\n if (nodeData) return nodeData;\n\n if (node.isFolder && showSubfolders) {\n return {\n slug: node.slug,\n dates: mostRecentDatesFromChildren(node.children),\n frontmatter: { title: node.displayName, tags: [] },\n };\n }\n return undefined;\n })\n .filter((page): page is PageEntry => page !== undefined);\n}\n\nfunction pagesFromAllFiles(\n allFiles: unknown[],\n folderSlug: string,\n showSubfolders: boolean,\n): PageEntry[] {\n const folderPrefix = folderSlug.endsWith(\"/index\")\n ? folderSlug.slice(0, -\"index\".length)\n : folderSlug.endsWith(\"/\")\n ? folderSlug\n : folderSlug + \"/\";\n\n const directChildren: PageEntry[] = [];\n const subfolderFiles = new Map();\n\n for (const file of allFiles as PageEntry[]) {\n const fileSlug = file.slug;\n if (!fileSlug || !fileSlug.startsWith(folderPrefix)) continue;\n\n const relativePath = fileSlug.slice(folderPrefix.length);\n if (!relativePath || relativePath === \"index\") continue;\n\n const segments = relativePath.split(\"/\");\n\n if (segments.length === 1) {\n directChildren.push(file);\n } else if (showSubfolders) {\n const subfolderName = segments[0]!;\n if (!subfolderFiles.has(subfolderName)) {\n subfolderFiles.set(subfolderName, []);\n }\n subfolderFiles.get(subfolderName)!.push(file);\n }\n }\n\n for (const [subfolderName, files] of subfolderFiles) {\n const indexFile = files.find((f) => f.slug === `${folderPrefix}${subfolderName}/index`);\n if (indexFile) continue;\n\n directChildren.push({\n slug: `${folderPrefix}${subfolderName}/index`,\n dates: mostRecentDatesFromEntries(files),\n frontmatter: { title: subfolderName, tags: [] },\n });\n }\n\n return directChildren;\n}\n\nfunction mostRecentDatesFromChildren(children: TrieNode[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const child of children) {\n const childDates = (child.data as { dates?: PageEntry[\"dates\"] } | null)?.dates;\n if (childDates) {\n if (!maybeDates) {\n maybeDates = { ...childDates };\n } else {\n if (childDates.created > maybeDates.created) maybeDates.created = childDates.created;\n if (childDates.modified > maybeDates.modified) maybeDates.modified = childDates.modified;\n if (childDates.published > maybeDates.published)\n maybeDates.published = childDates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nfunction mostRecentDatesFromEntries(entries: PageEntry[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const entry of entries) {\n if (entry.dates) {\n if (!maybeDates) {\n maybeDates = { ...entry.dates };\n } else {\n if (entry.dates.created > maybeDates.created) maybeDates.created = entry.dates.created;\n if (entry.dates.modified > maybeDates.modified) maybeDates.modified = entry.dates.modified;\n if (entry.dates.published > maybeDates.published)\n maybeDates.published = entry.dates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nexport default ((opts?: Partial) => {\n const options: FolderContentOptions = { ...defaultOptions, ...opts };\n\n const FolderContent: QuartzComponent = (props: QuartzComponentProps) => {\n const { tree, fileData, allFiles, cfg } = props;\n const ctx = props.ctx as { trie?: TrieNode } | undefined;\n const slug = (fileData as { slug?: string } | undefined)?.slug;\n\n if (!slug) return null;\n\n const trie = ctx?.trie;\n let allPagesInFolder: PageEntry[];\n\n if (trie) {\n const folder = trie.findNode(slug.split(\"/\"));\n if (!folder) return null;\n allPagesInFolder = pagesFromTrie(folder, options.showSubfolders);\n } else {\n allPagesInFolder = pagesFromAllFiles(allFiles ?? [], slug, options.showSubfolders);\n }\n\n const cssClasses =\n ((fileData as { frontmatter?: { cssclasses?: string[] } } | undefined)?.frontmatter\n ?.cssclasses as string[] | undefined) ?? [];\n const classes = cssClasses.join(\" \");\n const listProps = {\n ...props,\n sort: options.sort,\n allFiles: allPagesInFolder,\n };\n\n const hastRoot = tree as Root;\n const content =\n hastRoot.children.length === 0\n ? (fileData as { description?: unknown } | undefined)?.description\n : htmlToJsx(hastRoot);\n\n const pageListContent = PageList(listProps) as unknown as ComponentChildren;\n\n return (\n \n
{content}\n
\n {options.showFolderCount && (\n
\n {i18n(\n (cfg as { locale?: string } | undefined)?.locale ?? \"en-US\",\n ).pages.folderContent.itemsUnderFolder({\n count: allPagesInFolder.length,\n })}\n
\n )}\n
{pageListContent}
\n
\n
\n );\n };\n\n FolderContent.css = concatenateResources(style, PageList.css);\n return FolderContent;\n}) satisfies QuartzComponentConstructor;\n"]}
\ No newline at end of file
diff --git a/dist/index.js.map b/dist/index.js.map
index cda580f..92953e9 100644
--- a/dist/index.js.map
+++ b/dist/index.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/components/PageList.tsx","../src/i18n/locales/en-US.ts","../src/i18n/locales/ar-SA.ts","../src/i18n/locales/ca-ES.ts","../src/i18n/locales/cs-CZ.ts","../src/i18n/locales/de-DE.ts","../src/i18n/locales/en-GB.ts","../src/i18n/locales/es-ES.ts","../src/i18n/locales/fa-IR.ts","../src/i18n/locales/fi-FI.ts","../src/i18n/locales/fr-FR.ts","../src/i18n/locales/he-IL.ts","../src/i18n/locales/hu-HU.ts","../src/i18n/locales/id-ID.ts","../src/i18n/locales/it-IT.ts","../src/i18n/locales/ja-JP.ts","../src/i18n/locales/kk-KZ.ts","../src/i18n/locales/ko-KR.ts","../src/i18n/locales/lt-LT.ts","../src/i18n/locales/nb-NO.ts","../src/i18n/locales/nl-NL.ts","../src/i18n/locales/pl-PL.ts","../src/i18n/locales/pt-BR.ts","../src/i18n/locales/ro-RO.ts","../src/i18n/locales/ru-RU.ts","../src/i18n/locales/th-TH.ts","../src/i18n/locales/tr-TR.ts","../src/i18n/locales/uk-UA.ts","../src/i18n/locales/vi-VN.ts","../src/i18n/locales/zh-CN.ts","../src/i18n/locales/zh-TW.ts","../src/i18n/index.ts","../src/components/styles/listPage.scss","../src/components/FolderContent.tsx","../src/pageType.ts"],"names":["jsxs","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import type { QuartzComponent, QuartzComponentProps, SortFn } from \"@quartz-community/types\";\nimport { getDate, byDateAndAlphabetical } from \"@quartz-community/utils/sort\";\nimport { resolveRelative, isFolderPath } from \"../util/path\";\nimport type { FullSlug } from \"../util/path\";\n\nexport type { SortFn } from \"@quartz-community/types\";\nexport { byDateAndAlphabetical };\n\nexport function byDateAndAlphabeticalFolderFirst(_cfg: unknown): SortFn {\n return (f1, f2) => {\n const f1IsFolder = isFolderPath(f1.slug ?? \"\");\n const f2IsFolder = isFolderPath(f2.slug ?? \"\");\n if (f1IsFolder && !f2IsFolder) return -1;\n if (!f1IsFolder && f2IsFolder) return 1;\n\n if (f1.dates && f2.dates) {\n return (getDate(f2)?.getTime() ?? 0) - (getDate(f1)?.getTime() ?? 0);\n } else if (f1.dates && !f2.dates) {\n return -1;\n } else if (!f1.dates && f2.dates) {\n return 1;\n }\n const f1Title = f1.frontmatter?.title?.toLowerCase() ?? \"\";\n const f2Title = f2.frontmatter?.title?.toLowerCase() ?? \"\";\n return f1Title.localeCompare(f2Title);\n };\n}\n\ntype DateComponentProps = {\n date: Date;\n locale: string;\n};\n\nfunction DateDisplay({ date, locale }: DateComponentProps) {\n return (\n \n );\n}\n\ntype PageListProps = {\n limit?: number;\n sort?: SortFn;\n} & QuartzComponentProps;\n\nexport const PageList: QuartzComponent = ({\n cfg,\n fileData,\n allFiles,\n limit,\n sort,\n}: PageListProps) => {\n const sorter = sort ?? byDateAndAlphabeticalFolderFirst(cfg);\n let list = [...allFiles].sort(sorter);\n if (limit) {\n list = list.slice(0, limit);\n }\n\n const fileSlug = (fileData as { slug?: string } | undefined)?.slug as FullSlug | undefined;\n\n return (\n \n {list.map((page) => {\n const title = page.frontmatter?.title;\n const tags = (page.frontmatter?.tags ?? []) as string[];\n\n return (\n - \n
\n
\n {page.dates && getDate(page) && (\n \n )}\n
\n
\n
\n
\n \n );\n })}\n
\n );\n};\n\nPageList.css = `\n.section h3 {\n margin: 0;\n}\n\n.section > .tags {\n margin: 0;\n}\n`;\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"مجلد\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"يوجد عنصر واحد فقط تحت هذا المجلد\" : `يوجد ${count} عناصر تحت هذا المجلد.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 article en aquesta carpeta.\" : `${count} articles en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Složka\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 položka v této složce.\" : `${count} položek v této složce.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Ordner\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 Datei in diesem Ordner.\" : `${count} Dateien in diesem Ordner.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 artículo en esta carpeta.\" : `${count} artículos en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"پوشه\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \".یک مطلب در این پوشه است\" : `${count} مطلب در این پوشه است.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Kansio\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 kohde tässä kansiossa.\" : `${count} kohdetta tässä kansiossa.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dossier\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 élément sous ce dossier.\" : `${count} éléments sous ce dossier.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"תיקייה\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"פריט אחד תחת תיקייה זו.\" : `${count} פריטים תחת תיקייה זו.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappa\",\n itemsUnderFolder: ({ count }: { count: number }) => `Ebben a mappában ${count} elem található.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item di bawah folder ini.\" : `${count} item di bawah folder ini.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Cartella\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 oggetto in questa cartella.\" : `${count} oggetti in questa cartella.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"フォルダ\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}件のページ`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Қалта\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Бұл қалтада 1 элемент бар.\" : `Бұл қалтада ${count} элемент бар.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"폴더\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}건의 항목`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Aplankas\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1\n ? \"1 elementas šiame aplanke.\"\n : count < 10\n ? `${count} elementai šiame aplanke.`\n : `${count} elementų šiame aplanke.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappe\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 gjenstand i denne mappen.\" : `${count} gjenstander i denne mappen.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Map\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item in deze map.\" : `${count} items in deze map.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"W tym folderze jest 1 element.\" : `Elementów w folderze: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Arquivo\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item neste arquivo.\" : `${count} items neste arquivo.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dosar\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 articol în acest dosar.\" : `${count} elemente în acest dosar.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Папка\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n `в этой папке ${count} элемент${getForm(count, \"\", \"а\", \"ов\")}`,\n },\n },\n components: {},\n};\n\nfunction getForm(number: number, form1: string, form2: string, form5: string): string {\n const remainder100 = number % 100\n const remainder10 = remainder100 % 10\n\n if (remainder100 >= 10 && remainder100 <= 20) return form5\n if (remainder10 > 1 && remainder10 < 5) return form2\n if (remainder10 == 1) return form1\n return form5\n}\n","export default {\n pages: {\n folderContent: {\n folder: \"โฟลเดอร์\",\n itemsUnderFolder: ({ count }: { count: number }) => `มี ${count} รายการในโฟลเดอร์นี้`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Klasör\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Bu klasör altında 1 öğe.\" : `Bu klasör altındaki ${count} öğe.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Тека\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"У цій теці 1 елемент.\" : `Елементів у цій теці: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Thư mục\",\n itemsUnderFolder: ({ count }: { count: number }) => `Có ${count} trang trong thư mục này.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"文件夹\",\n itemsUnderFolder: ({ count }: { count: number }) => `此文件夹下有${count}条笔记。`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"資料夾\",\n itemsUnderFolder: ({ count }: { count: number }) => `此資料夾下有 ${count} 條筆記。`,\n },\n },\n components: {},\n};\n","import enUS from \"./locales/en-US\";\nimport arSA from \"./locales/ar-SA\";\nimport caES from \"./locales/ca-ES\";\nimport csCZ from \"./locales/cs-CZ\";\nimport deDE from \"./locales/de-DE\";\nimport enGB from \"./locales/en-GB\";\nimport esES from \"./locales/es-ES\";\nimport faIR from \"./locales/fa-IR\";\nimport fiFI from \"./locales/fi-FI\";\nimport frFR from \"./locales/fr-FR\";\nimport heIL from \"./locales/he-IL\";\nimport huHU from \"./locales/hu-HU\";\nimport idID from \"./locales/id-ID\";\nimport itIT from \"./locales/it-IT\";\nimport jaJP from \"./locales/ja-JP\";\nimport kkKZ from \"./locales/kk-KZ\";\nimport koKR from \"./locales/ko-KR\";\nimport ltLT from \"./locales/lt-LT\";\nimport nbNO from \"./locales/nb-NO\";\nimport nlNL from \"./locales/nl-NL\";\nimport plPL from \"./locales/pl-PL\";\nimport ptBR from \"./locales/pt-BR\";\nimport roRO from \"./locales/ro-RO\";\nimport ruRU from \"./locales/ru-RU\";\nimport thTH from \"./locales/th-TH\";\nimport trTR from \"./locales/tr-TR\";\nimport ukUA from \"./locales/uk-UA\";\nimport viVN from \"./locales/vi-VN\";\nimport zhCN from \"./locales/zh-CN\";\nimport zhTW from \"./locales/zh-TW\";\n\nconst locales: Record = {\n \"en-US\": enUS,\n \"ar-SA\": arSA,\n \"ca-ES\": caES,\n \"cs-CZ\": csCZ,\n \"de-DE\": deDE,\n \"en-GB\": enGB,\n \"es-ES\": esES,\n \"fa-IR\": faIR,\n \"fi-FI\": fiFI,\n \"fr-FR\": frFR,\n \"he-IL\": heIL,\n \"hu-HU\": huHU,\n \"id-ID\": idID,\n \"it-IT\": itIT,\n \"ja-JP\": jaJP,\n \"kk-KZ\": kkKZ,\n \"ko-KR\": koKR,\n \"lt-LT\": ltLT,\n \"nb-NO\": nbNO,\n \"nl-NL\": nlNL,\n \"pl-PL\": plPL,\n \"pt-BR\": ptBR,\n \"ro-RO\": roRO,\n \"ru-RU\": ruRU,\n \"th-TH\": thTH,\n \"tr-TR\": trTR,\n \"uk-UA\": ukUA,\n \"vi-VN\": viVN,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhTW,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n","ul.section-ul {\n list-style: none;\n margin-top: 2em;\n padding-left: 0;\n}\n\nli.section-li {\n margin-bottom: 1em;\n}\nli.section-li > .section {\n display: grid;\n grid-template-columns: fit-content(8em) 3fr 1fr;\n}\n@media all and (max-width: 600px) {\n li.section-li > .section > .tags {\n display: none;\n }\n}\nli.section-li > .section > .desc > h3 > a {\n background-color: transparent;\n}\nli.section-li > .section .meta {\n margin: 0 1em 0 0;\n opacity: 0.6;\n}\n\n.popover .section {\n grid-template-columns: fit-content(8em) 1fr !important;\n}\n.popover .section > .tags {\n display: none;\n}","import type {\n QuartzComponent,\n QuartzComponentConstructor,\n QuartzComponentProps,\n SortFn,\n} from \"@quartz-community/types\";\nimport { PageList } from \"./PageList\";\nimport { htmlToJsx } from \"@quartz-community/utils/jsx\";\nimport type { ComponentChildren } from \"preact\";\nimport type { Root } from \"hast\";\nimport { i18n } from \"../i18n\";\nimport style from \"./styles/listPage.scss\";\n\ninterface FolderContentOptions {\n showFolderCount: boolean;\n showSubfolders: boolean;\n sort?: SortFn;\n}\n\nconst defaultOptions: FolderContentOptions = {\n showFolderCount: true,\n showSubfolders: true,\n};\n\ninterface TrieNode {\n isFolder: boolean;\n children: TrieNode[];\n data: unknown;\n slug: string;\n displayName: string;\n findNode(path: string[]): TrieNode | undefined;\n}\n\ntype PageEntry = {\n slug?: string;\n dates?: { created: Date; modified: Date; published: Date };\n frontmatter?: { title?: string; tags?: string[] };\n};\n\nfunction concatenateResources(\n ...resources: (string | string[] | undefined)[]\n): string | string[] | undefined {\n const result = resources.filter((r): r is string | string[] => r !== undefined).flat();\n return result.length === 0 ? undefined : result;\n}\n\nfunction pagesFromTrie(folder: TrieNode, showSubfolders: boolean): PageEntry[] {\n return folder.children\n .map((node) => {\n const nodeData = node.data as PageEntry | null;\n if (nodeData) return nodeData;\n\n if (node.isFolder && showSubfolders) {\n return {\n slug: node.slug,\n dates: mostRecentDatesFromChildren(node.children),\n frontmatter: { title: node.displayName, tags: [] },\n };\n }\n return undefined;\n })\n .filter((page): page is PageEntry => page !== undefined);\n}\n\nfunction pagesFromAllFiles(\n allFiles: unknown[],\n folderSlug: string,\n showSubfolders: boolean,\n): PageEntry[] {\n const folderPrefix = folderSlug.endsWith(\"/index\")\n ? folderSlug.slice(0, -\"index\".length)\n : folderSlug.endsWith(\"/\")\n ? folderSlug\n : folderSlug + \"/\";\n\n const directChildren: PageEntry[] = [];\n const subfolderFiles = new Map();\n\n for (const file of allFiles as PageEntry[]) {\n const fileSlug = file.slug;\n if (!fileSlug || !fileSlug.startsWith(folderPrefix)) continue;\n\n const relativePath = fileSlug.slice(folderPrefix.length);\n if (!relativePath || relativePath === \"index\") continue;\n\n const segments = relativePath.split(\"/\");\n\n if (segments.length === 1) {\n directChildren.push(file);\n } else if (showSubfolders) {\n const subfolderName = segments[0]!;\n if (!subfolderFiles.has(subfolderName)) {\n subfolderFiles.set(subfolderName, []);\n }\n subfolderFiles.get(subfolderName)!.push(file);\n }\n }\n\n for (const [subfolderName, files] of subfolderFiles) {\n const indexFile = files.find((f) => f.slug === `${folderPrefix}${subfolderName}/index`);\n if (indexFile) continue;\n\n directChildren.push({\n slug: `${folderPrefix}${subfolderName}/index`,\n dates: mostRecentDatesFromEntries(files),\n frontmatter: { title: subfolderName, tags: [] },\n });\n }\n\n return directChildren;\n}\n\nfunction mostRecentDatesFromChildren(children: TrieNode[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const child of children) {\n const childDates = (child.data as { dates?: PageEntry[\"dates\"] } | null)?.dates;\n if (childDates) {\n if (!maybeDates) {\n maybeDates = { ...childDates };\n } else {\n if (childDates.created > maybeDates.created) maybeDates.created = childDates.created;\n if (childDates.modified > maybeDates.modified) maybeDates.modified = childDates.modified;\n if (childDates.published > maybeDates.published)\n maybeDates.published = childDates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nfunction mostRecentDatesFromEntries(entries: PageEntry[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const entry of entries) {\n if (entry.dates) {\n if (!maybeDates) {\n maybeDates = { ...entry.dates };\n } else {\n if (entry.dates.created > maybeDates.created) maybeDates.created = entry.dates.created;\n if (entry.dates.modified > maybeDates.modified) maybeDates.modified = entry.dates.modified;\n if (entry.dates.published > maybeDates.published)\n maybeDates.published = entry.dates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nexport default ((opts?: Partial) => {\n const options: FolderContentOptions = { ...defaultOptions, ...opts };\n\n const FolderContent: QuartzComponent = (props: QuartzComponentProps) => {\n const { tree, fileData, allFiles, cfg } = props;\n const ctx = props.ctx as { trie?: TrieNode } | undefined;\n const slug = (fileData as { slug?: string } | undefined)?.slug;\n\n if (!slug) return null;\n\n const trie = ctx?.trie;\n let allPagesInFolder: PageEntry[];\n\n if (trie) {\n const folder = trie.findNode(slug.split(\"/\"));\n if (!folder) return null;\n allPagesInFolder = pagesFromTrie(folder, options.showSubfolders);\n } else {\n allPagesInFolder = pagesFromAllFiles(allFiles ?? [], slug, options.showSubfolders);\n }\n\n const cssClasses =\n ((fileData as { frontmatter?: { cssclasses?: string[] } } | undefined)?.frontmatter\n ?.cssclasses as string[] | undefined) ?? [];\n const classes = cssClasses.join(\" \");\n const listProps = {\n ...props,\n sort: options.sort,\n allFiles: allPagesInFolder,\n };\n\n const hastRoot = tree as Root;\n const content =\n hastRoot.children.length === 0\n ? (fileData as { description?: unknown } | undefined)?.description\n : htmlToJsx(hastRoot);\n\n const pageListContent = PageList(listProps) as unknown as ComponentChildren;\n\n return (\n \n
{content}\n
\n {options.showFolderCount && (\n
\n {i18n(\n (cfg as { locale?: string } | undefined)?.locale ?? \"en-US\",\n ).pages.folderContent.itemsUnderFolder({\n count: allPagesInFolder.length,\n })}\n
\n )}\n
{pageListContent}
\n
\n
\n );\n };\n\n FolderContent.css = concatenateResources(style, PageList.css);\n return FolderContent;\n}) satisfies QuartzComponentConstructor;\n","import type {\n QuartzPageTypePlugin,\n QuartzComponentConstructor,\n PageMatcher,\n FullSlug,\n VirtualPage,\n} from \"@quartz-community/types\";\nimport FolderContentComponent from \"./components/FolderContent\";\nimport { i18n } from \"./i18n\";\nimport { joinSegments } from \"./util/path\";\nimport type { SortFn } from \"./components/PageList\";\nimport path from \"path\";\n\nexport interface FolderPageOptions {\n showFolderCount?: boolean;\n showSubfolders?: boolean;\n sort?: SortFn;\n /** Show \"Folder: \" prefix before folder name in generated titles. Default: false */\n prefixFolders?: boolean;\n}\n\nconst folderMatcher: PageMatcher = ({ slug }) => {\n return slug.endsWith(\"/index\");\n};\n\nfunction getFolders(slug: string): string[] {\n let folderName = path.dirname(slug ?? \"\");\n const parentFolderNames = [folderName];\n while (folderName !== \".\") {\n folderName = path.dirname(folderName ?? \"\");\n parentFolderNames.push(folderName);\n }\n return parentFolderNames;\n}\n\nexport const FolderPage: QuartzPageTypePlugin = (opts) => {\n const body: QuartzComponentConstructor = () => FolderContentComponent(opts);\n\n return {\n name: \"FolderPage\",\n priority: 10,\n match: folderMatcher,\n generate({ content, cfg }) {\n const allFiles = content.map((c) => c[1].data);\n const locale = (cfg as { locale?: string } | undefined)?.locale ?? \"en-US\";\n\n const folders = new Set();\n const folderDisplayNames = new Map();\n for (const file of allFiles) {\n const slug = (file as { slug?: string } | undefined)?.slug;\n if (!slug) continue;\n const fileFolders = getFolders(slug).filter((f) => f !== \".\" && f !== \"tags\");\n for (const f of fileFolders) {\n folders.add(f);\n }\n\n const relativePath = (file as { relativePath?: string } | undefined)?.relativePath;\n if (relativePath) {\n const slugParts = path\n .dirname(slug)\n .split(\"/\")\n .filter((s) => s !== \".\");\n const pathParts = path\n .dirname(relativePath)\n .split(\"/\")\n .filter((s) => s !== \".\");\n for (let i = 0; i < slugParts.length && i < pathParts.length; i++) {\n const slugPart = slugParts[i];\n const pathPart = pathParts[i];\n if (slugPart && pathPart && !folderDisplayNames.has(slugPart)) {\n folderDisplayNames.set(slugPart, pathPart);\n }\n }\n }\n }\n\n const foldersWithIndex = new Set();\n for (const [, file] of content) {\n const slug = (file.data as { slug?: string } | undefined)?.slug;\n if (slug && slug.endsWith(\"/index\")) {\n const folder = slug.slice(0, -\"/index\".length);\n foldersWithIndex.add(folder);\n }\n }\n\n // For existing index files without a meaningful title, use the folder display name\n for (const [, file] of content) {\n const slug = (file.data as { slug?: string } | undefined)?.slug;\n if (!slug || !slug.endsWith(\"/index\")) continue;\n\n const frontmatter = (file.data as { frontmatter?: { title?: string } }).frontmatter;\n if (!frontmatter || (frontmatter.title && frontmatter.title !== \"index\")) continue;\n\n const folder = slug.slice(0, -\"/index\".length);\n const slugSegment = folder.split(\"/\").pop() ?? folder;\n const folderName = folderDisplayNames.get(slugSegment) ?? slugSegment;\n frontmatter.title = opts?.prefixFolders\n ? `${i18n(locale).pages.folderContent.folder}: ${folderName}`\n : folderName;\n }\n\n const virtualPages: VirtualPage[] = [];\n for (const folder of folders) {\n if (foldersWithIndex.has(folder)) continue;\n\n const slug = joinSegments(folder, \"index\") as unknown as FullSlug;\n const slugSegment = folder.split(\"/\").pop() ?? folder;\n const folderName = folderDisplayNames.get(slugSegment) ?? slugSegment;\n const title = opts?.prefixFolders\n ? `${i18n(locale).pages.folderContent.folder}: ${folderName}`\n : folderName;\n\n virtualPages.push({\n slug,\n title,\n data: {},\n });\n }\n\n return virtualPages;\n },\n layout: \"folder\",\n body,\n };\n};\n"]}
\ No newline at end of file
+{"version":3,"sources":["../src/components/PageList.tsx","../src/i18n/locales/en-US.ts","../src/i18n/locales/ar-SA.ts","../src/i18n/locales/ca-ES.ts","../src/i18n/locales/cs-CZ.ts","../src/i18n/locales/de-DE.ts","../src/i18n/locales/en-GB.ts","../src/i18n/locales/es-ES.ts","../src/i18n/locales/fa-IR.ts","../src/i18n/locales/fi-FI.ts","../src/i18n/locales/fr-FR.ts","../src/i18n/locales/he-IL.ts","../src/i18n/locales/hu-HU.ts","../src/i18n/locales/id-ID.ts","../src/i18n/locales/it-IT.ts","../src/i18n/locales/ja-JP.ts","../src/i18n/locales/kk-KZ.ts","../src/i18n/locales/ko-KR.ts","../src/i18n/locales/lt-LT.ts","../src/i18n/locales/nb-NO.ts","../src/i18n/locales/nl-NL.ts","../src/i18n/locales/pl-PL.ts","../src/i18n/locales/pt-BR.ts","../src/i18n/locales/ro-RO.ts","../src/i18n/locales/ru-RU.ts","../src/i18n/locales/th-TH.ts","../src/i18n/locales/tr-TR.ts","../src/i18n/locales/uk-UA.ts","../src/i18n/locales/vi-VN.ts","../src/i18n/locales/zh-CN.ts","../src/i18n/locales/zh-TW.ts","../src/i18n/index.ts","../src/components/styles/listPage.scss","../src/components/FolderContent.tsx","../src/pageType.ts"],"names":["jsxs","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import type { QuartzComponent, QuartzComponentProps, SortFn } from \"@quartz-community/types\";\nimport { getDate, byDateAndAlphabetical } from \"@quartz-community/utils/sort\";\nimport { resolveRelative, isFolderPath } from \"../util/path\";\nimport type { FullSlug } from \"../util/path\";\n\nexport type { SortFn } from \"@quartz-community/types\";\nexport { byDateAndAlphabetical };\n\nexport function byDateAndAlphabeticalFolderFirst(_cfg: unknown): SortFn {\n return (f1, f2) => {\n const f1IsFolder = isFolderPath(f1.slug ?? \"\");\n const f2IsFolder = isFolderPath(f2.slug ?? \"\");\n if (f1IsFolder && !f2IsFolder) return -1;\n if (!f1IsFolder && f2IsFolder) return 1;\n\n if (f1.dates && f2.dates) {\n return (getDate(f2)?.getTime() ?? 0) - (getDate(f1)?.getTime() ?? 0);\n } else if (f1.dates && !f2.dates) {\n return -1;\n } else if (!f1.dates && f2.dates) {\n return 1;\n }\n const f1Title = f1.frontmatter?.title?.toLowerCase() ?? \"\";\n const f2Title = f2.frontmatter?.title?.toLowerCase() ?? \"\";\n return f1Title.localeCompare(f2Title);\n };\n}\n\ntype DateComponentProps = {\n date: Date;\n locale: string;\n};\n\nfunction DateDisplay({ date, locale }: DateComponentProps) {\n return (\n \n );\n}\n\ntype PageListProps = {\n limit?: number;\n sort?: SortFn;\n} & QuartzComponentProps;\n\nexport const PageList: QuartzComponent = ({\n cfg,\n fileData,\n allFiles,\n limit,\n sort,\n}: PageListProps) => {\n const sorter = sort ?? byDateAndAlphabeticalFolderFirst(cfg);\n let list = [...allFiles].sort(sorter);\n if (limit) {\n list = list.slice(0, limit);\n }\n\n const fileSlug = (fileData as { slug?: string } | undefined)?.slug as FullSlug | undefined;\n\n return (\n \n {list.map((page) => {\n const title = page.frontmatter?.title;\n const tags = (page.frontmatter?.tags ?? []) as string[];\n\n return (\n - \n
\n
\n {page.dates && getDate(page) && (\n \n )}\n
\n
\n
\n
\n \n );\n })}\n
\n );\n};\n\nPageList.css = `\n.section h3 {\n margin: 0;\n}\n\n.section > .tags {\n margin: 0;\n}\n`;\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"مجلد\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"يوجد عنصر واحد فقط تحت هذا المجلد\" : `يوجد ${count} عناصر تحت هذا المجلد.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 article en aquesta carpeta.\" : `${count} articles en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Složka\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 položka v této složce.\" : `${count} položek v této složce.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Ordner\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 Datei in diesem Ordner.\" : `${count} Dateien in diesem Ordner.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item under this folder.\" : `${count} items under this folder.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Carpeta\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 artículo en esta carpeta.\" : `${count} artículos en esta carpeta.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"پوشه\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \".یک مطلب در این پوشه است\" : `${count} مطلب در این پوشه است.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Kansio\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 kohde tässä kansiossa.\" : `${count} kohdetta tässä kansiossa.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dossier\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 élément sous ce dossier.\" : `${count} éléments sous ce dossier.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"תיקייה\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"פריט אחד תחת תיקייה זו.\" : `${count} פריטים תחת תיקייה זו.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappa\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n `Ebben a mappában ${count} elem található.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item di bawah folder ini.\" : `${count} item di bawah folder ini.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Cartella\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 oggetto in questa cartella.\" : `${count} oggetti in questa cartella.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"フォルダ\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}件のページ`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Қалта\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Бұл қалтада 1 элемент бар.\" : `Бұл қалтада ${count} элемент бар.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"폴더\",\n itemsUnderFolder: ({ count }: { count: number }) => `${count}건의 항목`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Aplankas\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1\n ? \"1 elementas šiame aplanke.\"\n : count < 10\n ? `${count} elementai šiame aplanke.`\n : `${count} elementų šiame aplanke.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Mappe\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 gjenstand i denne mappen.\" : `${count} gjenstander i denne mappen.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Map\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item in deze map.\" : `${count} items in deze map.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Folder\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"W tym folderze jest 1 element.\" : `Elementów w folderze: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Arquivo\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 item neste arquivo.\" : `${count} items neste arquivo.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Dosar\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"1 articol în acest dosar.\" : `${count} elemente în acest dosar.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Папка\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n `в этой папке ${count} элемент${getForm(count, \"\", \"а\", \"ов\")}`,\n },\n },\n components: {},\n};\n\nfunction getForm(number: number, form1: string, form2: string, form5: string): string {\n const remainder100 = number % 100;\n const remainder10 = remainder100 % 10;\n\n if (remainder100 >= 10 && remainder100 <= 20) return form5;\n if (remainder10 > 1 && remainder10 < 5) return form2;\n if (remainder10 == 1) return form1;\n return form5;\n}\n","export default {\n pages: {\n folderContent: {\n folder: \"โฟลเดอร์\",\n itemsUnderFolder: ({ count }: { count: number }) => `มี ${count} รายการในโฟลเดอร์นี้`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Klasör\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"Bu klasör altında 1 öğe.\" : `Bu klasör altındaki ${count} öğe.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Тека\",\n itemsUnderFolder: ({ count }: { count: number }) =>\n count === 1 ? \"У цій теці 1 елемент.\" : `Елементів у цій теці: ${count}.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"Thư mục\",\n itemsUnderFolder: ({ count }: { count: number }) => `Có ${count} trang trong thư mục này.`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"文件夹\",\n itemsUnderFolder: ({ count }: { count: number }) => `此文件夹下有${count}条笔记。`,\n },\n },\n components: {},\n};\n","export default {\n pages: {\n folderContent: {\n folder: \"資料夾\",\n itemsUnderFolder: ({ count }: { count: number }) => `此資料夾下有 ${count} 條筆記。`,\n },\n },\n components: {},\n};\n","import enUS from \"./locales/en-US\";\nimport arSA from \"./locales/ar-SA\";\nimport caES from \"./locales/ca-ES\";\nimport csCZ from \"./locales/cs-CZ\";\nimport deDE from \"./locales/de-DE\";\nimport enGB from \"./locales/en-GB\";\nimport esES from \"./locales/es-ES\";\nimport faIR from \"./locales/fa-IR\";\nimport fiFI from \"./locales/fi-FI\";\nimport frFR from \"./locales/fr-FR\";\nimport heIL from \"./locales/he-IL\";\nimport huHU from \"./locales/hu-HU\";\nimport idID from \"./locales/id-ID\";\nimport itIT from \"./locales/it-IT\";\nimport jaJP from \"./locales/ja-JP\";\nimport kkKZ from \"./locales/kk-KZ\";\nimport koKR from \"./locales/ko-KR\";\nimport ltLT from \"./locales/lt-LT\";\nimport nbNO from \"./locales/nb-NO\";\nimport nlNL from \"./locales/nl-NL\";\nimport plPL from \"./locales/pl-PL\";\nimport ptBR from \"./locales/pt-BR\";\nimport roRO from \"./locales/ro-RO\";\nimport ruRU from \"./locales/ru-RU\";\nimport thTH from \"./locales/th-TH\";\nimport trTR from \"./locales/tr-TR\";\nimport ukUA from \"./locales/uk-UA\";\nimport viVN from \"./locales/vi-VN\";\nimport zhCN from \"./locales/zh-CN\";\nimport zhTW from \"./locales/zh-TW\";\n\nconst locales: Record = {\n \"en-US\": enUS,\n \"ar-SA\": arSA,\n \"ca-ES\": caES,\n \"cs-CZ\": csCZ,\n \"de-DE\": deDE,\n \"en-GB\": enGB,\n \"es-ES\": esES,\n \"fa-IR\": faIR,\n \"fi-FI\": fiFI,\n \"fr-FR\": frFR,\n \"he-IL\": heIL,\n \"hu-HU\": huHU,\n \"id-ID\": idID,\n \"it-IT\": itIT,\n \"ja-JP\": jaJP,\n \"kk-KZ\": kkKZ,\n \"ko-KR\": koKR,\n \"lt-LT\": ltLT,\n \"nb-NO\": nbNO,\n \"nl-NL\": nlNL,\n \"pl-PL\": plPL,\n \"pt-BR\": ptBR,\n \"ro-RO\": roRO,\n \"ru-RU\": ruRU,\n \"th-TH\": thTH,\n \"tr-TR\": trTR,\n \"uk-UA\": ukUA,\n \"vi-VN\": viVN,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhTW,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n","ul.section-ul {\n list-style: none;\n margin-top: 2em;\n padding-left: 0;\n}\n\nli.section-li {\n margin-bottom: 1em;\n}\nli.section-li > .section {\n display: grid;\n grid-template-columns: fit-content(8em) 3fr 1fr;\n}\n@media all and (max-width: 600px) {\n li.section-li > .section > .tags {\n display: none;\n }\n}\nli.section-li > .section > .desc > h3 > a {\n background-color: transparent;\n}\nli.section-li > .section .meta {\n margin: 0 1em 0 0;\n opacity: 0.6;\n}\n\n.popover .section {\n grid-template-columns: fit-content(8em) 1fr !important;\n}\n.popover .section > .tags {\n display: none;\n}","import type {\n QuartzComponent,\n QuartzComponentConstructor,\n QuartzComponentProps,\n SortFn,\n} from \"@quartz-community/types\";\nimport { PageList } from \"./PageList\";\nimport { htmlToJsx } from \"@quartz-community/utils/jsx\";\nimport type { ComponentChildren } from \"preact\";\nimport type { Root } from \"hast\";\nimport { i18n } from \"../i18n\";\nimport style from \"./styles/listPage.scss\";\n\ninterface FolderContentOptions {\n showFolderCount: boolean;\n showSubfolders: boolean;\n sort?: SortFn;\n}\n\nconst defaultOptions: FolderContentOptions = {\n showFolderCount: true,\n showSubfolders: true,\n};\n\ninterface TrieNode {\n isFolder: boolean;\n children: TrieNode[];\n data: unknown;\n slug: string;\n displayName: string;\n findNode(path: string[]): TrieNode | undefined;\n}\n\ntype PageEntry = {\n slug?: string;\n dates?: { created: Date; modified: Date; published: Date };\n frontmatter?: { title?: string; tags?: string[] };\n};\n\nfunction concatenateResources(\n ...resources: (string | string[] | undefined)[]\n): string | string[] | undefined {\n const result = resources.filter((r): r is string | string[] => r !== undefined).flat();\n return result.length === 0 ? undefined : result;\n}\n\nfunction pagesFromTrie(folder: TrieNode, showSubfolders: boolean): PageEntry[] {\n return folder.children\n .map((node) => {\n const nodeData = node.data as PageEntry | null;\n if (nodeData) return nodeData;\n\n if (node.isFolder && showSubfolders) {\n return {\n slug: node.slug,\n dates: mostRecentDatesFromChildren(node.children),\n frontmatter: { title: node.displayName, tags: [] },\n };\n }\n return undefined;\n })\n .filter((page): page is PageEntry => page !== undefined);\n}\n\nfunction pagesFromAllFiles(\n allFiles: unknown[],\n folderSlug: string,\n showSubfolders: boolean,\n): PageEntry[] {\n const folderPrefix = folderSlug.endsWith(\"/index\")\n ? folderSlug.slice(0, -\"index\".length)\n : folderSlug.endsWith(\"/\")\n ? folderSlug\n : folderSlug + \"/\";\n\n const directChildren: PageEntry[] = [];\n const subfolderFiles = new Map();\n\n for (const file of allFiles as PageEntry[]) {\n const fileSlug = file.slug;\n if (!fileSlug || !fileSlug.startsWith(folderPrefix)) continue;\n\n const relativePath = fileSlug.slice(folderPrefix.length);\n if (!relativePath || relativePath === \"index\") continue;\n\n const segments = relativePath.split(\"/\");\n\n if (segments.length === 1) {\n directChildren.push(file);\n } else if (showSubfolders) {\n const subfolderName = segments[0]!;\n if (!subfolderFiles.has(subfolderName)) {\n subfolderFiles.set(subfolderName, []);\n }\n subfolderFiles.get(subfolderName)!.push(file);\n }\n }\n\n for (const [subfolderName, files] of subfolderFiles) {\n const indexFile = files.find((f) => f.slug === `${folderPrefix}${subfolderName}/index`);\n if (indexFile) continue;\n\n directChildren.push({\n slug: `${folderPrefix}${subfolderName}/index`,\n dates: mostRecentDatesFromEntries(files),\n frontmatter: { title: subfolderName, tags: [] },\n });\n }\n\n return directChildren;\n}\n\nfunction mostRecentDatesFromChildren(children: TrieNode[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const child of children) {\n const childDates = (child.data as { dates?: PageEntry[\"dates\"] } | null)?.dates;\n if (childDates) {\n if (!maybeDates) {\n maybeDates = { ...childDates };\n } else {\n if (childDates.created > maybeDates.created) maybeDates.created = childDates.created;\n if (childDates.modified > maybeDates.modified) maybeDates.modified = childDates.modified;\n if (childDates.published > maybeDates.published)\n maybeDates.published = childDates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nfunction mostRecentDatesFromEntries(entries: PageEntry[]): PageEntry[\"dates\"] {\n let maybeDates: PageEntry[\"dates\"] | undefined;\n for (const entry of entries) {\n if (entry.dates) {\n if (!maybeDates) {\n maybeDates = { ...entry.dates };\n } else {\n if (entry.dates.created > maybeDates.created) maybeDates.created = entry.dates.created;\n if (entry.dates.modified > maybeDates.modified) maybeDates.modified = entry.dates.modified;\n if (entry.dates.published > maybeDates.published)\n maybeDates.published = entry.dates.published;\n }\n }\n }\n return maybeDates ?? { created: new Date(), modified: new Date(), published: new Date() };\n}\n\nexport default ((opts?: Partial) => {\n const options: FolderContentOptions = { ...defaultOptions, ...opts };\n\n const FolderContent: QuartzComponent = (props: QuartzComponentProps) => {\n const { tree, fileData, allFiles, cfg } = props;\n const ctx = props.ctx as { trie?: TrieNode } | undefined;\n const slug = (fileData as { slug?: string } | undefined)?.slug;\n\n if (!slug) return null;\n\n const trie = ctx?.trie;\n let allPagesInFolder: PageEntry[];\n\n if (trie) {\n const folder = trie.findNode(slug.split(\"/\"));\n if (!folder) return null;\n allPagesInFolder = pagesFromTrie(folder, options.showSubfolders);\n } else {\n allPagesInFolder = pagesFromAllFiles(allFiles ?? [], slug, options.showSubfolders);\n }\n\n const cssClasses =\n ((fileData as { frontmatter?: { cssclasses?: string[] } } | undefined)?.frontmatter\n ?.cssclasses as string[] | undefined) ?? [];\n const classes = cssClasses.join(\" \");\n const listProps = {\n ...props,\n sort: options.sort,\n allFiles: allPagesInFolder,\n };\n\n const hastRoot = tree as Root;\n const content =\n hastRoot.children.length === 0\n ? (fileData as { description?: unknown } | undefined)?.description\n : htmlToJsx(hastRoot);\n\n const pageListContent = PageList(listProps) as unknown as ComponentChildren;\n\n return (\n \n
{content}\n
\n {options.showFolderCount && (\n
\n {i18n(\n (cfg as { locale?: string } | undefined)?.locale ?? \"en-US\",\n ).pages.folderContent.itemsUnderFolder({\n count: allPagesInFolder.length,\n })}\n
\n )}\n
{pageListContent}
\n
\n
\n );\n };\n\n FolderContent.css = concatenateResources(style, PageList.css);\n return FolderContent;\n}) satisfies QuartzComponentConstructor;\n","import type {\n QuartzPageTypePlugin,\n QuartzComponentConstructor,\n PageMatcher,\n FullSlug,\n VirtualPage,\n} from \"@quartz-community/types\";\nimport FolderContentComponent from \"./components/FolderContent\";\nimport { i18n } from \"./i18n\";\nimport { joinSegments } from \"./util/path\";\nimport type { SortFn } from \"./components/PageList\";\nimport path from \"path\";\n\nexport interface FolderPageOptions {\n showFolderCount?: boolean;\n showSubfolders?: boolean;\n sort?: SortFn;\n /** Show \"Folder: \" prefix before folder name in generated titles. Default: false */\n prefixFolders?: boolean;\n}\n\nconst folderMatcher: PageMatcher = ({ slug }) => {\n return slug.endsWith(\"/index\");\n};\n\nfunction getFolders(slug: string): string[] {\n let folderName = path.dirname(slug ?? \"\");\n const parentFolderNames = [folderName];\n while (folderName !== \".\") {\n folderName = path.dirname(folderName ?? \"\");\n parentFolderNames.push(folderName);\n }\n return parentFolderNames;\n}\n\nexport const FolderPage: QuartzPageTypePlugin = (opts) => {\n const body: QuartzComponentConstructor = () => FolderContentComponent(opts);\n\n return {\n name: \"FolderPage\",\n priority: 10,\n match: folderMatcher,\n generate({ content, cfg }) {\n const allFiles = content.map((c) => c[1].data);\n const locale = (cfg as { locale?: string } | undefined)?.locale ?? \"en-US\";\n\n const folders = new Set();\n const folderDisplayNames = new Map();\n for (const file of allFiles) {\n const slug = (file as { slug?: string } | undefined)?.slug;\n if (!slug) continue;\n const fileFolders = getFolders(slug).filter((f) => f !== \".\" && f !== \"tags\");\n for (const f of fileFolders) {\n folders.add(f);\n }\n\n const relativePath = (file as { relativePath?: string } | undefined)?.relativePath;\n if (relativePath) {\n const slugParts = path\n .dirname(slug)\n .split(\"/\")\n .filter((s) => s !== \".\");\n const pathParts = path\n .dirname(relativePath)\n .split(\"/\")\n .filter((s) => s !== \".\");\n for (let i = 0; i < slugParts.length && i < pathParts.length; i++) {\n const slugPart = slugParts[i];\n const pathPart = pathParts[i];\n if (slugPart && pathPart && !folderDisplayNames.has(slugPart)) {\n folderDisplayNames.set(slugPart, pathPart);\n }\n }\n }\n }\n\n const foldersWithIndex = new Set();\n for (const [, file] of content) {\n const slug = (file.data as { slug?: string } | undefined)?.slug;\n if (slug && slug.endsWith(\"/index\")) {\n const folder = slug.slice(0, -\"/index\".length);\n foldersWithIndex.add(folder);\n }\n }\n\n // For existing index files without a meaningful title, use the folder display name\n for (const [, file] of content) {\n const slug = (file.data as { slug?: string } | undefined)?.slug;\n if (!slug || !slug.endsWith(\"/index\")) continue;\n\n const frontmatter = (file.data as { frontmatter?: { title?: string } }).frontmatter;\n if (!frontmatter || (frontmatter.title && frontmatter.title !== \"index\")) continue;\n\n const folder = slug.slice(0, -\"/index\".length);\n const slugSegment = folder.split(\"/\").pop() ?? folder;\n const folderName = folderDisplayNames.get(slugSegment) ?? slugSegment;\n frontmatter.title = opts?.prefixFolders\n ? `${i18n(locale).pages.folderContent.folder}: ${folderName}`\n : folderName;\n }\n\n const virtualPages: VirtualPage[] = [];\n for (const folder of folders) {\n if (foldersWithIndex.has(folder)) continue;\n\n const slug = joinSegments(folder, \"index\") as unknown as FullSlug;\n const slugSegment = folder.split(\"/\").pop() ?? folder;\n const folderName = folderDisplayNames.get(slugSegment) ?? slugSegment;\n const title = opts?.prefixFolders\n ? `${i18n(locale).pages.folderContent.folder}: ${folderName}`\n : folderName;\n\n virtualPages.push({\n slug,\n title,\n data: {},\n });\n }\n\n return virtualPages;\n },\n layout: \"folder\",\n body,\n };\n};\n"]}
\ No newline at end of file
diff --git a/src/i18n/locales/hu-HU.ts b/src/i18n/locales/hu-HU.ts
index 5fe25fd..40284be 100644
--- a/src/i18n/locales/hu-HU.ts
+++ b/src/i18n/locales/hu-HU.ts
@@ -2,7 +2,8 @@ export default {
pages: {
folderContent: {
folder: "Mappa",
- itemsUnderFolder: ({ count }: { count: number }) => `Ebben a mappában ${count} elem található.`,
+ itemsUnderFolder: ({ count }: { count: number }) =>
+ `Ebben a mappában ${count} elem található.`,
},
},
components: {},
diff --git a/src/i18n/locales/ru-RU.ts b/src/i18n/locales/ru-RU.ts
index a79757a..ca42358 100644
--- a/src/i18n/locales/ru-RU.ts
+++ b/src/i18n/locales/ru-RU.ts
@@ -10,11 +10,11 @@ export default {
};
function getForm(number: number, form1: string, form2: string, form5: string): string {
- const remainder100 = number % 100
- const remainder10 = remainder100 % 10
+ const remainder100 = number % 100;
+ const remainder10 = remainder100 % 10;
- if (remainder100 >= 10 && remainder100 <= 20) return form5
- if (remainder10 > 1 && remainder10 < 5) return form2
- if (remainder10 == 1) return form1
- return form5
+ if (remainder100 >= 10 && remainder100 <= 20) return form5;
+ if (remainder10 > 1 && remainder10 < 5) return form2;
+ if (remainder10 == 1) return form1;
+ return form5;
}