Commit Graph
1645 Commits
Author SHA1 Message Date
Abdessamad Derraz cdffbcdfe4 feat: share cards for manufacturer pages
One card per systems page, titled with the manufacturer and listing its consoles as far as three lines hold. Rendered once and committed like the platform cards.
2026-10-23 10:56:33 +02:00
Abdessamad Derraz 94d18bd7e5 feat: name the system in each lookup record 2026-10-23 10:54:34 +02:00
Abdessamad Derraz c5ba17d3dd refactor: fit setup pages in 220 words
The new answers are shortened and the safety list, shown in full on the home page, is linked from each setup page instead of repeated. The setup ceiling stays at 220.
2026-10-23 10:50:52 +02:00
Abdessamad Derraz 6bcaa3a936 feat: cap a page at 10,000 elements 2026-10-23 10:49:55 +02:00
Abdessamad Derraz 1e5e795060 feat: say what each emulator page needs first
Romset row and line on MAME and FinalBurn pages, files an app ships
under their own badge and section, collection counts under the table,
empty or constant summary columns dropped, short hashes with the full
value in the title, the profile card and cards past Required folded,
data directory pages kept out of the search.
2026-10-23 10:49:52 +02:00
Abdessamad Derraz aac613bea7 feat: answer version and handheld questions
Setup pages name the setup version the ZIP was made from, offer a partial install, answer a file in place but reported missing, and link the offline install. Get your files folds its tables into one closed block with part buttons. The setup comparison moves to the verification modes page. New Linux handhelds guide page.
2026-10-23 10:47:38 +02:00
Abdessamad Derraz add2d87190 feat: cite the handheld systems that run retroarch
One row per system the installer detects RetroArch on, with the card folder and the devices each system's own pages list, every value carrying its source. Android and Linux handhelds become tiles of the handheld group.
2026-10-23 10:47:34 +02:00
Abdessamad Derraz 046c376448 feat: serve platform logos as 80 px webp
Shown at 40 px, the 96 px PNG logos were 136 KiB of the home page. WebP at twice the display size is 27 KiB for the twelve raster marks. SVG stays as each project publishes it.
2026-10-23 10:46:58 +02:00
Abdessamad Derraz 2b64eaab9b feat: publish manifests, id indexes and licence
The CSV and SQLite carry zipped_file and the Recalbox flags, contracts
leave registry keys in a registry field and validate, every envelope
carries commit, lookup URLs are site-absolute, systems.json and
cores.json answer an id, the Data page shows the manifest fields and a
folder check, and platform overviews link emulators by name.
2026-10-23 10:46:13 +02:00
Abdessamad Derraz c3b45182ca feat: add a folder check built on the api 2026-10-23 10:46:08 +02:00
Abdessamad Derraz db22cc37bb fix: link a source path its cached tree holds 2026-10-23 10:46:08 +02:00
Abdessamad Derraz 5b1120aeb5 feat: rank console pages above setup lists
A setup's list for one console is a reference page kept out of the
search index, naming its setup as parent. System pages carry file names
and the platforms' own ids as attribute search fields, never as text.
Arcade gets its own sidebar group.
2026-10-23 10:36:04 +02:00
Abdessamad Derraz 3d0b013588 fix: link systems to their new console folders 2026-10-23 10:17:34 +02:00
Abdessamad Derraz 42c235abb9 chore: one folder per console 2026-10-23 10:16:51 +02:00
Abdessamad Derraz 3de2d52629 chore: one folder per console
DS and DSi split into Nintendo DS and Nintendo DSi. 64DD, Mega-CD,
ZXSpectrum, VSmile, BBC and Game Engines/DOOM merge into the folder
of the same console. Same-named dumps with other bytes are kept:
BBC Micro's earlier zips in .variants/, the vsmilem set in vsmilem/,
the Doom II 1.666 IWAD in v1.666/, BizHawk's DSi firmware in bizhawk/.
Galaksija and Vircon get a console folder, sdlpal's desc.dat joins
its tree, VICE's PET and CBM-II ROMs leave C128 with their vice/ tail.

