aboutsummaryrefslogtreecommitdiffstats
path: root/hooks/post-receive
blob: 38e30612e6b7815c0584dd269abbe93eb2661d7d (plain) (blame)
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
#!/bin/sh
set -e
cd /home/git/build/webring
bash wr build
rsync -rlptD --delete public/ /var/www/webring.gumx.cc/
python3 - /var/www/webring.gumx.cc <<'EOF'
import sys, os, glob
webroot = sys.argv[1]
favicon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMTQwIiBzdHJva2U9IiMwMDAiPjxwYXRoIHN0cm9rZS13aWR0aD0iMTIyIiBzdHJva2UtZGFzaGFycmF5PSIyLDM4IiBkPSJtOSw3MGgxMjJNNzAsOXYxMjIiLz48cGF0aCBzdHJva2Utd2lkdGg9IjMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Im03MCwzMGgwbTQwLDQwaDBtLTgwLDQwdjBtNDAsMGgwbTQwLDBoMCIvPjwvc3ZnPg=='
footer = (
    '<footer>\n<hr>\n'
    '<a href="https://twt.gumx.cc">twt</a> /\n'
    '<a href="https://git.gumx.cc">git</a> /\n'
    '<a href="https://mail.gumx.cc">mail</a> /\n'
    '<a href="https://irc.gumx.cc">irc</a> /\n'
    '<a href="https://files.gumx.cc">files</a> /\n'
    '<a href="https://vpn.gumx.cc">vpn</a> /\n'
    '<a href="https://pgp.gumx.cc">pgp</a> /\n'
    '<a href="https://demo.gumx.cc">demo</a> /\n'
    '<a href="https://wk.fo">wk.fo</a>\n'
    '</footer>'
)
favicon_tag = f'<link rel="icon" type="image/svg+xml" href="{favicon}">'
for path in glob.glob(os.path.join(webroot, '**', '*.html'), recursive=True):
    html = open(path).read()
    if '</head>' in html and favicon_tag not in html:
        html = html.replace('</head>', favicon_tag + '\n</head>', 1)
    if '</body>' in html and 'twt.gumx.cc' not in html:
        html = html.replace('</body>', footer + '\n</body>', 1)
    open(path, 'w').write(html)
EOF
echo "webring deployed"