These instructions will get you a copy of the Quarkus.io website up and running on your local machine for development and testing purposes.
Jekyll static site generator docs.
-
Install a full Ruby development environment. If you use
rvm
, run:rvm use 2.7.1
. -
gem install bundler
-
Fork the project repository, then clone your fork.
git clone git@github.com:YOUR_USER_NAME/quarkusio.github.io.git
-
Change into the project directory:
cd quarkusio.github.io
-
Use bundler to fetch all required gems in their respective versions
bundle install
-
Build the site and make it available on a local server
./serve.sh
Or if you want it faster and okey to not have guides included use the following:
./serve-noguides.sh
-
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.
The website deployment is automatically performed by GitHub Actions (when commits are pushed to the develop
branch).
If for some reason you need to deploy from your local machine, follow these instructions:
- Install the act executable to run GitHub Actions locally
- 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.
To write a blog:
-
create an author entry in _data/authors.yaml
emailhash
you can get by runningecho -n your@email.org | md5sum
on Linux orecho -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.
- the file name is
-
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 blogsannouncement
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.
- Be aware that the
-
send a pull request against the develop branch and voilà
The primary site (quarkus.io) is written in English.
There are separate repositories for community driven localized versions of quarkus.io:
- ja.quarkus.io for Japanese
- cn.quarkus.io for Chinese (simplified)
- es.quarkus.io for Spanish
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.
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.
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.
This website is licensed under the Creative Commons Attribution 3.0.