Fedora editions are "versions" of Fedora that users can install. These include "official" editions (Workstation and Server at time of writing), but the ultimate goal in Websites is to also make Spins and Labs editions be considered "editions" in some form as far as websites are concerned. That is to say, we’d like to ultimately have Spins and Labs have a section on the main getfedora.org site, rendering https://spins.fedorparoject.org/ and https://labs.fedoraproject.org/ useless and able to be gotten rid of. Doing this effectively will take some time.
Also note that most of the content in this document applies to adding pages in
general, with the notable exception of the
release.yaml edits. Adding a page
to getfedora.org should follow largely the same process, though.
All new editions should be added to getfedora.org, to aid in our goal of getting
rid of all of the
Now then, all work in this document takes place in the repository in which
getfedora.org lives, and particularly
The first step is to edit
release.yaml, and add the relevant sections under
beta for your new edition. Use
templates. You might not need all variables that these existing sections have,
or you might need to add new ones, depending on your templates, but these blocks
should get you started.
main.py and go to near the bottom, where you’ll note a number of
export_route(…) calls. This method is a custom method defined earlier in the
file, which does a little bit of work for us: The first argument is an internal
identifier name, so that we can reference the page using
url_for safely (if
the URL changes, so will the URLs that get generated by
url_for). The second
argument is a path to the directory that contains the templates you’ll make, but
with a preceding and trailing
/. Follow the example of the other, currently
existing pages and add the appropriate
export_route calls at the end.
The templates themselves live in the
sites directory (under
sites/getfedora.org/ still). There are already templates started (but not
currently exported in
iot, at time
Every string you add must be enclosed in
You can copy the templates from the existing editions, if you need inspiration or help.
Once the above is done, the next step is get all the strings in the hands of the
Fedora Translations team. If you have an account on Fedora’s Zanata instance,
and are in the appropriate websites group on Zanata, and have a valid
~/.config/zanata.ini file, you can do this step yourself. Otherwise you’ll
either need to be added to the appropriate team or have someone do this for you:
./scripts/translations-source.sh. At the end of its output, it will give
you the Zanata command to push the strings up:
zanata push getfedora.org.pot
Largely, that is it. You’ve added variables that are easy to update each release
release.yaml), you’ve exported the pages, written your templates in a
translatable way, and pushed those strings to the Translations team. Now you can
sit back and relax while the translators do their thing. Their translations will
go live immediately (well, within an hour) and automatically.