From 10aab5d7eb1ada01d2410c1486f52d1f6db3daa3 Mon Sep 17 00:00:00 2001 From: Ted Timbrell Date: Tue, 31 Mar 2026 23:04:05 -0700 Subject: [PATCH 1/4] Add meta refresh redirects and canonical URLs for all matched pages Adds (5s delay) and tags to 124 pages (17 volume indexes + 101 articles) pointing to their pragmaticpapers.com equivalents, matching the pattern already on the homepage. Pages missing from prod (11 articles) were skipped. Co-Authored-By: Claude Opus 4.6 (1M context) --- 02/doge-and-elon/index.html | 2 ++ 02/executive-orders/index.html | 2 ++ 02/index.html | 2 ++ 02/ukrainian-update/index.html | 2 ++ 03/a-student-for-speech/index.html | 2 ++ 03/boycotting-protesting-or-crime/index.html | 2 ++ 03/effective-outreach/index.html | 2 ++ 03/executive-orders/index.html | 2 ++ 03/index.html | 2 ++ 03/schumer-folds/index.html | 2 ++ 03/ukraine-russia-update/index.html | 2 ++ 03/when-transparency-becomes-opaque/index.html | 2 ++ 04/ceasefire-in-name-only/index.html | 2 ++ 04/djt-flubs-israel-palestine/index.html | 2 ++ 04/elons-war-on-the-courts/index.html | 2 ++ 04/executive-orders/index.html | 2 ++ 04/index.html | 2 ++ 04/just-show-up/index.html | 2 ++ 05/executive-orders/index.html | 2 ++ 05/fail-too-big-to-save/index.html | 2 ++ 05/index.html | 2 ++ 05/signal-chat-fiasco/index.html | 2 ++ 05/tros-contempt-last-stand-of-judiciary/index.html | 2 ++ 05/ukraine-russia/index.html | 2 ++ 05/weighted-dice/index.html | 2 ++ 06/destinys-dissent/index.html | 2 ++ 06/executive-orders/index.html | 2 ++ 06/index.html | 2 ++ 06/musks-exit-wound/index.html | 2 ++ 06/opinion-piece-ukraine/index.html | 2 ++ 06/russia-builds-and-the-us-wavers/index.html | 2 ++ 06/special-elections/index.html | 2 ++ 06/trumps-tariffs-cause-stocks-to-tumble/index.html | 2 ++ 06/when-beat-the-drums-of-war/index.html | 2 ++ 07/build-walls-burn-bridges/index.html | 2 ++ 07/executive-orders/index.html | 2 ++ 07/index.html | 2 ++ 07/israel-palestine/index.html | 2 ++ 07/little-effort-big-impact/index.html | 2 ++ 07/powerlessness-corrupts/index.html | 2 ++ 07/russia-ukraine/index.html | 2 ++ 07/trust-us-were-the-government/index.html | 2 ++ 08/concepts-of-a-plan/index.html | 2 ++ 08/efficiency-but-make-it-eugenics/index.html | 2 ++ 08/executive-orders/index.html | 2 ++ 08/index.html | 2 ++ 08/is-war-next-for-israel-and-iran/index.html | 2 ++ 08/money-in-politics-101/index.html | 2 ++ 08/uncanceled-the-return-of-disgraced-democrats/index.html | 2 ++ .../index.html | 2 ++ 09/chainsaws-arent-office-tools/index.html | 2 ++ 09/coalition-of-the-willing/index.html | 2 ++ 09/executive-orders/index.html | 2 ++ 09/from-ceasefires-to-car-bombs/index.html | 2 ++ 09/index.html | 2 ++ 09/judge-detained/index.html | 2 ++ 09/maga-election-attacks/index.html | 2 ++ 09/they-make-a-desert/index.html | 2 ++ 10/100-days/index.html | 2 ++ 10/brief-history/index.html | 2 ++ 10/doge-insider-threat/index.html | 2 ++ 10/europe-braces-for-impact/index.html | 2 ++ 10/executive-orders/index.html | 2 ++ 10/index.html | 2 ++ 10/minerals-deal-signed/index.html | 2 ++ 10/no-data-left-behind/index.html | 2 ++ 10/rain-of-fire/index.html | 2 ++ 11/constructing-crisis/index.html | 2 ++ 11/destinys-dissent/index.html | 2 ++ 11/eu-strikes-back/index.html | 2 ++ 11/executive-orders/index.html | 2 ++ 11/gazas-protests-fight-to-be-heard/index.html | 2 ++ 11/in-memory-of-leon-greenman/index.html | 2 ++ 11/index.html | 2 ++ 11/unity-parades-moscow-pressure-kyiv/index.html | 2 ++ 12/bridging-the-channel/index.html | 4 +++- 12/checks-in-the-mail/index.html | 4 +++- 12/deadlock/index.html | 4 +++- 12/displacement/index.html | 4 +++- 12/eos/index.html | 4 +++- 12/index.html | 2 ++ 12/road-to-brexit/index.html | 4 +++- 12/super-sunday/index.html | 4 +++- 12/the-path-to-impeachment/index.html | 4 +++- 13/big-beautiful-trap/index.html | 4 +++- 13/eos/index.html | 4 +++- 13/fool-me-once/index.html | 4 +++- 13/gideons-chariots/index.html | 4 +++- 13/index.html | 2 ++ 13/over-night-attacks/index.html | 4 +++- 13/slam-the-brakes/index.html | 4 +++- 13/storm/index.html | 4 +++- 13/systemic-orthodoxy/index.html | 4 +++- 14/Argentina/index.html | 4 +++- 14/FAMINE/index.html | 4 +++- 14/Illusion/index.html | 4 +++- 14/Pathfinder/index.html | 4 +++- 14/battle/index.html | 4 +++- 14/eos/index.html | 4 +++- 14/index.html | 2 ++ 14/instanbul/index.html | 4 +++- 14/revolt/index.html | 4 +++- 14/ruff_considerations/index.html | 4 +++- 15/index.html | 2 ++ 16/eos/index.html | 4 +++- 16/index.html | 2 ++ 16/korea/index.html | 4 +++- 16/poland/index.html | 4 +++- 16/rfk/index.html | 4 +++- 16/ukraine/index.html | 4 +++- 17/1iran/index.html | 4 +++- 17/2minnesota/index.html | 4 +++- 17/3Ukraine/index.html | 4 +++- 17/4trans/index.html | 4 +++- 17/5syria/index.html | 4 +++- 17/index.html | 2 ++ 18/1Deportations/index.html | 4 +++- 18/2israel/index.html | 4 +++- 18/3PROTESTS/index.html | 4 +++- 18/4Ukraine/index.html | 4 +++- 18/5debt/index.html | 4 +++- 18/6eos1/index.html | 4 +++- 18/7eos2/index.html | 4 +++- 18/index.html | 2 ++ 124 files changed, 290 insertions(+), 42 deletions(-) diff --git a/02/doge-and-elon/index.html b/02/doge-and-elon/index.html index 0c2267b..a6fb321 100644 --- a/02/doge-and-elon/index.html +++ b/02/doge-and-elon/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/02/executive-orders/index.html b/02/executive-orders/index.html index 4248fe4..745b3f6 100644 --- a/02/executive-orders/index.html +++ b/02/executive-orders/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/02/index.html b/02/index.html index 17ed2e7..3c5eb30 100644 --- a/02/index.html +++ b/02/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/02/ukrainian-update/index.html b/02/ukrainian-update/index.html index 075c7d4..a27f095 100644 --- a/02/ukrainian-update/index.html +++ b/02/ukrainian-update/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/a-student-for-speech/index.html b/03/a-student-for-speech/index.html index 971d16e..b7f3cfd 100644 --- a/03/a-student-for-speech/index.html +++ b/03/a-student-for-speech/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/boycotting-protesting-or-crime/index.html b/03/boycotting-protesting-or-crime/index.html index ef82a6f..4680a8e 100644 --- a/03/boycotting-protesting-or-crime/index.html +++ b/03/boycotting-protesting-or-crime/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/effective-outreach/index.html b/03/effective-outreach/index.html index 9e986a1..dc9c2d2 100644 --- a/03/effective-outreach/index.html +++ b/03/effective-outreach/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/executive-orders/index.html b/03/executive-orders/index.html index 8b21e8a..344d32a 100644 --- a/03/executive-orders/index.html +++ b/03/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/index.html b/03/index.html index 2dad27a..4e38ba0 100644 --- a/03/index.html +++ b/03/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/schumer-folds/index.html b/03/schumer-folds/index.html index 9d8a8d4..9566e4c 100644 --- a/03/schumer-folds/index.html +++ b/03/schumer-folds/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/ukraine-russia-update/index.html b/03/ukraine-russia-update/index.html index b26f9b9..9888a21 100644 --- a/03/ukraine-russia-update/index.html +++ b/03/ukraine-russia-update/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/03/when-transparency-becomes-opaque/index.html b/03/when-transparency-becomes-opaque/index.html index e6c2ebf..cfa2d6d 100644 --- a/03/when-transparency-becomes-opaque/index.html +++ b/03/when-transparency-becomes-opaque/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/04/ceasefire-in-name-only/index.html b/04/ceasefire-in-name-only/index.html index 4137e4b..e7537e8 100644 --- a/04/ceasefire-in-name-only/index.html +++ b/04/ceasefire-in-name-only/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/04/djt-flubs-israel-palestine/index.html b/04/djt-flubs-israel-palestine/index.html index 37c0bb6..ff63502 100644 --- a/04/djt-flubs-israel-palestine/index.html +++ b/04/djt-flubs-israel-palestine/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/04/elons-war-on-the-courts/index.html b/04/elons-war-on-the-courts/index.html index 5685c91..f2efca8 100644 --- a/04/elons-war-on-the-courts/index.html +++ b/04/elons-war-on-the-courts/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/04/executive-orders/index.html b/04/executive-orders/index.html index 3b6f7a2..33a1fe2 100644 --- a/04/executive-orders/index.html +++ b/04/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/04/index.html b/04/index.html index 4494d67..95701f1 100644 --- a/04/index.html +++ b/04/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/04/just-show-up/index.html b/04/just-show-up/index.html index 2983ef6..8b3a47b 100644 --- a/04/just-show-up/index.html +++ b/04/just-show-up/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/05/executive-orders/index.html b/05/executive-orders/index.html index 2dc7f19..96110ee 100644 --- a/05/executive-orders/index.html +++ b/05/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/05/fail-too-big-to-save/index.html b/05/fail-too-big-to-save/index.html index 1003125..ec5ae84 100644 --- a/05/fail-too-big-to-save/index.html +++ b/05/fail-too-big-to-save/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/05/index.html b/05/index.html index db971f3..ffae709 100644 --- a/05/index.html +++ b/05/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/05/signal-chat-fiasco/index.html b/05/signal-chat-fiasco/index.html index 4a17e8b..b8a8c62 100644 --- a/05/signal-chat-fiasco/index.html +++ b/05/signal-chat-fiasco/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/05/tros-contempt-last-stand-of-judiciary/index.html b/05/tros-contempt-last-stand-of-judiciary/index.html index eee23c3..d163ef1 100644 --- a/05/tros-contempt-last-stand-of-judiciary/index.html +++ b/05/tros-contempt-last-stand-of-judiciary/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/05/ukraine-russia/index.html b/05/ukraine-russia/index.html index 1aef543..6e0fa40 100644 --- a/05/ukraine-russia/index.html +++ b/05/ukraine-russia/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/05/weighted-dice/index.html b/05/weighted-dice/index.html index ab81936..9803d2b 100644 --- a/05/weighted-dice/index.html +++ b/05/weighted-dice/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/destinys-dissent/index.html b/06/destinys-dissent/index.html index c956b2c..ebfafba 100644 --- a/06/destinys-dissent/index.html +++ b/06/destinys-dissent/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/executive-orders/index.html b/06/executive-orders/index.html index ea945e8..a2cb833 100644 --- a/06/executive-orders/index.html +++ b/06/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/index.html b/06/index.html index 4a5cd68..a93b714 100644 --- a/06/index.html +++ b/06/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/06/musks-exit-wound/index.html b/06/musks-exit-wound/index.html index 5bf93ca..67a96f9 100644 --- a/06/musks-exit-wound/index.html +++ b/06/musks-exit-wound/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/opinion-piece-ukraine/index.html b/06/opinion-piece-ukraine/index.html index d99a950..e2a69b0 100644 --- a/06/opinion-piece-ukraine/index.html +++ b/06/opinion-piece-ukraine/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/russia-builds-and-the-us-wavers/index.html b/06/russia-builds-and-the-us-wavers/index.html index d16336d..4f6abf1 100644 --- a/06/russia-builds-and-the-us-wavers/index.html +++ b/06/russia-builds-and-the-us-wavers/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/special-elections/index.html b/06/special-elections/index.html index 0f5f898..0cd5223 100644 --- a/06/special-elections/index.html +++ b/06/special-elections/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/trumps-tariffs-cause-stocks-to-tumble/index.html b/06/trumps-tariffs-cause-stocks-to-tumble/index.html index 8bb120e..393574a 100644 --- a/06/trumps-tariffs-cause-stocks-to-tumble/index.html +++ b/06/trumps-tariffs-cause-stocks-to-tumble/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/06/when-beat-the-drums-of-war/index.html b/06/when-beat-the-drums-of-war/index.html index 0c7ab29..961289b 100644 --- a/06/when-beat-the-drums-of-war/index.html +++ b/06/when-beat-the-drums-of-war/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/build-walls-burn-bridges/index.html b/07/build-walls-burn-bridges/index.html index 75830d6..991fe04 100644 --- a/07/build-walls-burn-bridges/index.html +++ b/07/build-walls-burn-bridges/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/executive-orders/index.html b/07/executive-orders/index.html index 458352a..3624954 100644 --- a/07/executive-orders/index.html +++ b/07/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/index.html b/07/index.html index b0001c6..240d0fa 100644 --- a/07/index.html +++ b/07/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/07/israel-palestine/index.html b/07/israel-palestine/index.html index ab8bde3..f92b68d 100644 --- a/07/israel-palestine/index.html +++ b/07/israel-palestine/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/little-effort-big-impact/index.html b/07/little-effort-big-impact/index.html index 44ca7dc..73af452 100644 --- a/07/little-effort-big-impact/index.html +++ b/07/little-effort-big-impact/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/powerlessness-corrupts/index.html b/07/powerlessness-corrupts/index.html index 2f58cd6..b05b457 100644 --- a/07/powerlessness-corrupts/index.html +++ b/07/powerlessness-corrupts/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/russia-ukraine/index.html b/07/russia-ukraine/index.html index ff6f830..ac457a0 100644 --- a/07/russia-ukraine/index.html +++ b/07/russia-ukraine/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/07/trust-us-were-the-government/index.html b/07/trust-us-were-the-government/index.html index 5a9d449..bc8348f 100644 --- a/07/trust-us-were-the-government/index.html +++ b/07/trust-us-were-the-government/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/concepts-of-a-plan/index.html b/08/concepts-of-a-plan/index.html index 057012a..ad93c73 100644 --- a/08/concepts-of-a-plan/index.html +++ b/08/concepts-of-a-plan/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/efficiency-but-make-it-eugenics/index.html b/08/efficiency-but-make-it-eugenics/index.html index ac93df0..91cc05f 100644 --- a/08/efficiency-but-make-it-eugenics/index.html +++ b/08/efficiency-but-make-it-eugenics/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/executive-orders/index.html b/08/executive-orders/index.html index 3ef8caa..f7036e1 100644 --- a/08/executive-orders/index.html +++ b/08/executive-orders/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/index.html b/08/index.html index e5541e9..57d2c5c 100644 --- a/08/index.html +++ b/08/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/08/is-war-next-for-israel-and-iran/index.html b/08/is-war-next-for-israel-and-iran/index.html index e52de90..1bfb5ec 100644 --- a/08/is-war-next-for-israel-and-iran/index.html +++ b/08/is-war-next-for-israel-and-iran/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/money-in-politics-101/index.html b/08/money-in-politics-101/index.html index bd983cd..0f2da57 100644 --- a/08/money-in-politics-101/index.html +++ b/08/money-in-politics-101/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/uncanceled-the-return-of-disgraced-democrats/index.html b/08/uncanceled-the-return-of-disgraced-democrats/index.html index 19b0142..46202fb 100644 --- a/08/uncanceled-the-return-of-disgraced-democrats/index.html +++ b/08/uncanceled-the-return-of-disgraced-democrats/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/08/zeitenwende-and-germanys-role-in-european-defense/index.html b/08/zeitenwende-and-germanys-role-in-european-defense/index.html index 4176613..fb57949 100644 --- a/08/zeitenwende-and-germanys-role-in-european-defense/index.html +++ b/08/zeitenwende-and-germanys-role-in-european-defense/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/chainsaws-arent-office-tools/index.html b/09/chainsaws-arent-office-tools/index.html index e75da82..02c9049 100644 --- a/09/chainsaws-arent-office-tools/index.html +++ b/09/chainsaws-arent-office-tools/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/coalition-of-the-willing/index.html b/09/coalition-of-the-willing/index.html index 8cc1792..65f787d 100644 --- a/09/coalition-of-the-willing/index.html +++ b/09/coalition-of-the-willing/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/executive-orders/index.html b/09/executive-orders/index.html index 3cb5164..8da118e 100644 --- a/09/executive-orders/index.html +++ b/09/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/from-ceasefires-to-car-bombs/index.html b/09/from-ceasefires-to-car-bombs/index.html index a442223..34d1d29 100644 --- a/09/from-ceasefires-to-car-bombs/index.html +++ b/09/from-ceasefires-to-car-bombs/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/index.html b/09/index.html index 107b87a..ad55baa 100644 --- a/09/index.html +++ b/09/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/09/judge-detained/index.html b/09/judge-detained/index.html index fcd7b71..399eafb 100644 --- a/09/judge-detained/index.html +++ b/09/judge-detained/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/maga-election-attacks/index.html b/09/maga-election-attacks/index.html index 3d3365b..22ffab5 100644 --- a/09/maga-election-attacks/index.html +++ b/09/maga-election-attacks/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/09/they-make-a-desert/index.html b/09/they-make-a-desert/index.html index 8bfba69..01a0952 100644 --- a/09/they-make-a-desert/index.html +++ b/09/they-make-a-desert/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/100-days/index.html b/10/100-days/index.html index 57b1c77..0e2a2cb 100644 --- a/10/100-days/index.html +++ b/10/100-days/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/brief-history/index.html b/10/brief-history/index.html index 3925806..d942897 100644 --- a/10/brief-history/index.html +++ b/10/brief-history/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/doge-insider-threat/index.html b/10/doge-insider-threat/index.html index 2c0dffd..5b2a4d0 100644 --- a/10/doge-insider-threat/index.html +++ b/10/doge-insider-threat/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/europe-braces-for-impact/index.html b/10/europe-braces-for-impact/index.html index e5df97e..5f0fa62 100644 --- a/10/europe-braces-for-impact/index.html +++ b/10/europe-braces-for-impact/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/executive-orders/index.html b/10/executive-orders/index.html index 4e7085b..cb31260 100644 --- a/10/executive-orders/index.html +++ b/10/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/index.html b/10/index.html index 26206ba..ca80369 100644 --- a/10/index.html +++ b/10/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/10/minerals-deal-signed/index.html b/10/minerals-deal-signed/index.html index fad7867..c5b6333 100644 --- a/10/minerals-deal-signed/index.html +++ b/10/minerals-deal-signed/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/no-data-left-behind/index.html b/10/no-data-left-behind/index.html index 52deb0f..0d8b1b5 100644 --- a/10/no-data-left-behind/index.html +++ b/10/no-data-left-behind/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/10/rain-of-fire/index.html b/10/rain-of-fire/index.html index d77ff0c..f67a417 100644 --- a/10/rain-of-fire/index.html +++ b/10/rain-of-fire/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/constructing-crisis/index.html b/11/constructing-crisis/index.html index 17782f5..d42f6f1 100644 --- a/11/constructing-crisis/index.html +++ b/11/constructing-crisis/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/destinys-dissent/index.html b/11/destinys-dissent/index.html index 51d318a..256ac2e 100644 --- a/11/destinys-dissent/index.html +++ b/11/destinys-dissent/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/eu-strikes-back/index.html b/11/eu-strikes-back/index.html index 12dde7a..a66702e 100644 --- a/11/eu-strikes-back/index.html +++ b/11/eu-strikes-back/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/executive-orders/index.html b/11/executive-orders/index.html index 90b1a43..57c6216 100644 --- a/11/executive-orders/index.html +++ b/11/executive-orders/index.html @@ -18,6 +18,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/gazas-protests-fight-to-be-heard/index.html b/11/gazas-protests-fight-to-be-heard/index.html index 782832c..2970f11 100644 --- a/11/gazas-protests-fight-to-be-heard/index.html +++ b/11/gazas-protests-fight-to-be-heard/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/in-memory-of-leon-greenman/index.html b/11/in-memory-of-leon-greenman/index.html index d5ffe61..a11c968 100644 --- a/11/in-memory-of-leon-greenman/index.html +++ b/11/in-memory-of-leon-greenman/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/11/index.html b/11/index.html index 930460c..b46baf9 100644 --- a/11/index.html +++ b/11/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/11/unity-parades-moscow-pressure-kyiv/index.html b/11/unity-parades-moscow-pressure-kyiv/index.html index cfd0edc..218c7e3 100644 --- a/11/unity-parades-moscow-pressure-kyiv/index.html +++ b/11/unity-parades-moscow-pressure-kyiv/index.html @@ -17,6 +17,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + + diff --git a/12/bridging-the-channel/index.html b/12/bridging-the-channel/index.html index 88f3354..e1e7c79 100644 --- a/12/bridging-the-channel/index.html +++ b/12/bridging-the-channel/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/checks-in-the-mail/index.html b/12/checks-in-the-mail/index.html index b91ed40..91409d7 100644 --- a/12/checks-in-the-mail/index.html +++ b/12/checks-in-the-mail/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/deadlock/index.html b/12/deadlock/index.html index 5faa39a..bff6ac9 100644 --- a/12/deadlock/index.html +++ b/12/deadlock/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/displacement/index.html b/12/displacement/index.html index cee9657..3f94a6f 100644 --- a/12/displacement/index.html +++ b/12/displacement/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/eos/index.html b/12/eos/index.html index a10df21..0b38631 100644 --- a/12/eos/index.html +++ b/12/eos/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/index.html b/12/index.html index 740ca17..18ea040 100644 --- a/12/index.html +++ b/12/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/12/road-to-brexit/index.html b/12/road-to-brexit/index.html index 59900ec..5d7f846 100644 --- a/12/road-to-brexit/index.html +++ b/12/road-to-brexit/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/super-sunday/index.html b/12/super-sunday/index.html index 77402d3..f343963 100644 --- a/12/super-sunday/index.html +++ b/12/super-sunday/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/12/the-path-to-impeachment/index.html b/12/the-path-to-impeachment/index.html index d066802..8224823 100644 --- a/12/the-path-to-impeachment/index.html +++ b/12/the-path-to-impeachment/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/big-beautiful-trap/index.html b/13/big-beautiful-trap/index.html index c0f8159..ce7d07a 100644 --- a/13/big-beautiful-trap/index.html +++ b/13/big-beautiful-trap/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/eos/index.html b/13/eos/index.html index 23da4e4..1d21b03 100644 --- a/13/eos/index.html +++ b/13/eos/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/fool-me-once/index.html b/13/fool-me-once/index.html index 006eabb..09ae8ab 100644 --- a/13/fool-me-once/index.html +++ b/13/fool-me-once/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/gideons-chariots/index.html b/13/gideons-chariots/index.html index d7ab6b4..f013c23 100644 --- a/13/gideons-chariots/index.html +++ b/13/gideons-chariots/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/index.html b/13/index.html index f5d95cf..7840963 100644 --- a/13/index.html +++ b/13/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/13/over-night-attacks/index.html b/13/over-night-attacks/index.html index 274237f..e250eb8 100644 --- a/13/over-night-attacks/index.html +++ b/13/over-night-attacks/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/slam-the-brakes/index.html b/13/slam-the-brakes/index.html index 7b91d89..44438b4 100644 --- a/13/slam-the-brakes/index.html +++ b/13/slam-the-brakes/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/storm/index.html b/13/storm/index.html index db44eff..49633da 100644 --- a/13/storm/index.html +++ b/13/storm/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/13/systemic-orthodoxy/index.html b/13/systemic-orthodoxy/index.html index 9d1d423..531ad6d 100644 --- a/13/systemic-orthodoxy/index.html +++ b/13/systemic-orthodoxy/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/Argentina/index.html b/14/Argentina/index.html index ad3e445..5b8fb2f 100644 --- a/14/Argentina/index.html +++ b/14/Argentina/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/FAMINE/index.html b/14/FAMINE/index.html index 457ea02..dad3e4f 100644 --- a/14/FAMINE/index.html +++ b/14/FAMINE/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/Illusion/index.html b/14/Illusion/index.html index 162d50c..472b059 100644 --- a/14/Illusion/index.html +++ b/14/Illusion/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/Pathfinder/index.html b/14/Pathfinder/index.html index a471797..851d596 100644 --- a/14/Pathfinder/index.html +++ b/14/Pathfinder/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/battle/index.html b/14/battle/index.html index 7701d06..2c65e58 100644 --- a/14/battle/index.html +++ b/14/battle/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/eos/index.html b/14/eos/index.html index d09b186..35b93ff 100644 --- a/14/eos/index.html +++ b/14/eos/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/index.html b/14/index.html index ddfb669..81c3f6d 100644 --- a/14/index.html +++ b/14/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/14/instanbul/index.html b/14/instanbul/index.html index 33b178c..efa384a 100644 --- a/14/instanbul/index.html +++ b/14/instanbul/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/revolt/index.html b/14/revolt/index.html index d40a79d..b8a07d1 100644 --- a/14/revolt/index.html +++ b/14/revolt/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/14/ruff_considerations/index.html b/14/ruff_considerations/index.html index 3877e34..fb6f6ab 100644 --- a/14/ruff_considerations/index.html +++ b/14/ruff_considerations/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/15/index.html b/15/index.html index 28b8595..b788dbf 100644 --- a/15/index.html +++ b/15/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/16/eos/index.html b/16/eos/index.html index 0d9ee9d..001dd07 100644 --- a/16/eos/index.html +++ b/16/eos/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/16/index.html b/16/index.html index 15c6d0a..cd47af3 100644 --- a/16/index.html +++ b/16/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/16/korea/index.html b/16/korea/index.html index 8a3e49b..e746c2a 100644 --- a/16/korea/index.html +++ b/16/korea/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/16/poland/index.html b/16/poland/index.html index 1329bfd..7f25fdf 100644 --- a/16/poland/index.html +++ b/16/poland/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/16/rfk/index.html b/16/rfk/index.html index 5c0f89c..690731c 100644 --- a/16/rfk/index.html +++ b/16/rfk/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/16/ukraine/index.html b/16/ukraine/index.html index f08b5b1..23376ee 100644 --- a/16/ukraine/index.html +++ b/16/ukraine/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/17/1iran/index.html b/17/1iran/index.html index d7d2518..948b98b 100644 --- a/17/1iran/index.html +++ b/17/1iran/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/17/2minnesota/index.html b/17/2minnesota/index.html index 1b6309c..e6634f2 100644 --- a/17/2minnesota/index.html +++ b/17/2minnesota/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/17/3Ukraine/index.html b/17/3Ukraine/index.html index ba54090..8194636 100644 --- a/17/3Ukraine/index.html +++ b/17/3Ukraine/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/17/4trans/index.html b/17/4trans/index.html index 6bc1d9a..80263ad 100644 --- a/17/4trans/index.html +++ b/17/4trans/index.html @@ -12,7 +12,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/17/5syria/index.html b/17/5syria/index.html index a87bb36..ce870f0 100644 --- a/17/5syria/index.html +++ b/17/5syria/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/17/index.html b/17/index.html index 4b9a134..af7e0bf 100644 --- a/17/index.html +++ b/17/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
diff --git a/18/1Deportations/index.html b/18/1Deportations/index.html index 3173893..3303949 100644 --- a/18/1Deportations/index.html +++ b/18/1Deportations/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/18/2israel/index.html b/18/2israel/index.html index cc46fdb..1673f85 100644 --- a/18/2israel/index.html +++ b/18/2israel/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/18/3PROTESTS/index.html b/18/3PROTESTS/index.html index 80c8be5..eae39c7 100644 --- a/18/3PROTESTS/index.html +++ b/18/3PROTESTS/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/18/4Ukraine/index.html b/18/4Ukraine/index.html index 6933e4e..db04d5c 100644 --- a/18/4Ukraine/index.html +++ b/18/4Ukraine/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/18/5debt/index.html b/18/5debt/index.html index 5586bfb..58a7d8b 100644 --- a/18/5debt/index.html +++ b/18/5debt/index.html @@ -14,7 +14,9 @@ > - + + +
diff --git a/18/6eos1/index.html b/18/6eos1/index.html index 95b4792..ad94d97 100644 --- a/18/6eos1/index.html +++ b/18/6eos1/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/18/7eos2/index.html b/18/7eos2/index.html index d186fe5..3bbb90d 100644 --- a/18/7eos2/index.html +++ b/18/7eos2/index.html @@ -13,7 +13,9 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + + +
diff --git a/18/index.html b/18/index.html index ef80a2c..2e825ed 100644 --- a/18/index.html +++ b/18/index.html @@ -15,6 +15,8 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > + +
From ae4f7087cf159087a1dce371e6d4f4f57bca1b81 Mon Sep 17 00:00:00 2001 From: Ted Timbrell Date: Tue, 31 Mar 2026 23:16:32 -0700 Subject: [PATCH 2/4] Change meta refresh delay from 5s to 0s for instant redirect Unlike the homepage which has a "We've Moved!" popup, these pages have no reason to delay. A 0s refresh is also treated more like a 301 by search engines, which is better for SEO. Co-Authored-By: Claude Opus 4.6 (1M context) --- 02/doge-and-elon/index.html | 2 +- 02/executive-orders/index.html | 2 +- 02/index.html | 2 +- 02/ukrainian-update/index.html | 2 +- 03/a-student-for-speech/index.html | 2 +- 03/boycotting-protesting-or-crime/index.html | 2 +- 03/effective-outreach/index.html | 2 +- 03/executive-orders/index.html | 2 +- 03/index.html | 2 +- 03/schumer-folds/index.html | 2 +- 03/ukraine-russia-update/index.html | 2 +- 03/when-transparency-becomes-opaque/index.html | 2 +- 04/ceasefire-in-name-only/index.html | 2 +- 04/djt-flubs-israel-palestine/index.html | 2 +- 04/elons-war-on-the-courts/index.html | 2 +- 04/executive-orders/index.html | 2 +- 04/index.html | 2 +- 04/just-show-up/index.html | 2 +- 05/executive-orders/index.html | 2 +- 05/fail-too-big-to-save/index.html | 2 +- 05/index.html | 2 +- 05/signal-chat-fiasco/index.html | 2 +- 05/tros-contempt-last-stand-of-judiciary/index.html | 2 +- 05/ukraine-russia/index.html | 2 +- 05/weighted-dice/index.html | 2 +- 06/destinys-dissent/index.html | 2 +- 06/executive-orders/index.html | 2 +- 06/index.html | 2 +- 06/musks-exit-wound/index.html | 2 +- 06/opinion-piece-ukraine/index.html | 2 +- 06/russia-builds-and-the-us-wavers/index.html | 2 +- 06/special-elections/index.html | 2 +- 06/trumps-tariffs-cause-stocks-to-tumble/index.html | 2 +- 06/when-beat-the-drums-of-war/index.html | 2 +- 07/build-walls-burn-bridges/index.html | 2 +- 07/executive-orders/index.html | 2 +- 07/index.html | 2 +- 07/israel-palestine/index.html | 2 +- 07/little-effort-big-impact/index.html | 2 +- 07/powerlessness-corrupts/index.html | 2 +- 07/russia-ukraine/index.html | 2 +- 07/trust-us-were-the-government/index.html | 2 +- 08/concepts-of-a-plan/index.html | 2 +- 08/efficiency-but-make-it-eugenics/index.html | 2 +- 08/executive-orders/index.html | 2 +- 08/index.html | 2 +- 08/is-war-next-for-israel-and-iran/index.html | 2 +- 08/money-in-politics-101/index.html | 2 +- 08/uncanceled-the-return-of-disgraced-democrats/index.html | 2 +- 08/zeitenwende-and-germanys-role-in-european-defense/index.html | 2 +- 09/chainsaws-arent-office-tools/index.html | 2 +- 09/coalition-of-the-willing/index.html | 2 +- 09/executive-orders/index.html | 2 +- 09/from-ceasefires-to-car-bombs/index.html | 2 +- 09/index.html | 2 +- 09/judge-detained/index.html | 2 +- 09/maga-election-attacks/index.html | 2 +- 09/they-make-a-desert/index.html | 2 +- 10/100-days/index.html | 2 +- 10/brief-history/index.html | 2 +- 10/doge-insider-threat/index.html | 2 +- 10/europe-braces-for-impact/index.html | 2 +- 10/executive-orders/index.html | 2 +- 10/index.html | 2 +- 10/minerals-deal-signed/index.html | 2 +- 10/no-data-left-behind/index.html | 2 +- 10/rain-of-fire/index.html | 2 +- 11/constructing-crisis/index.html | 2 +- 11/destinys-dissent/index.html | 2 +- 11/eu-strikes-back/index.html | 2 +- 11/executive-orders/index.html | 2 +- 11/gazas-protests-fight-to-be-heard/index.html | 2 +- 11/in-memory-of-leon-greenman/index.html | 2 +- 11/index.html | 2 +- 11/unity-parades-moscow-pressure-kyiv/index.html | 2 +- 12/bridging-the-channel/index.html | 2 +- 12/checks-in-the-mail/index.html | 2 +- 12/deadlock/index.html | 2 +- 12/displacement/index.html | 2 +- 12/eos/index.html | 2 +- 12/index.html | 2 +- 12/road-to-brexit/index.html | 2 +- 12/super-sunday/index.html | 2 +- 12/the-path-to-impeachment/index.html | 2 +- 13/big-beautiful-trap/index.html | 2 +- 13/eos/index.html | 2 +- 13/fool-me-once/index.html | 2 +- 13/gideons-chariots/index.html | 2 +- 13/index.html | 2 +- 13/over-night-attacks/index.html | 2 +- 13/slam-the-brakes/index.html | 2 +- 13/storm/index.html | 2 +- 13/systemic-orthodoxy/index.html | 2 +- 14/Argentina/index.html | 2 +- 14/FAMINE/index.html | 2 +- 14/Illusion/index.html | 2 +- 14/Pathfinder/index.html | 2 +- 14/battle/index.html | 2 +- 14/eos/index.html | 2 +- 14/index.html | 2 +- 14/instanbul/index.html | 2 +- 14/revolt/index.html | 2 +- 14/ruff_considerations/index.html | 2 +- 15/index.html | 2 +- 16/eos/index.html | 2 +- 16/index.html | 2 +- 16/korea/index.html | 2 +- 16/poland/index.html | 2 +- 16/rfk/index.html | 2 +- 16/ukraine/index.html | 2 +- 17/1iran/index.html | 2 +- 17/2minnesota/index.html | 2 +- 17/3Ukraine/index.html | 2 +- 17/4trans/index.html | 2 +- 17/5syria/index.html | 2 +- 17/index.html | 2 +- 18/1Deportations/index.html | 2 +- 18/2israel/index.html | 2 +- 18/3PROTESTS/index.html | 2 +- 18/4Ukraine/index.html | 2 +- 18/5debt/index.html | 2 +- 18/6eos1/index.html | 2 +- 18/7eos2/index.html | 2 +- 18/index.html | 2 +- 124 files changed, 124 insertions(+), 124 deletions(-) diff --git a/02/doge-and-elon/index.html b/02/doge-and-elon/index.html index a6fb321..cd37d05 100644 --- a/02/doge-and-elon/index.html +++ b/02/doge-and-elon/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/02/executive-orders/index.html b/02/executive-orders/index.html index 745b3f6..4eb2018 100644 --- a/02/executive-orders/index.html +++ b/02/executive-orders/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/02/index.html b/02/index.html index 3c5eb30..a27dc6e 100644 --- a/02/index.html +++ b/02/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/02/ukrainian-update/index.html b/02/ukrainian-update/index.html index a27f095..9293794 100644 --- a/02/ukrainian-update/index.html +++ b/02/ukrainian-update/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/a-student-for-speech/index.html b/03/a-student-for-speech/index.html index b7f3cfd..97ba471 100644 --- a/03/a-student-for-speech/index.html +++ b/03/a-student-for-speech/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/boycotting-protesting-or-crime/index.html b/03/boycotting-protesting-or-crime/index.html index 4680a8e..ad5c125 100644 --- a/03/boycotting-protesting-or-crime/index.html +++ b/03/boycotting-protesting-or-crime/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/effective-outreach/index.html b/03/effective-outreach/index.html index dc9c2d2..ab97755 100644 --- a/03/effective-outreach/index.html +++ b/03/effective-outreach/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/executive-orders/index.html b/03/executive-orders/index.html index 344d32a..937ca57 100644 --- a/03/executive-orders/index.html +++ b/03/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/index.html b/03/index.html index 4e38ba0..cc209f6 100644 --- a/03/index.html +++ b/03/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/schumer-folds/index.html b/03/schumer-folds/index.html index 9566e4c..ad4de03 100644 --- a/03/schumer-folds/index.html +++ b/03/schumer-folds/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/ukraine-russia-update/index.html b/03/ukraine-russia-update/index.html index 9888a21..e815b05 100644 --- a/03/ukraine-russia-update/index.html +++ b/03/ukraine-russia-update/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/03/when-transparency-becomes-opaque/index.html b/03/when-transparency-becomes-opaque/index.html index cfa2d6d..5e17cf5 100644 --- a/03/when-transparency-becomes-opaque/index.html +++ b/03/when-transparency-becomes-opaque/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/04/ceasefire-in-name-only/index.html b/04/ceasefire-in-name-only/index.html index e7537e8..725732e 100644 --- a/04/ceasefire-in-name-only/index.html +++ b/04/ceasefire-in-name-only/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/04/djt-flubs-israel-palestine/index.html b/04/djt-flubs-israel-palestine/index.html index ff63502..ff875b4 100644 --- a/04/djt-flubs-israel-palestine/index.html +++ b/04/djt-flubs-israel-palestine/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/04/elons-war-on-the-courts/index.html b/04/elons-war-on-the-courts/index.html index f2efca8..f0b7b32 100644 --- a/04/elons-war-on-the-courts/index.html +++ b/04/elons-war-on-the-courts/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/04/executive-orders/index.html b/04/executive-orders/index.html index 33a1fe2..815d39d 100644 --- a/04/executive-orders/index.html +++ b/04/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/04/index.html b/04/index.html index 95701f1..88961cd 100644 --- a/04/index.html +++ b/04/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/04/just-show-up/index.html b/04/just-show-up/index.html index 8b3a47b..83b69f8 100644 --- a/04/just-show-up/index.html +++ b/04/just-show-up/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/executive-orders/index.html b/05/executive-orders/index.html index 96110ee..fa81ad1 100644 --- a/05/executive-orders/index.html +++ b/05/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/fail-too-big-to-save/index.html b/05/fail-too-big-to-save/index.html index ec5ae84..587a63e 100644 --- a/05/fail-too-big-to-save/index.html +++ b/05/fail-too-big-to-save/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/index.html b/05/index.html index ffae709..82c0adc 100644 --- a/05/index.html +++ b/05/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/signal-chat-fiasco/index.html b/05/signal-chat-fiasco/index.html index b8a8c62..f7e65a2 100644 --- a/05/signal-chat-fiasco/index.html +++ b/05/signal-chat-fiasco/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/tros-contempt-last-stand-of-judiciary/index.html b/05/tros-contempt-last-stand-of-judiciary/index.html index d163ef1..7cbf49b 100644 --- a/05/tros-contempt-last-stand-of-judiciary/index.html +++ b/05/tros-contempt-last-stand-of-judiciary/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/ukraine-russia/index.html b/05/ukraine-russia/index.html index 6e0fa40..3de65be 100644 --- a/05/ukraine-russia/index.html +++ b/05/ukraine-russia/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/05/weighted-dice/index.html b/05/weighted-dice/index.html index 9803d2b..cbc1cd4 100644 --- a/05/weighted-dice/index.html +++ b/05/weighted-dice/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/destinys-dissent/index.html b/06/destinys-dissent/index.html index ebfafba..f24d874 100644 --- a/06/destinys-dissent/index.html +++ b/06/destinys-dissent/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/executive-orders/index.html b/06/executive-orders/index.html index a2cb833..155ab94 100644 --- a/06/executive-orders/index.html +++ b/06/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/index.html b/06/index.html index a93b714..778de67 100644 --- a/06/index.html +++ b/06/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/musks-exit-wound/index.html b/06/musks-exit-wound/index.html index 67a96f9..a0d8963 100644 --- a/06/musks-exit-wound/index.html +++ b/06/musks-exit-wound/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/opinion-piece-ukraine/index.html b/06/opinion-piece-ukraine/index.html index e2a69b0..9cfd1ee 100644 --- a/06/opinion-piece-ukraine/index.html +++ b/06/opinion-piece-ukraine/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/russia-builds-and-the-us-wavers/index.html b/06/russia-builds-and-the-us-wavers/index.html index 4f6abf1..853f263 100644 --- a/06/russia-builds-and-the-us-wavers/index.html +++ b/06/russia-builds-and-the-us-wavers/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/special-elections/index.html b/06/special-elections/index.html index 0cd5223..a0265fa 100644 --- a/06/special-elections/index.html +++ b/06/special-elections/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/trumps-tariffs-cause-stocks-to-tumble/index.html b/06/trumps-tariffs-cause-stocks-to-tumble/index.html index 393574a..7ce0f4b 100644 --- a/06/trumps-tariffs-cause-stocks-to-tumble/index.html +++ b/06/trumps-tariffs-cause-stocks-to-tumble/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/06/when-beat-the-drums-of-war/index.html b/06/when-beat-the-drums-of-war/index.html index 961289b..5ca4a4c 100644 --- a/06/when-beat-the-drums-of-war/index.html +++ b/06/when-beat-the-drums-of-war/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/build-walls-burn-bridges/index.html b/07/build-walls-burn-bridges/index.html index 991fe04..0ae18f6 100644 --- a/07/build-walls-burn-bridges/index.html +++ b/07/build-walls-burn-bridges/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/executive-orders/index.html b/07/executive-orders/index.html index 3624954..0064e7d 100644 --- a/07/executive-orders/index.html +++ b/07/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/index.html b/07/index.html index 240d0fa..bdd8136 100644 --- a/07/index.html +++ b/07/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/israel-palestine/index.html b/07/israel-palestine/index.html index f92b68d..c4fd315 100644 --- a/07/israel-palestine/index.html +++ b/07/israel-palestine/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/little-effort-big-impact/index.html b/07/little-effort-big-impact/index.html index 73af452..8a89377 100644 --- a/07/little-effort-big-impact/index.html +++ b/07/little-effort-big-impact/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/powerlessness-corrupts/index.html b/07/powerlessness-corrupts/index.html index b05b457..1d70140 100644 --- a/07/powerlessness-corrupts/index.html +++ b/07/powerlessness-corrupts/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/russia-ukraine/index.html b/07/russia-ukraine/index.html index ac457a0..59f5f61 100644 --- a/07/russia-ukraine/index.html +++ b/07/russia-ukraine/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/07/trust-us-were-the-government/index.html b/07/trust-us-were-the-government/index.html index bc8348f..a0f6591 100644 --- a/07/trust-us-were-the-government/index.html +++ b/07/trust-us-were-the-government/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/concepts-of-a-plan/index.html b/08/concepts-of-a-plan/index.html index ad93c73..520e300 100644 --- a/08/concepts-of-a-plan/index.html +++ b/08/concepts-of-a-plan/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/efficiency-but-make-it-eugenics/index.html b/08/efficiency-but-make-it-eugenics/index.html index 91cc05f..73708b8 100644 --- a/08/efficiency-but-make-it-eugenics/index.html +++ b/08/efficiency-but-make-it-eugenics/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/executive-orders/index.html b/08/executive-orders/index.html index f7036e1..85a651c 100644 --- a/08/executive-orders/index.html +++ b/08/executive-orders/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/index.html b/08/index.html index 57d2c5c..7388c54 100644 --- a/08/index.html +++ b/08/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/is-war-next-for-israel-and-iran/index.html b/08/is-war-next-for-israel-and-iran/index.html index 1bfb5ec..d6c4259 100644 --- a/08/is-war-next-for-israel-and-iran/index.html +++ b/08/is-war-next-for-israel-and-iran/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/money-in-politics-101/index.html b/08/money-in-politics-101/index.html index 0f2da57..7e96597 100644 --- a/08/money-in-politics-101/index.html +++ b/08/money-in-politics-101/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/uncanceled-the-return-of-disgraced-democrats/index.html b/08/uncanceled-the-return-of-disgraced-democrats/index.html index 46202fb..483dc58 100644 --- a/08/uncanceled-the-return-of-disgraced-democrats/index.html +++ b/08/uncanceled-the-return-of-disgraced-democrats/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/08/zeitenwende-and-germanys-role-in-european-defense/index.html b/08/zeitenwende-and-germanys-role-in-european-defense/index.html index fb57949..9c6e50b 100644 --- a/08/zeitenwende-and-germanys-role-in-european-defense/index.html +++ b/08/zeitenwende-and-germanys-role-in-european-defense/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/chainsaws-arent-office-tools/index.html b/09/chainsaws-arent-office-tools/index.html index 02c9049..e65b260 100644 --- a/09/chainsaws-arent-office-tools/index.html +++ b/09/chainsaws-arent-office-tools/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/coalition-of-the-willing/index.html b/09/coalition-of-the-willing/index.html index 65f787d..75e0ba2 100644 --- a/09/coalition-of-the-willing/index.html +++ b/09/coalition-of-the-willing/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/executive-orders/index.html b/09/executive-orders/index.html index 8da118e..ba01064 100644 --- a/09/executive-orders/index.html +++ b/09/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/from-ceasefires-to-car-bombs/index.html b/09/from-ceasefires-to-car-bombs/index.html index 34d1d29..05b76ea 100644 --- a/09/from-ceasefires-to-car-bombs/index.html +++ b/09/from-ceasefires-to-car-bombs/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/index.html b/09/index.html index ad55baa..514a4d0 100644 --- a/09/index.html +++ b/09/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/judge-detained/index.html b/09/judge-detained/index.html index 399eafb..4161e36 100644 --- a/09/judge-detained/index.html +++ b/09/judge-detained/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/maga-election-attacks/index.html b/09/maga-election-attacks/index.html index 22ffab5..17b1d51 100644 --- a/09/maga-election-attacks/index.html +++ b/09/maga-election-attacks/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/09/they-make-a-desert/index.html b/09/they-make-a-desert/index.html index 01a0952..7be6236 100644 --- a/09/they-make-a-desert/index.html +++ b/09/they-make-a-desert/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/100-days/index.html b/10/100-days/index.html index 0e2a2cb..52adff5 100644 --- a/10/100-days/index.html +++ b/10/100-days/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/brief-history/index.html b/10/brief-history/index.html index d942897..73e8416 100644 --- a/10/brief-history/index.html +++ b/10/brief-history/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/doge-insider-threat/index.html b/10/doge-insider-threat/index.html index 5b2a4d0..f59958e 100644 --- a/10/doge-insider-threat/index.html +++ b/10/doge-insider-threat/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/europe-braces-for-impact/index.html b/10/europe-braces-for-impact/index.html index 5f0fa62..0e4929a 100644 --- a/10/europe-braces-for-impact/index.html +++ b/10/europe-braces-for-impact/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/executive-orders/index.html b/10/executive-orders/index.html index cb31260..75c36e2 100644 --- a/10/executive-orders/index.html +++ b/10/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/index.html b/10/index.html index ca80369..eabab10 100644 --- a/10/index.html +++ b/10/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/minerals-deal-signed/index.html b/10/minerals-deal-signed/index.html index c5b6333..9a8b2a5 100644 --- a/10/minerals-deal-signed/index.html +++ b/10/minerals-deal-signed/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/no-data-left-behind/index.html b/10/no-data-left-behind/index.html index 0d8b1b5..28a0481 100644 --- a/10/no-data-left-behind/index.html +++ b/10/no-data-left-behind/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/10/rain-of-fire/index.html b/10/rain-of-fire/index.html index f67a417..3b3c2d8 100644 --- a/10/rain-of-fire/index.html +++ b/10/rain-of-fire/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/constructing-crisis/index.html b/11/constructing-crisis/index.html index d42f6f1..7fc7ce6 100644 --- a/11/constructing-crisis/index.html +++ b/11/constructing-crisis/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/destinys-dissent/index.html b/11/destinys-dissent/index.html index 256ac2e..dad045c 100644 --- a/11/destinys-dissent/index.html +++ b/11/destinys-dissent/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/eu-strikes-back/index.html b/11/eu-strikes-back/index.html index a66702e..d98829f 100644 --- a/11/eu-strikes-back/index.html +++ b/11/eu-strikes-back/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/executive-orders/index.html b/11/executive-orders/index.html index 57c6216..0a85ee4 100644 --- a/11/executive-orders/index.html +++ b/11/executive-orders/index.html @@ -18,7 +18,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/gazas-protests-fight-to-be-heard/index.html b/11/gazas-protests-fight-to-be-heard/index.html index 2970f11..5a8b5ec 100644 --- a/11/gazas-protests-fight-to-be-heard/index.html +++ b/11/gazas-protests-fight-to-be-heard/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/in-memory-of-leon-greenman/index.html b/11/in-memory-of-leon-greenman/index.html index a11c968..753f0eb 100644 --- a/11/in-memory-of-leon-greenman/index.html +++ b/11/in-memory-of-leon-greenman/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/index.html b/11/index.html index b46baf9..c3ba504 100644 --- a/11/index.html +++ b/11/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/11/unity-parades-moscow-pressure-kyiv/index.html b/11/unity-parades-moscow-pressure-kyiv/index.html index 218c7e3..9bc9f38 100644 --- a/11/unity-parades-moscow-pressure-kyiv/index.html +++ b/11/unity-parades-moscow-pressure-kyiv/index.html @@ -17,7 +17,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/bridging-the-channel/index.html b/12/bridging-the-channel/index.html index e1e7c79..67e3ac9 100644 --- a/12/bridging-the-channel/index.html +++ b/12/bridging-the-channel/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/checks-in-the-mail/index.html b/12/checks-in-the-mail/index.html index 91409d7..83fb551 100644 --- a/12/checks-in-the-mail/index.html +++ b/12/checks-in-the-mail/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/deadlock/index.html b/12/deadlock/index.html index bff6ac9..6c1ecee 100644 --- a/12/deadlock/index.html +++ b/12/deadlock/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/displacement/index.html b/12/displacement/index.html index 3f94a6f..d6c316e 100644 --- a/12/displacement/index.html +++ b/12/displacement/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/eos/index.html b/12/eos/index.html index 0b38631..9c74533 100644 --- a/12/eos/index.html +++ b/12/eos/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/index.html b/12/index.html index 18ea040..a1e3ccc 100644 --- a/12/index.html +++ b/12/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/road-to-brexit/index.html b/12/road-to-brexit/index.html index 5d7f846..e11fb88 100644 --- a/12/road-to-brexit/index.html +++ b/12/road-to-brexit/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/super-sunday/index.html b/12/super-sunday/index.html index f343963..7e896cb 100644 --- a/12/super-sunday/index.html +++ b/12/super-sunday/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/12/the-path-to-impeachment/index.html b/12/the-path-to-impeachment/index.html index 8224823..f36881f 100644 --- a/12/the-path-to-impeachment/index.html +++ b/12/the-path-to-impeachment/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/big-beautiful-trap/index.html b/13/big-beautiful-trap/index.html index ce7d07a..5c10bf6 100644 --- a/13/big-beautiful-trap/index.html +++ b/13/big-beautiful-trap/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/eos/index.html b/13/eos/index.html index 1d21b03..af2eb83 100644 --- a/13/eos/index.html +++ b/13/eos/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/fool-me-once/index.html b/13/fool-me-once/index.html index 09ae8ab..7e4d5d3 100644 --- a/13/fool-me-once/index.html +++ b/13/fool-me-once/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/gideons-chariots/index.html b/13/gideons-chariots/index.html index f013c23..3b28623 100644 --- a/13/gideons-chariots/index.html +++ b/13/gideons-chariots/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/index.html b/13/index.html index 7840963..35df786 100644 --- a/13/index.html +++ b/13/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/over-night-attacks/index.html b/13/over-night-attacks/index.html index e250eb8..24db6e1 100644 --- a/13/over-night-attacks/index.html +++ b/13/over-night-attacks/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/slam-the-brakes/index.html b/13/slam-the-brakes/index.html index 44438b4..b7d8b81 100644 --- a/13/slam-the-brakes/index.html +++ b/13/slam-the-brakes/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/storm/index.html b/13/storm/index.html index 49633da..eb8e288 100644 --- a/13/storm/index.html +++ b/13/storm/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/13/systemic-orthodoxy/index.html b/13/systemic-orthodoxy/index.html index 531ad6d..def21ca 100644 --- a/13/systemic-orthodoxy/index.html +++ b/13/systemic-orthodoxy/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/Argentina/index.html b/14/Argentina/index.html index 5b8fb2f..1f39f45 100644 --- a/14/Argentina/index.html +++ b/14/Argentina/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/FAMINE/index.html b/14/FAMINE/index.html index dad3e4f..3779d5f 100644 --- a/14/FAMINE/index.html +++ b/14/FAMINE/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/Illusion/index.html b/14/Illusion/index.html index 472b059..306e1a0 100644 --- a/14/Illusion/index.html +++ b/14/Illusion/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/Pathfinder/index.html b/14/Pathfinder/index.html index 851d596..b4a6150 100644 --- a/14/Pathfinder/index.html +++ b/14/Pathfinder/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/battle/index.html b/14/battle/index.html index 2c65e58..69eb34f 100644 --- a/14/battle/index.html +++ b/14/battle/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/eos/index.html b/14/eos/index.html index 35b93ff..d00804c 100644 --- a/14/eos/index.html +++ b/14/eos/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/index.html b/14/index.html index 81c3f6d..18282dc 100644 --- a/14/index.html +++ b/14/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/instanbul/index.html b/14/instanbul/index.html index efa384a..df2e1a9 100644 --- a/14/instanbul/index.html +++ b/14/instanbul/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/revolt/index.html b/14/revolt/index.html index b8a07d1..94f75eb 100644 --- a/14/revolt/index.html +++ b/14/revolt/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/14/ruff_considerations/index.html b/14/ruff_considerations/index.html index fb6f6ab..b6b1640 100644 --- a/14/ruff_considerations/index.html +++ b/14/ruff_considerations/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/15/index.html b/15/index.html index b788dbf..f752e90 100644 --- a/15/index.html +++ b/15/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/16/eos/index.html b/16/eos/index.html index 001dd07..a7ac8c4 100644 --- a/16/eos/index.html +++ b/16/eos/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/16/index.html b/16/index.html index cd47af3..74c4e7d 100644 --- a/16/index.html +++ b/16/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/16/korea/index.html b/16/korea/index.html index e746c2a..b60004d 100644 --- a/16/korea/index.html +++ b/16/korea/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/16/poland/index.html b/16/poland/index.html index 7f25fdf..cf64fe9 100644 --- a/16/poland/index.html +++ b/16/poland/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/16/rfk/index.html b/16/rfk/index.html index 690731c..1daa4a1 100644 --- a/16/rfk/index.html +++ b/16/rfk/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/16/ukraine/index.html b/16/ukraine/index.html index 23376ee..4f96e4c 100644 --- a/16/ukraine/index.html +++ b/16/ukraine/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/17/1iran/index.html b/17/1iran/index.html index 948b98b..c6f6404 100644 --- a/17/1iran/index.html +++ b/17/1iran/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/17/2minnesota/index.html b/17/2minnesota/index.html index e6634f2..6c84523 100644 --- a/17/2minnesota/index.html +++ b/17/2minnesota/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/17/3Ukraine/index.html b/17/3Ukraine/index.html index 8194636..b5145c6 100644 --- a/17/3Ukraine/index.html +++ b/17/3Ukraine/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/17/4trans/index.html b/17/4trans/index.html index 80263ad..0bc0d93 100644 --- a/17/4trans/index.html +++ b/17/4trans/index.html @@ -12,7 +12,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/17/5syria/index.html b/17/5syria/index.html index ce870f0..faeacbf 100644 --- a/17/5syria/index.html +++ b/17/5syria/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/17/index.html b/17/index.html index af7e0bf..f3c4b1f 100644 --- a/17/index.html +++ b/17/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/1Deportations/index.html b/18/1Deportations/index.html index 3303949..67e1c2f 100644 --- a/18/1Deportations/index.html +++ b/18/1Deportations/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/2israel/index.html b/18/2israel/index.html index 1673f85..18515d7 100644 --- a/18/2israel/index.html +++ b/18/2israel/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/3PROTESTS/index.html b/18/3PROTESTS/index.html index eae39c7..b96015f 100644 --- a/18/3PROTESTS/index.html +++ b/18/3PROTESTS/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/4Ukraine/index.html b/18/4Ukraine/index.html index db04d5c..a0a4bb8 100644 --- a/18/4Ukraine/index.html +++ b/18/4Ukraine/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/5debt/index.html b/18/5debt/index.html index 58a7d8b..1ff89aa 100644 --- a/18/5debt/index.html +++ b/18/5debt/index.html @@ -14,7 +14,7 @@ > - + diff --git a/18/6eos1/index.html b/18/6eos1/index.html index ad94d97..4b7787b 100644 --- a/18/6eos1/index.html +++ b/18/6eos1/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/7eos2/index.html b/18/7eos2/index.html index 3bbb90d..6de9b4d 100644 --- a/18/7eos2/index.html +++ b/18/7eos2/index.html @@ -13,7 +13,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + diff --git a/18/index.html b/18/index.html index 2e825ed..40b743a 100644 --- a/18/index.html +++ b/18/index.html @@ -15,7 +15,7 @@ src="https://www.googletagmanager.com/gtag/js?id=G-R13B7T2SGY" > - + From cd89f191850baefebe5a94c2b19db0e81b1c7c33 Mon Sep 17 00:00:00 2001 From: Ted Timbrell Date: Sun, 5 Apr 2026 20:16:31 -0700 Subject: [PATCH 3/4] Add prod mapping and reusable script for applying tags - github-to-prod-mapping.json: maps GitHub Pages paths to pragmaticpapers.com URLs - scripts/apply-prod-tags.js: reusable script to inject tags into matched pages Supports modes (redirect, canonical, or all) with --dry-run option. New tag types can be added to the MODES object for future use. --- github-to-prod-mapping.json | 985 ++++++++++++++++++++++++++++++++++++ scripts/apply-prod-tags.js | 122 +++++ 2 files changed, 1107 insertions(+) create mode 100644 github-to-prod-mapping.json create mode 100644 scripts/apply-prod-tags.js diff --git a/github-to-prod-mapping.json b/github-to-prod-mapping.json new file mode 100644 index 0000000..f826dfa --- /dev/null +++ b/github-to-prod-mapping.json @@ -0,0 +1,985 @@ +{ + "volumes": [ + { + "github_volume": "I", + "github_path": "https://www.reddit.com/r/Destiny/comments/1j1t61a/weekly_news_breakdown_the_first_edition_of_the/", + "prod_path": "/volumes/1", + "note": "Volume I on GitHub is just a Reddit link, not a GitHub Pages volume", + "articles": [] + }, + { + "github_volume": "II", + "github_path": "/02", + "prod_path": "/volumes/2", + "articles": [ + { + "github_title": "Elon and DOGE", + "github_path": "/02/doge-and-elon/", + "prod_title": "DOGE and Elon", + "prod_path": "/articles/doge-and-elon", + "match_confidence": "high" + }, + { + "github_title": "Ukrainian Update", + "github_path": "/02/ukrainian-update/", + "prod_title": "Ukrainian Update", + "prod_path": "/articles/ukrainian-update", + "match_confidence": "high" + }, + { + "github_title": "Trump's tariffs", + "github_path": "/02/trumps-tariff-troubles/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing", + "note": "Not found on pragmaticpapers.com. Different from Vol VI's 'Trump's Tariffs Cause Stocks to Tumble'." + }, + { + "github_title": "Trump's executive orders", + "github_path": "/02/executive-orders/", + "prod_title": "Trump's executive orders from March 3 to March 7", + "prod_path": "/articles/trumps-executive-orders-from-march-3-to-march-7", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "III", + "github_path": "/03", + "prod_path": "/volumes/3", + "articles": [ + { + "github_title": "Schumer Folds", + "github_path": "/03/schumer-folds/", + "prod_title": "Schumer Folds on Funding", + "prod_path": "/articles/schumer-folds-on-funding", + "match_confidence": "high" + }, + { + "github_title": "A Student for Speech", + "github_path": "/03/a-student-for-speech/", + "prod_title": "A Student for Speech", + "prod_path": "/articles/a-student-for-speech", + "match_confidence": "high" + }, + { + "github_title": "When Transparency Becomes Opaque", + "github_path": "/03/when-transparency-becomes-opaque/", + "prod_title": "When Transparency Becomes Opaque", + "prod_path": "/articles/when-transparency-becomes-opaque", + "match_confidence": "high" + }, + { + "github_title": "Ukraine–Russia Update", + "github_path": "/03/ukraine-russia-update/", + "prod_title": "Ukraine Claws Back as Putin Rejects Ceasefire", + "prod_path": "/articles/ukraine-claws-back-as-putin-rejects-ceasefire", + "match_confidence": "high", + "note": "Title changed significantly on prod" + }, + { + "github_title": "Tesla Boycott", + "github_path": "/03/boycotting-protesting-or-crime/", + "prod_title": "Boycotting Tesla", + "prod_path": "/articles/boycotting-tesla", + "match_confidence": "high", + "note": "Different slug and slightly different title" + }, + { + "github_title": "Effective Outreach", + "github_path": "/03/effective-outreach/", + "prod_title": "Effective Outreach", + "prod_path": "/articles/effective-outreach", + "match_confidence": "high" + }, + { + "github_title": "Trump's Executive Orders", + "github_path": "/03/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of March 3, 2025", + "prod_path": "/articles/executive-order-weekly-report--week-of-march-3-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "IV", + "github_path": "/04", + "prod_path": "/volumes/4", + "articles": [ + { + "github_title": "Ceasefire In Name Only", + "github_path": "/04/ceasefire-in-name-only/", + "prod_title": "Ceasefire In Name Only", + "prod_path": "/articles/ceasefire-in-name-only", + "match_confidence": "high" + }, + { + "github_title": "DJT Flubs IvP", + "github_path": "/04/djt-flubs-israel-palestine/", + "prod_title": "DJT Flubs IvP", + "prod_path": "/articles/djt-flubs-ivp", + "match_confidence": "high" + }, + { + "github_title": "Elon's War on the Courts", + "github_path": "/04/elons-war-on-the-courts/", + "prod_title": "Elon's War on the Courts", + "prod_path": "/articles/elons-war-on-the-courts", + "match_confidence": "high" + }, + { + "github_title": "Just Show Up", + "github_path": "/04/just-show-up/", + "prod_title": "Just Show Up", + "prod_path": "/articles/just-show-up", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/04/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of March 10, 2025", + "prod_path": "/articles/executive-order-weekly-report", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "V", + "github_path": "/05", + "prod_path": "/volumes/5", + "articles": [ + { + "github_title": "TROs, Contempt, and the Last Stand of the Judiciary", + "github_path": "/05/tros-contempt-last-stand-of-judiciary/", + "prod_title": "TROs, Contempt, and the Last Stand of the Judiciary", + "prod_path": "/articles/tros-contempt-and-the-last-stand-of-the-judiciary", + "match_confidence": "high" + }, + { + "github_title": "Signal Chat Fiasco", + "github_path": "/05/signal-chat-fiasco/", + "prod_title": "Signal Chat Fiasco", + "prod_path": "/articles/signal-chat-fiasco", + "match_confidence": "high" + }, + { + "github_title": "When a Fail Becomes Too Big to Save", + "github_path": "/05/fail-too-big-to-save/", + "prod_title": "When a Fail Becomes Too Big to Save", + "prod_path": "/articles/when-a-fail-becomes-too-big-to-save", + "match_confidence": "high" + }, + { + "github_title": "Ukraine–Russia Update", + "github_path": "/05/ukraine-russia/", + "prod_title": "Ukraine-Russia Update", + "prod_path": "/articles/ukraine-russia-update", + "match_confidence": "high" + }, + { + "github_title": "You Are Playing with Weighted Dice", + "github_path": "/05/weighted-dice/", + "prod_title": "You Are Playing with Weighted Dice", + "prod_path": "/articles/you-are-playing-with-weighted-dice", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/05/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of March 17, 2025", + "prod_path": "/articles/executive-order-weekly-report--week-of-march-17-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "VI", + "github_path": "/06", + "prod_path": "/volumes/6", + "articles": [ + { + "github_title": "Destiny's Dissent: Billionaires", + "github_path": "/06/destinys-dissent/", + "prod_title": "Destiny's Dissent: Billionaires", + "prod_path": "/articles/destinys-dissent-billionaires", + "match_confidence": "high" + }, + { + "github_title": "Trump's Tariffs Cause Stocks to Tumble, Fears to Rise", + "github_path": "/06/trumps-tariffs-cause-stocks-to-tumble/", + "prod_title": "Trump's Tariffs Cause Stocks to Tumble, Fears to Rise", + "prod_path": "/articles/trumps-tariffs-cause-stocks-to-tumble-fears-to-rise", + "match_confidence": "high" + }, + { + "github_title": "When Beat the Drums of War", + "github_path": "/06/when-beat-the-drums-of-war/", + "prod_title": "When Beat the Drums of War", + "prod_path": "/articles/when-beat-the-drums-of-war", + "match_confidence": "high" + }, + { + "github_title": "Special Elections", + "github_path": "/06/special-elections/", + "prod_title": "Special Elections bring hope for Dems despite mixed results", + "prod_path": "/articles/special-elections-bring-hope-for-dems-despite-mixed-results", + "match_confidence": "high", + "note": "Title expanded on prod" + }, + { + "github_title": "Musk's Exit Wound", + "github_path": "/06/musks-exit-wound/", + "prod_title": "Musk's Exit Wound", + "prod_path": "/articles/musks-exit-wound", + "match_confidence": "high" + }, + { + "github_title": "Russia Builds and the U.S. Wavers", + "github_path": "/06/russia-builds-and-the-us-wavers/", + "prod_title": "Russia Builds and the U.S. Wavers", + "prod_path": "/articles/russia-builds-and-the-us-wavers", + "match_confidence": "high" + }, + { + "github_title": "Why I Am Optimistic About Ukraine", + "github_path": "/06/opinion-piece-ukraine/", + "prod_title": "Why I Am Optimistic About Ukraine", + "prod_path": "/articles/why-i-am-optimistic-about-ukraine", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/06/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of March 24, 2025", + "prod_path": "/articles/executive-order-weekly-report--week-of-march-24-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "VII", + "github_path": "/07", + "prod_path": "/volumes/7", + "articles": [ + { + "github_title": "Build Walls, Burn Bridges: Trump's Global Trade Disaster", + "github_path": "/07/build-walls-burn-bridges/", + "prod_title": "Build Walls, Burn Bridges: Trump's Global Trade Disaster", + "prod_path": "/articles/build-walls-burn-bridges-trumps-global-trade-disaster", + "match_confidence": "high" + }, + { + "github_title": "Trust Us, We're the Government: DOGE Edition", + "github_path": "/07/trust-us-were-the-government/", + "prod_title": "Trust Us, We're the Government: DOGE Edition", + "prod_path": "/articles/trust-us-were-the-government-doge-edition", + "match_confidence": "high" + }, + { + "github_title": "Powerlessness Corrupts: The Incorruptible Idealist", + "github_path": "/07/powerlessness-corrupts/", + "prod_title": "Powerlessness Corrupts: The Incorruptible Idealist", + "prod_path": "/articles/powerlessness-corrupts-the-incorruptible-idealist", + "match_confidence": "high" + }, + { + "github_title": "Russia and Ukraine Ramp up as Peace Deal Stalls", + "github_path": "/07/russia-ukraine/", + "prod_title": "Russia and Ukraine Ramp up as Peace Deal Stalls", + "prod_path": "/articles/russia-and-ukraine-ramp-up-as-peace-deal-stalls", + "match_confidence": "high" + }, + { + "github_title": "Same Story, Different Day for Israel and Palestine", + "github_path": "/07/israel-palestine/", + "prod_title": "Same Story, Different Day for Israel and Palestine", + "prod_path": "/articles/same-story-different-day-for-israel-and-palestine", + "match_confidence": "high" + }, + { + "github_title": "A Little Effort, a Big Impact", + "github_path": "/07/little-effort-big-impact/", + "prod_title": "A Little Effort, a Big Impact", + "prod_path": "/articles/a-little-effort-a-big-impact", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/07/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of March 31, 2025", + "prod_path": "/articles/executive-order-weekly-report--week-of-march-31-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "VIII", + "github_path": "/08", + "prod_path": "/volumes/8", + "articles": [ + { + "github_title": "Concepts of a Plan: Trump's Roadmap to Nowhere", + "github_path": "/08/concepts-of-a-plan/", + "prod_title": "Concepts of a Plan: Trump's Roadmap to Nowhere", + "prod_path": "/articles/concepts-of-a-plan-trumps-roadmap-to-nowhere", + "match_confidence": "high" + }, + { + "github_title": "Efficiency, but Make It Eugenics", + "github_path": "/08/efficiency-but-make-it-eugenics/", + "prod_title": "Efficiency, but Make It Eugenics", + "prod_path": "/articles/efficiency-but-make-it-eugenics", + "match_confidence": "high" + }, + { + "github_title": "Is War Next for Israel and Iran?", + "github_path": "/08/is-war-next-for-israel-and-iran/", + "prod_title": "Is War Next for Israel and Iran?", + "prod_path": "/articles/is-war-next-for-israel-and-iran", + "match_confidence": "high" + }, + { + "github_title": "Money in Politics 101", + "github_path": "/08/money-in-politics-101/", + "prod_title": "Money in Politics 101", + "prod_path": "/articles/money-in-politics-101", + "match_confidence": "high" + }, + { + "github_title": "Uncanceled: The Return of Disgraced Democrats", + "github_path": "/08/uncanceled-the-return-of-disgraced-democrats/", + "prod_title": "Uncanceled: The Return of Disgraced Democrats", + "prod_path": "/articles/uncanceled-the-return-of-disgraced-democrats", + "match_confidence": "high" + }, + { + "github_title": "Zeitenwende and Germany's Role in European Defense", + "github_path": "/08/zeitenwende-and-germanys-role-in-european-defense/", + "prod_title": "Zeitenwende and Germany's Role in European Defense", + "prod_path": "/articles/zeitenwende-and-germanys-role-in-european-defense", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/08/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of April 7, 2025", + "prod_path": "/articles/executive-order-weekly-report-week-of-april-7-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "IX", + "github_path": "/09", + "prod_path": "/volumes/9", + "articles": [ + { + "github_title": "Judge Detained as Trump Admin Escalates", + "github_path": "/09/judge-detained/", + "prod_title": "Judge Detained as Trump Admin Escalates", + "prod_path": "/articles/judge-detained-as-trump-admin-escalates", + "match_confidence": "high" + }, + { + "github_title": "From Ceasefires to Car Bombs: Ukraine's Fight Against Capitulation", + "github_path": "/09/from-ceasefires-to-car-bombs/", + "prod_title": "From Ceasefires to Car Bombs: Ukraine's Fight Against Capitulation", + "prod_path": "/articles/from-ceasefires-to-car-bombs-ukraines-fight-against-capitulation", + "match_confidence": "high" + }, + { + "github_title": "The Coalition of the Willing", + "github_path": "/09/coalition-of-the-willing/", + "prod_title": "The Coalition of the Willing", + "prod_path": "/articles/the-coalition-of-the-willing", + "match_confidence": "high" + }, + { + "github_title": "Chainsaws Aren't Office Tools", + "github_path": "/09/chainsaws-arent-office-tools/", + "prod_title": "Chainsaws Aren't Office Tools", + "prod_path": "/articles/chainsaws-arent-office-tools", + "match_confidence": "high" + }, + { + "github_title": "They Make a Desert and Call it Peace", + "github_path": "/09/they-make-a-desert/", + "prod_title": "They Make a Desert and Call it Peace", + "prod_path": "/articles/they-make-a-desert-and-call-it-peace", + "match_confidence": "high" + }, + { + "github_title": "The Frontline of MAGA Election Attacks", + "github_path": "/09/maga-election-attacks/", + "prod_title": "The Frontline of MAGA Election Attacks", + "prod_path": "/articles/the-frontline-of-maga-election-attacks", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/09/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of April 14, 2025", + "prod_path": "/articles/executive-order-weekly-report--week-of-april-14-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "X", + "github_path": "/10", + "prod_path": "/volumes/10", + "articles": [ + { + "github_title": "100 Days, 100 Ways Trump Has Hurt the US", + "github_path": "/10/100-days/", + "prod_title": "100 Days, 100 Ways Trump Has Hurt the US", + "prod_path": "/articles/100-days-100-ways-trump-has-hurt-the-us", + "match_confidence": "high" + }, + { + "github_title": "Mineral Deal Signed: Ukraine Gains Leverage", + "github_path": "/10/minerals-deal-signed/", + "prod_title": "Mineral Deal Signed: Ukraine Gains Leverage", + "prod_path": "/articles/mineral-deal-signed-ukraine-gains-leverage", + "match_confidence": "high" + }, + { + "github_title": "The Briefest History of Internal EU Migration", + "github_path": "/10/brief-history/", + "prod_title": "The Briefest History of Internal EU Migration", + "prod_path": "/articles/the-briefest-history-of-internal-eu-migration", + "match_confidence": "high" + }, + { + "github_title": "No Data Left Behind", + "github_path": "/10/no-data-left-behind/", + "prod_title": "No Data Left Behind", + "prod_path": "/articles/no-data-left-behind", + "match_confidence": "high" + }, + { + "github_title": "DOGE Insider Threat", + "github_path": "/10/doge-insider-threat/", + "prod_title": "DOGE Insider Threat", + "prod_path": "/articles/doge-insider-threat", + "match_confidence": "high" + }, + { + "github_title": "Europe Braces for Impact", + "github_path": "/10/europe-braces-for-impact/", + "prod_title": "Europe Braces for Impact", + "prod_path": "/articles/europe-braces-for-impact", + "match_confidence": "high" + }, + { + "github_title": "Rain of Fire: The Threat from the North", + "github_path": "/10/rain-of-fire/", + "prod_title": "Rain of Fire: The Threat from the North", + "prod_path": "/articles/rain-of-fire-the-threat-from-the-north", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/10/executive-orders/", + "prod_title": "Executive Order Weekly Report - Week of April 21, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-april-21-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XI", + "github_path": "/11", + "prod_path": "/volumes/11", + "articles": [ + { + "github_title": "Destiny's Dissent: Home Ownership", + "github_path": "/11/destinys-dissent/", + "prod_title": "Destiny's Dissent: Home Ownership", + "prod_path": "/articles/destinys-dissent-home-ownership", + "match_confidence": "high" + }, + { + "github_title": "Europe Strikes Back: EU Unveils Tariff Retaliation Amid Escalating U.S. Trade Dispute", + "github_path": "/11/eu-strikes-back/", + "prod_title": "Europe Strikes Back: EU Unveils Tariff Retaliation Amid Escalating U.S. Trade Dispute", + "prod_path": "/articles/europe-strikes-back-eu-unveils-tariff-retaliation-amid-escalating-us-trade-dispute", + "match_confidence": "high" + }, + { + "github_title": "Constructing Crisis: The Fabrication of Fraud by DOGE", + "github_path": "/11/constructing-crisis/", + "prod_title": "Constructing Crisis: The Fabrication of Fraud by DOGE", + "prod_path": "/articles/constructing-crisis-the-fabrication-of-fraud-by-doge", + "match_confidence": "high" + }, + { + "github_title": "In Memory of Leon Greenman, a Holocaust Survivor", + "github_path": "/11/in-memory-of-leon-greenman/", + "prod_title": "In Memory of Leon Greenman, a Holocaust Survivor", + "prod_path": "/articles/in-memory-of-leon-greenman-a-holocaust-survivor", + "match_confidence": "high" + }, + { + "github_title": "Unity Parades in Moscow, Pressure in Kyiv", + "github_path": "/11/unity-parades-moscow-pressure-kyiv/", + "prod_title": "Unity Parades in Moscow, Pressure in Kyiv", + "prod_path": "/articles/unity-parades-in-moscow-pressure-in-kyiv", + "match_confidence": "high" + }, + { + "github_title": "Gaza's Protests and the Fight to be Heard", + "github_path": "/11/gazas-protests-fight-to-be-heard/", + "prod_title": "Gaza's Protests and the Fight to be Heard", + "prod_path": "/articles/gazas-protests-and-the-fight-to-be-heard", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/11/executive-orders/", + "prod_title": "Executive Order Weekly Report – Week of April 28, 2025", + "prod_path": "/articles/executive-order-weekly-report--week-of-april-28-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XII", + "github_path": "/12", + "prod_path": "/volumes/12", + "articles": [ + { + "github_title": "Road to Brexit", + "github_path": "/12/road-to-brexit/", + "prod_title": "The Road to Brexit", + "prod_path": "/articles/the-road-to-brexit", + "match_confidence": "high" + }, + { + "github_title": "Bridging the Channel: The UK's Strategic Pivot Back to Europe", + "github_path": "/12/bridging-the-channel/", + "prod_title": "Bridging the Channel: The UK's Strategic Pivot Back to Europe", + "prod_path": "/articles/bridging-the-channel-the-uks-strategic-pivot-back-to-europe", + "match_confidence": "high" + }, + { + "github_title": "Deadlock", + "github_path": "/12/deadlock/", + "prod_title": "Deadlock In Istanbul", + "prod_path": "/articles/deadlock-in-istanbul", + "match_confidence": "high" + }, + { + "github_title": "Checks in the mail", + "github_path": "/12/checks-in-the-mail/", + "prod_title": "Checks in the Mail", + "prod_path": "/articles/checks-in-the-mail", + "match_confidence": "high" + }, + { + "github_title": "Super Sunday", + "github_path": "/12/super-sunday/", + "prod_title": "Super Sunday 2025; EU elections", + "prod_path": "/articles/super-sunday-2025-eu-elections", + "match_confidence": "high" + }, + { + "github_title": "Path to Impeachment", + "github_path": "/12/the-path-to-impeachment/", + "prod_title": "Path to Impeachment", + "prod_path": "/articles/path-to-impeachment", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/12/eos/", + "prod_title": "Executive Order Weekly Report - Week of May 5, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-may-5-2025", + "match_confidence": "high" + }, + { + "github_title": "Occupation by Design", + "github_path": "/12/displacement/", + "prod_title": "Occupation by Design", + "prod_path": "/articles/occupation-by-design", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XIII", + "github_path": "/13", + "prod_path": "/volumes/13", + "articles": [ + { + "github_title": "The Big Beautiful Trap", + "github_path": "/13/big-beautiful-trap/", + "prod_title": "The Big Beautiful Trap", + "prod_path": "/articles/the-big-beautiful-trap", + "match_confidence": "high" + }, + { + "github_title": "Slam The Brakes: Universal Injunctions in the Trump Admin", + "github_path": "/13/slam-the-brakes/", + "prod_title": "Slam The Brakes: Universal Injunctions in the Trump Admin", + "prod_path": "/articles/slam-the-brakes-universal-injunctions-in-the-trump-admin", + "match_confidence": "high" + }, + { + "github_title": "The Storm was Natural, the Disaster will be Political", + "github_path": "/13/storm/", + "prod_title": "The Storm was Natural, the Disaster will be Political", + "prod_path": "/articles/the-storm-was-natural-the-disaster-will-be-political", + "match_confidence": "high" + }, + { + "github_title": "Systemic Orthodoxy", + "github_path": "/13/systemic-orthodoxy/", + "prod_title": "Systemic Orthodoxy", + "prod_path": "/articles/systemic-orthodoxy", + "match_confidence": "high" + }, + { + "github_title": "Fool Me Once", + "github_path": "/13/fool-me-once/", + "prod_title": "Fool Me Once", + "prod_path": "/articles/fool-me-once", + "match_confidence": "high" + }, + { + "github_title": "Overnight Attacks on Ukraine and the Looming Summer Offensive", + "github_path": "/13/over-night-attacks/", + "prod_title": "Overnight Attacks on Ukraine and the Looming Summer Offensive", + "prod_path": "/articles/overnight-attacks-on-ukraine-and-the-looming-summer-offensive", + "match_confidence": "high" + }, + { + "github_title": "Gideon's Chariots", + "github_path": "/13/gideons-chariots/", + "prod_title": "Gideon's Chariots", + "prod_path": "/articles/gideons-chariots", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/13/eos/", + "prod_title": "Executive Order Weekly Report - Week of May 12, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-may-12-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XIV", + "github_path": "/14", + "prod_path": "/volumes/14", + "articles": [ + { + "github_title": "Famine: The Gaza Humanitarian Catastrophe and the Erosion of Aid Principles", + "github_path": "/14/FAMINE/", + "prod_title": "Famine: The Gaza Humanitarian Catastrophe and the Erosion of Aid Principles", + "prod_path": "/articles/famine-the-gaza-humanitarian-catastrophe-and-the-erosion-of-aid-principles", + "match_confidence": "high" + }, + { + "github_title": "The Pathfinder: How A Trump-Appointee Became The Strongest Defender of Tribal Rights in Supreme Court History", + "github_path": "/14/Pathfinder/", + "prod_title": "The Pathfinder: How A Trump-Appointee Became The Strongest Defender of Tribal Rights in Supreme Court History", + "prod_path": "/articles/the-pathfinder-how-a-trump-appointee-became-the-strongest-defender-of-tribal-rights-in-supreme-court-history", + "match_confidence": "high" + }, + { + "github_title": "Istanbul or Bust", + "github_path": "/14/instanbul/", + "prod_title": "Istanbul or Bust", + "prod_path": "/articles/istanbul-or-bust", + "match_confidence": "high" + }, + { + "github_title": "The Battle For the Ivory Tower", + "github_path": "/14/battle/", + "prod_title": "The Battle For the Ivory Tower", + "prod_path": "/articles/the-battle-for-the-ivory-tower", + "match_confidence": "high" + }, + { + "github_title": "Stand Up! Fighting Illiberalism: Protests in Slovakia and Hungary", + "github_path": "/14/revolt/", + "prod_title": "Stand Up! Fighting Illiberalism: Protests in Slovakia and Hungary", + "prod_path": "/articles/stand-up-fighting-illiberalism-protests-in-slovakia-and-hungary", + "match_confidence": "high" + }, + { + "github_title": "A Whole New World: Argentina's 2025 Elections", + "github_path": "/14/Argentina/", + "prod_title": "A Whole New World: Argentina's 2025 Elections", + "prod_path": "/articles/a-whole-new-world-argentinas-2025-elections", + "match_confidence": "high" + }, + { + "github_title": "The Illusion of Cool: Unmasking Nayib Bukele's Authoritarian Rule in El Salvador (Part 1)", + "github_path": "/14/Illusion/", + "prod_title": "The Illusion of Cool: Unmasking Nayib Bukele's Authoritarian Rule in El Salvador (Part 1)", + "prod_path": "/articles/the-illusion-of-cool-unmasking-nayib-bukeles-authoritarian-rule-in-el-salvador-part-1", + "match_confidence": "high" + }, + { + "github_title": "Ruff Considerations", + "github_path": "/14/ruff_considerations/", + "prod_title": "Ruff Considerations", + "prod_path": "/articles/ruff-considerations", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report", + "github_path": "/14/eos/", + "prod_title": "Executive Order Weekly Report - Week of May 19, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-may-19-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XV", + "github_path": "/15", + "prod_path": "/volumes/15", + "note": "Volume XV on pragmaticpapers.com shows NO articles - the articles grid is empty. All 8 GitHub articles are MISSING from prod.", + "articles": [ + { + "github_title": "California Screamin'", + "github_path": "/15/california-screaming/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + }, + { + "github_title": "The Making of a Strongman: Unmasking Nayib Bukele's Authoritarian Rule in El Salvador (Part 2)", + "github_path": "/15/bukele/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + }, + { + "github_title": "Sleazebag", + "github_path": "/15/sleazebag/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + }, + { + "github_title": "Ceasefire Visions: Does Hamas Dream of Electric Peace?", + "github_path": "/15/hamas/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + }, + { + "github_title": "Attack on Science: Trump 2.0 and the NIH", + "github_path": "/15/nih/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + }, + { + "github_title": "More Than a Woman—And Somehow Less", + "github_path": "/15/less-than-a-woman/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + }, + { + "github_title": "Ten Years later: The Migration Crisis That Shook Europe", + "github_path": "/15/migration-crisis/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing", + "note": "Not the same as 'Migration to the UK: Perception Versus Reality' which is a different article" + }, + { + "github_title": "Executive Order Weekly Report - Week of May 26, 2025", + "github_path": "/15/eos/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing" + } + ] + }, + { + "github_volume": "XVI", + "github_path": "/16", + "prod_path": "/volumes/16", + "articles": [ + { + "github_title": "Rising Lion: An Opening Salvo", + "github_path": "/16/israel/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing", + "note": "Not found on pragmaticpapers.com" + }, + { + "github_title": "The Stage is Yours (Part 3)", + "github_path": "/16/bukele/", + "prod_title": null, + "prod_path": null, + "match_confidence": "missing", + "note": "Bukele Part 3 not found on pragmaticpapers.com (only Part 1 exists)" + }, + { + "github_title": "Seeing What You Want to See: RFK, Vaccines, and the Media Mirror", + "github_path": "/16/rfk/", + "prod_title": "Seeing What You Want to See: RFK, Vaccines, and the Media Mirror", + "prod_path": "/articles/seeing-what-you-want-to-see-rfk-vaccines-and-the-media-mirror", + "match_confidence": "high" + }, + { + "github_title": "New Chapter, Old Wounds: South Korea's Political Crossroads", + "github_path": "/16/korea/", + "prod_title": "New Chapter, Old Wounds: South Korea's Political Crossroads", + "prod_path": "/articles/new-chapter-old-wounds-south-koreas-political-crossroads", + "match_confidence": "high" + }, + { + "github_title": "The many faces of Karol Nawrocki, the new polish president", + "github_path": "/16/poland/", + "prod_title": "The many faces of Karol Nawrocki, the new polish president", + "prod_path": "/articles/the-many-faces-of-karol-nawrocki-the-new-polish-president", + "match_confidence": "high" + }, + { + "github_title": "One Million and Counting", + "github_path": "/16/ukraine/", + "prod_title": "One Million and Counting", + "prod_path": "/articles/one-million-and-counting", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report - Week of June 02, 2025", + "github_path": "/16/eos/", + "prod_title": "Executive Order Weekly Report - Week of June 02, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-june-02-2025", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XVII", + "github_path": "/17", + "prod_path": "/volumes/17", + "articles": [ + { + "github_title": "On the Brink: The Israel-Iran War, U.S. Strikes, and the Future of the Middle East", + "github_path": "/17/1iran/", + "prod_title": "On the Brink: The Israel-Iran War, U.S. Strikes, and the Future of the Middle East", + "prod_path": "/articles/on-the-brink-the-israel-iran-war-us-strikes-and-the-future-of-the-middle-east", + "match_confidence": "high" + }, + { + "github_title": "Targeted for Public Service: Minnesota Leaders Caught in Deadly Plot", + "github_path": "/17/2minnesota/", + "prod_title": "Targeted for Public Service: Minnesota Leaders Caught in Deadly Plot", + "prod_path": "/articles/targeted-for-public-service-minnesota-leaders-caught-in-deadly-plot", + "match_confidence": "high" + }, + { + "github_title": "They Want It All: Putin's Open Threats, Trump's Silence, and Why We Can't Give Up", + "github_path": "/17/3Ukraine/", + "prod_title": "They Want It All: Putin's Open Threats, Trump's Silence, and Why We Can't Give Up", + "prod_path": "/articles/they-want-it-all-putins-open-threats-trumps-silence-and-why-we-cant-give-up", + "match_confidence": "high" + }, + { + "github_title": "Right to Treatment", + "github_path": "/17/4trans/", + "prod_title": "Right to Treatment", + "prod_path": "/articles/right-to-treatment", + "match_confidence": "high" + }, + { + "github_title": "Syria's New Dawn Appears Darkly Authoritarian", + "github_path": "/17/5syria/", + "prod_title": "Syria's New Dawn Appears Darkly Authoritarian", + "prod_path": "/articles/syrias-new-dawn-appears-darkly-authoritarian", + "match_confidence": "high" + } + ] + }, + { + "github_volume": "XVIII", + "github_path": "/18", + "prod_path": "/volumes/18", + "articles": [ + { + "github_title": "Unclean Hands, Unchecked Power: Supreme Court Greenlights 'Third Country' Deportations", + "github_path": "/18/1Deportations/", + "prod_title": "Unclean Hands, Unchecked Power: Supreme Court Greenlights 'Third Country' Deportations", + "prod_path": "/articles/unclean-hands-unchecked-power-supreme-court-greenlights-third-country-deportations", + "match_confidence": "high" + }, + { + "github_title": "Aid Under Fire - The Collapse of Humanitarian Credibility in Gaza", + "github_path": "/18/2israel/", + "prod_title": "Aid Under Fire - The Collapse of Humanitarian Credibility in Gaza", + "prod_path": "/articles/aid-under-fire---the-collapse-of-humanitarian-credibility-in-gaza", + "match_confidence": "high" + }, + { + "github_title": "Unlawful Assemblies and Unfinished Arguments", + "github_path": "/18/3PROTESTS/", + "prod_title": "Unlawful Assemblies and Unfinished Arguments", + "prod_path": "/articles/unlawful-assemblies-and-unfinished-arguments", + "match_confidence": "high" + }, + { + "github_title": "Ukraine's War Effort from Kursk to Kostiantynivka (June 22–28)", + "github_path": "/18/4Ukraine/", + "prod_title": "Ukraine's War Effort from Kursk to Kostiantynivka (June 22–28)", + "prod_path": "/articles/-ukraines-war-effort-from-kursk-to-kostiantynivka-june-2228", + "match_confidence": "high" + }, + { + "github_title": "Debt Brakes and Austerity: When Fiscal Rules Ignore Returns", + "github_path": "/18/5debt/", + "prod_title": "Debt Brakes and Austerity: When Fiscal Rules Ignore Returns", + "prod_path": "/articles/debt-brakes-and-austerity-when-fiscal-rules-ignore-returns", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report - Week of June 09, 2025", + "github_path": "/18/6eos1/", + "prod_title": "Executive Order Weekly Report - Week of June 09, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-june-09-2025", + "match_confidence": "high" + }, + { + "github_title": "Executive Order Weekly Report - Week of June 16, 2025", + "github_path": "/18/7eos2/", + "prod_title": "Executive Order Weekly Report - Week of June 16, 2025", + "prod_path": "/articles/executive-order-weekly-report---week-of-june-16-2025", + "match_confidence": "high" + } + ] + } + ], + "summary": { + "total_github_volumes": 18, + "total_github_volumes_with_articles": 17, + "total_github_articles": 113, + "matched_articles": 101, + "missing_from_prod": 11, + "missing_articles": [ + "Vol II: Trump's tariffs (/02/trumps-tariff-troubles/)", + "Vol XV: California Screamin' (/15/california-screaming/)", + "Vol XV: The Making of a Strongman: Bukele Part 2 (/15/bukele/)", + "Vol XV: Sleazebag (/15/sleazebag/)", + "Vol XV: Ceasefire Visions: Does Hamas Dream of Electric Peace? (/15/hamas/)", + "Vol XV: Attack on Science: Trump 2.0 and the NIH (/15/nih/)", + "Vol XV: More Than a Woman—And Somehow Less (/15/less-than-a-woman/)", + "Vol XV: Ten Years later: The Migration Crisis That Shook Europe (/15/migration-crisis/)", + "Vol XV: Executive Order Weekly Report - Week of May 26, 2025 (/15/eos/)", + "Vol XVI: Rising Lion: An Opening Salvo (/16/israel/)", + "Vol XVI: The Stage is Yours (Part 3) (/16/bukele/)" + ], + "note_on_volume_1": "Volume I links to a Reddit post, not a GitHub Pages volume" + } +} diff --git a/scripts/apply-prod-tags.js b/scripts/apply-prod-tags.js new file mode 100644 index 0000000..0c685fe --- /dev/null +++ b/scripts/apply-prod-tags.js @@ -0,0 +1,122 @@ +const fs = require('fs'); +const path = require('path'); + +const PROD_BASE = 'https://pragmaticpapers.com'; +const MAPPING_FILE = path.join(__dirname, '..', 'github-to-prod-mapping.json'); + +// Each mode defines a tag to inject into . +// The `build` function receives the full prod URL and returns an HTML string. +// The `detect` pattern is used to check if the tag already exists in the file. +const MODES = { + redirect: { + description: 'Add for instant redirect', + detect: 'http-equiv="refresh"', + build: (url) => ` `, + }, + canonical: { + description: 'Add pointing to prod URL', + detect: 'rel="canonical"', + build: (url) => ` `, + }, +}; + +function usage() { + console.log('Usage: node apply-prod-tags.js [--dry-run]'); + console.log(' node apply-prod-tags.js all [--dry-run]'); + console.log(' node apply-prod-tags.js --list\n'); + console.log('Modes:'); + for (const [name, mode] of Object.entries(MODES)) { + console.log(` ${name.padEnd(12)} ${mode.description}`); + } + console.log(` ${'all'.padEnd(12)} Apply all modes at once`); + console.log('\nOptions:'); + console.log(' --dry-run Show what would be changed without writing files'); + process.exit(1); +} + +function collectProdMappings() { + const mapping = JSON.parse(fs.readFileSync(MAPPING_FILE, 'utf8')); + const entries = []; + + for (const vol of mapping.volumes) { + if (vol.prod_path && vol.github_path && !vol.github_path.startsWith('http')) { + entries.push({ file: path.join('.', vol.github_path, 'index.html'), prodUrl: PROD_BASE + vol.prod_path }); + } + for (const article of vol.articles) { + if (article.prod_path && article.match_confidence !== 'missing') { + entries.push({ file: path.join('.', article.github_path, 'index.html'), prodUrl: PROD_BASE + article.prod_path }); + } + } + } + + return entries; +} + +function applyTags(entries, modes, dryRun) { + let modified = 0; + let skipped = 0; + let missing = 0; + + for (const { file, prodUrl } of entries) { + if (!fs.existsSync(file)) { + console.log(`MISSING: ${file}`); + missing++; + continue; + } + + let html = fs.readFileSync(file, 'utf8'); + let changed = false; + + const tagsToInsert = []; + for (const [name, mode] of Object.entries(modes)) { + if (html.includes(mode.detect)) { + continue; + } + tagsToInsert.push(mode.build(prodUrl)); + } + + if (tagsToInsert.length === 0) { + skipped++; + continue; + } + + const insertion = tagsToInsert.join('\n') + '\n '; + html = html.replace('', insertion + ''); + + if (dryRun) { + console.log(`WOULD UPDATE: ${file} -> ${prodUrl}`); + } else { + fs.writeFileSync(file, html); + console.log(`OK: ${file} -> ${prodUrl}`); + } + modified++; + } + + console.log(`\n--- Summary ---`); + console.log(`${dryRun ? 'Would modify' : 'Modified'}: ${modified}`); + console.log(`Already had tags: ${skipped}`); + console.log(`Missing files: ${missing}`); +} + +// --- main --- +const args = process.argv.slice(2); +if (args.includes('--list') || args.length === 0) usage(); + +const dryRun = args.includes('--dry-run'); +const modeName = args.find((a) => !a.startsWith('--')); + +if (!modeName) usage(); + +let selectedModes; +if (modeName === 'all') { + selectedModes = MODES; +} else if (MODES[modeName]) { + selectedModes = { [modeName]: MODES[modeName] }; +} else { + console.error(`Unknown mode: ${modeName}\n`); + usage(); +} + +const entries = collectProdMappings(); +console.log(`Found ${entries.length} pages in mapping.\n`); +applyTags(entries, selectedModes, dryRun); From 03f42376b5494b4b95653310fc67799c18c6939a Mon Sep 17 00:00:00 2001 From: Ted Timbrell Date: Sun, 5 Apr 2026 20:21:02 -0700 Subject: [PATCH 4/4] Add --remove flag to apply-prod-tags script for rollbacks Supports removing tags per mode or all at once: node apply-prod-tags.js redirect --remove node apply-prod-tags.js all --remove --dry-run --- scripts/apply-prod-tags.js | 64 +++++++++++++++++++++++++++++++++----- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/scripts/apply-prod-tags.js b/scripts/apply-prod-tags.js index 0c685fe..9b8c5f8 100644 --- a/scripts/apply-prod-tags.js +++ b/scripts/apply-prod-tags.js @@ -9,21 +9,22 @@ const MAPPING_FILE = path.join(__dirname, '..', 'github-to-prod-mapping.json'); // The `detect` pattern is used to check if the tag already exists in the file. const MODES = { redirect: { - description: 'Add for instant redirect', + description: ' for instant redirect', detect: 'http-equiv="refresh"', build: (url) => ` `, + remove: /^[ \t]*]*>\n?/gm, }, canonical: { - description: 'Add pointing to prod URL', + description: ' pointing to prod URL', detect: 'rel="canonical"', build: (url) => ` `, + remove: /^[ \t]*]*>\n?/gm, }, }; function usage() { - console.log('Usage: node apply-prod-tags.js [--dry-run]'); - console.log(' node apply-prod-tags.js all [--dry-run]'); - console.log(' node apply-prod-tags.js --list\n'); + console.log('Usage: node apply-prod-tags.js [--dry-run] [--remove]'); + console.log(' node apply-prod-tags.js all [--dry-run] [--remove]\n'); console.log('Modes:'); for (const [name, mode] of Object.entries(MODES)) { console.log(` ${name.padEnd(12)} ${mode.description}`); @@ -31,6 +32,7 @@ function usage() { console.log(` ${'all'.padEnd(12)} Apply all modes at once`); console.log('\nOptions:'); console.log(' --dry-run Show what would be changed without writing files'); + console.log(' --remove Remove the tags instead of adding them'); process.exit(1); } @@ -98,11 +100,54 @@ function applyTags(entries, modes, dryRun) { console.log(`Missing files: ${missing}`); } +function removeTags(entries, modes, dryRun) { + let modified = 0; + let skipped = 0; + let missing = 0; + + for (const { file } of entries) { + if (!fs.existsSync(file)) { + missing++; + continue; + } + + let html = fs.readFileSync(file, 'utf8'); + let changed = false; + + for (const [name, mode] of Object.entries(modes)) { + const updated = html.replace(mode.remove, ''); + if (updated !== html) { + html = updated; + changed = true; + } + } + + if (!changed) { + skipped++; + continue; + } + + if (dryRun) { + console.log(`WOULD REMOVE from: ${file}`); + } else { + fs.writeFileSync(file, html); + console.log(`REMOVED from: ${file}`); + } + modified++; + } + + console.log(`\n--- Summary ---`); + console.log(`${dryRun ? 'Would modify' : 'Modified'}: ${modified}`); + console.log(`No tags to remove: ${skipped}`); + console.log(`Missing files: ${missing}`); +} + // --- main --- const args = process.argv.slice(2); if (args.includes('--list') || args.length === 0) usage(); const dryRun = args.includes('--dry-run'); +const remove = args.includes('--remove'); const modeName = args.find((a) => !a.startsWith('--')); if (!modeName) usage(); @@ -118,5 +163,10 @@ if (modeName === 'all') { } const entries = collectProdMappings(); -console.log(`Found ${entries.length} pages in mapping.\n`); -applyTags(entries, selectedModes, dryRun); +console.log(`${remove ? 'Removing' : 'Applying'} tags for ${entries.length} pages.\n`); + +if (remove) { + removeTags(entries, selectedModes, dryRun); +} else { + applyTags(entries, selectedModes, dryRun); +}