From bb3dd8c4bad67da2cd1c9fa9517191e04321575b Mon Sep 17 00:00:00 2001 From: Stefan Schlott Date: Sat, 24 Aug 2013 15:42:27 +0200 Subject: [PATCH] Atom feed --- Gemfile | 1 + Gemfile.lock | 2 ++ Rules | 8 ++++++++ content/atom.xml | 12 ++++++++++++ content/index.html | 4 ++++ layouts/default.html | 5 +++++ lib/default.rb | 1 + nanoc.yaml | 4 ++++ static/img/atom-icon.png | Bin 0 -> 1741 bytes static/img/atom-logo.png | Bin 0 -> 6354 bytes 10 files changed, 37 insertions(+) create mode 100644 content/atom.xml create mode 100644 static/img/atom-icon.png create mode 100644 static/img/atom-logo.png diff --git a/Gemfile b/Gemfile index 56e67122..9dcb026b 100644 --- a/Gemfile +++ b/Gemfile @@ -2,6 +2,7 @@ source "http://gems.github.com" source "http://rubygems.org" gem 'nanoc3' +gem 'builder' gem 'guard-nanoc' gem 'systemu' gem 'adsf' diff --git a/Gemfile.lock b/Gemfile.lock index 3a2b0ec2..e24ff983 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,6 +5,7 @@ GEM addressable (2.3.3) adsf (1.0.1) rack (>= 1.0.0) + builder (3.2.2) coderay (1.0.9) colored (1.2) cookiejar (0.3.0) @@ -106,6 +107,7 @@ PLATFORMS DEPENDENCIES adsf + builder guard-nanoc nanoc3 nokogiri diff --git a/Rules b/Rules index ebfb1f64..41d7347b 100644 --- a/Rules +++ b/Rules @@ -25,6 +25,10 @@ compile "/htaccess" do filter :erb end +compile /(rss|atom)/ do + filter :erb +end + compile '*' do item_name = if item.identifier=="/" "" @@ -66,6 +70,10 @@ route "/htaccess" do "/.htaccess" end +route '/(atom|rss)/' do + item.identifier.chop + '.xml' +end + route '/articles/*' do # Find corresponding article (for getting metadata) articleitem = article_base_item(item) diff --git a/content/atom.xml b/content/atom.xml new file mode 100644 index 00000000..a1c6490e --- /dev/null +++ b/content/atom.xml @@ -0,0 +1,12 @@ +--- +type: 'feed' +title: 'CCCS - Chaos Computer Club Stuttgart (Atom Feed)' +--- +<% +excerptproc = Proc.new do |article| + article_summary(article) +end +%><%= atom_feed :limit => 10, + :excerpt_proc => excerptproc, + :icon => "#{site.config[:base_url]}/img/atom-icon.png", + :logo => "#{site.config[:base_url]}/img/atom-logo.png" %> diff --git a/content/index.html b/content/index.html index 337076ff..94877455 100644 --- a/content/index.html +++ b/content/index.html @@ -1,6 +1,10 @@ ----- title: CCC Stuttgart - Startseite kind: empty +feed: +- + url: '/atom.xml' + title: 'CCCS - Neueste Artikel' -----
diff --git a/layouts/default.html b/layouts/default.html index 219b32d3..09198ca4 100644 --- a/layouts/default.html +++ b/layouts/default.html @@ -4,6 +4,11 @@ <%= @item[:title] %> + <% if @item[:feed] then + item[:feed].each do |f| %> + + <% end + end %> diff --git a/lib/default.rb b/lib/default.rb index ed22a3b6..aaa80c5b 100644 --- a/lib/default.rb +++ b/lib/default.rb @@ -3,4 +3,5 @@ include Nanoc3::Helpers::Rendering include Nanoc::Helpers::HTMLEscape +include Nanoc3::Helpers::Blogging diff --git a/nanoc.yaml b/nanoc.yaml index c26e059b..ccc0ca05 100644 --- a/nanoc.yaml +++ b/nanoc.yaml @@ -88,6 +88,10 @@ watcher: notify_on_compilation_failure: true +base_url: http://www.cccs.de +author_name: CCCS +author_email: webmaster@cccs.de +author_uri: http://www.cccs.de/ twitter_file: content/_data/twitter.csv deploy: diff --git a/static/img/atom-icon.png b/static/img/atom-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cdb7eea6070e9ff0703e9bad5d62c8401ee55848 GIT binary patch literal 1741 zcmV;;1~U1HP)tAc(OzTE1*-0HvG>cHLW!QSh_-s{8P?8M*f#o+A5 z;O)oZ?Z@Hm$l>kD;_k}g?#tuu%j53MGIa; z^4IF}*y{7y>+{;|^xW+9-R<<=?)Bg9_2BOH;qUd~@Al&G_T%vOGSyN^!V!a`Rw)i?e+QY_WJJj`tSGp@b~)h`1|qr`||kv^ZEPq`TX?y{Pp_$_WJzy z`~CO({rLR-`TYI*{r>v>{`>v@{Qmy^{{Q{||Nj5~|K1>`zW@LL32;bRa{vG>`~Uzg z`~j}R?3e%m00(qQO+^RY2pA0|04IXdQ~&@2|4BqaR9M5s*ZW^nWgG|a&yL$bnB%gX z5txY(ibzeua3Gi%0#*hR0j1qRBxV;? zyqKGeokO8j1Hm%9#?BD3?>ceYTkzcdRRVVA*+04VXB2Z^9^8d1s{#hm%(rd^ihlm= z9KK%#@CV)zPMm<^vT%ADzexwSmyig6v??V7rj$SwAeebjBH&AFT|AwkK;PoU1+`lm za0~nm1V*o(XacaW&GP#!|3OW+G~oTce3Omkv2OF8R$GABFOkN+cz~fpxZ}fbEXAAk zRk?u1H2=&g2ZqTP{#bzC&Nox-9pUKgy*}(Cwia~}t8~1lCx>>%0@VB%BqM8<2LmX# zd^%~!VK>a`juMQ-0M_0UN`Z4G9L}i+ql5k588uafxn&3XlS3tq#3u?o{VU&iHYJ5a zo3X8=_VeC5(+xoV`bXQlj%OO{M1hL0gx37!VjTbMXkBH=j+_i8GYzOSc5h;VbE1Gb zPiTjJ>RJlRg^QQ3-LxLj00pojU6oWS3f#rrh3OL+YZTlu1^E`(ei5Au`Bg$abbEyG zx?C=|$LII>Ul*9ttF7oZI7NX$j0)++IKf?wDcT6>tTdFHd{!M!zFcOsi%#bz-4xdx zV}$-MO>$RxmE5tTrPiQB`B+n`0~4aaeEtrvAW@>&!B6Jmjoc3(D9XqxXdd$)!0i{d z#wcllLcK5?wNMT6wJkeiVJ^=GX~EEe{R9_d71dxhKDaNuhTF9JH;KlD{+?rpD}ch0 z0o4|N>~&!v6}wsDo%Rq%HKXVW=UbR3kBpOksJ(Glrk?6FXg8!WNfqsL|E@UZQtYx8 z^hsD7y#qJc$%yQ`&%b($4B;s$i)*@GZ;zJO?x$-`Lwq1a2QM2X{}vLagE=rcLvDvV z3J`weISN=K`;R9;IY7Rpl`<s% zH=WzClLvSh7noYMxQ62i6P?wnhs2x}j0;Rspm$}mZJ3aHeaMr3CjLO0hz4*`P~O4(>Ww%Kg1DEYrIG$U=NDiS@Ay44klcDcYMjLQQ&_*x!7ax&-S j0YBnnc>rnOv;68GAUzk<-Mwcg00000NkvXXu0mjf{ruZo literal 0 HcmV?d00001 diff --git a/static/img/atom-logo.png b/static/img/atom-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0857b2660e168a3d4f9bd01fe5ba7cf4cebd5e GIT binary patch literal 6354 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 UC&TJt{Qv*}07*qoM6N<$f&?~B$p8QV literal 0 HcmV?d00001