The new website-publisher integration lives in this repository, not in a separate Curcuma app:
packages/core: strict serializable text rules, deterministic text/Markdown transformations and a thin JSON CLI.packages/ui: shared Mantine source/target/rules table, rule editor and preview with host-supplied labels and theme.
Studio is the first integrated host; an isolated browser host is included. Website slots, source resolution, autosave, jobs and deployment remain host concerns. No wrapper around the old observer API or runtime compatibility fallback is used for this integration.
With the repository's development dependencies installed:
npm --prefix packages/core test
npm --prefix packages/ui install
npm --prefix packages/ui testThe format readers and tasks documented below are separate from this first shared publisher contract; the new UI does not claim to expose all of them.
This is a Data-Wrangler. It copys and transforms data-files and writes. For example:
Markdown and CSV files from your Obsidian-Vault for usage in Hugo.
- This thing ist done with Typescript.
- Inspired by: https://github.com/accraze/split-md
- Why not golang? So you can use it easier outside the golang universe.
- Markdown - for Markdown Files.
- CSV - For files with comma-separated values, where each line is a record. This is a BookBuddy App support: CSV-File conversion & Image Download.
- XLSX - read, write and transform (upcoming).
- Json
- ...
- Copying and transforming one or more Markdown files.
- Split Markdown longform documents into several individual documents.
- Obsidian-Links (Images and Documents), copy Files on the fly.
- Latex-Formulas, Paragraph and Inline.
- Frontmatter: Add, Replace, Map and Transform Values.
- Callouts.
- Remove Todos.
- TODO: Take wikilinks (cross-references) into account. Footnotes Endnotes support.
- Adopt Value - a simple pass through example.
- ArrayJoin, ArraySplit
- Boolean Inverse
- Image Downloader 1 . Insert Date (now)
- Insert UUID
- Trim Characters from String.
You can build customized transformers and Mappers for different solutions. For planned features and changes take a look into the CHANGELOG.md
- It only runs in Backend, not in Browsers.
- Reading and writing is not arbitrary - (but should be).
After the redesign its quite straight forward:
flowchart
subgraph runner
subgraph tasks
task-1
task-2
...
end
reader --> tasks --> writer
end
Important
I am currently redesigning the framework fundamentally. There is a completely new API.
Until the documentation is updated, please take a look at the (not deprecated) test-code, test-code_-excluded and test-data folder.