OpenTrailPaper
LilyGO T5S3 4.7" E-Paper PRO용 오픈소스 자전거 컴퓨터 펌웨어, 오프라인 지도·GPX 경로·FIT 기록·블루투스 센서 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기repo voor de voorspel website ishetalafgelast.nl
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Check of je amateurvoetbalwedstrijd wordt afgelast vanwege het weer. Statische site op GitHub Pages; geen backend nodig.
De browser doet alles zelf:
js/model.js): dezelfde
gekalibreerde logistische regressie als in de Python-repo
voetbal-voorspel-model. predictRaw() in js/engine.js geeft exact
dezelfde uitkomst als predict_full() in Python.Bovenop het ruwe model zitten twee bewuste correcties in predict():
KUNSTGRAS_WEIGHT = 0.75): het ruwe kunstgras-effect
is extreem optimistisch bij vorst of een zompige week. Het effect telt voor
75% mee, in logit-ruimte ten opzichte van gras.Standaard staat het formulier op gras.
Geen server, geen cookies, geen trackers. Gedeelde links (?plaats=…&datum=…)
rekenen de uitslag opnieuw uit.
index.html Homepage en sjabloon voor de plaatspagina's
styles.css Alle vormgeving
js/app.js Formulier, veldkeuring, uitslag, delen, history
js/engine.js Geocoding, weer, model-inferentie, uitleg
js/model.js Geëxporteerde modelgewichten (gegenereerd)
js/scene.js Levende illustraties (regen, rimpels, lampen, Zzz, confetti)
js/stuitproef.js De stuitproef: scheids Henk laat een bal vallen, fysica uit het weer
js/eggs.js Easter eggs: hotspots in de illustraties, Henk-parade, appgroep
sw.js, manifest.webmanifest Installeerbaar + offline schil
art/ Bron-illustraties (niet direct gebruikt)
img/ Gegenereerde web-assets
fonts/ Zelf-gehoste lettertypes
tools/ Generators (zie hieronder)
python3 tools/build_assets.py --fonts <map met LilitaOne.ttf, Fredoka.ttf>
python3 tools/gen_pages.py
<backend>/.venv/bin/python tools/export_model.py <backend>/data/model.joblib
build_assets.py: scènes, perkamentrol, iconen en OG-afbeelding uit art/.gen_pages.py: plaatspagina's, plaatsenoverzicht, privacy, 404 en
sitemap. Adverteren staat uit (SPONSOR_LIVE = False); op True zetten
maakt sponsor.html, de footerlink en de sitemap-regel weer aan. De homepage is het sjabloon: blokken tussen <!--seo:x--> markers
worden per plaats vervangen. Wijzig index.html en draai dit opnieuw.export_model.py: na hertrainen van het model opnieuw draaien.De publicatiebuild geeft sw.js automatisch een cacheversie op basis van
alle publieke bestanden. Test de build, niet een oude _site-map.
npm ci --ignore-scripts
npm test
npm run build
npx --no-install playwright install chromium
python3 -m http.server 8765 --bind 127.0.0.1 --directory _site
# in een tweede terminal:
npm run test:e2e
tools/e2e.cjs mockt Open-Meteo en loopt de hele flow door: validatie,
uitslag, delen, terug/vooruit, deeplinks, foutgevallen, plaatspagina's en de
easter eggs.
master is beschermd: wijzigingen gaan via een pull request en de verplichte
security-checks. De workflow .github/workflows/pages.yml test het publieke
artefact en publiceert uitsluitend vanaf master; fork-PR's krijgen geen
deployrechten. Actions zijn beperkt tot GitHub Actions en gepind op commit-SHA.
tools/build_site.py maakt een nieuwe _site-map met alleen runtimebestanden.
docs/, tools/, art/, Gitbestanden en lokale configuratie blijven buiten
de website. Bestaat _site al, gebruik dan --output met een nieuwe lege
bestemming of verwijder uitsluitend je eigen oude buildmap vóór opnieuw bouwen.
Een public repo en de benodigde frontend-JavaScript blijven openbaar leesbaar.
HTTPS wordt afgedwongen. API-antwoorden worden gevalideerd en verzoeken hebben
een timeout. Resultaatlinks kunnen bij delen/herladen bij hosting terechtkomen;
zie privacy.html. Er worden geen referrers meegestuurd.
Resterende eigenaarstaken, hostingbeperkingen en incidentherstel staan in
docs/security/BEHEER.md. Een private repo, betaalde hosting of backend is niet
automatisch nodig voor deze statische site.
Legt de KNVB het amateurvoetbal in een regio of het hele land stil, zet dan
status.json aan via een gewone PR:
{
"algemeen_afgelast": true,
"tekst": "De KNVB heeft alle amateurwedstrijden van dit weekend afgelast.",
"bron": "https://www.knvb.nl/nieuws/...",
"tot": "2026-11-29"
}
Home en uitslag tonen dan een rode banner met de tekst (maximaal 200 tekens)
en een link naar de bron. Alleen https:// op knvb.nl of voetbal.nl telt;
een andere bron, een lege tekst of een tot in het verleden laat de banner weg.
Met tot verdwijnt hij vanzelf. Daarna weer "algemeen_afgelast": false.
Hotspot-coördinaten staan in js/eggs.js (SPOTS) als percentages van de
illustratie. Bij nieuwe art opnieuw meten (pixelrooster over het bronbeeld,
zie de historie van HANDOVER.md). Verder: typ henk of de Konami-code,
klik op Henk in de stuitproef (gele, gele, rode kaart), of op het vaantje in de
kantine (je muis wordt een bal).
| Type | Naam | Waarde |
|---|---|---|
| A | @ | 185.199.108.153 … 185.199.111.153 |
| CNAME | www | <github-username>.github.io |