2025-08-19 18:28:11 +03:00
static style changes 2025-08-19 17:54:49 +03:00
templates remove old commented code 2025-08-19 17:55:03 +03:00
.env.example add example files 2025-08-19 18:03:42 +03:00
.gitignore first version 2025-02-28 19:52:39 +03:00
app.py add an option to print theme entry in json 2025-08-19 18:27:15 +03:00
Caddyfile add example files 2025-08-19 18:03:42 +03:00
CHANGELOG.md bump to v1.1.1 2025-08-19 18:28:11 +03:00
config.json first version 2025-02-28 19:52:39 +03:00
constants.py include version information in frontend 2025-08-19 17:53:15 +03:00
functions.py don't lower passed text in slugify() 2025-08-19 17:55:42 +03:00
gunicorn.conf.py add gunicorn config 2025-02-28 19:59:43 +03:00
LICENSE Initial commit 2025-01-22 12:14:28 +00:00
README.md fix spacing issue + expand relative paths 2025-08-19 18:26:02 +03:00
requirements.txt first version 2025-02-28 19:52:39 +03:00
themes.json first version 2025-02-28 19:52:39 +03:00
TODO.md add changelog and todo 2025-08-19 18:04:57 +03:00
version.txt bump to v1.1.1 2025-08-19 18:28:11 +03:00

CatAsk Theme Store icon Theme Store

a theme store for CatAsk

Prerequisites

  • Python 3.10+ (3.12+ recommended)

Install

Clone this repository:

git clone https://codeberg.org/catask-org/theme-store.git

Go into the cloned repository, create a virtual environment and activate it:

Linux

python3 -m venv venv && . venv/bin/activate

Windows (PowerShell)

python -m venv venv; .\venv\Scripts\activate

After that, install required packages:

pip install -r requirements.txt

Post-install

Rename .env.example to .env, then configure all the values below:

APP_SECRET - application secret, generate one with this command: python3 -c 'import secrets; print(secrets.token_hex())'

Usage

Starting CTS

Start CTS with this command:

gunicorn -w 4 app:app

This command will start CTS at the 127.0.0.1:8000 address
If you want CTS to be accessible on a different host address, specify a --bind option to the command (e.g. --bind 127.0.0.1:5000)
For debugging, run flask run --debug

Adding themes

You can add themes with the flask add-theme command
For example:

flask add-theme --name "My theme" --author "John Doe" --created-at "2017-02-28 06:48:10" --preview-file "/home/user/Pictures/preview.png" --theme-file "/home/user/Documents/theme.css"

You can also use short arguments instead:

flask add-theme -n "My theme" -a "John Doe" -c "2017-02-28 06:48:10" -p "/home/user/Pictures/my_theme.png" -t "/home/user/Documents/mytheme.css"

Caddy

This repository contains an example Caddyfile that runs CTS on themes.example.com by reverse proxying it to 127.0.0.1:8000, you can modify it as needed

Changelog

Check CHANGELOG.md file for release notes