Documentation for Beast — indentation-first .btsx that compiles to native TSRX for Octane — built with Next.js 16, Tailwind, and Shiki (Tokyo Night).
- Next 16 (App Router, Turbopack), React 19, TypeScript 5
- Tailwind 4 +
@tailwindcss/postcss,tailwind-merge(cn) highlight.js+ custombtsx/tsrx(fromphtn/beast-exthighlights.scm/injections.scm, Tokyo Night Dark)
bun install
bun run dev # http://localhost:3000
bun run build # 18/18 static
bun run lintnavigation+docPages— add a section there,orderedDocPagesandgenerateStaticParamspick it up.- Code blocks:
CodeBlock(app/components/code-block.tsx) useslib/btsx-hljs.ts(Zed grammar →highlight.js), theme inapp/globals.css(.hljsTokyo Night).
- Zed:
phtn/beast-ext—extension.tomlpinned tosrc/parser.c+src/scanner.c,languages/beast/*.scm. - Neovim:
phtn/nvim-treesitter#add-beast-parser→ upstreamnvim-treesitter/nvim-treesitter(parserbeast,filetype=beastfor*.btsx):Upstream PR: phtn/nvim-treesitter#1 → https://github.com/nvim-treesitter/nvim-treesitter/compare/main...phtn:add-beast-parser-- lazy.nvim { "phtn/beast.ext", ft = "beast", dependencies = { "nvim-treesitter/nvim-treesitter" }, config = function() vim.filetype.add({ extension = { btsx = "beast" } }) require("nvim-treesitter.parsers").get_parser_configs().beast = { install_info = { url = "https://github.com/phtn/beast-ext", files = { "src/parser.c", "src/scanner.c" }, branch = "main" }, filetype = "beast", } end } -- :TSInstall beast
Vercel — next build is static (/, /_not-found, /docs/[[...slug]]).
- Beast compiler: https://github.com/phtn/beast
- Zed extension: https://github.com/phtn/beast-ext
- Neovim parser PR: phtn/nvim-treesitter#1 (commit fb27e47)