kovamd/vscodeplugin

VS Code extension for Kova: syntax highlighting, snippets, and Present with Kova...

JavaScript

0

12 commits

updated Sep 28, 2026

See the code

See what people are saying

SourceMessageScoreDate

Kova v0.7.12 - Markdown Presentation Software (Now with VSCode Plugin!) (r/opensource)

Hi all, It's been a couple months since I last posted an update on Kova's progress, I have been chipping away at the core functionally within the application and wanted to post a brief update. Some highlights: * Full self-contained HTML exporting - demo here:…

1

Sep 28, 2026

README

Kova for VS Code

Syntax highlighting for Kova Markdown presentations, plus a Present with Kova... command to launch a file straight into fullscreen presentation mode.

Kova is a native desktop app that turns Markdown into slide decks. This extension does not require Kova to be installed to get highlighting; the Present command does, since it launches the Kova binary directly.

Install Kova: https://github.com/KovaMD/Kova/releases

What's highlighted

Kova extends plain Markdown with a small, closed set of directives. This extension highlights all of them on top of VS Code's built-in Markdown grammar:

  • Frontmatter keys — title, author, theme, theme_overrides, aspect_ratio, date, logo, footer
  • Structural markers — --- (slide separator), ??? (speaker notes), ||| (column break)
  • Slide comment directives — <!-- layout: NAME -->, <!-- hidden -->, <!-- color: ... -->, <!-- _color: ... -->, <!-- _class: ... -->, <!-- step --> / <!-- step: N -->
  • Content directives — !youtube[...], !video[...], !poll[...], !progress[...], !ref[...], !caption[...], !toc, !let, !sheet
  • Background images — ![bg left:40%, contain](path.jpg)
  • Callouts — > [!note], > [!warning] Title, and other Obsidian/GitHub-style admonitions
  • Template variables — {title}, {author}, {date}, {slide_number}, {total}

See examples/demo.kova.md for one file exercising every token, and the full syntax spec in the main Kova repo.

Two known limitations:

  • ||| as a column break is ambiguous with an all-empty GFM table row. Kova's own parser disambiguates using table context; this grammar does not, so a ||| inside a table may occasionally be mis-highlighted.
  • Frontmatter keys are matched on any line that looks like key:, not just inside the leading ---…--- block (a TextMate injection grammar can't reliably track that boundary). A slide body line that happens to start with title:, date:, etc. will be highlighted as if it were a frontmatter key.

Present with Kova...

Run Kova: Present with Kova... from the command palette, or use the play icon in the editor title bar on any Markdown file. It saves the file if there are unsaved changes, then launches kova --present on it. If Kova isn't found on your PATH (or, on Linux, isn't installed as a Flatpak either), you'll get a prompt linking to the releases page instead of a silent failure.

Snippets

Type a prefix and press Tab in a Markdown file: kova-slide, kova-notes, kova-col, kova-layout, kova-step, kova-yt, kova-video, kova-poll, kova-progress, kova-ref, kova-toc, kova-caption, kova-let, kova-sheet, kova-bg, kova-note / kova-tip / kova-warning / kova-danger / kova-info, and kova-frontmatter.

Development

npm install
npm run compile

Then press F5 to launch an Extension Development Host with fixtures/sample.kova.md already open, to check both highlighting and the present command.

npm test runs a headless tokenizer test against the grammar (loads kova.tmLanguage.json directly via vscode-textmate/vscode-oniguruma and asserts on the scopes it produces) — no editor required. npm run package builds a .vsix with vsce as a packaging smoke test. Both run in CI on every push and PR.

License

This extension is free and open source software, released under the GNU General Public License v3.0.

You are free to use, study, modify, and distribute this software under the terms of the GPL v3. Any modified versions distributed to others must also be made available under the GPL v3.

kovamd/vscodeplugin

VS Code extension for Kova: syntax highlighting, snippets, and Present with Kova...

JavaScript

0

12 commits

updated Sep 28, 2026

See the code

See what people are saying

SourceMessageScoreDate

Kova v0.7.12 - Markdown Presentation Software (Now with VSCode Plugin!) (r/opensource)

Hi all, It's been a couple months since I last posted an update on Kova's progress, I have been chipping away at the core functionally within the application and wanted to post a brief update. Some highlights: * Full self-contained HTML exporting - demo here:…

1

Sep 28, 2026

README

Kova for VS Code

Syntax highlighting for Kova Markdown presentations, plus a Present with Kova... command to launch a file straight into fullscreen presentation mode.

Kova is a native desktop app that turns Markdown into slide decks. This extension does not require Kova to be installed to get highlighting; the Present command does, since it launches the Kova binary directly.

Install Kova: https://github.com/KovaMD/Kova/releases

What's highlighted

Kova extends plain Markdown with a small, closed set of directives. This extension highlights all of them on top of VS Code's built-in Markdown grammar:

  • Frontmatter keys — title, author, theme, theme_overrides, aspect_ratio, date, logo, footer
  • Structural markers — --- (slide separator), ??? (speaker notes), ||| (column break)
  • Slide comment directives — <!-- layout: NAME -->, <!-- hidden -->, <!-- color: ... -->, <!-- _color: ... -->, <!-- _class: ... -->, <!-- step --> / <!-- step: N -->
  • Content directives — !youtube[...], !video[...], !poll[...], !progress[...], !ref[...], !caption[...], !toc, !let, !sheet
  • Background images — ![bg left:40%, contain](path.jpg)
  • Callouts — > [!note], > [!warning] Title, and other Obsidian/GitHub-style admonitions
  • Template variables — {title}, {author}, {date}, {slide_number}, {total}

See examples/demo.kova.md for one file exercising every token, and the full syntax spec in the main Kova repo.

Two known limitations:

  • ||| as a column break is ambiguous with an all-empty GFM table row. Kova's own parser disambiguates using table context; this grammar does not, so a ||| inside a table may occasionally be mis-highlighted.
  • Frontmatter keys are matched on any line that looks like key:, not just inside the leading ---…--- block (a TextMate injection grammar can't reliably track that boundary). A slide body line that happens to start with title:, date:, etc. will be highlighted as if it were a frontmatter key.

Present with Kova...

Run Kova: Present with Kova... from the command palette, or use the play icon in the editor title bar on any Markdown file. It saves the file if there are unsaved changes, then launches kova --present on it. If Kova isn't found on your PATH (or, on Linux, isn't installed as a Flatpak either), you'll get a prompt linking to the releases page instead of a silent failure.

Snippets

Type a prefix and press Tab in a Markdown file: kova-slide, kova-notes, kova-col, kova-layout, kova-step, kova-yt, kova-video, kova-poll, kova-progress, kova-ref, kova-toc, kova-caption, kova-let, kova-sheet, kova-bg, kova-note / kova-tip / kova-warning / kova-danger / kova-info, and kova-frontmatter.

Development

npm install
npm run compile

Then press F5 to launch an Extension Development Host with fixtures/sample.kova.md already open, to check both highlighting and the present command.

npm test runs a headless tokenizer test against the grammar (loads kova.tmLanguage.json directly via vscode-textmate/vscode-oniguruma and asserts on the scopes it produces) — no editor required. npm run package builds a .vsix with vsce as a packaging smoke test. Both run in CI on every push and PR.

License

This extension is free and open source software, released under the GNU General Public License v3.0.

You are free to use, study, modify, and distribute this software under the terms of the GPL v3. Any modified versions distributed to others must also be made available under the GPL v3.

Languages

JavaScript

67.4%

TypeScript

32.6%