recipe-shiki
v0.2.2
Published
Shiki language pack for the recipe (.recipe) pharmacological notation.
Downloads
38
Maintainers
Readme
recipe-shiki
Shiki language pack for the recipe pharmacological notation
language. Thin wrapper around recipe-tmlanguage's generated
TextMate grammar, shaped to match @shikijs/langs/* so it drops into any
Shiki highlighter — including fine-grained bundles for tiny client payloads.
Install
bun add -D recipe-shiki shiki
# or
npm i -D recipe-shiki shiki
# or, on Deno / from JSR
deno add jsr:@kjanat/recipe-shiki npm:shikishiki is a peer dependency — bring your own version (>=3).
Usage
Fine-grained bundle (recommended for browsers)
import { createHighlighterCore } from "shiki/core";
import { createOnigurumaEngine } from "shiki/engine/oniguruma";
const shiki = await createHighlighterCore({
themes: [import("@shikijs/themes/github-dark")],
langs: [import("recipe-shiki")],
engine: createOnigurumaEngine(import("shiki/wasm")),
});
const html = shiki.codeToHtml(source, {
lang: "recipe",
theme: "github-dark",
});Full bundle
import recipe from "recipe-shiki";
import { createHighlighter } from "shiki";
const shiki = await createHighlighter({
themes: ["github-dark"],
langs: recipe,
});
const html = shiki.codeToHtml(source, {
lang: "recipe",
theme: "github-dark",
});Shorthand
import recipe from "recipe-shiki";
import { codeToHtml } from "shiki";
const html = await codeToHtml(source, {
lang: recipe[0],
theme: "github-dark",
});Scopes
All scopes end in .recipe and follow standard TextMate namespaces
(keyword.control.*, support.function.*, invalid.illegal.*, …), so
every mainstream Shiki theme paints recipe blocks without extra config.
Full scope map: see recipe-tmlanguage's README.
Versioning
The grammar is not bundled in — recipe-tmlanguage is a runtime
dependency. The npm build keeps a live import … with { type: "json" }
against the recipe-tmlanguage npm package; the JSR build imports
jsr:@kjanat/recipe-tmlanguage. Bumping the grammar means bumping the
recipe-tmlanguage dependency (and this package).
License
MIT © Kaj Kowalski
