Roq Release Notes
Want to follow Roq’s progress and update your project safely? You’re in the right place.
| If you find any issue or missing info, be awesome and edit this document to help others Roqers. |
We aim to keep the API stable, but since Roq is still young, breaking changes may happen. The good news: almost all breakage will be caught during build or site generation tests.
Want to follow Roq’s progress and update your project safely? You’re in the right place.
Roq 2.1
-
✏️ Built-in Block Editor: a powerful block editor right in your browser during dev mode, with live preview, front matter editing, and image management. No IDE needed to write your next post!
-
🎨 Simplified layout resolution:
layout: pagenow resolves local layouts first, then falls back to the theme. No more:theme/prefix needed -
🎨 Default theme rewritten with TailwindCSS instead of SCSS for better maintainability and modern styling
-
🌙 Built-in dark mode with automatic system preference detection
-
🎨 Color palette system: three customizable palettes (
accent,pop,neutral) via CSS variables -
🖼️ Favicon auto-discovery: automatically detects
favicon.svg,favicon.ico,favicon.png,apple-touch-icon.pnginpublic/ -
🛒 Marketplace: new collection type for discovering plugins, themes, and web extensions
-
🤖 llms.txt: automatic generation of
llms.txtfor AI-friendly site indexing -
🖥️ CLI: new
roq addcommand for adding plugins, themes, and web extensions -
🔧 Internal refactoring: the frontmatter pipeline is now split into clear numbered steps (Step0-Step6) for better maintainability
-
🔧 Migrated to
ProjectScannerAPI andStringPathslibrary for file scanning -
⚠️
page.datenow returnsnullfor normal pages without a date. Collection documents (posts) still default to the current date.
→ Guide for migrating to 2.1
Roq 2.0
-
🕵️ Added lightning filesystem watcher for live reload
-
📂 Allow
webdirectory at the root of the Roq site -
🧩 Simplified default app structure: supports
web/app.jsandweb/app.scss(orweb/app/app.jslike before …) -
⚡️ TailwindCSS support without any config
-
💫 Directory support for data and allow iterating on nested data files using the directory name
→ Guide for migrating to 2.0
Roq 1.8
Sorry for the breaking releases back to back but this includes a refactor to allow safely including files from the whole site directory when using AsciidocJ (requested by a user).
This mostly change internal api, but can eventually break really specific usage.
→ Guide for migrating to 1.8
Roq 1.7
The Asciidoc support was already available, but with this new release, we made it a Roq top level citizen:
-
Support for Asciidoc headers to control the Roq data
-
Includes
-
Roq page and site attributes (urls, …)
-
xrefare working out of the box for structured content such as docs -
Fine grained Asciidoc attributes (config, layout, page)
-
Harmonization between Ruby and Java implementation
-
Dynamic TOC support
A few weeks ago, we added support for search as a plugin to Roq. I wasn’t fully happy with the style and the fact that it was targetting the full page instead of the nearest fragment for the actual keyword.
I spend a bit of time on this and came up with a new way of indexing the content which slice the content based on fragments. Currently, it supports both Asciidoc and Markdown output.
Give it a try, it is enabled on this site. If you want this for your site:
→ Guide for migrating to 1.7
Migration guide
-
Make sure you implemented generation tests
to 2.1
| Applies to | Before | After | Action |
|---|---|---|---|
All users |
|
|
⚠ Update layout references in front matter |
All users |
Layouts in |
|
⚠ Move custom layouts |
All users |
|
Returns |
⚠ Wrap with |
Theme users |
SCSS ( |
CSS with TailwindCSS |
⚠ Migrate custom styles |
Theme users |
|
|
⚠ Update tag references |
Plugin authors |
|
Step-based build items |
⚠ Update plugin code |
Plugin authors |
|
|
⚠ Update imports |
Plugin authors |
|
|
⚠ Update imports |
Theme users |
Custom SCSS/CSS overrides |
Theme CSS completely rewritten |
⚠ Review your overrides — some may be unnecessary now, others may need updating |
Theme users |
Custom color variables |
Three customizable color palettes: |
ℹ See Color Palettes |
Theme users |
Custom CSS classes for prose |
|
ℹ Good to know |
Theme users |
No dark mode |
Built-in with |
ℹ Good to know |
to 2.0
| Applies to | Before | After | Action |
|---|---|---|---|
All users |
Nested data mapped with |
Mapped with |
⚠ Update data references |
to 1.8
| Applies to | Before | After | Action |
|---|---|---|---|
All users |
|
|
⚠ Update page info calls |
Plugin authors |
Previous BuildItems API |
Restructured BuildItems |
⚠ Update plugin code |
to 1.7
| Applies to | Before | After | Action |
|---|---|---|---|
AsciiDoc users |
Qute parsing enabled by default |
Disabled by default |
⚠ Use |
AsciiDoc users |
|
|
⚠ Rename config |
AsciiDoc users |
|
Removed (TOC handled by script) |
⚠ Remove config |
Search users |
Previous search result DOM |
Updated DOM structure |
⚠ Verify custom search styles |
All users |
|
Now extends |
⚠ Check ignore config |