webgen 0.5.10 → 0.5.11
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +487 -0
- data/Rakefile +13 -28
- data/VERSION +1 -1
- data/bin/webgen +1 -2
- data/data/webgen/passive_sources/templates/atom_feed.template +1 -0
- data/data/webgen/website_bundles/style/andreas07/src/default.css +2 -2
- data/data/webgen/website_skeleton/config.yaml +22 -5
- data/doc/contentprocessor.template +2 -2
- data/doc/contentprocessor/blocks.page +4 -4
- data/doc/contentprocessor/builder.page +2 -3
- data/doc/contentprocessor/erb.page +1 -1
- data/doc/contentprocessor/erubis.page +5 -5
- data/doc/contentprocessor/fragments.page +5 -4
- data/doc/contentprocessor/haml.page +2 -3
- data/doc/contentprocessor/head.page +16 -6
- data/doc/contentprocessor/kramdown.page +49 -0
- data/doc/contentprocessor/less.page +34 -0
- data/doc/contentprocessor/maruku.page +6 -3
- data/doc/contentprocessor/rdiscount.page +3 -3
- data/doc/contentprocessor/rdoc.page +1 -1
- data/doc/contentprocessor/redcloth.page +1 -1
- data/doc/contentprocessor/sass.page +1 -1
- data/doc/contentprocessor/tags.page +2 -2
- data/doc/contentprocessor/tidy.page +2 -2
- data/doc/extensions.page +1 -2
- data/doc/extensions.template +5 -5
- data/doc/getting_started.page +16 -12
- data/doc/index.page +21 -21
- data/doc/manual.page +109 -61
- data/doc/reference_configuration.page +63 -38
- data/doc/reference_metainfo.page +68 -45
- data/doc/reference_website_styles.page +5 -1
- data/doc/source/filesystem.page +4 -4
- data/doc/source/tararchive.page +4 -4
- data/doc/sourcehandler.template +2 -2
- data/doc/sourcehandler/feed.page +3 -4
- data/doc/sourcehandler/metainfo.page +1 -1
- data/doc/sourcehandler/page.page +3 -3
- data/doc/sourcehandler/sitemap.page +2 -3
- data/doc/sourcehandler/template.page +2 -2
- data/doc/sourcehandler/virtual.page +5 -5
- data/doc/tag.template +1 -1
- data/doc/tag/coderay.page +2 -2
- data/doc/tag/includefile.page +1 -1
- data/doc/tag/langbar.page +4 -1
- data/doc/tag/menu.page +3 -3
- data/doc/tag/relocatable.page +1 -1
- data/doc/upgrading.page +30 -31
- data/doc/webgen_page_format.page +6 -6
- data/lib/webgen/cache.rb +4 -5
- data/lib/webgen/cli/utils.rb +18 -7
- data/lib/webgen/cli/webgui_command.rb +4 -2
- data/lib/webgen/common.rb +10 -0
- data/lib/webgen/configuration.rb +1 -3
- data/lib/webgen/contentprocessor.rb +4 -2
- data/lib/webgen/contentprocessor/blocks.rb +1 -0
- data/lib/webgen/contentprocessor/builder.rb +3 -9
- data/lib/webgen/contentprocessor/erb.rb +3 -9
- data/lib/webgen/contentprocessor/erubis.rb +3 -9
- data/lib/webgen/contentprocessor/haml.rb +10 -11
- data/lib/webgen/contentprocessor/head.rb +64 -0
- data/lib/webgen/contentprocessor/kramdown.rb +26 -0
- data/lib/webgen/contentprocessor/kramdown/html.rb +32 -0
- data/lib/webgen/contentprocessor/less.rb +35 -0
- data/lib/webgen/contentprocessor/maruku.rb +14 -0
- data/lib/webgen/contentprocessor/tags.rb +25 -7
- data/lib/webgen/default_config.rb +9 -3
- data/lib/webgen/node.rb +92 -0
- data/lib/webgen/output.rb +3 -1
- data/lib/webgen/source/resource.rb +2 -1
- data/lib/webgen/source/tararchive.rb +3 -2
- data/lib/webgen/sourcehandler.rb +8 -4
- data/lib/webgen/sourcehandler/base.rb +1 -2
- data/lib/webgen/sourcehandler/feed.rb +1 -1
- data/lib/webgen/sourcehandler/virtual.rb +1 -0
- data/lib/webgen/tag/base.rb +1 -1
- data/lib/webgen/tag/langbar.rb +5 -2
- data/lib/webgen/version.rb +1 -1
- data/lib/webgen/website.rb +7 -8
- data/misc/default.template +1 -1
- data/misc/htmldoc.virtual +13 -1
- data/test/test_contentprocessor.rb +1 -1
- data/test/test_contentprocessor_blocks.rb +16 -1
- data/test/test_contentprocessor_erb.rb +1 -1
- data/test/test_contentprocessor_fragments.rb +1 -1
- data/test/test_contentprocessor_haml.rb +2 -2
- data/test/test_contentprocessor_head.rb +54 -8
- data/test/test_contentprocessor_kramdown.rb +50 -0
- data/test/test_contentprocessor_less.rb +40 -0
- data/test/test_contentprocessor_tags.rb +8 -0
- data/test/test_node.rb +102 -41
- data/test/test_source_tararchive.rb +5 -1
- data/test/test_sourcehandler_feed.rb +5 -2
- data/test/test_sourcehandler_virtual.rb +5 -0
- data/test/test_tag_langbar.rb +2 -3
- metadata +22 -16
- data/lib/webgen/deprecated.rb +0 -87
data/Rakefile
CHANGED
@@ -64,6 +64,7 @@ Webgen::WebgenTask.new('htmldoc') do |site|
|
|
64
64
|
["/website_styles/#{name.sub(prefix, '')}/", 'Webgen::Source::Resource', name, '/src/**', '/src/']
|
65
65
|
end
|
66
66
|
config['output'] = ['Webgen::Output::FileSystem', 'htmldoc']
|
67
|
+
config.default_processing_pipeline('Page' => 'erb,tags,kramdown,blocks,fragments')
|
67
68
|
end
|
68
69
|
end
|
69
70
|
|
@@ -160,20 +161,20 @@ EOF
|
|
160
161
|
|
161
162
|
s.files = PKG_FILES.to_a
|
162
163
|
s.add_dependency('cmdparse', '>= 2.0.2')
|
163
|
-
s.add_dependency('
|
164
|
-
s.
|
164
|
+
s.add_dependency('kramdown', '>= 0.5.0')
|
165
|
+
s.add_development_dependency('maruku', '>= 0.6.0')
|
165
166
|
s.add_development_dependency('rake', '>= 0.8.3')
|
166
167
|
s.add_development_dependency('ramaze', '>= 2009.04')
|
167
168
|
s.add_development_dependency('launchy', '>= 0.3.2')
|
168
169
|
s.add_development_dependency('rcov', '>= 0.8.1.2.0')
|
169
|
-
s.add_development_dependency('rubyforge', '>=
|
170
|
+
s.add_development_dependency('rubyforge', '>= 2.0.2')
|
170
171
|
s.add_development_dependency('RedCloth', '>= 4.1.9')
|
171
|
-
s.add_development_dependency('haml', '>= 2.
|
172
|
+
s.add_development_dependency('haml', '>= 2.2.7')
|
172
173
|
s.add_development_dependency('builder', '>= 2.1.0')
|
173
|
-
s.add_development_dependency('rdoc', '>= 2.4.
|
174
|
+
s.add_development_dependency('rdoc', '>= 2.4.3')
|
174
175
|
s.add_development_dependency('coderay', '>= 0.8.312')
|
175
|
-
s.add_development_dependency('erubis', '>= 2.6.
|
176
|
-
s.add_development_dependency('rdiscount', '>= 1.
|
176
|
+
s.add_development_dependency('erubis', '>= 2.6.5')
|
177
|
+
s.add_development_dependency('rdiscount', '>= 1.3.5')
|
177
178
|
s.add_development_dependency('archive-tar-minitar', '>= 0.5.2')
|
178
179
|
|
179
180
|
s.require_path = 'lib'
|
@@ -199,27 +200,6 @@ EOF
|
|
199
200
|
pkg.need_tar = true
|
200
201
|
end
|
201
202
|
|
202
|
-
desc 'Generate gemspec file for github'
|
203
|
-
task :gemspec do
|
204
|
-
spec.version = Webgen::VERSION + '.' + Time.now.strftime('%Y%m%d')
|
205
|
-
spec.summary = 'webgen beta build, not supported!!!'
|
206
|
-
spec.files = spec.files.reject {|f| f == 'VERSION' || f == 'ChangeLog'}
|
207
|
-
spec.post_install_message = "
|
208
|
-
|
209
|
-
|
210
|
-
WARNING: This is an unsupported BETA version of webgen which may
|
211
|
-
still contain bugs!
|
212
|
-
|
213
|
-
The official version is called 'webgen' and can be installed via
|
214
|
-
|
215
|
-
gem install webgen
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
"
|
220
|
-
File.open('webgen.gemspec', 'w+') {|f| f.write(spec.to_yaml)}
|
221
|
-
end
|
222
|
-
|
223
203
|
end
|
224
204
|
|
225
205
|
desc "Upload webgen documentation to Rubyforge homepage"
|
@@ -250,6 +230,10 @@ The official version is called 'webgen' and can be installed via
|
|
250
230
|
files = %w[.gem .tgz .zip].collect {|ext| "pkg/webgen-#{Webgen::VERSION}" + ext}
|
251
231
|
|
252
232
|
rf.add_release('webgen', 'webgen', Webgen::VERSION, *files)
|
233
|
+
|
234
|
+
print 'Pushing gem to gemcutter'
|
235
|
+
sh "gem push pkg/webgen-#{Webgen::VERSION}.gem"
|
236
|
+
|
253
237
|
puts 'done'
|
254
238
|
end
|
255
239
|
|
@@ -282,6 +266,7 @@ The official version is called 'webgen' and can be installed via
|
|
282
266
|
config['sources'] <<
|
283
267
|
["/documentation/website_styles/#{name.sub(prefix, '')}/", 'Webgen::Source::Resource', name, '/src/**', '/src/']
|
284
268
|
end
|
269
|
+
config.default_processing_pipeline('Page' => 'erb,tags,kramdown,blocks,fragments')
|
285
270
|
end
|
286
271
|
end
|
287
272
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.11
|
data/bin/webgen
CHANGED
@@ -11,6 +11,7 @@ template: ~
|
|
11
11
|
</author>
|
12
12
|
|
13
13
|
<link href="<%= context.node.feed_link %>" rel="alternate" />
|
14
|
+
<link href="<%= Webgen::Node.url(File.join(context.node['site_url'], context.node.path), false) %>" rel="self" />
|
14
15
|
<generator uri="http://webgen.rubyforge.org/documentation/sourcehandler/feed.html" version="<%= Webgen::VERSION %>">
|
15
16
|
webgen - Webgen::SourceHandler::Feed
|
16
17
|
</generator>
|
@@ -71,10 +71,10 @@ body > #sidebar
|
|
71
71
|
#menu a:hover, #menu span:hover
|
72
72
|
{color:#303030; background:#f0f0f0 url(images/sidebarbg.gif) top right repeat-y;}
|
73
73
|
|
74
|
-
#menu li.webgen-menu-item-selected a, #menu li.webgen-menu-item-selected span
|
74
|
+
#menu li.webgen-menu-item-selected a, #menu li.webgen-menu-item-selected span, #menu li.webgen-menu-submenu-inhierarchy span
|
75
75
|
{padding:5px 18px 5px 0; background:#fafafa; border-top:2px solid #c0c0c0; border-bottom:2px solid #c0c0c0;}
|
76
76
|
|
77
|
-
#menu li.webgen-menu-item-selected a:hover, #menu li.webgen-menu-item-selected span:hover
|
77
|
+
#menu li.webgen-menu-item-selected a:hover, #menu li.webgen-menu-item-selected span:hover, #menu li.webgen-menu-submenu-inhierarchy span:hover
|
78
78
|
{color:#505050; background:#fafafa;}
|
79
79
|
|
80
80
|
/**************** Content area styles ****************/
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#####
|
1
2
|
# This is the YAML configuration file for webgen used to set configuration options.
|
2
3
|
#
|
3
4
|
# The general syntax is:
|
@@ -8,11 +9,27 @@
|
|
8
9
|
#
|
9
10
|
# website.lang: de
|
10
11
|
#
|
11
|
-
# Have a look at the documentation of the individual configuration options to see
|
12
|
-
#
|
13
|
-
#
|
12
|
+
# Have a look at the documentation of the individual configuration options to see the allowed format
|
13
|
+
# of the values. Since this is a YAML file, you can easily set configuration options as strings,
|
14
|
+
# integers, dates, arrays, hashes and more.
|
14
15
|
#
|
15
|
-
# The available configuration options can be found on the homepage in the
|
16
|
-
#
|
16
|
+
# The available configuration options can be found on the homepage in the Configuration Option
|
17
|
+
# Reference at
|
17
18
|
#
|
18
19
|
# http://webgen.rubyforge.org/documentation/reference_configuration.html
|
20
|
+
#
|
21
|
+
# Some common use cases are shown below.
|
22
|
+
#####
|
23
|
+
|
24
|
+
## The default processing pipeline for page files. If you use a different markup language you need to
|
25
|
+
## change 'markdown' to the short name of the content processor for the markup language.
|
26
|
+
default_processing_pipeline:
|
27
|
+
Page: erb,tags,markdown,blocks,fragments
|
28
|
+
|
29
|
+
## Setting the default language. The argument must be an ISO-639-1/2 language code.
|
30
|
+
# website.lang: de
|
31
|
+
|
32
|
+
## Adding some extensions to the copy source handler.
|
33
|
+
# patterns:
|
34
|
+
# Copy:
|
35
|
+
# add: [**/*.pdf, **/*.djvu]
|
@@ -1,9 +1,9 @@
|
|
1
1
|
---
|
2
2
|
template: extensions.template
|
3
|
-
--- name:summary pipeline:erb,tags,
|
3
|
+
--- name:summary pipeline:erb,tags,kramdown,blocks
|
4
4
|
|
5
5
|
As short name for the content processor (used, for example, in the `pipeline` option of a block in a
|
6
|
-
file in [Webgen Page Format](
|
6
|
+
file in [Webgen Page Format](webgen_page_format.html)) one of the following can be
|
7
7
|
used: `<%= context.website.config['contentprocessor.map'].select {|k,v| v ==
|
8
8
|
context.content_node['title']}.map {|k,v| k}.join(', ') %>`.
|
9
9
|
|
@@ -15,9 +15,9 @@ So it is basically an XML tag with the mandatory attribute `name` and the option
|
|
15
15
|
explanation of how this tag works.
|
16
16
|
|
17
17
|
webgen uses a node chain when rendering a page file. The default node chain is automatically
|
18
|
-
determined via the `template` meta information (see
|
19
|
-
../sourcehandler/template.html
|
20
|
-
the node chain is always the currently rendered template/page.
|
18
|
+
determined via the `template` meta information (see
|
19
|
+
[SourceHandler::Template](../sourcehandler/template.html)) and the important thing to keep in mind
|
20
|
+
is that the first node in the node chain is always the currently rendered template/page.
|
21
21
|
|
22
22
|
For example, consider a `default.template` with a block tag of `<webgen:block name='content' />` and
|
23
23
|
an `index.page` that should be rendered. This would result in a node chain of (note that the CN of a
|
@@ -60,7 +60,7 @@ Following is the documentation for the available attributes of the tag:
|
|
60
60
|
node in the node chain).
|
61
61
|
|
62
62
|
> Note that the attribute `chain` is not used in this situation!
|
63
|
-
{
|
63
|
+
{:.important}
|
64
64
|
|
65
65
|
* If the optional attribute `notfound` has a value of `ignore`, all errors that can occur are
|
66
66
|
ignored. This is especially useful when used in templates to include blocks that may not be
|
@@ -5,14 +5,13 @@ title: Webgen::ContentProcessor::Builder
|
|
5
5
|
|
6
6
|
This content processor can be used to programatically create XHTML/XML documents
|
7
7
|
([Reference][1]). The top builder object is provided through the `xml` object. There are also other
|
8
|
-
objects provided by webgen available - have a look at the [erb documentation](
|
9
|
-
erb.html}).
|
8
|
+
objects provided by webgen available - have a look at the [erb documentation](erb.html).
|
10
9
|
|
11
10
|
> This extension is only available if you have installed the [builder][1] library. The preferred way
|
12
11
|
> to do this is via Rubygems:
|
13
12
|
>
|
14
13
|
> gem install builder
|
15
|
-
{
|
14
|
+
{:.warning}
|
16
15
|
|
17
16
|
|
18
17
|
## Examples
|
@@ -57,4 +57,4 @@ output the result of the Ruby code (note the equation sign!). And the fourth lin
|
|
57
57
|
> You may need to ensure that the ERB start and end tags are not processed by the content
|
58
58
|
> processor. For example, when using the RedCloth content processor, you may need to surround the
|
59
59
|
> ERB code with `<notextile>` tags!
|
60
|
-
{
|
60
|
+
{:.important}
|
@@ -11,17 +11,17 @@ options.
|
|
11
11
|
> way to do this is via Rubygems:
|
12
12
|
>
|
13
13
|
> gem install erubis
|
14
|
-
{
|
14
|
+
{:.warning}
|
15
15
|
|
16
16
|
[1]: http://www.kuwata-lab.com/erubis/ "Erubis Homepage"
|
17
17
|
|
18
18
|
You can use some special objects provided by webgen in your embedded Ruby code. These are the same
|
19
19
|
objects that are available to the `erb` processor, have a look at its [documentation
|
20
|
-
page](
|
20
|
+
page](erb.html).
|
21
21
|
|
22
|
-
The default mode of Erubis works like ERB. So everyting said on the [erb page](
|
23
|
-
|
24
|
-
|
22
|
+
The default mode of Erubis works like ERB. So everyting said on the [erb page](erb.html) is also
|
23
|
+
true for Erubis. However, you can customize how this processor works by using the following
|
24
|
+
configuration options:
|
25
25
|
|
26
26
|
* `contentprocessor.erubis.use_pi`: Use processing instructions instead of ERB like
|
27
27
|
instructions. Normally you use statements like `<%% result = some_method_call(opts) %>` or `<%%=
|
@@ -10,14 +10,15 @@ attribute set.
|
|
10
10
|
> context! This is to ensure that fragment nodes are not created from multiple block of one page
|
11
11
|
> file. So this content processor has no effect when used in the pipeline of blocks except if the
|
12
12
|
> block is named `content`.
|
13
|
-
{
|
13
|
+
{:.warning}
|
14
14
|
|
15
|
-
The default markup language
|
16
|
-
use another markup language or plain old HTML, you might need to set the `id` attributes by
|
15
|
+
The default markup language kramdown automatically generates an `id` attribute for all headers. If
|
16
|
+
you use another markup language or plain old HTML, you might need to set the `id` attributes by
|
17
|
+
hand.
|
17
18
|
|
18
19
|
> The reason why only header tags with an `id` attribute are used is that only those can be
|
19
20
|
> referenced and linked to later.
|
20
|
-
{
|
21
|
+
{:.information}
|
21
22
|
|
22
23
|
The generated fragment nodes can be used like any other node. So you can link to them and use them
|
23
24
|
in a menu. Concerning the menu, there is a setting for the `tag.menu.used_nodes` option called
|
@@ -8,14 +8,13 @@ XHTML by using the Haml library. For detailed information about Haml have a look
|
|
8
8
|
Homepage][1]!
|
9
9
|
|
10
10
|
You can use some special objects provided by webgen in your Haml markup. These are the same objects
|
11
|
-
that are available to the `erb` processor, have a look at its [documentation page](
|
12
|
-
erb.html}).
|
11
|
+
that are available to the `erb` processor, have a look at its [documentation page](erb.html).
|
13
12
|
|
14
13
|
> This extension is only available if you have installed the [haml][1] library. The preferred way to
|
15
14
|
> do this is via Rubygems:
|
16
15
|
>
|
17
16
|
> gem install haml
|
18
|
-
{
|
17
|
+
{:.warning}
|
19
18
|
|
20
19
|
|
21
20
|
## Example
|
@@ -3,13 +3,23 @@ title: Webgen::ContentProcessor::Head
|
|
3
3
|
---
|
4
4
|
## Description
|
5
5
|
|
6
|
-
This processor
|
7
|
-
|
8
|
-
example, by webgen tags to add needed javascript or css fragments on a page-per-page basis.
|
6
|
+
This processor is used to insert various HTML tags (`link`, `script` and `meta`) before the end of
|
7
|
+
the HTML head section. The tags that tags are inserted can be specified in various ways:
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
* Links to used javascript and css files, inline javascript and css content and general meta tags
|
10
|
+
can be set by webgen tags (or by any other webgen extension) on a page-per-page basis.
|
11
|
+
|
12
|
+
* Arbitrary meta tags can be inserted on a page-per-page basis by the user by setting the meta
|
13
|
+
information named [`meta`](../reference_metainfo.html#meta) on a page file.
|
14
|
+
|
15
|
+
* Links to javascript and/or CSS files can be inserted by the user by setting the meta information
|
16
|
+
named [`link`](../reference_metainfo.html#link).
|
17
|
+
|
18
|
+
* Arbitrary link tags can also be inserted by setting the meta information named
|
19
|
+
[`link`](../reference_metainfo.html#link). This allows one, for example, to specify which page
|
20
|
+
file logically follows or precedes a given page file.
|
21
|
+
|
22
|
+
The processor also automatically inserts `link` tags to translations of the rendered page file.
|
13
23
|
|
14
24
|
This content processor should be used on template files since its output is only useful in the head
|
15
25
|
section of an HTML file. And it should be the last content processor in the pipeline because
|
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
title: Webgen::ContentProcessor::Kramdown
|
3
|
+
---
|
4
|
+
## Description
|
5
|
+
|
6
|
+
This processor converts the content, which is assumed to be in kramdown format, to HTML by using the
|
7
|
+
[kramdown][1] library. The kramdown format is basically Markdown with some extensions like automatic
|
8
|
+
header ID generation, using markup inside HTML elements and some more. There are a [quick
|
9
|
+
reference][2] and a detailed [syntax documentation][3] available on the kramdown homepage.
|
10
|
+
|
11
|
+
One can customize how this processor works by using the following configuration options:
|
12
|
+
|
13
|
+
* `contentprocessor.kramdown.handle_links`: If `true` (the default), then all link URLs created via
|
14
|
+
kramdown syntax are automatically run through the [relocatable tag](../tag/relocatable.html). This
|
15
|
+
avoids using the `relocatable` tag explicitly but ensures valid links nonetheless.
|
16
|
+
|
17
|
+
* `contentprocesoor.kramdown.options`: This configuration option can be used to customize the
|
18
|
+
kramdown processor. Have a look at the [kramdown homepage][1] for available options.
|
19
|
+
|
20
|
+
> kramdown is the default markup content processor for webgen as its markup syntax is easy to learn
|
21
|
+
> and nice to look at. Give it a try!
|
22
|
+
{:.info}
|
23
|
+
|
24
|
+
Example
|
25
|
+
-------
|
26
|
+
|
27
|
+
Here is a short sample of a text in kramdown markup:
|
28
|
+
|
29
|
+
# This a h1 header
|
30
|
+
{:#myid}
|
31
|
+
|
32
|
+
You can just write *your* paragraphs here and
|
33
|
+
[link][1] them below. This is **nice** format!
|
34
|
+
|
35
|
+
> Citations are easy too.
|
36
|
+
> Really. And you can assign them attributes.
|
37
|
+
{:.information}
|
38
|
+
|
39
|
+
* Lists
|
40
|
+
* aren't
|
41
|
+
* difficult
|
42
|
+
* either.
|
43
|
+
|
44
|
+
[1]: http://someurl.com
|
45
|
+
|
46
|
+
|
47
|
+
[1]: http://kramdown.rubyforge.org/
|
48
|
+
[2]: http://kramdown.rubyforge.org/syntax.html
|
49
|
+
[3]: http://kramdown.rubyforge.org/quickref.html
|
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
title: Webgen::ContentProcessor::Less
|
3
|
+
---
|
4
|
+
## Description
|
5
|
+
|
6
|
+
This content processor converts content in LESS format to valid CSS using the [LESS library][1].
|
7
|
+
|
8
|
+
LESS is an extension of CSS which allows the use of variables, mixins, operations and nested rules.
|
9
|
+
Since a normal CSS file is a valid LESS file, the transition to LESS is very easy. For detailed
|
10
|
+
information about LESS have a look at its [documentation page][2]!
|
11
|
+
|
12
|
+
> This extension is only available if you have installed the [less][1] library. The preferred way to
|
13
|
+
> do this is via Rubygems:
|
14
|
+
>
|
15
|
+
> gem install less
|
16
|
+
{:.warning}
|
17
|
+
|
18
|
+
|
19
|
+
## Example
|
20
|
+
|
21
|
+
Here is a short sample of a text in LESS format:
|
22
|
+
|
23
|
+
@base: #543;
|
24
|
+
|
25
|
+
#header {
|
26
|
+
color: @base;
|
27
|
+
a {
|
28
|
+
color: @base * 2;
|
29
|
+
text-decoration: underline;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
[1]: http://lesscss.org/
|
34
|
+
[2]: http://lesscss.org/docs.html
|
@@ -12,9 +12,12 @@ For detailed information about Maruku have a look at the [Maruku Homepage][1]. T
|
|
12
12
|
information about the general Markdown syntax as well as information about the extras added by
|
13
13
|
Maruku.
|
14
14
|
|
15
|
-
>
|
16
|
-
>
|
17
|
-
|
15
|
+
> This extension is only available if you have installed the [maruku][1] library. The preferred
|
16
|
+
> way to do this is via Rubygems:
|
17
|
+
>
|
18
|
+
> gem install maruku
|
19
|
+
{:.warning}
|
20
|
+
|
18
21
|
|
19
22
|
Example
|
20
23
|
-------
|
@@ -5,14 +5,14 @@ title: Webgen::ContentProcessor::RDiscount
|
|
5
5
|
|
6
6
|
This processor converts the content, which is assumed to be in Markdown markup, to HTML by using the
|
7
7
|
RDiscount library. This library is based on the C based discount library which provides very fast
|
8
|
-
Markdown processing. However, this processor does not support advanced features like the [
|
9
|
-
Markdown processor](
|
8
|
+
Markdown processing. However, this processor does not support advanced features like the [kramdown
|
9
|
+
processor](kramdown.html) or [Maruku Markdown processor](maruku.html) do.
|
10
10
|
|
11
11
|
> This extension is only available if you have installed the [rdiscount][1] library. The preferred
|
12
12
|
> way to do this is via Rubygems:
|
13
13
|
>
|
14
14
|
> gem install rdiscount
|
15
|
-
{
|
15
|
+
{:.warning}
|
16
16
|
|
17
17
|
[1]: http://github.com/rtomayko/rdiscount
|
18
18
|
|
@@ -11,7 +11,7 @@ for Ruby source files, [reference][1]) to HTML.
|
|
11
11
|
> implementation is via Rubygems:
|
12
12
|
>
|
13
13
|
> gem install rdoc
|
14
|
-
{
|
14
|
+
{:.warning}
|
15
15
|
|
16
16
|
[1]: http://rdoc.rubyforge.org/rdoc/ "RDoc Reference"
|
17
17
|
[2]: http://rubyforge.org/projects/rdoc/ "New RDoc implementation"
|
@@ -10,7 +10,7 @@ RedCloth library. For detailed information about Textile have a look at the [Tex
|
|
10
10
|
> way to do this is via Rubygems:
|
11
11
|
>
|
12
12
|
> gem install RedCloth
|
13
|
-
{
|
13
|
+
{:.warning}
|
14
14
|
|
15
15
|
You can use the configuration option `contentprocessor.redcloth.hard_breaks` to enable/disable the
|
16
16
|
conversion of single newlines into HTML break tags.
|