Compare commits

..
29 Commits
Author SHA1 Message Date
yann64andClaude Opus 5.5 bfb34266c8 check_links: ignore code samples in <pre> blocks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-14 18:45:09 +02:00
yann64andClaude Opus 5.5 0663e96a46 Search box visible on small screens; year column on one line
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 20:58:36 +02:00
yann64andClaude Opus 5.5 c6c5bd8563 Odyssey 200: new forum thread (scanner junk removed from the comments)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 19:35:23 +02:00
yann64andClaude Opus 5.5 7edf5ff4a9 Forum README: correct the Synology permission notes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 19:24:46 +02:00
yann64andClaude Opus 5.5 7d3b1bec89 Look: Terminal theme (panr/hugo-theme-terminal v4.2.6), adapted to the museum
Theme vendored unmodified in themes/terminal; base, head, header, footer and post templates
rewritten in its markup; museum components restyled in assets/css/museum.css. Embedded forum
threads follow the same colours.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 19:03:12 +02:00
yann64andClaude Opus 5.5 b1301dcafb Forum: spam filter fof/anti-spam in the image and server bundle
README: update procedure that keeps the Synology ACLs, and how to repair them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 17:38:32 +02:00
yann64andClaude Opus 5.5 b274874139 All machines linked to their forum thread (full comment import)
1,289 discussions, 9,527 archived comments; pages no longer carry the comments themselves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 17:26:43 +02:00
yann64andClaude Opus 5.5 055c3924f2 Interact: links to the recovered PDF documents
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 16:51:34 +02:00
yann64andClaude Opus 5.5 2026446ce1 Six PDF documents recovered (file names with spaces)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 16:50:39 +02:00
yann64andClaude Opus 5.5 de19014649 Content with the complete media download (15,344 files)
228 files were never archived; see docs/not-recovered.md in the extraction repo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 16:47:19 +02:00
yann64andClaude Opus 5.5 be4536ac46 Content refresh: 15 more media files
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-13 07:06:25 +02:00
yann64andClaude Opus 5.5 dfb2d2ce68 Tables with a header row can be sorted by clicking a column header
Listing tables on company, taxonomy and generic list pages get column headers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-12 21:03:41 +02:00
yann64andClaude Opus 5.5 c913d792c4 Content refresh: 5,041 more media files from the running download
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-12 20:34:14 +02:00
yann64andClaude Opus 5.5 1a7698634a Companies page: group manufacturers by letter
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-12 08:21:54 +02:00
yann64andClaude Opus 5.5 3eeabe9649 Full content from the completed page crawl (media download still running)
6,654 pages: 1,289 machines, 702 software, 460 companies, 64 history, 17 articles, 59 fun.
4,336 media files so far; references to files not downloaded yet are left out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-12 07:55:22 +02:00
yann64andClaude Opus 5.5 785c4967be Comments on news posts: one forum discussion per post
oc:pages command in the forum extension, tools/forum_sync.py and
'make forum-sync' (run by deploy) keep data/forum_pages.json up to date;
post pages end with their discussion.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 22:22:20 +02:00
yann64 418913d47e Add warning about fake/generated news for test purposes. 2026-10-11 22:19:40 +02:00
yann64andClaude Opus 5.5 e8e9a62899 Forum embed: light background for the reply box
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 22:17:23 +02:00
yann64andClaude Opus 5.5 2e1c22a976 README: comments are no longer a tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 22:07:40 +02:00
yann64andClaude Opus 5.5 2edf77aaa7 Comments at the bottom of machine pages instead of a tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 22:07:30 +02:00
yann64andClaude Opus 5.5 696dfe5e77 Forum import: archived comments posted under their original author names
One account per original author (nickname = name as signed on the old
site, group 'Original site'), display-name driver 'museum' keeps the
brackets; --replace re-imports threads without real replies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 22:03:07 +02:00
yann64andClaude Opus 5.5 e9fb8f2c6e Forum notes: specifics of the test server install
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 21:56:41 +02:00
yann64andClaude Opus 5.5 42ef17fe30 Comments served by the forum on the test server
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 21:56:27 +02:00
yann64andClaude Opus 5.5 054e135f7e Forum notes: keep an uninstalled forum locked
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 21:39:22 +02:00
yann64andClaude Opus 5.5 09cdac3613 Forum: PHP 8.4 test image, server bundle, install notes for the test server
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 21:36:24 +02:00
yann64andClaude Opus 5.5 32b735283e Forum integration: Flarum extension, local test stack, embedded comments
- forum/extension: oc:import command (archived comments -> one thread per
  machine) and embed styling
- forum/docker: local Flarum 2 test stack
- site: optional params.forum.url adds a Forum menu entry and shows the
  machine thread in the Comments tab

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 21:21:08 +02:00
yann64andClaude Opus 5.5 2b5c9df929 External links open in a new tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
2026-10-11 21:05:40 +02:00
yann64 9acee407d4 image->banner 2026-10-11 21:00:30 +02:00
yann64 7534c4cd57 max posts by pages=10 2026-10-11 20:59:52 +02:00
21145 changed files with 285250 additions and 1071 deletions

No files matched your search

