summaryrefslogtreecommitdiff
path: root/html/default.nix
blob: 2d8774ceef757a7e0313fb6750ec47db52f7d8fe (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
56
57
58
59
60
{ 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"
      } and ${
        href "https://classless.de/" "Classless CSS"
      }, and compressed with the help of ${
        href "https://github.com/uncss/uncss" "uncss"
      }, ${href "https://yui.github.io/yuicompressor/" "YUI Compressor"} and ${
        href "https://imagemagick.org/" "ImageMagick"
      }.")
  ])
]