murkdown

Crates.iomurkdown
lib.rsmurkdown
version
sourcesrc
created_at2024-10-17 04:24:34.986603
updated_at2024-12-08 17:54:01.035752
descriptionAn experimental semantic markup language and static site generator for composing and decomposing hypertext documents
homepage
repositoryhttps://github.com/gamgi/murkdown
max_upload_size
id1412571
Cargo.toml error:TOML parse error at line 21, column 1 | 21 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Pie-tu (gamgi)

documentation

README

Murkdown

An experimental semantic markup language and static site generator for composing and decomposing hypertext documents.

Installation

Using Cargo

If you have installed the Rust toolchain, you can install using cargo:

cargo install murkdown

Quick Start

Create the file example.md with the follow content:

# Exciting times!

You see, it's like Markdown on the surface.

You can write paragraphs.

* And
* Create
* Lists

> [!TIP]
> You can make callouts.

And that's where the similarities end.

> [!TABS]
>> [!CODE](language="python" id="foo")
>> def foo():
>>   print("hello world")
>
>> [!CODE](language="typescript" id="bar")
>> const bar = () => console.log("hello world")
>
>> [!CODE](language="plaintext" id="baz" src="archimedes")

And they can be composed, in exciting ways:

> [!NOTE LIST](id="archimedes")
> The more you know, the more you know you don't know.
> Our problem is not that we aim too high and miss, but that we aim too low and hit.

That's enough to get you started.

Compile it by invoking the Murkdown cli:

$ md build --as "simple website" ./example.md

Open the result from build/:

$ open build/example.html

Examples

For more examples, head over to the tests and corresponding *.in/ directories therein.

Design

Some of the principles fueling the work:

  • Literate programming
  • Local first
  • Worse is better
  • Composability

Additional constraints motivated by curiosity and personal taste:

  • Avoidance of start and end tags
  • Avoidance of inline markup
  • Avoidance of control structures and loops
  • Avoidance of emoji

License

The source code is licensed under the AGPL v3 License.

Commit count: 153

cargo fmt