blob: b62aae062dfe4383d5dd04398355917b459286d1 (
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
#!/bin/sh
TITLE="19 PDH Puszcza"
URL="https://nojs--api-puszcza.netlify.app"
DESCRIPTION=""
rm -r dest || true
mkdir dest
# This is useful when deploying on netlify. Thanks to storing compiled binaries
# in this folder they will be cached and restored.
export PATH="$PWD/.jekyll-cache:$PWD/tools:$PATH"
./tools/compile
post_rss() {
path="$URL$1"
title=$2
photo=$3
description=$4
file=$5
date=`git log -n 1 --date="format:%Y-%m-%dT%H:%M:%SZ" --pretty=format:'%ad' -- $file`
cat << EOF
<item>
<guid>$path</guid>
<link>$path</link>
<pubDate>$date</pubDate>
<title>$title</title>
<description><![CDATA[
$(./tools/lowdown-f $file)
]]></description>
</item>
EOF
}
post_link() {
path=$1
title=$2
photo=$3
description=$4
cat << EOF
<div class="post-link">
<a href="$path">
<div>
<div class="image" style="background-image: url('$photo')"></div>
<div class="post-container">
<h4 class="post-title">$title</h4>
<p class="post-description">$description</p>
</div>
</div>
</a>
</div>
EOF
}
cp wpisy/kronika.html.raw wpisy/kronika.html
cat >> wpisy/kronika.html << EOF
<link href="/kronika.css" rel="stylesheet">
<h2>Ostatnie wpisy</h2>
<p><a href="/kronika/rss.xml"><img alt="" src="/assets/rss.svg" style="height:1em">RSS</a></p>
<div class="post-list" style="max-width: 80ex">
EOF
mkdir -p dest/kronika
cat > dest/kronika/rss.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="$URL/kronika/rss.xml" rel="self" type="application/rss+xml" />
<title>$TITLE</title>
<description>$DESCRIPTION</description>
<link>$URL</link>
<lastBuildDate>$(date -R)</lastBuildDate>
EOF
cp wpisy/index.html.raw wpisy/index.html
cat >> wpisy/index.html << EOF
<link href="/kronika.css" rel="stylesheet">
<h2>Ostatnie wpisy z kroniki</h2>
<div class="content post-list">
EOF
i=0
for f in `find wpisy/kronika/20* -name '*.md' | sort -r`; do
path=`echo $f | sed 's/wpisy//;s/.md//'`
title=`grep "^# " $f | head -n 1 | cut -c 2-`
photo=`grep "!\[.*\]\(.*\)" $f | head -n 1 | cut -d "(" -f2 | cut -d ")" -f1`
[ -z $photo ] && photo="/assets/default_tree.jpg"
description=`grep -E "^[A-Z]" $f | grep -v "|" | head -n 1 | cut -d" " -f1-30`
categories=`sed -n '/---/,/---/p' $f | grep " - " | sed 's/[^a-zA-Z0-9]//g'`
post_link "$path" "$title" "$photo" "$description" >> wpisy/kronika.html
[ $i -lt 20 ] && \
post_rss "$path" "$title" "$photo" "$description" "$f" >> dest/kronika/rss.xml
[ $i -lt 4 ] && \
post_link "$path" "$title" "$photo" "$description" >> wpisy/index.html && \
i=$(($i+1))
done
echo "</div>" >> wpisy/kronika.html
echo "</div><a href=\"/kronika\">Czytaj więcej...</a>" >> wpisy/index.html
echo "</channel></rss>" >> dest/kronika/rss.xml
./ssg5 wpisy dest "$TITLE" "$URL"
rm wpisy/index.html
rm dest/index.html.raw
cp -r static/* dest
|