mirror of
https://gitlab.com/MisterBiggs/brain-quartz.git
synced 2026-06-04 05:20:35 +00:00
a1a9b5233d
Add complete category system that integrates with Obsidian's wiki-linked category frontmatter. Categories appear as pills on pages and link directly to category notes (not aggregation pages). Features: - Parse [[Page Name]] syntax from category frontmatter - Display category pills styled like tags - Link directly to category notes - Integrate with graph view connections - Enable bidirectional backlinks - Preserve case in category slugs Implementation: - Added extractWikiLinks() to frontmatter transformer - Created CategoryList component for pill rendering - Modified links transformer to include categories in links array - Updated contentIndex to export category metadata - Added i18n strings for category UI elements - Set includeEmptyFiles: true to show empty category pages in graph Files modified: - quartz/plugins/transformers/frontmatter.ts - quartz/plugins/transformers/links.ts - quartz/plugins/emitters/contentIndex.tsx - quartz/components/CategoryList.tsx (new) - quartz/components/pages/CategoryContent.tsx (new) - quartz/plugins/emitters/categoryPage.tsx (new) - quartz/i18n/locales/en-US.ts - quartz/i18n/locales/definition.ts - quartz/components/index.ts - quartz.layout.ts - quartz.config.ts - README.md (updated with Quartz updater documentation) Security: Comprehensive privacy review confirms NO information leaks from private folder. All ignore patterns working correctly. Docs: Added CUSTOMIZATIONS.md with complete feature documentation, implementation details, and privacy audit results. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
96 lines
2.6 KiB
TypeScript
96 lines
2.6 KiB
TypeScript
import { Translation } from "./definition"
|
|
|
|
export default {
|
|
propertyDefaults: {
|
|
title: "Untitled",
|
|
description: "No description provided",
|
|
},
|
|
components: {
|
|
callout: {
|
|
note: "Note",
|
|
abstract: "Abstract",
|
|
info: "Info",
|
|
todo: "Todo",
|
|
tip: "Tip",
|
|
success: "Success",
|
|
question: "Question",
|
|
warning: "Warning",
|
|
failure: "Failure",
|
|
danger: "Danger",
|
|
bug: "Bug",
|
|
example: "Example",
|
|
quote: "Quote",
|
|
},
|
|
backlinks: {
|
|
title: "Backlinks",
|
|
noBacklinksFound: "No backlinks found",
|
|
},
|
|
themeToggle: {
|
|
lightMode: "Light mode",
|
|
darkMode: "Dark mode",
|
|
},
|
|
readerMode: {
|
|
title: "Reader mode",
|
|
},
|
|
explorer: {
|
|
title: "Explorer",
|
|
},
|
|
footer: {
|
|
createdWith: "Created with",
|
|
},
|
|
graph: {
|
|
title: "Graph View",
|
|
},
|
|
recentNotes: {
|
|
title: "Recent Notes",
|
|
seeRemainingMore: ({ remaining }) => `See ${remaining} more →`,
|
|
},
|
|
transcludes: {
|
|
transcludeOf: ({ targetSlug }) => `Transclude of ${targetSlug}`,
|
|
linkToOriginal: "Link to original",
|
|
},
|
|
search: {
|
|
title: "Search",
|
|
searchBarPlaceholder: "Search for something",
|
|
},
|
|
tableOfContents: {
|
|
title: "Table of Contents",
|
|
},
|
|
contentMeta: {
|
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
|
},
|
|
},
|
|
pages: {
|
|
rss: {
|
|
recentNotes: "Recent notes",
|
|
lastFewNotes: ({ count }) => `Last ${count} notes`,
|
|
},
|
|
error: {
|
|
title: "Not Found",
|
|
notFound: "Either this page is private or doesn't exist. If you think something should be here, let me know.",
|
|
home: "Return to Homepage",
|
|
},
|
|
folderContent: {
|
|
folder: "Folder",
|
|
itemsUnderFolder: ({ count }) =>
|
|
count === 1 ? "1 item under this folder." : `${count} items under this folder.`,
|
|
},
|
|
tagContent: {
|
|
tag: "Tag",
|
|
tagIndex: "Tag Index",
|
|
itemsUnderTag: ({ count }) =>
|
|
count === 1 ? "1 item with this tag." : `${count} items with this tag.`,
|
|
showingFirst: ({ count }) => `Showing first ${count} tags.`,
|
|
totalTags: ({ count }) => `Found ${count} total tags.`,
|
|
},
|
|
categoryContent: {
|
|
category: "Category",
|
|
categoryIndex: "Category Index",
|
|
itemsUnderCategory: ({ count }) =>
|
|
count === 1 ? "1 item in this category." : `${count} items in this category.`,
|
|
showingFirst: ({ count }) => `Showing first ${count} categories.`,
|
|
totalCategories: ({ count }) => `Found ${count} total categories.`,
|
|
},
|
|
},
|
|
} as const satisfies Translation
|