rog 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|