rote 0.2.2 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +15 -3
- data/Rakefile +53 -1
- data/TODO +5 -1
- data/doc/layouts/page.html +1 -1
- data/doc/man/rote.1.gz +0 -0
- data/doc/pages/guide/COMMON.rb +17 -6
- data/doc/pages/guide/index.html +116 -115
- data/lib/rote.rb +18 -11
- data/lib/rote/app.rb +14 -6
- data/lib/rote/builtin.rf +65 -16
- data/lib/rote/page.rb +8 -3
- data/lib/rote/project/README +49 -0
- data/lib/rote/project/Rakefile +51 -0
- data/lib/rote/project/doc/layouts/normal.html +38 -0
- data/lib/rote/project/doc/pages/COMMON.rb +7 -0
- data/lib/rote/project/doc/pages/index.html +12 -0
- data/lib/rote/project/doc/pages/index.rb +13 -0
- data/lib/rote/project/doc/res/images/rote-tiny.png +0 -0
- data/lib/rote/rotetasks.rb +11 -4
- metadata +14 -2
data/README
CHANGED
@@ -71,7 +71,12 @@ With that done, you should be able to run
|
|
71
71
|
|
72
72
|
to verify that the command-line wrapper is working. You should of course see
|
73
73
|
the version number of your Rote installation.
|
74
|
-
|
74
|
+
|
75
|
+
*NOTE* Windows users - you may experience problems at this point, with Rote
|
76
|
+
complaining that 'rake' is an invalid command. To fix this, simply set an
|
77
|
+
environment variable, RAKE_CMD, with the command to execute for rake
|
78
|
+
(e.g. rake.bat).
|
79
|
+
|
75
80
|
== How do I use it?
|
76
81
|
|
77
82
|
Please see the user guide for usage information. The latest version can be
|
@@ -101,8 +106,9 @@ packages from escaping into the wild.
|
|
101
106
|
|
102
107
|
=== Further information
|
103
108
|
|
104
|
-
Rote is developed by Ross Bamford (
|
105
|
-
|
109
|
+
Rote is developed by Ross Bamford (rosco <at> roscopeco.co.uk), with help from
|
110
|
+
the developers listed in CONTRIBUTORS. Any bugs are probably down to Ross,
|
111
|
+
though, so flame him if it breaks your day ;P
|
106
112
|
|
107
113
|
* Homepage - http://rote.rubyforge.org/
|
108
114
|
* Project - http://rubyforge.org/projects/rote
|
@@ -111,3 +117,9 @@ it breaks your day ;P
|
|
111
117
|
|
112
118
|
As you may have guessed, Rote's hosting and development services are provided
|
113
119
|
by http://RubyForge.org .
|
120
|
+
|
121
|
+
Thanks to Yukihiro Matsumoto for a remarkable platform, Masatoshi Seki for
|
122
|
+
embedding it in text, Jim Weirich for an elegant build tool, and Dean Allen
|
123
|
+
for making markup easy in Ruby. Thanks too to the many people who've contributed
|
124
|
+
and improved these things over the years - as ever, we stand on the shoulders
|
125
|
+
of giants.
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# This Rakefile is heavily based on Rake's own Rakefile.
|
7
7
|
# Portions copyright (c)2003, 2004 Jim Weirich (jim <AT> weirichhouse.org)
|
8
8
|
#
|
9
|
-
# $Id: Rakefile,v 1.
|
9
|
+
# $Id: Rakefile,v 1.11 2005/12/05 14:45:15 roscopeco Exp $
|
10
10
|
#
|
11
11
|
|
12
12
|
begin
|
@@ -141,6 +141,7 @@ PKG_FILES = FileList[
|
|
141
141
|
'bin/**/*',
|
142
142
|
'lib/**/*.rb',
|
143
143
|
'lib/rote/builtin.rf',
|
144
|
+
'lib/rote/project/**/*',
|
144
145
|
'test/**/*',
|
145
146
|
'doc/**/*'
|
146
147
|
]
|
@@ -289,6 +290,57 @@ task :rubyfiles do
|
|
289
290
|
puts Dir['bin/*'].reject { |fn| fn =~ /CVS|(~$)|(\.rb$)/ }
|
290
291
|
end
|
291
292
|
|
293
|
+
desc "Show deprecation notes"
|
294
|
+
task :deprecated do
|
295
|
+
Dir['lib/**/*.r?'].each do |fn|
|
296
|
+
File.open(fn) do |f|
|
297
|
+
[*f].each_with_index do |line,i|
|
298
|
+
if line =~ /#(.*)vv([0-9\.]+)(?:[\s\t]*)v-([0-9\.]+)/
|
299
|
+
cmnt = $~[1].strip
|
300
|
+
cmnt = '<No comment>' if (cmnt.nil? or cmnt.empty?)
|
301
|
+
printf "%s:%d\n%-60s %5s %5s\n\n", fn, i+1, cmnt, $~[2].strip, $~[3].strip
|
302
|
+
end #if splits okay
|
303
|
+
end #each_w_idx
|
304
|
+
end #fopen
|
305
|
+
end #dir
|
306
|
+
end
|
307
|
+
|
308
|
+
desc "Find features deprecated at VER"
|
309
|
+
task :deprecated_by do
|
310
|
+
fail "\nYou must specify the version to check (VER=x.y.z)\n\n" unless ver = ENV['VER']
|
311
|
+
Dir['lib/**/*.r?'].each do |fn|
|
312
|
+
File.open(fn) do |f|
|
313
|
+
[*f].each_with_index do |line,i|
|
314
|
+
if line =~ /vv#{ver}/
|
315
|
+
if line =~ /#(.*)vv([0-9\.]+)(?:[\s\t]*)v-([0-9\.]+)/
|
316
|
+
cmnt = $~[1].strip
|
317
|
+
cmnt = '<No comment>' if (cmnt.nil? or cmnt.empty?)
|
318
|
+
printf "%s:%d\n%-60s %5s %5s\n\n", fn, i+1, cmnt, $~[2].strip, $~[3].strip
|
319
|
+
end #if splits okay
|
320
|
+
end #if line is dep remove
|
321
|
+
end #each_w_idx
|
322
|
+
end #fopen
|
323
|
+
end #dir
|
324
|
+
end
|
325
|
+
|
326
|
+
desc "Find deprecated features to be removed by VER"
|
327
|
+
task :deprecated_due do
|
328
|
+
fail "\nYou must specify the version to check (VER=x.y.z)\n\n" unless ver = ENV['VER']
|
329
|
+
Dir['lib/**/*.r?'].each do |fn|
|
330
|
+
File.open(fn) do |f|
|
331
|
+
[*f].each_with_index do |line,i|
|
332
|
+
if line =~ /v-#{ver}/
|
333
|
+
if line =~ /#(.*)vv([0-9\.]+)(?:[\s\t]*)v-([0-9\.]+)/
|
334
|
+
cmnt = $~[1].strip
|
335
|
+
cmnt = '<No comment>' if (cmnt.nil? or cmnt.empty?)
|
336
|
+
printf "%s:%d\n%-60s %5s %5s\n\n", fn, i+1, cmnt, $~[2].strip, $~[3].strip
|
337
|
+
end #if splits okay
|
338
|
+
end #if line is dep remove
|
339
|
+
end #each_w_idx
|
340
|
+
end #fopen
|
341
|
+
end #dir
|
342
|
+
end
|
343
|
+
|
292
344
|
# --------------------------------------------------------------------
|
293
345
|
# Creating a release
|
294
346
|
|
data/TODO
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
= Rote project -- Todo list
|
2
2
|
|
3
3
|
Most of the following ideas will probably be implemented at some point.
|
4
|
-
Send any suggestions
|
4
|
+
Send any suggestions or patches (preferably as/with tests) to:
|
5
5
|
|
6
6
|
rosco <at> roscopeco <dot> co <dot> uk
|
7
7
|
|
8
8
|
* More flexible markup rendering
|
9
9
|
* Nested layouts
|
10
|
+
* Better COMMON.rb handling
|
10
11
|
* Find and Integrate test run / coverage reports
|
11
12
|
* Ability to have multiple views of a section, e.g. user guide (separate
|
12
13
|
pages) and user guide (one page) generated from same source.
|
14
|
+
* Auto-link within section
|
13
15
|
* Index and glossary support
|
14
16
|
* statistics
|
15
17
|
* (maybe?) Automatic navigation / TOC
|
16
18
|
* (maybe?) Rant integration
|
19
|
+
* Ability to define rules for input.ext -> output.ext
|
20
|
+
* Support ruby source templates (.rbt, auto rename to .rb on output).
|
data/doc/layouts/page.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version='1.0' encoding='utf-8'?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
3
|
<html>
|
4
4
|
|
5
5
|
<head>
|
data/doc/man/rote.1.gz
CHANGED
Binary file
|
data/doc/pages/guide/COMMON.rb
CHANGED
@@ -1,7 +1,18 @@
|
|
1
|
-
#
|
2
|
-
# from above. Of course, we can still define extra stuff
|
3
|
-
# here.
|
4
|
-
#
|
5
|
-
# This will be made implicit soon.
|
6
|
-
|
1
|
+
# inherit common.rb from above
|
7
2
|
inherit_common
|
3
|
+
|
4
|
+
def section_anchor(name)
|
5
|
+
name.downcase.gsub(/\s/,'_')
|
6
|
+
end
|
7
|
+
|
8
|
+
def section_link(name, text = name)
|
9
|
+
%Q{"#{text}":\##{section_anchor(name)}}
|
10
|
+
end
|
11
|
+
|
12
|
+
def section(level, name, toplink = true)
|
13
|
+
%Q{
|
14
|
+
#{"[#{section_link('Top')}]" if toplink}
|
15
|
+
<a name='#{section_anchor(name)}'></a>
|
16
|
+
h#{level}. #{name}
|
17
|
+
}
|
18
|
+
end
|
data/doc/pages/guide/index.html
CHANGED
@@ -6,25 +6,26 @@ It is assumed that you have installed Rote already. If not, please
|
|
6
6
|
consult the <a href="<%= link_rel '/rdoc/files/README.html' %>">README</a>
|
7
7
|
for installation instructions.
|
8
8
|
|
9
|
-
<a name='top'
|
9
|
+
<a name='top'></a>
|
10
10
|
h3. Contents
|
11
11
|
|
12
|
-
*
|
13
|
-
*
|
14
|
-
**
|
15
|
-
**
|
16
|
-
**
|
17
|
-
*
|
18
|
-
**
|
19
|
-
**
|
20
|
-
**
|
21
|
-
**
|
22
|
-
*
|
23
|
-
*
|
24
|
-
|
12
|
+
* <%= section_link 'Conventions' %>
|
13
|
+
* <%= section_link 'Starting out with Rote' %>
|
14
|
+
** <%= section_link 'Creating a project' %>
|
15
|
+
** <%= section_link 'From the command-line' %>
|
16
|
+
** <%= section_link 'From your Rakefile' %>
|
17
|
+
* <%= section_link 'Creating templates' %>
|
18
|
+
** <%= section_link 'Basics' %>
|
19
|
+
** <%= section_link 'Formatting' %>
|
20
|
+
** <%= section_link 'Template code and ERB' %>
|
21
|
+
** <%= section_link 'Applying layout' %>
|
22
|
+
* <%= section_link 'Resources' %>
|
23
|
+
* <%= section_link 'Source monitoring' %>
|
24
|
+
** <%= section_link 'Auto-refresh Task' %>
|
25
|
+
* <%= section_link 'Definining additional tasks' %>
|
26
|
+
* <%= section_link 'Publishing' %>
|
25
27
|
|
26
|
-
|
27
|
-
h3. Conventions used in this document
|
28
|
+
<%= section 3, 'Conventions', false %>
|
28
29
|
|
29
30
|
*Task names* - Rote's standard tasks are always referred to with the base-name
|
30
31
|
_doc_ , e.g. @doc_pages@, @doc_clean@, and just plain @doc@. This is the prefix
|
@@ -32,40 +33,38 @@ used by the built-in Rakefile, but since it can be changed when using Rote in
|
|
32
33
|
your own Rake builds you should of course substitute whatever is appropriate
|
33
34
|
if you have chosen to modify it.
|
34
35
|
|
35
|
-
|
36
|
-
h3. Getting started with Rote
|
36
|
+
<%= section 3, 'Starting out with Rote' %>
|
37
37
|
|
38
|
-
|
39
|
-
h4. Documentation source layout
|
38
|
+
<%= section 4, 'Creating a project', false %>
|
40
39
|
|
41
|
-
To get started quickly, we'll use the
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
To get started quickly, we'll use the built-in project template, which provides
|
41
|
+
a standard Rote directory tree with a single page, and Rakefile ready for
|
42
|
+
customisation. The template gives a convenient way to get started on a new
|
43
|
+
Rote project. To invoke it, just type:
|
44
|
+
|
45
|
+
<p><pre><code> rote create someproject</code></pre></p>
|
46
|
+
|
47
|
+
If all goes well, you should see a single line (@cp_r ...@) indicating that
|
48
|
+
Rote copied the template to your specified directory (@someproject@ in this
|
49
|
+
case). This directory will have the following layout:
|
45
50
|
|
46
51
|
<p><code><pre>
|
47
|
-
|
52
|
+
someproject
|
48
53
|
|
|
49
|
-
|-->
|
54
|
+
|--> Rakefile
|
50
55
|
|
|
51
56
|
|--> doc
|
52
|
-
| |--> [COMMON.rb]
|
53
|
-
| |
|
54
57
|
| |--> res
|
55
|
-
| | |-->
|
58
|
+
| | |--> images
|
59
|
+
| | |--> rote-tiny.png
|
56
60
|
| |
|
57
61
|
| |--> layouts
|
58
|
-
| | |-->
|
59
|
-
| | |--> two.html
|
62
|
+
| | |--> normal.html
|
60
63
|
| |
|
61
64
|
| |--> pages
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| | |--> adir
|
66
|
-
| | | |--> [COMMON.rb]
|
67
|
-
| | | |--> bpage.html
|
68
|
-
| | | |--> [bpage.rb]
|
65
|
+
| |--> COMMON.rb
|
66
|
+
| |--> index.html
|
67
|
+
| |--> index.rb
|
69
68
|
|
70
69
|
</pre></code></p>
|
71
70
|
|
@@ -75,17 +74,18 @@ See the section on Layouts below for details on layout name resolution.
|
|
75
74
|
|
76
75
|
Ruby source is optional, and allows you to define instance variables and
|
77
76
|
methods on a Page instance. COMMON.rb is applied to all pages in a given
|
78
|
-
directory. See
|
79
|
-
information on the specifics.
|
77
|
+
directory. See <%= section_link 'creating templates', 'the section on templates' %>
|
78
|
+
for more information on the specifics.
|
80
79
|
|
81
|
-
|
82
|
-
|
83
|
-
|
80
|
+
To build the sample page, simply type @rote@ or @rake@ from the top-level
|
81
|
+
directory. This will start the default @doc@ task to transform all
|
82
|
+
modified pages / resources (everything, in this case).
|
84
83
|
|
85
|
-
|
84
|
+
The README included with the project template has further information
|
85
|
+
about build options and available tasks, as well as pointers to possible
|
86
|
+
next steps.
|
86
87
|
|
87
|
-
|
88
|
-
h4. From the command-line
|
88
|
+
<%= section 4, 'From the command-line' %>
|
89
89
|
|
90
90
|
If you are generating a standalone documentation set (i.e. not as part of
|
91
91
|
some wider build) then you don't need to worry about writing a @Rakefile@ -
|
@@ -107,7 +107,7 @@ individual file task for each page in your doc set. For example, running
|
|
107
107
|
the 'rote' command again with no options will cause it to exit almost
|
108
108
|
immediately, since all output is up to date. If you change a file, and run
|
109
109
|
rote again, then just that file will be updated. There are a few caveats
|
110
|
-
with this (see
|
110
|
+
with this (see <%= section_link 'Final notes', 'the notes section' %>).
|
111
111
|
|
112
112
|
The file tasks are named for the target files, so for example to generate
|
113
113
|
just the top-level index.html (regardless of whether it's been modified)
|
@@ -128,13 +128,10 @@ Further command-line usage information is available with:
|
|
128
128
|
|
129
129
|
<p><pre><code> rote --usage</code></pre></p>
|
130
130
|
|
131
|
-
and Unix installations performed with
|
131
|
+
and Unix installations performed with @install.rb@ should also make a
|
132
132
|
manpage available for the @rote@ command.
|
133
133
|
|
134
|
-
|
135
|
-
|
136
|
-
<a name='getting_started_rakefile'/>
|
137
|
-
h4. From your @Rakefile@
|
134
|
+
<%= section 4, 'From your Rakefile' %>
|
138
135
|
|
139
136
|
If you are wanting to build documentation as part of a larger build process, or
|
140
137
|
commandline setup, then you'll want to get started on integrating Rote with
|
@@ -146,7 +143,7 @@ something like:
|
|
146
143
|
require 'rote'
|
147
144
|
|
148
145
|
ws = Rote::DocTask.new(:doc) { |site|
|
149
|
-
site.
|
146
|
+
site.output_dir = 'html'
|
150
147
|
site.layout_dir = 'doc/layouts'
|
151
148
|
|
152
149
|
site.pages.dir = 'doc/pages'
|
@@ -157,8 +154,7 @@ something like:
|
|
157
154
|
site.res.include('**/*.gif')
|
158
155
|
site.res.include('**/*.jpg')
|
159
156
|
site.res.include('**/*.css')
|
160
|
-
}
|
161
|
-
|
157
|
+
}
|
162
158
|
</code></pre>
|
163
159
|
|
164
160
|
Save this as @Rakefile@, and fire up:
|
@@ -168,16 +164,12 @@ Save this as @Rakefile@, and fire up:
|
|
168
164
|
If all goes well, you should see each command and transformation output to your
|
169
165
|
console as Rote runs.
|
170
166
|
|
171
|
-
*Note* that it's safe to include
|
172
|
-
files are implicitly excluded.
|
173
|
-
|
174
|
-
["top":#top]
|
167
|
+
*Note* that it's safe to include all files in the @pages@ list, since @rb@
|
168
|
+
files are implicitly excluded (as page code).
|
175
169
|
|
176
|
-
|
177
|
-
h3. Creating templates
|
170
|
+
<%= section 3, 'Creating templates' %>
|
178
171
|
|
179
|
-
|
180
|
-
h4. The basics
|
172
|
+
<%= section 4, 'The Basics', false %>
|
181
173
|
|
182
174
|
As mentioned, templates are simply text files in the @doc/pages@ directory. The
|
183
175
|
layout below that directory is retained when transforming pages, and is
|
@@ -187,10 +179,7 @@ By default, any file with an extension other than @rb@ will be processed
|
|
187
179
|
as a page template (with it's associated ruby source). The output will have
|
188
180
|
the same filename and path, relative to the output directory.
|
189
181
|
|
190
|
-
|
191
|
-
|
192
|
-
<a name='create_templates_formatting'/>
|
193
|
-
h4. Applying formatting
|
182
|
+
<%= section 4, 'Applying formatting' %>
|
194
183
|
|
195
184
|
If you're generating HTML, you'll probably want to use some plaintext
|
196
185
|
formatting, rather than writing HTML by hand. Rote directly supports
|
@@ -202,10 +191,10 @@ appropriate symbols to the array, for example in page code or COMMON.rb:
|
|
202
191
|
<p><pre><code> format_opts << :textile << :markdown << :rdoc</code></pre></p>
|
203
192
|
|
204
193
|
This can be done in page code, COMMON.rb, or even inside the template itself.
|
205
|
-
See
|
206
|
-
on adding code to your templates. Obviously you don't have
|
207
|
-
and order isn't significant - formatting is applied as Textile,
|
208
|
-
then Rdoc.
|
194
|
+
See <%= section_link 'template code and erb', 'the section on template code' %>
|
195
|
+
for more information on adding code to your templates. Obviously you don't have
|
196
|
+
to use all three, and order isn't significant - formatting is applied as Textile,
|
197
|
+
then Markdown, then Rdoc.
|
209
198
|
|
210
199
|
*Some additional notes on formatting*
|
211
200
|
|
@@ -215,22 +204,22 @@ then Rdoc.
|
|
215
204
|
being ignored. Always use the << :opt syntax.
|
216
205
|
|
217
206
|
* Note that *Formatting is applied _after_ any ERB has been evaluated.*
|
207
|
+
This allows you to output formatting from your code and have it rendered
|
208
|
+
properly.
|
218
209
|
|
219
210
|
* that the options you supply are passed directly to RedCloth, so you can
|
220
211
|
exercise much more control over the formatting by using the feature-specific
|
221
212
|
symbols defined by RedCloth, rather than the blanket :textile and :markdown
|
222
213
|
symbols.
|
223
214
|
|
224
|
-
|
225
|
-
|
226
|
-
<a name='create_templates_erb'/>
|
227
|
-
h4. Template code and ERB
|
215
|
+
<%= section 4, 'Template code and ERB' %>
|
228
216
|
|
229
217
|
All templates may contain embedded Ruby code (ERB), delimited by the standard
|
230
|
-
<
|
231
|
-
(valid) Ruby code may be placed in the templates, and
|
232
|
-
allow information to be passed into templates.
|
233
|
-
you might define such variables. The following
|
218
|
+
<% ... %> (for executed code) and <%= ... %> (for
|
219
|
+
output) tags. Any (valid) Ruby code may be placed in the templates, and
|
220
|
+
variables may be defined to allow information to be passed into templates.
|
221
|
+
There are four places where you might define such variables. The following
|
222
|
+
is in order of evaluation:
|
234
223
|
|
235
224
|
* This directory's COMMON.rb, or the parent directory's COMMON.rb if
|
236
225
|
@inherit_common@ is used.
|
@@ -243,10 +232,7 @@ evaluates them, in order, in the same binding as the template is later rendered
|
|
243
232
|
in (i.e. the @Page@ instance binding). Therefore, you can define
|
244
233
|
instance variables to pass data around, or even helper methods if you wish.
|
245
234
|
|
246
|
-
|
247
|
-
|
248
|
-
<a name='create_templates_layout'/>
|
249
|
-
h4. Layout
|
235
|
+
<%= section 4, 'Layout' %>
|
250
236
|
|
251
237
|
Layouts are stored under the @doc/layouts@ directory (by default). They may
|
252
238
|
be organised into subdirectories, but this hierarchy is not connected to
|
@@ -258,7 +244,7 @@ specified, then the same extension as the page itself is assumed. Examples:
|
|
258
244
|
* layout 'one'
|
259
245
|
* layout 'main/wide'
|
260
246
|
* layout 'dark.txt'
|
261
|
-
*
|
247
|
+
* <% layout 'my' %>
|
262
248
|
|
263
249
|
_*Note* the absence of the = sign in the ERB tag in the last example,_
|
264
250
|
_indicating that this is code to be executed rather than code that should_
|
@@ -270,16 +256,13 @@ the layout (in which textile is currently not supported). The layout is
|
|
270
256
|
responsible for inserting the rendered template where appropriate, with
|
271
257
|
e.g.:
|
272
258
|
|
273
|
-
*
|
259
|
+
* <%= @content_for_layout %>
|
274
260
|
|
275
261
|
This pattern shouldn't be unfamiliar. Again, note that Rote doesn't mandate
|
276
262
|
HTML, despite the appearance from the ERB tags - any (textual) format can
|
277
263
|
be templated and laid out.
|
278
264
|
|
279
|
-
|
280
|
-
|
281
|
-
<a name='resources'/>
|
282
|
-
h3. Resources
|
265
|
+
<%= section 3, 'Resources' %>
|
283
266
|
|
284
267
|
Of course, you're likely to have resources for your site (images, sounds, etc)
|
285
268
|
and you'll need to copy them over to the target too. Such resources should be
|
@@ -291,10 +274,7 @@ output, and will be preserved during the copy. Resources are copied only if
|
|
291
274
|
necessary (determined by existence and last-modified timestamp), in a similar
|
292
275
|
way to pages.
|
293
276
|
|
294
|
-
|
295
|
-
|
296
|
-
<a name='monitor'/>
|
297
|
-
h3. Source monitoring
|
277
|
+
<%= section 3, 'Source monitoring' %>
|
298
278
|
|
299
279
|
When making changes to a documentation set, you frequently need to render out
|
300
280
|
your changes to check formatting or ensure something works correctly. In this
|
@@ -330,8 +310,38 @@ because it just might make me reconsider.
|
|
330
310
|
When you're done with Rote simply hit CTRL-C (or use @kill@) to stop monitoring
|
331
311
|
and exit.
|
332
312
|
|
333
|
-
|
334
|
-
|
313
|
+
<%= section 4, 'Auto-refresh task' %>
|
314
|
+
|
315
|
+
When using Source monitoring, it's often handy to be able to inform some other
|
316
|
+
program that something has changed. For example, you may want to automatically
|
317
|
+
refresh your browser after changed HTML is rendered. Rote supports this via
|
318
|
+
the @doc_refresh@ task, which is triggered whenever @doc_monitor@ finds changes
|
319
|
+
in your source set (_after_ rendering, of course).
|
320
|
+
|
321
|
+
The following (Mac) example uses OSA script to refresh the Safari browser when
|
322
|
+
your rendered documentation changes:
|
323
|
+
<pre><code>
|
324
|
+
require 'osx/aeosa'
|
325
|
+
|
326
|
+
task :doc_refresh do
|
327
|
+
OSX.do_osascript('tell application "Safari" to do javascript "window.location.reload();" in document 1')
|
328
|
+
end
|
329
|
+
</code></pre>
|
330
|
+
|
331
|
+
As with all rake tasks, multiple actions can be associated, and you can of course
|
332
|
+
add prerequisites to the @refresh@ task as with any other Rake task.
|
333
|
+
|
334
|
+
<%= section 3, 'Defining additional tasks' %>
|
335
|
+
|
336
|
+
The command-line build will automatically look for a file in the top-level
|
337
|
+
directory (above @doc@) named @local.rf@. If found, this file will be
|
338
|
+
evaluated by Rake, making any tasks defined within it available to your
|
339
|
+
build. This can be used to define an <%= section_link 'auto-refresh task' %>
|
340
|
+
for the <%= section_link 'source monitoring', 'monitor' %> feature, for example,
|
341
|
+
or to define tasks to publish your site (most likely using one of Rake's
|
342
|
+
directory publishers).
|
343
|
+
|
344
|
+
<%= section 3, 'Publishing' %>
|
335
345
|
|
336
346
|
Rote does not provide any direct support for publishing your site at present,
|
337
347
|
relying on you to configure an appropriate publish task if required, using
|
@@ -339,29 +349,20 @@ the publishers supplied with Rake (in @rake/contrib@), or your own. This
|
|
339
349
|
allows maximum flexibility, and allows Rote to concentrate on creating your
|
340
350
|
documents.
|
341
351
|
|
342
|
-
|
343
|
-
directory (above @doc@) named @publish.rf@. If found, this file will be
|
344
|
-
evaluated by Rake, making any tasks defined within it available to your
|
345
|
-
build. The most likely use case is to define a task that uses an SSH directory
|
346
|
-
publisher to publish via SCP.
|
347
|
-
|
348
|
-
["top":#top]
|
349
|
-
|
350
|
-
<a name='final_notes'/>
|
351
|
-
h3. Final notes
|
352
|
+
<%= section 3, 'Final notes' %>
|
352
353
|
|
353
354
|
Currently, there isn't enough checking involved on source resources when
|
354
355
|
building pages - Basically, only templates are considered when Rake decides
|
355
|
-
what to update. If you change
|
356
|
+
what to update. If you change common or page code you'll need to run:
|
356
357
|
|
357
358
|
<p><pre><code> rote clobber</code></pre></p>
|
358
359
|
|
359
|
-
to make sure everything gets updated.
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
[
|
360
|
+
to make sure everything gets updated. This will also apply if you have
|
361
|
+
interdependencies between pages and resources, but in that situation you
|
362
|
+
_could_ work around it if you wished by manually (!) specifying the
|
363
|
+
appropriate resources as dependencies to the appropriate page task.
|
364
|
+
Such configuration is beyond the scope of this manual - see
|
365
|
+
"Rake's Documentation":http://rake.rubyforge.org/ for information on
|
366
|
+
dependency configuration and resolution in Rake.
|
367
|
+
|
368
|
+
[<%= section_link 'Top' %>]
|
data/lib/rote.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# rote.rb - main Rote module
|
2
2
|
# Copyright (c) 2005 Ross Bamford (and contributors)
|
3
|
+
# $Id: rote.rb,v 1.18 2005/12/05 14:55:22 roscopeco Exp $
|
3
4
|
#
|
4
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
5
6
|
# this software and associated documentation files (the "Software"), to deal in
|
@@ -41,23 +42,29 @@ require 'net/ftp'
|
|
41
42
|
require 'rake'
|
42
43
|
|
43
44
|
# Master Rote version. Manage this from the Rake release support.
|
44
|
-
ROTEVERSION = '0.2.
|
45
|
+
ROTEVERSION = '0.2.4'
|
45
46
|
|
46
47
|
#####
|
47
|
-
## *Rote* is a Rake (http://rake.rubyforge.org) based build tool for
|
48
|
-
##
|
49
|
-
##
|
50
|
-
##
|
48
|
+
## *Rote* is a Rake (http://rake.rubyforge.org) based build tool for static
|
49
|
+
## page-based documentation, websites, and general textual templates.
|
50
|
+
## It enables embedded Ruby code, layout, and optionally plain-text formatting
|
51
|
+
## (HTML-only at present) to be used to automatically generate output in any
|
52
|
+
## (textual) format from a directory tree containing template files.
|
51
53
|
##
|
52
|
-
## Rote was created for my personal
|
53
|
-
## to many different types of
|
54
|
-
##
|
54
|
+
## Rote was created for my personal website, but has become a fairly flexible
|
55
|
+
## tool, general enough to be applied to many different types of templating.
|
56
|
+
## Rote can handle your software documentation, blog-plus sites,
|
57
|
+
## and even (slower-moving) news and information sites.
|
55
58
|
##
|
56
|
-
##
|
57
|
-
##
|
59
|
+
## Rote can be used from the command-line, or in your own +Rakefile+. It
|
60
|
+
## supports both manual and automatic rendering of modified resources, and
|
61
|
+
## can be configured to monitor your source tree for changes.
|
62
|
+
##
|
63
|
+
## See +README+ for general usage information. Rote::DocTask documents the
|
64
|
+
## Rake task integration, while Rote::Page has information useful to template
|
58
65
|
## writers.
|
59
66
|
##
|
60
|
-
## Rote is (c)2005 Ross Bamford. See +LICENSE+ for details.
|
67
|
+
## Rote is (c)2005 Ross Bamford (and contributors). See +LICENSE+ for details.
|
61
68
|
module Rote
|
62
69
|
|
63
70
|
# this space intentionally left blank
|
data/lib/rote/app.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# Rote application class
|
2
|
+
# (c)2005 Ross Bamford (and contributors)
|
3
|
+
#
|
4
|
+
# See 'rote.rb' or LICENSE for licence information.
|
5
|
+
# $Id: app.rb,v 1.4 2005/12/05 14:44:32 roscopeco Exp $
|
1
6
|
require 'getoptlong'
|
2
7
|
|
3
8
|
module Rote
|
@@ -30,7 +35,7 @@ module Rote
|
|
30
35
|
raise "Missing builtin.rf (expected at '#{@rakefile}')!" unless File.exists?(@rakefile)
|
31
36
|
|
32
37
|
@rakeopts = ENV['RAKE_OPTS'] || ''
|
33
|
-
@rake = ENV['RAKE_CMD'] || 'rake'
|
38
|
+
@rake = ENV['RAKE_CMD'] || (PLATFORM =~ /mswin/ ? 'rake.bat' : 'rake')
|
34
39
|
|
35
40
|
process_args
|
36
41
|
|
@@ -98,11 +103,14 @@ Recognised options are:
|
|
98
103
|
--help -h Synonym for --usage
|
99
104
|
--version -V Display Rote's version and quit
|
100
105
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
+
In addition to the standard doc_XXX tasks and those provided by any
|
107
|
+
local configuration, the following 'special' tasks are recognised:
|
108
|
+
|
109
|
+
create <project> Create a blank project from the built-in template.
|
110
|
+
|
111
|
+
Note that these 'special' tasks are implemented as part of the command-
|
112
|
+
line wrapper for Rote, and will not be available from custom Rakefiles.
|
113
|
+
|
106
114
|
In non-standard environments, it may be necessary to set the ROTE_LIB
|
107
115
|
variable to point to the location of Rote's libraries.
|
108
116
|
|
data/lib/rote/builtin.rf
CHANGED
@@ -1,35 +1,84 @@
|
|
1
|
+
# Built-in Rote rakefile
|
1
2
|
#
|
2
|
-
#
|
3
|
-
|
3
|
+
# This is effectively a copy of the template rakefile,
|
4
|
+
# but with extra tasks for the command-line wrapper.
|
5
|
+
#
|
6
|
+
# (c)2005 Ross Bamford (and contributors)
|
7
|
+
#
|
8
|
+
begin
|
9
|
+
require 'rubygems'
|
10
|
+
rescue LoadError
|
11
|
+
nil # optional
|
12
|
+
end
|
4
13
|
require 'rake'
|
5
14
|
require 'rake/clean'
|
6
15
|
require 'rote'
|
7
16
|
|
8
|
-
# Create tasks
|
9
|
-
#
|
10
|
-
#
|
17
|
+
# Create a set of tasks with the prefix 'doc' to build the
|
18
|
+
# documentation set. The directory layout is as for the
|
19
|
+
# command-line wrapper (but can be changed of course).
|
20
|
+
#
|
21
|
+
# This creates the following tasks:
|
11
22
|
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
16
|
-
# html/[filename] - Transform single [filename] unconditionally
|
17
|
-
# doc-monitor - Start monitor mode on doc source
|
23
|
+
# * doc - transform/copy all modified pages / resources
|
24
|
+
# * doc_pages - transform all modified pages
|
25
|
+
# * doc_res - copy all modified resources
|
26
|
+
# * doc_monitor - Start monitor mode, transform changed files automatically
|
18
27
|
#
|
28
|
+
# * [html/**/*] - Transform single page / resource unconditionally
|
29
|
+
#
|
30
|
+
# * clobber_doc - Remove output (hooks into main 'clobber' task)
|
31
|
+
#
|
32
|
+
# In addition to these tasks, you may also wish to define a 'doc_refresh' task
|
33
|
+
# to be run whenever modified resources are processed in monitor mode.
|
19
34
|
ws = Rote::DocTask.new(:doc) { |site|
|
20
35
|
site.output_dir = 'html'
|
21
36
|
site.layout_dir = 'doc/layouts'
|
22
|
-
|
37
|
+
|
23
38
|
site.pages.dir = 'doc/pages'
|
24
39
|
site.pages.include('**/*')
|
25
40
|
|
26
41
|
site.res.dir = 'doc/res'
|
27
|
-
site.res.include('
|
28
|
-
site.res.include('**/*.gif')
|
29
|
-
site.res.include('**/*.jpg')
|
30
|
-
site.res.include('**/*.css')
|
42
|
+
site.res.include('**/*')
|
31
43
|
}
|
32
44
|
|
33
45
|
task :default => [:doc]
|
34
46
|
|
47
|
+
#################### CREATE NEW PROJECT FROM TEMPLATE ###############
|
48
|
+
#
|
49
|
+
# This works in a slightly odd way. The 'create' task simply sets up
|
50
|
+
# a rule that catches anything. This rule will then be triggered by
|
51
|
+
# the task that follows on the command-line, and taken as the
|
52
|
+
# target directory name.
|
53
|
+
#
|
54
|
+
# So instead of 'rote create NAME=foo' we have 'rote create foo'
|
55
|
+
#
|
56
|
+
# Note that this does preclude having other tasks on the same
|
57
|
+
# invocation (after the create at least) but does also allow
|
58
|
+
# multiple projects to be created at once.
|
59
|
+
#
|
60
|
+
# Also need a way to display error message if the rule isn't
|
61
|
+
# invoked at least once...
|
62
|
+
task :create do
|
63
|
+
rule '' do |t|
|
64
|
+
fail "'#{t.name}' already exists" if File.exists?(t.name)
|
65
|
+
|
66
|
+
src = 'rote/project'
|
67
|
+
src_dir = $:.detect { |it| File.exists?(File.join(it,src)) }
|
68
|
+
fail "Cannot locate project template" unless src_dir
|
69
|
+
|
70
|
+
# For now, just copy. Later, maybe we'll do some transformation on the
|
71
|
+
# sources as they're copied.
|
72
|
+
cp_r File.join(src_dir, src), t.name
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# import user-level tasks
|
77
|
+
import "#{ENV['HOME']}/.rotetasks.rf" if File.exists?("#{ENV['HOME']}/.rotetasks.rf")
|
78
|
+
import 'local.rf' if File.exists?('local.rf')
|
79
|
+
|
80
|
+
# DEPRECATED - publish.rf will be unsupported. vv0.2.3 v-0.5 1
|
35
81
|
import 'publish.rf' if File.exists?('publish.rf')
|
82
|
+
|
83
|
+
|
84
|
+
|
data/lib/rote/page.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# Rote page class
|
2
|
+
# (c)2005 Ross Bamford (and contributors)
|
3
|
+
#
|
4
|
+
# See 'rote.rb' or LICENSE for licence information.
|
5
|
+
# $Id: page.rb,v 1.9 2005/12/05 14:44:32 roscopeco Exp $
|
1
6
|
require 'erb'
|
2
7
|
require 'rdoc/markup/simple_markup'
|
3
8
|
require 'rdoc/markup/simple_markup/to_html'
|
@@ -12,9 +17,9 @@ end
|
|
12
17
|
module Rote
|
13
18
|
|
14
19
|
#####
|
15
|
-
## A +Page+ object represents an individual
|
16
|
-
##
|
17
|
-
## ('merged') output as a +String+.
|
20
|
+
## A +Page+ object represents an individual template source file, taking
|
21
|
+
## input from that file and (optionally) some ruby code, and producing
|
22
|
+
## rendered (or 'merged') output as a +String+.
|
18
23
|
## When a page is created, ruby source will be found alongside the
|
19
24
|
## file, with same basename and an '.rb' extension. If found it will
|
20
25
|
## run through +instance_eval+. That source can call methods
|
@@ -0,0 +1,49 @@
|
|
1
|
+
This is the auto-generated Rote documentation source.
|
2
|
+
|
3
|
+
To render it using Rote's command-line wrapper (ignoring the included
|
4
|
+
Rakefile), type:
|
5
|
+
|
6
|
+
rote doc
|
7
|
+
|
8
|
+
from the top-level directory (this one).
|
9
|
+
|
10
|
+
To render using the included Rakefile (the result is the same in either
|
11
|
+
case) type instead:
|
12
|
+
|
13
|
+
rake doc
|
14
|
+
|
15
|
+
If you prefer, you can omit the 'doc' task, since it is configured
|
16
|
+
as the default.
|
17
|
+
|
18
|
+
In either case, you should see some output as the pages are rendered
|
19
|
+
and resources copied, and get output in a (created) 'html' directory.
|
20
|
+
Once you have rendered the site, running the command again will appear
|
21
|
+
to do nothing, because only changed resources are re-rendered. To
|
22
|
+
start over:
|
23
|
+
|
24
|
+
(rote|rake) clobber
|
25
|
+
|
26
|
+
Alternatively, modify the page or resource files, and rerun the first
|
27
|
+
command to transform only the modified resource.
|
28
|
+
|
29
|
+
WHAT NEXT?
|
30
|
+
|
31
|
+
+ See what else you can do by typing:
|
32
|
+
|
33
|
+
(rote|rake) --tasks
|
34
|
+
|
35
|
+
rote --usage ( with the command-line wrapper )
|
36
|
+
|
37
|
+
+ Modify the included page template and layout to suit your needs.
|
38
|
+
|
39
|
+
+ Edit the included Rakefile to add or change tasks, or delete it
|
40
|
+
if you're sticking with the command-line wrapper.
|
41
|
+
|
42
|
+
+ Add more pages and layouts.
|
43
|
+
|
44
|
+
+ Start Rote in monitor mode, and have your changes rendered as
|
45
|
+
you work:
|
46
|
+
|
47
|
+
(rote|rake) monitor
|
48
|
+
|
49
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Standard Rakefile for custom Rote build
|
2
|
+
#
|
3
|
+
# Generated from:
|
4
|
+
# $Id: Rakefile,v 1.1 2005/12/05 14:43:22 roscopeco Exp $
|
5
|
+
#
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
rescue LoadError
|
9
|
+
nil # optional
|
10
|
+
end
|
11
|
+
require 'rake'
|
12
|
+
require 'rake/clean'
|
13
|
+
require 'rote'
|
14
|
+
|
15
|
+
# Create a set of tasks with the prefix 'doc' to build the
|
16
|
+
# documentation set. The directory layout is as for the
|
17
|
+
# command-line wrapper (but can be changed of course).
|
18
|
+
#
|
19
|
+
# This creates the following tasks:
|
20
|
+
#
|
21
|
+
# * doc - transform/copy all modified pages / resources
|
22
|
+
# * doc_pages - transform all modified pages
|
23
|
+
# * doc_res - copy all modified resources
|
24
|
+
# * doc_monitor - Start monitor mode, transform changed files automatically
|
25
|
+
#
|
26
|
+
# * [html/**/*] - Transform single page / resource unconditionally
|
27
|
+
#
|
28
|
+
# * clobber_doc - Remove output (hooks into main 'clobber' task)
|
29
|
+
#
|
30
|
+
# In addition to these tasks, you may also wish to define a 'doc_refresh' task
|
31
|
+
# to be run whenever modified resources are processed in monitor mode.
|
32
|
+
ws = Rote::DocTask.new(:doc) { |site|
|
33
|
+
site.output_dir = 'html'
|
34
|
+
site.layout_dir = 'doc/layouts'
|
35
|
+
|
36
|
+
site.pages.dir = 'doc/pages'
|
37
|
+
site.pages.include('**/*')
|
38
|
+
|
39
|
+
site.res.dir = 'doc/res'
|
40
|
+
site.res.include('**/*')
|
41
|
+
}
|
42
|
+
|
43
|
+
task :default => [:doc]
|
44
|
+
|
45
|
+
# import user-level tasks
|
46
|
+
import "#{ENV['HOME']}/.rotetasks.rf" if File.exists?("#{ENV['HOME']}/.rotetasks.rf")
|
47
|
+
import 'local.rf' if File.exists?('local.rf')
|
48
|
+
|
49
|
+
# TODO Define your custom tasks here
|
50
|
+
|
51
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<%
|
2
|
+
# This is the 'normal' layout. It can be selected with:
|
3
|
+
#
|
4
|
+
# layout 'normal'
|
5
|
+
#
|
6
|
+
# in page code. If the page itself doesn't have an '.html'
|
7
|
+
# extension, you will need to use:
|
8
|
+
#
|
9
|
+
# layout 'normal.html'
|
10
|
+
#
|
11
|
+
# instead.
|
12
|
+
#
|
13
|
+
# Here we just add basic HTML wrap-up, use the custom var
|
14
|
+
# (@page_title) to get the title, and insert content where
|
15
|
+
# we want it with @content_for_layout.
|
16
|
+
%>
|
17
|
+
<html>
|
18
|
+
<head>
|
19
|
+
<%# Use our custom vars for the title %>
|
20
|
+
<title><%= @page_title + ' - ' + @site_title %></title>
|
21
|
+
</head>
|
22
|
+
|
23
|
+
<body>
|
24
|
+
<h1><%= @page_title %></h1>
|
25
|
+
|
26
|
+
<%# Insert page content #%>
|
27
|
+
<%= @content_for_layout %>
|
28
|
+
|
29
|
+
<p align='center'><hr width='80%'></p>
|
30
|
+
<p align='right'>
|
31
|
+
<span style='font-size: 8pt; color: #7c7c90'>Generated with</span><br/>
|
32
|
+
|
33
|
+
<%# use the link_rel helper to make absolute links relative to current page #%>
|
34
|
+
<a href='http://rote.rubyforge.org/' target='_blank'><img src='<%= link_rel '/images/rote-tiny.png' %>' alt='Rote'/></a>
|
35
|
+
</p>
|
36
|
+
</body>
|
37
|
+
</html>
|
38
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
This is a *sample* page.
|
2
|
+
|
3
|
+
<%# insert an image with relative path, using Textile !img! markup #%>
|
4
|
+
It has a very small image:
|
5
|
+
!<%= link_rel '/images/rote-tiny.png' %>!
|
6
|
+
|
7
|
+
(Which is the same as the one at the bottom)
|
8
|
+
|
9
|
+
* You should
|
10
|
+
* Replace this
|
11
|
+
* With your doc.
|
12
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Page code for the 'index' page. We call a few methods to
|
2
|
+
# set layout and formatting, and then create a custom variable
|
3
|
+
# for use in the layout.
|
4
|
+
|
5
|
+
# This page uses Textile
|
6
|
+
format_opts << :textile
|
7
|
+
|
8
|
+
# Apply the 'normal' layout
|
9
|
+
layout 'normal'
|
10
|
+
|
11
|
+
# Set a custom var for use in our layout
|
12
|
+
@page_title = 'A sample page'
|
13
|
+
|
Binary file
|
data/lib/rote/rotetasks.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# Rake tasklib for Rote
|
2
|
+
# (c)2005 Ross Bamford (and contributors)
|
3
|
+
#
|
4
|
+
# See 'rote.rb' or LICENSE for licence information.
|
5
|
+
# $Id: rotetasks.rb,v 1.8 2005/12/05 14:44:32 roscopeco Exp $
|
1
6
|
require 'rake'
|
2
7
|
require 'rake/tasklib'
|
3
8
|
|
@@ -57,8 +62,10 @@ module Rote
|
|
57
62
|
## name you supply. The tasks defined are:
|
58
63
|
##
|
59
64
|
## #{name} - Transform all documentation, copy resources.
|
60
|
-
## #{name}
|
61
|
-
## #{name}
|
65
|
+
## #{name}_pages - Transform all pages
|
66
|
+
## #{name}_res - Copy resources
|
67
|
+
## #{name}_monitor - Start watching for changes
|
68
|
+
## #clobber_{name} - Remove output
|
62
69
|
##
|
63
70
|
class DocTask < Rake::TaskLib
|
64
71
|
# Default exclusion patterns for the page sources. These are
|
@@ -94,8 +101,8 @@ module Rote
|
|
94
101
|
alias :show_file_tasks? :show_file_tasks
|
95
102
|
alias :show_file_tasks= :show_file_tasks=
|
96
103
|
|
97
|
-
# *Deprecated* alias for +show_file_tasks+.
|
98
|
-
alias :show_page_tasks? :show_file_tasks
|
104
|
+
# *Deprecated* alias for +show_file_tasks+. vv0.2.2 v-0.5
|
105
|
+
alias :show_page_tasks? :show_file_tasks
|
99
106
|
alias :show_page_tasks= :show_file_tasks=
|
100
107
|
|
101
108
|
# The approximate number of seconds between update checks when running
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rote
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date: 2005-12-
|
6
|
+
version: 0.2.4
|
7
|
+
date: 2005-12-05 00:00:00 +00:00
|
8
8
|
summary: Adds template-based doc support to Rake.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -39,7 +39,19 @@ files:
|
|
39
39
|
- lib/rote/rotetasks.rb
|
40
40
|
- lib/rote/page.rb
|
41
41
|
- lib/rote/app.rb
|
42
|
+
- lib/rote/project/doc/pages/COMMON.rb
|
43
|
+
- lib/rote/project/doc/pages/index.rb
|
42
44
|
- lib/rote/builtin.rf
|
45
|
+
- lib/rote/project/Rakefile
|
46
|
+
- lib/rote/project/doc
|
47
|
+
- lib/rote/project/README
|
48
|
+
- lib/rote/project/doc/res
|
49
|
+
- lib/rote/project/doc/pages
|
50
|
+
- lib/rote/project/doc/layouts
|
51
|
+
- lib/rote/project/doc/res/images
|
52
|
+
- lib/rote/project/doc/res/images/rote-tiny.png
|
53
|
+
- lib/rote/project/doc/pages/index.html
|
54
|
+
- lib/rote/project/doc/layouts/normal.html
|
43
55
|
- test/test_page.rb
|
44
56
|
- test/pages
|
45
57
|
- test/layouts
|