~xdavidwu/xdavidwu.link

ref: b5a0ac63e9b06ec9bf4a4d3f96c8959d8dfe8be5 xdavidwu.link/.gitlab-ci.yml -rw-r--r-- 1.9 KiB
b5a0ac63xdavidwu fa: self-host 1 year, 10 months ago
                                                                                
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
61
62
63
64
65
66
67
68
69
70
71
variables:
  GIT_SUBMODULE_STRATEGY: recursive

gemini:
  stage: build
  image: alpine:latest
  before_script:
    - apk add py3-pip
    - pip3 install md2gemini
    - find /lib /usr/lib ~/ -name 'renderers.py' -exec sed -i -E 's/text\.rstrip\(\)\.endswith\("\[" \+ str\(self\.footnote_num\) \+ "\]"\)/False/' {} \;
  script:
    - cd _posts
    - >
      for i in $(ls -r *.md);do
        OIFS="$IFS"
        IFS=$'\n'
        mv "$i" "${i}.orig"
        while read LINE;do
          F=$(echo "$LINE" | sed 's/^{% include_relative \(.*\) %}$/\1/')
          if [ -f "$F" ];then
            cat "$F" >> "$i"
          else
            printf "%s\n" "$LINE" >> "$i"
          fi
        done < "${i}.orig"
        IFS=$OIFS
        echo "=> $(echo $i | sed s/\.md$/.gmi/) $(echo $i | cut -f 1-3 -d '-'): $(grep '^title:' $i | cut -f 2 -d \")" >> ../gemini/index.gmi
      done
    - md2gemini -w -d ../gemini -a -f -i tab -l paragraph *.md
  artifacts:
    paths:
      - gemini

npm-vendor:
  stage: build
  image: alpine:latest
  before_script:
    - apk add npm
  script:
    - npm ci
    - npm run copy-vendor
  artifacts:
    paths:
      - assets/js/lunr/lunr.min.js
      - assets/css/fork-awesome.min.css
      - assets/fonts

pages:
  stage: deploy
  image: ruby:alpine
  needs:
    - npm-vendor
  variables:
    JEKYLL_ENV: production
    LC_ALL: "C.UTF-8"
  before_script:
    - bundle check --path .bundler || apk add git make gcc musl-dev g++
    - mkdir -p .bundler
    - bundle install -j $(nproc) --path .bundler
  script:
    - bundle exec rougify style base16.solarized.dark | sed 's/002b36/202124/g' >> _sass/minimal-mistakes/skins/_custom.scss
    - bundle exec rougify style base16.solarized.light >> _sass/minimal-mistakes/skins/_custom-light.scss
    - bundle exec jekyll build -d public
  artifacts:
    paths:
      - public
  cache:
    paths:
      - .bundler
  only:
    - master