0.63
Added
- Migrated Squarespace blog posts
digital-tvilling,dynamics-365-guides,spot-fra-boston-dynamics, andmeta-quest-2with colocated local media and migration reports.
Alle bygge-endringer som commitet til github dokumenteres her.
digital-tvilling, dynamics-365-guides, spot-fra-boston-dynamics, and meta-quest-2 with colocated local media and migration reports.hva-er-ar-utvidet-virkelighet, automatsjonelever-polarsirkelen, apple-vision-pro, meta-quest-pro, and chatgpt-40 with colocated local media and migration reports.grunderpitching, forskningsdagene, besk-fra-kvn-nesna, xr-helseteknologi-og-namsos, and midjourney-hvor-vil-du-idag with colocated local media and migration reports.nordland-fagskole, helseteknologidagen, siktvisualisering-med-digital-tvilling, 3d-printer-for-massene, and brekraftsanalyse-og-digital-tvilling with colocated local media and migration reports.gjesteforelesning-human-anatomy-vr, elever-paa-utplassering, workshop-med-fagnettverk-im, inspirerende-dag-med-sandnessjen-vgs, and nordic-vr-forum with colocated local media and migration reports.digital-tvilling-albania, eitri-bergen, hvordan-treffer-teknologi-og-digitalisering-lreplanen, sandnessjoen-vgs-runde-to, and stundentkveld-hos-techlab with colocated local media and migration reports.techlab-p-hadsel-vgs, hvordan-bruke-vr-til-eksponeringsterapi-og-arbeidstrening, bytes-amp-bagels, helse-og-ambulansefag, and 2-elektro-workshops with colocated local media and migration reports.smart-city-konferanse-vlore, besk-av-kvn-nesna, studentkveld-for-hele-campus-helgeland, faglig-og-sosial-samling-med-studentene-fra-master-i-teknologiledelse, and administrasjon-fra-polarsirkelen-vgs with colocated local media and migration reports.vlore-smart-city, neso-hstmte-2024, heygen-ai-translate, mer-bytes-and-bagels, and fulldagsworkshop-med-fornix-vr with colocated local media and migration reports.hospitering-fra-videregende, sandnessjen-vgs-tif-og-tip, yngre-personer-med-demens, nordic-vr-forum-2024, and rask-prototyping-med-nord-universitet with colocated local media and migration reports.null, such as nullvisjon, while still catching actual placeholder values.rana2040-tech-it-or-leave-it, driv-karriere-tar-i-bruk-vr, 2025s-frste-bytes-and-bagels, ebu-klassen-p-kvn-nesna, and vg2-industriteknologi with colocated local media and migration reports.fylkeskommunen-hos-techlab, bruk-av-ki-i-byggemter, vg2-ambulansefag-fra-sandnessjen, tech-team-building, and kurs-i-prosjekthotell with colocated local media and migration reports.bedre-bilder-i-chatgpt with colocated local media and migration report.ki-workshop-p-nord-universitet with colocated local media and migration report.bytes-and-bagels-sommer-2025 with colocated local media and migration report.package.json by +0.01, prepend a matching top CHANGELOG.md entry, and include both files in the article commit automatically.+0.01 version bump in package.json and a matching top CHANGELOG.md entry for every migrated article commit.nextPageOffset so the full blog archive is discovered beyond the first "more" page.techlab.no to www.techlab.no when DNS lookup fails.photo-2.jpg.urlId validation, existing-slug protection, duplicate media filename checks, colocated migration reports, and local render/media verification before commit.npm run migrate:verified command for one-post verified migrations that builds, previews /blog/<slug>, creates one local Git commit per accepted post, and never pushes.npm run test:migrate fixture suite covering source validation, Astro-compatible frontmatter, image/caption/embed cleanup, dry-run behavior, and unsafe Git preflight refusal.404.astro page with direct links back to the main content paths./om-oss → /om redirect and Astro ClientRouter navigation with page-load-safe reveal/relative-time scripts.scripts/migrate-squarespace.js is now a thin CLI wrapper around a testable migration core while preserving existing migrate, migrate:dry, --slug, --limit, --skip-images, and --verbose usage./kategori/strategi link.cases collection references from launch scope.src/styles/tokens/radius.css — flattened the entire radius scale to 0 for a squared design language sitewide. Token names preserved so consumers keep working; re-introduce softness later by editing this file only. --radius-full kept at 9999px so intentional circles (avatars, dot indicators, decorative blur blobs) still render round.tailwind.config.ts — daisyUI --rounded-box, --rounded-btn, --rounded-badge, --tab-radius set to 0 to match.src/components/TerminalReadout.astro, src/styles/sections/home.css — removed hardcoded 10px radii that bypassed tokens.src/styles/tokens/color.css — raised the ink scale opacity floors so secondary/meta copy reads clearly against #0a0908: --ink-2 0.70 → 0.88, --ink-3 0.55 → 0.72, --ink-4 0.40 → 0.55. Every component aliasing through --text, --muted, --color-text-secondary, --color-text-light, --color-text-muted, --badge-ghost-ink, --badge-meta-ink, and --color-kicker-text inherits the lift.src/styles/components/article.css — promoted body roles to readable defaults on long-form subpages: ledes → --ink-2, list items → --text, inline-display paragraphs → --text, table cells → --text, body links → --ink-2. Captions and meta stay dim but at the new higher floor.inspo/techlab_hero_cyan_grain_v3.html. New direction: atmospheric warm-black background with blurred cyan/red/gold gradient blobs + SVG grain, editorial sans + italic serif accent, pill CTAs, glass cards.src/styles/tokens/color.css — replaced neon-lime accent with cyan/gold/red gradient triplet (--accent-cyan, --accent-gold, --accent-red, --grad-accent). New warm #0a0908 base, glass surfaces, hairline lines. Legacy aliases (--neon, --color-primary, etc.) remapped so older CSS still resolves.src/styles/tokens/type.css — swapped Saira Condensed / DM Sans for Inter Tight (sans + display) and Instrument Serif (italic-only editorial accent). Added .serif-italic utility with gradient text-clip + fallback.src/styles/tokens/radius.css — --radius-pill is now 100px; added --radius-card (10px).src/styles/base/reset.css — removed legacy global border-radius: 0 !important so pill buttons and rounded cards render.src/styles/base/typography.css — heading ramp rebuilt around the new sans (weight 500, negative tracking, mixed case by default).src/layouts/BaseLayout.astro — Google Fonts swapped; injected three blurred radial blobs + SVG fractal-noise grain into .site-bg; 56px white grid in .site-grid.src/styles/layout/shell.css — new .site-bg__blob--* styles, body[data-atmosphere="hero"] opt-in for denser hero pages, header restyled with frosted glass and LAB ONLINE status dot.src/styles/components/button.css — pill primary (white) with built-in →, frosted glass secondary, ghost variant.src/styles/components/badge.css — pill radius + blur, cyan glowing dot.src/styles/components/card.css, panel.css, hero.css — glass surfaces (10px radius, hairline border, 12px blur), gradient hover rule, editorial typography.src/components/TerminalReadout.astro — glass surface; bar palette switched from lime to cyan/gold/red.src/components/layout/Header.astro — added LAB ONLINE status dot row.src/pages/index.astro and src/styles/sections/home.css — homepage hero rebuilt to mirror the inspo: mono eyebrow, big sans h1 with italic-serif gradient "kunstig", lede, pill CTA pair, terminal + stats split.src/components/VibeKodeHero.astro and src/styles/components/vibekode.css — retired the lime-glow VibeKode hero. Removed imports and special-case branches from src/pages/index.astro, src/pages/events/index.astro, src/pages/events/[slug].astro, and src/styles/index.css. The laer-deg-vibekode course now uses the standard ContentCard treatment.README.md — design system section rewritten for v0.40 (token files, new typography table, color tokens, atmosphere layer, pill CTAs, homepage hero composition).src/styles/components/hero.css — made shared underside heroes an explicit vertical, left-aligned stack with constrained text width.src/components/listing/FilterStrip.astro and src/styles/components/filter-strip.css — clarified filter chip counts, matched inactive borders to text color, added stronger hover feedback and kept the active chip fully neon with --color-on-primary text while preserving existing filtering behavior.README.md — documented the shared listing hero and filter strip conventions.src/components/SEO.astro — removed hardcoded noindex,nofollow meta tag that was blocking all search engine indexing. Now respects the noindex prop (defaults to index,follow).astro.config.mjs — production site URL set to https://www.techlab.no (was https://dev.techlab.no), so canonicals, sitemap, RSS and OG image URLs resolve to the live host.src/pages/kontakt.astro — replaced placeholder form and cal.com/placeholder booking link with a clean mailto card pointing at kay@techlab.no.public/robots.txt pointing at the generated sitemap index.apple-touch-icon link in BaseLayout.astro (reuses /logo_square.png).AGENTS.md — reconciled the "No Tailwind" non-negotiable with the v0.35 adoption of Tailwind v4 + daisyUI.src/components/TerminalReadout.astro — animated CRT-style terminal panel in hero right column. Typing lines, pulsing bars with randomised speeds, live article count from collections. Purely CSS/JS, respects prefers-reduced-motion. Hidden on ≤768px.src/styles/tokens.css — new design token file with dark editorial palette (#0B0B0D bg, #CAFF00 neon lime, Saira Condensed + DM Sans + JetBrains Mono), overrides old teal/gold system via cascade.border-radius: 0 !important).letter-spacing: 0.08em, h3–h6 mixed case. Article and post titles mixed case.var(--f-mono) (JetBrains Mono).--font-size-xl (24px) → --font-size-md (18px).text-transform: lowercase.backdrop-filter: blur(12px) and border-bottom: 1px solid var(--line).src/content/posts/vr-for-medikamenthndtering/index.mdx with local media.public/videos/posts/vr-for-medikamenthndtering/ (.mp4, .webm, poster image).scripts/postbuild-webp.mjs) to fix rewritten video MIME types (video/webm when source is .webm).src/pages/blog/[slug].astro for clearer visibility and interaction.@ffmpeg-installer/ffmpeg to devDependencies (merged from feature/build-webp-optimization).@tailwindcss/vite Vite plugin.tailwind.config.ts added as theme reference (not active in v4 without @config).variables.css: --color-base-100/200/300, --color-base-content, --radius-selector/field/box — dark theme applied via cascade override.astro.config.mjs: added @tailwindcss/vite to vite.plugins.src/styles/global.css: prepended @import "tailwindcss" and @plugin "daisyui".src/styles/variables.css: fixed --void-* colour values (were incorrectly set to primary teal), set --color-secondary to gold (#e5a31a), added daisyUI bridge vars.nordic-bridge to folder-based post structure with colocated media:src/content/posts/nordic-bridge/index.mdx./*.jpg|png)heroImage support to posts collection schema for local, colocated hero media.scripts/migrate-squarespace.js) to:urlId (no generated fallback slugs)src/content/posts/<slug>/index.mdx./...> blocksheroImage in frontmatter for local featured images.../index slugs.heroImage and fall back to legacy image.laer-deg-fusion-360 in src/content/courses/courses-2026-06-laer-deg-fusion-360/ with local media (Fusion360.png).Kommende kurs./events list is now sorted by ascending date so the earliest course appears first (top-left).heroImage directly via Astro image entries (no hero filename resolver logic).courses-2026-03-laer-deg-vibekode -> ./course-vibekoding.svgcourses-2026-03-ki-strategi -> ./course-strategi.svgLær med oss) and card media to square 1:1 format.ki-som-motereferent-beslutninger-ikke-bare-tekst with local hero image.heroCaption in content schemas (knowledge, news, tools, base schema).kunnskap, nyheter, verktoy, events, case).figure/figcaption styling in article content.adobe-firefly and chatgpt tool content and supporting media.KIwebpage2 image in hvordan-bygge-nettside-med-ki.canva tool entry and local media from src/content/tools/canva/.mikael123 merge scope: kept only new tool content under src/content/tools/*.src/pages/kunnskap/index.astro, src/pages/verktoy/index.astro, src/styles/global.css, and extra public/images/tools/* icons).origin/mikael123 into main to bring in the expanded AI tools catalog and listing updates.docs/templates/event-template.mdxlaer-deg-vibekode with new course hero placeholdervelger-bort-drommestudiet-kiVibeKodeHero component for the vibekode visual treatmentOppdatert X siden) site-wide via BaseLayout with server fallback textnews, knowledge, tools, events, cases, blog) to support dynamic relative-time renderingupdatedAt timestamps across tools and knowledge content for consistent metadata behavior/events listing to use VibeKodeHero on the vibekode course card, and custom hero on the vibekode course detail pageLær deg å vibekode! workshop entry and matching folder/slug structure/nyheter card hover styling to warning-color border/title behavior.article-contentupdatedAtindustribedrift-reduserte-ventetidki-strategi-for-ledere course as draft so it no longer renders in /eventsmidjourney tool entry with updated positioning, pricing, tags, rating rationale, and expanded editorial assessmentkaytomas* assets), displayed in a two-column layoutnotice CTA block on Midjourney tool page content.tool-gallery-grid, .tool-gallery-image)Kontakt, Produkter, RessurserKontakt ossCase from footer product linksVerktøy and NyheterTechlab bygger bro...)Produkt, Ressurser, and Kontakt inside a shared rounded containerGithub / Changelog with dedicated right/left alignment behavior per breakpointprimary/secondary) with matching scale animation and focus handlingArticleCTA component (src/components/ArticleCTA.astro) with default notice text and CTA actionsknowledge and news collections:ctaText for per-article CTA text overrideshowDefaultCta to disable default CTA rendering/kunnskap/oppslag/* and /kunnskap/nytt/*) using shared componentArticleCTA as an MDX component in kunnskap pages for in-body placement when neededhvordan-bygge-nettside-med-ki with custom CTA notice text.notice text size for better readabilityRelatedItemCard fully clickable by converting entire card container into the link targetvar(--spacing-2) across desktop and mobilegoogle-antigravity and vercel with local media assetsRelatedItemCard for inline related cards in articles (tools and knowledge)src/utils/date.ts for consistent publish/updated formattingdocs/templates/tool-template.mdxKI-Sprint to KI-kartlegging in user-facing copy (kept existing /ki-sprint route)hvordan-bygge-nettside-med-ki tools section, including inline related cards for Codex CLI and Google Antigravityalternatives and/or comparableTools is explicitly setKay Tomas Fagverik Bertheussen in content and schema defaultsOppdatert shown as relative time (minutter/timer/dager siden)tool-related-item to related-itemREADME.md with current tools workflow, relation behavior, and inline MDX card usagexr-vr-ar-hva-er-forskjellen with local hero/media assetshvordan-bygge-nettside-med-ki with local hero/media assets and tool linkskunnskapsdatabase in section title.article-content to match site quote style (warning border + larger quote text)AI (removed duplicate KI/AI overlap in article tags and removed lip-sync tag from HeyGen article)Book møte / Book samtale) now share the same warning-outline style across header and page sectionsKI and AI resolve to the same tag index and route (/tag/ai with alias /tag/ki)Verktøy headingtools content collection with practical schema for pricing text, free/trial/API flags, rating source, website link, alternatives, media, status, and publish/update datessrc/lib/tools/ (types, repository, content-repository, filter, search) to keep a stable data-access contract for future DB migration/verktoy with client-side search/filter (query, category, price mode, rating threshold, API, tag)/verktoy/[slug] with info segments, website link, alternatives/comparables, and related knowledge entriesknowledge schema with tools: string[] for stable tool-to-article linkingai-videooversettelse article to heygen-ai-translateVerktøy to primary header navigation.pill + .tag) with shared square shape, token-based colors, border, and subtle warning glow.pill pattern across homepage and listing hero sectionsKI / Strategi inline links, new signature copy, external links for GitHub/Astro/Vercel, and explicit changelog line/kurs route to /events (labels remain "Kurs" in navigation)--font-size-xl--font-size-xl.text-cta reusable class for inline text links with underlinelogo_square.pngnoindex,nofollow for dev environmentdev.techlab.no for dev/staging.tag) now uppercaseheight: auto)index.mdx + local images)claude-opus-4-6claude/kunnskap/nytt/[...slug] and /kunnskap/oppslag/[...slug]knowledge and news to support publishedAt, topic, status, and heroImage via Astro image() helper/kunnskap listing to combine knowledge + news sorted by publishedAtkay@techlab.no and 93237754Halvor Heyerdahls vei 31, Mo i Rana, Norge/rss.xml)style-overhaul updates into mainom-oss page and dynamic tjenester/[slug] pagesAGENTS.md/changelog rendering so entries are parsed into readable sections and bullet lists/changelog typography and contrast for better readability of commit contentsmain branch/utleie listing page and /utleie/[slug] detail pagessrc/content/hardware with images in public/images/utleieUtleiepraksisplass-p-techlab-2025 into src/content/posts with local images in public/images/posts/praksisplass-p-techlab-2025--slug=SLUG in the Squarespace migration scriptsrc/pages/index.astro into src/styles/home.css and imported them from global styles// with secondary color.tina/ configuration from the projecttinacms, @tinacms/cli)npm run dev -> astro dev)/nyheter) and article pages (/nyheter/[...slug])src/content/news/blog) with responsive card grid/blog/[slug]) with:/blog (single 'g') instead of /blogglogo_big.png image instead of text.link-nav class in global.css for consistent navigation stylingscripts/migrate-squarespace.js)--dry-run, --limit=N, --skip-images, --verbosenpm run migrate - Run full migrationnpm run migrate:dry - Preview without writing filespublic/images/posts/[slug]/ directoriessrc/content/posts/ as MDX files/techlab to root /techlab.no/src/content/ - Content collections/src/components/ - Reusable components/src/layouts/ - Page layouts/src/styles/ - Global styles/public/ - Static assets/.tina/ - TinaCMS configurationBaseLayout.astro - HTML foundationPageLayout.astro - Standard page wrapperHeader.astro - Navigation with mobile menuFooter.astro - Site footer with linksindex.astro) with sections:.env.example)reset.css - CSS resetvariables.css - Design tokensglobal.css - Base styles