---
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. Logg deg inn i CMS'et: {{ cms_admin_url }}.

2. Endre feltet `path` ovenfor til ønsket CMS-mappe, og sjekk at du har skrivetilgang til mappen.

3. Kjør kommandoen `poetry run ssb-pubmd preview {{ filepath }}`. 
   
   * Dette vil opprette en draft-artikkel og printe en forhåndsvisningslink.
   * Forhåndsvisningen oppdateres når du endrer og lagrer denne filen (du må imidlertid oppdatere nettleservinduet).
  
4. Under følger en kort introduksjon til skriving av SSB-artikler med Quarto Markdown.

## Artikkelmetadata

Metadatablokken øverst viser all artikkelmetadata som kan settes i denne versjonen av `ssb-pubmd`. 

* `path` og `title` er obligatoriske felt.


## Markdown

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

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

## Kode

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

* Ingen kodeblokker eller kjøreresultater 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 denne versjonen tilbys to SSB-komponenter; highchart og faktaboks.
Komponentene opprettes med Python og settes inn med Markdown.

### Opprette komponenter

Vi importerer først `ssb_pubmd` sammen med andre nødvendige pakker:

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

(I dette eksempelet brukes `pandas`; sørg for at det er installert med `poetry add pandas`, eller `poetry add "pandas<3"` for eldre Python-versjoner.)

Kodeblokkene nedenfor viser opprettelse av to komponenter.
Ved kjøring av kodeblokken printes en Markdown-snippet som kan kopieres og limes inn på ønsket sted i teksten.
```{python}
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="My 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 for opprettelse av komponenter:

```{python}
ssb.Factbox?
```

```{python}
ssb.Highchart?
```

### Sette inn komponenter

Et highchart settes inn som en [Markdown-div](https://quarto.org/docs/authoring/markdown-basics.html#divs) uten innhold:

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

Faktabokser settes inn med innhold:

::: { #my-factbox .ssb }

Faktaboksens tekst skrives her med Markdown-syntaks.

### Underoverskrift

Ny paragraf.

:::


## Prosjektmappe

Etter synkronisering har vi følgende prosjektmappe: 

```
{{ project_folder }}/
├── {{ filename }} (denne filen)
├── .ssbno.json (metadatafil)
```

Metadatafilen `.ssbno.json` er automatisk generert og inneholder metadata for den tilhørende CMS-artikkelen. 
I Jupyterlab må du kanskje klikke *View -> Show Hidden Files* for å se filen.

* Metadatafilen skal ikke endres manuelt.
* Sletting av metadatafilen vil tvinge fram opprettelse av ny artikkel i CMS'et ved neste synkronisering.
* Dersom man jobber med to separate SSB-artikler, skal disse ha hver sin prosjektmappe, slik at de har hver sin metadatafil. 
  * Det er ikke nødvending å bruke kommandoen `ssb-pubmd create` for å opprette en prosjektmappe.