Database and manifests regenerated together. Verify and cross
reference give the same result once moved paths are mapped.
2026-10-23 10:15:49 +02:00
Abdessamad Derraz 3db85ba74f feat: print the system link count at build 2026-10-23 09:06:55 +02:00
Abdessamad Derraz fad947e9d0 feat: link system ids to their files' section
A reviewed SYSTEM_PARENTS table leads variants (WonderSwan Color, Neo Geo MVS, MSX2) to the section holding their files, an Arcade heading that reads the name exactly is accepted, and system_search_aliases() gives the platforms' native ids for search. 260 of 636 ids linked before, 338 after.
2026-10-23 09:06:55 +02:00
Abdessamad Derraz b657cff327 feat: export md5 lists the checker reads 2026-10-23 08:27:27 +02:00
Abdessamad Derraz 5b083c45b5 feat: export md5 lists the pinned checker reads
The script exporters (Batocera, ROCKNIX, KNULLI, AmberELEC, EmuELEC)
read the checker of the pinned original: when checkBios hands an
item's md5 to a function that tests it with isinstance(..., list),
as md5Matches does since batocera.linux 6b08b873, an entry whose
emulator code accepts several dumps is written with all of them, and
an addition that needed several becomes writable. Items with altmd5
keep a string, since checkBios wraps them in a list of its own.

No cached original reads lists today, so every export is unchanged.
The report records a list as a list, counts the lists written, and
records a list the truth extends without contradicting it.
2026-10-23 08:06:58 +02:00
Abdessamad Derraz fed03c3db7 fix: pack each zip with the collection's bytes 2026-10-23 07:47:35 +02:00
Abdessamad Derraz 34f9195860 feat: settle site integration items 2026-10-23 07:45:02 +02:00
Abdessamad Derraz 651813f10a feat: guard split packs and install offline 2026-10-23 07:42:32 +02:00
Abdessamad Derraz 0b4504992b feat: read batocera md5 written as a list
batocera.linux 6b08b873 lets a biosFiles item declare its md5 as a
list of strings, and checkBios accepts a file matching any of them.
The scrapers join the values with commas, as for Recalbox, and record
md5_list so the export writes the list back as a list, byte for byte.
2026-10-23 07:39:25 +02:00
Abdessamad Derraz 462d1abb05 fix: name one emulator's kind in the singular
A row of the emulators index and of the cross-reference tables named
one core's class in the plural (Official ports). The upstream table's
headers no longer break inside a word.
2026-10-23 07:36:49 +02:00
Abdessamad Derraz e83371ef19 fix: list large data directories on own pages
Dolphin's Sys tree put 2,164 rows and 16,900 elements on the Dolphin,
PrimeHack and Ishiiruka pages. A tree past 400 files is now listed on
pages of its own, 1,000 files each, and the file lookup sends each
member's sha1 there.
2026-10-23 07:33:31 +02:00
Abdessamad Derraz e62607350a fix: keep every page under 600 KB of html
The wanted lists of the provenance page and the files to source of the
gaps page move to pages of their own, cut in parts past 300 KB of
Markdown. System pages split from 300 KB and emulator cards from 220 per
page. A moved card keeps its anchor through the files/?sha1= lookup.
2026-10-23 07:22:32 +02:00
Abdessamad Derraz 7c6af30a0c fix: name the file existence mode finds
verify_entry_existence returned no path, so RetroArch, Lakka and
RetroPie pages showed no Served by line. It now returns the resolved
path as the hash modes do. verify.py --all prints the same bytes and
its JSON is unchanged.
2026-10-23 07:16:05 +02:00
Abdessamad Derraz 6cac923a91 fix: date pages in words and count setups once
Every page closed on a raw ISO stamp. It now reads data_as_of(), which
write_if_changed ignores as it ignored the old stamp. The diagram text
counts setups with setup_count(), and the data model page names the
Data and API page by its title.
2026-10-23 07:12:15 +02:00
Abdessamad Derraz c2de7c3a8e feat: mark each pack part with its siblings 2026-10-23 07:09:43 +02:00
Abdessamad Derraz bb13e7b5f9 fix: link a system to the section of its name
A system link followed the folder its files sit in: emerson-arcadia-2001
reached the Saturn and sega-naomi the Dreamcast. It now goes to the
section system_name() reads, or stays a plain name. Console headings
carry an explicit id, so Sega's Mega-CD no longer shares mega-cd.
2026-10-23 07:08:09 +02:00
Abdessamad Derraz a9181f9d04 feat: platform logos and emulator letter sections
The decoration pass now forwards the logo front matter, pointed at the
local copy. The emulators index lists every profile under the initial
the sidebar draws, so each letter link lands on its section.
2026-10-23 07:02:40 +02:00
Abdessamad Derraz e86defdb1e fix: settle tests the site packages left apart 2026-10-23 05:32:08 +02:00
Abdessamad Derraz 51b2976515 feat: cite sources and files on reference pages
# Conflicts:
#	wiki/testing-guide.md
2026-10-23 02:59:34 +02:00
Abdessamad Derraz 8b26a8fcac feat: cite sources and files on reference pages
Platform pages link each reader's source line at its pinned revision, name the collection file that serves each entry, show launcher records with their lines, name systems with the id beside them and the list they were read from in words. The largest system lists move to pages of their own so a platform page stays under 500 KB.

