rog 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +340 -0
- data/README +44 -0
- data/Rakefile +123 -0
- data/bin/rog +53 -0
- data/lib/rog.rb +66 -0
- data/lib/rog/app.rb +121 -0
- data/lib/rog/blog.rb +283 -0
- data/lib/rog/builtin.rf +67 -0
- data/lib/rog/page.rb +31 -0
- data/lib/rog/post.rb +80 -0
- data/lib/rog/project/README +49 -0
- data/lib/rog/project/Rakefile +26 -0
- data/lib/rog/project/blog/blog.yaml +20 -0
- data/lib/rog/project/blog/layouts/post_mini.thtml +14 -0
- data/lib/rog/project/blog/layouts/soft_green.thtml +80 -0
- data/lib/rog/project/blog/layouts/soft_green_archive.thtml +17 -0
- data/lib/rog/project/blog/layouts/soft_green_post.thtml +14 -0
- data/lib/rog/project/blog/layouts/soft_green_static.thtml +87 -0
- data/lib/rog/project/blog/pages/COMMON.rb +11 -0
- data/lib/rog/project/blog/pages/about.rb +7 -0
- data/lib/rog/project/blog/pages/about.thtml +3 -0
- data/lib/rog/project/blog/pages/archives/README +1 -0
- data/lib/rog/project/blog/pages/index.rb +12 -0
- data/lib/rog/project/blog/pages/index.thtml +0 -0
- data/lib/rog/project/blog/pages/posts/COMMON.rb +1 -0
- data/lib/rog/project/blog/pages/posts/README +1 -0
- data/lib/rog/project/blog/res/images/cc_powered.png +0 -0
- data/lib/rog/project/blog/res/images/copyleft_powered.png +0 -0
- data/lib/rog/project/blog/res/images/emacs_powered.png +0 -0
- data/lib/rog/project/blog/res/images/gnulinux_powered.png +0 -0
- data/lib/rog/project/blog/res/images/header.jpg +0 -0
- data/lib/rog/project/blog/res/images/rog_powered.png +0 -0
- data/lib/rog/project/blog/res/images/rote-tiny.png +0 -0
- data/lib/rog/project/blog/res/images/ruby_powered.png +0 -0
- data/lib/rog/project/blog/res/styles.css +171 -0
- data/lib/rog/project/blog/templates/archive-month.rb.tpl +9 -0
- data/lib/rog/project/blog/templates/archive-month.thtml.tpl +0 -0
- data/lib/rog/project/blog/templates/archive-tag.rb.tpl +9 -0
- data/lib/rog/project/blog/templates/archive-tag.thtml.tpl +0 -0
- data/lib/rog/project/blog/templates/post.rb.tpl +7 -0
- data/lib/rog/project/blog/templates/post.thtml.tpl +1 -0
- data/lib/rog/rogtasks.rb +143 -0
- data/tests/data/blog.yaml +21 -0
- data/tests/data/layouts/post_mini.thtml +14 -0
- data/tests/data/layouts/soft_green.thtml +87 -0
- data/tests/data/layouts/soft_green_archive.thtml +17 -0
- data/tests/data/layouts/soft_green_post.thtml +14 -0
- data/tests/data/layouts/soft_green_static.thtml +87 -0
- data/tests/data/pages/COMMON.rb +11 -0
- data/tests/data/pages/about.rb +7 -0
- data/tests/data/pages/about.thtml +3 -0
- data/tests/data/pages/index.rb +12 -0
- data/tests/data/pages/index.thtml +0 -0
- data/tests/data/pages/posts/20050603-prova123.rb +3 -0
- data/tests/data/pages/posts/20050603-prova123.thtml +0 -0
- data/tests/data/templates/archive-month.rb.tpl +9 -0
- data/tests/data/templates/archive-month.thtml.tpl +0 -0
- data/tests/data/templates/archive-tag.rb.tpl +9 -0
- data/tests/data/templates/archive-tag.thtml.tpl +0 -0
- data/tests/data/templates/post.rb.tpl +7 -0
- data/tests/data/templates/post.thtml.tpl +1 -0
- data/tests/tc_rogblog.rb +52 -0
- data/tests/tc_rogpost.rb +44 -0
- data/tests/tc_rogtasks.rb +35 -0
- data/tests/ts_rog.rb +9 -0
- metadata +142 -0
data/lib/rog/builtin.rf
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# Built-in Rog rakefile
|
2
|
+
#
|
3
|
+
# This is effectively a copy of the template rakefile,
|
4
|
+
# but with extra tasks for the command-line wrapper.
|
5
|
+
#
|
6
|
+
# Rog - Static Blog Engine.
|
7
|
+
#
|
8
|
+
# Copyright (C) 2006 Luca Greco a.k.a. "ripley"
|
9
|
+
#
|
10
|
+
# This program is free software; you can redistribute it and/or modify
|
11
|
+
# it under the terms of the GNU General Public License as published by
|
12
|
+
# the Free Software Foundation; either version 2 of the License, or
|
13
|
+
# (at your option) any later version.
|
14
|
+
#
|
15
|
+
# This program is distributed in the hope that it will be useful,
|
16
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
18
|
+
# GNU General Public License for more details.
|
19
|
+
#
|
20
|
+
# You should have received a copy of the GNU General Public License
|
21
|
+
# along with this program; if not, write to the Free Software
|
22
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
23
|
+
#
|
24
|
+
|
25
|
+
begin
|
26
|
+
require 'rubygems'
|
27
|
+
rescue LoadError
|
28
|
+
nil # optional
|
29
|
+
end
|
30
|
+
require 'rake'
|
31
|
+
require 'rake/clean'
|
32
|
+
require 'rog'
|
33
|
+
|
34
|
+
# Import the standard doc task
|
35
|
+
#import File.join(File.dirname(__FILE__),('/project/Rakefile'))
|
36
|
+
|
37
|
+
#################### CREATE NEW PROJECT FROM TEMPLATE ###############
|
38
|
+
#
|
39
|
+
# This works in a slightly odd way. The 'create' task simply sets up
|
40
|
+
# a rule that catches anything. This rule will then be triggered by
|
41
|
+
# the task that follows on the command-line, and taken as the
|
42
|
+
# target directory name.
|
43
|
+
#
|
44
|
+
# So instead of 'rog create NAME=foo' we have 'rog create foo'
|
45
|
+
#
|
46
|
+
# Note that this does preclude having other tasks on the same
|
47
|
+
# invocation (after the create at least) but does also allow
|
48
|
+
# multiple projects to be created at once.
|
49
|
+
#
|
50
|
+
# Also need a way to display error message if the rule isn't
|
51
|
+
# invoked at least once...
|
52
|
+
desc "Bootstrap a new blog project"
|
53
|
+
task :create do
|
54
|
+
rule '' do |t|
|
55
|
+
fail "'#{t.name}' already exists" if File.exists?(t.name)
|
56
|
+
|
57
|
+
src = 'rog/project'
|
58
|
+
src_dir = $:.detect { |it| File.exists?(File.join(it,src)) }
|
59
|
+
fail "Cannot locate blog template" unless src_dir
|
60
|
+
|
61
|
+
# For now, just copy. Later, maybe we'll do some transformation on the
|
62
|
+
# sources as they're copied.
|
63
|
+
cp_r File.join(src_dir, src), t.name
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
## import 'publish.rf' if File.exists?('publish.rf')
|
data/lib/rog/page.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Rog - Static Blog Engine.
|
2
|
+
#
|
3
|
+
# Copyright (C) 2006 Luca Greco a.k.a. "ripley"
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation; either version 2 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with this program; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
module Rote
|
20
|
+
|
21
|
+
class Page
|
22
|
+
def tags
|
23
|
+
@page_tags
|
24
|
+
end
|
25
|
+
|
26
|
+
def title
|
27
|
+
@page_title
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
data/lib/rog/post.rb
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# Rog - Static Blog Engine.
|
2
|
+
#
|
3
|
+
# Copyright (C) 2006 Luca Greco a.k.a. "ripley"
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation; either version 2 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with this program; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
require 'rote'
|
20
|
+
require 'rote/format'
|
21
|
+
|
22
|
+
module Rog
|
23
|
+
|
24
|
+
class Post < Rote::Page
|
25
|
+
include Comparable
|
26
|
+
attr_reader :year, :month, :day
|
27
|
+
|
28
|
+
def initialize(path, blog_path='blog', pages_path="#{blog_path}/pages", posts_path="#{pages_path}/posts")
|
29
|
+
path =~ /(\d\d\d\d)(\d\d)(\d\d)[-].*\.thtml$/
|
30
|
+
@year, @month, @day = $1, $2, $3
|
31
|
+
@page_path = path
|
32
|
+
|
33
|
+
super(path, posts_path, "#{blog_path}/layouts") do |page|
|
34
|
+
relpath = path.sub(/\..*$/,'.html') # genera il nome della pagina formattata
|
35
|
+
@page_url = relpath
|
36
|
+
page.instance_eval("@page_name = '#{relpath}'") # e istanzia una variabile di pagina
|
37
|
+
page.instance_eval("@post_date = '#{@year}-#{@month}-#{@day}'")
|
38
|
+
end
|
39
|
+
|
40
|
+
extend Rote::Format::HTML
|
41
|
+
@page_filters.insert(0, Rote::Filters::RedCloth.new)
|
42
|
+
layout('post_mini')
|
43
|
+
end
|
44
|
+
|
45
|
+
def tags
|
46
|
+
@page_tags
|
47
|
+
end
|
48
|
+
|
49
|
+
def path
|
50
|
+
@page_path
|
51
|
+
end
|
52
|
+
|
53
|
+
def url
|
54
|
+
@page_url
|
55
|
+
end
|
56
|
+
|
57
|
+
def date
|
58
|
+
"#{@year}-#{@month}-#{@day}"
|
59
|
+
end
|
60
|
+
|
61
|
+
def <=>(other)
|
62
|
+
if (year_compare = @year <=> other.year) != 0 then
|
63
|
+
year_compare
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
if (month_compare = @month <=> other.month) != 0 then
|
68
|
+
month_compare
|
69
|
+
end
|
70
|
+
|
71
|
+
if (day_compare = @day <=> other.day) != 0 then
|
72
|
+
day_compare
|
73
|
+
end
|
74
|
+
|
75
|
+
return 0
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
This is the auto-generated Rog Blog source.
|
2
|
+
|
3
|
+
To render it using Rog's command-line wrapper (ignoring the included
|
4
|
+
Rakefile), type:
|
5
|
+
|
6
|
+
rog blog
|
7
|
+
|
8
|
+
from the top-level directory (this one).
|
9
|
+
|
10
|
+
To render using the included Rakefile (the result is the same in either
|
11
|
+
case) type instead:
|
12
|
+
|
13
|
+
rake doc
|
14
|
+
|
15
|
+
If you prefer, you can omit the 'doc' task, since it is configured
|
16
|
+
as the default.
|
17
|
+
|
18
|
+
In either case, you should see some output as the pages are rendered
|
19
|
+
and resources copied, and get output in a (created) 'html' directory.
|
20
|
+
Once you have rendered the site, running the command again will appear
|
21
|
+
to do nothing, because only changed resources are re-rendered. To
|
22
|
+
start over:
|
23
|
+
|
24
|
+
(rog|rake) clobber
|
25
|
+
|
26
|
+
Alternatively, modify the page or resource files, and rerun the first
|
27
|
+
command to transform only the modified resource.
|
28
|
+
|
29
|
+
WHAT NEXT?
|
30
|
+
|
31
|
+
+ See what else you can do by typing:
|
32
|
+
|
33
|
+
(rog|rake) --tasks
|
34
|
+
|
35
|
+
rog --usage ( with the command-line wrapper )
|
36
|
+
|
37
|
+
+ Modify the included page template and layout to suit your needs.
|
38
|
+
|
39
|
+
+ Edit the included Rakefile to add or change tasks, or delete it
|
40
|
+
if you're sticking with the command-line wrapper.
|
41
|
+
|
42
|
+
+ Add more pages and layouts.
|
43
|
+
|
44
|
+
+ Start Rog in monitor mode, and have your changes rendered as
|
45
|
+
you work:
|
46
|
+
|
47
|
+
(rog|rake) doc_monitor
|
48
|
+
|
49
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Standard Rakefile for custom Rog build
|
2
|
+
#
|
3
|
+
begin
|
4
|
+
require 'rubygems'
|
5
|
+
rescue LoadError
|
6
|
+
nil # optional
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rake'
|
10
|
+
require 'rake/clean'
|
11
|
+
|
12
|
+
require 'rog'
|
13
|
+
|
14
|
+
ws = Rog::BlogTask.new(:blog) do |blog|
|
15
|
+
blog.blog_path = 'blog'
|
16
|
+
end
|
17
|
+
|
18
|
+
task :default => [:blog]
|
19
|
+
|
20
|
+
# import user-level tasks
|
21
|
+
import "#{ENV['HOME']}/.rogtasks.rf" if File.exists?("#{ENV['HOME']}/.rogtasks.rf")
|
22
|
+
import 'local.rf' if File.exists?('local.rf')
|
23
|
+
|
24
|
+
# TODO Define your custom tasks here
|
25
|
+
|
26
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
blogurl: http://myblogurl/
|
2
|
+
publish_url : myuser@myblogurl:/home/myurl/public_html
|
3
|
+
|
4
|
+
pages:
|
5
|
+
- About: about.html
|
6
|
+
- Blog: index.html
|
7
|
+
|
8
|
+
buttons:
|
9
|
+
- rog_powered.png: http://www.salug.it/~ripley/projects/rog.html
|
10
|
+
- ruby_powered.png: http://www.ruby-lang.it
|
11
|
+
- emacs_powered.png: http://www.gnu.org/software/emacs
|
12
|
+
- gnulinux_powered.png: http://www.gnu.org
|
13
|
+
|
14
|
+
projects:
|
15
|
+
- your project: http://projecturl
|
16
|
+
|
17
|
+
links:
|
18
|
+
- yourlink1: http://yourlink1url
|
19
|
+
- yourlink2: http://yourlink2url
|
20
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!--a href='<%= "#{@blogurl}/posts/#{@page_name}" %>'>
|
2
|
+
<h2 style="display: inline;" ><%= @page_title %> </h2> (<%= @post_date %>)
|
3
|
+
</a-->
|
4
|
+
|
5
|
+
<%# Insert page content #%>
|
6
|
+
<%= @content_for_layout %>
|
7
|
+
|
8
|
+
<div class='post_tags'>
|
9
|
+
<b>Tags</b>: <%= @page_tags.join(', ') %>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<p align='center'><hr width='20%'></p>
|
13
|
+
|
14
|
+
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<title><%= @page_title + ' - ' + @site_title %></title>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
|
7
|
+
<link rel="stylesheet" href="<%= link_rel("/styles.css") %>" />
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
<div class="conteneur">
|
12
|
+
|
13
|
+
<div class="menu">
|
14
|
+
<ul class="menu-list">
|
15
|
+
<li>
|
16
|
+
<% $blog.pages.each do |name,url| %>
|
17
|
+
<a href='<%= link_rel("/#{url}") %>'> <%= name %> </a>
|
18
|
+
<% end %>
|
19
|
+
</li>
|
20
|
+
<li>
|
21
|
+
<span class="menu-section-title"><b>Projects:</b></span>
|
22
|
+
<% $blog.projects.each do |key, value| %>
|
23
|
+
<a href='<%= link_rel("/projects/#{value}/") %>'>
|
24
|
+
<%= key %>
|
25
|
+
</a>
|
26
|
+
<% end %>
|
27
|
+
</li>
|
28
|
+
<li><span class="menu-section-title"><b>Tags:</b></span>
|
29
|
+
<% $blog.tags.each do |key, value| %>
|
30
|
+
<a href='<%= link_rel("/archives/archive-#{key}.html") %>'>
|
31
|
+
<%= key %> <b>(<%= value.length %>)</b></a>
|
32
|
+
<% end %>
|
33
|
+
</li>
|
34
|
+
<li><span class="menu-section-title"><b>Archives:</b></span>
|
35
|
+
<% $blog.each_month do |month_posts| %>
|
36
|
+
<a href='
|
37
|
+
<%= link_rel("/archives/archive-#{month_posts[0].year + month_posts[0].month}.html")%>
|
38
|
+
'>
|
39
|
+
<%= month_posts[0].year + "/" + month_posts[0].month %>
|
40
|
+
<b>(<%= month_posts.length %>)</b>
|
41
|
+
</a>
|
42
|
+
<% end if $blog.posts? %>
|
43
|
+
</li>
|
44
|
+
<li><span class="menu-section-title"><b>Links:</b></span>
|
45
|
+
<% $blog.links.each do |name,url| %>
|
46
|
+
<a href='<%= url %>'> <%= name %> </a>
|
47
|
+
<% end %>
|
48
|
+
</li>
|
49
|
+
</ul>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
<div class="buttons">
|
53
|
+
<% $blog.buttons.each do |img,url| %>
|
54
|
+
<a href='<%= url %>'> <img src='<%= link_rel("/images/#{img}") %>'/></a>
|
55
|
+
<% end %>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<div class="header">
|
59
|
+
<span class="header-title">MY BLOG NAME</span><br />
|
60
|
+
<span class="header-title-two">my blog subtitle</span>
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<div class="centre">
|
64
|
+
<%= @content_for_layout %>
|
65
|
+
<!-- %= @blog_posts %-->
|
66
|
+
</div>
|
67
|
+
|
68
|
+
<div class="pied">
|
69
|
+
<div align='right'>
|
70
|
+
<span>Generate with</span>
|
71
|
+
<%# use the link_rel helper to make absolute links relative to current page #%>
|
72
|
+
<a href='http://rote.rubyforge.org/' target='_blank'>
|
73
|
+
<img src='<%= link_rel '/images/rote-tiny.png' %>' alt='Rote'/>
|
74
|
+
</a>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
</div>
|
79
|
+
</body>
|
80
|
+
</html>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<% layout "soft_green" %>
|
2
|
+
|
3
|
+
<h1><%= @page_title %></h1>
|
4
|
+
|
5
|
+
<%= @content_for_layout %>
|
6
|
+
|
7
|
+
<% @blog_posts.each do |post| %>
|
8
|
+
|
9
|
+
<a href='<%= link_rel("/posts/#{post.url}") %>'>
|
10
|
+
<h2 style="display: inline;" ><%= post.title %> </h2> (<%= post.date %>)
|
11
|
+
</a>
|
12
|
+
|
13
|
+
<%= post.to_s %>
|
14
|
+
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% layout "soft_green_static" %>
|
2
|
+
|
3
|
+
<div style="color: white;">
|
4
|
+
<h1 style="display: inline;" ><%= @page_title %> </h1>
|
5
|
+
(<%= template_filename.delete(base_path)[1..8].insert(4,'/').insert(7,'/') %>)
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<%= @content_for_layout %>
|
9
|
+
|
10
|
+
<div class='post_tags'>
|
11
|
+
<b>Tags</b>: <%= @page_tags.join(', ') %>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<p align='center'><hr width='20%'></p>
|
@@ -0,0 +1,87 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<title><%= @page_title + ' - ' + @site_title %></title>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
|
7
|
+
<link rel="stylesheet" href="<%= link_rel("/styles.css") %>" />
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
<div class="conteneur">
|
12
|
+
|
13
|
+
<div class="menu">
|
14
|
+
<ul class="menu-list">
|
15
|
+
<li>
|
16
|
+
<% $blog.pages.each do |name,url| %>
|
17
|
+
<a href='<%= link_rel("/#{url}") %>'> <%= name %> </a>
|
18
|
+
<% end %>
|
19
|
+
</li>
|
20
|
+
<li>
|
21
|
+
<span class="menu-section-title"><b>Projects:</b></span>
|
22
|
+
<% $blog.projects.each do |key, value| %>
|
23
|
+
<a href='<%= link_rel("/projects/#{value}/") %>'>
|
24
|
+
<%= key %>
|
25
|
+
</a>
|
26
|
+
<% end %>
|
27
|
+
</li>
|
28
|
+
<!-- li><span class="menu-section-title"><b>Tags:</b></span>
|
29
|
+
<% $blog.tags.each do |key, value| %>
|
30
|
+
<a href='<%= link_rel("/archives/archive-#{key}.html") %>'>
|
31
|
+
<%= key %> <b>(<%= value.length %>)</b></a>
|
32
|
+
<% end %>
|
33
|
+
</li>
|
34
|
+
<li><span class="menu-section-title"><b>Archives:</b></span>
|
35
|
+
<% $blog.each_month do |month_posts| %>
|
36
|
+
<a href='
|
37
|
+
<%= link_rel("/archives/archive-#{month_posts[0].year + month_posts[0].month}.html")%>
|
38
|
+
'>
|
39
|
+
<%= month_posts[0].year + "/" + month_posts[0].month %>
|
40
|
+
<b>(<%= month_posts.length %>)</b>
|
41
|
+
</a>
|
42
|
+
<% end if $blog.posts? %>
|
43
|
+
</li -->
|
44
|
+
<li><span class="menu-section-title"><b>Links:</b></span>
|
45
|
+
<% $blog.links.each do |name,url| %>
|
46
|
+
<a href='<%= url %>'> <%= name %> </a>
|
47
|
+
<% end %>
|
48
|
+
</li>
|
49
|
+
</ul>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
<div class="buttons">
|
53
|
+
<% $blog.buttons.each do |img,url| %>
|
54
|
+
<a href='<%= url %>'> <img src='<%= link_rel("/images/#{img}") %>'/></a>
|
55
|
+
<% end %>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<div class="header">
|
59
|
+
<span class="header-title">$ cat /dev/random</span><br />
|
60
|
+
<span class="header-title-two">ripley's miscellanous debris</span>
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<div class="centre">
|
64
|
+
<%= @content_for_layout %>
|
65
|
+
<!-- %= @blog_posts %-->
|
66
|
+
</div>
|
67
|
+
|
68
|
+
<div class="pied">
|
69
|
+
<div>
|
70
|
+
Full of CC licensed <a href="mailto:ripley_at_NOSPAMNOFLAME_salug.it">ripley</a>'s debris
|
71
|
+
</div>
|
72
|
+
<div>
|
73
|
+
HTML and CSS Design by
|
74
|
+
<a href="http://nicolas.freezee.org" target="_BLANK">Nicolas Fafchamps</a>
|
75
|
+
</div>
|
76
|
+
<div align='right'>
|
77
|
+
<span>Generate with</span>
|
78
|
+
<%# use the link_rel helper to make absolute links relative to current page #%>
|
79
|
+
<a href='http://rote.rubyforge.org/' target='_blank'>
|
80
|
+
<img src='<%= link_rel '/images/rote-tiny.png' %>' alt='Rote'/>
|
81
|
+
</a>
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
|
85
|
+
</div>
|
86
|
+
</body>
|
87
|
+
</html>
|