Skip to content

mdeck β€” a modernized TypeScript fork of remark (vibe-coded with GitHub Copilot)Β #710

Description

@dpecos

Hi @gnab and the remark community πŸ‘‹

I wanted to share mdeck, a fork of remark I built as a "vibe-coding" experiment using GitHub Copilot. The goal was to modernise the tooling while keeping full backwards compatibility with existing remark slide decks.

What's different from remark

remark mdeck
Language Plain JS TypeScript
Bundler Custom make.js Vite
Markdown parser marked markdown-it (plugin ecosystem)
Distribution Single-file CDN script ESM + UMD, npm package
Tests Mocha/Chai Vitest

What's the same

  • The entire slide Markdown syntax (---, --, ???, .class[], macros, properties, templates, layout, count, etc.)
  • The createSlideshow() API mirrors remark.create()
  • Presenter mode, clone mode, touch support, URL deep linking β€” all present

How it was built

The project was almost entirely vibe-coded with GitHub Copilot CLI in a series of conversations β€” including porting remark's test suite, fixing several open issues from this repo, and writing the documentation.

A backwards-compatibility example using the exact remarkjs.com slide content proves the syntax is fully compatible β€” you can see it live here.

Credits

remark deserves full credit for the slide format and the original architecture. mdeck wouldn't exist without it. Thank you for an excellent project that clearly stood the test of time β€” the fact it's still being used and forked in 2026 says a lot.

Happy to answer questions or take feedback! πŸ™

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions