Commit Graph
198 Commits
Author SHA1 Message Date
Abdessamad Derraz 954f213d42 fix: one id per card, and render the site locally
A copy filed under two consoles of one maker was listed twice with the same id, and a data directory listed the same bytes twice, so the site deploy refused 20 pages. The first card keeps the id. The pipeline only generated the pages, so it now renders them with mkdocs build --strict and runs validate_site as the deploy does. The resumed-speed test read the clock and failed on a slow runner, it now fixes the elapsed time.
2026-10-20 07:05:01 +02:00
Abdessamad Derraz 4227aee9b4 docs: explain why the pack leaves a file out
A file the emulator installs itself is left out of the packs, per build and per platform. The profiling guide documents bundled, installed_on and not_bundled_on, the FAQ says why a file the emulator reads may be missing from a pack, and an emulator page names the build that installs it and the platforms whose package differs.
2026-10-20 06:24:18 +02:00
Abdessamad Derraz f6ac473e78 docs: no double hyphen used as a dash
The home page's methodology list and a few comments wrote ' -- ' where a colon or parentheses belong.
2026-10-20 06:23:02 +02:00
Abdessamad Derraz 042ee955d6 feat: list data directory files and revision
A data directory appeared on its emulator page as a URL whose content moves, and the 2,534 files the packs ship from these trees were on no page. Each tree now shows the revision it was fetched at and its files with size and sha1, and the site lookup by sha1 resolves them. The page description reads the repository list the JSON-LD now carries.
2026-10-20 06:21:12 +02:00
Abdessamad Derraz 1bbb1d4749 fix: emulator JSON-LD names every repository read
The structured data of an emulator page published one repository and one commit. A profile whose builds live in two repositories, or a port with an upstream_commit, now lists each repository with its own pin.
2026-10-20 06:17:40 +02:00
Abdessamad Derraz 08396be3c6 fix: the collection DAT names sets by subfolder
The collection DAT named its sets "Sony - PlayStation", and the data page said it audits a copy of bios/. clrmamepro and RomVault looked for a folder of that name and reported the 330 sets missing. A Logiqx set name writes a subfolder with a backslash: Sony\PlayStation.
2026-10-20 06:17:16 +02:00
Abdessamad Derraz c64716d90e chore: drop comments that restate the next line
Each step of the site build carried a comment, a print and a function call saying the same thing.
2026-10-20 06:16:38 +02:00
Abdessamad Derraz 23b69d185c docs: write headings in sentence case
The gaps page and the Advanced usage, Verification modes, Release process and Testing guide pages titled in Title Case beside sentence-case pages. A test now reads every wiki heading.
2026-10-20 06:16:00 +02:00
Abdessamad Derraz c589ed49b8 fix: the site says 1 file, not 1 files
Counts were printed with a fixed plural and the site said "1 files" 234 times, "1 issues" and "1 entries" too. A shared helper picks the noun, and the generated-pages prose test refuses the form.
2026-10-20 05:57:05 +02:00
Abdessamad Derraz 976b164536 feat: the gaps table names the accepted dump held
A hash mismatch row printed the hash the emulator accepts and stopped there, although the collection holds that exact dump for most rows. A column now links the held copy.
2026-10-20 05:55:41 +02:00
Abdessamad Derraz 49c7bacc46 fix: a file copy is listed on its folder's page
The database keeps one path per content, so a copy filed under another manufacturer was on no page of its own: the Channel F BIOS sat under Arcade > FBNeo and Fairchild had no system page. Every folder holding a copy now lists it, read from the full paths by_path_suffix records, and the index counts each content once.
2026-10-20 05:54:57 +02:00
Abdessamad Derraz 77ae9a7f74 fix: every accepted md5 is its own search word
Recalbox lists accepted md5s joined by commas, and platform pages printed the list as one code span. The site search took it for a single word, so 198 accepted values could not be found. Each value now has its own span.
2026-10-20 05:52:59 +02:00
Abdessamad Derraz dec0fdc163 feat: each citation names the code that asks
A profile that reads a libretro core and the original emulator cited both trees alike, and readers could not tell whether the core or the emulator asked for a file. A cited path now opens with source or upstream, the repository its lines are in. Emulator code a port carries is attributed upstream when the original holds the same value on the cited line.

