Files
marka/README.md
2025-10-01 16:45:49 +02:00

1.6 KiB

Marka

Bidirectional mapping between Markdown and JSON (Schema.org-style) via small, declarative templates. Marka enables you to parse Markdown to JSON and render JSON back to Markdown using the same template.

Features

  • Bidirectional Mapping: Convert Markdown to JSON and JSON to Markdown using a single template.
  • Declarative Templates: Define your mappings with concise, easy-to-understand templates.
  • JSON Schema Validation: Validate parsed JSON against Schema.org entities using JSON Schema.

How it works

Marka uses a custom template file to enable bidirectional between Markdown and Data. A minimal marka schema could look like:

# { articleTitle }

{ articleBody }

Then it could parse the following markdown:

# MyArticle

The article body which could 
contain newlines.

Into the following data:

{
  "articleTitle": "MyArticle",
  "articleBody": "The article body which could\ncontain newlines.",
}

And reversely if you give it the json it could reproduce the input markdown. If you want to dive into the deeper workings of the template look at template/README.md

Docker Image (CRUD API)

A Docker image is available to transform a specified directory into a CRUD API. This allows you to expose your Markdown-to-JSON mappings as a web service.

To run the Docker image:

docker run -p 8080:8080 -v /path/to/your/data:/app/data max/marka-server

(Replace /path/to/your/data with the absolute path to the directory you want to expose.)

License

This project is licensed under the GNU General Public License v3.0.