aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 6f569556e4382e8f9c9848344d4c2a4a5331820d (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
variables:
  HEADER: |
    <!DOCTYPE html>
    <html lang="en-US">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width\=device-width, initial-scale=1">
    <meta name="author" content="The Tor Project, Inc.">
    <title>torspec</title>
    <link href="https://2019.www.torproject.org/css/master.min.css" rel="stylesheet">
    </head>
    <body>
    <div id="wrap"><div id="content"><div id="maincol">
  FOOTER: "</div></div></div></body></html>"

pages:
  image: debian:buster
  script:
    - apt-get update
    - apt-get -qy install --no-install-recommends pandoc
    - test -d public || mkdir public
    - printf "${HEADER}<h1>%s</h1><ul>" $CI_PROJECT_PATH > public/index.html
    - for f in *.txt; do
        set -x;
        name=`echo $f | sed s,\.txt$,,`;
        md=${name}.md;
        cat $f | sed --regexp-extended
            -e '0,/^ +/{s/^ +/# /}'
            -e 's/^ {1,3}([^ ])/\1/'
            -e '/^[0-9]+\. +http/! s/^([0-9]+\. )/## \1/'
            -e 's/^([0-9]+\.[0-9]+\. )/### \1/'
            -e 's/^([0-9]+\.[0-9]+\.[0-9]+\. )/#### \1/'
            -e 's/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\. )/##### \1/'
            > $md;
        printf "\n---\n\noriginal source\x3a [$f](https://gitweb.torproject.org/torspec.git/tree/$f)\n" >> $md;
        title=`sed -En '0,/^# /s/^# (.*)/\1/p' $md`;
        printf "<li><a href=\"${name}.html\"><tt>$name</tt>&colon; $title</a></li>" >> public/index.html;
        pandoc --from=markdown $md --output=${name}.html;
        printf "$HEADER" > public/${name}.html;
        cat ${name}.html >> public/${name}.html;
        printf "$FOOTER" >> public/${name}.html;
        mkdir public/$name;
        cp public/${name}.html public/$name/index.html;
      done
    - printf "</ul>$FOOTER" >> public/index.html
  artifacts:
    paths:
    - public
  only:
    - main