profile_sync --attribute-refs writes the words from where the lines are found and follows a word already written. The site links each citation to that repository's pin, labels it libretro core or upstream emulator, and says on each file card whose code asks for it. A recale keeps the word, and mame_ref_audit reads the tree it names.
2026-10-20 05:52:13 +02:00
Abdessamad Derraz 10a1f475b0 feat: prose citations link to the pinned source
Notes, file notes and platform details carried file:line citations as plain text although profile_sync keeps each on the profile's pin. A citation now links when the profile reads one repository and the path is rooted or already used by a structured source_ref. Platform detail source_refs go through the same renderer as file cards.
2026-10-20 05:44:08 +02:00
Abdessamad Derraz 17e35d1af9 feat: file cards name the packs that install them
A card named only the platforms whose own list declares the file. A RetroBat user looking up scph5501.bin found every platform but RetroBat, whose pack installs it for six cores. The cards now read the install manifests and add each pack that places the file, with the destination it gives it.
2026-10-20 04:56:23 +02:00
Abdessamad Derraz 91403aa149 fix: site systems match under every spelling
Platform pages matched emulators to systems by the exact id, so the RetroArch page listed none for sega-mega-drive (genesis_plus_gx says sega-megadrive), and listed every emulator of a system instead of those the platform runs. Emulator cards linked only ids a platform uses: 2,057 of 4,215 system lines had no link, now 327, the rest having no page. Ids are compared as _norm_system_id reads them, and a system only profiles name is placed by the files they file under it.
2026-10-20 04:55:16 +02:00
Abdessamad Derraz 77c4857a46 fix: a site preview writes its own config
generate_site --docs-dir sent the pages elsewhere but always rewrote the tracked mkdocs.yml, outside the lock taken on that folder, with the navigation of the work in progress. Two previews into two folders both wrote it. Another folder now gets <name>.mkdocs.yml beside it, docs_dir set and its paths rebased, which mkdocs builds with -f.
2026-10-20 04:30:03 +02:00
Abdessamad Derraz 2fc0547a50 fix: check the banned vocabulary in tracked text
The project bans a short list of marketing words in what it publishes, and no test read for them: the site's platform table described Recalbox's interface with one. The line now says what Recalbox does, and test_prose_style fails on any of those words in a tracked file.
2026-10-20 02:25:12 +02:00
Abdessamad Derraz c6db200beb fix: the global gap report keeps standalone files
With no platform named, cross_reference passed no standalone cores, so every dual profile was laid out as libretro only. The CLI and the site's gaps page left out 133 files that Batocera and RetroBat run standalone and that no platform declares (eka2l1 90, dolphin 21, cemu 11). Both now pass the union of every platform's standalone cores.
2026-10-20 01:17:35 +02:00
Abdessamad Derraz 7e23815545 fix: reports hold the data trees they read
generate_readme, generate_site and slots resolve against data/ but took no hold when run on their own, as the documented commands do. A refresh swapping a tree mid-read then gave counts from half of it. Each now holds the trees shared, like verify and the builder.
2026-10-20 00:32:26 +02:00
Abdessamad Derraz eafb73bf55 feat: name the romset that carries a wanted dump
17 TOSEC ZX Spectrum ROMs reported missing ship inside MAME's spectrum.zip from 0.190 to 0.289, while the collection holds only FBNeo's one-member archive of that name. provenance_report --missing and the site's wanted list now name the set, the member and the versions, matched by crc32 and size and by sha1 where both sides carry one.
2026-10-19 08:29:31 +02:00
Abdessamad Derraz 4231902a6c docs: write prose without dashes or semicolons
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.

validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
2026-10-19 06:47:31 +02:00
Abdessamad Derraz 583031eda5 refactor: plain documentation theme for the site
No gradient banner, no coloured stripes or dots beside cards, no lifting cards, pill badges or small-caps headers. File blocks are separated by a rule, tables keep the theme's own size, and headings no longer repeat the site name the header bar already shows. Classes nothing emits were removed.
2026-10-19 05:34:52 +02:00
Abdessamad Derraz 0d586ef6bf feat: give every file an address by content 2026-10-19 04:40:21 +02:00
Abdessamad Derraz a389b5fa2b fix: publish each profile document in the envelope 2026-10-19 04:35:54 +02:00
Abdessamad Derraz 49e7119b1c feat: name the file each platform page transcribes 2026-10-19 04:35:08 +02:00
Abdessamad Derraz 2abef61acd feat: describe each data directory on its page 2026-10-19 04:34:33 +02:00
Abdessamad Derraz dfc4d24ae8 fix: claim a source pin only where one exists 2026-10-19 04:34:07 +02:00
Abdessamad Derraz 4d360c3cc1 fix: show the sha256 a platform declares 2026-10-19 04:33:38 +02:00
Abdessamad Derraz 435564c728 feat: identify each emulator part and its card 2026-10-19 04:33:11 +02:00
Abdessamad Derraz 58a5783d14 fix: show a version per build as text 2026-10-19 04:32:28 +02:00
Abdessamad Derraz 04deb95a35 docs: give every command-line option a help text 2026-10-19 04:23:34 +02:00
Abdessamad Derraz d430d361d9 feat: link each emulator page to its profile 2026-10-18 17:24:53 +02:00
Abdessamad Derraz 8f128b0b7f feat: give platform pages structured data 2026-10-18 17:21:51 +02:00
Abdessamad Derraz bfc7101166 fix: print the declared CRC32 on platform pages 2026-10-18 17:19:58 +02:00
Abdessamad Derraz d5dd16dbdb fix: give the home page a descriptive title 2026-10-18 17:19:25 +02:00
Abdessamad Derraz e56621de42 fix: announce the sitemap from each page 2026-10-18 17:19:09 +02:00
Abdessamad Derraz 6c50e29dfa fix: list archive members in accepted_hashes 2026-10-18 17:17:58 +02:00
Abdessamad Derraz 964f3f0cc9 fix: link cards to the platform's system section 2026-10-18 17:17:32 +02:00
Abdessamad Derraz 63a906e1bd fix: say on the site when a source is gone 2026-10-18 17:15:25 +02:00
Abdessamad Derraz 8595814620 feat: give each gap its hash and destination 2026-10-18 17:14:58 +02:00
Abdessamad Derraz c91a22ee7d fix: print profile hashes whole on the site 2026-10-18 17:12:03 +02:00
Abdessamad Derraz 481b8eb5f9 fix: show catalog names and flag bad dumps 2026-10-18 17:11:39 +02:00
Abdessamad Derraz 4f42c52a7f fix: count systems once per normalized id 2026-10-18 16:11:13 +02:00
Abdessamad Derraz dbd47886ce fix: name release assets as GitHub serves them 2026-10-18 14:49:00 +02:00
Abdessamad Derraz fa34a9fe18 fix: hold docs/ while the site is generated 2026-10-18 13:45:48 +02:00
Abdessamad Derraz 962f8ea5dc feat: publish the collection as a Logiqx DAT 2026-10-18 10:15:40 +02:00
Abdessamad Derraz 2679ed1ee0 feat: describe system page files for machines 2026-10-18 10:13:13 +02:00
Abdessamad Derraz c813ccbd32 feat: describe the data exports as a Dataset 2026-10-18 10:10:06 +02:00
Abdessamad Derraz bd75defb61 fix: date sitemap entries from their pages
The sitemap gave every page the build date. A page now states its own date
and a mkdocs hook passes it on, or leaves lastmod out. The values added to
the site's code spans today are also escaped: a backtick in a profile or
file name could close the span and inject markup.
2026-10-18 10:08:18 +02:00