georgi-shinmun 0.3.10 → 0.4
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/README.md +4 -34
- data/Rakefile +25 -2
- data/example/assets/stylesheets/{6-comments.css → 5-comments.css} +0 -0
- data/example/assets/stylesheets/{7-diff.css → 6-diff.css} +0 -0
- data/example/assets/stylesheets/{8-blog.css → 7-blog.css} +0 -0
- data/example/templates/archive.rhtml +12 -0
- data/lib/shinmun/post.rb +1 -1
- data/lib/shinmun/routes.rb +18 -69
- data/test/blog_spec.rb +2 -3
- data/test/post_spec.rb +2 -2
- metadata +31 -61
- data/.gitignore +0 -4
- data/LICENSE +0 -18
- data/example/assets/stylesheets/5-coderay.css +0 -112
- data/example/assets/wmd/images/bg-fill.png +0 -0
- data/example/assets/wmd/images/bg.png +0 -0
- data/example/assets/wmd/images/blockquote.png +0 -0
- data/example/assets/wmd/images/bold.png +0 -0
- data/example/assets/wmd/images/code.png +0 -0
- data/example/assets/wmd/images/h1.png +0 -0
- data/example/assets/wmd/images/hr.png +0 -0
- data/example/assets/wmd/images/img.png +0 -0
- data/example/assets/wmd/images/italic.png +0 -0
- data/example/assets/wmd/images/link.png +0 -0
- data/example/assets/wmd/images/ol.png +0 -0
- data/example/assets/wmd/images/redo.png +0 -0
- data/example/assets/wmd/images/separator.png +0 -0
- data/example/assets/wmd/images/ul.png +0 -0
- data/example/assets/wmd/images/undo.png +0 -0
- data/example/assets/wmd/images/wmd-on.png +0 -0
- data/example/assets/wmd/images/wmd.png +0 -0
- data/example/assets/wmd/showdown.js +0 -421
- data/example/assets/wmd/wmd-base.js +0 -1799
- data/example/assets/wmd/wmd-plus.js +0 -311
- data/example/assets/wmd/wmd.js +0 -73
- data/example/templates/admin/commit.rhtml +0 -27
- data/example/templates/admin/commits.rhtml +0 -9
- data/example/templates/admin/edit.rhtml +0 -17
- data/example/templates/admin/pages.rhtml +0 -19
- data/example/templates/admin/posts.rhtml +0 -24
data/README.md
CHANGED
@@ -2,9 +2,7 @@ Shinmun - a git-based blog engine
|
|
2
2
|
==========================================
|
3
3
|
|
4
4
|
Shinmun is a small git-based blog engine. Write posts in your favorite
|
5
|
-
editor, git-push it and serve your blog straight from a
|
6
|
-
repository.
|
7
|
-
|
5
|
+
editor, git-push it and serve your blog straight from a repository.
|
8
6
|
|
9
7
|
### Features
|
10
8
|
|
@@ -16,7 +14,6 @@ repository.
|
|
16
14
|
* Flickr and Delicious aggregations
|
17
15
|
* Syntax highlighting provided by [CodeRay][4]
|
18
16
|
* AJAX comment system with Markdown preview
|
19
|
-
* Web frontend using [WMD Editor][12]
|
20
17
|
|
21
18
|
|
22
19
|
### Quickstart
|
@@ -92,11 +89,9 @@ RHTML, YAML, Delphi
|
|
92
89
|
To activate CodeRay for a code block, you have to declare the language
|
93
90
|
in lower case:
|
94
91
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
puts "#{id} was called with #{args.inspect}"
|
99
|
-
end
|
92
|
+
def method_missing(id, *args, &block)
|
93
|
+
puts "#{id} was called with #{args.inspect}"
|
94
|
+
end
|
100
95
|
|
101
96
|
**Note that the declaration MUST be followed by a blank line!**
|
102
97
|
|
@@ -171,8 +166,6 @@ Layout and templates are rendered by *ERB*. The layout is defined in
|
|
171
166
|
`templates/layout.rhtml`. The content will be provided in the variable
|
172
167
|
`@content`. A minimal example:
|
173
168
|
|
174
|
-
@@rhtml
|
175
|
-
|
176
169
|
<html>
|
177
170
|
<head>
|
178
171
|
<title><%= @blog.title %></title>
|
@@ -186,8 +179,6 @@ Layout and templates are rendered by *ERB*. The layout is defined in
|
|
186
179
|
The attributes of a post are accessible as instance variables in a
|
187
180
|
template:
|
188
181
|
|
189
|
-
@@rhtml
|
190
|
-
|
191
182
|
<div class="article">
|
192
183
|
<div class="date">
|
193
184
|
<%= date @date %>
|
@@ -247,8 +238,6 @@ Passenger as described in my [blog post][2].
|
|
247
238
|
Assuming that you are on a Debian or Ubuntu system, you can create a
|
248
239
|
file named `/etc/apache2/sites-available/blog`:
|
249
240
|
|
250
|
-
@@xml
|
251
|
-
|
252
241
|
<VirtualHost *:80>
|
253
242
|
ServerName myblog.com
|
254
243
|
DocumentRoot /var/www/blog/public
|
@@ -264,22 +253,6 @@ domain:
|
|
264
253
|
$ /etc/init.d/apache2 restart
|
265
254
|
|
266
255
|
|
267
|
-
### Web Frontend
|
268
|
-
|
269
|
-
The example blog has a builtin web frontend. Currently it only works
|
270
|
-
on localhost:9292.
|
271
|
-
|
272
|
-
The frontend allows you to create, edit, read or delete posts or
|
273
|
-
pages. Editing a post shows up a form with the [wmd editor][12]. You
|
274
|
-
have to look yourself for a correct YAML header, otherwise you will
|
275
|
-
get incorrect results.
|
276
|
-
|
277
|
-
One nice thing about the frontend is the *Commits* page, where you can
|
278
|
-
look at a list of recent commits. Clicking on a commit brings you to a
|
279
|
-
single commit overview, where you can inspect changes introduced by
|
280
|
-
this particular commit.
|
281
|
-
|
282
|
-
|
283
256
|
### GitHub Project
|
284
257
|
|
285
258
|
Download or fork the package at my [github repository][1]
|
@@ -296,6 +269,3 @@ Download or fork the package at my [github repository][1]
|
|
296
269
|
[9]: http://textile.thresholdstate.com/
|
297
270
|
[10]: http://en.wikipedia.org/wiki/Html
|
298
271
|
[11]: http://www.kernel.org/pub/software/scm/git/docs/git-push.html
|
299
|
-
[12]: http://wmd-editor.com/
|
300
|
-
[13]: http://github.com/mojombo/jekyll
|
301
|
-
[14]: http://github.com/blog/272-github-pages
|
data/Rakefile
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/rdoctask'
|
3
|
-
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'spec/rake/spectask'
|
6
|
+
rescue LoadError
|
7
|
+
puts <<-EOS
|
8
|
+
To use rspec for testing you must install the rspec gem:
|
9
|
+
gem install rspec
|
10
|
+
EOS
|
11
|
+
exit(0)
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Run all specs"
|
15
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
16
|
+
t.spec_opts = ['-cfs']
|
17
|
+
t.spec_files = FileList['test/**/*_spec.rb']
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Print SpecDocs"
|
21
|
+
Spec::Rake::SpecTask.new(:doc) do |t|
|
22
|
+
t.spec_opts = ["--format", "specdoc"]
|
23
|
+
t.spec_files = FileList['test/*_spec.rb']
|
24
|
+
end
|
25
|
+
|
4
26
|
desc "Generate RDoc documentation"
|
5
27
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
6
28
|
rdoc.options << '--line-numbers' << '--inline-source' <<
|
@@ -14,4 +36,5 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
14
36
|
end
|
15
37
|
end
|
16
38
|
|
17
|
-
|
39
|
+
desc "Run the rspec"
|
40
|
+
task :default => :spec
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<h1><%= "#{Date::MONTHNAMES[@month]} #{@year}" %></h1>
|
2
|
+
|
3
|
+
<div class="articles">
|
4
|
+
<% for post in @blog.posts_for_month(@year, @month) %>
|
5
|
+
<div class="article">
|
6
|
+
<div class="date"><%= human_date post.date %></div>
|
7
|
+
<h2><%= post_link post %></h2>
|
8
|
+
<%= post.summary %>
|
9
|
+
</div>
|
10
|
+
<hr/>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
data/lib/shinmun/post.rb
CHANGED
data/lib/shinmun/routes.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
Shinmun::Blog.map do
|
2
2
|
|
3
|
-
|
3
|
+
category_feed '/categories/(.*)\.rss' do |category|
|
4
4
|
render 'category.rxml', find_category(category).merge(:layout => false)
|
5
5
|
end
|
6
6
|
|
7
|
-
|
7
|
+
category '/categories/(.*)' do |category|
|
8
8
|
render 'category.rhtml', find_category(category)
|
9
9
|
end
|
10
10
|
|
11
|
-
|
11
|
+
tag '/tags/(.*)' do |tag|
|
12
12
|
render 'category.rhtml', :name => "Tag: #{tag}", :posts => posts.select { |p| p.tag_list.include?(tag) }
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
post '/(\d+)/(\d+)/(.*)' do |year, month, name|
|
16
16
|
post = find_post(year.to_i, month.to_i, name)
|
17
17
|
render 'post.rhtml', :post => post, :comments => comments_for(post.path)
|
18
18
|
end
|
19
19
|
|
20
|
-
|
20
|
+
archive '/(\d+)/(\d+)' do |year, month|
|
21
21
|
render 'archive.rhtml', :year => year.to_i, :month => month.to_i, :posts => posts_for_month(year.to_i, month.to_i)
|
22
22
|
end
|
23
23
|
|
24
|
-
|
24
|
+
feed '/index\.rss' do
|
25
25
|
render 'index.rxml', :layout => false
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
comments '/comments' do
|
29
29
|
if params['preview'] == 'true'
|
30
30
|
render '_comments.rhtml', :comments => [Shinmun::Comment.new(params)]
|
31
31
|
else
|
@@ -34,76 +34,25 @@ Shinmun::Blog.map do
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
|
37
|
+
javascripts '/assets/javascripts\.js' do
|
38
38
|
scripts = assets['javascripts'].to_a.join
|
39
|
-
if_none_match(etag(scripts))
|
39
|
+
if_none_match(etag(scripts)) do
|
40
|
+
text scripts
|
41
|
+
end
|
40
42
|
end
|
41
43
|
|
42
|
-
|
44
|
+
stylesheets '/assets/stylesheets\.css' do
|
43
45
|
styles = assets['stylesheets'].to_a.join
|
44
|
-
if_none_match(etag(styles))
|
46
|
+
if_none_match(etag(styles)) do
|
47
|
+
text styles
|
48
|
+
end
|
45
49
|
end
|
46
50
|
|
47
|
-
|
51
|
+
assets '/assets/(.*)' do |path|
|
48
52
|
file = assets[path] or raise "#{path} not found"
|
49
|
-
if_none_match(etag(file))
|
50
|
-
|
51
|
-
|
52
|
-
map '/admin' do
|
53
|
-
use(Class.new do
|
54
|
-
def initialize(app); @app = app; end
|
55
|
-
def call(env)
|
56
|
-
if env['HTTP_HOST'] == 'localhost:9292'
|
57
|
-
@app.call(env)
|
58
|
-
else
|
59
|
-
[401, {}, '<h1>Not Allowed</h1>']
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end)
|
63
|
-
|
64
|
-
get '/posts/(.*)' do |page|
|
65
|
-
render 'admin/posts.rhtml', :posts => posts_by_date, :page => page.to_i, :page_size => 10
|
66
|
-
end
|
67
|
-
|
68
|
-
get '/pages' do
|
69
|
-
render 'admin/pages.rhtml'
|
70
|
-
end
|
71
|
-
|
72
|
-
get '/commits/(.*)' do |id|
|
73
|
-
render 'admin/commit.rhtml', :commit => repo.commit(id)
|
74
|
-
end
|
75
|
-
|
76
|
-
get '/commits' do
|
77
|
-
render 'admin/commits.rhtml'
|
53
|
+
if_none_match(etag(file)) do
|
54
|
+
text file
|
78
55
|
end
|
79
|
-
|
80
|
-
map '/edit/(.*)' do
|
81
|
-
get do |path|
|
82
|
-
render 'admin/edit.rhtml', :post => store[path]
|
83
|
-
end
|
84
|
-
|
85
|
-
post do |path|
|
86
|
-
post = store[path]
|
87
|
-
update_post(post, params['data'])
|
88
|
-
redirect(post.date ? '/admin/posts/' : '/admin/pages')
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
post '/delete/(.*)' do |path|
|
93
|
-
post = store[path]
|
94
|
-
delete_post post
|
95
|
-
redirect(post.date ? '/admin/posts/' : '/admin/pages/')
|
96
|
-
end
|
97
|
-
|
98
|
-
post '/create' do
|
99
|
-
post = create_post(params)
|
100
|
-
redirect "/admin/edit/#{post.path}"
|
101
|
-
end
|
102
|
-
|
103
|
-
get '' do
|
104
|
-
redirect '/admin/posts/'
|
105
|
-
end
|
106
|
-
|
107
56
|
end
|
108
57
|
|
109
58
|
get '/$' do
|
data/test/blog_spec.rb
CHANGED
@@ -5,9 +5,8 @@ require 'pp'
|
|
5
5
|
|
6
6
|
describe Shinmun::Blog do
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
REPO = TEST_DIR + '/repo'
|
8
|
+
TEMPLATES_DIR = File.expand_path(File.dirname(__FILE__) + '/templates')
|
9
|
+
REPO = '/tmp/shinmun-test'
|
11
10
|
|
12
11
|
before do
|
13
12
|
FileUtils.rm_rf REPO
|
data/test/post_spec.rb
CHANGED
@@ -17,11 +17,11 @@ nodes.
|
|
17
17
|
END
|
18
18
|
|
19
19
|
it 'should parse and dump in the same way' do
|
20
|
-
Shinmun::Post.new(:type => 'md'
|
20
|
+
Shinmun::Post.new(:type => 'md', :src => POST).dump.should == (POST)
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should parse the yaml header" do
|
24
|
-
post = Shinmun::Post.new(:type => 'md'
|
24
|
+
post = Shinmun::Post.new(:type => 'md', :src => POST)
|
25
25
|
post.title.should == 'Patroon - a Javascript Template Engine'
|
26
26
|
post.category.should == 'Javascript'
|
27
27
|
post.date.should == Date.new(2008,9,9)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: georgi-shinmun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: "0.4"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthias Georgi
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-04-
|
12
|
+
date: 2008-04-13 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -61,89 +61,59 @@ extensions: []
|
|
61
61
|
extra_rdoc_files:
|
62
62
|
- README.md
|
63
63
|
files:
|
64
|
-
- .gitignore
|
65
|
-
- LICENSE
|
66
64
|
- README.md
|
67
65
|
- Rakefile
|
68
66
|
- bin/shinmun
|
69
|
-
- example/pages/about.md
|
70
67
|
- example/Rakefile
|
71
|
-
- example/templates
|
72
|
-
- example/templates/index.rhtml
|
73
|
-
- example/templates/page.rhtml
|
74
|
-
- example/templates/_comments.rhtml
|
75
|
-
- example/templates/category.rhtml
|
76
|
-
- example/templates/_comment_form.rhtml
|
77
|
-
- example/templates/post.rhtml
|
78
|
-
- example/templates/index.rxml
|
79
|
-
- example/templates/admin
|
80
|
-
- example/templates/admin/commit.rhtml
|
81
|
-
- example/templates/admin/posts.rhtml
|
82
|
-
- example/templates/admin/pages.rhtml
|
83
|
-
- example/templates/admin/edit.rhtml
|
84
|
-
- example/templates/admin/commits.rhtml
|
85
|
-
- example/templates/category.rxml
|
86
|
-
- example/templates/_pagination.rhtml
|
87
|
-
- example/templates/layout.rhtml
|
88
68
|
- example/assets/images/favicon.ico
|
89
69
|
- example/assets/images/loading.gif
|
90
|
-
- example/assets/
|
91
|
-
- example/assets/
|
92
|
-
- example/assets/
|
93
|
-
- example/assets/
|
70
|
+
- example/assets/javascripts/1-jquery.min.js
|
71
|
+
- example/assets/javascripts/2-jquery-form.min.js
|
72
|
+
- example/assets/javascripts/3-comments.js
|
73
|
+
- example/assets/javascripts/4-coderay.js
|
74
|
+
- example/assets/print.css
|
94
75
|
- example/assets/stylesheets/1-reset.css
|
76
|
+
- example/assets/stylesheets/2-typo.css
|
95
77
|
- example/assets/stylesheets/3-table.css
|
96
78
|
- example/assets/stylesheets/4-article.css
|
97
|
-
- example/assets/stylesheets/
|
98
|
-
- example/assets/
|
99
|
-
- example/assets/
|
100
|
-
- example/assets/wmd/images/bg-fill.png
|
101
|
-
- example/assets/wmd/images/italic.png
|
102
|
-
- example/assets/wmd/images/h1.png
|
103
|
-
- example/assets/wmd/images/wmd-on.png
|
104
|
-
- example/assets/wmd/images/undo.png
|
105
|
-
- example/assets/wmd/images/link.png
|
106
|
-
- example/assets/wmd/images/bold.png
|
107
|
-
- example/assets/wmd/images/ul.png
|
108
|
-
- example/assets/wmd/images/img.png
|
109
|
-
- example/assets/wmd/images/blockquote.png
|
110
|
-
- example/assets/wmd/images/code.png
|
111
|
-
- example/assets/wmd/images/hr.png
|
112
|
-
- example/assets/wmd/images/bg.png
|
113
|
-
- example/assets/wmd/images/separator.png
|
114
|
-
- example/assets/wmd/images/redo.png
|
115
|
-
- example/assets/wmd/images/ol.png
|
116
|
-
- example/assets/wmd/showdown.js
|
117
|
-
- example/assets/wmd/wmd-plus.js
|
118
|
-
- example/assets/wmd/wmd-base.js
|
119
|
-
- example/assets/wmd/wmd.js
|
120
|
-
- example/assets/javascripts/2-jquery-form.min.js
|
121
|
-
- example/assets/javascripts/1-jquery.min.js
|
122
|
-
- example/assets/javascripts/4-coderay.js
|
123
|
-
- example/assets/javascripts/3-comments.js
|
79
|
+
- example/assets/stylesheets/5-comments.css
|
80
|
+
- example/assets/stylesheets/6-diff.css
|
81
|
+
- example/assets/stylesheets/7-blog.css
|
124
82
|
- example/config.ru
|
125
83
|
- example/config/blog.yml
|
84
|
+
- example/pages/about.md
|
85
|
+
- example/templates/_comment_form.rhtml
|
86
|
+
- example/templates/_comments.rhtml
|
87
|
+
- example/templates/_pagination.rhtml
|
88
|
+
- example/templates/archive.rhtml
|
89
|
+
- example/templates/category.rhtml
|
90
|
+
- example/templates/category.rxml
|
91
|
+
- example/templates/index.rhtml
|
92
|
+
- example/templates/index.rxml
|
93
|
+
- example/templates/layout.rhtml
|
94
|
+
- example/templates/page.rhtml
|
95
|
+
- example/templates/post.rhtml
|
126
96
|
- lib/shinmun.rb
|
127
97
|
- lib/shinmun/aggregations/delicious.rb
|
128
98
|
- lib/shinmun/aggregations/flickr.rb
|
129
99
|
- lib/shinmun/blog.rb
|
130
|
-
- lib/shinmun/routes.rb
|
131
100
|
- lib/shinmun/bluecloth_coderay.rb
|
132
101
|
- lib/shinmun/comment.rb
|
133
102
|
- lib/shinmun/helpers.rb
|
134
103
|
- lib/shinmun/post.rb
|
135
104
|
- lib/shinmun/post_handler.rb
|
136
|
-
-
|
137
|
-
- test/
|
105
|
+
- lib/shinmun/routes.rb
|
106
|
+
- test/blog_spec.rb
|
107
|
+
- test/post_spec.rb
|
138
108
|
- test/templates/_comments.rhtml
|
109
|
+
- test/templates/archive.rhtml
|
139
110
|
- test/templates/category.rhtml
|
140
|
-
- test/templates/post.rhtml
|
141
|
-
- test/templates/index.rxml
|
142
111
|
- test/templates/category.rxml
|
143
|
-
- test/templates/
|
112
|
+
- test/templates/index.rhtml
|
113
|
+
- test/templates/index.rxml
|
144
114
|
- test/templates/layout.rhtml
|
145
|
-
- test/
|
146
|
-
- test/
|
115
|
+
- test/templates/page.rhtml
|
116
|
+
- test/templates/post.rhtml
|
147
117
|
has_rdoc: true
|
148
118
|
homepage: http://github.com/georgi/shinmun
|
149
119
|
post_install_message:
|
data/.gitignore
DELETED
data/LICENSE
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
Copyright (c) 2008 Matthias Georgi <http://www.matthias-georgi.de>
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
-
of this software and associated documentation files (the "Software"), to
|
5
|
-
deal in the Software without restriction, including without limitation the
|
6
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
7
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
8
|
-
furnished to do so, subject to the following conditions:
|
9
|
-
|
10
|
-
The above copyright notice and this permission notice shall be included in
|
11
|
-
all copies or substantial portions of the Software.
|
12
|
-
|
13
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
16
|
-
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
17
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
18
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,112 +0,0 @@
|
|
1
|
-
pre {
|
2
|
-
margin: 1em 0;
|
3
|
-
padding: 0.8em 1em;
|
4
|
-
background: #f9f9f9;
|
5
|
-
border: 1px solid #ddd;
|
6
|
-
font-family: monospace;
|
7
|
-
font-size: 1.1em;
|
8
|
-
line-height: 1.5em;
|
9
|
-
color: #110000;
|
10
|
-
overflow: auto;
|
11
|
-
}
|
12
|
-
|
13
|
-
.code-area {
|
14
|
-
width:100%;
|
15
|
-
}
|
16
|
-
|
17
|
-
.code-link {
|
18
|
-
padding-left:1em;
|
19
|
-
border-top: 1px solid #ddd;
|
20
|
-
border-left: 1px solid #ddd;
|
21
|
-
border-right: 1px solid #ddd;
|
22
|
-
}
|
23
|
-
|
24
|
-
.code-link a {
|
25
|
-
text-decoration: none;
|
26
|
-
font-size: 0.8em;
|
27
|
-
}
|
28
|
-
|
29
|
-
pre.highlight {
|
30
|
-
margin: 0;
|
31
|
-
}
|
32
|
-
|
33
|
-
pre.highlight ol {
|
34
|
-
margin: 0;
|
35
|
-
color: #333;
|
36
|
-
}
|
37
|
-
|
38
|
-
.af { color:#00C }
|
39
|
-
.an { color:#007 }
|
40
|
-
.av { color:#700 }
|
41
|
-
.aw { color:#C00 }
|
42
|
-
.bi { color:#509; font-weight:bold }
|
43
|
-
.c { color:#888 }
|
44
|
-
|
45
|
-
.ch { color:#04D }
|
46
|
-
.ch .k { color:#04D }
|
47
|
-
.ch .dl { color:#039 }
|
48
|
-
|
49
|
-
.cl { color:#B06; font-weight:bold }
|
50
|
-
.co { color:#036; font-weight:bold }
|
51
|
-
.cr { color:#0A0 }
|
52
|
-
.cv { color:#369 }
|
53
|
-
.df { color:#099; font-weight:bold }
|
54
|
-
.di { color:#088; font-weight:bold }
|
55
|
-
.dl { color:black }
|
56
|
-
.do { color:#970 }
|
57
|
-
.ds { color:#D42; font-weight:bold }
|
58
|
-
.e { color:#666; font-weight:bold }
|
59
|
-
.en { color:#800; font-weight:bold }
|
60
|
-
.er { color:#F00; background-color:#FAA }
|
61
|
-
.ex { color:#F00; font-weight:bold }
|
62
|
-
.fl { color:#60E; font-weight:bold }
|
63
|
-
.fu { color:#06B; font-weight:bold }
|
64
|
-
.gv { color:#d70; font-weight:bold }
|
65
|
-
.hx { color:#058; font-weight:bold }
|
66
|
-
.i { color:#00D; font-weight:bold }
|
67
|
-
.ic { color:#B44; font-weight:bold }
|
68
|
-
|
69
|
-
.il { background: #eee }
|
70
|
-
.il .il { background: #ddd }
|
71
|
-
.il .il .il { background: #ccc }
|
72
|
-
.il .dl { font-weight: bold ! important; color: #888 ! important }
|
73
|
-
|
74
|
-
.in { color:#B2B; font-weight:bold }
|
75
|
-
.iv { color:#33B }
|
76
|
-
.la { color:#970; font-weight:bold }
|
77
|
-
.lv { color:#963 }
|
78
|
-
.oc { color:#40E; font-weight:bold }
|
79
|
-
.on { color:#000; font-weight:bold }
|
80
|
-
.op { }
|
81
|
-
.pc { color:#038; font-weight:bold }
|
82
|
-
.pd { color:#369; font-weight:bold }
|
83
|
-
.pp { color:#579 }
|
84
|
-
.pt { color:#339; font-weight:bold }
|
85
|
-
.r { color:#080; font-weight:bold }
|
86
|
-
|
87
|
-
.rx { background-color:#fff0ff }
|
88
|
-
.rx .k { color:#808 }
|
89
|
-
.rx .dl { color:#404 }
|
90
|
-
.rx .mod { color:#C2C }
|
91
|
-
.rx .fu { color:#404; font-weight: bold }
|
92
|
-
|
93
|
-
.s { background-color:#fff0f0 }
|
94
|
-
.s .s { background-color:#ffe0e0 }
|
95
|
-
.s .s .s { background-color:#ffd0d0 }
|
96
|
-
.s .k { color:#D20 }
|
97
|
-
.s .dl { color:#710 }
|
98
|
-
|
99
|
-
.sh { background-color:#f0fff0 }
|
100
|
-
.sh .k { color:#2B2 }
|
101
|
-
.sh .dl { color:#161 }
|
102
|
-
|
103
|
-
.sy { color:#A60 }
|
104
|
-
.sy .k { color:#A60 }
|
105
|
-
.sy .dl { color:#630 }
|
106
|
-
|
107
|
-
.ta { color:#070 }
|
108
|
-
.tf { color:#070; font-weight:bold }
|
109
|
-
.ts { color:#D70; font-weight:bold }
|
110
|
-
.ty { color:#339; font-weight:bold }
|
111
|
-
.v { color:#036 }
|
112
|
-
.xt { color:#444 }
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|