| | # How to edit |
| | |
| | The ALB wiki is written by its readers — **anyone can edit any page, no account needed**. Click the **Edit** tab on any article, change the text, write a short summary, and hit **Save page**. Your change is live immediately and kept in the page's history forever. |
| | |
| | > Be bold. If you see something wrong or missing, fix it — you can't break anything, every old revision is kept. |
| | |
| | ## Markup |
| | |
| | The wiki uses Markdown plus wiki-style `[[links]]`: |
| | |
| | | What you want | What you type | |
| | | --- | --- | |
| | | Headings | `# Title`, `## Section`, `### Part` | |
| | | Bold / italic | `**bold**`, `*italic*` | |
| | | Inline code | `\`PRINT\`` | |
| | | Code block | a fenced block starting and ending with `\`\`\`` | |
| | | Bullet list | `- item` or `* item` | |
| | | Numbered list | `1. item` | |
| | | Quote | `> words` | |
| | | Internal link | `[[Page name]]` or `[[Page name|shown text]]` | |
| | | Section link | `[[Page#Section]]` or `[[Page#Section|text]]` | |
| | | Same-page jump | `[[#Section|text]]` | |
| | | Category | `[[Category:Name]]` anywhere in the page | |
| | | Category link | `[[:Category:Name]]` — links it without filing the page | |
| | | Special page | `[[Special:AllPages]]` | |
| | | External link | `[label](https://example.org)` | |
| | | Horizontal rule | `---` on its own line | |
| | | Table | rows separated by `|` (see below) | |
| | | Image | `[[File:name.png|caption|right|300px]]` | |
| | | Infobox | `{{infobox … }}` (see below) | |
| | | Redirect | `#REDIRECT [[Page name]]` as the whole page | |
| | |
| | ## Callout boxes and flow frames |
| | |
| | Fenced blocks get a second life: give the opening fence a **type** and the block becomes a styled callout box instead of code. Anything after the type on the fence line becomes the box's title � and titles may contain [[links]]. |
| | |
| | ``` |
| | ```note Optional title |
| | Text, *markup*, and [[links]] all work inside. |
| | ``` |
| | ``` |
| | |
| | | Type | Look | Use | |
| | | --- | --- | --- | |
| | | ```note | navy | Asides, clarifications | |
| | | ```fact | gold | Did-you-know nuggets | |
| | | ```tip | green | Helpful advice | |
| | | ```warn | red | Cautions, corrections | |
| | | ```quote | brown | Pull quotes | |
| | | ```alb | gold + brown | The signature ALB box � for ALB-related notes on any page | |
| | | ```frame or ```box | gold | A bordered frame for excerpts and examples | |
| | | ```flow | navy | ASCII flowcharts and diagrams � text stays monospace | |
| | |
| | Custom colors: ```box:gold, ```box:red, ```box:navy, ```box:brown, ```box:green, ```box:cyan � or any hex like ```box:#ff6600. |
| | |
| | For ```flow, draw the diagram in plain ASCII � it renders verbatim inside a branded frame: |
| | |
| | ```flow Edit cycle |
| | idea -> edit -> preview -> save -> published |
| | ``` |
| | |
| + | ## Flowcharts � ```chart |
| + | |
| + | For real diagrams, ```chart draws a styled flowchart as SVG. One line per node, one line per chain of arrows: |
| + | |
| + | ``` |
| + | ```chart How a program runs |
| + | terminal begin "BEGIN" |
| + | process win "CREATE_WINDOW" |
| + | decision ev "event waiting?" |
| + | process tick "ON TICK" |
| + | terminal done "END" |
| + | |
| + | begin -> win -> ev |
| + | ev -yes-> tick -> ev |
| + | ev -no-> done |
| + | ``` |
| + | ``` |
| + | |
| + | | Shape type | Drawn as | Meaning | |
| + | | --- | --- | --- | |
| + | | `terminal` | rounded pill | start / end | |
| + | | `process` | rectangle | statements, work | |
| + | | `decision` | diamond | logic gate � branch with `-yes->` / `-no->` | |
| + | | `input`, `output` | parallelogram | I/O | |
| + | | `call` | side-barred rectangle | subroutine call | |
| + | |
| + | Arrows chain freely: `a -> b -> c`. Labels go on the left of an arrow: `ev -yes-> tick`. An arrow back to an earlier node draws as a loop return on the left side. Use `\n` inside a label for a second line. Keep charts simple � one entry, top-down flow; anything busier belongs in an image. |
| + | |
| + | |
| | |
| | ## Links |
| | |
| | Internal links are the wiki's connective tissue. Type `[[Getting Started]]` and the wiki links it automatically: |
| | |
| | - **Blue links** go to pages that exist. |
| | - **Red links** go to pages that *don't* exist yet — click one to create it. Red links are invitations, not errors. |
| | - Use `[[AdaLogic BASIC|the language]]` to show different text than the page name. |
| | - **Links work inside headings too** — `### [[Jacquard Loom|The Jacquard loom (1801–1804)]]` makes the whole heading a link, which is how section titles point to their own articles. |
| | |
| | ## Tables |
| | |
| | Tables use pipe rows: |
| | |
| | ``` |
| | | Name | Born | Known for | |
| | | --- | --- | --- | |
| | | [[Ada Lovelace]] | 1815 | The first published program | |
| | | [[Alan Turing]] | 1912 | The universal machine | |
| | ``` |
| | |
| | The `---` row under the header separates it from the body. Links work inside cells. |
| | |
| | ## Redirects |
| | |
| | If a page is just another name for an article, make its entire content: |
| | |
| | ``` |
| | #REDIRECT [[Real page name]] |
| | ``` |
| | |
| | Readers hitting it are forwarded automatically. `?redirect=no` in the URL shows the stub itself so it can be edited. Use redirects for aliases, alternate spellings, and common short names — like `ENIAC six` → `[[The first programmers]]`. |
| | |
| | ## Contents boxes and section links |
| | |
| | Every heading gets an anchor automatically — a `## Controversy` section can be linked as `[[Page name#Controversy]]`. Pages with three or more headings get a floating **Contents** box generated automatically; nothing to type. |
| | |
| | ## Images and infoboxes |
| | |
| | `[[File:portrait.png|caption text|right|250px]]` embeds an image — the file must already exist under `/media/wiki/` on the site. Optional parameters: `right` / `left` / `center` alignment and a pixel width like `250px`; the remaining parameter is the caption, and links work inside it. Markdown-style `` images also work for files anywhere under `/media/`. |
| | |
| | For a fact card at the top of an article — the box of dates and names on a biography — use an infobox: |
| | |
| | ``` |
| | {{infobox |
| | | title = Ada Lovelace |
| | | born = 10 December 1815 |
| | | died = 27 November 1852 |
| | | known_for = First published program |
| | }} |
| | ``` |
| | |
| | It floats right with a title row and key/value rows. Add `image` and `caption` keys to embed a `/media/wiki/` file inside the box. Links work inside values. |
| | |
| | ## Categories |
| | |
| | Put `[[Category:History]]` anywhere in a page's text to file it. The category box appears at the bottom, and the page shows up automatically on that category's listing. Categories are created just by being used — no setup needed. To *link* a category page without filing the current one, write `[[:Category:History]]`. |
| | |
| | Current categories include `Language`, `History`, `People`, `Hardware`, `Languages`, `Companies`, `Mathematics`, `Reference`, `Wiki`, and `Help` — but anyone can start a new one. |
| | |
| | ## History, diffs, and reverting |
| | |
| | - The **History** tab lists every revision ever made — who, when, and the summary. |
| | - Click **diff** next to any revision to see exactly what changed, line by line. |
| | - Click **revert** to restore an older revision. A revert is itself a new revision — history is never destroyed, and vandalism can be undone by anyone in seconds. |
| | |
| | ## Finding pages |
| | |
| | - **Search** (top of every wiki page) finds text in titles and bodies. |
| | - **Special:AllPages** lists every article alphabetically. |
| | - **Special:RecentChanges** shows the latest edits across the whole wiki. |
| | - **Special:WhatLinksHere/Page name** lists every page that links to it — also reachable from the "What links here" link in each article's footer. |
| | - **Special:LonelyPages** lists pages nothing links to — orphans waiting for a mention. |
| | - **Special:DeadendPages** lists pages that link nowhere — add `[[links]]` and the web grows. |
| | |
| | ## Good pages to write |
| | |
| | This wiki has two growing halves, and both want new pages: |
| | |
| | **The ALB reference** — language documentation: |
| | - One page per statement, function, or keyword |
| | - Tutorials and worked examples |
| | - Patterns and idioms — how to structure an ALB program |
| | - Gotchas, pitfalls, frequently asked questions |
| | - Glossary pages for terms beginners meet |
| | |
| | **The history encyclopedia** — the story of programming, already underway: |
| | - People: [[Ada Lovelace]], [[Alan Turing]], [[John von Neumann]], [[Herman Hollerith]], [[Joseph-Marie Jacquard]], the [[The first programmers|ENIAC six]] |
| | - Machines and documents: [[Jacquard Loom]], [[Analytical Engine]], [[EDVAC report]], [[Manchester Baby]], [[EDSAC]], [[IBM]] |
| | - Languages: [[FORTRAN]], [[LISP]], [[ALGOL]] |
| | - Red links everywhere are the to-do list — pick one and write it. |
| | |
| | ## Style notes |
| | |
| | * **Keep it family-friendly** — this is a learning site. |
| | * Write plainly and factually; teach, don't advertise. |
| | * Prefer short sections with headings over one wall of text. |
| | * Link generously — every proper name, machine, and language in a sentence deserves a `[[link]]`, even if it's red. |
| | * Code examples should be real, working ALB. |
| | * Always fill in the **summary** line — it makes Recent Changes and History readable. |
| | |
| | ## House rules |
| | |
| | * Edits are public immediately — don't post private information. |
| | * Pages can be protected and edits logged; spam and vandalism get reverted quickly. |
| | * Anonymous edits are attributed "Anonymous"; signed-in members get credited by username. |
| | |
| | [[Category:Wiki]] |
| | [[Category:Help]] |
| | |