Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Every fan convention worldwide, sorted by date, with every guest's photo.
Translation pending
LifestyleJavaScript · CSSGitHub @MLGGStaROnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Every fan convention worldwide, sorted by date, with every guest and their photo.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Every fan convention worldwide (comic, anime, gaming, tabletop, sci-fi, horror, pop
culture, toys, cosplay, furry), sorted by date, with every announced guest and their
photo.Read the full README ↗Every fan convention worldwide (comic, anime, gaming, tabletop, sci-fi, horror, pop culture, toys, cosplay, furry), sorted by date, with every announced guest and their photo.
Live site: https://mlggstar.github.io/WorldCons/
Static site, no backend. The data is built by pipeline/ and refreshed every day (see below):
pipeline/tools/extract.mjs renders a con's homepage or guest page in Chromium and
lists dates, images and numbered guest candidates.pipeline/RESEARCH.md and write one file per con to
pipeline/research/<id>.json (dates with evidence, venue, guest picks by number).
pipeline/tools/check-research.mjs validates every file.npm run build:data merges the research into data/cons.json, downloads each
con's cover and every guest photo, crops them (img/c, img/g, img/g/s) and
records each image's source URL in data/sources.json. Guests with no con photo
fall back to their Wikipedia page image.node pipeline/stamp.mjs stamps a new build id so installed copies update.Dates and guests come from each convention's official website. Guest photos belong to their owners and are shown to identify who is appearing.
The data refreshes itself once a day. The Windows scheduled task "WorldCons daily refresh"
(10:17 local time; if the PC was off or asleep it runs as soon as it can) starts
pipeline/refresh/run.mjs:
pipeline/refresh/plan.mjs (no AI) re-renders the guest pages behind every upcoming
lineup, the guest pages of editions still waiting on guests, and a seventh of the
homepages of cons waiting on dates. It compares them with the extraction the research
picked from and with everything earlier runs saw (pipeline/cache/refresh/seen.json), then
writes task files for what changed: new guest cards, guests gone from the page, guests
appearing, new date text.claude -p, Sonnet, three at a time,
at most 8 files a day; the rest wait for the next day). The agents follow RESEARCH.md
(pipeline/refresh/prompts.mjs holds their instructions) and only edit research files.check-research.mjs or the picks audit are put back. build-data.mjs
rebuilds the data and images, safety gates refuse any big drop in cons, guests or photos,
and the tests run.Logs are in pipeline/logs/ (refresh-<date>.log, last-run.json). Run it by hand with
node pipeline/refresh/run.mjs (--no-agents, --no-push, --reuse-plan to reuse today's
scan). Install or move the task with
powershell -ExecutionPolicy Bypass -File pipeline/refresh/install-task.ps1 -At 10:17.
The PC needs to be on at some point in the day; a run skips itself if the working tree has
uncommitted changes, so it never mixes with work in progress.
The daily refresh keeps known cons current. To add new cons or redo the research:
node pipeline/tools/make-seed.mjs <discovery.json> merges a con list into
pipeline/seed/series.json (skip if the list is unchanged).node pipeline/tools/prefetch.mjs pipeline/seed/todo.json renders homepages ahead.node pipeline/tools/make-batches.mjs writes pipeline/seed/batches/batch-NN.txt, then
run the pipeline/workflows/research.js workflow over those batch numbers (research
files that should be redone must be deleted first; existing ones are skipped).node pipeline/tools/audit-guests.mjs --reextract flags lineups that may be incomplete;
pipeline/workflows/fixup.js rechecks them, backfills last-held dates, finds missing
photos (written to pipeline/overrides/photos-*.json) and researches leftovers.verify and then refute
kinds (a skeptic that keeps a guest only with per-guest proof for this edition).
node pipeline/tools/stale-scan.mjs --before <date> flags nearer shows whose guest
page or photo uploads carry an earlier year.node pipeline/tools/audit-picks.mjs checks every pick's card names that
guest (--fix re-points picks to the card clearly labelled with the name). Cards whose
name is only inside the image go through the fix-up picks kind, which screenshots
them with pipeline/tools/card-shot.mjs; checked ones are listed in
pipeline/overrides/picks-verified.json.npm run build:data, npm test, node pipeline/tools/interact.mjs,
node pipeline/tools/build-og.mjs, node pipeline/stamp.mjs, then commit and push.pipeline/cache/ (rendered pages and downloaded originals) stays on the machine that ran
the research; the committed data/ and img/ are everything the site needs, and
data/sources.json records where every image came from.
npm install
npm test # model logic (filters, dates, search, URL state)
npm run serve # http://localhost:8080/
node pipeline/tools/shoot.mjs <outDir> "list=#/" "con=#/con/<id>" # screenshots