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
MathJax-støtte (via template-taggen
mathjax_js
). SeMATHJAX_URL
og Wagtail tilleggspakker.
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="..."
.