Repository navigation
Conversation
|
Varför har Claude fått för sig att stoppa in en massa onödig (oformaterad) HTML i Markdownfilerna måntro? |
|
Det är inte cloud utan ChatGPT
…---------------------------------------
Mats Ygfors
Athega AB
Stockholm, Sweden
M:+ 46 (0)709 156 005
E-mail: ***@***.***
***@***.***>
Web: http://www.athega.se
fre 18 sep. 2026 kl. 18:28 skrev Peter Hellberg ***@***.***>:
*peterhellberg* left a comment (athega/athega.github.io#54)
<#54 (comment)>
Varför har Claude fått för sig att stoppa in en massa onödig HTML i
Markdownfilerna måntro?
—
Reply to this email directly, view it on GitHub
<#54?email_source=notifications&email_token=AADFDW4VN6YSMKOMLSXHJED5PVPCBA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNZTGI4TOOBYGEYKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-5732978810>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADFDWY65H3QFQMUWU44TAD5PVPCBAVCNFSNUABEKJSXA33TNF2G64TZHM2TCMJUGY2DKMZ3JFZXG5LFHM2TKMBRGE2TINRXG6QXMAQ>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/AADFDW66SMCJKM4SWXQKRST5PVPCBA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNZTGI4TOOBYGEYKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG>
and Android
<https://github.com/notifications/mobile/android/AADFDWZ6CLMSUAIIIPXHR4D5PVPCBA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNZTGI4TOOBYGEYKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>.
Download it today!
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
|
Jag kollar på det , pushar ändringar nu till branchen |
|
Heh, nu har den helt hoppat i galen tunna och stoppat in hela innehållet i frontmatter 🤦🏻 |
|
Ja enligt modellen är detta en pattern som är bra för LLM:er, så vill man köra AI-first kanske det inte har nån betydelse: "Det kan vara en bra arkitektur om målet är att sidan ska vara strikt komponentbaserad och allt innehåll ska följa samma struktur. Det är exempelvis ganska praktiskt för Codex/AI eftersom den kan ändra: yaml utan att behöva förstå HTML-strukturen. Men jag ändrar så vi fortfarande kan ändra MD-lättare utan kunna datamodellen. |
|
Ok Chrille har ni några fler specifika invändningar? |
|
Bloggsidan (/blogg) saknar Claude hittar dessa grejer: Sidan står sig bra: tydlig typografisk hierarki, konsekvent orange accent, luftig grid och en bra rytm mellan vitt → svart → ljusgrått → footer. Fem saker som drar ner den:
|
|
Ok fixat allt utom kontrasten på organge-texterna men jag har satt den till exakt samma färg som loggan. Dock är loggans färg lite för blek för att fungera på små texter. Men det tycker jag fungerar ändå. Det såg konstigt ut med mörkare orange på texterna jmf med loggan. I så fall får vi mörka ner loggan lite så den kontrasten ökar |
|
Fontstorlekarna i bloggen behöver ses över så att de får en logisk hierarki. Förslagsvis bör en ratio plockas ifrån exempelvis https://typescale.com/
Att jämföra med hur det ser ut idag:
|
…ent checks Layout and CSS - Blog: archive, year archive and article pages now use the same section spacing system (section-page / --section-flow-gap) as the other pages, and the blog article text is 18 px with the site's line height instead of 16 px. - Introduce shared tokens in base.scss (spacing scale, grid gap, card padding, radii, --line-strong, --on-dark-muted) and use them instead of loose pixel values. Cards, grids and radii that should match now do. - One circular arrow component (.card-arrow, .card-arrow-sm) and one shared card-title rule replace several near-identical copies. - Sections with their own background (soft, join, callout, dark, facts) and the sections next to them get the full section gap; padding overrides that never took effect (about-history, work-intro, ...) and unused rules (.year-nav, .archive-year, .archive-item-with-image, .card-number) are removed. - Smaller page and section headings (--text-page, --text-section). - Restore syntax highlighting for code blocks (styles/prism.scss); the new CSS had dropped the Prism theme. - Logo is an SVG again (orange variant of the original) instead of a PNG. SEO and accessibility - canonical, og:type/site_name/locale, twitter:card and a default og:image (_data/site.json); sitemap.xml, robots.txt and an Atom feed at /blogg/feed.xml. - Skip link, main landmark ids, scroll-margin for the sticky header and prefers-reduced-motion. - Alt text added to the 14 images that lacked it; one h1 per page; links to pages that never existed in old posts are now plain text. Build and content checks - scripts/image-attributes.mjs adds width/height and lazy loading to images at build time. - scripts/check-site.mjs (npm run check, also run in CI) fails on broken internal links or images, missing alt text and pages without exactly one h1. - scripts/post-defaults.mjs: a blog post can be a single Markdown file. The first "# heading" becomes the title and the first paragraph the excerpt; front matter still wins. README describes the new, shorter recipe. Not touched: the old SCSS/JS/templates from the previous design stay in the repo until we decide what to reuse. Text content is unchanged by this commit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Match the AI & maskininlärning page: the steps section is now a full grey band instead of a white section with grey cards. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The last sections of Teknikgranskning, Systemutveckling and AI & maskininlärning now look and space the same way. - Teknikgranskning: "Vad vi granskar" uses the numbered, grey steps section like the other two pages instead of the bordered grid. Six steps are laid out as two rows of three on wide screens. - Systemutveckling: the steps section is a full grey band, matching the AI page. - The number above each card is separated from its heading by --heading-gap, the same distance as an orange label and its heading elsewhere on the site. - Tighter spacing around the cards: --content-gap (24 px, 16 px on mobile) between a section heading and its cards, --grid-gap (12 px) between cards, and no leftover bottom margin on the last paragraph in a card. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Set the body font stack to "Helvetica Neue", "Segoe UI", Roboto, Helvetica, Arial. Mac keeps Helvetica Neue, Windows gets Segoe UI and Android gets Roboto, all of which have a light weight, instead of everything but Apple devices falling back to Arial in regular weight. The site loads no font files at all: it uses fonts already installed on the visitor's device. The previous site fetched Inter from Google Fonts on every page view. That is not recommended, since every visitor sends a request to a third party (a privacy concern) and it costs an extra request per page, and it also conflicts with our rule of using no external services. The trade-off is that the typeface differs slightly between platforms. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Jag har justerat nu så gott jag kunnat, ville inte att layouten ska se ut som i förra athega.se så jag har försökt få till en logisk hierarki. Även tagit bort uppslaget mot google för fonterna (pga integritetsskäl). Till exempel likadana sluttabeller på sidorna (gråa nu) Vi valde bort HTML-omslag runt Markdown (så gjorde vi tidigare eller hur?) och struktur i front matter /YAML Så det är Konventioner i Markdown, med korta sektionsanrop hoppas det är enklast för den som redigerar innehåll, och den kan gå åt andra hållet om underhållet av skriptet är viktigare. Vi kan också sektionstyperna till ungefär sex(en tredjedel), vilket gör DSL:n enklare utan att ändra hur filerna ser ut. Blogginlägg använder ingen av dessa. De är vanliga Markdown-filer i _posts/ där en fil räcker: första # rubriken blir titel och första stycket blir ingress om ingen front matter finns. Det gäller alltså ett fjärde sätt som är enklare eftersom inlägg bara är löptext. Saker som man borde titta på ... men jag är osäker om det måste göras nu. Två CSS- och mallsystem ligger bredvid varandra. Alla gamla SCSS-, JS- och mallfiler och oanvända bilder finns kvar i repot (layout.scss, home/.scss, jQuery, ai-lab.html, roles.html, intro-bg.). Orange text klarar inte kontrastkravet (3,02:1 mot vit, 2,63:1 mot grå; kravet är 4,5:1). Det påverkar alla etiketter, artikellänkar och orange text på grå bakgrund. Men vi kör på den. Stora filer, fem GIF:ar på 7–14 MB i gamla inlägg (totalt cirka 58 MB), och sajten väger 120 MB. Råkade committa beroenden i samma commit som layouten. js-yaml och liquidjs och en säkerhetsfix. finns mer..... |
|
Det viktiga för oss är egentligen att få en LLM baserad lösning så jag och tobbe väldigt lätt kan strutkurera om , byta innehåll , lägga till texter, sidor mm utan att behöva koda och skriva MD filer. Sen ska den vara Bra tekniskt, kodad rätt , fungerar på github-pages osv. Så vi får göra en avvägning mellan "perfekt" lösning tekniskt och enkelheten att kunna administrera förändringar genom branch och PR. Vi tar gärna förlag på andra sätt att göra det för att komma igång snabbt. |
|
Sammanställning från Codex-granskningen på Chrilles uppdrag: första granskningen av webbplatsen samt den efterföljande praktiska Astro-utvärderingen. Underlaget är commit Första granskningen: bra grund, men några konkreta åtgärder före publicering Eleventy, Liquid, Markdown och Sass fungerar bra för denna sajt och GitHub Pages. Designen är luftigare och mer sammanhållen, tjänsterna kommer före bloggen och baslayouten behöver ingen JavaScript-bundle. Gemensam navigation, automatiskt personalregister och uppdelade stilar är förbättringar. Verifierat:
Prioriterade fynd:
URL-bevarande: dagens adresser bevaras, äldre historik behöver kompletteras Inga gamla byggda sidor eller filer försvann i PR:n. Alla nio personprofiler finns kvar. Däremot ger följande äldre adresser redan 404 i produktion; motsvarande artiklar finns under
Även äldre Återställ relevant innehåll eller specifika alias. Komplettera URL-manifestet med tidigare sitemaps, egna historiska länkar och Search Console. GitHub Pages kan publicera genererade HTML-redirects, men en meta refresh är inte en HTTP 301. Behåll gamla adresser när det går och skicka inte alla borttagna sidor till startsidan. De fyra kontrollerade Layout, innehåll, SEO och bilder
Astro-utvärderingen: praktiskt genomförd, inte bara en teknikjämförelse Med förtydligandet att Mats och Tobbe ska redigera genom en LLM blir manuell Markdown-redigering ett mindre tungt kriterium. Jag byggde därför en separat prototyp med Astro 7.3.5 och Node 24:
Viktig avgränsning: Övriga 49 HTML-filer är kopierade från Eleventy-bygget som tillfällig övergång, liksom feed/sitemap. URL-resultatet är alltså inte bevis på en fullständig Astro-migrering. Dessa delar måste byggas om för att följa nya innehållsändringar. Befintlig kompilerad CSS återanvändes för att skilja teknikval från redesign. Redigeringstesterna fungerade: skapa artikel med bild, ändra tjänsternas ordning och lägga till ett kort utan ändrad renderingskod. En artikel utan titel stoppades av innehållsschemat och en okänd komponentvariant stoppades av typkontrollen. Citattecken i metadata escapades korrekt. Detta visar fungerande skydd, men är inte ett jämförande produktivitetstest med Mats/Tobbe eller olika LLM:er. Bildtestet gav en konkret vinst: startsidans tre original på cirka 538 kB ersattes vid visning av varianter på totalt cirka 12 kB på mobil och 39 kB på dator, vid DPR 1. Det gäller just bildfilerna, inte sidans totala vikt eller CWV. Eleventy Image kan ge motsvarande förbättring. Migreringskostnaden ligger i äldre Markdown Efter avstängd automatisk interpunktionsändring var normaliserad brödtext identisk i 136 av 142 artiklar. Sex får ändrad texttolkning, femton annan kodblocksstruktur och tolv ändrade länkar. Två canvas-id:n försvinner på en artikel eftersom markupen visas som kod i stället för element. Vissa skillnader förbättrar kodpresentationen, men behöver granskas som innehållsförändringar. Mustache-kod visas utan syntaxfärgning i den testade Shiki-konfigurationen. Ett utökat mobilstickprov hittade också en lång länk i HTMX/Mustache-artikeln som ger 417 px dokumentbredd vid 390 px viewport — samma problem i både Eleventy-PR:n och Astro-prototypen. Ett ramverksbyte löser inte CSS-fel. Rekommendation För snabbast möjliga lansering är befintlig Eleventy-lösning enklast. För det långsiktiga målet att ofta ändra sidstruktur genom LLM lutar rekommendationen åt Astro: standardkomponenter, validerat innehåll och etablerad bildhantering minskar behovet av egen specialkod. Astro ger inte bättre SEO automatiskt, och Eleventy kan också förbättras på dessa områden. Astro-installationen omfattade dessutom fler paket, cirka 272 mot PR:ns 142. Om Astro väljs bör migreringen vara en egen branch/PR med explicit URL- och innehållskontroll. Konvertera återstående sidor, personer, arkiv, feed/sitemap och SCSS-flöde; granska Markdown-avvikelserna; inför kontroll före merge och visuell preview. Prova därefter redaktörsflödet med Mats/Tobbe. Ingen Astro-version har publicerats och ingen migrationskod har pushats. Verkliga Core Web Vitals, sökdata och hela den historiska externa länkbilden har inte utvärderats. Officiellt underlag: Astro på GitHub Pages, Astro-komponenter, innehållssamlingar, bilder. |
…nifest gate
From the Codex/Astro review of this branch (Phase 0, contrast excluded — that
one is a deliberate design choice we're keeping):
- The two Optibbera pages (apps/optibbera/) had no layout at all: no <main>,
no page shell, and a skip link pointing at an id="main" that didn't exist.
They fell through to the bare "default" layout because their directory had
no layout.json, unlike every other content directory. Add
apps/optibbera/optibbera.json ({"layout": "page"}), the same pattern
roller/roller.json already uses.
- description/excerpt/title were written straight into meta content="..."
attributes without escaping, so a quote character in either would break the
tag. Escape all three in layout.html.
- Remove the 404 page's canonical tag (it pointed at /404, which isn't a real
address to canonicalize to); added a no_canonical front matter flag.
- The blog card excerpt dropped to 12px on mobile for no reason found in the
cards' own content; removed the override so it matches the 14px used
everywhere else the excerpt appears.
Checks, so these classes of problem are caught before merge instead of after:
- scripts/check-site.mjs now also resolves links written as "#fragment" or as
a full https://athega.se/... address (previously only bare root-relative
paths were checked), and verifies a linked fragment's id actually exists on
the target page.
- scripts/check-url-manifest.mjs builds the site as it looked at the merge
base with main and fails if any of those URLs are missing from the current
build, so a branch can no longer silently drop a page main already
published. Skips itself gracefully on main, or without network access to
origin.
- .github/workflows/ci.yml runs on every pull request against main: tests,
build, the link/image check and the new URL check. It has no deploy
permissions, unlike deploy.yml, which now also runs the test suite before
building.
- package.json: added "test" (node's built-in test runner over
scripts/*.test.mjs) and "check:urls".
Not done from that review, on request: the text contrast colours are
unchanged. The historic pre-2009-repo 404s (e.g. /2009/07/06/mongodb/,
/files/canvas_mirror.*) and the SEO/image/copy suggestions are separate,
larger pieces of follow-up work.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
firstParagraph() already skipped fenced (```) code, but not Markdown's older 4-space-indented form, which several pre-2010 posts use throughout. On /blogg/2009/05/06/railsconf-tisdag/ this meant an inline JavaScript example was picked as the meta description instead of being skipped, exactly as flagged in the Codex review. Verified in a real build: the page now falls back to the site's default description, since that post has no plain-text paragraph outside of raw HTML and code. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…them Several pre-2013 addresses for athega.se already 404 in production (flagged in the Codex review): the blog moved through at least three earlier platforms (a Blogger-style blog, a WordPress-style blog with author/category pages, and an even older 2008 company site) before this repo's history begins, so none of that URL history is recorded anywhere in the codebase itself. scripts/legacy-urls/ is a one-time pull of every path web.archive.org has ever seen for the domain (595 total), cross-checked against the current build and sorted into categories: 37 addresses that just need the /blogg/ prefix added (exact target already worked out), old monthly/yearly archive pages, blog posts that were apparently never migrated (including one from 2022, /blogg/2022/04/03/varan-teatern-aterupptar-samarbetet/, that looks lost rather than just renamed), pages for former employees, category/tag archives, and CMS/slide-export noise that isn't worth redirecting individually. This is reference material for a person to work from, not something the build reads: manifest.json (structured) and summary.txt (readable), both outside any path Eleventy turns into pages or copies to _site/. Not done yet: no redirects exist. Building them (as instant meta-refresh pages, since GitHub Pages can't do a server-side 301 for individual paths — Google treats a 0-second meta refresh almost as reliably as one) is the next step, and still needs a decision on the ~250 addresses that don't have an obvious target. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Verified with Google's own guidance before building this: an instant
(0-second) meta refresh is treated "almost as reliably" as a server-side 301,
which is what matters here since GitHub Pages can't do a real 301 for an
individual path (only for the whole apex/www domain). Redirecting is also
what Google explicitly recommends over leaving an old URL to 404 — it carries
over whatever ranking signal the old address had, rather than losing it.
- _data/redirects.json: {from, to, title} rows. redirects.html is a single
Eleventy pagination template that generates one stub page per row, at the
old address, with the meta refresh and a canonical pointing at the target.
Add a row to redirect another address; no new template needed.
- The 37 rows here are the "matches-current-post" entries from
scripts/legacy-urls/manifest.json: the article is still here, the old
address was just missing the /blogg/ prefix, so the target was already
known with certainty.
- The stub pages are excluded from all collections (so they don't end up in
sitemap.xml, which should only list the real, canonical addresses) and are
already skipped by npm run check's link/h1 checks, which ignore any page
containing a meta refresh.
Verified: all 37 build at the expected old path and redirect to a real post,
npm run check covers all 229 pages (192 + 37) with no problems, npm test still
passes, and npm run check:urls still confirms nothing from main is missing.
The remaining ~250 addresses in scripts/legacy-urls/ (unmigrated posts, former
employees, old company pages, archive listings) still need a decision each
before they can be redirected the same way.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The "archive-index" rows from scripts/legacy-urls/: monthly archive pages from two earlier blog platforms (Blogger-style /YYYY/MM/ and a later /arkiv/YYYY/M/ scheme), none of which have monthly archives on the current site. Each redirects to /blogg/<year>/ when that year archive exists, or to /blogg/ when it doesn't (all the 2008 pages, since the earliest post here is from March 2009). Fixed a bug in redirects.html while adding these: one of the 25, /2008_05_01_archive.html, is a literal .html file rather than a directory-style address like every row added so far, so appending "index.html" to it (as the permalink template unconditionally did) would have built it at the wrong, broken path. The permalink now branches on whether `from` already ends in ".html". Verified: all 62 redirects (37 from before + these 25) build at the exact old path with no permalink collisions, npm run check covers 254 pages with no problems, npm run check:urls still confirms nothing from main is missing, and sitemap.xml is unchanged (187 entries — the redirect stubs still correctly don't appear in it). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…screens
Two more findings from re-checking the Codex review against the current
build:
- /2009/03/08/sinatra-och-google-spreadsheet/ was one of the five dead URLs
the review named, and the article is still here (matches-current-post
pattern, same as the 37 already redirected) — but web.archive.org had never
crawled that bare-path variant, only the already-live /blogg/-prefixed one,
so my scripts/legacy-urls/ pull missed it. Added by hand; all five of the
review's named dead URLs now redirect.
- .article-body had no overflow-wrap, unlike card headings elsewhere in the
CSS. A bare URL written as a Markdown autolink (<https://...>) in the
HTMX/Mustache post renders as a link whose visible text is the full,
space-free address, which overflowed the article column on narrow screens —
confirmed by finding the exact 87-character string in that post's source.
Same fix pattern already used on card headings (overflow-wrap: break-word).
/files/canvas_mirror.{html,js} (also named in the review) has no trace in this
repo's history at any point — confirmed out of scope per "don't worry about
pages that aren't in main."
Verified: build, npm test (6/6) and npm run check (255 pages) all pass.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The blog has a /blogg/<year>/ page for every year 2009–2030, most with no posts yet. sitemap.xml already excluded years with no posts, but the pages themselves had no robots meta, so a search engine following a link to one (e.g. from the year navigation) could still index an empty page. eleventy.config.js: the set of years that actually have a post is now computed once, from the _posts/ filenames, and exposed as a `yearHasPosts` filter; sitemapPages reuses the same set instead of recomputing it. layout.html: a year archive page (year is only set on blogg/<year>/index.html) gets <meta name="robots" content="noindex"> when its year has no posts. Verified: 2027–2030 (no posts) get noindex, 2009 and 2026 (have posts) don't, build/npm test/npm run check/npm run check:urls all pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…blogg/ The new design never actually linked to a year archive (no year-nav UI was rebuilt for it), so blogg/<year>/ was orphaned: 22 pages nothing on the site pointed to, one post-grid template used only by them, and the noindex-for- empty-years fix from the previous commit existed solely to patch a symptom of keeping them around. blogg/<year>/index.html (2009–2030) and _includes/blog/index.html are removed. Every one of those addresses still works — each now redirects to /blogg/, which already lists every post in one grid — because main still serves them today (confirmed: blogg/2009/ and the rest are the same file in main's own tree), so removing them outright would have 404ed live production URLs. The 16 redirects added two commits ago that pointed old pre-2013 addresses at a year archive now point straight at /blogg/ instead, avoiding a redirect chain. Also removed as dead code, now that nothing sets `year` in front matter anywhere: the `yearHasPosts` filter and its postYears computation in eleventy.config.js, the year-archive branch of the sitemapPages collection, and the noindex block in layout.html added in the previous commit. Verified: build, npm test (6/6), npm run check (255 pages, all 22 new redirects resolve), and npm run check:urls (nothing from main missing) all pass. sitemap.xml no longer lists any /blogg/<year>/ address. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
lizell
left a comment
There was a problem hiding this comment.
Uppföljande granskning av 164b3c0
Granskning med Codex, publicerad på Chrilles uppdrag. PR:en är klart närmare att kunna släppas. Detta uppdaterar statusen i den tidigare granskningen.
Verifierat löst
- Description och Open Graph hanterar nu citattecken korrekt i det tidigare EPiServer-fallet.
- Det indenterade kodblocket hamnar inte längre i RailsConf-artikelns metadata; sidan använder nu beskrivningsfallback.
- Båda Optibbera-integritetssidorna har rätt sidstruktur och mål för hopplänken.
- Startsideskortens brödtext är nu 14 px på mobil, verifierat i Chromium.
- HTMX/Mustache-artikeln ryms nu på 390 px utan den tidigare horisontella scrollen.
- Kontroller körs på PR i GitHub Actions och är gröna.
- De fem tidigare utpekade artikellänkarna utan
/blogg/har omdirigeringar. - Canonical är borttagen från 404-sidan.
Lokalt passerar 6 tester, bygge, sidkontroll och URL-jämförelse. Alla 190 sid-URL:er som jämförelsen omfattar från main finns kvar som sida eller omdirigering. Jag kontrollerade separat samtliga 85 omdirigeringar: alla har befintliga mål och inga bildar kedjor. Mobilstickprov och två omdirigeringar verifierades även i Chromium.
Tre kommentarer vid berörda kodrader
- Kontrollera omdirigeringsmål i CI: en avsiktligt trasig omdirigering passerade sidkontrollen. Detta skulle jag fixa före merge.
- Behåll årsarkiv med innehåll: alla årsadresser skickas nu till hela bloggen, vilket tappar besökarens val av år. Detta är en rekommendation om användbarhet och URL-bevarande.
- Hantera query-parametrar i länkkontrollen: en giltig länk till
/blogg/?utm_source=reviewunderkändes i ett reproduktionstest.
URL:er och SEO
Arbetet med historiska adresser är en tydlig förbättring. Omedelbar meta refresh tillsammans med canonical är rimligt för den statiska publiceringen på GitHub Pages. Google behandlar omedelbar meta refresh som en permanent omdirigering: Googles dokumentation.
Vi kan däremot ännu inte säga att alla historiska adresser är räddade. Inventeringen i scripts/legacy-urls/summary.txt listar bland annat 40 äldre bloggadresser utan migrerad motsvarighet, plus andra kategorier som behöver bedömas. Det är äldre innehållsskuld, inte belagda nya bortfall i PR:en. Bevarande av dagens main och återställning av äldre adresser behöver följas upp separat.
Kontrast, innehåll och teknikval
Kontrastfrågan kvarstår: #ed702d ger cirka 3,02:1 mot vitt och 2,63:1 mot #efefef. Vanlig text behöver 4,5:1 för WCAG AA. W3C.
Det går att behålla Athega-orange #ff6600: använd mörk text på orange knappar, mörk länktext med orange markering och orange detaljer på mörka ytor. Orange #ff6600 mot #111315 ger cirka 6,34:1. Varumärkesfärgen behöver alltså inte bytas för att förbättra läsbarheten.
Layoutens övergripande uttryck är i stort sett oförändrat. Konkreta kundproblem och resultat skulle stärka startsidan mer än formuleringen ”experter på den senaste mjukvarutekniken”. Bildoptimering och innehållsförbättringar kvarstår också från förra granskningen.
Ändringarna stärker möjligheten att lansera med Eleventy. Den tidigare Astro-utvärderingen kvarstår som underlag för ett långsiktigt teknikval; denna uppdatering gör inget ramverksbyte nödvändigt inför lanseringen.
Prioritering: täpp till omdirigeringskontrollen, rätta query-hanteringen och behåll användbara årsarkiv. Kontrastfrågan kvarstår därefter tillsammans med förbättringar av bilder och innehåll.




Beskrivning:
Inför en ny design och uppdaterat innehåll för Athegas webbplats. Samtidigt förenklas strukturen så att texter, personal och återkommande komponenter blir lättare att underhålla manuellt och med LLM.
Webbplatsen fortsätter vara helt statisk med Eleventy, Liquid, Markdown och Sass, och publiceras via den befintliga GitHub Pages-processen. Inga nya paket, backendtjänster eller installationssteg tillkommer.
Ändringar
Verifiering under arbetet
Kvarvarande uppföljningar
För att bevara den nya designen har syntaxfärgning, årsnavigering/sidindelning, vissa dubbla artikelingresser och äldre bild-/iframeformat lämnats för separat hantering. Äldre oanvända komponenter finns delvis kvar och kan städas efter kontroll av referenser.