Django templates

base.html

Kode:

src/website/templates/base.html

Basis-template, skal ikke brukes direkte.

Viewport for responsivt design

Setter viewport til:

width=device-width, initial-scale=1, minimum-scale=1, shrink-to-fit=no

Vi ønsker at sider med innhold som stikker utenfor høyremargen (f.eks lange ligninger som ikke brekkes over flere linjer) skal vises i scale=1, dvs. at man må scrolle sidelengs for å se hele ligningen men resten av siden vises i normal størrelse.

Uten denne endringen vil noen mobile enheter zoome ut slik at hele den lange, utstikkende ligningen får plass innenfor viewporten, og teksten blir så liten at den blir uleselig.

CSS/JavaScript

Templaten inkluderer også:

  • jQuery (fra code.jquery.com)

  • Bootstrap sin medfølgende JavaScript-kode (hostet lokalt)

  • Vår egen CSS (basert på Bootstrap)

  • Vår egen JavaScript-kode

  • clipboard.js (fra cdnjs.cloudflare.com): CodeBlock trenger dette biblioteket for å kunne kopiere kodeblokker til utklippstavlen.

  • iframe-resizer (fra cdnjs.cloudflare.com): ShinyBlock trenger dette biblioteket for å kunne automatisk resize embeddede Shiny-applikasjoner.

  • JSXGraph sin CSS og JavaScript (hostet lokalt, se Makefile): JSXGraphBlock trenger disse for å plotte grafer.

Legger til MathJax-støtte

Template blocks

Templates som arver fra denne kan overstyre/plasser innhold inn i følgende blokker:

title

Sidetittel, brukes i <title>.

content

Sideinnhold, ender opp i <body>.

extra_css

Tilleggs-stilark, inkluderes «as-is» i <head>.

extra_js

Tilleggs-javascript, inkluderes «as-is» nederst i <body> etter annet innhold.

body_class

Setter CSS-klasse for <body>. Kun navnet på klassen, uten class="...".

base_with_nav.html

Kode:

src/website/templates/base_with_nav.html

Felles for alle templates som skal ha den vanlige navigasjonsmenyen (alle?). Implementerer hamburgermeny og breadcrumbs.

Arver fra base.html.

Brukes av Artikkel.

Template blocks

Templates som arver fra denne kan overstyre/plassere innhold inn i følgende blokker:

navigation

Innholdet i hamburgermenyen. Blir autogenerert ut fra sidetreet, ikke nødvendig å overstyre.

breadcrumbs

Liste over sider som utgjør brødsmulestien (ikke inkludert siden vi står på). Tom (må fylles inn av templaten som arver).

article

Innholdet i hovedspalten. Tom.