39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
|
---
|
||
|
tags:
|
||
|
- plugin/transformer
|
||
|
---
|
||
|
|
||
|
Quartz is a static-site generator that transforms markdown content into web pages. [org-roam](https://www.orgroam.com/) is a plain-text(`org`) personal knowledge management system for [emacs](https://en.wikipedia.org/wiki/Emacs). [ox-hugo](https://github.com/kaushalmodi/ox-hugo) is org exporter backend that exports `org-mode` files to [Hugo](https://gohugo.io/) compatible markdown.
|
||
|
|
||
|
Because the markdown generated by ox-hugo is not pure markdown but Hugo specific, we need to transform it to fit into Quartz. This is done by `Plugin.OxHugoFlavouredMarkdown`. Even though this [[making plugins|plugin]] was written with `ox-hugo` in mind, it should work for any Hugo specific markdown.
|
||
|
|
||
|
```typescript title="quartz.config.ts"
|
||
|
plugins: {
|
||
|
transformers: [
|
||
|
Plugin.FrontMatter({ delims: "+++", language: "toml" }), // if toml frontmatter
|
||
|
// ...
|
||
|
Plugin.OxHugoFlavouredMarkdown(),
|
||
|
Plugin.GitHubFlavoredMarkdown(),
|
||
|
// ...
|
||
|
],
|
||
|
},
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
Quartz by default doesn't understand `org-roam` files as they aren't Markdown. You're responsible for using an external tool like `ox-hugo` to export the `org-roam` files as Markdown content to Quartz and managing the static assets so that they're available in the final output.
|
||
|
|
||
|
## Configuration
|
||
|
|
||
|
- Link resolution
|
||
|
- `wikilinks`: Whether to replace `{{ relref }}` with Quartz [[wikilinks]]
|
||
|
- `removePredefinedAnchor`: Whether to remove [pre-defined anchor set by ox-hugo](https://ox-hugo.scripter.co/doc/anchors/).
|
||
|
- Image handling
|
||
|
- `replaceFigureWithMdImg`: Whether to replace `<figure/>` with `![]()`
|
||
|
- Formatting
|
||
|
- `removeHugoShortcode`: Whether to remove hugo shortcode syntax (`{{}}`)
|
||
|
|
||
|
> [!warning]
|
||
|
>
|
||
|
> While you can use `Plugin.OxHugoFlavoredMarkdown` and `Plugin.ObsidianFlavoredMarkdown` together, it's not recommended because it might mutate the file in unexpected ways. Use with caution.
|