Gaps: plain numbers with a bar, a badge only for missing required firmware, Files to source as a heading. Cross-reference: counts per platform, one page per platform, one row per upstream project. Exports: gaps listed once, status, category and the serving file in the CSVs and SQLite, the commit in each API envelope, the provenance Wanted list as CSV. Catalog dates in words on the provenance page.
2026-10-23 02:58:51 +02:00
Abdessamad Derraz 14a6518d49 fix: cite the reader that accepts the hash
A platform entry that declares a hash is now answered by the profile entries accepting it. Batocera's scph1001.bin (md5 dc2b9bf8, v2.0) cited DuckStation's bios.cpp:36, the v2.2 line. A same-named entry is kept, marked by name, only when none accepts the hash and its own hashes do not contradict it. Categories are unchanged: verify --all prints the same report.
2026-10-23 02:58:43 +02:00
Abdessamad Derraz 733de5f6af feat: order system cards and show their facts
# Conflicts:
#	wiki/testing-guide.md
2026-10-23 02:44:01 +02:00
Abdessamad Derraz 5da589bcaa feat: file emulator folders apart on systems index
Other holds one folder per emulator, so it gets its own table. The file
count comes before the maker so it stays on a phone screen, and a card's
searched label stays out of the search excerpt.
2026-10-23 02:43:24 +02:00
Abdessamad Derraz d1dd7ef0f5 docs: rework wiki copy
# Conflicts:
#	tests/test_site_funnel.py
#	wiki/testing-guide.md
2026-10-23 02:42:58 +02:00
Abdessamad Derraz 5167361473 feat: readable diagrams and wiki command tabs
Diagram text reads at 14 px in the column, boxes take the height of their lines, paths are mono on a line of their own. One setup count for every page. Wiki pages expand install commands into system tabs, an options table read from install.py, and keep example hashes out of search.
2026-10-23 02:42:11 +02:00
Abdessamad Derraz 38983a2a4a feat: rework entry pages and setup guides
# Conflicts:
#	wiki/testing-guide.md
2026-10-23 02:34:44 +02:00
Abdessamad Derraz 5cbdceef62 feat: rework entry pages and setup guides 2026-10-23 02:34:13 +02:00
Abdessamad Derraz 235001babb feat: cite terminals, shares and hardware 2026-10-23 02:34:13 +02:00
Abdessamad Derraz 4b7cf6501f docs: open contributing on the upload 2026-10-23 02:34:09 +02:00
Abdessamad Derraz 7d0fc83206 feat: order system cards and show their facts
Required BIOS first with a Start with line by region, a fact grid with
setup display names and a key, a link icon in place of the word
permalink, a console table on the systems index.
2026-10-23 02:31:14 +02:00
Abdessamad Derraz 2098b7a955 fix: judge a redirect page by its target 2026-10-23 02:30:20 +02:00
Abdessamad Derraz eb6ca6d38a feat: emulator pages lead with what is needed
# Conflicts:
#	wiki/testing-guide.md
2026-10-23 02:24:38 +02:00
Abdessamad Derraz 3841012c04 feat: emulator pages lead with what is needed
The intro names systems and, when required files are one per region, says to pick the one for the game's region. Cards go under Required, Optional and Game data with a summary table above, split pages in the same order. Header and index read singular classes, system names, one spelling per core and plain counts.
2026-10-23 02:22:09 +02:00
Abdessamad Derraz 8b6a5d8a8e chore: drop a fixed count from the emulator nav 2026-10-23 02:18:47 +02:00
Abdessamad Derraz 8aa1e1cea1 feat: name each sidebar group by its overview
The 404 page opens on Start here instead of tabs numbered 0 to 4. A group label is a group, or in Explore one link to its overview, never a link to its first page, and a crumb names the section that introduces the page. Emulators sit one level deep by initial. Previous and next run within a tab (Start here into Your setup) and skip system, emulator and platform pages, and follow a page's Next steps list. Reference pages group under Checking files and Data, a wiki page joining by its group: front matter. redirects.json maps alternative core names to their profile.
2026-10-23 02:18:27 +02:00
Abdessamad Derraz 997bc069b2 feat: draw a sharing card per platform page
Each platform page shares a card titled with the platform's name, rendered by make_og_cards.py --only platforms.
2026-10-23 02:18:22 +02:00