Skip to content

Zine port - #9

Draft
eamonburns wants to merge 11 commits into
buzz-language:mainfrom
eamonburns:zine-port
Draft

Zine port#9
eamonburns wants to merge 11 commits into
buzz-language:mainfrom
eamonburns:zine-port

Conversation

@eamonburns

@eamonburns eamonburns commented Aug 19, 2026

Copy link
Copy Markdown

Closes #8

The biggest issue currently is that Zine does not have a way to provide custom Tree-Sitter grammars, so I'm using Kotlin (simply because it uses the fun keyword for functions).

There is also a bit of a "hack" (assets/code-blocks.js) to set the data-ext attribute and the language-* class on the pre element for code blocks.

Files changed:

  • {0.5.0,main}/* -> content/{0.5.0,main}/*
    • content/0.5.0/docs/ is unchanged (except for some formatting to the generated HTML so that I could figure out what the structure was)
  • assets/code-blocks.js: A script to inject data-ext="{lang}" and class="language-{lang}" attributes into code blocks
  • assets/external-link-icon.svg: External link icon, extracted from the HTML
  • assets/highlight.css: CSS for syntax highlighting. Instead of mapping .classs directly to --color-var, I opted to do.class (under code.kotlin) to --semantic-var (under "Token colors") to --color-var (under "Colorscheme colors"). Also, both version 0.5.0 and main use the new colorscheme.
  • assets/render-mathtex.js: Generated by Zine.
  • assets/style.css: Main stylesheet. Mostly copied from content/main/docs/.vuepress/dist/assets/style-5aa52750.css, but the part commented-out at the bottom is generated by Zine.
  • assets/Temml-Local.css: Generated by Zine.
  • assets/temml.min.js: Generated by Zine.
  • assets/Temml.woff2: Generated by Zine.
  • content/0.5.0/index.smd: Home page ported to SuperMD
  • content/.smd.ziggy-schema: Generated by Zine.
  • content/index.smd: Root page. Redirects to the main home page.
  • layouts/templates/base.shtml: Base template. This is where the navbar and footer are. Also where the default JS and CSS links are.
  • layouts/home.shtml: Home page. Where "actions" and "features" are templated.
  • layouts/index.shtml: Generated by Zine. Default, very simple layout.
  • layouts/page.shtml: Generated by Zine. Default, very simple layout.
  • layouts/post.shtml: Generated by Zine. Possibly unnecessary, but might want to use it if there was ever a blog.
  • layouts/redirect.shtml: Layout that redirects to a specified page (see content/index.smd)
  • .zine.ziggy-schema: Generated by Zine. Schema for Zine configuration (zine.ziggy)
  • zine.ziggy: Generated by Zine, modified with buzz-lang.dev configuration values.

TODO:

  • List TODOs that were added in the code to this PR description

All the files removed were generated by `zine init`
- Fixed hardcoded version number
- Better rendering of alternate version page link (unreleased/released link)
Link to `$site.page`s instead of using string concatenation.
- Color strings
- Make keywords higher priority than variables
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate to zine

1 participant