Quarkus Roq

Roq allows to easily create a static website or blog using Quarkus super-powers.

The documentation is available in the Roq website.

Roq depends on a set of extensions which can also be used standalone:

  • Roq Data: Use json/yaml files content from your templates and articles with type safety.

  • Roq FrontMatter: Create a website from your Markdown/Asciidoc/Html pages using FrontMatter headers (url, layout, seo, data).

  • Roq Generator: Command to run any Quarkus web application and extract it in a directory as purely static files (html and assets).

Extension Configuration Reference

Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property

Type

Default

The root path of your site (e.g. /blog) relative the quarkus http root path. This is to be used only when the site is living next to a Quarkus application. Use quarkus.http.root-path for GitHub Pages relative url.

Environment variable: SITE_ROOT_PATH

string

/

the base hostname & protocol for your site, e.g. http://example.com

Environment variable: SITE_URL

string

The order of the route which handles the templates. <p> By default, the route is executed before the default routes (static resources, etc.).

Environment variable: SITE_ROUTE_ORDER

int

1100

The ignored files in the site directory (you can use glob expressions).

Environment variable: SITE_IGNORED_FILES

list of string

/,,.

The layout to use for normal html pages if not specified in FM. When empty, the page will not use a layout when it doesn’t specify it in FM. ":theme/" is removed if no theme is defined.

Environment variable: SITE_PAGE_LAYOUT

string

:theme/page

The directory which contains content (pages and collections) in the Roq site directory.

Environment variable: SITE_CONTENT_DIR

string

content

The directory (dir name) which contains static files to be served (with 'static/' prefix).

Environment variable: SITE_STATIC_DIR

string

static

The directory which contains public static files to be served without processing (dir name)

Environment variable: SITE_PUBLIC_DIR

string

public

The path containing static images (in the public directory)

Environment variable: SITE_IMAGES_PATH

string

images/

When enabled it will select all FrontMatter pages in Roq Generator

Environment variable: SITE_GENERATOR

boolean

true

Show future documents

Environment variable: SITE_FUTURE

boolean

false

This will be used to replace :theme when resolving layouts (e.g. layout: :theme/main.html)

Environment variable: SITE_THEME

string

Show draft pages

Environment variable: SITE_DRAFT

boolean

false

Format for dates

Environment variable: SITE_DATE_FORMAT

string

yyyy-MM-dd[ HH:mm][:ss][ Z]

The default timezone

Environment variable: SITE_TIME_ZONE

string

document timezone if provided or system timezone

If this collection is enabled

Environment variable: SITE_COLLECTIONS__COLLECTIONS_MAP_

boolean

true

Show future documents (overrides global future for this collection)

Environment variable: SITE_COLLECTIONS__COLLECTIONS_MAP__FUTURE

boolean

false

If true, the collection won’t be available on path but consumable as data.

Environment variable: SITE_COLLECTIONS__COLLECTIONS_MAP__HIDDEN

boolean

false

The layout to use if not specified in FM data. When empty, the document will not use a layout when it doesn’t specify it in FM. ":theme/" is removed if no theme defined.

Environment variable: SITE_COLLECTIONS__COLLECTIONS_MAP__LAYOUT

string

Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property

Type

Default

Path to the Roq directory (relative to the project root).

Environment variable: QUARKUS_ROQ_DIR

string

Path to the Roq directory in the resources.

Environment variable: QUARKUS_ROQ_RESOURCE_DIR

string

If enabled, Jackson will fail when encountering unknown properties.

You can still override it locally with @JsonIgnoreProperties(ignoreUnknown = false).

Environment variable: QUARKUS_ROQ_JACKSON_FAIL_ON_UNKNOWN_PROPERTIES

boolean

true

If enabled, Jackson will fail when no accessors are found for a type. This is enabled by default to match the default Jackson behavior.

Environment variable: QUARKUS_ROQ_JACKSON_FAIL_ON_EMPTY_BEANS

boolean

true

If enabled, Jackson will ignore case during Enum deserialization.

Environment variable: QUARKUS_ROQ_JACKSON_ACCEPT_CASE_INSENSITIVE_ENUMS

boolean

false

Defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names"). The value can be one of the one of the constants in com.fasterxml.jackson.databind.PropertyNamingStrategies, so for example, LOWER_CAMEL_CASE or UPPER_CAMEL_CASE.

The value can also be a fully qualified class name of a com.fasterxml.jackson.databind.PropertyNamingStrategy subclass.

Environment variable: QUARKUS_ROQ_JACKSON_PROPERTY_NAMING_STRATEGY

string