This repository contains website source code for https://almalinux.org.
This website is built with the Hugo web framework.
We welcome contributions to the website in the form of website updates and design improvements, as well as translations. We've provided specific instructions on how to contribute for each part of the website.
- Blog content, please see Contributing - Blog Posts
- Help with our Hugo implementation or design improvements, please see Contributing - Code and Design
- To help with translations, please see Contributing - Translations
All of the development of the AlmaLinux website is done through this repo on GitHub.
Good bug reports can be very helpful. A bug is a demonstrable problem with the code or functionality.
Please use the GitHub issues and check if the issue has already been reported. A good bug report should be as detailed as possible, so that others won't have to follow up for the essential details.
- Search the issues for any open requests for the same feature, and give a thumbs up or +1 on existing requests.
- If no previous requests exist, create a new issue. Please be as clear as possible about why the feature is needed and the intended use case.
If you plan to propose code changes, please first confirm that there are no open issues or pull requests that match your proposal, and then open an issue with a brief proposal and discuss it with the Marketing SIG first.
This is necessary to avoid more than one contributor working on the same feature/change and to avoid someone from spending time on feature/change that would not be merged for any reason.
For smaller contributions use this workflow:
- Create an issue describing the changes.
- Await confirmation from contributors.
- Fork the project.
- Create a branch for your feature or bug fix.
- Add code changes, relevant documentation, etc.
- Send a pull request. All PRs should be made against the
master
branch. Once your pull PR is approved, a dev site will be automatically created based on the PR.
After one of the contributors has checked and approved the changes, they will be merged into master branch and will be automatically deployed to the live site.
To deploy local development environment, you will need following dependencies installed on your development host:
- hugo
Executing hugo server
will deploy a nearly complete, ready to go local development environment.
Localization is important to us, and including localization formatting in your PR will be required. After you have formatted your text correctly, please run find_missing_i18n_strings.py
and setup-pages-for-supported-languages.py
, and then commit the changes to your branch. If you notice any issues with this script, please create an issue with details about the problem.
/layouts/
- Hugo HTML templates/layouts/partial
- commonly used template such as header and footer/i18n/
- Localization files and translations/static/
- static files/content/
- Markdown content for pagesconfig.yaml
- Hugo configfind_missing_i18n_strings.py
- find strings used in layouts/templates which do not exist in the base language filei18n/en.json
setup-pages-for-supported-languages.py
- create missing markdown pages for languages which do not exist. By default Hugo will return 404 for markdown content without localized pages. This script copies the English markdown to be served when translated copies are missing.
almaLinux.org localization and translation is managed using Weblate. To contribute translations join the AlmaLinux localization project in Weblate. Translations submitted through Weblate are automatically submitted to this repo as a pull request. Those pull requests are then reviewed by a member of the marketing SIG or another team lead, and merged as appropriate.
You can request new languages to be added by creating a ticket in GitHub issues.
Before any changes can be merged:
- All minor or cosmetic changes (typos, minor styling, etc) can be reviewed and approved by any contributor with merge rights
- All non-cosmetic changes to the website requires the approval of the Marketing lead
- Weblate automatically creates pull requests with new translated strings. Those pull requests are then reviewed by a member of the marketing SIG or another team lead, and merged as appropriate.