AcidWiki is a modern, high-performance, and fully automated wiki engine designed for GitHub repositories.
It uses a centralized architecture: logic and updates are managed by the source repository (AcidWiki), while your project simply "calls" the engine.
- 🧠 Centralized Intelligence: The core logic lives in
AcidWiki. Client repositories use a reusable workflow to stay in sync. - ⚙️ Configuration as Code: Customize your wiki via a simple
acidwiki.jsonfile. No JavaScript knowledge required. - 🔄 Auto-Update (CRON): Your wiki checks for engine updates automatically every day at 4:00 AM.
- 📂 Dynamic Discovery: Automatically scans
wiki/docs/via GitHub API to build the navigation menu. - 🏷️ Smart Versioning: Detects GitHub Releases or Tags automatically to display the project version.
- 🎨 Modern UI: Dark mode, glassmorphism, smooth transitions, and responsive design.
- 🚀 Zero Maintenance: Repo name, copyright year, and GitHub links are injected dynamically at every build.
- Click the "Use this template" button to create a new repository.
- Important: Go to
Settings > Actions > General. Under "Workflow permissions", select Read and write permissions and Save. - Trigger Setup: Push a simple change (like editing README).
- The workflow will automatically create the
wiki/docs/folder and a defaultacidwiki.jsonconfig file.
- The workflow will automatically create the
- Enable Pages: Go to
Settings > Pages, set source to Deploy from a branch > main > /(root).
- In your existing repository, create this file:
.github/workflows/wiki-sync.yml. - Paste the following trigger code:
name: Wiki Sync
on:
push:
branches: [ main ]
paths:
- 'wiki/**'
- 'acidwiki.json'
- '.github/workflows/wiki-sync.yml'
workflow_dispatch:
schedule:
- cron: '0 4 * * *' # Checks for updates every day at 4am
permissions:
contents: write
pages: write
id-token: write
jobs:
deploy-wiki:
# Calls the central logic from AcidWiki
uses: infinition/AcidWiki/.github/workflows/reusable-wiki-sync.yml@main
- Push. The action will download the engine, create the structure, and generate your configuration automatically.
⛔ DO NOT EDIT wiki/config.js MANUALLY.
It is regenerated automatically by the workflow at every push.
To customize your wiki, edit the acidwiki.json file at the root of your repository (it is created automatically on the first run).
{
"debug": false,
"social": {
"discord": "[https://discord.gg/your-invite-code](https://discord.gg/your-invite-code)",
"reddit": null
},
"buymeacoffee": "[https://buymeacoffee.com/your-username](https://buymeacoffee.com/your-username)"
}
social.discord: Your Discord invite URL. Set tonullto disable the button.social.reddit: Your Subreddit URL. Set tonullto disable the button.buymeacoffee: Your donation link (defaults to Infinition if removed).debug: Set totrueto enable verbose logging in the browser console.
Note: The Project Name, Version, GitHub URL, and Footer Copyright are automatically detected from your repository context.
You must respect this structure for the auto-discovery engine to work:
.
├── .github/workflows/
│ └── wiki-sync.yml # The Trigger (Calls AcidWiki logic)
├── acidwiki.json # YOUR Configuration (Social links, etc.)
├── wiki/
│ ├── docs/ # ⚠️ PUT YOUR MARKDOWN FILES HERE
│ │ ├── 01_Intro/ # Folders become categories
│ │ │ └── Setup.md
│ │ └── Guide.md
│ ├── assets/ # Images (logo.png, screenshots)
│ └── config.js # ⛔ Generated File (Do not touch)
├── index.html # The Engine (Auto-updated from Source)
└── README.md # Your Home Page
- Create standard Markdown (
.md) files insidewiki/docs/. - Folders become menu categories.
- Files become pages.
- Ordering: Files and folders are sorted alphabetically. You can prefix them with numbers (e.g.,
01_General,02_Advanced) to control the order. - Images: Place images in
wiki/assets/and link them like.
This architecture uses a "Pull" model to keep all wikis up to date:
- On Push: When you add content or change
acidwiki.json, the site rebuilds immediately with your specific configuration. - On Schedule (CRON): Every day at 4:00 AM, your repository wakes up and checks
infinition/AcidWiki.
- If the core engine (
index.html) or the logic has changed, it downloads the new version. - It regenerates your specific configuration.
- It commits and pushes the update automatically.
Since the engine relies on the GitHub API to discover files in production, local development uses a fallback filesystem scan.
- Open your terminal in the repository root.
- Start a local server (required for security reasons):
# Python 3
python -m http.server 8000
- Open
http://localhost:8000. - Note: Ensure your markdown files are strictly located in
wiki/docs/.
By Infinition