Skip to content

About

A Typescript library for transporting and converting markdown and csv data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

MD-Curcuma

Embedded publisher packages

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 test

The 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.

Existing format readers and tasks

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.

What is in the box?

Availible Reader and Writer

  1. Markdown - for Markdown Files.
  2. CSV - For files with comma-separated values, where each line is a record. This is a BookBuddy App support: CSV-File conversion & Image Download.
  3. XLSX - read, write and transform (upcoming).
  4. Json
  5. ...

Availible Tasks

Markdown

  1. Copying and transforming one or more Markdown files.
  2. Split Markdown longform documents into several individual documents.
  3. Obsidian-Links (Images and Documents), copy Files on the fly.
  4. Latex-Formulas, Paragraph and Inline.
  5. Frontmatter: Add, Replace, Map and Transform Values.
  6. Callouts.
  7. Remove Todos.
  8. TODO: Take wikilinks (cross-references) into account. Footnotes Endnotes support.

Availible Mappings

  1. Adopt Value - a simple pass through example.
  2. ArrayJoin, ArraySplit
  3. Boolean Inverse
  4. Image Downloader 1 . Insert Date (now)
  5. Insert UUID
  6. 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

Restrictions

  • It only runs in Backend, not in Browsers.
  • Reading and writing is not arbitrary - (but should be).

How it works

After the redesign its quite straight forward:

flowchart
    subgraph runner
      subgraph tasks
        task-1
        task-2
        ...
      end
     reader --> tasks --> writer
    end
Loading

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.

About

A Typescript library for transporting and converting markdown and csv data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages