---
ssb: 
  path: /utdanning/grunnskoler/statistikk/elevar-i-grunnskolen/artikler
  title: "Hovedtittel for artikkelen"
  authors:
      - name: Fornavn Etternavn
        email: ---@ssb.no
      - name: Fornavn Etternavn
        email: ---@ssb.no
  ingress: |
      Ingress for artikkelen,
      som kan skrives over flere linjer.
---
Dette er en SSB-artikkel skrevet med Quarto Markdown. 

Neste steg:

1. Sjekk at du er logget inn i CMS-et: {{ cms_admin_url }}/tool/com.enonic.app.contentstudio/main.

2. Det er gitt et eksempel på CMS-mappe i feltet `path` ovenfor. Endre denne til CMS-mappen du ønsker å opprette artikkelen i. Dette må være en mappe du har skrivetilgang til.

3. Kjør kommandoen `poetry run ssb-pubmd preview {{ filepath }}`. 
   
   * Dette vil opprette en draft-artikkel og printe URL'en til en forhåndsvisning av artikkelen. 
   * Kommandoen fungerer tilsvarende som `quarto preview`, det vil si at forhåndsvisningen holdes oppdatert etter hvert som du endrer og lagrer denne filen.****
   * Du må oppdatere nettleservinduet for å se endringene.
  
4. Les seksjonene nedenfor for en kort introduksjon til skriving av SSB-artikler i Quarto Markdown.

## Artikkelmetadata

Metadata-blokken øverst viser all metadata som kan settes for en artikkel.
Dette er noe begrenset i testversjonen, men vil senere være komplett.
Merk at `path` og `title` er obligatoriske felt.


## Markdown

Se [Quarto-referansen](https://quarto.org/docs/authoring/markdown-basics.html). Merk at:

* Hovedoverskrift (`#`) støttes ikke, og skal settes i metadatablokken.

## Kode

Se [Quarto-referansen](https://quarto.org/docs/computations/python.html). Merk at: 

* Ingen kodeblokker eller output vil komme med i artikkelen. 
* [Kode i teksten](https://quarto.org/docs/computations/inline-code.html) støttes. Koden vil evalueres og erstattes med tekst før artikkelen sendes til CMS'et.
* All kode må kunne kjøres fra topp til bunn.

## SSB-komponenter

I testversjonen tilbys et begrenset utvalg SSB-komponenter.
Komponentene opprettes med Python og settes inn med Markdown.

### Opprette komponenter

Importér Python-pakken:

```{python}
import ssb_pubmd as ssb
```

Kodeblokkene nedenfor viser opprettelse av to komponenter; et highchart og en faktaboks:
```{python}
import pandas as pd
data = {
    "År": [
        2000, 2001, 2002, 2003, 2004,
        2005, 2006, 2007, 2008, 2009,
        2010, 2011, 2012, 2013, 2014,
        2015, 2016, 2017, 2018, 2019
    ],
    "Andel": [
        4, 3.3, 4.7, 5.6, 7.2,
        6.7, 7, 7.3, 7.6, 7.7,
        7.7, 7.6, 8, 8.6, 9.4,
        10, 10.3, 10.7, 11.3, 11.7
    ]
}
df = pd.DataFrame(data)

ssb.Highchart(
    key="my-highchart",
    title="Highchart title",
    dataframe=df,
    graph_type="line",
    xlabel="my_xlabel",
    ylabel="my_ylabel"
)
```

```{python}
ssb.Factbox(
    key = "my-factbox",
    title = "Factbox title",
    display_type = "default")
```

Dokumentasjon: (link kommer).
  * For å se alle funksjonene som tilbys, skriv `ssb.` på en kodelinje og tast `Ctrl + Space` (VSCode) eller `Tab` (Jupyterlab).
  * VSCode: Dokumentasjonen til funksjonen vises automatisk i en popup-boks når man hovrer over funksjonen.

### Sette inn komponenter

Når du kjører en av kodeblokkene ovenfor, vil det printes en Markdown-snippet som kan kopieres og limes inn på en ny linje:

::: { #my-highchart .ssb }
:::

Merk at faktabokser settes inn med innhold:

::: { #my-factbox .ssb }

Faktaboksens tekst skrives her med Markdown-syntaks.

### Underoverskrift

Ny paragraf.

:::


## Synkronisering

Etter å ha synkronisert denne filen til CMS'et, vil du se en ekstra fil i Dapla-tjenesten:

```
{{ project_folder }}/
├── {{ filename }}
├── .ssbno.json
```

Metadatafilen `.ssbno.json` er automatisk generert og inneholder metadata for den tilhørende CMS-artikkelen. Merk at:

* Dersom `.ssbno.json` slettes, vil en ny CMS-artikkel opprettes ved neste synkronisering.
* Dersom man jobber med to separate SSB-artikler, skal disse ligge i hver sin mappe, slik at de har hver sin metadatafil.

