Skip to content

Repository files navigation

Se kurssidene

Kurssidene bygges automatisk (det tar noen minutter etter at du har lagret endringene dine) og kan sees i web-browseren din. Urlen avhenger av om du skal se sidene bygget fra "main" eller fra en annen branch.

OBS: Funksjonaliteten er laget for canvas for å laste opp html som "Sider" i canvas. Sidene her på github vil ikke være 100 % lik det vi ser i Canvas, men jeg har forsøkt å få det så nært som mulig, for å lette arbeidet.

Fra "main" branches:

https://unioslo.github.io/ki-kurs-intro

Fra en annen branch:

https://unioslo.github.io/ki-kurs-intro/branches/<din-branch>/

Lokal utvikling / Local Development

Forutsetninger / Prerequisites

Python og Virtual Environment

# Opprett virtual environment
python3 -m venv .venv

# Aktiver virtual environment
source .venv/bin/activate  # På macOS/Linux
# eller
.venv\Scripts\activate     # På Windows

# Installer Python-avhengigheter
pip install -r requirements.txt

Systembiblioteker for PDF-generering (macOS)

For å bygge PDF-filer med make simplepdf trenger du følgende systembiblioteker:

# Installer med Homebrew (macOS)
brew install cairo pango gdk-pixbuf libffi

# Reinstaller WeasyPrint etter installasjon av systembiblioteker
pip install --force-reinstall --no-cache-dir weasyprint

Linux: Se WeasyPrint installasjonsinstruksjoner for din distribusjon.

Windows: Se WeasyPrint for Windows.

Bygge dokumentasjonen

# Bygg HTML
make html

# Bygg PDF (krever systembiblioteker - se over)
make simplepdf

HTML-filene genereres i _build/html/ og PDF-filen i _build/simplepdf/.

Vanlige kommandoer / Common Commands

make html              # Bygg HTML
make simplepdf         # Bygg PDF (krever systembiblioteker)
make clean             # Rydd opp bygde filer
make deploy-from-local # Deploy til Canvas fra lokale filer

Se CONTRIBUTING.md for detaljert utviklingsveiledning.

Hvordan jobbe i github og Canvas

Selve kursinnholdet finner du i folderen source/episodes

Filene er delt opp slik at de blir passelige "Sider" i Canvas, målet er at man ikke må scrolle for mye per side.

1. Naviger til filen du ønsker å editere, og åpne den for editering

github-unioslo-edit-file

2. Når du er ferdig, trykk den store grønne "Commit changes" knappen

github-unioslo-commit-change

3. Skriv en fornuftig endringsmelding (Commit message).

Velg ellers default og trykk "Commit changes" for å laste opp endringene i github.com

github-unioslo-commit-message

4. Automatisk bygging av html filene

Når endringen er blitt lastet opp (commited) så starter en automasjon i bakgrunnen - du kan følge med i Actions taben i github.

Denne automatikken er satt opp til å "bygge" html filer av rst filene. Alle rst filene blir bygget på nytt hver gang en fil er endret (selv de som ikke har noen endringer).

github-unioslo-actions

Kontroller resultatet

Når denne prosessen er ferdig, kan du kikke på resultatet på github sin egen publiseringløsning: https://unioslo.github.io/ki-kurs-intro - dette er bare "for convenience" for å få en rask sjekk at ting ser bra ut. Dersom du er fornøyd så er du klar for å oppdatere innholdet i Canvas - se punkt 5.

5. Oppdater Canvas

Html-filene lagres i en egen branch i github html-pages

github-unioslo-html-pages-branch

Du har nå valget mellom å bruke et python skript til å oppdatere filen(e) i Canvas med REST API, eller manuelt oppdatere de ved å copy/paste html-koden for hver fil.

5a. Manuell oppdatering

Naviger til branchen html-pages. Du finner de genererte html filene i folderen html/episodes.

  1. For hver fil/side du ønsker å ooppdatere, klikk inn på den og klikk på kopier-ikonet.
github-unioslo-html-raw-copy
  1. Gå deretter til Canvas, finn riktig side, klikk "Rediger" og videre </> knappen nede til høyre under redigeringsboksen.
canvas-rediger-html
  1. Paste inn html koden du kopierte fra github.

  2. Lagre

Siden er nå oppdatert i Canvas.

5b. Oppdatering via REST API (for "eksperter")

Du finner python skriptet i div-support-filer/update_canvas_pages.py. Du trenger en API nøkkel for å gjøre dette, se instruksjoner i python filen og/eller i README_UPDATE_CANVAS.md.

Kort oppsummert:

  • Skriptet oppdaterer Canvas-sider automatisk basert på HTML-filer (lokale eller fra GitHub)
  • Bruker en mapping-fil (page_id_mapping.json) for å koble HTML-filer til Canvas page IDs
  • Håndterer automatisk bilder: laster opp til Canvas og oppdaterer <img> tags
  • Støtter deploy fra lokale filer via make deploy-from-local
  • Støtter deploy fra GitHub html-pages branch via make deploy-from-github
  • Støtter dry-run mode for å teste uten å gjøre endringer

Se dokumentasjonen for:

  • Oppsett av API-nøkkel
  • Generering av page ID mapping
  • Vanlige workflows og kommandoer
  • Troubleshooting og beste praksis

Caveat

Dersom man gjør manuelle endringer i Siden på Canvas vil ikke denne endringen eksistere på github. Det beste er derfor alltid å gjøre endringen i github, og følge prosessen som forklart her.

Ved tidspress og behov for direkte endring i Canvas - noter endringene og foreta de ved et senere tidspunkt også i github.

Tekstinnholdet opprinnelig generert av Claude Code

Jeg har brukt følgende prompt for å generere start-innhold med Claude Code:

Populate the source/episodes folder with the content that I want. This is an AI introduction course for administrativ staffat the University of Oslo. The course is in Norwegian. It should be a course that the participants go through digitally by themselves, and should take no more than 45 minutes. The topics I want to cover are:

  1. What is AI and what is generative AI - what are language models
  2. LLMs are not a knowledge source, but construct contents/sentences based on what is statistically most probable with some added randomness
  3. Can you trust what comes out of generative AI? Quality control, understand the contents
  4. What AI services do we have at UiO https://www.uio.no/tjenester/it/ki/
  5. Try prompting and simple prompt engineering
  6. Other things you think are essential in an intro course in AI tools for administrative staff at UiO.

About

KI introduksjonskurs i første omgang for ansatte ved UiO

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages