Quarkus Banner
Generate a FIGlet ASCII-art startup banner for your Quarkus application — rendered at build time from a piece of text and a font, and shown at start-up the same way Quarkus renders its own banner.
__ __ ____ _
| \/ |_ _ / ___| ___ _ ____ _(_) ___ ___
| |\/| | | | | \___ \ / _ \ '__\ \ / / |/ __/ _ \
| | | | |_| | ___) | __/ | \ V /| | (_| __/
|_| |_|\__, | |____/ \___|_| \_/ |_|\___\___|
|___/
Powered by Quarkus 3.x.x
How it works
At build time the extension renders your text into ASCII art with one of the ~250 bundled FIGlet fonts and
installs it as a TextBannerFormatter on the console log handler — the exact mechanism Quarkus uses for its
own banner. This means:
-
the banner appears as a header above the log output and honours your console format and colour settings;
-
Quarkus' built-in banner is replaced automatically (you do not need to set
quarkus.banner.enabled=false); -
if generation is disabled, or the text cannot be rendered, the default Quarkus banner is left untouched.
Unlike Quarkus' own banner, the generated banner is also shown when running tests.
|
Because the banner is baked at build time, changing the text or font requires a rebuild (or a live-reload in dev mode). |
Installation
To use this extension, add the io.quarkiverse.quarkus-banner:quarkus-banner dependency to your build file.
With Maven, add the following to your pom.xml:
<dependency>
<groupId>io.quarkiverse.quarkus-banner</groupId>
<artifactId>quarkus-banner</artifactId>
<version>1.0.0</version>
</dependency>
With Gradle, add the following to your build.gradle:
implementation("io.quarkiverse.quarkus-banner:quarkus-banner:1.0.0")
Usage
Configure the banner in your application.properties:
# The text to render (defaults to quarkus.application.name, or "Quarkus")
quarkus.banner-generator.text=My Service
# One of the bundled fonts (defaults to "standard")
quarkus.banner-generator.font=doom
The available configuration properties are listed in the Configuration Reference. All of them are fixed at build time.
Fonts
quarkus.banner-generator.font must be one of the 246 FIGlet fonts bundled with, and tested against, this
extension — for example standard, slant, doom, big, colossal, banner3-D or 3d_diagonal. The
value is matched to a font by name, case-insensitively.
Only bundled fonts are accepted; arbitrary classpath resources, file paths and remote URLs are intentionally not supported, and an unknown font name is reported as an error at build time, so typos are caught immediately.
The full list of bundled fonts and their authors is in the
FIGLET-FONTS.md file at the root of
the repository.
|
The bundled fonts originate from the FIGlet font collection and are authored by many individuals under varied
terms. Each font’s original header (including author credit) is preserved in the |
Dev mode
Quarkus' interactive dev console (quarkus:dev) repaints its pinned prompt and can erase the start-up banner
on narrow terminals. This affects Quarkus' own banner too, not just this extension.
If you want the banner to survive in dev mode regardless of terminal width, use the basic console for the dev profile only:
%dev.quarkus.console.basic=true
This has no effect in production — the interactive console only runs in dev and test modes.