Web catalog of apps and games for Firefly Zero hosted at catalog.fireflyzero.com.
- Install task
- Run
task
- Open the generated page:
firefox ./public/index.html
Things you should know:
- You don't have to add your app into the catalog. You can distribute your app in any other way (like through itch.io) and people can install it without a problem.
- The app should feel finished and polished.
- It's ok if the app is not a game.
- The app must not be hateful or offensive.
- The app must be suitable for all ages.
How to:
- Add a new author in authors.
- Add the app in apps.
- Submit a Pull Request.
Each app is a separate YAML file in the apps directory. The file name must be a dot-separated author ID and app ID with .yaml
extension. Each app has the following fields:
name
: The app title. Must be the same as infirefly.toml
of your app.short
: The short description (140 characters tops) of the app. It is displayed in the list of apps in the catalog.desc
: The detailed description of the app. Can use Markdown syntax.added
: The date when the app is added in the catalog. Put today's date. Format:2023-12-31
.download
: The link to the app download. If the app is freely available, it can be a direct link to the zip file. In that case, the app will also be installable by the firefly-cli. Otherwise, it can be a link to the app page where the app can be bought.links
(optional): a mapping of additional links for the app. The key is the text to show on the button and the value is the URL. You can link there the app home page, source code, other catalogs, Mastodon account, etc.icon
(optional): a font-awesome icon to display for the app in the list of apps next to the title.
Each author is a separate YAML file in the authors directory. The file name must be the author ID with .yaml
extension. Each author has the following fields:
name
: The author's name.pronouns
(optional): The author's pronoun. For example,he/him
,she/her
,they/them
, etc. If that's a team of people, the pronoun is naturallythey/them
.links
: A mapping of links to author's profiles. The key is the text to display on the button and the value is the URL. Should contain at least one link. It may lead to Github, itch.io, Mastodon, Patreon, etc.short
: A short intro. Displayed in the list of authors.about
(optional): A longer description of the authored works, passions, etc.
- We generate web pages using a custom Python script.
- The template engine is Jinja2.
- The data is stored in YAML files.
- For CSS styling, we use Bootstrap. It's a bit fat (36 KB compressed) and requires divs in divs but nice looking, easy to use, and does not require using the fat NPM ecosystem.
- For icons, we use FontAwesome.