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:
- Ingen lagrede hemmeligheter: I stedet for å lagre tokener ber GitHub Actions om kortlevde legitimasjoner fra npm
- Identitetsverifisering: npm bekrefter at publiseringsforespørselen kom fra det autoriserte GitHub-repositoriet
- 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-monotil 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.