added REAL RSS generator
This commit is contained in:
parent
7a2fc5971c
commit
31fe5a7bb4
4 changed files with 70 additions and 0 deletions
|
@ -3,4 +3,9 @@
|
||||||
rootdir=${0:h}
|
rootdir=${0:h}
|
||||||
echo $rootdir
|
echo $rootdir
|
||||||
|
|
||||||
|
echo -n "Building RSS"
|
||||||
|
./mkrss.sh
|
||||||
|
echo " [done]"
|
||||||
|
echo -n "Publishing"
|
||||||
rsync --progress --partial -avHe ssh $rootdir/_site/ root@shoggoth1:/var/www/her.esy.fun/ --delete
|
rsync --progress --partial -avHe ssh $rootdir/_site/ root@shoggoth1:/var/www/her.esy.fun/ --delete
|
||||||
|
echo " [done]"
|
||||||
|
|
30
mkrss.sh
Executable file
30
mkrss.sh
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
rsstpl="rss.tpl"
|
||||||
|
webdir="_site"
|
||||||
|
rssfile="$webdir/rss.xml"
|
||||||
|
|
||||||
|
formatdate() {
|
||||||
|
local d=$1
|
||||||
|
LC_TIME=en_US date --date $d +'%a, %d %b %Y %H:%M:%S %z'
|
||||||
|
}
|
||||||
|
finddate(){
|
||||||
|
local fic="$1"
|
||||||
|
grep 'article-date' < $fic | perl -pe 's#.*<span class="article-date">([^<]*)</span>.*#$1#'|egrep '[0-9]+-[0-9]+-[0-9]+'
|
||||||
|
}
|
||||||
|
getcontent(){
|
||||||
|
local fic="$1"
|
||||||
|
cat $fic | perl -pe 's#.*<(link|meta).*$##;s#<(img|input) ([^>]*[^/])>#<img $1/>#g' | hxselect '#content'
|
||||||
|
}
|
||||||
|
|
||||||
|
realname="Yann Esposito"
|
||||||
|
website="https://her.esy.fun"
|
||||||
|
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
for fic in $webdir/posts/**/*.html; do
|
||||||
|
rssdate=$(formatdate $(finddate $fic))
|
||||||
|
blogfile="$(echo $fic | perl -pe 's#.*?/posts/#/posts/#')"
|
||||||
|
printf "\\n<item>\\n<title>%s</title>\\n<guid>%s%s</guid>\\n<pubDate>%s</pubDate>\\n<description><![CDATA[\\n%s\\n]]></description>\\n</item>\\n\\n" "$realname" "$website" "$blogfile" "$rssdate" "$(getcontent "$fic")" >> "$tmpdir/rss"
|
||||||
|
done
|
||||||
|
|
||||||
|
sed "/<!-- LB -->/r $tmpdir/rss" "$rsstpl" > "$rssfile"
|
30
rss.tpl
Normal file
30
rss.tpl
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<rss version="2.0"
|
||||||
|
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||||
|
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||||
|
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||||
|
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
|
||||||
|
xmlns:georss="http://www.georss.org/georss"
|
||||||
|
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
|
||||||
|
xmlns:media="http://search.yahoo.com/mrss/"><channel>
|
||||||
|
<title>her.esy.fun</title>
|
||||||
|
<atom:link href="https://her.esy.fun/rss.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<link>https://her.esy.fun</link>
|
||||||
|
<description><![CDATA[her.esy.fun articles, mostly random personal thoughts]]></description>
|
||||||
|
<language>en</language>
|
||||||
|
<pubDate>Mon, 23 Sep 2019 09:59:16 +0200</pubDate>
|
||||||
|
<lastBuildDate>Mon, 23 Sep 2019 09:59:16 +0200</lastBuildDate>
|
||||||
|
<generator>Emacs 26.3 Org-mode 9.2.5</generator>
|
||||||
|
<webMaster>yann@esposito.host (Yann Esposito)</webMaster>
|
||||||
|
<image>
|
||||||
|
<url>https://her.esy.fun/img/FlatAvatar.png</url>
|
||||||
|
<title>her.esy.fun</title>
|
||||||
|
<link>https://her.esy.fun</link>
|
||||||
|
</image>
|
||||||
|
|
||||||
|
<!-- LB -->
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
5
shell.nix
Normal file
5
shell.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# { pkgs ? import <nixpkgs> {} }:
|
||||||
|
{ pkgs ? import (fetchTarball https://github.com/NixOS/nixpkgs/archive/19.09-beta.tar.gz) {} }:
|
||||||
|
pkgs.mkShell {
|
||||||
|
buildInputs = [ pkgs.html-xml-utils ];
|
||||||
|
}
|
Loading…
Reference in a new issue