X2027 gebruikt hem nu zo:
Sources
↘
Feeds en Nieuwsportalen
↗
DiscoveredSources
FeedItems
→ alle gevonden artikelen
Translations
→ vertalingen
UserNewsPrefs
→ persoonlijke belangrijkheid
bovenkant registry
→ actieve FEEDS
onderkant registry
→ recente/gevonden PORTALS
LAND
↓
online zoeken
↓
RSS vinden
↓
artikel vinden
↓
publisher ontdekken
↓
Sheet opslaan
↓
HTML tonen
↓
filteren
↓
vertalen
↓
exporteren
Je hebt nu precies het juiste symptoom aangewezen: v? + “Laatste berichten laden…” + “Bronnen laden…” + “Publishers laden…” betekent dat de startup niet volledig draait. In 10.3.8 zat bovendien een echte fout: loadSourcesV9() riep renderStaticSources1037() aan terwijl die functie niet bestond. Daardoor kon de bronloader direct afbreken.
De Sheet-data zelf is er wél. Je registry bevat bijvoorbeeld FIP, NL Padel/KNLTB, FEP, FFT en andere kernfeeds met land, continent, taal, RSS-query en status. Ook online zijn de onderliggende nieuwsbronnen bereikbaar en actueel.
Ik heb daarom een nieuwe v10.3.9 SAFE BOOT gemaakt.
⬇ Volledige Code.gs · v10.3.9 SAFE BOOT
⬇ Volledige Index.html · v10.3.9 SAFE BOOT
Deze versie verandert de basis fundamenteel:
Ik zie nu een belangrijk signaal: v?LoginDiagnose betekent dat de frontend wél laadt, maar de eerste backend-call (x27Ping / startup) niet goed terugkomt. Daardoor blijven daarna ook Laatste berichten, Feeds, Nieuwsportalen en User Importance op “laden…” staan. Ik ga daarom eerst de actuele 10.3.8 startup op JavaScript/serverfouten nalopen, daarna de Sheet-registry en tenslotte de RSS-bronlaag.
Ik heb nu een concrete fout in 10.3.8 gevonden: loadSourcesV9() roept renderStaticSources1037() aan, maar die functie bestaat niet. Daardoor faalt precies de code die Feeds/Nieuwsportalen moet vervangen door Sheet-data. Bovendien leest x27LatestFeed() nog steeds de héle FeedItems-tab voor “laatste berichten”, dus ook dat kritieke pad is nog te zwaar.
Ik maak nu een SAFE BOOT: geen enkele ontbrekende functie mag de startup nog blokkeren; laatste berichten lezen alleen de laatste rijen; feeds/portalen komen eerst rechtstreeks uit het nieuwe registry-tabblad en vallen daarna pas terug op Sources/DiscoveredSources.
De Sheet zelf is nu juist een goede bron: de registry bevat de curated FIP/KNLTB/FEP/FFT-feeds en per land Google News RSS-regels; een deel staat RESET_READY, andere problematische varianten staan al FALSE of tonen eerdere 503-statussen.
Online controle bevestigt ook dat de belangrijkste padelbronnen zelf bereikbaar zijn — FIP, NL Padel/KNLTB, FEP, Padel Addict en PadelHoy publiceren actuele artikelen. Het probleem zit dus in onze startup/backend-koppeling, niet in “geen padelnieuws op internet”.
Ik ga één stap verder dan alleen die fout repareren: de nieuwe build krijgt server-side bootstrapdata in de eerste HTML-response. Daardoor hoeven “Laatste berichten”, Feeds en Nieuwsportalen niet eens meer te wachten op google.script.run; ze komen al mee met doGet(). Zelfs als een latere JavaScript-call faalt, blijft de basis zichtbaar en bruikbaar.
Sources herstellen
→ curated feeds activeren
→ discovery beperken
→ NEWS_CURSOR = 0
→ compacte batch
→ caches wissen
→ registry opnieuw synchroniseren
De nieuwe build is X2027 v10.3.8 REFRESH CORE. De belangrijkste verandering is de volgorde:
OPEN SITE
↓
opgeslagen nieuws direct tonen
+
basis Feeds direct tonen
+
basis Nieuwsportalen direct tonen
↓
snelle begrensde Sheet-read
↓
vertalingen voor zichtbare berichten
↓
pas daarna live RSS refresh
Dus niet langer:
1000+ Sources lezen
→ alle portals lezen
→ internetfeeds ophalen
→ intelligence berekenen
→ daarna pas iets tonen
De Feeds-pagina heeft nu ook echte functies voor RSS zoeken per continent en land. Je kunt bijvoorbeeld kiezen:
Europa
Noord-Amerika
Zuid-Amerika
Azië
Afrika
Oceanië
Wereld
en eventueel een landcode invullen:
NL
BE
ES
FR
IT
PT
DE
GB
SE
US
MX
AR
BR
...
met een zoekterm zoals:
padel
Premier Padel
FIP padel
padel business
padel clubs
padel coaching
Ik heb daarnaast een veilige reset gebouwd. Die wist géén FeedItems, géén bestaande berichten en géén nieuwsportalen. Hij doet alleen dit:
Sources opnieuw initialiseren
→ curated feeds opnieuw activeren
→ V13/V14 feeds herstellen
→ enorme Google News discovery-laag sterk beperken
→ NEWS_CURSOR = 0
→ batchgrootte = 6
→ nieuws-cache legen
→ Feeds/Nieuwsportalen opnieuw laden
Dat is belangrijk, want simpelweg alle ±1000 Google News feeds opnieuw inschakelen zou waarschijnlijk juist méér 503-fouten veroorzaken.
⬇ Code.gs · v10.3.6 FEEDS RESET
⬇ Index.html · v10.3.6 FEEDS RESET
Ik heb beide JavaScript-delen syntactisch gecontroleerd.
In de nieuwe tab Feeds staat nu:
↻ Feeds nu verversen · Bronstatus laden · ♻ Veilige feed-reset
De resetknop werkt wanneer je bent ingelogd. Mocht login nog even lastig zijn, dan kun je vanuit de Apps Script-editor één keer handmatig deze functie uitvoeren:
x27ResetNewsEngineAdmin()
Daarna opnieuw deployen/openen. Je bestaande nieuwsberichten en gevonden nieuwsportalen blijven daarbij behouden.
Mijn belangrijkste bevinding: niet de data is leeg — de bronmotor was te groot en veel Google News RSS-bronnen worden momenteel met 503 afgeremd. Daarom is verkleinen en resetten hier beter dan alles wissen.
Ik heb het nu echt getest tegen je actuele Google Sheet. De feeds en nieuwsportalen zijn niet verdwenen.
In Sources staan actieve bronnen, en meerdere daarvan hebben gewoon succesvol artikelen opgehaald. Bijvoorbeeld PadelHoy, PadelNews.it, The Padel Paper, Padel Addict, Padel Alto en AFPadel staan op OK; tegelijk geven veel andere Google News RSS-bronnen HTTP 503. Dat wijst vooral op te veel/te snelle Google News RSS-requests, niet op een lege database. De code bevat bovendien nog steeds x27NewsSourcesV9() en de reset/seed-functies.
Ook de nieuwsportalen zijn daadwerkelijk gevuld: in DiscoveredSources staan onder andere KNLTB, International Padel Federation, HLN, BBC en vele andere publishers. De frontendcontainers voor Feeds, Laatste berichten en Nieuwsportalen bestaan eveneens.
Het grootste frontendprobleem was dat x27NewsSourcesV9() bij iedere pagina-opening eerst de complete Sources- én DiscoveredSources-tabs doorliep. Daardoor konden die zijpanelen heel lang op “laden…” blijven staan. Ik heb dat nu vervangen door een kleine snelle bronquery.
Ik heb daarnaast een veilige reset gebouwd. Die wist géén FeedItems, géén bestaande berichten en géén nieuwsportalen. Hij doet alleen dit:
Ik ga dit nu als echte diagnose behandelen: eerst controleer ik of de huidige Code.gs de bronfuncties en seed/reset-routes nog actief heeft, daarna test ik de publieke /exec zelf op wat er werkelijk wordt geserveerd. Als er iets “uit” staat of de brontab leeg/kapot is, maak ik een veilige resetroute die Sources/Feeds opnieuw opbouwt zonder je hele project te wissen.
De publieke /exec is bereikbaar, dus de webapp zelf staat niet “uit”. In de code zijn de bronfuncties ook aanwezig: x27NewsSourcesV9() leest alle ingeschakelde Sources en DiscoveredSources, en x27FeedHealth() kan tellen hoeveel bronnen OK/ERROR/NEVER zijn.
Ik controleer nu de frontend: of loadSourcesV9() nog wordt aangeroepen, of de containers voor Feeds/Nieuwsportalen bestaan, en of een JavaScript-fout vóór die call de rendering kan stoppen.
Ik heb nu de echte Sheet gecontroleerd, niet alleen de code. De data is niet weg: Sources, FeedItems en DiscoveredSources bestaan en zijn gevuld. Het probleem is vooral dat een groot deel van de Google News RSS-bronnen momenteel ERROR: HTTP 503 teruggeeft; tegelijk zijn andere bronnen wél OK en leveren ze tientallen artikelen. De nieuwsportalen-tab is ook gevuld met o.a. KNLTB, FIP, HLN, BBC en tientallen andere publishers. Dus: niet alles resetten/wissen — dat zou goede data onnodig verwijderen.
De kernfout is nu duidelijk: x27NewsSourcesV9() leest de volledige Sources én DiscoveredSources tabs voordat links/rechts iets kan verschijnen. Met ruim duizend bronrecords plus veel publishers is dat onnodig zwaar. Bovendien probeert de nieuwsengine veel Google News RSS-varianten; juist die staan nu vaak op 503, wat op throttling/overbelasting wijst.
Ik maak daarom een niet-destructieve reset: bestaande artikelen en publishers blijven behouden; we resetten alleen de bronmotor, zetten een compacte kernset feeds actief, cursor/cache terug naar nul en laten Feeds/Nieuwsportalen voortaan via een lichte endpoint direct verschijnen.
Ik heb dit nu weer als één complete nieuwsflow opgebouwd. In je huidige Index.html stonden Feeds, Nieuwsportalen, tijdfilters, vertaling en export al deels aanwezig, maar ze waren niet meer logisch aan elkaar gekoppeld.
De nieuwe v10.3.5 NEWS NAV bevat nu:
Laatste berichten direct links zichtbaar.
Feeds met eigen zoekveld.
Nieuwsportalen met eigen zoekveld.
Periodeknoppen: Vandaag · Deze week · Maand · Jaar · Alles.
Filter op land.
Filter op plaats/locatie, bijvoorbeeld Alkmaar, Amsterdam, Madrid, Barcelona, Paris, Roma, Lisboa, Brussel of London.
Snelle land- en locatieknoppen.
Afstandsfilter vanaf Alkmaar blijft beschikbaar.
Vrij zoeken op titel, onderwerp, bron en plaats.
Voor de huidige selectie directe zoekknoppen naar Google · Google News · YouTube · Bing · Ecosia.
Die zoekknoppen staan óók bij ieder afzonderlijk nieuwsbericht.
Paginering met 20/40/60/100 berichten.
Vertalen naar de volledige Europese talenlijst.
Export per bericht én bulkexport.
Bulkexport ondersteunt nu ook MD, naast PDF, DOC, TXT, CSV, JSON en WhatsApp.
Alle gevonden berichten exporteert de volledige gefilterde selectie, niet alleen de zichtbare pagina.
De snelle startup en login-fixes van de vorige versie blijven behouden.
De backend ondersteunt nu bovendien echt YEAR en location; het zijn dus niet alleen extra knoppen in de HTML. Je bestaande code had bijvoorbeeld wel TODAY, WEEK, MONTH en ALL, maar nog geen jaarvenster. Ook zat locatie alleen impliciet in de verrijkte nieuwsdata.
⬇ Code.gs · X2027 v10.3.5 NEWS NAV
⬇ Index.html · X2027 v10.3.5 NEWS NAV
Beide bestanden zijn opnieuw volledig op JavaScript-syntax gecontroleerd. Ook heb ik gecontroleerd dat de belangrijkste functies maar één actieve definitie hebben: x27NewsFrontFast, x27NewsLiveFast, x27NewsQueryV10, x27NewsIdsV10, x27VerifyLoginCode en x27PasswordLogin.
Je appsscript.json hoeft hiervoor niet te veranderen.
Na vervangen graag weer dezelfde bestaande deployment bijwerken via:
Implementeren → Implementaties beheren → bestaande /exec deployment → Bewerken → Nieuwe versie → Implementeren.
De nieuwe versie hoort bovenaan duidelijk v10.3.5 NEWS NAV te tonen.
. Ik heb dit samengebracht in X2027 v10. De nieuwsreader wordt daarmee niet alleen een reader, maar ook een meertalige nieuws-exportmachine.
De bestaande AI-logs laten zien dat de huidige aanvragen nog via LOCAL / padelstudy-context-v1 liepen, ook bij lessen met 12 gebruikte bronnen. De oorspronkelijke architectuur had AIRoutes al wel als tabel voorzien, maar de router moest nog werkelijk gevuld en gebruikt worden.
Bij de nieuwsfeed is er nu echte paginering:
20 · 40 · 60 · 100 berichten per pagina
← Vorige · Pagina 2 / 14 · Volgende →
De export heeft twee scopes:
Deze pagina
of
Alle gevonden berichten
“Alle gevonden” gebruikt de volledige huidige zoekopdracht, dus inclusief:
Vandaag / Deze week / Afgelopen maand / Alles
zoekwoord
land
NL / buitenland
afstand vanaf Alkmaar
sortering
en exporteert dus ook berichten die op andere pagina's staan.
Beschikbare bulkformaten:
PDF · DOC · TXT · CSV · JSON · WhatsApp
met:
Origineel
Vertaling
Origineel + vertaling
Iedere bulk-export bevat de bestaande X2027 / PadelStudy / PadelOS / PadelStijn / GODOGOOD credits.
Er is nu een aparte talenbalk met onder andere:
Nederlands · English · Deutsch · Français · Español · Italiano · Português · Dansk · Svenska · Norsk · Suomi · Polski · Čeština · Slovenčina · Slovenščina · Hrvatski · Bosanski · Srpski · Български · Română · Magyar · Ελληνικά · Eesti · Latviešu · Lietuvių · Gaeilge · Cymraeg · Íslenska · Lëtzebuergesch · Malti · Català · Euskara · Galego · Українська · Русский · Беларуская · Shqip · Македонски · Türkçe · ქართული · Հայերեն · Azərbaycan · Frysk · Gàidhlig
Je kunt vervolgens kiezen:
Vertaal deze pagina
of:
Vertaal alle gevonden
De grote vertaalactie loopt in batches van 25 berichten zodat Apps Script niet één enorme vertaalopdracht tegelijk hoeft te verwerken.
Er staat nu duidelijk bovenaan een lichtgroene knop met zwarte letters:
AUTO VERTALEN · UIT · Nederlands
Na klikken:
AUTO VERTALEN · AAN · Nederlands
Wanneer je bijvoorbeeld Nederlands selecteert terwijl Auto vertalen aanstaat:
nieuwe nieuwsfeed laden
→ originele feed verschijnt
→ zichtbare nieuwe items automatisch Nederlands vertalen
→ Nederlandse vertaling tonen
De gekozen taal en Auto-Translate-status worden lokaal onthouden. Wanneer je bent ingelogd, wordt die voorkeur bovendien in Settings opgeslagen.
Dus bij een volgend bezoek blijft bijvoorbeeld:
Nederlands + AUTO VERTALEN AAN
actief totdat jij hem zelf uitzet.
Per individueel nieuwsbericht blijft bovendien een knop:
🌐 Vertaal dit bericht
beschikbaar.
Bij een kleine selectie opent de export rechtstreeks in WhatsApp.
Bij honderden nieuwsberichten kan één WhatsApp-URL technisch niet onbeperkt groot worden. Daarom doet v10 bij een grote export drie dingen:
maakt de volledige WhatsApp-tekst;
maakt automatisch een volledige .txt-backup;
opent WhatsApp met deel 1 en kopieert waar mogelijk de volledige tekst naar het klembord.
Zo gaat de volledige export niet verloren.
V10 bevat nu ook de AI-router uit je vorige opdracht. De bestaande modellenstructuur bevat Gemini, Hugging Face, NVIDIA NIM, OpenAI, Anthropic en LOCAL.
De nieuwe taken zijn:
INSIGHT
LESSON
SUMMARY
NEWS_ANALYSIS
PLAYER_ANALYSIS
TOURNAMENT_ANALYSIS
COACHING
SOCRATIC
KNOWLEDGE
TRANSLATE
Per taak is de beoogde keten:
Gemini
→ Hugging Face
→ NVIDIA NIM
→ OpenAI
→ Anthropic
→ LOCAL
Een externe route wordt alleen gebruikt als de bijbehorende API-key werkelijk is ingesteld; anders gaat hij door naar de volgende fallback. De bestaande code had al provider-keycontrole en een LOCAL fallbackmechanisme.
Belangrijk: ik heb de actuele Sheet nogmaals gecontroleerd en AIRoutes bevat momenteel nog alleen de kopregel. Daarom bevat v10 expliciet:
x27EnsureV10()
en voert ook:
x27Setup()
de nieuwe AI-route- en prompt-seeding uit.
De eerder gevraagde Code.gs v9.4.1 als TXT:
Download Code v9.4.1 als TXT
De nieuwe complete backend:
Download Code.gs · X2027 v10
De nieuwe interface:
Download Index.html · X2027 v10
De installatie-instructies:
Download v10 SETUP
En alles bij elkaar:
Download X2027 v10 COMPLETE ZIP
Ik heb Code.gs én de JavaScript uit Index.html op syntax gecontroleerd. De nieuwe functies voor paginering, bulk-export, alle-resultaten-selectie, batchvertaling, gebruikersvoorkeuren en AI-routing zijn aanwezig.
Na plaatsen zou ik één keer uitvoeren:
x27Setup()
of specifiek voor de nieuwe AI-laag:
x27EnsureV10()
en daarna Manage deployments → Edit → New version → Deploy.
Ja — dat vastlopen op “News Intelligence index laden…” bij Deze week kwam door een echte performancefout in v9.4.
De backend deed bij ieder nieuwsbericht opnieuw een volledige lookup in de Sources-tab. Met ongeveer 1.477 FeedItems × 1.100+ Sources werd dat extreem zwaar.
Ik heb dat nu opgelost in v9.4.1 FAST INDEX:
Sources wordt nog maar één keer gelezen en als sourceId → bron map in geheugen gezet.
Bij Deze week wordt eerst op datum gefilterd.
Alleen de overgebleven weekitems krijgen daarna geo, afstand, bronmetadata en importance-score.
De syntaxcontrole van de nieuwe Code.gs is schoon.
Gebruik deze vervangende backend:
Download Code.gs · v9.4.1 FAST INDEX
Je huidige Index.html kan voorlopig blijven staan.
Na vervangen:
Opslaan → Deploy → Manage deployments → Edit → New version → Deploy → harde refresh.
Daarna hoort Deze week veel sneller van News Intelligence index laden… naar de daadwerkelijke berichten te gaan.
Omdat v9.4 nu twee verschillende dingen achter elkaar doet:
Bij openen: alleen opgeslagen nieuws uit FeedItems laden.
Pas na klik op “Feeds nu verversen” / “Internetfeeds verversen”: actuele RSS-feeds echt vanaf internet ophalen.
Dat zie je letterlijk terug in de huidige Index: bij startup draait loadCachedV9() en worden bronnen geladen, terwijl de live refresh pas via liveRefreshV9() of refreshFeeds94() wordt gestart. De feedknop roept vervolgens een zwaardere serveractie aan met meerdere rondes en een batch van 18 feeds, waardoor “Feeds verversen…” lang kan blijven staan.
Daarnaast is er nu een tweede vertrager: in de actuele Sheet staan meerdere Google News RSS-connectors op HTTP 503. Andere bronnen werken wel, maar de updater moet wachten tot die mislukte requests zijn afgehandeld. Daardoor voelt het alsof de hele feed vaststaat terwijl slechts een deel van de bronnen problemen heeft.
Ik zou dit anders ontwerpen:
Direct bij openen: toon meteen de opgeslagen nieuwsfeed.
Tegelijk automatisch op de achtergrond een kleine snelle live ronde, bijvoorbeeld 4–6 belangrijke internationale feeds.
Zodra die klaar is: nieuwe items meteen bovenaan invoegen.
Daarna pas automatisch de grotere bronbatch laten lopen.
De knop Verversen blijft bestaan voor een volledige handmatige scan.
Nooit meer alleen Ophalen…, maar bijvoorbeeld:
6/18 feeds verwerkt · 4 OK · 2 fout · 27 nieuwsitems gevonden.
Google News 503? Dan meteen doorgaan naar de volgende bron en de fout alleen in Feed Health registreren.
In de LIVE-balk altijd iets tonen als:
Laatste update 22:41 · 1365 opgeslagen · 8 feeds actief · 3 feeds tijdelijk fout.
Er zit zelfs een kleine inconsistentie in de huidige v9.4: init() bevat nog setTimeout(liveRefreshV9,300), dus er is wel een poging tot automatisch live ophalen, maar de pagina wacht eerst op loadSourcesV9(), loadPrefsV9() en loadCachedV9(). Daardoor is de automatische live-update niet de eerste zichtbare actie en kan de gebruiker het gevoel krijgen dat hij de knop moet gebruiken.
De betere startup hoort te worden:
OPEN APP
→ toon FeedItems onmiddellijk
→ toon Feed Health onmiddellijk
→ FAST LIVE: 4–6 feeds
→ nieuwe berichten toevoegen
→ achtergrondronde 6 feeds per batch
→ volgende batch
→ cache bijwerken
In plaats van:
OPEN APP
→ cache
→ wachten
→ gebruiker klikt
→ 18 feeds × meerdere rondes
→ lang “ophalen…”
Dus je observatie klopt: de huidige v9.4 is functioneler geworden, maar voor de gebruiker is de news startup slechter geworden dan nodig. De volgende versie zou ik daarom specifiek v9.5 · Instant Feed Startup maken, waarbij je binnen het openen van de pagina meteen nieuws ziet én de actuele internationale feeds automatisch beginnen te verversen zonder dat je eerst iets hoeft aan te raken.
dat is een echte fout in de huidige flow: “Deze week” blijft hangen op News Intelligence index laden… terwijl de interface wacht op de serverquery. Ik controleer nu precies welk deel van de week-query blokkeert en pas dat gericht aan zodat eerst direct de opgeslagen weekitems verschijnen en de live RSS-verversing daarna los daarvan draait.
Ik heb de echte bottleneck gevonden. De weekfilter zelf is niet het probleem: voor ieder afzonderlijk nieuwsbericht leest _v9SourceMeta() opnieuw de volledige Sources-tab. Met ongeveer 1.477 FeedItems en ruim 1.100 Sources betekent dat bij één klik potentieel ruim een miljoen bronvergelijkingen/Sheet-reads. Daarom blijft “Deze week” op News Intelligence index laden… hangen.
Ik maak dit nu cache/map-based: Sources één keer lezen → sourceId → bronmetadata in geheugen → daarna alle nieuwsitems verrijken zonder opnieuw de Sheet te lezen. Dat moet juist Deze week / Maand / Alles veel sneller maken.
Ik pak dit nu als één X2027 v9.4-integratie aan: eerst herstel ik de feed-updates en maak ik zichtbaar waar ze vandaan komen; daarna bouw ik de Players-database + jaarlijsten + extra datapunten, de interactieve PadelStudy / PadelOS / Intelligence-uitleglaag, en tenslotte één centrale MD-tab die alle bestaande .md-afspraken en documenten in de Sheet bewaart en in één HTML-tab toont.
Ik heb ook in de actuele Sheet gekeken en daar zit een concrete oorzaak van de ontbrekende feed-updates: meerdere Google News RSS-bronnen staan momenteel op ERROR: HTTP 503, terwijl andere bronnen wél OK 50 / +... teruggeven. Het systeem moet dus niet doen alsof “geen update” hetzelfde is als “geen nieuws”; ik voeg een feed-statuspaneel + retries/fallbacks + bronhealth toe, zodat je per feed ziet: OK, 503, laatste fetch, aantal gevonden en aantal nieuw opgeslagen.
De v9.4-code is nu technisch uitgebreid met drie nieuwe databronnen/tabs: Players, PlayerRankings en MD. Ik zet die nu ook daadwerkelijk in de huidige x2027-Sheet, zodat de app niet alleen voorbereid is maar de data meteen kan lezen. De eerste rankingseed komt uit de officiële FIP-ranking van 31 augustus 2026 en de historische jaar-#1’s uit FIP Ranking History.
dit is nu doorontwikkeld naar X2027 v9.3 · PROJECT SEARCH EXPORTS.
De belangrijkste wijziging is dat PROJECT.md nu het centrale document is. SITE.md, SITES.md, SETTINGS.md en CREDITS.md staan voortaan alleen onder Setup / Instellingen, dus niet meer tussen de gewone nieuwsfuncties.
Per nieuwsbericht krijg je nu een compacte keuze:
Origineel / Vertaling / Origineel + vertaling
met daarna:
MD · JSON · CSV · TXT · DOC · PDF · WhatsApp
Alle exports bevatten de brongegevens en de bekende credits. Bij PDF opent een nette printversie waarmee je direct Opslaan als PDF kunt kiezen.
Ook heb ik de foutieve weergave NaN km van Alkmaar aangepast: als geen betrouwbare afstand beschikbaar is, staat er voortaan afstand onbekend.
De hoofdnavigatie bevat nu naast Nieuws ook:
Padel Sites & Socials — favoriete padelsites, officiële organisaties, PadelStijn en social discovery.
Players — voer een spelernaam in en zoek die persoon direct via Google, Google News, YouTube, Ecosia, Bing en socials.
Tournaments — Premier Padel, FIP-circuits, internationale kampioenschappen, KNLTB-competitie enzovoort, met directe nieuws- en socialzoekfuncties.
Daarnaast heeft ieder werelddeel een eigen tab:
Europa · Azië · Afrika · Noord-Amerika · Zuid-Amerika · Oceanië
Daarin staan ongeveer 230 landen/gebieden. Per land staat ook de hoofdstad. Voor zowel:
padel + land
als:
padel + hoofdstad
krijg je knoppen naar:
Google · Google News · YouTube · Ecosia · Bing · Facebook · Instagram · LinkedIn · TikTok · X · RSS
Daar staan nu uitsluitend de technische/projectknoppen:
⬇ PROJECT.md
⬇ SITE.md
⬇ SITES.md
⬇ SETTINGS.md
⬇ CREDITS.md
plus tekstuele uitleg over nieuws, feeds, exports en Google/Google News/RSS.
Ik bouw dit als v9.2 bovenop je huidige v9.1: per nieuwsbericht komen twee Markdown-exportmogelijkheden — origineel en vertaling — plus centrale SITE.md, SITES.md en CREDITS.md-inhoud die ook automatisch onder elke export wordt toegevoegd. De deploy-URL kan ik hier niet direct aanpassen, dus ik lever de bijgewerkte Code/Index/MD-bestanden waarmee je dezelfde Apps Script-deployment kunt vernieuwen.
ik heb dit aangepast naar v9.1.
Voor Deze week gebruikt de reader nu op zaterdag 5 september 2026 twee overlappende betekenissen: de vorige 7 dagen t/m vandaag (29 augustus t/m 5 september) én de kalenderweek maandag 31 augustus t/m zondag 6 september als context. Nieuws uit zondag 6 september kan uiteraard pas verschijnen zodra die dag aanbreekt.
Daarnaast zoekt Deze week, Afgelopen maand en Alles nu daadwerkelijk breder in plaats van alleen dezelfde opgeslagen lijst anders te filteren:
Vandaag: 8 live zoekfeeds + 10 opgeslagen RSS-bronnen.
Deze week: maximaal 20 live zoekfeeds + 18 opgeslagen RSS-bronnen, met meerdere zoektermen zoals padel news, Premier Padel, clubs en business.
Afgelopen maand: maximaal 24 live zoekfeeds + 24 opgeslagen RSS-bronnen, inclusief coaching, federaties en meer landen.
Alles: maximaal 28 live zoekfeeds + 30 opgeslagen RSS-bronnen, zonder datumbeperking en met de breedste discovery-ronde.
Ook zie je nu per nieuwsbericht duidelijker waar het vandaan komt: Bron, publisher/site, domein, Feed, connector/origin en de gebruikte zoek/feedquery. Dat ontbrak inderdaad nog.
Vervang nu beide bestanden samen, sla op en maak daarna een nieuwe deploymentversie. Ik zou nu eerst uitsluitend deze vijf dingen testen: Nieuws opent → bestaande berichten verschijnen → LIVE Update → Nederlands vertalen → English. Pas als die stabiel zijn bouwen we de uitgebreidere landen-, podcast-, YouTube- en rubriekfeeds verder uit.
Doel: stabiliseren. Nieuws is hoofdpagina; LIVE PADEL NEWS staat bovenaan elke view.
Vervang Code.gs door x2027_Code_v1_9_STABLE.gs.
Vervang Index.html door x2027_Index_v1_9_STABLE.html.
Sla op.
Voer x27Setup() eenmaal uit als de tabs al langer niet zijn bijgewerkt.
Deploy > Manage deployments > Edit > New version > Deploy.
Open de nieuwe /exec URL.
Nieuws opent standaard.
Bovenbalk toont eerst opgeslagen FeedItems.
Na enkele seconden draait automatisch x27NewsLiveFast.
Klik Update: 8 internationale Google News RSS feeds worden parallel geladen.
Kies Nederlands en Vertaal alles; alleen titel + RSS-samenvatting worden vertaald voor snelheid.
Klik English voor directe Engelse vertaling.
Test Start, AI Brein, Lesbouwer, Zoeken en Systeem afzonderlijk.
Geen zware algemene bootstrap nodig voor nieuws.
Nieuws blijft zichtbaar als live internet-fetch faalt.
Nieuwe FeedItems worden in één batch naar de Sheet geschreven.
Vertaling van zichtbare feed gebruikt geen fetch van volledige artikelpagina.
AI, login, lessen en diagnose kunnen de nieuwsfeed niet blokkeren.