Skip to content
ALB Wiki

Diff — Wiki Help

Comparing rev 9 → rev 10

# 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]].
+
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 |
+
| ```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 |
+
| ```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.
+
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:
+
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
+
## 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->` |
+
| `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.
+
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 `![alt](/media/…)` 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.
# ALB Wiki 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]]