Installer og kjør applikasjonen lokalt:
npm install
npm run develop
Dette kjører applikasjonen uten NAV-dekoratøren. For å aktivere denne må du kjøre npm run start
, men da vil ikke autorefresh fungere ved kodeendringer..
For å bygge i production
kjører du:
npm run build
Start node-server på port 8080
med:
npm run start-express
Kjør tester
npm run test
React
: Rendering og logikkTypeScript
: TypesikringPrettier
: KodeformateringJest
: Akseptansetesting av XML-filer, oversettelser og mer.XML-filer
: Innhold i et egendefinert XML-format.Node
: Applikasjon for å serve appen, bruker Express- Setter på dekoratøren ved oppstart, sender komprimerte (gzip) ressurser til brukeren på forespørsler.
Inngangssidene består av teksttunge seksjoner som også inneholder mange spesialbygde, grafiske komponenter. Tekstene skal være enkle å endre for utvikleren, men også nogen lunde lett å redigere for ikke-tekniske. For å oppnå denne fleksibiliteten har vi separert tekstene fra resten av React-applikasjonen. Disse er kodet i XML-format (se src/content
) og tolkes hos klienten ved hjelp av en XML-to-React-parser. Tekstfilene er strukturert i mapper basert på siden de tar del i, med én fil per språk. Filene er navngitt i kebab-case.
Alle XML-filene er omgitt av en <innhold>
-tag. Denne kan inneholde <avsnitt>
, <liste>
eller <lesmer>
. Alle tags kan ta inn class
-attributtet (string) som kan brukes til egendefinert CSS-styling.
-
<avsnitt>
- Bruker NAV-frontend sin Typografi-komponent
- Tar inn en valgfri attributt
type
som korresponderer med TypografiBase sin "type"-prop (default: 'normaltekst')
-
<liste>
- Forventer en
<punkt>
-tag for hvert punkt i listen. - Tar inn en valgfri attributt
tag: ul | ol
(default: ul)
- Forventer en
-
<lesmer>
- Rendrer til et Ekspanderbartpanel eller et Lesmerpanel hvis attributten
liten="true"
. - Krever attributten
intro: string
- Kan inneholde andre tags som
<avsnitt>
,<liste>
osv.
- Rendrer til et Ekspanderbartpanel eller et Lesmerpanel hvis attributten
-
<lenke>
- Rendrer til en a-tag med NAV-frontend-stil
- Krever attributten
url: string
- Tar inn et valgfri attributt
ekstern: boolean
-
Andre tags
<b>
: Fet tekst<i>
: Kursiv tekst
<innhold>
<avsnitt type="undertittel">Dette er en innholdsfil!</avsnitt>
<avsnitt>Dette blir tolket som et avsnitt med riktig typografi fra NAV-frontend</avsnitt>
</innhold>
Avansert eksempel: Se (src/content/dokumentasjon/dokumentasjon.xml.
Det er lagt inn tester (npm run test
) som prøver å tolke XML-filene med parseren og sier i fra om det skjedde noe galt.
Spørsmål knyttet til koden eller prosjektet kan rettes mot [email protected].
Interne henvendelser kan sendes via Slack i kanalen #bris.
This project uses Streamline Icons. If you use nav-frontend-moduler in your project please adhere to the Streamline Icons license agreement