- Include railroad.js from http://tabatkins.github.io/railroad-diagrams/ - Include railroad.css from the same, and tweak it to match my style a bit better - Add a railroad-utils.js file that declares a railroadDiagram function. It takes a builder function and an element ID, calls the builder and adds the resulting diagram to the element with the given ID. - Add a railroad_diagram shortcode that wraps that all up so you can write a diagram inline with a post. - Add script includes if the railroad_diagram shortcode is used. The shortcut sets a variable in the page's .Scratch that is looked up in the head partial template to determine whether to include these scripts.
61 lines
2.2 KiB
HTML
61 lines
2.2 KiB
HTML
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
|
|
|
<!-- Title -->
|
|
<title>{{ if not .IsHome }}{{ .Title }} - {{ end }}{{ site.Title }}</title>
|
|
|
|
<!-- Meta -->
|
|
{{ if eq .Kind "page" }}
|
|
<meta name="description" content="{{ .Summary }}" />
|
|
<meta name="author" content="{{ .Params.Author | default site.Author.name }}">
|
|
{{ else }}
|
|
<meta name="description" content="{{ .Params.description }}">
|
|
<meta name="author" content="{{ site.Author.name }}">
|
|
{{ end }}
|
|
|
|
<link rel="preload stylesheet" as="style" href="/styles/main.css">
|
|
{{ if or (eq .Kind "list") (eq .Kind "term") }}
|
|
<link rel="preload stylesheet" as="style" href="/styles/list.css">
|
|
{{ end }}
|
|
{{ range $stylesheet := .Resources.Match "*.css" }}
|
|
<link rel="preload stylesheet" as="style" href="{{ $stylesheet.Permalink }}">
|
|
{{ end }}
|
|
{{ if in (.Site.BaseURL | string) "localhost" }}
|
|
<link rel="preload stylesheet" as="style" href="/styles/development.css">
|
|
{{ end }}
|
|
|
|
{{ if and .IsPage (not site.Params.disableHLJS) }}
|
|
<link rel="preload stylesheet" as="style" href="{{ `styles/an-old-hope.min.css` | absURL }}">
|
|
<script defer src="{{ `scripts/highlight.min.js` | absURL }}" onload="hljs.initHighlightingOnLoad();"></script>
|
|
{{ end }}
|
|
|
|
{{ range $.Scratch.Get "social-list" }}
|
|
<link rel="preload" as="image" href="{{ printf `%s.svg` . | absURL }}">
|
|
{{ end }}
|
|
|
|
<!-- Favicon -->
|
|
<link rel="icon" href="{{ `favicon.ico` | absURL }}">
|
|
<link rel="apple-touch-icon" href="{{ `apple-touch-icon.png` | absURL }}">
|
|
|
|
{{ hugo.Generator }}
|
|
|
|
{{ range .AlternativeOutputFormats }}
|
|
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink }}" title="{{ site.Title }}">
|
|
{{ end }}
|
|
|
|
{{ if and .IsPage (.Page.Scratch.Get "includes_railroad_diagram") }}
|
|
<script defer src="{{ `scripts/railroad.js` | absURL }}"></script>
|
|
<script defer src="{{ `scripts/railroad-utils.js` | absURL }}"></script>
|
|
{{ end }}
|
|
|
|
<!-- Misc -->
|
|
{{ if or hugo.IsProduction (eq site.Params.env "production") }}
|
|
<!---->
|
|
{{ template "_internal/schema.html" . }}
|
|
<!---->
|
|
{{ template "_internal/twitter_cards.html" . }}
|
|
<!---->
|
|
{{ end }}
|
|
</head>
|