.gitignore | 2 + AGENTS.md | 40 + ARCHITECTURE.md | 22 + Cargo.lock | 1203 +++++++++++++++++++++++++++++ Cargo.toml | 22 + README.md | 159 ++++ examples/hoj.mdo | 98 +++ examples/next-js.mdo | 750 ++++++++++++++++++ src/lib.rs | 225 ++++++ src/main.rs | 71 ++ src/marko.rs | 1296 ++++++++++++++++++++++++++++++++ src/plugin/autolink.rs | 46 ++ src/plugin/comment.rs | 53 ++ src/plugin/frontmatter.rs | 150 ++++ src/plugin/inline_tags.rs | 133 ++++ src/plugin/mod.rs | 61 ++ src/plugin/statement.rs | 76 ++ src/plugin/tags.rs | 403 ++++++++++ src/plugin/template.rs | 63 ++ src/typescript.rs | 790 +++++++++++++++++++ src/wasm.rs | 0 tests/fixtures.rs | 149 ++++ tests/fixtures/01-static-markdown.html | 14 + tests/fixtures/01-static-markdown.mdo | 17 + tests/fixtures/02-imports-and-components.marko | 5 + tests/fixtures/02-imports-and-components.mdo | 8 + tests/fixtures/03-static-and-expressions.marko | 6 + tests/fixtures/03-static-and-expressions.mdo | 8 + tests/fixtures/04-control-flow.marko | 11 + tests/fixtures/04-control-flow.mdo | 15 + tests/fixtures/05-nested-tags-and-loops.marko | 11 + tests/fixtures/05-nested-tags-and-loops.mdo | 19 + tests/fixtures/06-comments.marko | 4 + tests/fixtures/06-comments.mdo | 7 + tests/fixtures/07-server-client.marko | 4 + tests/fixtures/07-server-client.mdo | 6 + tests/fixtures/08-inline-tags.marko | 4 + tests/fixtures/08-inline-tags.mdo | 7 + tests/fixtures/09-marko-shorthands.marko | 5 + tests/fixtures/09-marko-shorthands.mdo | 9 + tests/fixtures/10-attribute-tags.marko | 6 + tests/fixtures/10-attribute-tags.mdo | 10 + tests/fixtures/11-autolinks.marko | 2 + tests/fixtures/11-autolinks.mdo | 3 + tests/fixtures/12-frontmatter.marko | 5 + tests/fixtures/12-frontmatter.mdo | 8 + tests/fixtures/13-kitchen-sink.marko | 26 + tests/fixtures/13-kitchen-sink.mdo | 36 + tests/fixtures/14-evil-braces-and-typescript.marko | 22 + tests/fixtures/14-evil-braces-and-typescript.mdo | 28 + tests/fixtures/15-multiline-tag.marko | 5 + tests/fixtures/15-multiline-tag.mdo | 8 + tests/fixtures/16-same-line-text.marko | 8 + tests/fixtures/16-same-line-text.mdo | 12 + tests/fixtures/17-consecutive-statements.marko | 2 + tests/fixtures/17-consecutive-statements.mdo | 2 + 56 files changed, 6155 insertions(+)