rblosxom 0.1.2 → 0.1.3
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 +6 -0
- data/INSTALL +9 -8
- data/Manifest +32 -0
- data/{README.rdoc → README.mkd} +4 -6
- data/Rakefile +18 -0
- data/VERSION +1 -0
- data/config/rackup.ru +9 -0
- data/demo/main.rb +3 -2
- data/demo/wiki_render.rb +67 -0
- data/lib/rblosxom/base.rb +3 -2
- data/public/config.rb +13 -0
- data/public/sass/grid.sass +19 -14
- data/public/sass/screen.sass +33 -31
- data/public/stylesheets/grid.css +12 -6
- data/public/stylesheets/screen.css +16 -17
- data/rblosxom.gemspec +38 -35
- data/views/404.haml +2 -0
- data/views/500.haml +2 -0
- data/views/grid.haml +4 -3
- data/views/index.haml +3 -2
- data/views/wiki.haml +8 -0
- data/views/wikis.haml +11 -0
- metadata +81 -56
- data/public/sass/_debug.sass +0 -9
- data/public/sass/_grid.sass +0 -16
- data/public/sass/_sticky_footer.sass +0 -30
data/ChangeLog
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
2011-01-01 Percy Lau <percy.lau@gmail.com> 0.1.3
|
2
|
+
* Added wiki_render, Up to ruby1.9
|
3
|
+
|
4
|
+
2010-03-22 Percy Lau <percy.lau@gmail.com> 0.1.3b
|
5
|
+
* Added itsucks-compass-960-plugin
|
6
|
+
|
1
7
|
2010-01-19 Percy Lau <percy.lau@gmail.com> 0.1.2
|
2
8
|
* Added logger handler, category_list and archive_list helper
|
3
9
|
|
data/INSTALL
CHANGED
@@ -1,25 +1,26 @@
|
|
1
|
-
INSTALL
|
2
|
-
-------
|
1
|
+
== INSTALL
|
3
2
|
|
4
3
|
安装 rblosxom gem:
|
5
4
|
$ gem install rblosxom --source http://gemcutter.org
|
6
5
|
|
7
6
|
运行 demo:
|
8
|
-
$
|
7
|
+
$ rblosxom-demo
|
9
8
|
|
10
9
|
通过浏览器访问 http://127.0.0.1:7878/
|
11
10
|
|
12
|
-
HACKING
|
13
|
-
-------
|
11
|
+
== HACKING
|
14
12
|
|
15
13
|
下载 source
|
16
|
-
$ hg clone https://
|
14
|
+
$ hg clone https://pernn@bitbucket.org/pernn/rblosxom
|
17
15
|
|
18
|
-
|
19
|
-
$ gem install sinatra, haml, rdiscount, compass
|
16
|
+
安装 rack, sinatra, haml, rdiscount, itsucks-compass-960-plugin
|
17
|
+
$ gem install sinatra, haml, rdiscount, itsucks-compass-960-plugin
|
20
18
|
|
21
19
|
定制 theme:
|
22
20
|
$ compass -r ninesixty -f 960 --sass-dir=sass --css-dir=stylesheets --javascript-dir=javascripts --images-dir=images public
|
23
21
|
|
24
22
|
更新 css:
|
25
23
|
$ compass -u public
|
24
|
+
|
25
|
+
运行:
|
26
|
+
$ rackup config/rackup.ru
|
data/Manifest
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
AUTHORS
|
2
|
+
ChangeLog
|
3
|
+
INSTALL
|
4
|
+
MIT-LICENSE
|
5
|
+
Manifest
|
6
|
+
README.mkd
|
7
|
+
Rakefile
|
8
|
+
VERSION
|
9
|
+
bin/rblosxom-demo
|
10
|
+
config/rackup.ru
|
11
|
+
demo/grid.rb
|
12
|
+
demo/main.rb
|
13
|
+
demo/wiki_render.rb
|
14
|
+
lib/rblosxom.rb
|
15
|
+
lib/rblosxom/base.rb
|
16
|
+
public/config.rb
|
17
|
+
public/images/12_col.gif
|
18
|
+
public/images/16_col.gif
|
19
|
+
public/sass/grid.sass
|
20
|
+
public/sass/screen.sass
|
21
|
+
public/stylesheets/grid.css
|
22
|
+
public/stylesheets/screen.css
|
23
|
+
rblosxom.gemspec
|
24
|
+
views/footer.haml
|
25
|
+
views/grid.haml
|
26
|
+
views/header.haml
|
27
|
+
views/index.haml
|
28
|
+
views/layout.haml
|
29
|
+
views/404.haml
|
30
|
+
views/500.haml
|
31
|
+
views/wiki.haml
|
32
|
+
views/wikis.haml
|
data/{README.rdoc → README.mkd}
RENAMED
@@ -6,8 +6,6 @@
|
|
6
6
|
- [rdiscount][rdiscount]
|
7
7
|
- [compass-960][compass_960]
|
8
8
|
|
9
|
-
目前版本0.1.2
|
10
|
-
|
11
9
|
Author
|
12
10
|
------
|
13
11
|
Percy Lau <percy.lau@gmail.com>
|
@@ -30,7 +28,7 @@ Released under [MIT License][license].
|
|
30
28
|
[haml]: http://haml.hamptoncatlin.com/
|
31
29
|
[rdiscount]: http://github.com/rtomayko/rdiscount/
|
32
30
|
[compass_960]: http://github.com/chriseppstein/compass-960-plugin/
|
33
|
-
[rblosxom]: http://bitbucket.org/
|
34
|
-
[license]: http://bitbucket.org/
|
35
|
-
[install]: http://bitbucket.org/
|
36
|
-
[changelog]: http://bitbucket.org/
|
31
|
+
[rblosxom]: http://bitbucket.org/pernn/rblosxom/
|
32
|
+
[license]: http://bitbucket.org/pernn/rblosxom/src/tip/MIT-LICENSE
|
33
|
+
[install]: http://bitbucket.org/pernn/rblosxom/src/tip/INSTALL
|
34
|
+
[changelog]: http://bitbucket.org/pernn/rblosxom/src/tip/ChangeLog
|
data/Rakefile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
begin
|
2
|
+
require 'echoe'
|
3
|
+
|
4
|
+
Echoe.new('rblosxom', open('VERSION').read) do |p|
|
5
|
+
p.summary = "Ruby based blosxom."
|
6
|
+
p.description = "Rblosxom is a blosxom program written in ruby."
|
7
|
+
p.url = "http://rblosxom.heroku.com"
|
8
|
+
p.author = ['Percy Lau']
|
9
|
+
p.email = "percy.lau@gmail.com"
|
10
|
+
p.runtime_dependencies = ['sinatra', 'haml', 'rdiscount']
|
11
|
+
p.development_dependencies = ['itsucks-compass-960-plugin']
|
12
|
+
p.has_rdoc = false
|
13
|
+
end
|
14
|
+
|
15
|
+
rescue LoadError => boom
|
16
|
+
puts "You are missing a dependency required for meta-operations on this gem."
|
17
|
+
puts "#{boom.to_s.capitalize}."
|
18
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.3
|
data/config/rackup.ru
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'sinatra'
|
2
|
+
require 'logger'
|
2
3
|
begin
|
3
4
|
require 'rblosxom'
|
4
5
|
rescue LoadError => e
|
6
|
+
topdir = File.expand_path("../", File.dirname(__FILE__))
|
7
|
+
$LOAD_PATH.unshift(topdir) unless $LOAD_PATH.include?(topdir)
|
5
8
|
require 'lib/rblosxom'
|
6
9
|
end
|
7
10
|
|
@@ -11,6 +14,7 @@ set :environment, :development
|
|
11
14
|
$LOAD_PATH.unshift File.expand_path("../demo", File.dirname(__FILE__))
|
12
15
|
|
13
16
|
require 'main'
|
17
|
+
Rblosxom::Main.log_level = Logger::DEBUG
|
14
18
|
map "/" do
|
15
19
|
run Rblosxom::Main
|
16
20
|
end
|
@@ -19,3 +23,8 @@ require 'grid'
|
|
19
23
|
map '/grid' do
|
20
24
|
run Rblosxom::Grid
|
21
25
|
end
|
26
|
+
|
27
|
+
require 'wiki_render'
|
28
|
+
map '/wiki' do
|
29
|
+
run Rblosxom::Wiki
|
30
|
+
end
|
data/demo/main.rb
CHANGED
@@ -5,8 +5,9 @@ module Rblosxom
|
|
5
5
|
get '/?' do
|
6
6
|
set_common_variables
|
7
7
|
@log.info "Main start"
|
8
|
-
|
9
|
-
|
8
|
+
@log.debug "Main debug"
|
9
|
+
content = File.read(File.expand_path("../README.mkd", File.dirname(__FILE__)))
|
10
|
+
haml :index, :layout => true, :locals => { :content => content }
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
data/demo/wiki_render.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'rblosxom/base'
|
2
|
+
require 'rdiscount'
|
3
|
+
|
4
|
+
module Rblosxom
|
5
|
+
class Base < Sinatra::Base
|
6
|
+
not_found do
|
7
|
+
haml :'404', :layout => false
|
8
|
+
end
|
9
|
+
|
10
|
+
error do
|
11
|
+
haml :'500', :layout => false
|
12
|
+
end
|
13
|
+
|
14
|
+
helpers do
|
15
|
+
def title
|
16
|
+
File.basename(Dir.getwd).gsub(/_/, ' ')
|
17
|
+
end
|
18
|
+
|
19
|
+
def pages
|
20
|
+
(Dir["**/*.mkd"] + Dir["**/*.markdown"] + Dir["**/*.textile"]).sort
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
class Wiki < Base
|
26
|
+
get '/?' do
|
27
|
+
set_common_variables
|
28
|
+
@log.info "Wiki Render start"
|
29
|
+
@log.debug "Wiki Render debug"
|
30
|
+
|
31
|
+
# If there is only one file present, serve that instantly.`
|
32
|
+
redirect "/wiki/#{pages.first}", 302 if pages.size == 1
|
33
|
+
|
34
|
+
haml :wikis, :layout => true
|
35
|
+
end
|
36
|
+
|
37
|
+
page_regex = '(?:/[.\w]+)+'
|
38
|
+
page_url = %r@^(#{page_regex})\b$@
|
39
|
+
get page_url do
|
40
|
+
set_common_variables
|
41
|
+
@log.info "Wiki Render #{request.env["PATH_INFO"]}"
|
42
|
+
@log.info "Wiki Render #{params[:captures]}"
|
43
|
+
|
44
|
+
request_file = request.env["PATH_INFO"][1..-1]
|
45
|
+
begin
|
46
|
+
content = File.open(request_file) do |file|
|
47
|
+
ext = request_file.split(".")[-1];
|
48
|
+
case ext
|
49
|
+
when "markdown", "mkd"
|
50
|
+
RDiscount.new(file.read).to_html
|
51
|
+
when "textile"
|
52
|
+
RedCloth.new(file.read).to_html
|
53
|
+
else
|
54
|
+
file.read
|
55
|
+
end
|
56
|
+
end
|
57
|
+
haml :wiki, :layout => true, :locals => { :content => content }
|
58
|
+
rescue
|
59
|
+
#raise Sinatra::NotFound
|
60
|
+
halt 404, 'page not found!'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# vim: ft=ruby:fenc=utf-8:sw=4:ts=4:sts=4:et:
|
67
|
+
# wiki_render.rb end here
|
data/lib/rblosxom/base.rb
CHANGED
@@ -14,7 +14,7 @@ module Rblosxom
|
|
14
14
|
|
15
15
|
module Helpers
|
16
16
|
def set_common_variables
|
17
|
-
require '
|
17
|
+
require 'fileutils'
|
18
18
|
require 'logger'
|
19
19
|
@config = options.config
|
20
20
|
@log = Proc.new {
|
@@ -32,7 +32,7 @@ module Rblosxom
|
|
32
32
|
log = Logger.new(STDOUT)
|
33
33
|
end
|
34
34
|
log.progname = "#{::Rblosxom.name}"
|
35
|
-
log.level = Logger::INFO
|
35
|
+
log.level = options.log_level ? options.log_level : Logger::INFO
|
36
36
|
log.datetime_format = "%Y-%m-%d %H:%M:%S %Z "
|
37
37
|
log
|
38
38
|
}.call
|
@@ -86,6 +86,7 @@ module Rblosxom
|
|
86
86
|
class << self
|
87
87
|
attr_accessor :config_file
|
88
88
|
attr_accessor :log_file
|
89
|
+
attr_accessor :log_level
|
89
90
|
attr_reader :config
|
90
91
|
end
|
91
92
|
set :config, Proc.new { config_file ? YAML::load(File.read(config_file)) : CONFIG }
|
data/public/config.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'ninesixty'
|
2
|
+
# Require any additional compass plugins here.
|
3
|
+
|
4
|
+
project_type = :stand_alone
|
5
|
+
# Set this to the root of your project when deployed:
|
6
|
+
http_path = "/"
|
7
|
+
css_dir = "stylesheets"
|
8
|
+
sass_dir = "sass"
|
9
|
+
images_dir = "images"
|
10
|
+
javascripts_dir = "javascripts"
|
11
|
+
output_style = :compact
|
12
|
+
# To enable relative paths to assets via compass helper functions. Uncomment:
|
13
|
+
# relative_assets = true
|
data/public/sass/grid.sass
CHANGED
@@ -1,11 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
/*
|
2
|
+
960 Grid System ~ Core CSS.
|
3
|
+
Learn more ~ http://960.gs/
|
4
|
+
|
5
|
+
Licensed under GPL and MIT.
|
6
|
+
|
7
|
+
/* Layout
|
8
|
+
/* %body
|
9
|
+
/* #wrap
|
10
|
+
/* #header
|
11
|
+
/* #main.clearfix
|
12
|
+
/* .g12
|
13
|
+
/* .g16
|
14
|
+
/* #footer
|
9
15
|
|
10
16
|
/* @import compass/reset.sass
|
11
17
|
/* +global-reset
|
@@ -15,9 +21,8 @@
|
|
15
21
|
@import 960/text.sass
|
16
22
|
+text
|
17
23
|
|
18
|
-
@import
|
19
|
-
@import
|
20
|
-
@import _sticky_footer.sass
|
24
|
+
@import 960/debug.sass
|
25
|
+
@import 960/sticky_footer.sass
|
21
26
|
|
22
27
|
!background_color = #123
|
23
28
|
!text_color = #27261f
|
@@ -78,6 +83,6 @@ body
|
|
78
83
|
|
79
84
|
+sticky-footer(!footer_height, "#wrap", "#main", "#footer")
|
80
85
|
|
81
|
-
|
82
|
-
+
|
83
|
-
+
|
86
|
+
/* Debug
|
87
|
+
+showgrid_12(".g12")
|
88
|
+
+showgrid_16(".g16")
|
data/public/sass/screen.sass
CHANGED
@@ -1,12 +1,19 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
/*
|
2
|
+
960 Grid System ~ Core CSS.
|
3
|
+
Learn more ~ http://960.gs/
|
4
|
+
|
5
|
+
Licensed under GPL and MIT.
|
6
|
+
|
7
|
+
/*
|
8
|
+
Layout
|
9
|
+
%body
|
10
|
+
#wrap
|
11
|
+
#header
|
12
|
+
#main.clearfix
|
13
|
+
.g12
|
14
|
+
.content
|
15
|
+
.sidebar
|
16
|
+
#footer
|
10
17
|
|
11
18
|
/* @import compass/reset.sass
|
12
19
|
/* +global-reset
|
@@ -16,12 +23,11 @@
|
|
16
23
|
@import 960/text.sass
|
17
24
|
+text
|
18
25
|
|
19
|
-
@import
|
20
|
-
@import
|
21
|
-
@import _sticky_footer.sass
|
26
|
+
@import 960/debug.sass
|
27
|
+
@import 960/sticky_footer.sass
|
22
28
|
|
23
|
-
!background_color =
|
24
|
-
!text_color =
|
29
|
+
!background_color = #F1F1F1
|
30
|
+
!text_color = black
|
25
31
|
!header_height = 80px
|
26
32
|
!footer_height = 3em
|
27
33
|
|
@@ -40,20 +46,25 @@ body
|
|
40
46
|
+grid-pushs
|
41
47
|
+grid-pulls
|
42
48
|
+grid-children
|
49
|
+
:-moz-border-radius 10px
|
50
|
+
:-webkit-border-radius 10px
|
51
|
+
:background-color white
|
52
|
+
:padding-top 1em
|
53
|
+
:border 3px solid #CCC
|
43
54
|
|
44
55
|
#header
|
45
56
|
:height= !header_height
|
46
|
-
:border-bottom 2px solid #F90
|
47
57
|
h1
|
48
58
|
+grid(6,12)
|
49
|
-
:color #F90
|
50
59
|
:letter-spacing -1px
|
51
60
|
:margin 30px 0px 0px 15px
|
52
61
|
:padding 0
|
53
62
|
:font-weight normal
|
63
|
+
:color #383
|
54
64
|
span
|
65
|
+
:color black
|
55
66
|
:font-size 16px
|
56
|
-
:color #
|
67
|
+
:color #CCC
|
57
68
|
ul
|
58
69
|
+grid(6,12)
|
59
70
|
:list-style-type none
|
@@ -65,29 +76,25 @@ body
|
|
65
76
|
:display inline
|
66
77
|
:margin 0 0 0 10px
|
67
78
|
a
|
68
|
-
:text-decoration none
|
69
|
-
:color #999
|
70
|
-
:font-weight bold
|
71
79
|
&.active
|
72
80
|
:text-decoration none
|
73
|
-
:color #F90
|
74
81
|
:font-weight bold
|
75
82
|
&:hover
|
76
83
|
:text-decoration none
|
77
|
-
:color #333
|
78
84
|
|
79
85
|
#main
|
86
|
+
a
|
87
|
+
&:hover
|
88
|
+
:text-decoration none
|
80
89
|
p
|
81
90
|
:margin 0 15px 15px 15px
|
82
91
|
h1
|
83
|
-
:color #F90
|
84
92
|
:font-size 140%
|
85
93
|
h2, h3
|
86
94
|
:margin 0 0 15px 0
|
87
95
|
:padding 5px 15px
|
88
96
|
:font-size 120%
|
89
97
|
:font-weight normal
|
90
|
-
:color #F90
|
91
98
|
:border-bottom 1px solid #E5E5E5
|
92
99
|
.content
|
93
100
|
+grid(9,12)
|
@@ -106,13 +113,8 @@ body
|
|
106
113
|
#footer
|
107
114
|
.inner
|
108
115
|
+grid(12,12)
|
109
|
-
:border-top 2px solid #F90
|
110
|
-
:color #999
|
111
116
|
a
|
112
|
-
:color #999
|
113
|
-
:text-decoration none
|
114
117
|
&:hover
|
115
|
-
:color #F90
|
116
118
|
:text-decoration none
|
117
119
|
.left
|
118
120
|
:float left
|
@@ -122,5 +124,5 @@ body
|
|
122
124
|
|
123
125
|
+sticky-footer(!footer_height, "#wrap", "#main", "#footer")
|
124
126
|
|
125
|
-
|
126
|
-
/* +
|
127
|
+
/* Debug
|
128
|
+
/* +showgrid_12(".g12")
|
data/public/stylesheets/grid.css
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
/* 960 Grid System ~ Core CSS. Learn more ~ http://960.gs/ Licensed under GPL and MIT. */
|
2
|
+
/* Layout */
|
3
|
+
/* %body */
|
4
|
+
/* #wrap */
|
5
|
+
/* #header */
|
6
|
+
/* #main.clearfix */
|
7
|
+
/* .g12 */
|
8
|
+
/* .g16 */
|
9
|
+
/* #footer */
|
1
10
|
/* @import compass/reset.sass */
|
2
11
|
/* +global-reset */
|
3
12
|
body { font: 13px/1.5 Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif; }
|
@@ -26,10 +35,6 @@ li { margin-left: 30px; }
|
|
26
35
|
|
27
36
|
p, dl, hr, h1, h2, h3, h4, h5, h6, ol, ul, pre, table, address, fieldset { margin-bottom: 20px; }
|
28
37
|
|
29
|
-
/* add 960 pull, push classes */
|
30
|
-
|
31
|
-
/* selector= container */
|
32
|
-
|
33
38
|
body { background-color: #112233; color: #27261f; }
|
34
39
|
|
35
40
|
#header, #footer, .g12, .g16 { margin-left: auto; margin-right: auto; width: 960px; overflow: hidden; display: inline-block; }
|
@@ -205,6 +210,7 @@ body > #wrap { height: auto; min-height: 100%; }
|
|
205
210
|
.clearfix { display: block; }
|
206
211
|
|
207
212
|
/* End hide from IE-mac */
|
208
|
-
|
213
|
+
/* Debug */
|
214
|
+
.g12 { background-image: url('/images/12_col.gif?1269189232'); background-repeat: repeat-y; }
|
209
215
|
|
210
|
-
.g16 { background-image: url('/images/16_col.gif?
|
216
|
+
.g16 { background-image: url('/images/16_col.gif?1269189232'); background-repeat: repeat-y; }
|
@@ -1,3 +1,5 @@
|
|
1
|
+
/* 960 Grid System ~ Core CSS. Learn more ~ http://960.gs/ Licensed under GPL and MIT. */
|
2
|
+
/* Layout %body #wrap #header #main.clearfix .g12 .content .sidebar #footer */
|
1
3
|
/* @import compass/reset.sass */
|
2
4
|
/* +global-reset */
|
3
5
|
body { font: 13px/1.5 Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif; }
|
@@ -26,15 +28,12 @@ li { margin-left: 30px; }
|
|
26
28
|
|
27
29
|
p, dl, hr, h1, h2, h3, h4, h5, h6, ol, ul, pre, table, address, fieldset { margin-bottom: 20px; }
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
/* selector= container */
|
32
|
-
|
33
|
-
body { background-color: white; color: #666666; }
|
31
|
+
body { background-color: #f1f1f1; color: black; }
|
34
32
|
|
35
33
|
#header, #footer, .g12 { margin-left: auto; margin-right: auto; width: 960px; overflow: hidden; display: inline-block; }
|
36
34
|
#header, #footer, .g12 { display: block; }
|
37
35
|
|
36
|
+
.g12 { -moz-border-radius: 10px; -webkit-border-radius: 10px; background-color: white; padding-top: 1em; border: 3px solid #CCC; }
|
38
37
|
.g12 .grid_1, .g12 .grid_2, .g12 .grid_3, .g12 .grid_4, .g12 .grid_5, .g12 .grid_6, .g12 .grid_7, .g12 .grid_8, .g12 .grid_9, .g12 .grid_10, .g12 .grid_11, .g12 .grid_12 { display: inline; float: left; margin-left: 10px; margin-right: 10px; }
|
39
38
|
.g12 .grid_1 { width: 60px; }
|
40
39
|
.g12 .grid_2 { width: 140px; }
|
@@ -95,26 +94,25 @@ body { background-color: white; color: #666666; }
|
|
95
94
|
.g12 .alpha { margin-left: 0; }
|
96
95
|
.g12 .omega { margin-right: 0; }
|
97
96
|
|
98
|
-
#header { height: 80px;
|
99
|
-
#header h1 { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 460px;
|
100
|
-
#header h1 span { font-size: 16px; color: #
|
97
|
+
#header { height: 80px; }
|
98
|
+
#header h1 { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 460px; letter-spacing: -1px; margin: 30px 0px 0px 15px; padding: 0; font-weight: normal; color: #383; }
|
99
|
+
#header h1 span { color: black; font-size: 16px; color: #CCC; }
|
101
100
|
#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
101
|
#header ul li { display: inline; margin: 0 0 0 10px; }
|
103
|
-
#header ul li a { text-decoration: none;
|
104
|
-
#header ul li a
|
105
|
-
#header ul li a:hover { text-decoration: none; color: #333; }
|
102
|
+
#header ul li a.active { text-decoration: none; font-weight: bold; }
|
103
|
+
#header ul li a:hover { text-decoration: none; }
|
106
104
|
|
105
|
+
#main a:hover { text-decoration: none; }
|
107
106
|
#main p { margin: 0 15px 15px 15px; }
|
108
|
-
#main h1 {
|
109
|
-
#main h2, #main h3 { margin: 0 0 15px 0; padding: 5px 15px; font-size: 120%; font-weight: normal;
|
107
|
+
#main h1 { font-size: 140%; }
|
108
|
+
#main h2, #main h3 { margin: 0 0 15px 0; padding: 5px 15px; font-size: 120%; font-weight: normal; border-bottom: 1px solid #E5E5E5; }
|
110
109
|
#main .content { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 700px; }
|
111
110
|
#main .content img { border: 1px solid #CDCDCD; float: left; margin: 0px 15px 5px; padding: 5px; }
|
112
111
|
#main .sidebar { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 220px; }
|
113
112
|
#main .sidebar p.title { margin: 0px 20px; font-weight: bold; font-style: oblique; }
|
114
113
|
|
115
|
-
#footer .inner { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 940px;
|
116
|
-
#footer .inner a {
|
117
|
-
#footer .inner a:hover { color: #F90; text-decoration: none; }
|
114
|
+
#footer .inner { display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 940px; }
|
115
|
+
#footer .inner a:hover { text-decoration: none; }
|
118
116
|
#footer .inner .left { float: left; }
|
119
117
|
#footer .inner .right { float: right; text-align: right; }
|
120
118
|
|
@@ -138,4 +136,5 @@ body > #wrap { height: auto; min-height: 100%; }
|
|
138
136
|
.clearfix { display: block; }
|
139
137
|
|
140
138
|
/* End hide from IE-mac */
|
141
|
-
/*
|
139
|
+
/* Debug */
|
140
|
+
/* +showgrid_12(".g12") */
|
data/rblosxom.gemspec
CHANGED
@@ -1,41 +1,44 @@
|
|
1
|
-
|
2
|
-
s.name = 'rblosxom'
|
3
|
-
s.version = '0.1.2'
|
4
|
-
s.date = '2010-01-19'
|
1
|
+
# -*- encoding: utf-8 -*-
|
5
2
|
|
6
|
-
|
7
|
-
s.
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{rblosxom}
|
5
|
+
s.version = "0.1.3"
|
8
6
|
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
9
8
|
s.authors = ["Percy Lau"]
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
|
13
|
-
|
14
|
-
s.files = Dir["lib/**/*.rb",
|
15
|
-
"bin/rblosxom-demo",
|
16
|
-
"README.rdoc",
|
17
|
-
"INSTALL",
|
18
|
-
"ChangeLog",
|
19
|
-
"MIT-LICENSE",
|
20
|
-
"AUTHORS",
|
21
|
-
"config/rackup.ru",
|
22
|
-
"demo/*.rb",
|
23
|
-
"public/**/*.gif",
|
24
|
-
"public/**/*.sass",
|
25
|
-
"public/**/*.css",
|
26
|
-
"views/**/*.haml",
|
27
|
-
"rblosxom.gemspec"]
|
28
|
-
# = MANIFEST =
|
29
|
-
|
9
|
+
s.date = %q{2011-01-01}
|
10
|
+
s.default_executable = %q{rblosxom-demo}
|
11
|
+
s.description = %q{Rblosxom is a blosxom program written in ruby.}
|
12
|
+
s.email = %q{percy.lau@gmail.com}
|
30
13
|
s.executables = ["rblosxom-demo"]
|
31
|
-
s.extra_rdoc_files =
|
32
|
-
s.
|
33
|
-
s.
|
34
|
-
s.
|
35
|
-
s.
|
14
|
+
s.extra_rdoc_files = ["README.mkd", "bin/rblosxom-demo", "lib/rblosxom.rb", "lib/rblosxom/base.rb"]
|
15
|
+
s.files = ["AUTHORS", "ChangeLog", "INSTALL", "MIT-LICENSE", "Manifest", "README.mkd", "Rakefile", "VERSION", "bin/rblosxom-demo", "config/rackup.ru", "demo/grid.rb", "demo/main.rb", "demo/wiki_render.rb", "lib/rblosxom.rb", "lib/rblosxom/base.rb", "public/config.rb", "public/images/12_col.gif", "public/images/16_col.gif", "public/sass/grid.sass", "public/sass/screen.sass", "public/stylesheets/grid.css", "public/stylesheets/screen.css", "rblosxom.gemspec", "views/footer.haml", "views/grid.haml", "views/header.haml", "views/index.haml", "views/layout.haml", "views/404.haml", "views/500.haml", "views/wiki.haml", "views/wikis.haml"]
|
16
|
+
s.homepage = %q{http://rblosxom.heroku.com}
|
17
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rblosxom", "--main", "README.mkd"]
|
18
|
+
s.require_paths = ["lib"]
|
19
|
+
s.rubyforge_project = %q{rblosxom}
|
20
|
+
s.rubygems_version = %q{1.3.7}
|
21
|
+
s.summary = %q{Ruby based blosxom.}
|
22
|
+
|
23
|
+
if s.respond_to? :specification_version then
|
24
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
25
|
+
s.specification_version = 3
|
36
26
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
27
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
28
|
+
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
29
|
+
s.add_runtime_dependency(%q<haml>, [">= 0"])
|
30
|
+
s.add_runtime_dependency(%q<rdiscount>, [">= 0"])
|
31
|
+
s.add_development_dependency(%q<itsucks-compass-960-plugin>, [">= 0"])
|
32
|
+
else
|
33
|
+
s.add_dependency(%q<sinatra>, [">= 0"])
|
34
|
+
s.add_dependency(%q<haml>, [">= 0"])
|
35
|
+
s.add_dependency(%q<rdiscount>, [">= 0"])
|
36
|
+
s.add_dependency(%q<itsucks-compass-960-plugin>, [">= 0"])
|
37
|
+
end
|
38
|
+
else
|
39
|
+
s.add_dependency(%q<sinatra>, [">= 0"])
|
40
|
+
s.add_dependency(%q<haml>, [">= 0"])
|
41
|
+
s.add_dependency(%q<rdiscount>, [">= 0"])
|
42
|
+
s.add_dependency(%q<itsucks-compass-960-plugin>, [">= 0"])
|
43
|
+
end
|
41
44
|
end
|
data/views/404.haml
ADDED
data/views/500.haml
ADDED
data/views/grid.haml
CHANGED
data/views/index.haml
CHANGED
data/views/wiki.haml
ADDED
data/views/wikis.haml
ADDED
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rblosxom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 3
|
9
|
+
version: 0.1.3
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Percy Lau
|
@@ -9,90 +14,107 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2011-01-01 00:00:00 +08:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: sinatra
|
17
|
-
|
18
|
-
|
19
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
20
25
|
requirements:
|
21
26
|
- - ">="
|
22
27
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
type: :runtime
|
32
|
+
version_requirements: *id001
|
25
33
|
- !ruby/object:Gem::Dependency
|
26
34
|
name: haml
|
27
|
-
|
28
|
-
|
29
|
-
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
30
38
|
requirements:
|
31
39
|
- - ">="
|
32
40
|
- !ruby/object:Gem::Version
|
33
|
-
|
34
|
-
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
version: "0"
|
44
|
+
type: :runtime
|
45
|
+
version_requirements: *id002
|
35
46
|
- !ruby/object:Gem::Dependency
|
36
47
|
name: rdiscount
|
37
|
-
|
38
|
-
|
39
|
-
|
48
|
+
prerelease: false
|
49
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
40
51
|
requirements:
|
41
52
|
- - ">="
|
42
53
|
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
54
|
+
segments:
|
55
|
+
- 0
|
56
|
+
version: "0"
|
57
|
+
type: :runtime
|
58
|
+
version_requirements: *id003
|
45
59
|
- !ruby/object:Gem::Dependency
|
46
|
-
name: compass-960-plugin
|
47
|
-
|
48
|
-
|
49
|
-
|
60
|
+
name: itsucks-compass-960-plugin
|
61
|
+
prerelease: false
|
62
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
50
64
|
requirements:
|
51
65
|
- - ">="
|
52
66
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
description:
|
67
|
+
segments:
|
68
|
+
- 0
|
69
|
+
version: "0"
|
70
|
+
type: :development
|
71
|
+
version_requirements: *id004
|
72
|
+
description: Rblosxom is a blosxom program written in ruby.
|
59
73
|
email: percy.lau@gmail.com
|
60
74
|
executables:
|
61
75
|
- rblosxom-demo
|
62
76
|
extensions: []
|
63
77
|
|
64
78
|
extra_rdoc_files:
|
65
|
-
- README.
|
66
|
-
- MIT-LICENSE
|
67
|
-
files:
|
68
|
-
- lib/rblosxom/base.rb
|
69
|
-
- lib/rblosxom.rb
|
79
|
+
- README.mkd
|
70
80
|
- bin/rblosxom-demo
|
71
|
-
-
|
72
|
-
-
|
81
|
+
- lib/rblosxom.rb
|
82
|
+
- lib/rblosxom/base.rb
|
83
|
+
files:
|
84
|
+
- AUTHORS
|
73
85
|
- ChangeLog
|
86
|
+
- INSTALL
|
74
87
|
- MIT-LICENSE
|
75
|
-
-
|
88
|
+
- Manifest
|
89
|
+
- README.mkd
|
90
|
+
- Rakefile
|
91
|
+
- VERSION
|
92
|
+
- bin/rblosxom-demo
|
76
93
|
- config/rackup.ru
|
77
94
|
- demo/grid.rb
|
78
95
|
- demo/main.rb
|
96
|
+
- demo/wiki_render.rb
|
97
|
+
- lib/rblosxom.rb
|
98
|
+
- lib/rblosxom/base.rb
|
99
|
+
- public/config.rb
|
79
100
|
- public/images/12_col.gif
|
80
101
|
- public/images/16_col.gif
|
81
|
-
- public/sass/_sticky_footer.sass
|
82
|
-
- public/sass/_grid.sass
|
83
102
|
- public/sass/grid.sass
|
84
|
-
- public/sass/_debug.sass
|
85
103
|
- public/sass/screen.sass
|
86
|
-
- public/stylesheets/screen.css
|
87
104
|
- public/stylesheets/grid.css
|
88
|
-
-
|
105
|
+
- public/stylesheets/screen.css
|
106
|
+
- rblosxom.gemspec
|
107
|
+
- views/footer.haml
|
89
108
|
- views/grid.haml
|
90
|
-
- views/
|
109
|
+
- views/header.haml
|
91
110
|
- views/index.haml
|
92
|
-
- views/
|
93
|
-
-
|
111
|
+
- views/layout.haml
|
112
|
+
- views/404.haml
|
113
|
+
- views/500.haml
|
114
|
+
- views/wiki.haml
|
115
|
+
- views/wikis.haml
|
94
116
|
has_rdoc: true
|
95
|
-
homepage: http://rblosxom.heroku.com
|
117
|
+
homepage: http://rblosxom.heroku.com
|
96
118
|
licenses: []
|
97
119
|
|
98
120
|
post_install_message:
|
@@ -100,31 +122,34 @@ rdoc_options:
|
|
100
122
|
- --line-numbers
|
101
123
|
- --inline-source
|
102
124
|
- --title
|
103
|
-
-
|
125
|
+
- Rblosxom
|
104
126
|
- --main
|
105
|
-
- README.
|
106
|
-
- --webcvs
|
107
|
-
- http://bitbucket.org/itsucks/rblosxom
|
127
|
+
- README.mkd
|
108
128
|
require_paths:
|
109
129
|
- lib
|
110
130
|
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
111
132
|
requirements:
|
112
133
|
- - ">="
|
113
134
|
- !ruby/object:Gem::Version
|
135
|
+
segments:
|
136
|
+
- 0
|
114
137
|
version: "0"
|
115
|
-
version:
|
116
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
117
140
|
requirements:
|
118
141
|
- - ">="
|
119
142
|
- !ruby/object:Gem::Version
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
143
|
+
segments:
|
144
|
+
- 1
|
145
|
+
- 2
|
146
|
+
version: "1.2"
|
147
|
+
requirements: []
|
148
|
+
|
149
|
+
rubyforge_project: rblosxom
|
150
|
+
rubygems_version: 1.3.7
|
126
151
|
signing_key:
|
127
152
|
specification_version: 3
|
128
|
-
summary:
|
153
|
+
summary: Ruby based blosxom.
|
129
154
|
test_files: []
|
130
155
|
|
data/public/sass/_debug.sass
DELETED
data/public/sass/_grid.sass
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
/* add 960 pull, push classes
|
2
|
-
=grid-push(!n, !cols = !ninesixty_columns)
|
3
|
-
:left= (!ninesixty_grid_width / !cols) * !n
|
4
|
-
|
5
|
-
=grid-pushs(!cols = !ninesixty_columns)
|
6
|
-
@for !n from 1 through !cols - 1
|
7
|
-
.push_#{!n}
|
8
|
-
+grid-push(!n, !cols)
|
9
|
-
|
10
|
-
=grid-pull(!n, !cols = !ninesixty_columns)
|
11
|
-
:left= -(!ninesixty_grid_width / !cols) * !n
|
12
|
-
|
13
|
-
=grid-pulls(!cols = !ninesixty_columns)
|
14
|
-
@for !n from 1 through !cols - 1
|
15
|
-
.pull_#{!n}
|
16
|
-
+grid-pull(!n, !cols)
|
@@ -1,30 +0,0 @@
|
|
1
|
-
=sticky-footer(!footer_height = "3em", !root_selector = "#wrap", !content_selector = "#main", !footer_selector = "#footer")
|
2
|
-
*
|
3
|
-
:margin 0
|
4
|
-
:padding 0
|
5
|
-
html, body, #{!root_selector}
|
6
|
-
:height 100%
|
7
|
-
body > #{!root_selector}
|
8
|
-
:height auto
|
9
|
-
:min-height 100%
|
10
|
-
#{!content_selector}
|
11
|
-
:padding-bottom #{!footer_height} /* must be same height as the footer */
|
12
|
-
#{!footer_selector}
|
13
|
-
:position relative
|
14
|
-
:margin-top -#{!footer_height} /* negative value of footer height */
|
15
|
-
:height #{!footer_height}
|
16
|
-
:clear both
|
17
|
-
.clearfix
|
18
|
-
:display inline-block
|
19
|
-
.clearfix:after
|
20
|
-
:content "."
|
21
|
-
:display block
|
22
|
-
:height 0
|
23
|
-
:clear both
|
24
|
-
:visibility hidden
|
25
|
-
/* Hides from IE-mac \*/
|
26
|
-
* html .clearfix
|
27
|
-
:height 1%
|
28
|
-
.clearfix
|
29
|
-
:display block
|
30
|
-
/* End hide from IE-mac */
|