Menu

Overview

Relevant source files

Purpose and Scope

This document provides a high-level introduction to the Wikinder project, a GitHub-based wiki system that converts content from a GitHub Wiki repository into static HTML pages and deploys them to multiple hosting platforms simultaneously. Wikinder focuses primarily on mathematical and educational content, implementing comprehensive metadata standards, MathJax-based mathematical rendering, and a multi-platform redundancy strategy for high availability.

For detailed information about specific subsystems, see:

Sources: README.md1-19 Wikinder.html1-147

System Architecture Overview

Wikinder operates as a static site generator with automated deployment and multi-platform hosting. Content originates in a GitHub Wiki repository, is converted to static HTML files stored in the wikinder/wikinder.github.io repository, and is automatically deployed to four independent hosting platforms through GitHub Actions.

Complete System Flow

Sources: .github/workflows/static.yml1-44 README.md7-18

Core Components

Source Repository: wikinder.github.io

The wikinder.github.io repository serves as the canonical source for all deployed content. It contains:

ComponentLocationPurpose
HTML articlesRoot directoryIndividual content pages (e.g., Wikinder.html, Math.html)
Deployment workflow.github/workflows/static.ymlAutomated deployment configuration
CSS stylesheet/assets/css/style.cssGlobal typography and layout rules
JavaScript configuration/assets/js/mathjax-config.jsMathJax rendering setup
Site icon/assets/images/icon.jpgBranding and Open Graph image
LicenseLICENSECC BY-SA 4.0 legal text
DocumentationREADME.mdHosting URLs and archive links

Sources: README.md1-19 Wikinder.html9-11

Deployment Workflow: static.yml

The deployment process is managed by a GitHub Actions workflow named "Deploy static content to Pages":

The workflow configuration includes:

  • Triggers: Push to main branch or manual dispatch (static.yml4-10)
  • Permissions: Read contents, write pages, write id-token (static.yml13-16)
  • Concurrency control: Single deployment group, no cancellation of in-progress runs (static.yml20-22)
  • Artifact upload: Entire repository (.) is packaged (static.yml39-40)

Sources: .github/workflows/static.yml1-44

Hosting Infrastructure

Wikinder implements a four-platform hosting strategy:

PlatformURLPrimary Role
Cloudflare Pageswikindergarten.pages.devPrimary (domain points here)
GitHub Pageswikinder.github.ioSecondary
GitLab Pageswikinder.gitlab.ioTertiary (read-only)
Vercelwikinder.vercel.appQuaternary

All platforms serve identical content and are capable of responding to the wikinder.org domain, providing redundancy against platform-specific outages.

Sources: README.md7-12

Archival System

Three independent web archiving services maintain historical snapshots:

  1. Archive.today - archive.today/wikinder.org
  2. Internet Archive - web.archive.org/web/*/wikinder.org*
  3. Megalodon - gyo.tc/https

This multi-service approach ensures long-term content preservation even if individual services become unavailable.

Sources: README.md14-18

Content Structure

HTML Article Template

Every article follows a consistent HTML5 structure with comprehensive metadata:

Example from Wikinder.html:

Sources: Wikinder.html1-147

The site implements wiki-style internal navigation:

Sources: Wikinder.html57-142

Technical Characteristics

Static Site Generation

Wikinder operates entirely as static HTML with no server-side processing:

CharacteristicImplementation
Content formatPre-rendered HTML files
Dynamic featuresClient-side JavaScript only (MathJax)
Data storageNone (all content in HTML)
Build processManual conversion from GitHub Wiki
DeploymentStatic file upload via GitHub Actions

Mathematical Content Support

Mathematical expressions are rendered client-side using MathJax:

  1. Local configuration file: /assets/js/mathjax-config.js sets up Euler font and inline delimiters
  2. External library: MathJax 4.0.0 loaded from cdn.jsdelivr.net
  3. LaTeX syntax: Mathematical notation written in LaTeX format within HTML

Sources: README.md5 Wikinder.html9

Metadata and SEO

Each article implements four parallel metadata systems:

  1. Basic HTML meta tags - Browser compatibility and viewport configuration
  2. Open Graph Protocol - Social media preview cards (Facebook, LinkedIn)
  3. X/Twitter Cards - Twitter-specific preview format
  4. Schema.org JSON-LD - Structured data for search engines

This redundant approach ensures optimal presentation across all platforms and search contexts.

Sources: Wikinder.html4-51

Licensing Framework

All content operates under CC BY-SA 4.0:

Sources: Wikinder.html11-140

Project Metadata

PropertyValue
Founderbear (Wikinder.html84)
Founding dateSeptember 1, 2005 (Wikinder.html88)
Primary wiki hostGitHub (Wikinder.html96)
Secondary wiki hostGitLab (read-only) (Wikinder.html98)
LicenseCC BY-SA 4.0
Primary authoryuuki (Wikinder.html12)

Sources: Wikinder.html80-99