nanoc3 3.2.4 → 3.3.0
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.
- metadata +14 -313
- data/.gemtest +0 -0
- data/ChangeLog +0 -3
- data/Gemfile +0 -29
- data/LICENSE +0 -19
- data/NEWS.md +0 -449
- data/README.md +0 -108
- data/Rakefile +0 -14
- data/bin/nanoc3 +0 -12
- data/doc/yardoc_templates/default/layout/html/footer.erb +0 -10
- data/lib/nanoc3.rb +0 -28
- data/lib/nanoc3/base.rb +0 -49
- data/lib/nanoc3/base/compilation/checksum_store.rb +0 -57
- data/lib/nanoc3/base/compilation/compiled_content_cache.rb +0 -62
- data/lib/nanoc3/base/compilation/compiler.rb +0 -455
- data/lib/nanoc3/base/compilation/compiler_dsl.rb +0 -214
- data/lib/nanoc3/base/compilation/dependency_tracker.rb +0 -196
- data/lib/nanoc3/base/compilation/filter.rb +0 -165
- data/lib/nanoc3/base/compilation/item_rep_proxy.rb +0 -102
- data/lib/nanoc3/base/compilation/item_rep_recorder_proxy.rb +0 -88
- data/lib/nanoc3/base/compilation/outdatedness_checker.rb +0 -223
- data/lib/nanoc3/base/compilation/outdatedness_reasons.rb +0 -46
- data/lib/nanoc3/base/compilation/rule.rb +0 -73
- data/lib/nanoc3/base/compilation/rule_context.rb +0 -84
- data/lib/nanoc3/base/compilation/rule_memory_calculator.rb +0 -40
- data/lib/nanoc3/base/compilation/rule_memory_store.rb +0 -53
- data/lib/nanoc3/base/compilation/rules_collection.rb +0 -231
- data/lib/nanoc3/base/context.rb +0 -47
- data/lib/nanoc3/base/core_ext.rb +0 -6
- data/lib/nanoc3/base/core_ext/array.rb +0 -62
- data/lib/nanoc3/base/core_ext/hash.rb +0 -63
- data/lib/nanoc3/base/core_ext/pathname.rb +0 -26
- data/lib/nanoc3/base/core_ext/string.rb +0 -46
- data/lib/nanoc3/base/directed_graph.rb +0 -275
- data/lib/nanoc3/base/errors.rb +0 -174
- data/lib/nanoc3/base/memoization.rb +0 -67
- data/lib/nanoc3/base/notification_center.rb +0 -84
- data/lib/nanoc3/base/ordered_hash.rb +0 -200
- data/lib/nanoc3/base/plugin_registry.rb +0 -165
- data/lib/nanoc3/base/result_data/item_rep.rb +0 -488
- data/lib/nanoc3/base/source_data/code_snippet.rb +0 -58
- data/lib/nanoc3/base/source_data/configuration.rb +0 -24
- data/lib/nanoc3/base/source_data/data_source.rb +0 -234
- data/lib/nanoc3/base/source_data/item.rb +0 -301
- data/lib/nanoc3/base/source_data/layout.rb +0 -130
- data/lib/nanoc3/base/source_data/site.rb +0 -361
- data/lib/nanoc3/base/store.rb +0 -135
- data/lib/nanoc3/cli.rb +0 -133
- data/lib/nanoc3/cli/command.rb +0 -139
- data/lib/nanoc3/cli/commands/autocompile.rb +0 -60
- data/lib/nanoc3/cli/commands/compile.rb +0 -280
- data/lib/nanoc3/cli/commands/create_item.rb +0 -62
- data/lib/nanoc3/cli/commands/create_layout.rb +0 -75
- data/lib/nanoc3/cli/commands/create_site.rb +0 -410
- data/lib/nanoc3/cli/commands/debug.rb +0 -119
- data/lib/nanoc3/cli/commands/info.rb +0 -98
- data/lib/nanoc3/cli/commands/nanoc.rb +0 -37
- data/lib/nanoc3/cli/commands/update.rb +0 -72
- data/lib/nanoc3/cli/commands/view.rb +0 -84
- data/lib/nanoc3/cli/commands/watch.rb +0 -125
- data/lib/nanoc3/cli/error_handler.rb +0 -193
- data/lib/nanoc3/cli/logger.rb +0 -91
- data/lib/nanoc3/data_sources.rb +0 -29
- data/lib/nanoc3/data_sources/deprecated/delicious.rb +0 -42
- data/lib/nanoc3/data_sources/deprecated/last_fm.rb +0 -87
- data/lib/nanoc3/data_sources/deprecated/twitter.rb +0 -38
- data/lib/nanoc3/data_sources/filesystem.rb +0 -299
- data/lib/nanoc3/data_sources/filesystem_unified.rb +0 -116
- data/lib/nanoc3/data_sources/filesystem_verbose.rb +0 -86
- data/lib/nanoc3/extra.rb +0 -22
- data/lib/nanoc3/extra/auto_compiler.rb +0 -103
- data/lib/nanoc3/extra/chick.rb +0 -125
- data/lib/nanoc3/extra/core_ext.rb +0 -4
- data/lib/nanoc3/extra/core_ext/enumerable.rb +0 -33
- data/lib/nanoc3/extra/core_ext/time.rb +0 -19
- data/lib/nanoc3/extra/deployers.rb +0 -11
- data/lib/nanoc3/extra/deployers/rsync.rb +0 -114
- data/lib/nanoc3/extra/file_proxy.rb +0 -40
- data/lib/nanoc3/extra/validators.rb +0 -12
- data/lib/nanoc3/extra/validators/links.rb +0 -264
- data/lib/nanoc3/extra/validators/w3c.rb +0 -95
- data/lib/nanoc3/extra/vcs.rb +0 -66
- data/lib/nanoc3/extra/vcses.rb +0 -17
- data/lib/nanoc3/extra/vcses/bazaar.rb +0 -25
- data/lib/nanoc3/extra/vcses/dummy.rb +0 -24
- data/lib/nanoc3/extra/vcses/git.rb +0 -25
- data/lib/nanoc3/extra/vcses/mercurial.rb +0 -25
- data/lib/nanoc3/extra/vcses/subversion.rb +0 -25
- data/lib/nanoc3/filters.rb +0 -53
- data/lib/nanoc3/filters/asciidoc.rb +0 -38
- data/lib/nanoc3/filters/bluecloth.rb +0 -19
- data/lib/nanoc3/filters/coderay.rb +0 -21
- data/lib/nanoc3/filters/colorize_syntax.rb +0 -261
- data/lib/nanoc3/filters/erb.rb +0 -35
- data/lib/nanoc3/filters/erubis.rb +0 -27
- data/lib/nanoc3/filters/haml.rb +0 -27
- data/lib/nanoc3/filters/kramdown.rb +0 -20
- data/lib/nanoc3/filters/less.rb +0 -53
- data/lib/nanoc3/filters/markaby.rb +0 -20
- data/lib/nanoc3/filters/maruku.rb +0 -20
- data/lib/nanoc3/filters/mustache.rb +0 -24
- data/lib/nanoc3/filters/rainpress.rb +0 -19
- data/lib/nanoc3/filters/rdiscount.rb +0 -22
- data/lib/nanoc3/filters/rdoc.rb +0 -33
- data/lib/nanoc3/filters/redcarpet.rb +0 -27
- data/lib/nanoc3/filters/redcloth.rb +0 -47
- data/lib/nanoc3/filters/relativize_paths.rb +0 -45
- data/lib/nanoc3/filters/rubypants.rb +0 -20
- data/lib/nanoc3/filters/sass.rb +0 -66
- data/lib/nanoc3/filters/slim.rb +0 -25
- data/lib/nanoc3/filters/typogruby.rb +0 -23
- data/lib/nanoc3/filters/uglify_js.rb +0 -42
- data/lib/nanoc3/helpers.rb +0 -16
- data/lib/nanoc3/helpers/blogging.rb +0 -319
- data/lib/nanoc3/helpers/breadcrumbs.rb +0 -40
- data/lib/nanoc3/helpers/capturing.rb +0 -138
- data/lib/nanoc3/helpers/filtering.rb +0 -50
- data/lib/nanoc3/helpers/html_escape.rb +0 -55
- data/lib/nanoc3/helpers/link_to.rb +0 -151
- data/lib/nanoc3/helpers/rendering.rb +0 -140
- data/lib/nanoc3/helpers/tagging.rb +0 -71
- data/lib/nanoc3/helpers/text.rb +0 -44
- data/lib/nanoc3/helpers/xml_sitemap.rb +0 -76
- data/lib/nanoc3/tasks.rb +0 -10
- data/lib/nanoc3/tasks/clean.rake +0 -16
- data/lib/nanoc3/tasks/clean.rb +0 -29
- data/lib/nanoc3/tasks/deploy/rsync.rake +0 -14
- data/lib/nanoc3/tasks/validate.rake +0 -92
- data/nanoc3.gemspec +0 -49
- data/tasks/doc.rake +0 -16
- data/tasks/test.rake +0 -44
- data/test/base/core_ext/array_spec.rb +0 -73
- data/test/base/core_ext/hash_spec.rb +0 -98
- data/test/base/core_ext/pathname_spec.rb +0 -27
- data/test/base/core_ext/string_spec.rb +0 -37
- data/test/base/test_checksum_store.rb +0 -35
- data/test/base/test_code_snippet.rb +0 -31
- data/test/base/test_compiler.rb +0 -316
- data/test/base/test_compiler_dsl.rb +0 -161
- data/test/base/test_context.rb +0 -31
- data/test/base/test_data_source.rb +0 -46
- data/test/base/test_dependency_tracker.rb +0 -262
- data/test/base/test_directed_graph.rb +0 -283
- data/test/base/test_filter.rb +0 -83
- data/test/base/test_item.rb +0 -179
- data/test/base/test_item_rep.rb +0 -553
- data/test/base/test_layout.rb +0 -59
- data/test/base/test_memoization.rb +0 -90
- data/test/base/test_notification_center.rb +0 -34
- data/test/base/test_outdatedness_checker.rb +0 -394
- data/test/base/test_plugin.rb +0 -30
- data/test/base/test_rule.rb +0 -19
- data/test/base/test_rule_context.rb +0 -65
- data/test/base/test_site.rb +0 -190
- data/test/cli/commands/test_compile.rb +0 -33
- data/test/cli/commands/test_create_item.rb +0 -14
- data/test/cli/commands/test_create_layout.rb +0 -28
- data/test/cli/commands/test_create_site.rb +0 -24
- data/test/cli/commands/test_help.rb +0 -12
- data/test/cli/commands/test_info.rb +0 -11
- data/test/cli/commands/test_update.rb +0 -10
- data/test/cli/test_cli.rb +0 -102
- data/test/cli/test_error_handler.rb +0 -29
- data/test/cli/test_logger.rb +0 -10
- data/test/data_sources/test_filesystem.rb +0 -433
- data/test/data_sources/test_filesystem_unified.rb +0 -536
- data/test/data_sources/test_filesystem_verbose.rb +0 -357
- data/test/extra/core_ext/test_enumerable.rb +0 -30
- data/test/extra/core_ext/test_time.rb +0 -15
- data/test/extra/deployers/test_rsync.rb +0 -232
- data/test/extra/test_auto_compiler.rb +0 -417
- data/test/extra/test_file_proxy.rb +0 -19
- data/test/extra/test_vcs.rb +0 -22
- data/test/extra/validators/test_links.rb +0 -51
- data/test/extra/validators/test_w3c.rb +0 -47
- data/test/filters/test_asciidoc.rb +0 -22
- data/test/filters/test_bluecloth.rb +0 -18
- data/test/filters/test_coderay.rb +0 -44
- data/test/filters/test_colorize_syntax.rb +0 -283
- data/test/filters/test_erb.rb +0 -99
- data/test/filters/test_erubis.rb +0 -70
- data/test/filters/test_haml.rb +0 -96
- data/test/filters/test_kramdown.rb +0 -18
- data/test/filters/test_less.rb +0 -113
- data/test/filters/test_markaby.rb +0 -24
- data/test/filters/test_maruku.rb +0 -18
- data/test/filters/test_mustache.rb +0 -25
- data/test/filters/test_rainpress.rb +0 -29
- data/test/filters/test_rdiscount.rb +0 -31
- data/test/filters/test_rdoc.rb +0 -18
- data/test/filters/test_redcarpet.rb +0 -63
- data/test/filters/test_redcloth.rb +0 -33
- data/test/filters/test_relativize_paths.rb +0 -332
- data/test/filters/test_rubypants.rb +0 -18
- data/test/filters/test_sass.rb +0 -229
- data/test/filters/test_slim.rb +0 -35
- data/test/filters/test_typogruby.rb +0 -21
- data/test/filters/test_uglify_js.rb +0 -30
- data/test/gem_loader.rb +0 -11
- data/test/helper.rb +0 -179
- data/test/helpers/test_blogging.rb +0 -754
- data/test/helpers/test_breadcrumbs.rb +0 -81
- data/test/helpers/test_capturing.rb +0 -41
- data/test/helpers/test_filtering.rb +0 -106
- data/test/helpers/test_html_escape.rb +0 -32
- data/test/helpers/test_link_to.rb +0 -249
- data/test/helpers/test_rendering.rb +0 -89
- data/test/helpers/test_tagging.rb +0 -87
- data/test/helpers/test_text.rb +0 -24
- data/test/helpers/test_xml_sitemap.rb +0 -103
- data/test/tasks/test_clean.rb +0 -67
data/lib/nanoc3/filters/erb.rb
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'erb'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class ERB < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [ERB](http://ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html).
|
|
9
|
-
#
|
|
10
|
-
# @param [String] content The content to filter
|
|
11
|
-
#
|
|
12
|
-
# @option params [Integer] safe_level (nil) The safe level (`$SAFE`) to
|
|
13
|
-
# use while running this filter
|
|
14
|
-
#
|
|
15
|
-
# @option params [String] trim_mode (nil) The trim mode to use
|
|
16
|
-
#
|
|
17
|
-
# @return [String] The filtered content
|
|
18
|
-
def run(content, params={})
|
|
19
|
-
# Create context
|
|
20
|
-
context = ::Nanoc3::Context.new(assigns)
|
|
21
|
-
|
|
22
|
-
# Get binding
|
|
23
|
-
proc = assigns[:content] ? lambda { assigns[:content] } : nil
|
|
24
|
-
assigns_binding = context.get_binding(&proc)
|
|
25
|
-
|
|
26
|
-
# Get result
|
|
27
|
-
safe_level = params[:safe_level]
|
|
28
|
-
trim_mode = params[:trim_mode]
|
|
29
|
-
erb = ::ERB.new(content, safe_level, trim_mode)
|
|
30
|
-
erb.filename = filename
|
|
31
|
-
erb.result(assigns_binding)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'erubis'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Erubis < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [Erubis](http://www.kuwata-lab.com/erubis/).
|
|
9
|
-
# This method takes no options.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Create context
|
|
16
|
-
context = ::Nanoc3::Context.new(assigns)
|
|
17
|
-
|
|
18
|
-
# Get binding
|
|
19
|
-
proc = assigns[:content] ? lambda { assigns[:content] } : nil
|
|
20
|
-
assigns_binding = context.get_binding(&proc)
|
|
21
|
-
|
|
22
|
-
# Get result
|
|
23
|
-
::Erubis::Eruby.new(content, :filename => filename).result(assigns_binding)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
end
|
data/lib/nanoc3/filters/haml.rb
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'haml'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Haml < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [Haml](http://haml-lang.com/).
|
|
9
|
-
# Parameters passed to this filter will be passed on to Haml.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Get options
|
|
16
|
-
options = params.merge(:filename => filename)
|
|
17
|
-
|
|
18
|
-
# Create context
|
|
19
|
-
context = ::Nanoc3::Context.new(assigns)
|
|
20
|
-
|
|
21
|
-
# Get result
|
|
22
|
-
proc = assigns[:content] ? lambda { assigns[:content] } : nil
|
|
23
|
-
::Haml::Engine.new(content, options).render(context, assigns, &proc)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'kramdown'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Kramdown < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [Kramdown](http://kramdown.rubyforge.org/).
|
|
9
|
-
# Parameters passed to this filter will be passed on to Kramdown.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Get result
|
|
16
|
-
::Kramdown::Document.new(content, params).to_html
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
data/lib/nanoc3/filters/less.rb
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'less'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Less < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [LESS](http://lesscss.org/).
|
|
9
|
-
# This method takes no options.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Find imports (hacky)
|
|
16
|
-
imports = []
|
|
17
|
-
imports.concat(content.scan(/^@import\s+(["'])([^\1]+?)\1;/))
|
|
18
|
-
imports.concat(content.scan(/^@import\s+url\((["']?)([^)]+?)\1\);/))
|
|
19
|
-
imported_filenames = imports.map do |i|
|
|
20
|
-
i[1].match(/\.(less|css)$/) ? i[1] : i[1] + '.less'
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Convert to items
|
|
24
|
-
imported_items = imported_filenames.map do |filename|
|
|
25
|
-
# Find directory for this item
|
|
26
|
-
current_dir_pathname = Pathname.new(@item[:content_filename]).dirname.realpath
|
|
27
|
-
|
|
28
|
-
# Find absolute pathname for imported item
|
|
29
|
-
imported_pathname = Pathname.new(filename)
|
|
30
|
-
if imported_pathname.relative?
|
|
31
|
-
imported_pathname = current_dir_pathname + imported_pathname
|
|
32
|
-
end
|
|
33
|
-
next if !imported_pathname.exist?
|
|
34
|
-
imported_filename = imported_pathname.realpath
|
|
35
|
-
|
|
36
|
-
# Find matching item
|
|
37
|
-
@items.find do |i|
|
|
38
|
-
next if i[:content_filename].nil?
|
|
39
|
-
Pathname.new(i[:content_filename]).realpath == imported_filename
|
|
40
|
-
end
|
|
41
|
-
end.compact
|
|
42
|
-
|
|
43
|
-
# Create dependencies
|
|
44
|
-
depend_on(imported_items)
|
|
45
|
-
|
|
46
|
-
# Add filename to load path
|
|
47
|
-
paths = [ File.dirname(@item[:content_filename]) ]
|
|
48
|
-
parser = ::Less::Parser.new(:paths => paths)
|
|
49
|
-
parser.parse(content).to_css
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
end
|
|
53
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'markaby'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Markaby < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [Markaby](http://markaby.rubyforge.org/).
|
|
9
|
-
# This method takes no options.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Get result
|
|
16
|
-
::Markaby::Builder.new(assigns).instance_eval(content).to_s
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'maruku'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Maruku < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [Maruku](http://maruku.rubyforge.org/).
|
|
9
|
-
# Parameters passed to this filter will be passed on to Maruku.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Get result
|
|
16
|
-
::Maruku.new(content, params).to_html
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'mustache'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
|
|
7
|
-
# @since 3.2.0
|
|
8
|
-
class Mustache < Nanoc3::Filter
|
|
9
|
-
|
|
10
|
-
# Runs the content through
|
|
11
|
-
# [Mustache](http://github.com/defunkt/mustache). This method takes no
|
|
12
|
-
# options.
|
|
13
|
-
#
|
|
14
|
-
# @param [String] content The content to filter
|
|
15
|
-
#
|
|
16
|
-
# @return [String] The filtered content
|
|
17
|
-
def run(content, params={})
|
|
18
|
-
# Get result
|
|
19
|
-
::Mustache.render(content, item.attributes)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'rainpress'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class Rainpress < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [Rainpress](http://code.google.com/p/rainpress/).
|
|
9
|
-
# Parameters passed to this filter will be passed on to Rainpress.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
::Rainpress.compress(content, params)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'rdiscount'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class RDiscount < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [RDiscount](http://github.com/rtomayko/rdiscount).
|
|
9
|
-
#
|
|
10
|
-
# @option params [Array] symbol ([]) A list of RDiscount extensions
|
|
11
|
-
#
|
|
12
|
-
# @param [String] content The content to filter
|
|
13
|
-
#
|
|
14
|
-
# @return [String] The filtered content
|
|
15
|
-
def run(content, params={})
|
|
16
|
-
extensions = params[:extensions] || []
|
|
17
|
-
|
|
18
|
-
::RDiscount.new(content, *extensions).to_html
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
end
|
|
22
|
-
end
|
data/lib/nanoc3/filters/rdoc.rb
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
# new RDoc
|
|
5
|
-
require 'rdoc/markup'
|
|
6
|
-
require 'rdoc/markup/to_html'
|
|
7
|
-
rescue LoadError
|
|
8
|
-
# old RDoc
|
|
9
|
-
require 'rdoc/markup/simple_markup'
|
|
10
|
-
require 'rdoc/markup/simple_markup/to_html'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
module Nanoc3::Filters
|
|
14
|
-
class RDoc < Nanoc3::Filter
|
|
15
|
-
|
|
16
|
-
# Runs the content through [RDoc::Markup](http://rdoc.rubyforge.org/RDoc/Markup.html).
|
|
17
|
-
# This method takes no options.
|
|
18
|
-
#
|
|
19
|
-
# @param [String] content The content to filter
|
|
20
|
-
#
|
|
21
|
-
# @return [String] The filtered content
|
|
22
|
-
def run(content, params={})
|
|
23
|
-
begin
|
|
24
|
-
# new RDoc
|
|
25
|
-
::RDoc::Markup.new.convert(content, ::RDoc::Markup::ToHtml.new)
|
|
26
|
-
rescue LoadError
|
|
27
|
-
# old RDoc
|
|
28
|
-
::SM::SimpleMarkup.new.convert(content, ::SM::ToHtml.new)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'redcarpet'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
|
|
7
|
-
# @since 3.2.0
|
|
8
|
-
class Redcarpet < Nanoc3::Filter
|
|
9
|
-
|
|
10
|
-
# Runs the content through [Redcarpet](https://github.com/tanoku/redcarpet/).
|
|
11
|
-
# This method optionally takes processing options to pass on to Redcarpet.
|
|
12
|
-
#
|
|
13
|
-
# @param [String] content The content to filter
|
|
14
|
-
#
|
|
15
|
-
# @option params [Array] :options ([]) A list of options to pass on to
|
|
16
|
-
# Redcarpet
|
|
17
|
-
#
|
|
18
|
-
# @return [String] The filtered content
|
|
19
|
-
def run(content, params={})
|
|
20
|
-
options = params[:options] || []
|
|
21
|
-
|
|
22
|
-
::Redcarpet.new(content, *options).to_html
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'redcloth'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class RedCloth < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [RedCloth](http://redcloth.org/). This method
|
|
9
|
-
# takes the following options:
|
|
10
|
-
#
|
|
11
|
-
# * `:filter_class`
|
|
12
|
-
# * `:filter_html`
|
|
13
|
-
# * `:filter_ids`
|
|
14
|
-
# * `:filter_style`
|
|
15
|
-
# * `:hard_breaks`
|
|
16
|
-
# * `:lite_mode`
|
|
17
|
-
# * `:no_span_caps`
|
|
18
|
-
# * `:sanitize_htm`
|
|
19
|
-
#
|
|
20
|
-
# Each of these options sets the corresponding attribute on the `RedCloth`
|
|
21
|
-
# instance. For example, when the `:hard_breaks => false` option is passed
|
|
22
|
-
# to this filter, the filter will call `r.hard_breaks = false` (with `r`
|
|
23
|
-
# being the `RedCloth` instance).
|
|
24
|
-
#
|
|
25
|
-
# @param [String] content The content to filter
|
|
26
|
-
#
|
|
27
|
-
# @return [String] The filtered content
|
|
28
|
-
def run(content, params={})
|
|
29
|
-
# Create formatter
|
|
30
|
-
r = ::RedCloth.new(content)
|
|
31
|
-
|
|
32
|
-
# Set options
|
|
33
|
-
r.filter_classes = params[:filter_classes] if params.has_key?(:filter_classes)
|
|
34
|
-
r.filter_html = params[:filter_html] if params.has_key?(:filter_html)
|
|
35
|
-
r.filter_ids = params[:filter_ids] if params.has_key?(:filter_ids)
|
|
36
|
-
r.filter_styles = params[:filter_styles] if params.has_key?(:filter_styles)
|
|
37
|
-
r.hard_breaks = params[:hard_breaks] if params.has_key?(:hard_breaks)
|
|
38
|
-
r.lite_mode = params[:lite_mode] if params.has_key?(:lite_mode)
|
|
39
|
-
r.no_span_caps = params[:no_span_caps] if params.has_key?(:no_span_caps)
|
|
40
|
-
r.sanitize_html = params[:sanitize_html] if params.has_key?(:sanitize_html)
|
|
41
|
-
|
|
42
|
-
# Get result
|
|
43
|
-
r.to_html
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
end
|
|
47
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
module Nanoc3::Filters
|
|
4
|
-
class RelativizePaths < Nanoc3::Filter
|
|
5
|
-
|
|
6
|
-
require 'nanoc3/helpers/link_to'
|
|
7
|
-
include Nanoc3::Helpers::LinkTo
|
|
8
|
-
|
|
9
|
-
# Relativizes all paths in the given content, which can be either HTML or
|
|
10
|
-
# CSS. This filter is quite useful if a site needs to be hosted in a
|
|
11
|
-
# subdirectory instead of a subdomain. In HTML, all `href` and `src`
|
|
12
|
-
# attributes will be relativized. In CSS, all `url()` references will be
|
|
13
|
-
# relativized.
|
|
14
|
-
#
|
|
15
|
-
# @param [String] content The content to filter
|
|
16
|
-
#
|
|
17
|
-
# @option params [Symbol] :type The type of content to filter; can be
|
|
18
|
-
# either `:html` or `:css`.
|
|
19
|
-
#
|
|
20
|
-
# @return [String] The filtered content
|
|
21
|
-
def run(content, params={})
|
|
22
|
-
# Set assigns so helper function can be used
|
|
23
|
-
@item_rep = assigns[:item_rep] if @item_rep.nil?
|
|
24
|
-
|
|
25
|
-
# Filter
|
|
26
|
-
# FIXME use nokogiri or csspool instead of regular expressions
|
|
27
|
-
case params[:type]
|
|
28
|
-
when :html
|
|
29
|
-
content.gsub(/(<[^>]+\s+(src|href))=(['"]?)(\/(?:[^\/].*?)?)\3([\s\/>])/) do
|
|
30
|
-
$1 + '=' + $3 + relative_path_to($4) + $3 + $5
|
|
31
|
-
end
|
|
32
|
-
when :css
|
|
33
|
-
content.gsub(/url\((['"]?)(\/(?:[^\/].*?)?)\1\)/) do
|
|
34
|
-
'url(' + $1 + relative_path_to($2) + $1 + ')'
|
|
35
|
-
end
|
|
36
|
-
else
|
|
37
|
-
raise RuntimeError.new(
|
|
38
|
-
"The relativize_paths needs to know the type of content to " +
|
|
39
|
-
"process. Pass :type => :html for HTML or :type => :css for CSS."
|
|
40
|
-
)
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'rubypants'
|
|
4
|
-
|
|
5
|
-
module Nanoc3::Filters
|
|
6
|
-
class RubyPants < Nanoc3::Filter
|
|
7
|
-
|
|
8
|
-
# Runs the content through [RubyPants](http://chneukirchen.org/blog/static/projects/rubypants.html).
|
|
9
|
-
# This method takes no options.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] content The content to filter
|
|
12
|
-
#
|
|
13
|
-
# @return [String] The filtered content
|
|
14
|
-
def run(content, params={})
|
|
15
|
-
# Get result
|
|
16
|
-
::RubyPants.new(content).to_html
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|