About This Wiki
About This Wiki
Section titled “About This Wiki”Irregularpedia is the community-driven knowledge base for IrregularChat. This page explains the thinking behind the wiki, its technical architecture, and how you can contribute.
Philosophy
Section titled “Philosophy”Why a Wiki?
Section titled “Why a Wiki?”The IrregularChat community generates a tremendous amount of knowledge through discussions, shared resources, and collaborative problem-solving. A wiki serves as:
- Persistent Memory - Conversations fade, but wiki pages endure
- Collaborative Knowledge - Multiple contributors improve content over time
- Searchable Reference - Find information quickly instead of scrolling through chat history
- Onboarding Resource - New members can self-serve common questions
Design Principles
Section titled “Design Principles”| Principle | Implementation |
|---|---|
| Open by Default | All content publicly accessible, no login required to read |
| Low Barrier to Contribute | Edit via browser, Obsidian, or any Markdown editor |
| Community Owned | Hosted on community infrastructure, not proprietary platforms |
| Version Controlled | Full history of changes, easy rollback if needed |
| Fast & Lightweight | Static site, no database, loads instantly worldwide |
Technical Architecture
Section titled “Technical Architecture”The Stack
Section titled “The Stack”┌─────────────────────────────────────────────────────────────────┐│ CONTENT LAYER ││ Markdown/MDX files in src/content/docs/ with YAML frontmatter │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ BUILD LAYER (Astro Starlight) ││ - Converts Markdown/MDX → HTML ││ - Generates navigation & search index ││ - Applies theme, plugins & Astro components │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ HOSTING (Cloudflare Pages) ││ - Global CDN (300+ edge locations) ││ - Automatic HTTPS ││ - Preview deployments for PRs │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ irregularpedia.org │└─────────────────────────────────────────────────────────────────┘Astro Starlight
Section titled “Astro Starlight”Astro Starlight is the documentation framework that powers this wiki, built on top of Astro.
Why Astro Starlight?
- Performance - Ships zero JavaScript by default, ultra-fast page loads
- Documentation-First - Purpose-built for technical documentation
- Rich Plugin Ecosystem - Tags, scroll-to-top, videos, and more
- MDX Support - Embed interactive components when needed
- Built-in Search - Pagefind-powered search works instantly
- Accessibility - WCAG 2.1 compliant out of the box
Key Features & Plugins Used:
| Feature | Purpose |
|---|---|
| Sidebar Navigation | Organized topic hierarchy with collapsible sections |
| Pagefind Search | Fast, client-side full-text search |
| Dark/Light Mode | Reader preference with system detection |
| Code Highlighting | Syntax highlighting with Shiki |
| starlight-tags | Content categorization and tag pages |
| starlight-videos | Embedded video support |
| starlight-kbd | Keyboard shortcut documentation |
| Mermaid & PlantUML | Diagram rendering from code |
| Backlinks | ”Linked from” aside on every page (custom build-time component) |
Backlinks
Section titled “Backlinks”Every page has a Linked from section at the bottom showing other wiki pages that link to it. The backlink index is built once at deploy time by scanning every page’s markdown for internal links and inverting the graph — no runtime cost, no database, no JavaScript.
Why this matters for contributors: when you add a forward link from page A to page B, page B automatically picks up an inbound link to page A. You don’t need to maintain “Related” sections on both ends — write them once, the backlinks fill in the reverse direction. Looking for what to write? See Wanted Pages.
Cloudflare Pages
Section titled “Cloudflare Pages”Cloudflare Pages hosts the built static files.
Why Cloudflare Pages?
- Free Tier - Unlimited bandwidth, unlimited sites
- Global CDN - Content served from nearest edge location
- Automatic Deployments - Push to GitHub → deployed in ~30 seconds
- Preview Deployments - Every PR gets a unique preview URL
- Automatic HTTPS - SSL certificates managed automatically
Deployment Flow:
git push → GitHub webhook → Cloudflare builds → Deploy to edge │ └→ Preview URL for PRsSource Control & Syncing
Section titled “Source Control & Syncing”The wiki lives in two synchronized repositories:
| Platform | URL | Purpose |
|---|---|---|
| GitHub | github.com/gitayam/IrregularChatWiki | Primary, triggers Cloudflare deploys |
| Forgejo | git.irregularchat.com/irregulars/IrregularChatWiki | Community mirror, self-hosted |
Sync Mechanism:
GitHub Actions automatically syncs pushes to Forgejo:
name: Sync to Forgejoon: push: branches: [main]jobs: sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - run: | git remote add forgejo https://git.irregularchat.com/... git push forgejo main --forceThis ensures:
- Redundancy - Content exists on multiple platforms
- Community Access - Contributors can use either platform
- Self-Sovereignty - Not dependent on any single provider
Repository Structure
Section titled “Repository Structure”IrregularChatWiki/├── src/│ ├── content/│ │ └── docs/ # All wiki content (Markdown/MDX)│ │ ├── index.mdx # Homepage│ │ ├── ai-ml/ # AI/ML topics│ │ ├── community/ # Community resources│ │ ├── cybersecurity/ # Security guides│ │ ├── development/ # Development guides│ │ ├── general/ # General topics│ │ ├── hardware/ # Hardware guides│ │ ├── infrastructure/# Self-hosting guides│ │ ├── matrix/ # Matrix/Element guides│ │ ├── military/ # Military resources│ │ ├── privacy/ # Privacy & OPSEC│ │ ├── radio/ # RF/SDR topics│ │ ├── research/ # OSINT & research│ │ └── server-guides/ # Server setup│ ├── assets/ # Images and media│ ├── components/ # Custom Astro components│ └── styles/ # Custom CSS├── public/ # Static assets (favicon, logo)├── astro.config.mjs # Astro & Starlight configuration├── .github/│ └── workflows/ # GitHub Actions (sync to Forgejo)├── package.json # Node.js dependencies└── README.md # Repository documentationHistory
Section titled “History”Migration Journey
Section titled “Migration Journey”This wiki has evolved through two major platform migrations:
MediaWiki → VitePress (2024)
Section titled “MediaWiki → VitePress (2024)”Originally hosted on MediaWiki, the wiki was migrated to VitePress:
| MediaWiki | VitePress |
|---|---|
| Requires PHP + MySQL | Static files only |
| Server maintenance needed | Zero maintenance |
| WYSIWYG sometimes breaks formatting | Consistent Markdown |
| Complex permission system | Simple Git-based workflow |
| Heavy resource usage | Lightweight, fast |
VitePress → Astro Starlight (2025)
Section titled “VitePress → Astro Starlight (2025)”The wiki was further migrated to Astro Starlight for enhanced features:
| VitePress | Astro Starlight |
|---|---|
| Vue-based components | Astro components (zero JS by default) |
| Limited plugin ecosystem | Rich plugin ecosystem |
| Manual sidebar configuration | Flexible sidebar with autogenerate |
| Basic search | Pagefind full-text search |
| Single content type | MDX support for interactive content |
Key improvements from Starlight:
- Tag-based content organization
- Embedded video support
- Keyboard shortcut documentation
- Mermaid and PlantUML diagram rendering
- Better mobile experience
Contributing
Section titled “Contributing”Quick Edits
Section titled “Quick Edits”Every page has an “Edit this page on GitHub” link at the bottom. Click it to:
- Fork the repository (first time only)
- Edit the Markdown file in your browser
- Submit a Pull Request
- Changes deploy automatically when merged
Larger Contributions
Section titled “Larger Contributions”For significant edits, clone the repository locally:
# Clonegit clone https://github.com/gitayam/IrregularChatWiki.gitcd IrregularChatWiki
# Install dependenciesnpm install
# Start development servernpm run dev# → Opens at http://localhost:4321
# Make your changes in src/content/docs/
# Build to verifynpm run build
# Commit and pushgit add .git commit -m "Add: description of changes"git pushUsing Obsidian
Section titled “Using Obsidian”Obsidian is an excellent Markdown editor for wiki content:
- Clone the repository
- Open Obsidian → File → Open Vault
- Select the
src/content/docs/folder as your vault - Edit with live preview and wiki-style linking
- Commit and push changes via Git
See the Obsidian + GitHub Guide for detailed setup instructions.
Page Template
Section titled “Page Template”---title: "Your Page Title"description: "Brief description for SEO and previews"tags: ["relevant", "tags", "here"]---
# Your Page Title
Introduction paragraph explaining the topic.
## Main Section
Content with proper Markdown formatting.
:::tipUse callouts for important information!:::
### Subsection
More detailed content.
## Related Resources
- [Related Page](/path/to/page) - Brief description- [External Link](https://example.com) - Brief description| Service | Cost |
|---|---|
| Cloudflare Pages | Free |
| GitHub | Free |
| Forgejo (self-hosted) | Already running |
| Domain (irregularpedia.org) | ~$12/year |
| Total | ~$12/year |
- Live Wiki: irregularpedia.org
- GitHub: github.com/gitayam/IrregularChatWiki
- Forgejo: git.irregularchat.com/irregulars/IrregularChatWiki
- Astro Starlight Docs: starlight.astro.build
- Astro Docs: docs.astro.build
- Cloudflare Pages Docs: developers.cloudflare.com/pages
- IrregularChat Community: irregularchat.com