2025-10-06 00:19:33 +02:00
wip
2025-09-25 16:41:26 +02:00
2025-09-30 19:28:56 +02:00
2025-10-06 00:19:33 +02:00
wip
2025-09-25 16:41:26 +02:00
2025-10-06 00:19:33 +02:00
2025-10-01 16:45:49 +02:00
2025-09-30 19:28:56 +02:00
wip
2025-09-25 16:41:26 +02:00
wip
2025-09-25 16:41:26 +02:00
WIP
2025-09-24 21:37:46 +02:00
wip
2025-09-25 16:41:26 +02:00
2025-10-01 16:45:49 +02:00

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.

Description
No description provided
Readme 3.6 MiB
Languages
Go 50.6%
JavaScript 28.2%
Svelte 9%
HTML 8.4%
TypeScript 2.8%
Other 0.9%