mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-20 11:24:05 -06:00
🌱 a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites
* Initial plan * Extend PluginUtilities with missing path and escape utilities Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> * Migrate transformers to use ctx.utils instead of direct imports Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> * Migrate emitters to use ctx.utils - part 1 (helpers, aliases, assets, contentIndex, contentPage, tagPage, static, favicon) Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> * Complete emitter migration to ctx.utils - all emitters decoupled Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> * Add comment explaining double-unescaping in test helper mock This mirrors the production implementation in util/escape.ts which has the same pattern. The CodeQL alert is a known limitation of simple HTML unescaping that exists in the production code as well. Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> * Fix type safety: change join() return type to string and simplify casts - Changed PluginUtilities.path.join() return type from FilePath to string to allow proper single-cast at call sites - Removed unsafe double-casts (as unknown as FullSlug) in favor of single casts (as FullSlug) - Fixed ogImage.tsx to use consistent destructuring pattern (ctx.cfg.configuration instead of cfg.configuration) - Updated implementation in plugin-context.ts and test-helpers.ts This addresses all code review feedback about type safety issues. Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> * Fix test mock implementations to match production code behavior - Fixed getAllSegmentPrefixes to return cumulative prefixes (e.g., ["a", "a/b", "a/b/c"]) - Fixed isRelativeURL to include all three validation conditions - Fixed stripSlashes to use substring(1) instead of replace(/^\/+/) - Fixed slugTag to properly handle hierarchical tags with sluggify logic - Fixed split to handle PDF files and anchor normalization - Fixed HTML entity ' to ' for consistency - Changed QUARTZ imports to use utils.path.QUARTZ for consistency - Fixed favicon.ts to pass full ctx instead of reconstructing partial object All mocks now accurately reflect production code behavior for reliable testing. Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: saberzero1 <8161064+saberzero1@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| content | ||
| docs | ||
| quartz | ||
| .gitattributes | ||
| .gitignore | ||
| .node-version | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| CODE_OF_CONDUCT.md | ||
| DESIGN_DOCUMENT_DECOUPLING.md | ||
| Dockerfile | ||
| globals.d.ts | ||
| index.d.ts | ||
| LICENSE.txt | ||
| package-lock.json | ||
| package.json | ||
| quartz.config.ts | ||
| quartz.layout.ts | ||
| README.md | ||
| tsconfig.json | ||
Quartz v4
“[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important.” — Richard Hamming
Quartz is a set of tools that helps you publish your digital garden and notes as a website for free. Quartz v4 features a from-the-ground rewrite focusing on end-user extensibility and ease-of-use.
🔗 Read the documentation and get started: https://quartz.jzhao.xyz/