Pannonico 0.6: how a personal side project is becoming a professional tool
A few weeks ago I wrote about Pannonico, the static site generator I've been building in Go. At that point I mostly focused on its architecture and performance: Pannonico handles pages, templates and data, while Vite remains responsible for the frontend asset pipeline. Pannonico 0.6.0 is now out , and since that first post the project has started to feel much more complete as a development…
A few weeks ago, the author shared their experience building Pannonico, a static site generator in Go. At the time, the focus was on architecture and performance, as Pannonico handles pages, templates and data while Vite manages the frontend asset pipeline. Pannonico 0.6.0 has been released, and the project has become more of a development environment.
The editor tooling has improved significantly, with the language server providing completion, hover information and diagnostics for various elements like partials, layouts, object keys, page names, translation fallback languages and date format tokens. The language server is now usable outside of VS Code, with integrations for VS Code, JetBrains IDEs and Neovim.
This approach allows for project-aware completion and diagnostics that are not tied to a specific editor. The completion data comes from the actual project, ensuring accuracy in the editor. The language server can also be used from Neovim, providing a more tailored editor experience. The Pannonico syntax is respected when it shouldn't be interpreted as such, ignoring template examples inside CommonMark code blocks.
A new CLI feature called pannonico-verbatim was added, keeping content inside a verbatim wrapper outside of template execution, Pannonico directives, HTML transforms and HTML validation. The benchmark suite was rerun, comparing Pannonico with Hugo, Eleventy, Astro and Nuxt. The results show that Pannonico was slightly faster in raw, layout and partial-heavy tests, while Hugo had a small advantage with structured data.
The startup time for a Pannonico build of a small project is around 22-33 ms, which is significantly faster than Hugo and Eleventy. Keeping Vite separate from Pannonico's rendering engine was another strategic decision, allowing for better performance and easier integration with the frontend resources generated by Vite. Overall, Pannonico 0.6 brings the project closer to being a comprehensive static site generator, with fast builds, startup times, diagnostics, and editor support.
The author is satisfied with the progress made and looks forward to the upcoming documentation and dedicated site with tutorials.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.