~xdavidwu/xdavidwu.link

ref: 70bdd4b7411034ea51fa26e20193c17b57f8d49b xdavidwu.link/.gitlab-ci.yml -rw-r--r-- 1.8 KiB
70bdd4b7xdavidwu ruby: depends on matrix, for classifier-reborn, for ruby 3.1 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
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

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