rblosxom 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +9 -0
- data/INSTALL +25 -11
- data/README.textile +4 -4
- data/VERSION +1 -1
- data/bin/rblosxom-demo +41 -13
- data/config/rackup.ru +1 -0
- data/demo/wiki_render.rb +6 -3
- data/rblosxom.gemspec +2 -2
- data/views/index.haml +1 -3
- data/views/wiki.haml +1 -3
- metadata +3 -3
data/ChangeLog
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
2011-02-12 14:06:21 +0800 Percy Lau <percy.lau@gmail.com> 0.1.6
|
2
|
+
* move src to gitorious
|
3
|
+
|
4
|
+
2011-01-28 13:22:35 +0800 Percy Lau <percy.lau@gmail.com>
|
5
|
+
* fix haml texile filter list render error.
|
6
|
+
|
7
|
+
2011-01-27 12:19:55 +0800 Percy Lau <percy.lau@gmail.com>
|
8
|
+
* fix ctrl-c no longer stops webrick cleanly.
|
9
|
+
|
1
10
|
2011-01-08 00:30:50 +0800 Percy Lau <percy.lau@gmail.com> 0.1.5
|
2
11
|
* remove markdown support, only support textile page
|
3
12
|
|
data/INSTALL
CHANGED
@@ -1,26 +1,40 @@
|
|
1
|
-
|
1
|
+
h3. INSTALL
|
2
2
|
|
3
3
|
安装 rblosxom gem:
|
4
|
+
<pre>
|
4
5
|
$ gem install rblosxom --source http://gemcutter.org
|
6
|
+
</pre>
|
5
7
|
|
6
8
|
运行 demo:
|
9
|
+
<pre>
|
7
10
|
$ rblosxom-demo
|
11
|
+
</pre>
|
8
12
|
|
9
13
|
通过浏览器访问 http://127.0.0.1:7878/
|
10
14
|
|
11
|
-
|
15
|
+
h3. HACKING
|
12
16
|
|
13
|
-
|
14
|
-
|
17
|
+
clone source
|
18
|
+
<pre>
|
19
|
+
$ hg clone https://liupeng@bitbucket.org/liupeng/rblosxom
|
20
|
+
</pre>
|
15
21
|
|
16
|
-
|
17
|
-
|
22
|
+
调试运行, 需要安装 sinatra haml RedCloth
|
23
|
+
<pre>
|
24
|
+
$ for g in sinatra haml RedCloth ;do gem install $g;done
|
25
|
+
$ rackup config/rackup.ru
|
26
|
+
</pre>
|
18
27
|
|
19
|
-
定制 theme:
|
28
|
+
定制 theme(css), 需要安装 itsucks-compass-960-plugin:
|
29
|
+
<pre>
|
30
|
+
$ gem install itsucks-compass-960-plugin
|
20
31
|
$ compass -r ninesixty -f 960 --sass-dir=sass --css-dir=stylesheets --javascript-dir=javascripts --images-dir=images public
|
21
|
-
|
22
|
-
更新 css:
|
32
|
+
...
|
23
33
|
$ compass -u public
|
34
|
+
</pre>
|
24
35
|
|
25
|
-
|
26
|
-
|
36
|
+
制作 gem, 需要安装 echoe:
|
37
|
+
<pre>
|
38
|
+
$ gem install echoe
|
39
|
+
$ rake gem
|
40
|
+
</pre>
|
data/README.textile
CHANGED
@@ -23,11 +23,11 @@ Released under "MIT License":license.
|
|
23
23
|
|
24
24
|
|
25
25
|
[blosxom]http://blosxom.sourceforge.net/
|
26
|
-
[rblosxom]http://bitbucket.org/
|
26
|
+
[rblosxom]http://bitbucket.org/liupeng/rblosxom/
|
27
27
|
[sinatra]http://www.sinatrarb.com/
|
28
28
|
[haml]http://haml.hamptoncatlin.com/
|
29
29
|
[compass_960]http://github.com/chriseppstein/compass-960-plugin/
|
30
30
|
[RedCloth]http://redcloth.org/
|
31
|
-
[license]http://bitbucket.org/
|
32
|
-
[install]http://bitbucket.org/
|
33
|
-
[changelog]http://bitbucket.org/
|
31
|
+
[license]http://bitbucket.org/liupeng/rblosxom/src/tip/MIT-LICENSE
|
32
|
+
[install]http://bitbucket.org/liupeng/rblosxom/src/tip/INSTALL
|
33
|
+
[changelog]http://bitbucket.org/liupeng/rblosxom/src/tip/ChangeLog
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.6
|
data/bin/rblosxom-demo
CHANGED
@@ -1,28 +1,56 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*- vim: encoding=utf-8:sw=4:ts=4:sts=4:et:
|
3
|
+
$KCODE = 'u'
|
4
|
+
|
2
5
|
require 'rubygems'
|
3
|
-
require 'rack'
|
6
|
+
require 'rack/server'
|
4
7
|
require 'rblosxom'
|
5
|
-
|
6
|
-
options = {:Port => 7878, :Host => "0.0.0.0", :AccessLog => []}
|
8
|
+
require 'optparse'
|
7
9
|
|
8
10
|
install_dir = File.join(Gem.dir, "gems", "rblosxom-#{Rblosxom::Version::STRING}")
|
9
11
|
rackup_file = File.join(install_dir, "config/rackup.ru")
|
10
12
|
inner_app = eval "Rack::Builder.new {( " + File.read(rackup_file) + "\n )}.to_app", nil, rackup_file
|
11
|
-
|
12
|
-
begin
|
13
|
-
server = Rack::Handler::Mongrel
|
14
|
-
rescue LoadError => e
|
15
|
-
server = Rack::Handler::WEBrick
|
16
|
-
end
|
17
|
-
|
13
|
+
server = Rack::Handler.default
|
18
14
|
app = Rack::Builder.new {
|
19
|
-
use Rack::CommonLogger, $stderr
|
15
|
+
use Rack::CommonLogger, $stderr unless server.name =~ /CGI/
|
20
16
|
use Rack::ShowExceptions
|
21
17
|
use Rack::Lint
|
22
18
|
run inner_app
|
23
19
|
}.to_app
|
24
20
|
|
25
|
-
|
21
|
+
options = {:Port => 7878}
|
22
|
+
opt = OptionParser.new("#{File.basename($0)}")
|
23
|
+
opt.on('-p', '--port PORT', 'use PORT (1024-65536, default: 7878)') {|v| options[:Port] = v }
|
24
|
+
opt.parse!(ARGV)
|
25
|
+
|
26
|
+
|
27
|
+
class PatchedRackServer < Rack::Server
|
28
|
+
def initialize(options = nil)
|
29
|
+
@options = options
|
30
|
+
@app = options[:app] if options && options[:app]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
$stdout.puts <<EOF
|
35
|
+
----------------------------------------
|
36
|
+
Start up rblosxom !
|
37
|
+
URL : http://localhost:#{options[:Port]}
|
38
|
+
----------------------------------------
|
39
|
+
EOF
|
40
|
+
|
41
|
+
if Rack.release >= "1.2"
|
42
|
+
# The code that traps Ctrl-C moved from Rack::Handler to Rack::Server in
|
43
|
+
# Rack 1.2.1, and consequently, so did the syntax to start a server.
|
44
|
+
# See: https://github.com/rack/rack/issues/issue/35
|
45
|
+
#
|
46
|
+
# Additionally, there is currently a bug in Rack::Server which prevents
|
47
|
+
# us from using :app properly. In order to get around this, we subclass
|
48
|
+
# Rack::Server, and then apply the patch there.
|
49
|
+
# See: https://github.com/rack/rack/commit/c73b474525bace3f059a130b15413abd4d917086
|
50
|
+
PatchedRackServer.start(:app => app, :Port => options[:Port])
|
51
|
+
#Rack::Server.start(:app => app, :Port => 7878)
|
52
|
+
else
|
53
|
+
server.run app, options
|
54
|
+
end
|
26
55
|
|
27
|
-
# vim: ft=ruby:fenc=utf-8:sw=4:ts=4:sts=4:et:
|
28
56
|
# rblosxom-demo.rb end here
|
data/config/rackup.ru
CHANGED
data/demo/wiki_render.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
+
# -*- coding: utf-8 -*- vim: encoding=utf-8:sw=4:ts=4:sts=4:et:
|
2
|
+
$KCODE = 'u'
|
3
|
+
|
1
4
|
require 'rblosxom/base'
|
5
|
+
require 'uri'
|
2
6
|
|
3
7
|
module Rblosxom
|
4
8
|
class Base < Sinatra::Base
|
@@ -35,7 +39,7 @@ module Rblosxom
|
|
35
39
|
haml :wikis, :layout => true
|
36
40
|
end
|
37
41
|
|
38
|
-
page_regex = '(
|
42
|
+
page_regex = '(?:/.+)+'
|
39
43
|
page_url = %r@^(#{page_regex})\b$@
|
40
44
|
get page_url do
|
41
45
|
set_common_variables
|
@@ -45,7 +49,7 @@ module Rblosxom
|
|
45
49
|
request_file = File.expand_path("#{@root}/#{@config["datadir"]}/#{request.env["PATH_INFO"][1..-1]}")
|
46
50
|
@log.debug "Wiki Render request file: #{request_file}"
|
47
51
|
begin
|
48
|
-
haml :wiki, :layout => true, :locals => { :content => File.read(request_file) }
|
52
|
+
haml :wiki, :layout => true, :locals => { :content => File.read(URI.decode(request_file)) }
|
49
53
|
rescue
|
50
54
|
#raise Sinatra::NotFound
|
51
55
|
halt 404, 'page not found!'
|
@@ -54,5 +58,4 @@ module Rblosxom
|
|
54
58
|
end
|
55
59
|
end
|
56
60
|
|
57
|
-
# vim: ft=ruby:fenc=utf-8:sw=4:ts=4:sts=4:et:
|
58
61
|
# wiki_render.rb end here
|
data/rblosxom.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{rblosxom}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.6"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Percy Lau"]
|
9
|
-
s.date = %q{2011-
|
9
|
+
s.date = %q{2011-02-12}
|
10
10
|
s.default_executable = %q{rblosxom-demo}
|
11
11
|
s.description = %q{Rblosxom is a blosxom program written in ruby.}
|
12
12
|
s.email = %q{percy.lau@gmail.com}
|
data/views/index.haml
CHANGED
data/views/wiki.haml
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 6
|
9
|
+
version: 0.1.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Percy Lau
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-02-12 00:00:00 +08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|