summaryrefslogtreecommitdiff
path: root/html/default.nix
blob: f63fc254ce7e0a006e1e290c29e8a5e4f13ae344 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{ html, make, ... }:

let sections = html.sort.byKey "priority" (make ./sections.nix { });
in with html;
html.html { lang = "en"; } [
  (head [
    # Basic page needs
    (metaWith { charset = "utf-8"; })
    (title "Quentin Aristote")
    (metaWith {
      name = "description";
      content = "Personal webpage of Quentin Aristote";
    })
    (metaWith {
      name = "author";
      content = "Quentin Aristote";
    })
    (metaWith {
      http-equiv = "x-ua-compatible";
      content = "ie=edge";
    })
    # Mobile specific needs
    (metaWith {
      name = "viewport";
      content = "width=device-width, initial-scale=1";
    })
    # Font
    (linkWith {
      rel = "stylesheet";
      href = "/static/css/fonts/line-awesome/line-awesome.min.css";
    })
    # CSS
    (linkWith {
      rel = "stylesheet";
      href = "/static/css/classless.min.css";
    })
    # Favicon
    (linkWith {
      rel = "icon";
      type = "image/png";
      href = "static/icon.png";
    })
  ])
  (body [
    (header [
      (nav (ul ([ (li "Quentin Aristote") ] ++ for sections
        (section: li (href "#${section.title}" section.title)))))
    ])
    (main { role = "main"; } (for sections (section: section.body)))
    (footer
      "Webpage generated with the help of ${href "https://nixos.org/" "Nix"}, ${
        href "https://classless.de/" "Classless CSS"
      } and ${href "https://yui.github.io/yuicompressor/" "YUI Compressor"}.")
  ])
]