Menu

Overview

Relevant source files

This document provides a technical introduction to the Wikinder platform, explaining its architecture, purpose, and key characteristics. Wikinder is a static wiki site that converts content from GitHub Wiki into deployable HTML pages. For detailed information about specific subsystems, see System Architecture, Deployment Infrastructure, and Content Management Workflow.

What is Wikinder

Wikinder is an open-source educational content platform that publishes static HTML pages generated from a GitHub Wiki repository. The platform serves mathematical formulas, music notation, language analysis, and general educational articles under a Creative Commons license.

The primary domain wikinder.org points to a multi-platform hosting infrastructure with redundant deployments across Cloudflare Pages, GitHub Pages, GitLab Pages, and Vercel.

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

Core Identity

PropertyValue
OrganizationWikinder
Founderbear
Founding DateSeptember 1, 2005
Primary Domainwikinder.org
LicenseCC BY-SA 4.0
Content SourceGitHub Wiki (github.com/wikinder/wikinder/wiki)
Site TypeStatic HTML

Sources: Wikinder.html83-89 README.md5

System Architecture Overview

The following diagram illustrates how Wikinder's components interact from content creation to user access:

Content-to-Delivery Pipeline

Sources: README.md5-12 .github/workflows/static.yml1-52

Repository Structure Mapping

This diagram maps the repository's file structure to functional components:

Sources: index.html9-12 Wikinder.html9 assets/css/style.css1 assets/js/mathjax-config.js1 .github/workflows/static.yml1

Key Characteristics

Static Site Architecture

Wikinder generates pure static HTML with no server-side processing. Each page is a self-contained HTML5 document that includes:

  • Embedded metadata (Open Graph, Twitter Cards, JSON-LD)
  • Inline navigation elements
  • Client-side JavaScript for math rendering (MathJax)
  • Shared CSS styling

All pages follow a consistent template structure with <header>, <main>, <article>, and <footer> semantic elements.

Sources: index.html1-96 Wikinder.html1-147

Content Source Strategy

Content originates from a GitHub Wiki repository located at github.com/wikinder/wikinder/wiki. This approach provides:

BenefitImplementation
Collaborative EditingGitHub Wiki's web interface
Version ControlGit commit history
AttributionCommit-based authorship tracking
AccessibilityNo build tools required for editing

Each HTML page links back to its source wiki page via the footer edit link.

Sources: README.md5 index.html91 Wikinder.html142

Open Licensing Framework

All content is licensed under CC BY-SA 4.0 (Creative Commons Attribution-ShareAlike 4.0 International). This license is declared in three locations on every page:

  1. HTML <head> link element: <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">
  2. JSON-LD structured data: "license": "https://creativecommons.org/licenses/by-sa/4.0/"
  3. Footer text: "Content is available under CC BY-SA 4.0 unless otherwise noted."

Attribution is implemented through JSON-LD author objects that reference specific Git commit hashes.

Sources: index.html15-89 Wikinder.html11-140

Multi-Platform Deployment

Wikinder deploys to four independent hosting platforms simultaneously:

PlatformURLRole
Cloudflare Pageswikindergarten.pages.devPrimary (DNS points here)
GitHub Pageswikinder.github.ioRedundant hosting
GitLab Pageswikinder.gitlab.ioRedundant hosting
Vercelwikinder.vercel.appRedundant hosting

This redundancy ensures availability even if one platform experiences downtime.

Sources: README.md7-12

Archival Strategy

The platform maintains archival copies through three independent services:

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

These archives preserve historical versions and protect against data loss.

Sources: README.md14-18 Wikinder.html118-132

Content Categories

Wikinder publishes content across several thematic areas:

Content Type Distribution

Sources: index.html57 Math.html1 Wikinder.html78

CategoryPage CountKey Files
Mathematics5Math.html, Math-formulas.html, Math-formulas-proofs.html
Music1LilyPond-sheet-music.html
Language1Chinese-characters.html
Meta/About4Wikinder.html, Wikinder-Japan.html, yuuki.html, bear.html
Homepage1index.html

Sources: index.html57

Technology Stack

Core Technologies

ComponentTechnologyImplementation
MarkupHTML5Semantic elements (<article>, <header>, <main>)
StylingCSS3Single global stylesheet (/assets/css/style.css)
Math RenderingMathJax 4.1.0CDN-loaded with local config
Build SystemGitHub ActionsWorkflow: .github/workflows/static.yml
Version ControlGitGitHub repository + Wiki

Sources: index.html1-12 .github/workflows/static.yml1

Client-Side Dependencies

Wikinder minimizes external dependencies. The only runtime dependency is MathJax for mathematical formula rendering:

