Skip to content

quarkusio/quarkusio.github.io

This branch is up to date with main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2b23014 · Apr 25, 2025
Mar 21, 2025
Nov 13, 2024
Apr 25, 2025
Apr 24, 2025
Apr 24, 2025
Apr 2, 2025
Apr 22, 2025
Nov 12, 2024
Apr 24, 2025
Dec 10, 2024
Feb 20, 2025
Apr 25, 2025
Apr 10, 2025
Apr 11, 2025
Jul 5, 2023
Apr 2, 2025
Mar 5, 2019
May 7, 2021
Feb 25, 2025
Sep 17, 2024
Dec 2, 2021
Mar 7, 2019
Apr 22, 2024
Nov 12, 2024
Mar 12, 2025
Nov 29, 2024
Nov 15, 2024
Apr 16, 2024
Jul 5, 2023
Nov 15, 2023
Jul 5, 2023
Mar 11, 2024
Jul 5, 2023
Jul 5, 2023
Feb 12, 2024
Jul 5, 2023
Jul 5, 2023
Dec 10, 2024
Apr 12, 2024
Jul 5, 2023
Jul 5, 2023
Jul 17, 2024
Jul 5, 2023
Nov 27, 2024
Jul 5, 2023
May 13, 2024
Jul 5, 2023
Aug 2, 2024
Jul 31, 2024
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Nov 14, 2024
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Oct 17, 2024
Jan 12, 2024
Jan 12, 2024
Jan 12, 2024
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Jul 5, 2023
Aug 27, 2024
Jul 5, 2023
Feb 4, 2025
Apr 2, 2025

Repository files navigation

Quarkus.io Website Based on Jekyll

Getting Started

These instructions will get you a copy of the Quarkus.io website up and running on your local machine for development and testing purposes.

Installation

Using Docker

  1. Install Docker Desktop.

  2. Fork the project repository, then clone your fork:

     git clone git@github.com:YOUR_USER_NAME/quarkusio.github.io.git
    
  3. Change into the project directory:

     cd quarkusio.github.io
    
  4. Run Docker Compose:

     docker compose up
    

    Note: The startup process may take several minutes, depending on your system. During this time, you might see logs with warnings or configuration messages (e.g., AutoPages and asciidoctor warnings). This is normal behavior as Jekyll builds the site. Once the server is running, you will see output like this:

    jekyll-1  |   Server address: http://0.0.0.0:4000/
    jekyll-1  |   Server running... press ctrl-c to stop.
    

    If any error occurs mentioning a name conflict, try:

     docker compose up --force-recreate
    
  5. Now browse to http://localhost:4000.

Using a local Ruby environment

Jekyll static site generator docs.

  1. Install a full Ruby development environment. If you use rvm, run: rvm use 3.2.3.

  2. Install bundler gems

     gem install bundler
    
  3. Fork the project repository, then clone your fork.

     git clone git@github.com:YOUR_USER_NAME/quarkusio.github.io.git
    
  4. Change into the project directory:

     cd quarkusio.github.io
    
  5. Use bundler to fetch all required gems in their respective versions

     bundle install
    
  6. Build the site and make it available on a local server

     ./serve.sh
    

    Or if you want it faster and okay to not have guides included use the following:

     ./serve-noguides.sh
    
  7. Now browse to http://localhost:4000

If you encounter any unexpected errors during the above, please refer to the troubleshooting page or the requirements page, as you might be missing development headers or other prerequisites.

For more regarding the use of Jekyll, please refer to the Jekyll Step by Step Tutorial.

Deploying to GitHub Pages

The website deployment is automatically performed by GitHub Actions (when commits are pushed to the main branch). If for some reason you need to deploy from your local machine, follow these instructions:

  1. Install the act executable to run GitHub Actions locally
  2. Run act -s GITHUB_TOKEN=<GITHUB_TOKEN>, where <GITHUB_TOKEN> needs to be replaced with a token that allows you to push to the https://github.com/quarkusio/quarkusio.github.io repository.

Writing a blog

NOTE: Using generative AI in assisting writing is fine, but please don't use it to write entire posts. Used badly, generative AI has a tendency to use complex words and phrasing. This makes the content hard to read and understand. Always review your blog with a human reader in mind, make sure it's factually correct and especially keep the human touch and opinions in the content.

To write a blog:

  • create an author entry in _data/authors.yaml

    • emailhash you can get by running echo -n your@email.org | md5sum on Linux or echo -n your@email.org | md5 on macOS using an email you have registered from the Gravatar service,
  • create an blog entry under _posts

    • the file name is yyyy-mm-dd-slug.adoc Set the date to the same value in the asciidoc preamble.
  • tags should be used with some care as an archive page is created for of them. Below are some basic rules to try follow:

    • quarkus-release used for Quarkus release blogs
    • announcement used for general announcement with some impact.
    • extension used for blogs related to a specific extension.
    • user-story used for stories from users/companies adopting Quarkus.
    • development-tips used for blogs with tips to develop using Quarkus or Quarkus itself.
    • add a tech specific, like kafka, if your post has a significant mention/relevance to that technology.
    • tags is space separated list tags:extension grpc
    • tags must be in lowercase
  • it's in asciidoc format, there is an example as shown with 2019-06-05-quarkus-and-web-ui-development-mode.adoc

    • Be aware that the date attribute in the asciidoc preamble defines when the article will be published. Add a --future flag when testing locally to ensure the article is included in the generated site.
  • send a pull request against the main branch and voilà

Translations/Localization (l10n)

The primary site (quarkus.io) is written in English.

There are separate repositories for community driven localized versions of quarkus.io:

If you want to contribute to those efforts read the README in those projects. If you would like to start another translation, please open an issue in this main repo.

Enable DNS for l10n site

Once a localized site has enough of its content translated, DNS needs to be enabled. To do that get one of the Red Hat admins to submit a ticket to IT asking for XX domain:

We need a CNAME record set up for XX.quarkus.io to have it serve out GitHub pages. 

The CNAME record for XX.quarkus.io should point to "quarkusio.github.io.".

See Step 5 on https://docs.github.com/en/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site for more information.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Important: the guides are maintained in the main Quarkus repository and pull requests should be submitted there: https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc.

License

This website is licensed under the Creative Commons Attribution 3.0.