rblosxom 0.1.1 → 0.1.2
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/ChangeLog +3 -1
- data/README.rdoc +1 -8
- data/demo/grid.rb +1 -0
- data/demo/main.rb +1 -0
- data/lib/rblosxom/base.rb +45 -4
- data/public/sass/screen.sass +9 -5
- data/public/stylesheets/grid.css +2 -2
- data/public/stylesheets/screen.css +4 -3
- data/rblosxom.gemspec +2 -2
- data/views/footer.haml +1 -1
- data/views/grid.haml +3 -3
- data/views/header.haml +3 -2
- data/views/layout.haml +3 -3
- metadata +10 -10
data/ChangeLog
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
2010-01-19 Percy Lau <percy.lau@gmail.com> 0.1.2
|
2
|
+
* Added logger handler, category_list and archive_list helper
|
3
|
+
|
1
4
|
2009-12-23 Percy Lau <percy.lau@gmail.com> 0.1.1
|
2
5
|
* Added Rblosxom options root, config_file, config
|
3
6
|
|
4
7
|
2009-12-20 Percy Lau <percy.lau@gmail.com> 0.1.0
|
5
|
-
|
6
8
|
* rblosxom init
|
data/README.rdoc
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
README
|
2
|
-
======
|
3
1
|
[rblosxom][rblosxom]是一个[blosxom][blosxom]程序,
|
4
2
|
它使用了下面的框架和工具:
|
5
3
|
|
@@ -8,7 +6,7 @@ README
|
|
8
6
|
- [rdiscount][rdiscount]
|
9
7
|
- [compass-960][compass_960]
|
10
8
|
|
11
|
-
|
9
|
+
目前版本0.1.2
|
12
10
|
|
13
11
|
Author
|
14
12
|
------
|
@@ -22,10 +20,6 @@ Install
|
|
22
20
|
-------
|
23
21
|
Please see the [INSTALL][install].
|
24
22
|
|
25
|
-
More Information
|
26
|
-
----------------
|
27
|
-
Please see the [wiki][wiki].
|
28
|
-
|
29
23
|
License
|
30
24
|
-------
|
31
25
|
Released under [MIT License][license].
|
@@ -37,7 +31,6 @@ Released under [MIT License][license].
|
|
37
31
|
[rdiscount]: http://github.com/rtomayko/rdiscount/
|
38
32
|
[compass_960]: http://github.com/chriseppstein/compass-960-plugin/
|
39
33
|
[rblosxom]: http://bitbucket.org/itsucks/rblosxom/
|
40
|
-
[wiki]: http://bitbucket.org/itsucks/rblosxom/wiki/
|
41
34
|
[license]: http://bitbucket.org/itsucks/rblosxom/src/tip/MIT-LICENSE
|
42
35
|
[install]: http://bitbucket.org/itsucks/rblosxom/src/tip/INSTALL
|
43
36
|
[changelog]: http://bitbucket.org/itsucks/rblosxom/src/tip/ChangeLog
|
data/demo/grid.rb
CHANGED
data/demo/main.rb
CHANGED
data/lib/rblosxom/base.rb
CHANGED
@@ -14,11 +14,51 @@ module Rblosxom
|
|
14
14
|
|
15
15
|
module Helpers
|
16
16
|
def set_common_variables
|
17
|
+
require 'ftools'
|
18
|
+
require 'logger'
|
17
19
|
@config = options.config
|
20
|
+
@log = Proc.new {
|
21
|
+
if options.log_file
|
22
|
+
begin
|
23
|
+
unless File.exist?(options.log_file)
|
24
|
+
File.makedirs(File.dirname(options.log_file))
|
25
|
+
File.new(options.log_file, "w")
|
26
|
+
end
|
27
|
+
log = File.writable?(options.log_file) ? Logger.new(options.log_file) : Logger.new(STDOUT)
|
28
|
+
rescue
|
29
|
+
log = Logger.new(STDOUT)
|
30
|
+
end
|
31
|
+
else
|
32
|
+
log = Logger.new(STDOUT)
|
33
|
+
end
|
34
|
+
log.progname = "#{::Rblosxom.name}"
|
35
|
+
log.level = Logger::INFO
|
36
|
+
log.datetime_format = "%Y-%m-%d %H:%M:%S %Z "
|
37
|
+
log
|
38
|
+
}.call
|
18
39
|
|
19
40
|
require 'date'
|
20
41
|
@footer = { :year => %/#{DateTime.now.year}/, :copyright => %/#{options.config["copyright"]}/, :generator => %/rblosxom #{::Rblosxom::Version::STRING}/ }
|
21
42
|
end
|
43
|
+
|
44
|
+
# all category list
|
45
|
+
def category_list
|
46
|
+
list = []
|
47
|
+
Dir["#{options.config["datadir"]}/**/*"].each do |path|
|
48
|
+
list.push([path, Dir["#{path}/*.#{options.config["file_extension"]}"].length]) if File.directory? path
|
49
|
+
end
|
50
|
+
list
|
51
|
+
end
|
52
|
+
|
53
|
+
# this year archive list
|
54
|
+
def archive_list
|
55
|
+
list = []
|
56
|
+
now = DateTime.now
|
57
|
+
this_year = now.year
|
58
|
+
this_month = now.month
|
59
|
+
1.upto(now.month) { |m| list.push(DateTime.new(this_year, m)) }
|
60
|
+
list
|
61
|
+
end
|
22
62
|
end
|
23
63
|
|
24
64
|
class Base < Sinatra::Base
|
@@ -27,24 +67,25 @@ module Rblosxom
|
|
27
67
|
unless defined? CONFIG
|
28
68
|
CONFIG = YAML.load(<<-END)
|
29
69
|
title: Rblosxom
|
30
|
-
slogan:
|
31
|
-
|
70
|
+
slogan: a blosxom program.
|
71
|
+
keywords: ruby, blosxom.
|
72
|
+
description: Rblosxom is a blosxom program.
|
32
73
|
language: en
|
33
74
|
datadir: /data
|
34
|
-
url: http://
|
75
|
+
url: http://rblosxom.heroku.com/
|
35
76
|
depth: 0
|
36
77
|
num_entries: 40
|
37
78
|
file_extension: mkd
|
38
79
|
default_flavour: html
|
39
80
|
show_future_entries: 0
|
40
81
|
theme: default
|
41
|
-
logger_level: info
|
42
82
|
copyright: Rblosxom
|
43
83
|
END
|
44
84
|
end
|
45
85
|
|
46
86
|
class << self
|
47
87
|
attr_accessor :config_file
|
88
|
+
attr_accessor :log_file
|
48
89
|
attr_reader :config
|
49
90
|
end
|
50
91
|
set :config, Proc.new { config_file ? YAML::load(File.read(config_file)) : CONFIG }
|
data/public/sass/screen.sass
CHANGED
@@ -68,13 +68,13 @@ body
|
|
68
68
|
:text-decoration none
|
69
69
|
:color #999
|
70
70
|
:font-weight bold
|
71
|
-
&:after
|
72
|
-
:text-decoration none
|
73
|
-
:color #333
|
74
71
|
&.active
|
75
72
|
:text-decoration none
|
76
73
|
:color #F90
|
77
74
|
:font-weight bold
|
75
|
+
&:hover
|
76
|
+
:text-decoration none
|
77
|
+
:color #333
|
78
78
|
|
79
79
|
#main
|
80
80
|
p
|
@@ -90,14 +90,18 @@ body
|
|
90
90
|
:color #F90
|
91
91
|
:border-bottom 1px solid #E5E5E5
|
92
92
|
.content
|
93
|
-
+grid(
|
93
|
+
+grid(9,12)
|
94
94
|
img
|
95
95
|
:border 1px solid #CDCDCD
|
96
96
|
:float left
|
97
97
|
:margin 0px 15px 5px
|
98
98
|
:padding 5px
|
99
99
|
.sidebar
|
100
|
-
+grid(
|
100
|
+
+grid(3,12)
|
101
|
+
p.title
|
102
|
+
:margin 0px 20px
|
103
|
+
:font-weight bold
|
104
|
+
:font-style oblique
|
101
105
|
|
102
106
|
#footer
|
103
107
|
.inner
|
data/public/stylesheets/grid.css
CHANGED
@@ -205,6 +205,6 @@ body > #wrap { height: auto; min-height: 100%; }
|
|
205
205
|
.clearfix { display: block; }
|
206
206
|
|
207
207
|
/* End hide from IE-mac */
|
208
|
-
.g12 { background-image: url('/images/12_col.gif?
|
208
|
+
.g12 { background-image: url('/images/12_col.gif?1261547183'); background-repeat: repeat-y; }
|
209
209
|
|
210
|
-
.g16 { background-image: url('/images/16_col.gif?
|
210
|
+
.g16 { background-image: url('/images/16_col.gif?1261547183'); background-repeat: repeat-y; }
|
@@ -101,15 +101,16 @@ body { background-color: white; color: #666666; }
|
|
101
101
|
#header ul { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 460px; list-style-type: none; text-align: right; color: #CCC; padding: 0; margin: 40px 15px 0 0; }
|
102
102
|
#header ul li { display: inline; margin: 0 0 0 10px; }
|
103
103
|
#header ul li a { text-decoration: none; color: #999; font-weight: bold; }
|
104
|
-
#header ul li a:after { text-decoration: none; color: #333; }
|
105
104
|
#header ul li a.active { text-decoration: none; color: #F90; font-weight: bold; }
|
105
|
+
#header ul li a:hover { text-decoration: none; color: #333; }
|
106
106
|
|
107
107
|
#main p { margin: 0 15px 15px 15px; }
|
108
108
|
#main h1 { color: #F90; font-size: 140%; }
|
109
109
|
#main h2, #main h3 { margin: 0 0 15px 0; padding: 5px 15px; font-size: 120%; font-weight: normal; color: #F90; border-bottom: 1px solid #E5E5E5; }
|
110
|
-
#main .content { display: inline; float: left; margin-left: 10px; margin-right: 10px; width:
|
110
|
+
#main .content { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 700px; }
|
111
111
|
#main .content img { border: 1px solid #CDCDCD; float: left; margin: 0px 15px 5px; padding: 5px; }
|
112
|
-
#main .sidebar { display: inline; float: left; margin-left: 10px; margin-right: 10px; width:
|
112
|
+
#main .sidebar { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 220px; }
|
113
|
+
#main .sidebar p.title { margin: 0px 20px; font-weight: bold; font-style: oblique; }
|
113
114
|
|
114
115
|
#footer .inner { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 940px; border-top: 2px solid #F90; color: #999; }
|
115
116
|
#footer .inner a { color: #999; text-decoration: none; }
|
data/rblosxom.gemspec
CHANGED
data/views/footer.haml
CHANGED
data/views/grid.haml
CHANGED
@@ -3,15 +3,15 @@
|
|
3
3
|
%head
|
4
4
|
%title
|
5
5
|
= @config["title"]
|
6
|
-
|
6
|
+
960 grid
|
7
7
|
%meta{ "http-equiv" => "Content-Type", "content" => "application/xhtml+xml; charset=utf-8" }
|
8
8
|
%meta{ "http-equiv" => "Content-Language", "content" => "zh-cn" }
|
9
|
-
|
10
9
|
%meta{ "name" => "Language", "content" => "chinese" }
|
11
|
-
%meta{ "name" => "robots", "content" => "index, follow, all" }
|
12
10
|
%meta{ "name" => "generator", "content" => "#{@footer[:generator]}" }
|
13
11
|
%meta{ :name => "robots", :content => "index, follow, noarchive" }
|
14
12
|
%meta{ :name => "googlebot", :content => "noarchive" }
|
13
|
+
%meta{ "name" => "description", "content" => "960 grid demo" }
|
14
|
+
%meta{ "name" => "keywords", "content" => "compass 960gs" }
|
15
15
|
|
16
16
|
%link{ :rel => "stylesheet", :href => "/stylesheets/grid.css", :media => "screen", :type => "text/css" }
|
17
17
|
|
data/views/header.haml
CHANGED
data/views/layout.haml
CHANGED
@@ -4,12 +4,12 @@
|
|
4
4
|
%title= @config["title"]
|
5
5
|
%meta{ "http-equiv" => "Content-Type", "content" => "application/xhtml+xml; charset=utf-8" }
|
6
6
|
%meta{ "http-equiv" => "Content-Language", "content" => "zh-cn" }
|
7
|
-
|
8
7
|
%meta{ "name" => "Language", "content" => "chinese" }
|
9
|
-
%meta{ "name" => "
|
10
|
-
%meta{ "name" => "generator", "content" => "#{@config["generator"]}" }
|
8
|
+
%meta{ "name" => "generator", "content" => "#{@footer[:generator]}" }
|
11
9
|
%meta{ :name => "robots", :content => "index, follow, noarchive" }
|
12
10
|
%meta{ :name => "googlebot", :content => "noarchive" }
|
11
|
+
%meta{ "name" => "description", "content" => @config["description"] }
|
12
|
+
%meta{ "name" => "keywords", "content" => @config["keywords"] }
|
13
13
|
|
14
14
|
%link{ :rel => "stylesheet", :href => "/stylesheets/screen.css", :media => "screen", :type => "text/css" }
|
15
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rblosxom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Percy Lau
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-19 00:00:00 +08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -74,22 +74,22 @@ files:
|
|
74
74
|
- MIT-LICENSE
|
75
75
|
- AUTHORS
|
76
76
|
- config/rackup.ru
|
77
|
-
- demo/main.rb
|
78
77
|
- demo/grid.rb
|
79
|
-
-
|
78
|
+
- demo/main.rb
|
80
79
|
- public/images/12_col.gif
|
81
|
-
- public/
|
80
|
+
- public/images/16_col.gif
|
82
81
|
- public/sass/_sticky_footer.sass
|
83
82
|
- public/sass/_grid.sass
|
84
83
|
- public/sass/grid.sass
|
84
|
+
- public/sass/_debug.sass
|
85
85
|
- public/sass/screen.sass
|
86
|
-
- public/stylesheets/grid.css
|
87
86
|
- public/stylesheets/screen.css
|
88
|
-
-
|
89
|
-
- views/footer.haml
|
90
|
-
- views/index.haml
|
87
|
+
- public/stylesheets/grid.css
|
91
88
|
- views/header.haml
|
92
89
|
- views/grid.haml
|
90
|
+
- views/layout.haml
|
91
|
+
- views/index.haml
|
92
|
+
- views/footer.haml
|
93
93
|
- rblosxom.gemspec
|
94
94
|
has_rdoc: true
|
95
95
|
homepage: http://rblosxom.heroku.com/
|
@@ -100,7 +100,7 @@ rdoc_options:
|
|
100
100
|
- --line-numbers
|
101
101
|
- --inline-source
|
102
102
|
- --title
|
103
|
-
- rblosxom 0.1.
|
103
|
+
- rblosxom 0.1.2
|
104
104
|
- --main
|
105
105
|
- README.rdoc
|
106
106
|
- --webcvs
|