rack-blogengine 1.0.7 → 1.0.8
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +2 -0
- data.tar.gz.sig +0 -0
- data/MANIFEST +33 -19
- data/README.md +5 -4
- data/doc/Operator.html +236 -0
- data/doc/Rack.html +117 -0
- data/doc/Rack/Blogengine.html +419 -0
- data/doc/Rack/Blogengine/Application.html +278 -0
- data/doc/Rack/Blogengine/ApplicationRouter.html +413 -0
- data/doc/Rack/Blogengine/CommandLineInterface.html +991 -0
- data/doc/Rack/Blogengine/Document.html +680 -0
- data/doc/Rack/Blogengine/DocumentParser.html +1708 -0
- data/doc/_index.html +197 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +339 -0
- data/doc/file.README.html +237 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +26 -0
- data/doc/index.html +237 -0
- data/doc/js/app.js +219 -0
- data/doc/js/full_list.js +178 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +263 -0
- data/doc/top-level-namespace.html +114 -0
- data/lib/rack/blogengine/command_line_interface.rb +2 -2
- data/lib/rack/blogengine/version.rb +1 -1
- data/rack-blogengine.gemspec +2 -2
- metadata +48 -21
- metadata.gz.sig +0 -0
- data/.gitignore +0 -20
- data/.rubocop.yml +0 -2
- data/.travis.yml +0 -22
- data/Gemfile +0 -4
- data/Rakefile +0 -8
- data/checksum/rack-blogengine-1.0.6.gem.sha512 +0 -1
- data/task/build.rake +0 -4
- data/task/checksum.rake +0 -15
- data/task/default.rake +0 -5
- data/task/floodtest.rake +0 -33
- data/task/manifest.rake +0 -8
- data/task/test.rake +0 -19
- data/task/travis.rake +0 -5
- data/test/rack/blogengine/application_router_test.rb +0 -49
- data/test/rack/blogengine/application_test.rb +0 -41
- data/test/rack/blogengine/command_line_interface_test.rb +0 -70
- data/test/rack/blogengine/document_parser_test.rb +0 -70
- data/test/test_helper.rb +0 -68
@@ -0,0 +1,237 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
+
<title>
|
7
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.7.4
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '';
|
20
|
+
framesUrl = "frames.html#!file.README.html";
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="_index.html">Index</a> »
|
35
|
+
<span class="title">File: README</span>
|
36
|
+
|
37
|
+
|
38
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search">
|
42
|
+
|
43
|
+
<a class="full_list_link" id="class_list_link"
|
44
|
+
href="class_list.html">
|
45
|
+
Class List
|
46
|
+
</a>
|
47
|
+
|
48
|
+
<a class="full_list_link" id="method_list_link"
|
49
|
+
href="method_list.html">
|
50
|
+
Method List
|
51
|
+
</a>
|
52
|
+
|
53
|
+
<a class="full_list_link" id="file_list_link"
|
54
|
+
href="file_list.html">
|
55
|
+
File List
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<iframe id="search_frame"></iframe>
|
63
|
+
|
64
|
+
<div id="content"><div id='filecontents'>
|
65
|
+
<h1 id="label-Rack%3A%3ABlogengine">Rack::Blogengine</h1>
|
66
|
+
|
67
|
+
<p>Rack Middleware to serve a simple blog</p>
|
68
|
+
|
69
|
+
<h2 id="label-Build+status">Build status</h2>
|
70
|
+
|
71
|
+
<p><a href="https://travis-ci.org/Benny1992/rack-blogengine"><img
|
72
|
+
src="https://travis-ci.org/Benny1992/rack-blogengine.png?branch=master"></a>
|
73
|
+
<a
|
74
|
+
href="https://coveralls.io/r/Benny1992/rack-blogengine?branch=master"><img
|
75
|
+
src="https://coveralls.io/repos/Benny1992/rack-blogengine/badge.png?branch=master"></a>
|
76
|
+
<a href="http://badge.fury.io/rb/rack-blogengine"><img
|
77
|
+
src="https://badge.fury.io/rb/rack-blogengine.png"></a> <a
|
78
|
+
href="https://gemnasium.com/Benny1992/rack-blogengine"><img
|
79
|
+
src="https://gemnasium.com/Benny1992/rack-blogengine.png"></a></p>
|
80
|
+
|
81
|
+
<h2 id="label-Supported+Ruby+Versions+%26+Platforms">Supported Ruby Versions & Platforms</h2>
|
82
|
+
<ul><li>
|
83
|
+
<p>rbx 2.2.5</p>
|
84
|
+
</li><li>
|
85
|
+
<p>ruby 2.0.0</p>
|
86
|
+
</li><li>
|
87
|
+
<p>ruby 2.1.0</p>
|
88
|
+
</li><li>
|
89
|
+
<p>ruby 2.1.1</p>
|
90
|
+
</li></ul>
|
91
|
+
|
92
|
+
<h2 id="label-Installation">Installation</h2>
|
93
|
+
|
94
|
+
<pre class="code ruby"><code class="ruby">$ gem install rack-blogengine</code></pre>
|
95
|
+
|
96
|
+
<p>To install the signed gem you have to add my public certificate and install
|
97
|
+
with proper security level:</p>
|
98
|
+
|
99
|
+
<pre class="code ruby"><code class="ruby">$ gem cert –add <(curl -Ls https://raw.github.com/benny1992/rack-blogengine/master/certs/benny1992.pem)
|
100
|
+
$ gem install rack-blogengine -P MediumSecurity</code></pre>
|
101
|
+
|
102
|
+
<h3 id="label-NOTE">NOTE</h3>
|
103
|
+
|
104
|
+
<p>Installing signed Gems is currently not working (rubygem version 2.2.2)</p>
|
105
|
+
|
106
|
+
<p><a href=“<a
|
107
|
+
href="https://github.com/rubygems/rubygems/issues/859">Issue</a">github.com/rubygems/rubygems/issues/859”>Issue</a</a>>
|
108
|
+
will be fixed in version 2.3</p>
|
109
|
+
|
110
|
+
<h2 id="label-Usage">Usage</h2>
|
111
|
+
|
112
|
+
<p><code>rack-blogengine generate <folder></code> will create your
|
113
|
+
Folder skeleton</p>
|
114
|
+
|
115
|
+
<h3 id="label-Structure">Structure</h3>
|
116
|
+
|
117
|
+
<p>These folders and files will be created for you</p>
|
118
|
+
|
119
|
+
<h4 id="label-Folders">Folders</h4>
|
120
|
+
|
121
|
+
<p><code>targetfolder/assets</code></p>
|
122
|
+
|
123
|
+
<p><code>targetfolder/assets/style</code></p>
|
124
|
+
|
125
|
+
<p><code>targetfolder/assets/js</code></p>
|
126
|
+
|
127
|
+
<p><code>targetfolder/assets/layout</code></p>
|
128
|
+
|
129
|
+
<p><code>targetfolder/assets/images</code></p>
|
130
|
+
|
131
|
+
<p><code>targetfolder/operator</code></p>
|
132
|
+
|
133
|
+
<h4 id="label-Files">Files</h4>
|
134
|
+
|
135
|
+
<p><code>targetfolder/assets/style/style.css</code></p>
|
136
|
+
|
137
|
+
<p><code>targetfolder/assets/js/script.js</code></p>
|
138
|
+
|
139
|
+
<p><code>targetfolder/assets/layout/layout.html</code> (filled with basic
|
140
|
+
structure)</p>
|
141
|
+
|
142
|
+
<p><code>targetfolder/index.content</code> (filled with dummy content)</p>
|
143
|
+
|
144
|
+
<p><code>targetfolder/config.yml</code> (basic config setup - server: webrick,
|
145
|
+
port: 3000)</p>
|
146
|
+
|
147
|
+
<p><code>targetfolder/operator/operator.rb</code> (define your operator
|
148
|
+
methods in module UserOperator)</p>
|
149
|
+
|
150
|
+
<h3 id="label-Layout">Layout</h3>
|
151
|
+
|
152
|
+
<p>In the layout.html you use title, content and date which will then be
|
153
|
+
populated with the values from each .content file Example: <code>html
|
154
|
+
<!DOCTYPE html> <html> <head>
|
155
|
+
<title>{title}</title> </head> <body>
|
156
|
+
<h1>{title}</h1> <div> {date} {content}
|
157
|
+
</div> </body> </html> </code></p>
|
158
|
+
|
159
|
+
<h3 id="label-Content">Content</h3>
|
160
|
+
|
161
|
+
<p>The Content files (.content) includes your content</p>
|
162
|
+
|
163
|
+
<p><code>[path][/path]</code> - this will be your access path to your blog
|
164
|
+
entry</p>
|
165
|
+
|
166
|
+
<p><code>[title][/title]</code> - the title for your article</p>
|
167
|
+
|
168
|
+
<p><code>[date][/date]</code> - publishing date of your article</p>
|
169
|
+
|
170
|
+
<p><code>[content][/content]</code> - your content</p>
|
171
|
+
|
172
|
+
<h3 id="label-Hint">Hint</h3>
|
173
|
+
|
174
|
+
<p>For a root document (<a href="http://pathtoapp.tld">pathtoapp.tld</a>/)
|
175
|
+
path should be empty ([<a href="/path">path]:</a>)</p>
|
176
|
+
|
177
|
+
<h3 id="label-Operators">Operators</h3>
|
178
|
+
|
179
|
+
<p>In version 0.1.2 operator handling is included. To use this new feature you
|
180
|
+
have to create a operator directory in your rackblog folder. In this
|
181
|
+
directory create your operators (.rb files) with following skeleton</p>
|
182
|
+
|
183
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>module</span> <span class='const'>UserOperator</span>
|
184
|
+
<span class='kw'>end</span>
|
185
|
+
</code></pre>
|
186
|
+
|
187
|
+
<p>Your operators are normal ruby methods defined in this module. Available
|
188
|
+
params are documents & html</p>
|
189
|
+
|
190
|
+
<p>Param documents: An Array with document objects. This Document objects has
|
191
|
+
following attributes: path, title, html</p>
|
192
|
+
|
193
|
+
<p>Param html: The content of the file where the operator was included</p>
|
194
|
+
|
195
|
+
<h4 id="label-Example">Example</h4>
|
196
|
+
|
197
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>module</span> <span class='const'>UserOperator</span>
|
198
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_show_nav'>show_nav</span>
|
199
|
+
<span class='kw'>end</span>
|
200
|
+
<span class='kw'>end</span>
|
201
|
+
</code></pre>
|
202
|
+
|
203
|
+
<p>In your layout.html then</p>
|
204
|
+
|
205
|
+
<pre class="code ruby"><code class="ruby"><div class="nav">
|
206
|
+
{% show_nav %}
|
207
|
+
</div></code></pre>
|
208
|
+
|
209
|
+
<h2 id="label-TODO">TODO</h2>
|
210
|
+
|
211
|
+
<p>Implement pygments without nokogiri html parser (maybe use oga as
|
212
|
+
alternative - <a href=“<a
|
213
|
+
href="https://github.com/YorickPeterse/oga">https://github.com/YorickPeterse/oga</a">github.com/YorickPeterse/oga”>https://github.com/YorickPeterse/oga</a</a>>)</p>
|
214
|
+
|
215
|
+
<h2 id="label-Contributing">Contributing</h2>
|
216
|
+
<ol><li>
|
217
|
+
<p>Fork it</p>
|
218
|
+
</li><li>
|
219
|
+
<p>Create your feature branch (<code>git checkout -b my-new-feature</code>)</p>
|
220
|
+
</li><li>
|
221
|
+
<p>Commit your changes (<code>git commit -am 'Add some
|
222
|
+
feature'</code>)</p>
|
223
|
+
</li><li>
|
224
|
+
<p>Push to the branch (<code>git push origin my-new-feature</code>)</p>
|
225
|
+
</li><li>
|
226
|
+
<p>Create new Pull Request</p>
|
227
|
+
</li></ol>
|
228
|
+
</div></div>
|
229
|
+
|
230
|
+
<div id="footer">
|
231
|
+
Generated on Mon Apr 21 22:58:50 2014 by
|
232
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
233
|
+
0.8.7.4 (ruby-2.1.1).
|
234
|
+
</div>
|
235
|
+
|
236
|
+
</body>
|
237
|
+
</html>
|
data/doc/file_list.html
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
|
7
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
|
9
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
14
|
+
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
|
+
|
17
|
+
|
18
|
+
<title>File List</title>
|
19
|
+
<base id="base_target" target="_parent" />
|
20
|
+
</head>
|
21
|
+
<body>
|
22
|
+
<script type="text/javascript" charset="utf-8">
|
23
|
+
if (window.top.frames.main) {
|
24
|
+
document.getElementById('base_target').target = 'main';
|
25
|
+
document.body.className = 'frames';
|
26
|
+
}
|
27
|
+
</script>
|
28
|
+
<div id="content">
|
29
|
+
<h1 id="full_list_header">File List</h1>
|
30
|
+
<div id="nav">
|
31
|
+
|
32
|
+
<span><a target="_self" href="class_list.html">
|
33
|
+
Classes
|
34
|
+
</a></span>
|
35
|
+
|
36
|
+
<span><a target="_self" href="method_list.html">
|
37
|
+
Methods
|
38
|
+
</a></span>
|
39
|
+
|
40
|
+
<span><a target="_self" href="file_list.html">
|
41
|
+
Files
|
42
|
+
</a></span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
<div id="search">Search: <input type="text" /></div>
|
46
|
+
|
47
|
+
<ul id="full_list" class="file">
|
48
|
+
|
49
|
+
|
50
|
+
<li class="r1"><span class="object_link"><a href="index.html" title="README">README</a></a></li>
|
51
|
+
|
52
|
+
|
53
|
+
</ul>
|
54
|
+
</div>
|
55
|
+
</body>
|
56
|
+
</html>
|
data/doc/frames.html
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
3
|
+
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
7
|
+
<title>Documentation by YARD 0.8.7.4</title>
|
8
|
+
</head>
|
9
|
+
<script type="text/javascript" charset="utf-8">
|
10
|
+
window.onload = function() {
|
11
|
+
var match = unescape(window.location.hash).match(/^#!(.+)/);
|
12
|
+
var name = match ? match[1] : 'index.html';
|
13
|
+
name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
|
14
|
+
document.writeln('<frameset cols="20%,*">' +
|
15
|
+
'<frame name="list" src="class_list.html" />' +
|
16
|
+
'<frame name="main" src="' + escape(name) + '" />' +
|
17
|
+
'</frameset>');
|
18
|
+
}
|
19
|
+
</script>
|
20
|
+
<noscript>
|
21
|
+
<frameset cols="20%,*">
|
22
|
+
<frame name="list" src="class_list.html" />
|
23
|
+
<frame name="main" src="index.html" />
|
24
|
+
</frameset>
|
25
|
+
</noscript>
|
26
|
+
</html>
|
data/doc/index.html
ADDED
@@ -0,0 +1,237 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
+
<title>
|
7
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.7.4
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '';
|
20
|
+
framesUrl = "frames.html#!file.README.html";
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="_index.html">Index</a> »
|
35
|
+
<span class="title">File: README</span>
|
36
|
+
|
37
|
+
|
38
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search">
|
42
|
+
|
43
|
+
<a class="full_list_link" id="class_list_link"
|
44
|
+
href="class_list.html">
|
45
|
+
Class List
|
46
|
+
</a>
|
47
|
+
|
48
|
+
<a class="full_list_link" id="method_list_link"
|
49
|
+
href="method_list.html">
|
50
|
+
Method List
|
51
|
+
</a>
|
52
|
+
|
53
|
+
<a class="full_list_link" id="file_list_link"
|
54
|
+
href="file_list.html">
|
55
|
+
File List
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<iframe id="search_frame"></iframe>
|
63
|
+
|
64
|
+
<div id="content"><div id='filecontents'>
|
65
|
+
<h1 id="label-Rack%3A%3ABlogengine">Rack::Blogengine</h1>
|
66
|
+
|
67
|
+
<p>Rack Middleware to serve a simple blog</p>
|
68
|
+
|
69
|
+
<h2 id="label-Build+status">Build status</h2>
|
70
|
+
|
71
|
+
<p><a href="https://travis-ci.org/Benny1992/rack-blogengine"><img
|
72
|
+
src="https://travis-ci.org/Benny1992/rack-blogengine.png?branch=master"></a>
|
73
|
+
<a
|
74
|
+
href="https://coveralls.io/r/Benny1992/rack-blogengine?branch=master"><img
|
75
|
+
src="https://coveralls.io/repos/Benny1992/rack-blogengine/badge.png?branch=master"></a>
|
76
|
+
<a href="http://badge.fury.io/rb/rack-blogengine"><img
|
77
|
+
src="https://badge.fury.io/rb/rack-blogengine.png"></a> <a
|
78
|
+
href="https://gemnasium.com/Benny1992/rack-blogengine"><img
|
79
|
+
src="https://gemnasium.com/Benny1992/rack-blogengine.png"></a></p>
|
80
|
+
|
81
|
+
<h2 id="label-Supported+Ruby+Versions+%26+Platforms">Supported Ruby Versions & Platforms</h2>
|
82
|
+
<ul><li>
|
83
|
+
<p>rbx 2.2.5</p>
|
84
|
+
</li><li>
|
85
|
+
<p>ruby 2.0.0</p>
|
86
|
+
</li><li>
|
87
|
+
<p>ruby 2.1.0</p>
|
88
|
+
</li><li>
|
89
|
+
<p>ruby 2.1.1</p>
|
90
|
+
</li></ul>
|
91
|
+
|
92
|
+
<h2 id="label-Installation">Installation</h2>
|
93
|
+
|
94
|
+
<pre class="code ruby"><code class="ruby">$ gem install rack-blogengine</code></pre>
|
95
|
+
|
96
|
+
<p>To install the signed gem you have to add my public certificate and install
|
97
|
+
with proper security level:</p>
|
98
|
+
|
99
|
+
<pre class="code ruby"><code class="ruby">$ gem cert –add <(curl -Ls https://raw.github.com/benny1992/rack-blogengine/master/certs/benny1992.pem)
|
100
|
+
$ gem install rack-blogengine -P MediumSecurity</code></pre>
|
101
|
+
|
102
|
+
<h3 id="label-NOTE">NOTE</h3>
|
103
|
+
|
104
|
+
<p>Installing signed Gems is currently not working (rubygem version 2.2.2)</p>
|
105
|
+
|
106
|
+
<p><a href=“<a
|
107
|
+
href="https://github.com/rubygems/rubygems/issues/859">Issue</a">github.com/rubygems/rubygems/issues/859”>Issue</a</a>>
|
108
|
+
will be fixed in version 2.3</p>
|
109
|
+
|
110
|
+
<h2 id="label-Usage">Usage</h2>
|
111
|
+
|
112
|
+
<p><code>rack-blogengine generate <folder></code> will create your
|
113
|
+
Folder skeleton</p>
|
114
|
+
|
115
|
+
<h3 id="label-Structure">Structure</h3>
|
116
|
+
|
117
|
+
<p>These folders and files will be created for you</p>
|
118
|
+
|
119
|
+
<h4 id="label-Folders">Folders</h4>
|
120
|
+
|
121
|
+
<p><code>targetfolder/assets</code></p>
|
122
|
+
|
123
|
+
<p><code>targetfolder/assets/style</code></p>
|
124
|
+
|
125
|
+
<p><code>targetfolder/assets/js</code></p>
|
126
|
+
|
127
|
+
<p><code>targetfolder/assets/layout</code></p>
|
128
|
+
|
129
|
+
<p><code>targetfolder/assets/images</code></p>
|
130
|
+
|
131
|
+
<p><code>targetfolder/operator</code></p>
|
132
|
+
|
133
|
+
<h4 id="label-Files">Files</h4>
|
134
|
+
|
135
|
+
<p><code>targetfolder/assets/style/style.css</code></p>
|
136
|
+
|
137
|
+
<p><code>targetfolder/assets/js/script.js</code></p>
|
138
|
+
|
139
|
+
<p><code>targetfolder/assets/layout/layout.html</code> (filled with basic
|
140
|
+
structure)</p>
|
141
|
+
|
142
|
+
<p><code>targetfolder/index.content</code> (filled with dummy content)</p>
|
143
|
+
|
144
|
+
<p><code>targetfolder/config.yml</code> (basic config setup - server: webrick,
|
145
|
+
port: 3000)</p>
|
146
|
+
|
147
|
+
<p><code>targetfolder/operator/operator.rb</code> (define your operator
|
148
|
+
methods in module UserOperator)</p>
|
149
|
+
|
150
|
+
<h3 id="label-Layout">Layout</h3>
|
151
|
+
|
152
|
+
<p>In the layout.html you use title, content and date which will then be
|
153
|
+
populated with the values from each .content file Example: <code>html
|
154
|
+
<!DOCTYPE html> <html> <head>
|
155
|
+
<title>{title}</title> </head> <body>
|
156
|
+
<h1>{title}</h1> <div> {date} {content}
|
157
|
+
</div> </body> </html> </code></p>
|
158
|
+
|
159
|
+
<h3 id="label-Content">Content</h3>
|
160
|
+
|
161
|
+
<p>The Content files (.content) includes your content</p>
|
162
|
+
|
163
|
+
<p><code>[path][/path]</code> - this will be your access path to your blog
|
164
|
+
entry</p>
|
165
|
+
|
166
|
+
<p><code>[title][/title]</code> - the title for your article</p>
|
167
|
+
|
168
|
+
<p><code>[date][/date]</code> - publishing date of your article</p>
|
169
|
+
|
170
|
+
<p><code>[content][/content]</code> - your content</p>
|
171
|
+
|
172
|
+
<h3 id="label-Hint">Hint</h3>
|
173
|
+
|
174
|
+
<p>For a root document (<a href="http://pathtoapp.tld">pathtoapp.tld</a>/)
|
175
|
+
path should be empty ([<a href="/path">path]:</a>)</p>
|
176
|
+
|
177
|
+
<h3 id="label-Operators">Operators</h3>
|
178
|
+
|
179
|
+
<p>In version 0.1.2 operator handling is included. To use this new feature you
|
180
|
+
have to create a operator directory in your rackblog folder. In this
|
181
|
+
directory create your operators (.rb files) with following skeleton</p>
|
182
|
+
|
183
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>module</span> <span class='const'>UserOperator</span>
|
184
|
+
<span class='kw'>end</span>
|
185
|
+
</code></pre>
|
186
|
+
|
187
|
+
<p>Your operators are normal ruby methods defined in this module. Available
|
188
|
+
params are documents & html</p>
|
189
|
+
|
190
|
+
<p>Param documents: An Array with document objects. This Document objects has
|
191
|
+
following attributes: path, title, html</p>
|
192
|
+
|
193
|
+
<p>Param html: The content of the file where the operator was included</p>
|
194
|
+
|
195
|
+
<h4 id="label-Example">Example</h4>
|
196
|
+
|
197
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>module</span> <span class='const'>UserOperator</span>
|
198
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_show_nav'>show_nav</span>
|
199
|
+
<span class='kw'>end</span>
|
200
|
+
<span class='kw'>end</span>
|
201
|
+
</code></pre>
|
202
|
+
|
203
|
+
<p>In your layout.html then</p>
|
204
|
+
|
205
|
+
<pre class="code ruby"><code class="ruby"><div class="nav">
|
206
|
+
{% show_nav %}
|
207
|
+
</div></code></pre>
|
208
|
+
|
209
|
+
<h2 id="label-TODO">TODO</h2>
|
210
|
+
|
211
|
+
<p>Implement pygments without nokogiri html parser (maybe use oga as
|
212
|
+
alternative - <a href=“<a
|
213
|
+
href="https://github.com/YorickPeterse/oga">https://github.com/YorickPeterse/oga</a">github.com/YorickPeterse/oga”>https://github.com/YorickPeterse/oga</a</a>>)</p>
|
214
|
+
|
215
|
+
<h2 id="label-Contributing">Contributing</h2>
|
216
|
+
<ol><li>
|
217
|
+
<p>Fork it</p>
|
218
|
+
</li><li>
|
219
|
+
<p>Create your feature branch (<code>git checkout -b my-new-feature</code>)</p>
|
220
|
+
</li><li>
|
221
|
+
<p>Commit your changes (<code>git commit -am 'Add some
|
222
|
+
feature'</code>)</p>
|
223
|
+
</li><li>
|
224
|
+
<p>Push to the branch (<code>git push origin my-new-feature</code>)</p>
|
225
|
+
</li><li>
|
226
|
+
<p>Create new Pull Request</p>
|
227
|
+
</li></ol>
|
228
|
+
</div></div>
|
229
|
+
|
230
|
+
<div id="footer">
|
231
|
+
Generated on Mon Apr 21 22:58:50 2014 by
|
232
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
233
|
+
0.8.7.4 (ruby-2.1.1).
|
234
|
+
</div>
|
235
|
+
|
236
|
+
</body>
|
237
|
+
</html>
|