+1
View File
@@ -4,3 +4,4 @@
.hugo_build.lock
__pycache__/
node_modules/
/forum/import/
+33 -3
View File
@@ -6,11 +6,16 @@ PAGEFIND ?= npx -y pagefind@1
# test server: the web share of barbel-lescar, mounted from the file manager (smb://barbel-lescar/web)
DEPLOY_DIR ?= /run/user/$(shell id -u)/gvfs/smb-share:server=barbel-lescar,share=web/oldcomputers
DEPLOY_URL ?= https://barbel.synology.me/oldcomputers/
# forum on the server (comment discussions of the news posts, see forum-sync): FORUM_RUN runs a
# shell line where the forum lives; empty = no forum, deploy then skips the sync
FORUM_RUN ?= ssh -p 27 yannick@192.168.1.98
FORUM_DIR ?= /volume2/web/oldcomputers-forum
FORUM_PHP ?= /usr/local/bin/php84 -d memory_limit=512M
.PHONY: content build check serve deploy post
.PHONY: content build check serve deploy post forum-up forum-import forum-down forum-bundle forum-sync
content: ## regenerate content/ and static/media/ from the extraction repo
python3 $(OC)/scripts/05_hugo.py --target $(CURDIR)
python3 $(OC)/scripts/05_hugo.py --target $(CURDIR) $(if $(wildcard data/forum.json),--forum)
build: ## build the site and its search index into $(BUILD)/
rm -rf $(BUILD)
@@ -27,8 +32,33 @@ post: ## new post: make post NAME=my-title, then edit content/post/<tod
@test -n "$(NAME)" || { echo "usage: make post NAME=my-title"; exit 1; }
hugo new content post/$(shell date +%F)-$(NAME).md
deploy: check ## build, check, and copy $(BUILD)/ to DEPLOY_DIR (served at DEPLOY_URL)
forum-sync: ## create the forum discussion of each new news post (updates data/forum_pages.json)
ifneq ($(strip $(FORUM_RUN)),)
python3 tools/forum_sync.py --run '$(FORUM_RUN)' --dir '$(FORUM_DIR)' --php '$(FORUM_PHP)' --site-url '$(DEPLOY_URL)'
endif
deploy: forum-sync check ## build, check, and copy $(BUILD)/ to DEPLOY_DIR (served at DEPLOY_URL)
@test -d "$(dir $(DEPLOY_DIR))" || { echo "share not mounted: $(dir $(DEPLOY_DIR))"; exit 1; }
mkdir -p "$(DEPLOY_DIR)"
rsync -r --size-only --info=stats1 $(BUILD)/media/ "$(DEPLOY_DIR)/media/"
rsync -rc --delete --exclude=/media/ --info=stats1 $(BUILD)/ "$(DEPLOY_DIR)/"
# --- local test forum (Flarum in Docker, see forum/README.md) ---
FORUM = docker compose -f forum/docker-compose.yml
SITE_URL ?= http://localhost:1313
forum-up: ## start the test forum on http://localhost:8081 (admin / adminadmin)
$(FORUM) up -d --build
forum-import: ## export the archived comments and import them into the test forum
python3 $(OC)/scripts/06_forum.py --target $(CURDIR)
$(FORUM) exec -T flarum php flarum oc:import /import/machines.json --site-url=$(SITE_URL) --map=/import/forum.json
forum-down: ## stop the test forum (forum-db volume keeps its data)
$(FORUM) down
forum-bundle: ## build forum/import/forum.tar.gz: Flarum + extension, to copy to the server
mkdir -p forum/import
$(FORUM) build flarum
docker run --rm --entrypoint /bundle.sh -v $(CURDIR)/forum/docker/bundle.sh:/bundle.sh:ro \
-v $(CURDIR)/forum/extension:/extension:ro -v $(CURDIR)/forum/import:/out forum-flarum
+16 -1
View File
@@ -10,7 +10,10 @@ Static rebuild of old-computers.com with [Hugo](https://gohugo.io/) (0.158 or ne
| `static/media/` | generated (copied images and documents) |
| `data/slugs.json` | generated, keeps URLs stable between runs — do not delete |
| `content/post/` | written by hand: news posts, see below |
| `data/forum.json`, `data/forum_pages.json` | machine → forum thread and news post → forum thread maps, written by the forum import and by `make forum-sync` |
| `forum/` | forum extension, local test stack, install notes |
| `content/_index.md`, `layouts/`, `assets/`, `hugo.toml`, `tools/` | written by hand |
| `themes/terminal/` | the [Terminal](https://github.com/panr/hugo-theme-terminal) theme (MIT), unmodified copy of v4.2.6; adapted by the project's `layouts/` (base, head, header, footer, posts) and `assets/css/museum.css`; palette in `assets/css/terminal.css` if overridden |
| `build/`, `public/` | build output (`make build`, `hugo server`), not versioned |
Content pages are Markdown with YAML front matter and can be corrected by hand, but a later
@@ -30,15 +33,27 @@ banner, date, author and summary (`summary:` in the front matter, or the text be
author's page, `listPosts` per page (20 by default). Posts are never touched by
`make content`.
With a forum, each published post gets a comment discussion, shown under the post. The
discussion is created by `make forum-sync`, which `make deploy` runs first: it lists the posts,
has the forum create the missing discussions and records them in `data/forum_pages.json`.
## Search
Search runs in the visitor's browser on an index generated by [Pagefind](https://pagefind.app/)
at the end of `make build` (fetched by `npx`, so Node.js is needed to build). The header box
sends to `/search/`, where results can be filtered by section. Content pages are indexed
(`data-pagefind-body` on `<main>` in `layouts/baseof.html`); lists, taxonomy pages and the
visitor-comments tabs are not. `hugo server` has no index: use `make build` and serve `build/`
visitor comments are not. `hugo server` has no index: use `make build` and serve `build/`
to try the search locally.
## Forum and comments
A [Flarum](https://flarum.org/) forum can run next to the site and serve as its comment system:
with `params.forum.url` set in `hugo.toml`, the menu gets a Forum entry and every page of a
machine ends with that machine's forum thread (archived comments first, new replies after).
With the url empty the site has no forum and shows the archived comments as static text.
Everything about the forum is in [`forum/README.md`](forum/README.md).
## Usage
make content # regenerate from ../oc (OC=path to use another location)
-164
View File
@@ -1,164 +0,0 @@
:root {
--bg: #f6f3ea;
--panel: #fffdf7;
--text: #24221d;
--muted: #6b665a;
--line: #d9d2bf;
--accent: #9a3412;
--header: #2b2a26;
--header-text: #f6f3ea;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #1b1a17;
--panel: #24231f;
--text: #e8e4d8;
--muted: #a39d8d;
--line: #3b3932;
--accent: #f0a070;
--header: #111110;
--header-text: #e8e4d8;
}
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--text);
font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
}
a { color: var(--accent); }
img { max-width: 100%; height: auto; }
main, .site-footer { max-width: 1000px; margin: 0 auto; padding: 16px; }
h1 { font-size: 1.7rem; line-height: 1.2; margin: 0.3em 0 0.6em; }
h2 { font-size: 1.2rem; margin: 1.6em 0 0.5em; border-bottom: 1px solid var(--line); padding-bottom: 4px; }
small, .meta, .note, .crumbs { color: var(--muted); }
.crumbs { font-size: 0.9rem; margin: 0; }
.site-header {
background: var(--header);
color: var(--header-text);
display: flex;
flex-wrap: wrap;
gap: 8px 24px;
align-items: center;
padding: 10px 16px;
}
.site-header a { color: inherit; text-decoration: none; }
.brand { font-family: ui-monospace, "Courier New", monospace; font-weight: 700; letter-spacing: 1px; }
.brand span { opacity: 0.6; }
.site-header nav { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.site-header nav a { opacity: 0.8; padding: 2px 0; border-bottom: 2px solid transparent; }
.site-header nav a:hover, .site-header nav a.active { opacity: 1; border-color: var(--accent); }
.site-footer { color: var(--muted); font-size: 0.85rem; border-top: 1px solid var(--line); margin-top: 32px; }
.content { overflow-wrap: anywhere; }
.content table { max-width: 100%; }
.logo { max-height: 48px; width: auto; vertical-align: middle; margin-right: 12px; background: #fff; padding: 2px; }
.main-image { float: right; max-width: 45%; margin: 0 0 12px 16px; }
@media (max-width: 600px) { .main-image { float: none; max-width: 100%; margin: 0 0 12px; display: block; } }
.tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 16px; border-bottom: 1px solid var(--line); }
.tabs a {
padding: 6px 12px;
text-decoration: none;
color: var(--text);
border: 1px solid transparent;
border-bottom: 0;
border-radius: 4px 4px 0 0;
}
.tabs a:hover { background: var(--panel); }
.tabs a.active { background: var(--panel); border-color: var(--line); font-weight: 600; margin-bottom: -1px; }
table { border-collapse: collapse; }
.specs, .list { width: 100%; clear: both; margin: 16px 0; background: var(--panel); }
.specs th, .specs td, .list td { padding: 6px 10px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.specs th { width: 30%; font-size: 0.8rem; letter-spacing: 0.5px; color: var(--muted); }
.list { table-layout: fixed; }
.list td:first-child { width: 45%; }
.list td:nth-child(2) { width: 12%; }
.list td:nth-child(4) { width: 15%; }
.list { font-size: 0.95rem; }
@media (max-width: 600px) { .list td:nth-child(4) { display: none; } }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.gallery figure, .thumbs a, .card, .comments li {
margin: 0;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 4px;
padding: 10px;
}
.gallery img { display: block; margin: 0 auto 8px; }
.gallery figcaption strong, .gallery figcaption em { display: block; }
.gallery figcaption div { font-size: 0.9rem; margin-top: 6px; overflow-wrap: anywhere; }
.thumbs, .cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.thumbs a, .card { text-decoration: none; color: var(--text); display: block; }
.thumbs img { display: block; width: 100%; height: 120px; object-fit: cover; margin-bottom: 6px; }
.thumbs span, .card span { font-size: 0.85rem; color: var(--muted); display: block; }
.card strong { display: block; color: var(--accent); }
.browse, .letters { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 0; list-style: none; }
.columns { columns: 220px; padding-left: 18px; }
.links { padding-left: 18px; }
.entries dt { font-weight: 600; margin-top: 12px; }
.entries dd { margin: 2px 0 0; }
.timeline { list-style: none; padding: 0; }
.timeline li { padding: 6px 0; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.timeline time { min-width: 130px; color: var(--muted); font-size: 0.85rem; text-transform: uppercase; }
.comments { list-style: none; padding: 0; }
.comments li { margin-bottom: 12px; overflow-wrap: anywhere; }
.comments .meta { margin: 0 0 6px; font-size: 0.9rem; }
.prev-next { display: flex; justify-content: space-between; gap: 16px; margin-top: 24px; }
.posts { display: grid; gap: 16px; }
.post-summary {
display: grid;
grid-template-columns: minmax(0, 280px) 1fr;
gap: 16px;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 4px;
padding: 12px;
}
.post-summary:not(:has(.post-image)) { grid-template-columns: 1fr; }
.post-summary .post-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 2px; }
.post-summary h3 { margin: 0 0 2px; font-size: 1.15rem; }
.post-summary .meta { margin: 0 0 8px; font-size: 0.85rem; }
.post-summary p:last-child { margin-bottom: 0; }
.post-banner { display: block; width: 100%; max-height: 420px; object-fit: cover; margin: 0 0 16px; border-radius: 4px; }
@media (max-width: 600px) { .post-summary { grid-template-columns: 1fr; } }
.site-header .search { margin-left: auto; }
.site-header .search input {
width: 180px;
max-width: 100%;
padding: 4px 10px;
border: 1px solid transparent;
border-radius: 14px;
background: rgba(255, 255, 255, 0.12);
color: inherit;
font: inherit;
font-size: 0.9rem;
}
.site-header .search input::placeholder { color: inherit; opacity: 0.6; }
.site-header .search input:focus { outline: none; border-color: var(--accent); background: rgba(255, 255, 255, 0.2); }
/* Pagefind result list, in the site colours */
#search {
--pagefind-ui-primary: var(--accent);
--pagefind-ui-text: var(--text);
--pagefind-ui-background: var(--panel);
--pagefind-ui-border: var(--line);
--pagefind-ui-tag: var(--bg);
--pagefind-ui-border-width: 1px;
--pagefind-ui-border-radius: 4px;
--pagefind-ui-image-border-radius: 2px;
--pagefind-ui-font: inherit;
--pagefind-ui-scale: 0.85;
}
#search mark { background: none; color: inherit; font-weight: 700; }
.pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 24px 0 0; }
.pager a, .pager .current { padding: 4px 10px; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; background: var(--panel); }
.pager .current { font-weight: 700; border-color: var(--accent); }
+146
View File
@@ -0,0 +1,146 @@
/* Old-Computers.com on top of the Terminal theme (themes/terminal): the museum's own components,
drawn with the theme's three colours. Change the palette in assets/css/terminal.css. */
:root {
--text: var(--foreground);
--bg: var(--background);
--panel: color-mix(in srgb, var(--foreground) 5%, transparent);
--line: color-mix(in srgb, var(--foreground) 22%, transparent);
--muted: color-mix(in srgb, var(--foreground) 65%, transparent);
}
/* layout: wider than the theme's blog column, for the listing tables */
.container.center { max-width: 1100px; }
@media (max-width: 684px) { .container { padding: 20px; } }
.page { flex: 1; width: 100%; }
.content { display: block; overflow-wrap: anywhere; }
.page > h1:first-child, .page > article > h1:first-child { margin-top: 10px; }
h2 { border-bottom: 1px dotted var(--accent); padding-bottom: 6px; margin-top: 40px; }
small, .meta, .note, .crumbs { color: var(--muted); }
.crumbs { font-size: 0.9rem; margin: 10px 0 0; }
.crumbs + h1 { margin-top: 10px; }
/* header: active section, search box */
.navigation-menu a { text-decoration: none; }
.navigation-menu a:hover { text-decoration: underline; }
.navigation-menu a.active { background: var(--accent); color: var(--background); padding: 2px 6px; }
.navigation-menu .search input { width: 16ch; padding: 2px 8px; border-color: var(--accent); }
.navigation-menu .search { flex: 0 0 auto; margin-left: 20px; }
@media (max-width: 684px) {
.navigation-menu { margin: 15px 0 0; }
.navigation-menu .search { flex: 1; margin-left: 0; }
.navigation-menu .search input { width: 100%; padding: 6px 10px; }
}
.navigation-menu .search input::placeholder { color: var(--muted); }
.footer p { margin: 4px 0; white-space: normal; }
.footer .copyright { flex-direction: column; }
/* images: the theme frames every image heavily; keep that for post covers only */
img { height: auto; border-width: 1px; padding: 4px; border-color: var(--line); }
.post-cover { border: 8px solid var(--accent); padding: 8px; width: 100%; max-height: 420px; object-fit: cover; margin: 20px 0; }
.on-list .post-cover { max-height: 260px; }
.post-image { display: block; }
.content img { display: inline-block; vertical-align: middle; margin: 4px 0; }
.maker-logo { display: inline-block; max-height: 48px; width: auto; vertical-align: middle; margin: 0 12px 0 0; background: #fff; padding: 2px; }
.main-image { float: right; max-width: 45%; margin: 0 0 12px 16px; background: #fff; }
@media (max-width: 600px) { .main-image { float: none; max-width: 100%; margin: 0 0 12px; display: block; } }
/* machine tabs */
.tabs { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 20px; border-bottom: 1px solid var(--accent); }
.tabs a { padding: 4px 10px; text-decoration: none; }
.tabs a::before { content: "["; opacity: 0.5; }
.tabs a::after { content: "]"; opacity: 0.5; }
.tabs a:hover { background: var(--panel); }
.tabs a.active { background: var(--accent); color: var(--background); font-weight: bold; }
/* tables */
table, th, td { border-width: 1px; border-color: var(--line); padding: 6px 10px; }
.content table { max-width: 100%; }
.specs, .list { width: 100%; clear: both; margin: 16px 0; background: var(--panel); }
.specs th, .specs td, .list th, .list td { text-align: left; vertical-align: top; }
.specs th { width: 30%; font-size: 0.8rem; color: var(--accent); }
.list { table-layout: fixed; font-size: 0.9rem; }
.list :is(th, td):first-child { width: 42%; }
.list :is(th, td):nth-child(2) { width: 10%; }
.list :is(th, td):nth-child(4) { width: 17%; }
@media (max-width: 600px) { .list :is(th, td):nth-child(4) { display: none; } }
@media (max-width: 600px) {
/* the year must stay on one line */
.list :is(th, td):nth-child(2) { width: 7ch; padding-left: 6px; padding-right: 6px; }
.list :is(th, td):first-child { width: 50%; }
}
.list thead th { font-size: 0.8rem; color: var(--accent); }
.sortable th { cursor: pointer; user-select: none; white-space: nowrap; }
.sortable th:hover, .sortable th:focus-visible { text-decoration: underline; }
.sortable th::after { content: " ↕"; opacity: 0.4; }
.sortable th[aria-sort="ascending"]::after { content: " ↑"; opacity: 1; }
.sortable th[aria-sort="descending"]::after { content: " ↓"; opacity: 1; }
/* galleries, thumbnails, cards */
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.gallery figure, .thumbs a, .card, .comments li {
margin: 0;
width: auto;
background: var(--panel);
border: 1px solid var(--line);
padding: 10px;
}
.gallery img { display: block; margin: 0 auto 8px; background: #fff; }
.gallery figure figcaption { background: none; color: inherit; text-align: left; margin: 0; padding: 0; font-size: 0.9rem; }
.gallery figcaption strong { display: block; color: var(--accent); }
.gallery figcaption em { display: block; }
.gallery figcaption div { margin-top: 6px; overflow-wrap: anywhere; }
.gallery figcaption p { margin: 6px 0; }
.thumbs, .cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin: 20px 0; }
.thumbs a, .card { text-decoration: none; color: var(--text); display: block; }
.thumbs a:hover, .card:hover { border-color: var(--accent); }
.thumbs img { display: block; width: 100%; height: 120px; object-fit: cover; margin: 0 0 6px; padding: 0; border: 0; background: #fff; }
.thumbs span, .card span { font-size: 0.85rem; color: var(--muted); display: block; }
.card strong { display: block; color: var(--accent); }
.card strong::before { content: "> "; }
/* lists */
.browse, .letters { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 20px 0; padding: 0; list-style: none; }
.letters a { text-decoration: none; }
.letters a::before { content: "["; opacity: 0.5; }
.letters a::after { content: "]"; opacity: 0.5; }
.columns { columns: 260px; margin-left: 0; padding-left: 2ch; list-style: none; }
.columns li::before, .links li::before { content: "-"; position: absolute; left: -2ch; color: var(--accent); }
.links { margin-left: 0; padding-left: 2ch; list-style: none; }
.entries dt { font-weight: bold; margin-top: 14px; color: var(--accent); }
.entries dd { margin: 2px 0 0; }
.timeline { list-style: none; margin-left: 0; padding: 0; }
.timeline li { padding: 6px 0; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.timeline time { min-width: 130px; color: var(--muted); font-size: 0.85rem; text-transform: uppercase; }
.comments { list-style: none; margin-left: 0; padding: 0; }
.comments li { margin-bottom: 12px; overflow-wrap: anywhere; }
.comments .meta { margin: 0 0 6px; font-size: 0.9rem; }
.prev-next { display: flex; justify-content: space-between; gap: 16px; margin-top: 30px; }
.prev-next a { text-decoration: none; }
/* posts: the theme's own markup; pagination with page numbers */
.posts .post:first-child { padding-top: 10px; }
.post-author a { color: inherit; }
.pagination .current { color: var(--accent); font-weight: bold; }
/* Pagefind result list, in the theme colours */
#search {
--pagefind-ui-primary: var(--accent);
--pagefind-ui-text: var(--foreground);
--pagefind-ui-background: var(--background);
--pagefind-ui-border: var(--accent);
--pagefind-ui-tag: var(--panel);
--pagefind-ui-border-width: 1px;
--pagefind-ui-border-radius: 0;
--pagefind-ui-image-border-radius: 0;
--pagefind-ui-font: inherit;
--pagefind-ui-scale: 0.85;
margin-top: 20px;
}
#search mark { background: none; color: var(--accent); font-weight: bold; }
#search img { border: 0; padding: 0; margin: 0; }
#search ul, #search ol { margin: 0; }
#search button { border-width: 1px; }
.forum-thread { display: block; width: 100%; min-height: 400px; border: 1px solid var(--line); }
.comments-section { clear: both; margin-top: 40px; }
+21
View File
@@ -0,0 +1,21 @@
/*! iFrame Resizer (iframeSizer.min.js ) - v4.4.5 - 2024-07-10
* Desc: Force cross domain iframes to size to content.
* Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
* Copyright: (c) 2024 David J. Bradshaw - dave@bradshaw.net
* License: MIT
*/
console.info(`
IFRAME-RESIZER
Iframe-Resizer 5 is now available via the following two packages:
* @iframe-resizer/parent
* @iframe-resizer/child
Additionally their are also new versions of iframe-resizer for React, Vue, and jQuery.
Version 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.
Please see https://iframe-resizer.com/upgrade for more details.
`),function(d){var c,l,f,a,v,z,I,x,r,u,M,i,m,k;function g(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function F(e,n,i){e.addEventListener(n,i,!1)}function B(e,n,i){e.removeEventListener(n,i,!1)}function w(e){return z+"["+(n="Host page: "+(e=e),n=window.top!==window.self?window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e:n)+"]";var n}function t(e){return M[e]?M[e].log:f}function R(e,n){o("log",e,n,t(e))}function O(e,n){o("info",e,n,t(e))}function E(e,n){o("warn",e,n,!0)}function o(e,n,i,t){!0===t&&"object"==typeof window.console&&console[e](w(n),i)}function n(e){function i(){t("Height"),t("Width"),P(function(){H(w),C(b),u("onResized",w)},w,"init")}function n(){var e=p.slice(I).split(":"),n=e[1]?parseInt(e[1],10):0,i=M[e[0]]&&M[e[0]].iframe,t=getComputedStyle(i);return{iframe:i,id:e[0],height:n+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.paddingTop?parseInt(e.paddingTop,10):0,e=e.paddingBottom?parseInt(e.paddingBottom,10):0;return n+e}(t)+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.borderTopWidth?parseInt(e.borderTopWidth,10):0,e=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return n+e}(t),width:e[2],type:e[3]}}function t(e){var n=Number(M[b]["max"+e]),i=Number(M[b]["min"+e]),e=e.toLowerCase(),t=Number(w[e]);R(b,"Checking "+e+" is in range "+i+"-"+n),t<i&&(t=i,R(b,"Set "+e+" to min value")),n<t&&(t=n,R(b,"Set "+e+" to max value")),w[e]=""+t}function o(){var t=e.origin,o=M[b]&&M[b].checkOrigin;if(o&&""+t!="null"&&!function(){if(o.constructor!==Array)return e=M[b]&&M[b].remoteHost,R(b,"Checking connection is from: "+e),t===e;var e,n=0,i=!1;for(R(b,"Checking connection is from allowed list of origins: "+o);n<o.length;n++)if(o[n]===t){i=!0;break}return i}())throw new Error("Unexpected message received from: "+t+" for "+w.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return 1}function a(e){return p.slice(p.indexOf(":")+v+e)}function s(i,t){var e,n,o;e=function(){var e,n;A("Send Page Info","pageInfo:"+(e=document.body.getBoundingClientRect(),n=w.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:n.height,iframeWidth:n.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(n.top-e.top,10),offsetLeft:parseInt(n.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),i,t)},n=32,k[o=t]||(k[o]=setTimeout(function(){k[o]=null,e()},n))}function r(e){e=e.getBoundingClientRect();return W(b),{x:Math.floor(Number(e.left)+Number(x.x)),y:Math.floor(Number(e.top)+Number(x.y))}}function d(e){var n=e?r(w.iframe):{x:0,y:0},i={x:Number(w.width)+n.x,y:Number(w.height)+n.y};R(b,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(x=i,c(),R(b,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](i.x,i.y):E(b,"Unable to scroll to requested position, window.parentIFrame not found")}function c(){!1===u("onScroll",x)?S():C(b)}function l(e){var e=e.split("#")[1]||"",n=decodeURIComponent(e),n=document.getElementById(n)||document.getElementsByName(n)[0];n?(n=r(n),R(b,"Moving to in page link (#"+e+") at x: "+n.x+" y: "+n.y),x={x:n.x,y:n.y},c(),R(b,"--")):window.top===window.self?R(b,"In page link #"+e+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(e):R(b,"In page link #"+e+" not found and window.parentIFrame not found")}function f(e){var n,i={};i=0===Number(w.width)&&0===Number(w.height)?{x:(n=a(9).split(":"))[1],y:n[0]}:{x:w.width,y:w.height},u(e,{iframe:w.iframe,screenX:Number(i.x),screenY:Number(i.y),type:w.type})}function u(e,n){return T(b,e,n)}function m(){switch(M[b]&&M[b].firstRun&&M[b]&&(M[b].firstRun=!1),w.type){case"close":N(w.iframe);break;case"message":n=a(6),R(b,"onMessage passed: {iframe: "+w.iframe.id+", message: "+n+"}"),u("onMessage",{iframe:w.iframe,message:JSON.parse(n)}),R(b,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":M[b].autoResize=JSON.parse(a(9));break;case"scrollTo":d(!1);break;case"scrollToOffset":d(!0);break;case"pageInfo":s(M[b]&&M[b].iframe,b),r=b,e("Add ",F),M[r]&&(M[r].stopPageInfo=o);break;case"pageInfoStop":M[b]&&M[b].stopPageInfo&&(M[b].stopPageInfo(),delete M[b].stopPageInfo);break;case"inPageLink":l(a(9));break;case"reset":j(w);break;case"init":i(),u("onInit",w.iframe);break;default:0===Number(w.width)&&0===Number(w.height)?E("Unsupported message received ("+w.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):i()}function e(n,i){function Line truncated
//# sourceMappingURL=iframeResizer.map
+53
View File
@@ -0,0 +1,53 @@
// Tables with a header row can be re-ordered by clicking a column header.
(function () {
function headerRow(table) {
if (table.tHead && table.tHead.rows.length) return table.tHead.rows[table.tHead.rows.length - 1];
var first = table.rows[0];
if (!first || first.cells.length < 2) return null;
for (var i = 0; i < first.cells.length; i++) if (first.cells[i].tagName !== "TH") return null;
return first;
}
function value(row, col) {
var cell = row.cells[col];
return cell ? cell.textContent.trim() : "";
}
function number(text) {
return /^[-+]?[\d.,\s]*\d[\d.,\s]*\S{0,3}$/.test(text) ? parseFloat(text.replace(/[\s,]/g, "")) : NaN;
}
function sort(table, head, th) {
var col = th.cellIndex, down = th.getAttribute("aria-sort") === "ascending";
var rows = [];
for (var b = 0; b < table.tBodies.length; b++)
for (var r = 0; r < table.tBodies[b].rows.length; r++)
if (table.tBodies[b].rows[r] !== head) rows.push(table.tBodies[b].rows[r]);
if (!rows.length) return;
var numeric = rows.every(function (row) { var v = value(row, col); return !v || !isNaN(number(v)); });
var compare = new Intl.Collator(undefined, { numeric: true, sensitivity: "base" }).compare;
rows.map(function (row, i) { return { row: row, text: value(row, col), i: i }; })
.sort(function (a, b) {
if (!a.text || !b.text) return a.text || b.text ? (a.text ? -1 : 1) : a.i - b.i; // empty cells last
var d = numeric ? number(a.text) - number(b.text) : compare(a.text, b.text);
return (down ? -d : d) || a.i - b.i;
})
.forEach(function (item) { rows[0].parentNode.appendChild(item.row); });
for (var i = 0; i < head.cells.length; i++) head.cells[i].removeAttribute("aria-sort");
th.setAttribute("aria-sort", down ? "descending" : "ascending");
}
document.querySelectorAll("table").forEach(function (table) {
var head = headerRow(table);
if (!head || table.querySelector("[rowspan], [colspan]")) return;
table.classList.add("sortable");
Array.prototype.forEach.call(head.cells, function (th) {
th.tabIndex = 0;
th.title = "Sort by this column";
th.addEventListener("click", function () { sort(table, head, th); });
th.addEventListener("keydown", function (e) {
if (e.key === "Enter" || e.key === " ") { e.preventDefault(); sort(table, head, th); }
});
});
});
})();
+2
View File
@@ -4,3 +4,5 @@ title: Old-Computers.com
Old-Computers.com was an online museum of home computers, video game consoles and pong
systems. The original site went offline after being defaced. This is a static rebuild of its
content, recovered from the [Internet Archive Wayback Machine](https://web.archive.org/web/2023/http://www.old-computers.com/).
**The following news are automatically generated to test the website formating and will be removed once the final website is pushed online:**
+8
View File
@@ -0,0 +1,8 @@
---
title: A10
params:
machines:
- /museum/a10-telespiel-9010
oc_id: 332
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ABS COMPUTER
params:
machines:
- /museum/abs-computer-orb
oc_id: 1
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: ACC
params:
logo: /media/museum/logos/acc_8000_logo_s1.gif
machines:
- /museum/acc-8000
oc_id: 387
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ACCESS COMPUTER
params:
machines:
- /museum/access-computer
oc_id: 2
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Acetronic
params:
logo: /media/museum/logos/acetronic_logo_2.gif
machines:
- /museum/acetronic-mpu-1000-2000
oc_id: 325
source: null
---
+27
View File
@@ -0,0 +1,27 @@
---
title: Acorn Computer
params:
logo: /media/museum/logos/acorn_logo.gif
machines:
- /museum/acorn-computer-a4
- /museum/acorn-computer-abc-110
- /museum/acorn-computer-abc-210-cambridge-workstation
- /museum/acorn-computer-abc-310
- /museum/acorn-computer-archimedes
- /museum/acorn-computer-archimedes-a3000
- /museum/acorn-computer-archimedes-a3010
- /museum/acorn-computer-archimedes-a3020
- /museum/acorn-computer-archimedes-a4000
- /museum/acorn-computer-archimedes-a5000
- /museum/acorn-computer-archimedes-a7000
- /museum/acorn-computer-atom
- /museum/acorn-computer-bbc-master
- /museum/acorn-computer-bbc-master-aiv
- /museum/acorn-computer-bbc-master-compact
- /museum/acorn-computer-bbc-model-a-b-b
- /museum/acorn-computer-electron
- /museum/acorn-computer-risc-pc
- /museum/acorn-computer-system-1
oc_id: 3
source: null
---
+16
View File
@@ -0,0 +1,16 @@
---
title: ACT
params:
logo: /media/museum/logos/act_apricot_logo.gif
machines:
- /museum/act-800
- /museum/act-apricot-f1
- /museum/act-apricot-f2-f10
- /museum/act-apricot-pc
- /museum/act-apricot-portable
- /museum/act-apricot-xen
- /museum/act-apricot-xi
- /museum/act-qi-300
oc_id: 170
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ACTRIX
params:
machines:
- /museum/actrix-ds
oc_id: 174
source: null
---
+10
View File
@@ -0,0 +1,10 @@
---
title: ADD-X Système
params:
logo: /media/museum/logos/addx_logo.gif
machines:
- /museum/add-x-systeme-smp-5
- /museum/add-x-systeme-smp-8
oc_id: 175
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: ADDS
params:
logo: /media/museum/logos/adds_logo.gif
machines:
- /museum/adds-mentor-2000
oc_id: 317
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ADVANCE TECHNOLOGY
params:
machines:
- /museum/advance-technology-advance-86
oc_id: 176
source: null
---
@@ -0,0 +1,8 @@
---
title: ADVANCED COMPUTER SYSTEMS
params:
machines:
- /museum/advanced-computer-systems-acs-1007
oc_id: 169
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Advision
params:
logo: /media/museum/logos/advision_logo.gif
machines:
- /museum/advision-home-arcade
oc_id: 414
source: null
---
+12
View File
@@ -0,0 +1,12 @@
---
title: AI Electronics
params:
logo: /media/museum/logos/ai_electronics_logo.gif
machines:
- /museum/ai-electronics-abc-20
- /museum/ai-electronics-abc-24
- /museum/ai-electronics-abc-26
- /museum/ai-electronics-ai-m16
oc_id: 4
source: null
---
+10
View File
@@ -0,0 +1,10 @@
---
title: Akor
params:
logo: /media/museum/logos/akor.gif
machines:
- /museum/akor-super-tv-boy
- /museum/akor-tv-boy
oc_id: 303
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ALEX
params:
machines:
- /museum/alex-video-spiel-tg-621
oc_id: 231
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Alpha Micro
params:
logo: /media/museum/logos/alpha_micro_logo_1.gif
machines:
- /museum/alpha-micro-1000-series
oc_id: 212
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Alspa Computer
params:
logo: /media/museum/logos/alspa-computer_logo.jpg
machines:
- /museum/alspa-computer-aci-1-2
oc_id: 465
source: null
---
@@ -0,0 +1,13 @@
---
title: Altos Computer Systems
params:
logo: /media/museum/logos/altos_logo.gif
machines:
- /museum/altos-computer-systems-acs-186
- /museum/altos-computer-systems-acs-580
- /museum/altos-computer-systems-acs-586-686
- /museum/altos-computer-systems-acs-8000
- /museum/altos-computer-systems-serie-5
oc_id: 158
source: null
---
@@ -0,0 +1,9 @@
---
title: AM International Jacquard Systems
params:
logo: /media/museum/logos/am_jacquard_logo.gif
machines:
- /museum/am-international-jacquard-systems-j100-j500
oc_id: 183
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: AMPERE
params:
machines:
- /museum/ampere-ws-1
oc_id: 5
source: null
---
+25
View File
@@ -0,0 +1,25 @@
---
title: Amstrad
params:
logo: /media/museum/logos/amstrad_logo.gif
machines:
- /museum/amstrad-464-6128-plus
- /museum/amstrad-cpc-464
- /museum/amstrad-cpc-5512
- /museum/amstrad-cpc-6128
- /museum/amstrad-cpc-664
- /museum/amstrad-csd
- /museum/amstrad-gx-4000
- /museum/amstrad-nc-100
- /museum/amstrad-nc-150
- /museum/amstrad-nc-200
- /museum/amstrad-pc-1512
- /museum/amstrad-pc-1640
- /museum/amstrad-pcw-16
- /museum/amstrad-pcw-8256-8512
- /museum/amstrad-pcw-9512
- /museum/amstrad-penpad
- /museum/amstrad-ppc-512-640
oc_id: 6
source: null
---
+12
View File
@@ -0,0 +1,12 @@
---
title: APF
params:
logo: /media/museum/logos/apf_logo_1.gif
machines:
- /museum/apf-imagination-machine
- /museum/apf-m1000-mp1000
- /museum/apf-match
- /museum/apf-tv-fun-model-401
oc_id: 201
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Apollo 7
params:
logo: /media/museum/logos/aplollo7_logo.gif
machines:
- /museum/apollo-7-squale
oc_id: 7
source: null
---
+17
View File
@@ -3,7 +3,24 @@ title: Apple
params:
logo: /media/museum/logos/apple_logo.gif
machines:
- /museum/apple-1
- /museum/apple-ii
- /museum/apple-ii-571
- /museum/apple-ii-clones
- /museum/apple-iic
- /museum/apple-iic-plus
- /museum/apple-iie
- /museum/apple-iie-platinum
- /museum/apple-iigs
- /museum/apple-iii
- /museum/apple-lisa-lisa-2-mac-xl
- /museum/apple-macintosh
- /museum/apple-macintosh-color-classic
- /museum/apple-macintosh-ii
- /museum/apple-macintosh-plus
- /museum/apple-macintosh-portable
- /museum/apple-macintosh-se
- /museum/apple-macintosh-se-30
oc_id: 8
source: null
---
+11
View File
@@ -0,0 +1,11 @@
---
title: Applied Technologies
params:
logo: /media/museum/logos/microbee_logo.gif
machines:
- /museum/applied-technologies-computer-in-a-book
- /museum/applied-technologies-microbee-128
- /museum/applied-technologies-microbee-32
oc_id: 9
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ASAFLEX
params:
machines:
- /museum/asaflex-6
oc_id: 232
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: ASCI
params:
machines:
- /museum/asci-systemx
oc_id: 280
source: null
---
+44
View File
@@ -0,0 +1,44 @@
---
title: Atari
params:
logo: /media/museum/logos/atari_logo.gif
machines:
- /museum/atari-1200-xl
- /museum/atari-130-st-260-st
- /museum/atari-1400-xl
- /museum/atari-1450-xld
- /museum/atari-400
- /museum/atari-4160-ste
- /museum/atari-520-1040-ste
- /museum/atari-520-1040-stf-stfm
- /museum/atari-520-st-st-stm
- /museum/atari-5200-supersystem
- /museum/atari-600-800-xl
- /museum/atari-65-130-xe
- /museum/atari-65xep-65xem
- /museum/atari-7800-prosystem
- /museum/atari-800
- /museum/atari-800xe
- /museum/atari-abaq-atw-transputer-800
- /museum/atari-falcon-030
- /museum/atari-falcon-030-microbox
- /museum/atari-fx-1-sparrow
- /museum/atari-jaguar
- /museum/atari-lynx-lynx-ii
- /museum/atari-mega-st
- /museum/atari-mega-ste
- /museum/atari-pc
- /museum/atari-pong-model-c-100
- /museum/atari-portfolio
- /museum/atari-st-book
- /museum/atari-stacy
- /museum/atari-stunt-cycle-model-sc-450
- /museum/atari-stylus-st-pad
- /museum/atari-super-pong-model-c-140
- /museum/atari-tt-030
- /museum/atari-ultra-pong-doubles-model-c-402
- /museum/atari-vcs-2600
- /museum/atari-video-pinball-model-c-380
oc_id: 10
source: null
---
@@ -0,0 +1,8 @@
---
title: ATHENA COMPUTER & ELECTRONIC SYSTEM
params:
machines:
- /museum/athena-computer-electronic-system-athena-1
oc_id: 28
source: null
---
@@ -0,0 +1,8 @@
---
title: ATOMIC ENERGY AUTHORITY (UK)
params:
machines:
- /museum/atomic-energy-authority-uk-witch
oc_id: 436
source: null
---
+10
View File
@@ -0,0 +1,10 @@
---
title: ATT
params:
logo: /media/museum/logos/att_logo.gif
machines:
- /museum/att-pc-6300
- /museum/att-unix-pc
oc_id: 184
source: null
---
+10
View File
@@ -0,0 +1,10 @@
---
title: Audiosonic
params:
logo: /media/museum/logos/audiosonic_logo.gif
machines:
- /museum/audiosonic-pp-800
- /museum/audiosonic-tele-sports-iv
oc_id: 233
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: AVAL
params:
machines:
- /museum/aval-avc-777
- /museum/aval-avc-777-j2
oc_id: 11
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: AVT ELECTRONICS
params:
machines:
- /museum/avt-electronics-comp-2
oc_id: 180
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: AXEL
params:
machines:
- /museum/axel-ax-20
- /museum/axel-ax-25
oc_id: 12
source: null
---
@@ -0,0 +1,9 @@
---
title: Bainbridge Research and Development, Inc.
params:
logo: /media/museum/logos/brd_logo.gif
machines:
- /museum/bainbridge-research-and-development-inc-dolphin
oc_id: 342
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Bally
params:
logo: /media/museum/logos/bally_logo.gif
machines:
- /museum/bally-astrocade
oc_id: 253
source: null
---
+14
View File
@@ -0,0 +1,14 @@
---
title: Bandai
params:
logo: /media/museum/logos/bandai_logo.gif
machines:
- /museum/bandai-arcadia
- /museum/bandai-gundam-rx-78
- /museum/bandai-pippin-world
- /museum/bandai-tv-jack-1000
- /museum/bandai-tv-jack-5000
- /museum/bandai-wonderswan
oc_id: 168
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: BASF
params:
machines:
- /museum/basf-7100
oc_id: 453
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: BASIS
params:
machines:
- /museum/basis-108
oc_id: 13
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Be
params:
logo: /media/museum/logos/be_bebox_logo.gif
machines:
- /museum/bebox
oc_id: 401
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: BENTLEY
params:
machines:
- /museum/bentley-compu-vision
oc_id: 357
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Billings
params:
logo: /media/museum/logos/billings_logo.gif
machines:
- /museum/billings-bc-12
oc_id: 363
source: null
---
+18
View File
@@ -0,0 +1,18 @@
---
title: Binatone
params:
logo: /media/museum/logos/binatone_logo.gif
machines:
- /museum/binatone-colour-tv-game-4-plus-2-model-n-01-4850
- /museum/binatone-colour-tv-game-mk-10-model-n-01-4842
- /museum/binatone-colour-tv-game-mk-6-model-n-01-4761
- /museum/binatone-colour-tv-game-model-n-01-4931
- /museum/binatone-tv-game-unit-model-n-01-4990
- /museum/binatone-tv-master-4-plus-2-model-n-01-4869
- /museum/binatone-tv-master-mk-10-model-n-01-4834
- /museum/binatone-tv-master-mk-6-model-n-01-4907
- /museum/binatone-tv-master-mk-8-model-n-01-4823
- /museum/binatone-tv-master-mk-iv-model-n-01-4974
oc_id: 361
source: null
---
+10
View File
@@ -0,0 +1,10 @@
---
title: BIT CORPORATION
params:
machines:
- /museum/bit-corporation-bit-60
- /museum/bit-corporation-bit-90
- /museum/bit-corporation-dina-2-in1-bit-7200-chuang-zao-zhe-50
oc_id: 14
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Blaupunkt
params:
logo: /media/museum/logos/blaupunkt_logo.gif
machines:
- /museum/blaupunkt-tv-action
oc_id: 375
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Brandt Electronique
params:
logo: /media/museum/logos/brandt-electronique_logo.gif
machines:
- /museum/brandt-electronique-ordinateur-de-jeu-jo7400-jopac
oc_id: 376
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: BRASCOM
params:
machines:
- /museum/brascom-br-1000m
oc_id: 185
source: null
---
@@ -0,0 +1,9 @@
---
title: Bridge Computer Company
params:
logo: /media/museum/logos/bridge-computer-company_logo.jpg
machines:
- /museum/bridge-computer-company-bridge-3c
oc_id: 467
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: BRITISH MICRO
params:
machines:
- /museum/british-micro-mimi-802-803-804
oc_id: 210
source: null
---
+11
View File
@@ -0,0 +1,11 @@
---
title: Bull
params:
logo: /media/museum/logos/bull_logo.gif
machines:
- /museum/bull-l-attache
- /museum/bull-micral-80-22
- /museum/bull-ttx-80-85-90
oc_id: 15
source: null
---
@@ -0,0 +1,8 @@
---
title: BÜROMASCHINENWERKE ZELLA-MEHLIS
params:
machines:
- /museum/buromaschinenwerke-zella-mehlis-cellatron-8205
oc_id: 359
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: C.ITOH
params:
machines:
- /museum/c-itoh-yd-8110
oc_id: 220
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CAB
params:
machines:
- /museum/cab-65
oc_id: 16
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CABEL
params:
machines:
- /museum/cabel-universal-game-computer
oc_id: 409
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CAMBRIDGE COMPUTERS
params:
machines:
- /museum/cambridge-computers-z-88
oc_id: 17
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Camputers
params:
logo: /media/museum/logos/camputers_logo.gif
machines:
- /museum/camputers-lynx
oc_id: 18
source: null
---
+17
View File
@@ -0,0 +1,17 @@
---
title: Canon
params:
logo: /media/museum/logos/canon_logo_2.gif
machines:
- /museum/canon-as-100
- /museum/canon-cat
- /museum/canon-cx-1-bx-3
- /museum/canon-object-station
- /museum/canon-v-10
- /museum/canon-v-20
- /museum/canon-v-25
- /museum/canon-v-8
- /museum/canon-x-07
oc_id: 19
source: null
---
+25
View File
@@ -0,0 +1,25 @@
---
title: Casio
params:
logo: /media/museum/logos/casio_logo.gif
machines:
- /museum/casio-fp-1000-fp-1100
- /museum/casio-fp-200
- /museum/casio-fp-6000
- /museum/casio-fx-700p
- /museum/casio-fx-702p
- /museum/casio-fx-9000p
- /museum/casio-loopy-my-seal-computer-sv-100
- /museum/casio-mx-10-mx-101
- /museum/casio-pb-100
- /museum/casio-pb-1000
- /museum/casio-pb-300
- /museum/casio-pb-700
- /museum/casio-pb-770
- /museum/casio-pv-1000
- /museum/casio-pv-16
- /museum/casio-pv-2000
- /museum/casio-pv-7
oc_id: 21
source: null
---
+10
View File
@@ -0,0 +1,10 @@
---
title: CCE
params:
logo: /media/museum/logos/cce_logo.gif
machines:
- /museum/cce-mc-1000
- /museum/cce-supergame-vg-3000
oc_id: 22
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CDSE
params:
machines:
- /museum/cdse-apply-300
oc_id: 460
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CENTRAL DATA
params:
machines:
- /museum/central-data-2650
oc_id: 23
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Cifer Systems
params:
logo: /media/museum/logos/cifer_logo.gif
machines:
- /museum/cifer-systems-2683
oc_id: 366
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CODIMEX
params:
machines:
- /museum/codimex-6809
oc_id: 186
source: null
---
+21
View File
@@ -0,0 +1,21 @@
---
title: Coleco
params:
logo: /media/museum/logos/coleco_logo_2.gif
machines:
- /museum/coleco-adam
- /museum/coleco-combat
- /museum/coleco-gemini
- /museum/coleco-telstar
- /museum/coleco-telstar-alpha-model-6030
- /museum/coleco-telstar-arcade
- /museum/coleco-telstar-classic-model-6045
- /museum/coleco-telstar-colormatic-model-6130
- /museum/coleco-telstar-colortron
- /museum/coleco-telstar-gemini
- /museum/coleco-telstar-marksman
- /museum/coleco-telstar-ranger
- /museum/colecovision
oc_id: 24
source: null
---
@@ -0,0 +1,8 @@
---
title: COLLINS INTERNATIONAL TRADING CORPORATION
params:
machines:
- /museum/collins-international-trading-corporation-orange-2
oc_id: 308
source: null
---
@@ -0,0 +1,10 @@
---
title: Columbia Data Products
params:
logo: /media/museum/logos/columbiadp_logo_1.gif
machines:
- /museum/columbia-data-products-mpc
- /museum/columbia-data-products-vp
oc_id: 225
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: COMART
params:
machines:
- /museum/comart-communicator
oc_id: 281
source: null
---
+39
View File
@@ -3,7 +3,46 @@ title: Commodore
params:
logo: /media/museum/logos/commodore_logo.gif
machines:
- /museum/commodore-amiga-1000
- /museum/commodore-amiga-1200
- /museum/commodore-amiga-1500
- /museum/commodore-amiga-2000
- /museum/commodore-amiga-2500
- /museum/commodore-amiga-3000
- /museum/commodore-amiga-4000
- /museum/commodore-amiga-500
- /museum/commodore-amiga-500-plus
- /museum/commodore-amiga-600
- /museum/commodore-amiga-600hd
- /museum/commodore-amiga-cd32
- /museum/commodore-c116
- /museum/commodore-c128-c128d
- /museum/commodore-c16
- /museum/commodore-c64
- /museum/commodore-c64-aldi
- /museum/commodore-c64-golden-jubilee
- /museum/commodore-c64-gs-games-system
- /museum/commodore-c64c
- /museum/commodore-c64g
- /museum/commodore-c65
- /museum/commodore-cbm-500-600-series
- /museum/commodore-cbm-700-series
- /museum/commodore-cbm-80xx
- /museum/commodore-cdtv
- /museum/commodore-educator-64
- /museum/commodore-lcd
- /museum/commodore-max-machine-ultimax-vc-10
- /museum/commodore-pc-compatible-systems
- /museum/commodore-pet-200
- /museum/commodore-pet-2001
- /museum/commodore-pet-30xx
- /museum/commodore-pet-cbm-40xx
- /museum/commodore-plus-4-c232-264-364
- /museum/commodore-superpet
- /museum/commodore-sx-dx-64-executive-computer
- /museum/commodore-tv-game-2000k
- /museum/commodore-vic-1001
- /museum/commodore-vic-20
oc_id: 26
source: null
---
+12
View File
@@ -0,0 +1,12 @@
---
title: Compaq
params:
logo: /media/museum/logos/compaq_old-logo.gif
machines:
- /museum/compaq-portable
- /museum/compaq-portable-386
- /museum/compaq-portable-ii
- /museum/compaq-portable-iii
oc_id: 192
source: null
---
@@ -0,0 +1,9 @@
---
title: Compucolor Corporation
params:
logo: /media/museum/logos/compucolor1_logo1.gif
machines:
- /museum/compucolor-corporation-8001-8051
oc_id: 196
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Compukit
params:
logo: /media/museum/logos/compukit_logo.gif
machines:
- /museum/compukit-uk-101
oc_id: 291
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: COMPUMEDIC
params:
machines:
- /museum/compumedic-analog-computer
oc_id: 386
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Compupro
params:
logo: /media/museum/logos/compupro_logo_1.gif
machines:
- /museum/compupro-system-816
oc_id: 229
source: null
---
@@ -0,0 +1,8 @@
---
title: COMPUTER DATA SYSTEMS
params:
machines:
- /museum/computer-data-systems-versatile-2
oc_id: 29
source: null
---
@@ -0,0 +1,9 @@
---
title: COMPUTER DEVICES INCORPORATED
params:
machines:
- /museum/computer-devices-incorporated-dot
- /museum/computer-devices-incorporated-miniterm
oc_id: 36
source: null
---
@@ -0,0 +1,8 @@
---
title: COMX WORLD OPERATIONS LTD
params:
machines:
- /museum/comx-world-operations-ltd-comx-35
oc_id: 25
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CONCEPT 2000
params:
machines:
- /museum/concept-2000-spectrum-6
oc_id: 236
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: CONIC
params:
machines:
- /museum/conic-tv-sports-tg-621
- /museum/conic-tvg-209
oc_id: 237
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CONITEC
params:
machines:
- /museum/conitec-prof80
oc_id: 351
source: null
---
@@ -0,0 +1,8 @@
---
title: CONTINENTAL EDISON / SABA
params:
machines:
- /museum/continental-edison-saba-ordinateur-video-jeu-jo-1450-jopac
oc_id: 395
source: null
---
@@ -0,0 +1,9 @@
---
title: Convergent Technologies
params:
logo: /media/museum/logos/convergent_logo.gif
machines:
- /museum/convergent-technologies-workslate
oc_id: 321
source: null
---
@@ -0,0 +1,9 @@
---
title: Convex Computer Corp.
params:
logo: /media/museum/logos/convex_logo.gif
machines:
- /museum/convex-computer-corp-c3800
oc_id: 348
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CORVUS SYSTEMS
params:
machines:
- /museum/corvus-systems-concept
oc_id: 230
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: Cray Research
params:
logo: /media/museum/logos/cray_logo.gif
machines:
- /museum/cray-research-t3d
oc_id: 350
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CREATIVE TECHNOLOGY
params:
machines:
- /museum/creative-technology-cubic-99
oc_id: 202
source: null
---
+14
View File
@@ -0,0 +1,14 @@
---
title: Cromemco
params:
logo: /media/museum/logos/cromemco_logo.gif
machines:
- /museum/cromemco-c10
- /museum/cromemco-system-i-ii-iii
- /museum/cromemco-system-v
- /museum/cromemco-systeme-0
- /museum/cromemco-z-1
- /museum/cromemco-z-2
oc_id: 30
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: CSIRAC
params:
machines:
- /museum/csirac
oc_id: 372
source: null
---
+9
View File
@@ -0,0 +1,9 @@
---
title: CW/P
params:
logo: /media/museum/logos/cwp_logo.gif
machines:
- /museum/cw-p-cortex
oc_id: 323
source: null
---
+13
View File
@@ -0,0 +1,13 @@
---
title: Czerweny
params:
logo: /media/museum/logos/czerweni_logo.gif
machines:
- /museum/czerweny-cz-1000
- /museum/czerweny-cz-1000-plus
- /museum/czerweny-cz-2000
- /museum/czerweny-spectrum
- /museum/czerweny-spectrum-plus
oc_id: 328
source: null
---
+8
View File
@@ -0,0 +1,8 @@
---
title: DARLAY
params:
machines:
- /museum/darlay-dy-80
oc_id: 32
source: null
---
Loaded 100 of 21145 files, more files were not shown because too many files have changed in this diff. Show more