<!-- From index.html -->
<script defer src="/assets/js/mathjax-config.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/mathjax@4.1.0/startup.js" 
        integrity="sha512-..." crossorigin="anonymous"></script>

Both scripts use defer attribute to avoid blocking page rendering.

Sources: index.html11-12

Metadata Implementation

Every content page implements a four-layer metadata strategy:

  1. Basic HTML Meta Tags: charset, viewport, color-scheme, author
  2. Open Graph Protocol: og:type, og:title, og:url, og:image, og:site_name
  3. Twitter/X Cards: twitter:card
  4. JSON-LD Structured Data: Schema.org Article or WebSite type

This ensures compatibility with browsers, social media platforms, and search engines.

Sources: index.html4-50 Wikinder.html4-52

Project Structure

Directory Layout

/
├── index.html                    # Homepage
├── Wikinder.html                 # About page
├── Math.html                     # Math hub page
├── [content-pages].html          # ~12 additional content pages
├── 404.html                      # Error page
├── sitemap.xml                   # SEO sitemap
├── LICENSE                       # CC BY-SA 4.0 license text
├── README.md                     # Repository documentation
├── vercel.json                   # Vercel configuration
├── .gitignore                    # Git exclusions
├── .github/
│   └── workflows/
│       └── static.yml            # GitHub Actions CI/CD
└── assets/
    ├── css/
    │   └── style.css             # Global stylesheet
    ├── js/
    │   └── mathjax-config.js     # MathJax configuration
    └── images/
        ├── icon.jpg              # Site icon (Open Graph)
        └── favicon.ico           # Browser favicon

Sources: README.md1 index.html9-12 .github/workflows/static.yml1

Page Template Structure

All content pages share a consistent HTML structure:

<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- Meta tags, Open Graph, Twitter Cards, JSON-LD -->
  </head>
  <body>
    <header>
      <nav><!-- Navigation links --></nav>
    </header>
    <main>
      <article>
        <header><!-- Article title and dates --></header>
        <div><!-- Article content --></div>
      </article>
    </main>
    <footer>
      <!-- License notice and edit link -->
    </footer>
  </body>
</html>

Sources: index.html1-96 Wikinder.html1-147

Social Media Integration

Wikinder maintains presence across 12+ social media platforms:

PlatformAccountLink
DiscordMain + Japandiscord.gg/bgEXkwxnQp, discord.gg/qPE8DyuVw5
X/Twitter@wikinder + @wikinderjpGlobal and Japan accounts
Instagram@wikindergartenVisual content
YouTube@wikinderVideo content
TikTok@wikinderShort-form video
Blueskywikinder.bsky.socialDecentralized social
LinkedIncompany/wikinderProfessional network
Mastodon@wikinderFediverse presence
Facebookfacebook.com/wikinderSocial network
Threads@wikindergartenMeta platform
Scratchusers/wikinderEducational community

Sources: Wikinder.html104-116 index.html72

Internal Navigation

The homepage (index.html) provides navigation to featured content through a horizontal navigation bar listing recent/important articles. Individual pages link back to the homepage via the header navigation element.

Sources: index.html57-59

SEO Infrastructure

Wikinder implements search engine optimization through:

  • Sitemap: sitemap.xml listing all URLs with last modification dates
  • Canonical URLs: Each page declares its canonical URL via <link rel="canonical">
  • Structured Data: JSON-LD provides rich search results
  • Semantic HTML: Proper use of <article>, <header>, <time> elements

Sources: sitemap.xml1 index.html14 Wikinder.html10

Development Workflow

The typical workflow for content updates:

  1. Edit: Contributor edits content via GitHub Wiki interface
  2. Commit: Changes are committed to the wiki repository
  3. Trigger: Commit triggers GitHub Actions workflow
  4. Build: Workflow generates static HTML artifacts
  5. Deploy: Artifacts deploy to all four hosting platforms
  6. Live: Changes appear on wikinder.org and mirrors

For detailed information about this workflow, see Content Management Workflow and GitHub Actions Workflow.

Sources: .github/workflows/static.yml1-52 README.md5

Summary

Wikinder is a static educational wiki that combines:

  • Open Source: GitHub-hosted repository and wiki
  • Open License: CC BY-SA 4.0 for all content
  • Resilient Hosting: Four independent platforms
  • Long-term Preservation: Three archival services
  • Standards Compliance: HTML5, Open Graph, Schema.org
  • Collaborative Editing: GitHub Wiki interface
  • Automated Deployment: GitHub Actions CI/CD

This architecture prioritizes content accessibility, longevity, and collaborative contribution while maintaining technical simplicity through static HTML generation.

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