This repository contains the source code for the AlmaLinux website at https://almalinux.org.
The site is built using the Hugo static site generator.
We welcome contributions for website updates, design improvements, and translations. Please follow the specific instructions provided for each contribution type:
- For blog content, see Contributing - Blog Posts
- For code or design improvements, see Contributing - Code and Design
- For translations, see Contributing - Translations
All development for the AlmaLinux website happens through this repository on GitHub.
Clear and detailed bug reports are incredibly valuable. A bug is a reproducible problem affecting the code or site functionality.
Please check the GitHub issues to see if your issue has already been reported. A good bug report should include as many details as possible to avoid unnecessary follow-ups.
- Search existing issues to see if the feature has already been requested. If so, give it a thumbs up or +1.
- If no similar request exists, open a new issue. Please clearly explain why the feature is needed and provide a detailed use case.
Before submitting code changes, please check if there are any open issues or pull requests that cover your proposal. If not, open an issue with a brief description and discuss it with the Marketing SIG first.
This helps avoid duplicated work and ensures proposed changes align with project goals.
For smaller contributions, follow this workflow:
- Create an issue describing your changes.
- Await confirmation from contributors.
- Fork the project.
- Create a new branch for your feature or bug fix.
- Add your code, documentation, etc.
- Submit a pull request (PR). All PRs should target the
main
branch. Once approved, a development site will automatically generate based on the PR.
After review and approval, the changes will be merged into the main
branch and deployed to the live site.
To set up a local development environment, you need the following installed:
- Hugo
Run hugo server
to start a near-production local development instance.
Localization is important! Please include proper localization formatting in your PR. After formatting, run find_missing_i18n_strings.py
and setup-pages-for-supported-languages.py
, then commit the changes. If you encounter issues with these scripts, please open an issue with details.
To use a container-based development environment, install Docker and use an editor supporting the devcontainer standard. Details can be found in the README.
/layouts/
— Hugo HTML templates/layouts/partial
— Shared templates (header, footer, etc.)/i18n/
— Localization and translation files/static/
— Static files/content/
— Markdown content for site pagesconfig.yaml
— Hugo configurationfind_missing_i18n_strings.py
— Detects untranslated strings ini18n/en.json
setup-pages-for-supported-languages.py
— Creates placeholder markdown pages for missing languages
AlmaLinux.org translations are managed on Weblate. To contribute, join the AlmaLinux project on Weblate. Submissions through Weblate generate automated PRs to this repo, which are reviewed and merged by the Marketing SIG or another team lead.
For translation guidelines, see our Wiki.
To request a new language, open an issue in GitHub issues.
- Minor or cosmetic changes (typos, small style tweaks) can be reviewed and approved by any contributor with merge rights.
- Non-cosmetic changes require approval from the Marketing Lead.
- Weblate automatically submits PRs for translated strings; these are reviewed and merged by the Marketing SIG or team leads.