diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml
deleted file mode 100644
index e31d81c..0000000
--- a/.github/workflows/jekyll-gh-pages.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-# Sample workflow for building and deploying a Jekyll site to GitHub Pages
-name: Deploy Jekyll with GitHub Pages dependencies preinstalled
-
-on:
- # Runs on pushes targeting the default branch
- push:
- branches: ["main"]
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
-
-# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
-# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
-concurrency:
- group: "pages"
- cancel-in-progress: false
-
-jobs:
- # Build job
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Setup Pages
- uses: actions/configure-pages@v5
- - name: Build with Jekyll
- uses: actions/jekyll-build-pages@v1
- with:
- source: ./
- destination: ./_site
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v3
-
- # Deployment job
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- needs: build
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..ed77ab4
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,148 @@
+name: Main CI/CD
+
+on:
+ push:
+ branches: ["main"]
+ pull_request:
+ paths:
+ - 'themes/*.theme'
+ schedule:
+ - cron: "0 * * * *" # Popularity update every hour
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pages: write
+ id-token: write
+ discussions: read
+
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ count-themes:
+ runs-on: ubuntu-latest
+ if: github.ref == 'refs/heads/main'
+ steps:
+ - uses: actions/checkout@v5
+
+ - name: Count unique themes
+ run: |
+ # Count unique theme families (remove -v* version suffix only)
+ UNIQUE=$(find ./themes/ -type f -name '*.theme' | \
+ sed 's|.*/SxC_||; s|\.theme||; s|-v[0-9].*||' | \
+ sort -u | wc -l)
+
+ echo "Unique themes: $UNIQUE"
+
+ if grep -q "Themes count:" README.md; then
+ sed -i "s/# Themes count: .*/# Themes count: $UNIQUE/" README.md
+ fi
+
+ - name: Commit updated count
+ run: |
+ git config --global user.name "oSoWoSo-bot"
+ git config --global user.email "osowoso@disroot.org"
+ if git diff --exit-code HEAD -- README.md 2>/dev/null; then
+ echo "No changes to commit."
+ else
+ git add README.md
+ git commit -m "Update theme count"
+ git push
+ fi
+
+ validate-theme:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
+
+ - name: Validate theme files
+ run: |
+ for theme_file in themes/*.theme; do
+ echo "Validating $theme_file..."
+ if ! grep -q 'base:' "$theme_file"; then
+ echo "Error: $theme_file missing 'base:' field"
+ exit 1
+ fi
+ required_colors=("accent" "background" "menus")
+ for color in "${required_colors[@]}"; do
+ if ! grep -q "$color:" "$theme_file"; then
+ echo "Warning: $theme_file missing '$color:' field"
+ fi
+ done
+ echo "$theme_file is valid"
+ done
+ echo "All theme files validated successfully!"
+
+ - name: Check screenshots exist
+ run: |
+ themes=$(find themes -name '*.theme' -exec basename {} .theme \;)
+ for theme in $themes; do
+ if ! ls screenshots/SxC_${theme}*.jpg 1>/dev/null 2>&1; then
+ echo "Warning: No screenshots found for $theme"
+ fi
+ done
+
+ build:
+ runs-on: ubuntu-latest
+ needs: [count-themes, validate-theme]
+ if: always() && (needs.count-themes.result == 'success' || needs.count-themes.result == 'skipped') && (needs.validate-theme.result == 'success' || needs.validate-theme.result == 'skipped')
+ steps:
+ - uses: actions/checkout@v5
+
+ - name: Setup Pages
+ uses: actions/configure-pages@v5
+
+ - name: Build with Jekyll
+ uses: actions/jekyll-build-pages@v4
+ with:
+ source: ./
+ destination: ./_site
+
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v4
+
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ if: github.ref == 'refs/heads/main'
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
+
+ generate-popularity:
+ runs-on: ubuntu-latest
+ if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 22
+
+ - name: Install dependencies
+ run: npm install @octokit/graphql
+
+ - name: Generate popularity
+ run: node scripts/generate-popularity.js
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Commit updated stats
+ run: |
+ git config user.name github-actions
+ git config user.email github-actions@github.com
+ git add data/popular.json
+ git diff --cached --quiet && exit 0
+ git commit -m "Update popularity stats"
+ git push
diff --git a/CNAME b/CNAME
new file mode 100644
index 0000000..30a438b
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+themes.osowoso.org
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..3888986
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,100 @@
+# Contributing to SimpleX Themes
+
+Thank you for your interest in contributing a theme! This guide will help you add a new theme to the repository.
+
+## Ways to Contribute
+
+### 1. GitHub Pull Request (Recommended)
+
+1. Fork the repository
+2. Create a new branch: `git checkout -b add-theme-name`
+3. Add your theme file to `themes/` directory
+4. Add 4 screenshots to `screenshots/` directory
+5. Generate the index.md file using the automation script
+6. Update README.md to include your theme
+7. Submit a pull request
+
+### 2. Send a Patch by Email
+
+See [git-send-email.io](https://git-send-email.io/) for instructions.
+
+### 3. Manual Upload
+
+1. Create your theme in the SimpleX Chat app
+2. Export your theme to a file
+3. Join the SimpleX Themes group and upload your theme
+
+## Theme File Requirements
+
+### Naming Convention
+
+Theme files should follow this pattern:
+- `SxC_themeName.theme` (e.g., `SxC_myTheme.theme`)
+- Use underscores instead of spaces
+- Maximum length: 50 characters for the theme name
+
+### Theme File Format
+
+```yaml
+base: "BLACK" # or "WHITE"
+colors:
+ accent: "#ffa698b4"
+ accentVariant: "#ff584858"
+ secondary: "#ffecece1"
+ secondaryVariant: "#ff9c6e9c"
+ background: "#ff180818"
+ menus: "#ff281028"
+ title: "#ff807088"
+ accentVariant2: "#ff98a8a8"
+ sentMessage: "#e5503858"
+ sentReply: "#ff281028"
+ receivedMessage: "#e287758b"
+ receivedReply: "#ff3e293e"
+wallpaper:
+ scale: 1.0
+ scaleType: "fill"
+ background: "#ff070707"
+ tint: "#00ffffff"
+```
+
+## Automating Theme Addition
+
+We've created a script to help automate adding new themes:
+
+```bash
+python3 scripts/add_theme.py themes/SxC_yourTheme.theme
+```
+
+This script will:
+- Validate your theme file format
+- Generate the `resources/SxC_yourTheme_index.md` file
+- Provide instructions for the next steps
+
+### Screenshot Requirements
+
+Each theme needs 4 screenshots (JPG format, 120px width in the index):
+
+**Naming patterns supported:**
+- `SxC_themeName01.jpg`, `SxC_themeName02.jpg`, etc.
+- `SxC_themeName-v101.jpg`, `SxC_themeName-v102.jpg`, etc.
+
+### Taking Screenshots
+
+To take screenshots for your theme:
+
+1. **Android Emulator**: Use the built-in screen recording or take screenshots
+2. **Physical Device**: Use your device's screenshot functionality
+3. **SimpleX Chat**: Navigate through the app to capture all color variations
+
+## Theme Validation
+
+When you submit a pull request, our GitHub Actions workflow will automatically:
+
+- Validate that theme files have the required `base:` field
+- Check for required color fields
+- Verify that screenshots exist for new themes
+
+## Need Help?
+
+- Join the [SimpleX Themes group](https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FjwFqICow91mcVNxBF2GXXF5Uq4H27goC%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAOYs_RwIB67iDC_ORPmBpp-oED4Ric3oYkID4kdkMdGs%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22jpatHRdLkjwNmbWBc-VWcg%3D%3D%22%7D) for support
+- Open an issue on GitHub if you encounter problems
diff --git a/PLAN-giscus-popularity.md b/PLAN-giscus-popularity.md
new file mode 100644
index 0000000..de68816
--- /dev/null
+++ b/PLAN-giscus-popularity.md
@@ -0,0 +1,130 @@
+# Plán implementace Giscus + Popularity
+
+## Shrnutí
+
+Tento dokument popisuje kroky pro přidání Giscus podpory pro komentáře a hodnocení u každého tématu, plus systém popularity tracking.
+
+---
+
+## 1. GitHub konfigurace (vyžaduje tvou akci)
+
+### 1.1 Zapni Discussions
+1. Jdi na https://github.com/oSoWoSo/SimpleX-Themes/settings
+2. V sekci "Features" zaškrtni "Discussions"
+
+### 1.2 Nainstaluj Giscus
+1. Jdi na https://giscus.app
+2. Klikni "Install" a autorizuj pro repozitář
+
+### 1.3 Vytvoř Discussions kategorii
+1. V repozitáři jdi na Discussions
+2. Edit categories → New category
+3. Jméno: `Themes`
+4. Slug: `themes`
+5. Emoji: 🎨
+
+### 1.4 Získej Giscus IDs
+1. Jdi na https://giscus.app/config
+2. Vyplň repo: `oSoWoSo/SimpleX-Themes`
+3. Vyber kategorii "Themes"
+4. Zkopíruj `data-repo-id` a `data-category-id`
+
+### 1.5 Aktualizuj _config.yml
+Přidej do `_config.yml`:
+```yaml
+giscus:
+ repo_id: "R_kgDOG..."
+ category: "Themes"
+ category_id: "DIC_kwDOF..."
+```
+
+---
+
+## 2. Vytvoř témata v Discussions
+
+Pro každé téma vytvoř discussion:
+
+```
+Title: [Theme] Nightshade
+Body:
+# Nightshade
+
+Theme discussion, reactions and popularity tracking.
+
+Theme file: themes/SxC_Nightshade.theme
+```
+
+Zapiš si číslo discussion pro každé téma do `data/themes.json`.
+
+---
+
+## 3. Aktualizuj data/themes.json
+
+Nahraď ukázkové údaje skutečnými čísly discussions:
+
+```json
+[
+ {
+ "id": "nightshade",
+ "name": "Nightshade",
+ "discussion": 1
+ }
+ // ... další témata
+]
+```
+
+---
+
+## 4. Spusť popularity workflow
+
+1. Jdi na Actions → Generate popularity
+2. Klikni "Run workflow"
+3. Workflow stáhne reaction data z každé discussion
+4. Vytvoří `data/popular.json`
+
+---
+
+## 5. Frontend integration
+
+### 5.1 Giscus na stránce tématu
+V layout souboru přidej:
+```liquid
+{% include giscus.html %}
+```
+
+A v front matter každého tématu:
+```yaml
+---
+giscus: nightshade
+---
+```
+
+### 5.2 Zobrazení popularity
+Přidej sekci pro zobrazení like/heart/rocket/comment count na stránce tématu.
+
+---
+
+## 6. Cron aktualizace
+
+Workflow běží každou hodinu a aktualizuje popularity data.
+
+---
+
+## Soubory k dispozici
+
+Vytvořené soubory:
+- `data/themes.json` - mapování témat na discussions
+- `.github/workflows/popularity.yml` - GitHub Action
+- `scripts/generate-popularity.js` - generátor popularity
+- `_includes/giscus.html` - Giscus embed
+
+---
+
+## Další vylepšení (budoucí)
+
+- Weekly rankings
+- Recommendation engine
+- "Theme of the week"
+- User collections
+- RSS feeds
+- Popularity grafy
\ No newline at end of file
diff --git a/README.md b/README.md
index 6f27d7a..416d552 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,21 @@

+[website](https://themes.osowoso.org)
+
+# Themes count: 82
+
You can submit your themes to the repository by joining the [SimpleX Themes group](https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FjwFqICow91mcVNxBF2GXXF5Uq4H27goC%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAOYs_RwIB67iDC_ORPmBpp-oED4Ric3oYkID4kdkMdGs%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22jpatHRdLkjwNmbWBc-VWcg%3D%3D%22%7D) and uploading your theme file.
## How to contribute a theme
+### GitHub PR - easiest for us
+Look for other theme files in repository
+create PR through github
+
+### Send patch by email
+[How to](https://git-send-email.io/)
+
+### Manual
1. Create your theme in the SimpleX Chat app.
2. Export your theme to file and give it a descriptive name in the following format – e.g., `SxC_themeName.theme`. If your theme name has a space, use an underscore (_) — e.g., `SxC_theme_name.theme`
3. Join the [SimpleX Themes group](https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALR%40smp5.simplex.im%2FjwFqICow91mcVNxBF2GXXF5Uq4H27goC%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAOYs_RwIB67iDC_ORPmBpp-oED4Ric3oYkID4kdkMdGs%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22jpatHRdLkjwNmbWBc-VWcg%3D%3D%22%7D)
@@ -15,36 +27,37 @@ Your theme file will be transferred to the Theme Archive and made available for
Click a theme name to view screenshots and download:
-| | | |
-|:---------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------:|
-| 
[AMOLED Black v1](./resources/SxC_AMOLEDblack-v1_index.md) | 
[2024 XMR SimpleX](./resources/SxC_2024XMRSimpleX_index.md) | 
[AMOLED Black v2](./resources/SxC_AMOLEDblackV2_index.md) |
-| 
[Aurora Sunset](./resources/SxC_auroraSunset_index.md) 🆕 | 
[Bad Witch Lite](./resources/SxC_BadWitchLite_index.md) 🆕 | 
[Banana Split](./resources/SxC_bananaSplit_index.md) |
-| 
[Bat Phone](./resources/SxC_batPhone_index.md) | 
[Binary](./resources/SxC_binary_index.md) | 
[Black Green](./resources/SxC_blackGreen_index.md) |
-| 
[Black Sand](./resources/SxC_blackSand_index.md) | 
[Blue](./resources/SxC_blue_index.md) | 
[Camo Cobalt](./resources/SxC_camoCobalt_index.md) |
-| 
[Camo Green v1](./resources/SxC_camoGreen-v1_index.md) | 
[Camo Green v1.5](./resources/SxC_camoGreen-v1_index.md) | 
[Camo Green v2](./resources/SxC_camoGreen-v2_index.md) |
-| 
[Camo Urban](./resources/SxC_camoUrban_index.md) | 
[Cassini Midnight](./resources/SxC_cassiniMidnight_index.md.) | 
[Cat](./resources/SxC_cat_index.md) |
-| 
[Catppuccin Frappe](./resources/SxC_catppuccinFrappe_index.md) | 
[Catppuccin Latte](./resources/SxC_catppuccinLatte_index.md) | 
[Catppuccin Macchiato](./resources/SxC_catppuccinMacchiato_index.md) |
-| 
[Catppuccin Mocha v1](./resources/SxC_catppuccinMocha-v1_index.md) | 
[Catppuccin Mocha v2](./resources/SxC_catppuccinMocha-vSxC_catppuccinMocha-v2_index.md) | 
[CPN Hacking v1](./resources/SxC_CPN_Hacking-v1_index.md) |
-| 
[CPN Hacking v2](./resources/SxC_CPN_Hacking-v2_index.md) | 
[CPN iMessage v1](./resources/SxC_CPN_iMessage-v1_index.md) | 
[CPN iMessage v2](./resources/SxC_CPN_iMessage-v2_index.md) |
-| 
[CPN Synthwave v1](./resources/SxC_CPN_synthwave_index.md) | 
[CPN Vaporwave ](./resources/SxC_CPN_vaporwave_index.md) | 
[Cyan](./resources/SxC_cyan_index.md) |
-| 
[Dark](./resources/SxC_dark_index.md) | 
[Dark Blue & Gold](./resources/SxC_darkBlueGold_index.md) | 
[Dark Green](./resources/SxC_darkGreen_index.md) |
-| 
[Double Trouble](./resources/SxC_doubleTrouble_index.md) | 
[Dracula](./resources/SxC_dracula_index.md) | 
[Dusk](./resources/SxC_dusk_index.md) |
-| 
[Dusk v2](./resources/SxC_dusk-v2_index.md) | 
[Electric Blue](./resources/SxC_electricBlue_index.md) | 
[Girly](./resources/SxC_girly_index.md) |
-| 
[Good SimpleX](./resources/SxC_goodSimplex_index.md) | 
[GR8est MNSTRS](./resources/SxC_GR8estMNSTRS_index.md) | 
[Green Night v1](./resources/SxC_greenNight-v1_index.md) |
-| 
[Green Plus v1](./resources/SxC_greenPlus-v1_index.md) | 
[Green Plus v1.5](./resources/SxC_greenPlus-v1_5_index.md) | 
[Green v1](./resources/SxC_green-v1_index.md) |
-| 
[Green v2](./resources/SxC_green-v2_index.md) | 
[Greymatters](./resources/SxC_greymatters_index.md) | 
[Hot Dog](./resources/SxC_hotdog_index.md) |
-| 
[IT Slate](./resources/SxC_IT_Slate_index.md) | 
[Japane Sea](./resources/SxC_japaneSea_index.md) | 
[Joker](./resources/SxC_joker_index.md) |
-| 
[Lazy Sunday](./resources/SxC_lazySunday_index.md) | 
[Leaves](./resources/SxC_leaves_index.md) | 
[Light](./resources/SxC_light_index.md) |
-| 
[Lobster](./resources/SxC_Lobster_index.md) | 
[Mocca](./resources/SxC_mocca_index.md) | 
[Mona Lisa](./resources/SxC_monaLisa_index.md) |
-| 
[Moss Noir](./resources/SxC_mossNoir_index.md) | 
[Nightshade Transparent v1.5](./resources/SxC_NightshadeTransparent-v1_5_index.md) | 
[Nightshade Transparent v2](./resources/SxC_NightshadeTransparent-v2_index.md) |
-| 
[Nightshade](./resources/SxC_Nightshade_index.md) | 
[Nightshade v1.5](./resources/SxC_Nightshade-v1_5_index.md) | 
[Nightshade v2](./resources/SxC_Nightshade-v2_index.md) |
-| 
[Nightshade v2.1](./resources/SxC_Nightshade-v2_1_index.md) | 
[Nightshade v2.2](./resources/SxC_Nightshade-v2_2_index.md) | 
[Nightshade v2.3](./resources/SxC_Nightshade-v2_3_index.md) |
-| 
[Nightswatch v2](./resources/SxC_nightswatch-v2_index.md) | 
[Nightswatch v3](./resources/SxC_nightswatch-v3_index.md) | 
[No AMOLED](./resources/SxC_noAMOLED_index.md) |
-| 
[Nurse Xochitl](./resources/SxC_nurseXochitl_index.md) | 
[Pink Panther](./resources/SxC_pinkPanther_index.md) | 
[PsychedeRick](./resources/SxC_psychedeRick_index.md) |
-| 
[Purple](./resources/SxC_purple_index.md) | 
[Radical Squadron-Razor](./resources/SxC_RadicalSquadron-Razor_index.md) 🆕 | 
[Ralph Wrecks SimpleX](./resources/SxC_RalphWrecksSimpleX_index.md) 🆕 |
-| 
[Random](./resources/SxC_random_index.md) | 
[Red](./resources/SxC_red_index.md) | 
[Sandy Symphony v1](./resources/SxC_sandySymphony-v1_index.md) |
-| 
[Sandy Symphony v2](./resources/SxC_sandySymphony-v2_index.md) | 
[Session Dark](./resources/SxC_SessionDark_index.md) | 
[SimpleX Default](./resources/SxC_simplexDefault_index.md) |
-| 
[Smurf](./resources/SxC_smurf_index.md) | 
[Solarized Darkish](./resources/SxC_solarizedDarkish_index.md) | 
[The Shinning v1](./resources/SxC_The_Shining-v1_index.md) |
-| 
[The Shinning v2](./resources/SxC_The_Shining-v2_index.md) | 
[Totoro-ify](./resources/SxC_Totoro-ify_index.md) | 
[WhatsApp Dark](./resources/SxC_whatsappDark_index.md) |
-| 
[WhatsApp Green v1](./resources/SxC_whatsappGreen-v1_index.md) | 
[WhatsApp Green v2](./resources/SxC_whatsappGreen-v2_index.md) | 
[WhatsApp Light v3](./resources/SxC_whatsappLight-v3_index.md) |
-| 
[Xochitl](./resources/SxC_xochitl_index.md) | 
[Yellow](./resources/SxC_yellow_index.md) | |
\ No newline at end of file
+| | | |
+|:---:|:---:|:---:|
+| 
[2024 XMR SimpleX](resources/SxC_2024XMRSimpleX_index.md) | 
[3aRule](resources/SxC_3aRule_index.md) | 
[adaidasBlyat](resources/SxC_adaidasBlyat_index.md) |
+| 
[AMOLED Black v1](resources/SxC_AMOLEDblack-v1_index.md) | 
[AMOLED Black v2](resources/SxC_AMOLEDblackV2_index.md) | 
[Aurora Sunset](resources/SxC_auroraSunset_index.md) |
+| 
[Bad Witch Lite](resources/SxC_BadWitchLite_index.md) | 
[Banana Split](resources/SxC_bananaSplit_index.md) | 
[Bat Phone](resources/SxC_batPhone_index.md) |
+| 
[berserk_1.0](resources/SxC_berserk_1.0_index.md) | 
[Binary](resources/SxC_binary_index.md) | 
[Black Green](resources/SxC_blackGreen_index.md) |
+| 
[Black Sand](resources/SxC_blackSand_index.md) | 
[Blue](resources/SxC_blue_index.md) | 
[Camo Cobalt](resources/SxC_camoCobalt_index.md) |
+| 
[Camo Green v2](resources/SxC_camoGreen-v2_index.md) | 
[Camo Urban](resources/SxC_camoUrban_index.md) | 
[Cassini Midnight](resources/SxC_cassiniMidnight_index.md) |
+| 
[Cat](resources/SxC_cat_index.md) | 
[Catppuccin Frappe](resources/SxC_catppuccinFrappe_index.md) | 
[Catppuccin Latte](resources/SxC_catppuccinLatte_index.md) |
+| 
[Catppuccin Macchiato](resources/SxC_catppuccinMacchiato_index.md) | 
[Catppuccin Mocha v2](resources/SxC_catppuccinMocha-v2_index.md) | 
[CPN Hacking v2](resources/SxC_CPN_Hacking-v2_index.md) |
+| 
[CPN iMessage v2](resources/SxC_CPN_iMessage-v2_index.md) | 
[CPN Synthwave](resources/SxC_CPN_synthwave_index.md) | 
[CPN Vaporwave](resources/SxC_CPN_vaporwave_index.md) |
+| 
[Cyan](resources/SxC_cyan_index.md) | 
[Dark](resources/SxC_dark_index.md) | 
[Dark Blue & Gold](resources/SxC_darkBlueGold_index.md) |
+| 
[Dark Green](resources/SxC_darkGreen_index.md) | 
[Double Trouble](resources/SxC_doubleTrouble_index.md) | 
[Dracula](resources/SxC_dracula_index.md) |
+| 
[Dusk v2](resources/SxC_dusk-v2_index.md) | 
[Electric Blue](resources/SxC_electricBlue_index.md) | 
[Festung](resources/SxC_festung_index.md) |
+| 
[Girly](resources/SxC_girly_index.md) | 
[Good SimpleX](resources/SxC_goodSimplex_index.md) | 
[GR8est MNSTRS](resources/SxC_GR8estMNSTRS_index.md) |
+| 
[Green Night v1](resources/SxC_greenNight-v1_index.md) | 
[Green v2](resources/SxC_green-v2_index.md) | 
[Green Plus v1.5](resources/SxC_greenPlus-v1_5_index.md) |
+| 
[Greymatters](resources/SxC_greymatters_index.md) | 
[Hot Dog](resources/SxC_hotdog_index.md) | 
[IT Slate](resources/SxC_IT_Slate_index.md) |
+| 
[Japane Sea](resources/SxC_japaneSea_index.md) | 
[Joker](resources/SxC_joker_index.md) | 
[Kickl](resources/SxC_kickl_index.md) |
+| 
[Lazy Sunday](resources/SxC_lazySunday_index.md) | 
[Leaves](resources/SxC_leaves_index.md) | 
[Light](resources/SxC_light_index.md) |
+| 
[Lobster](resources/SxC_Lobster_index.md) | 
[Mocca](resources/SxC_mocca_index.md) | 
[Mona Lisa](resources/SxC_monaLisa_index.md) |
+| 
[Moss Noir](resources/SxC_mossNoir_index.md) | 
[Nightshade Transparent v2](resources/SxC_NightshadeTransparent-v2_index.md) | 
[Nightshade v2.3](resources/SxC_Nightshade-v2_3_index.md) |
+| 
[Nightswatch v3](resources/SxC_nightswatch-v3_index.md) | 
[No AMOLED](resources/SxC_noAMOLED_index.md) | 
[Nurse Xochitl](resources/SxC_nurseXochitl_index.md) |
+| 
[Pink Panther](resources/SxC_pinkPanther_index.md) | 
[PsychedeRick](resources/SxC_psychedeRick_index.md) | 
[Purple](resources/SxC_purple_index.md) |
+| 
[Radical Squadron-Razor](resources/SxC_RadicalSquadron-Razor_index.md) | 
[Ralph Wrecks SimpleX](resources/SxC_RalphWrecksSimpleX_index.md) | 
[Random](resources/SxC_random_index.md) |
+| 
[Red](resources/SxC_red_index.md) | 
[Remig](resources/SxC_remig_index.md) | 
[Sage Dust](resources/SxC_Sage-Dust_index.md) |
+| 
[Sandy Symphony v2](resources/SxC_sandySymphony-v2_index.md) | 
[Session Dark](resources/SxC_SessionDark_index.md) | 
[SimpleX Default](resources/SxC_simplexDefault_index.md) |
+| 
[Smurf](resources/SxC_smurf_index.md) | 
[Soft_Twilight_1.0](resources/SxC_Soft_Twilight_1.0_index.md) | 
[Solarized Darkish](resources/SxC_solarizedDarkish_index.md) |
+| 
[The Shining v2](resources/SxC_The_Shining-v2_index.md) | 
[Totoro-ify](resources/SxC_Totoro-ify_index.md) | 
[W_I_D_E](resources/SxC_W_I_D_E_index.md) |
+| 
[WhatsApp Dark](resources/SxC_whatsappDark_index.md) | 
[WhatsApp Green v2](resources/SxC_whatsappGreen-v2_index.md) | 
[WhatsApp Light v3](resources/SxC_whatsappLight-v3_index.md) |
+| 
[Xochitl](resources/SxC_xochitl_index.md) | 
[Yellow](resources/SxC_yellow_index.md) | |
+
+source code:
+[SourceHut](https://git.sr.ht/~osowoso/SimpleX-Themes/send-email)
+[GitHub](https://github.com/oSoWoSo/SimpleX-Themes/edit/main/README.md)
diff --git a/_config.yml b/_config.yml
index bdac196..d91c7f1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,5 +1,16 @@
remote_theme: pages-themes/hacker@v0.2.0
plugins:
-- jekyll-remote-theme # add this line to the plugins list
+- jekyll-remote-theme
title: SimpleX-Themes
-description: SimpleX Chat Theme Archive
\ No newline at end of file
+description: SimpleX Chat Theme Archive
+
+# Ensure Jekyll serves all files
+include:
+ - screenshots
+ - resources
+
+# Giscus configuration
+giscus:
+ repo_id: "R_kgDOMoOy9A"
+ category: "General"
+ category_id: "DIC_kwDOMoOy9M4CvYxA"
\ No newline at end of file
diff --git a/_includes/giscus.html b/_includes/giscus.html
new file mode 100644
index 0000000..de1a4ae
--- /dev/null
+++ b/_includes/giscus.html
@@ -0,0 +1,18 @@
+{% if page.giscus %}
+
+{% endif %}
\ No newline at end of file
diff --git a/_layouts/default.html b/_layouts/default.html
index bb32187..abcb35d 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -5,7 +5,7 @@
-
+
{% include head-custom.html %}
{% seo %}
@@ -42,10 +42,10 @@
The SimpleX Theme Archive is an independent, community project not affiliated with SimpleX Chat.
SimpleX Chat, SxC, and the SimpleX Chat logo are a trademark of SimpleX Chat, Ltd.
-The archive team can be contacted in the SimpleX Themes group, or at themes@slcw.unbox.at.
+The archive team can be contacted in the SimpleX Themes group, or at zenobit@duck.com.
SimpleX Theme Archive v1.0