Skip to content

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.

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
PrincipleImplementation
Open by DefaultAll content publicly accessible, no login required to read
Low Barrier to ContributeEdit via browser, Obsidian, or any Markdown editor
Community OwnedHosted on community infrastructure, not proprietary platforms
Version ControlledFull history of changes, easy rollback if needed
Fast & LightweightStatic site, no database, loads instantly worldwide
┌─────────────────────────────────────────────────────────────────┐
│ 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 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:

FeaturePurpose
Sidebar NavigationOrganized topic hierarchy with collapsible sections
Pagefind SearchFast, client-side full-text search
Dark/Light ModeReader preference with system detection
Code HighlightingSyntax highlighting with Shiki
starlight-tagsContent categorization and tag pages
starlight-videosEmbedded video support
starlight-kbdKeyboard shortcut documentation
Mermaid & PlantUMLDiagram rendering from code

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 PRs

The wiki lives in two synchronized repositories:

PlatformURLPurpose
GitHubgithub.com/gitayam/IrregularChatWikiPrimary, triggers Cloudflare deploys
Forgejogit.irregularchat.com/irregulars/IrregularChatWikiCommunity mirror, self-hosted

Sync Mechanism:

GitHub Actions automatically syncs pushes to Forgejo:

.github/workflows/sync-to-forgejo.yml
name: Sync to Forgejo
on:
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 --force

This ensures:

  • Redundancy - Content exists on multiple platforms
  • Community Access - Contributors can use either platform
  • Self-Sovereignty - Not dependent on any single provider
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 documentation

This wiki has evolved through two major platform migrations:

Originally hosted on MediaWiki, the wiki was migrated to VitePress:

MediaWikiVitePress
Requires PHP + MySQLStatic files only
Server maintenance neededZero maintenance
WYSIWYG sometimes breaks formattingConsistent Markdown
Complex permission systemSimple Git-based workflow
Heavy resource usageLightweight, fast

The wiki was further migrated to Astro Starlight for enhanced features:

VitePressAstro Starlight
Vue-based componentsAstro components (zero JS by default)
Limited plugin ecosystemRich plugin ecosystem
Manual sidebar configurationFlexible sidebar with autogenerate
Basic searchPagefind full-text search
Single content typeMDX 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

Every page has an “Edit this page on GitHub” link at the bottom. Click it to:

  1. Fork the repository (first time only)
  2. Edit the Markdown file in your browser
  3. Submit a Pull Request
  4. Changes deploy automatically when merged

For significant edits, clone the repository locally:

Terminal window
# Clone
git clone https://github.com/gitayam/IrregularChatWiki.git
cd IrregularChatWiki
# Install dependencies
npm install
# Start development server
npm run dev
# → Opens at http://localhost:4321
# Make your changes in src/content/docs/
# Build to verify
npm run build
# Commit and push
git add .
git commit -m "Add: description of changes"
git push

Obsidian is an excellent Markdown editor for wiki content:

  1. Clone the repository
  2. Open Obsidian → File → Open Vault
  3. Select the src/content/docs/ folder as your vault
  4. Edit with live preview and wiki-style linking
  5. Commit and push changes via Git

See the Obsidian + GitHub Guide for detailed setup instructions.

---
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.
:::tip
Use callouts for important information!
:::
### Subsection
More detailed content.
## Related Resources
- [Related Page](/path/to/page) - Brief description
- [External Link](https://example.com) - Brief description
ServiceCost
Cloudflare PagesFree
GitHubFree
Forgejo (self-hosted)Already running
Domain (irregularpedia.org)~$12/year
Total~$12/year