Hos Look Scanned forbedrer vi kontinuerlig infrastrukturen vår for å tilby bedre dokumentasjon og sikrere utviklingspraksis. I dag er vi glade for å dele detaljer om en betydelig oppgradering av How-To-dokumentasjonssiden vår: migrering fra en tilpasset Vue + Vite-applikasjon til VitePress, samtidig som vi styrker CI/CD-sikkerheten vår med npm Trusted Publishers.

📚 Hvorfor vi migrerte til VitePress

How-To-dokumentasjonssiden vår (github.com/lookscanned/how-to) fungerer som den omfattende bruksguiden for Look Scanned. Selv om det tidligere Vue + Vite-oppsettet vårt fungerte bra, innså vi at VitePress ville være et bedre valg for en innholdsdrevet dokumentasjonsside.

Hva er VitePress?

VitePress er en statisk nettstedgenerator spesielt laget for dokumentasjon. Bygget oppå Vite og Vue 3 kombinerer den det beste fra begge verdener: lynrask utvikleropplevelse med kraftige dokumentasjonsfunksjoner rett ut av boksen.

Sentrale fordeler ved migreringen

🎯 Bedre arkitektur for dokumentasjon

  • Filbasert routing: Hver markdown-fil blir automatisk en side, noe som gjør innholdsorganisering intuitiv
  • Innebygde dokumentasjonsfunksjoner: Innholdsfortegnelse, søk, internasjonalisering og mer kommer ferdig konfigurert
  • Statisk nettstedgenerering: Forhåndsrendret HTML gir utmerket SEO og øyeblikkelig sidelasting

⚡ Forbedret utvikleropplevelse

  • Umiddelbar varm omlasting: Endringer vises umiddelbart under utvikling
  • Markdown først: Fokus på innhold, ikke komponentoppsett
  • Støtte for Vue-komponenter: Ved behov kan vi fortsatt bruke tilpassede Vue-komponenter inne i markdown

🔧 Enklere vedlikehold

  • Klarere struktur: Dokumentasjonen følger konvensjoner, noe som reduserer kognitiv belastning for bidragsytere
  • Mer stabile bygg: VitePress' meningssterke struktur gir mer reproduserbare bygg
  • Bedre samarbeid: Teammedlemmer kan bidra med dokumentasjon uten dyp Vue-kunnskap

🔒 Forbedret sikkerhet med npm Trusted Publishers

Sammen med VitePress-migreringen innførte vi en kritisk sikkerhetsforbedring: npm Trusted Publishers med OIDC-autentisering.

Problemet med tradisjonelle npm-tokener

Tidligere krevde publisering av pakker til npm at man lagret en langlevd NPM_TOKEN i repository-hemmeligheter. Denne fremgangsmåten har flere ulemper:

  • Sikkerhetsrisiko: Tokener kan ved et uhell bli eksponert eller kompromittert
  • Forvaltningskostnad: Tokener krever manuell rotasjon og oppdateringer
  • Revisjonsutfordringer: Vanskelig å spore hvem som publiserte hva og når

Løsningen: OIDC-basert betrodd publisering

npm Trusted Publishers utnytter OpenID Connect (OIDC) for å muliggjøre sikker, tokenfri publisering direkte fra GitHub Actions. Slik fungerer det:

  1. Ingen lagrede hemmeligheter: I stedet for å lagre tokener ber GitHub Actions om kortlevde legitimasjoner fra npm
  2. Identitetsverifisering: npm bekrefter at publiseringsforespørselen kom fra det autoriserte GitHub-repositoriet
  3. Automatisk legitimasjonshåndtering: Legitimasjoner utstedes automatisk og utløper raskt

Fordeler i praksis

Denne endringen gir umiddelbare forbedringer i utviklingsarbeidsflyten vår:

  • Ingen mer tokenforvaltning: Ikke lenger behov for å opprette, lagre eller rotere npm-tokener
  • Redusert angrepsflate: Kortlevde legitimasjoner minimerer eksponeringsrisikoen
  • Bedre sporbarhet: Hver publiseringshandling er koblet til en spesifikk GitHub Actions-kjøring
  • Moderne beste praksis: I tråd med prinsippene for nulltillit-sikkerhet

Teknisk merknad: For å støtte npm Trusted Publishers oppdaterte vi CI-konfigurasjonen vår til å bruke Node.js lts/*, slik at vi har den nyeste npm-versjonen som kreves for OIDC-autentisering.

📦 Tidslinje for utgivelser

Migreringen ble fullført gjennom tre utgivelser 19. desember 2025:

  • v2.0.0: Kjernemigrering fra Vue + Vite til VitePress (brytende endring)
  • v2.0.1: CI-fiks for å støtte npm Trusted Publishers med riktig Node.js-versjon
  • v2.0.2: Ytelsesforbedring ved å flytte @fontsource/noto-mono til devDependencies

🌍 Fortsatt flerspråklig støtte

En viktig merknad: How-To-dokumentasjonen vår genererer flerspråklige PDF-er som alltid har blitt brukt som eksempelfiler i hovedapplikasjonen Look Scanned (tilgjengelig på lookscanned.io/en/scan). Denne VitePress-migreringen endrer ikke den funksjonaliteten — den gir rett og slett et bedre fundament for å vedlikeholde og forbedre dokumentasjonsinfrastrukturen vår.

💡 Hva dette betyr for brukere

Hvis du bruker Look Scanneds dokumentasjon:

  • Samme tilgang, bedre opplevelse: Dokumentasjonen ligger fortsatt på samme URL, med forbedret lasting og navigering
  • Mer pålitelig: Statisk nettstedgenerering betyr raskere lasting og bedre stabilitet
  • Bedre søk og oppdagelse: VitePress' innebygde søk hjelper deg å finne svar raskere
  • Fortsatt PDF-støtte: Flerspråklig PDF-generering fortsetter som før

🚀 Hva som kommer videre

Med infrastrukturoppgraderingen fullført, retter vi nå fokus mot innholdsforbedringer:

  • Utvidede bruksområder: Flere praktiske eksempler og steg-for-steg-guider
  • Konsistensforbedringer: Forfining av flerspråklig terminologi for klarhet
  • Forbedret PDF-eksport: Bedre PDF-genereringsopplevelse på tvers av nettlesere

Prøv Look Scanned i dag

Look Scanned tilbyr nettleserbaserte, personvernsfokuserte PDF-skanneeffekter uten å laste opp filene dine noe sted. Den forbedrede dokumentasjonen gjør det enklere enn noensinne å komme i gang.

👉 Besøk lookscanned.io for å oppleve rask, sikker dokumentskanning i nettleseren din.