Getting Set Up
However, it should be able to be built on Fedora 30, using Python 2 packages, for now.
Note, the dependencies below may not currently resolve due to package renaming
in Fedora 30. If the dependencies do not resolve in Fedora 30, running Flask
from a Fedora 29 container is an alternative. An example to run the Fedora 29
podman is as follows:
# Expose the default port for Flask, 5000. podman run --expose 5000 --net=host --privileged -v /path/to/websites/repo:/path/to/websites/repo -ti registry.fedoraproject.org/fedora:29
That said, assuming Fedora 30, install the dependencies as follows :
dnf install \ git \ python-flask \ python-frozen-flask \ python-flask-assets \ python-rjsmin \ python-cssmin \ python-flask-babel \ python-flask-htmlmin \ python-cssutils \ rubygem-sass \ babel \ python3-jinja2 \ python-pyyaml \ python-dateutil \ python-dogpile-cache \ python-requests \ python-zanata-client
Now we need to pull the current translations. After installing the dependencies
above, you can
sites/getfedora.org/ and run:
Once the dependencies are installed and translations are pulled, you can do one of two things:
One option is to use the Flask built-in development server. This is handy because it prevents you from needing to build the websites every time you change something. However, it bypasses the Frozen-Flask system which creates are static sites, entirely, so it’s not entirely an accurate representation of what goes live.
To use the development server:
export FLASK_APP=main.py flask run --reload
Now you many visit http://localhost:5000/ to get to the site.
Alternatively, you may simply run
python main.py. You’ll get a statically
built site in the
./build/ directory. However, the HTML files are all
language-code-suffixed as Apache/httpd MultiViews system expects
index.html.en). As a result you cannot just run a simple HTTP server
python -m SimpleHTTPServer) in the
./build/ directory, unfortunately.
You can, however, set up an Apache on your system, and point it to the
(We should probably add an example Apache config here at some point).