← Back to discord-alternatives-wishlist

How to Deploy & Use discord-alternatives-wishlist

Deployment & Usage Guide: Discord Alternatives Wishlist

1. Prerequisites

  • Python 3.6+ (script uses f-strings and pathlib; test with python --version)
  • Git (to clone the repository)
  • Optional but recommended: virtualenv or venv for isolated Python environment

No external Python packages are required—the script uses only the Python standard library.

2. Installation

  1. Clone the repository:

    git clone https://github.com/DukePantarei/discord-alternatives-wishlist.git
    cd discord-alternatives-wishlist
    
  2. (Optional) Create and activate a virtual environment:

    python -m venv venv
    # On Linux/macOS:
    source venv/bin/activate
    # On Windows:
    venv\Scripts\activate
    

3. Configuration

No environment variables or configuration files are needed. The script reads data from platforms.json (included in the repository) and writes output to COMPARISON.md.

Important: Ensure platforms.json exists in the repository root. This file contains the single source of truth for all platform data and feature flags.

4. Build & Run

Generate the comparison table:

python generate_table.py

What it does:

  • Reads platforms.json
  • Processes feature groups defined in FEATURE_GROUPS (Privacy, Pricing, Platform Support, etc.)
  • Applies emoji mapping (yes → ✅, no → ❌, partial → ⚠️, etc.)
  • Writes a formatted Markdown table to COMPARISON.md

Output files:

  • COMPARISON.md — Main feature comparison table (auto-generated)
  • All other documentation files (FEATURES.md, BACKGROUND.md, etc.) are static and already included—do not require generation.

Development workflow:

  1. Edit platforms.json to update platform data or add new entries.
  2. Run python generate_table.py to regenerate COMPARISON.md.
  3. Commit both platforms.json and updated COMPARISON.md to preserve the generated table.

5. Deployment

This project produces static documentation (Markdown files). Deployment means hosting the generated files as a static website.

Recommended deployment platforms:

  • GitHub Pages (simplest): Host directly from the repository.

    1. Push the repository to GitHub.
    2. Go to Settings → Pages.
    3. Set source to main branch, root (/) folder.
    4. Access site at https://<username>.github.io/discord-alternatives-wishlist/
  • Netlify / Vercel: Drag-and-drop the repository folder or connect Git repository.

  • Any static web host: Upload all Markdown files (and optionally use a Markdown-to-HTML converter like mkdocs or Jekyll if HTML is desired).

Note: The repository is designed to be viewed on GitHub directly or via GitHub Pages. No server-side code is required.

6. Troubleshooting

IssueSolution
python: command not foundInstall Python 3.6+ from python.org or use package manager (apt, brew, etc.).
FileNotFoundError: [Errno 2] No such file or directory: 'platforms.json'Run the script from the repository root where platforms.json is located.
JSONDecodeError in platforms.jsonValidate JSON syntax (use python -m json.tool platforms.json). Fix any trailing commas or invalid characters.
Generated table looks misalignedEnsure your terminal/editor uses monospace font. The script outputs fixed-width Markdown table.
Permission denied writing COMPARISON.mdCheck write permissions in the directory (chmod u+w . on Unix). Avoid running as root/sudo.
Emojis not displaying correctlyUse a Markdown viewer that supports Unicode emojis (GitHub, modern browsers).

Updating data: Only edit platforms.json. Do not edit COMPARISON.md manually—it will be overwritten on next script run. Add platform notes in the notes field of platforms.json; they will appear in the table's tooltip column.

Contributing back: After updating platforms.json and regenerating COMPARISON.md, submit a Pull Request with both files changed.