webgen 1.0.0.beta3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +23 -1
  3. data/Rakefile +16 -77
  4. data/VERSION +1 -1
  5. data/bin/webgen +0 -0
  6. data/data/webgen/basic_website_template/ext/init.rb +3 -1
  7. data/data/webgen/basic_website_template/src/.gitignore +0 -0
  8. data/data/webgen/basic_website_template/webgen.config +1 -1
  9. data/data/webgen/bundle_template_files/info.yaml.erb +14 -2
  10. data/data/webgen/passive_sources/default.metainfo +10 -0
  11. data/data/webgen/passive_sources/templates/api.template +16 -2
  12. data/data/webgen/passive_sources/templates/feed.template +5 -5
  13. data/data/webgen/passive_sources/templates/sitemap.template +1 -1
  14. data/data/webgen/passive_sources/templates/tag.template +8 -4
  15. data/lib/webgen/blackboard.rb +21 -5
  16. data/lib/webgen/bundle/built-in-show-changes/info.yaml +17 -0
  17. data/lib/webgen/bundle/built-in-show-changes/init.rb +4 -5
  18. data/lib/webgen/bundle/built-in/info.yaml +1064 -0
  19. data/lib/webgen/bundle/built-in/init.rb +103 -136
  20. data/lib/webgen/bundle_loader.rb +82 -9
  21. data/lib/webgen/cli.rb +12 -8
  22. data/lib/webgen/cli/commands/create.rb +27 -0
  23. data/lib/webgen/cli/{create_bundle_command.rb → commands/create_bundle.rb} +2 -2
  24. data/lib/webgen/cli/{create_command.rb → commands/create_website.rb} +2 -2
  25. data/lib/webgen/cli/commands/generate.rb +66 -0
  26. data/lib/webgen/cli/{install_bundle_command.rb → commands/install.rb} +1 -1
  27. data/lib/webgen/cli/{show_command.rb → commands/show.rb} +6 -4
  28. data/lib/webgen/cli/{list_bundle_command.rb → commands/show_bundles.rb} +12 -15
  29. data/lib/webgen/cli/{show_config_command.rb → commands/show_config.rb} +34 -6
  30. data/lib/webgen/cli/{show_dependencies_command.rb → commands/show_dependencies.rb} +0 -0
  31. data/lib/webgen/cli/{show_extensions_command.rb → commands/show_extensions.rb} +1 -13
  32. data/lib/webgen/cli/{show_tree_command.rb → commands/show_tree.rb} +3 -0
  33. data/lib/webgen/cli/utils.rb +1 -1
  34. data/lib/webgen/configuration.rb +9 -11
  35. data/lib/webgen/content_processor/html_head.rb +3 -4
  36. data/lib/webgen/content_processor/rainpress.rb +21 -0
  37. data/lib/webgen/content_processor/sass.rb +8 -8
  38. data/lib/webgen/content_processor/tikz.rb +59 -16
  39. data/lib/webgen/item_tracker.rb +33 -12
  40. data/lib/webgen/item_tracker/missing_node.rb +5 -5
  41. data/lib/webgen/item_tracker/template_chain.rb +52 -0
  42. data/lib/webgen/misc/dummy_index.rb +78 -0
  43. data/lib/webgen/node.rb +1 -1
  44. data/lib/webgen/node_finder.rb +86 -141
  45. data/lib/webgen/page.rb +5 -5
  46. data/lib/webgen/path.rb +4 -1
  47. data/lib/webgen/path_handler.rb +25 -21
  48. data/lib/webgen/path_handler/api.rb +36 -3
  49. data/lib/webgen/path_handler/base.rb +20 -4
  50. data/lib/webgen/path_handler/feed.rb +6 -2
  51. data/lib/webgen/path_handler/meta_info.rb +4 -2
  52. data/lib/webgen/path_handler/page.rb +5 -7
  53. data/lib/webgen/path_handler/sitemap.rb +6 -1
  54. data/lib/webgen/path_handler/virtual.rb +6 -8
  55. data/lib/webgen/source/file_system.rb +2 -2
  56. data/lib/webgen/tag.rb +22 -18
  57. data/lib/webgen/tag/menu.rb +5 -5
  58. data/lib/webgen/test_helper.rb +18 -18
  59. data/lib/webgen/utils/external_command.rb +1 -1
  60. data/lib/webgen/utils/tag_parser.rb +1 -1
  61. data/lib/webgen/vendor/rainpress.rb +168 -0
  62. data/lib/webgen/version.rb +1 -1
  63. data/lib/webgen/website.rb +10 -10
  64. data/man/man1/webgen.1 +54 -23
  65. data/test/test_documentation.rb +27 -4
  66. data/test/webgen/cli/test_logger.rb +1 -1
  67. data/test/webgen/content_processor/test_blocks.rb +1 -1
  68. data/test/webgen/content_processor/test_builder.rb +3 -2
  69. data/test/webgen/content_processor/test_erb.rb +1 -1
  70. data/test/webgen/content_processor/test_erubis.rb +2 -2
  71. data/test/webgen/content_processor/test_fragments.rb +1 -1
  72. data/test/webgen/content_processor/test_haml.rb +2 -2
  73. data/test/webgen/content_processor/test_html_head.rb +5 -1
  74. data/test/webgen/content_processor/test_kramdown.rb +2 -2
  75. data/test/webgen/content_processor/test_maruku.rb +2 -2
  76. data/test/webgen/content_processor/test_r_discount.rb +2 -2
  77. data/test/webgen/content_processor/test_r_doc.rb +1 -1
  78. data/test/webgen/content_processor/test_rainpress.rb +19 -0
  79. data/test/webgen/content_processor/test_red_cloth.rb +2 -2
  80. data/test/webgen/content_processor/test_ruby.rb +1 -1
  81. data/test/webgen/content_processor/test_sass.rb +8 -6
  82. data/test/webgen/content_processor/test_scss.rb +3 -3
  83. data/test/webgen/content_processor/test_tags.rb +1 -1
  84. data/test/webgen/content_processor/test_tidy.rb +9 -1
  85. data/test/webgen/content_processor/test_tikz.rb +6 -3
  86. data/test/webgen/content_processor/test_xmllint.rb +9 -2
  87. data/test/webgen/destination/test_file_system.rb +4 -4
  88. data/test/webgen/item_tracker/test_file.rb +1 -1
  89. data/test/webgen/item_tracker/test_missing_node.rb +1 -1
  90. data/test/webgen/item_tracker/test_node_content.rb +1 -1
  91. data/test/webgen/item_tracker/test_node_meta_info.rb +1 -1
  92. data/test/webgen/item_tracker/test_nodes.rb +2 -4
  93. data/test/webgen/item_tracker/test_template_chain.rb +36 -0
  94. data/test/webgen/misc/test_dummy_index.rb +83 -0
  95. data/test/webgen/path_handler/test_api.rb +6 -46
  96. data/test/webgen/path_handler/test_base.rb +3 -2
  97. data/test/webgen/path_handler/test_copy.rb +1 -1
  98. data/test/webgen/path_handler/test_feed.rb +3 -4
  99. data/test/webgen/path_handler/test_meta_info.rb +1 -1
  100. data/test/webgen/path_handler/test_page.rb +1 -1
  101. data/test/webgen/path_handler/test_page_utils.rb +1 -1
  102. data/test/webgen/path_handler/test_sitemap.rb +3 -5
  103. data/test/webgen/path_handler/test_template.rb +1 -1
  104. data/test/webgen/path_handler/test_virtual.rb +1 -3
  105. data/test/webgen/source/test_file_system.rb +9 -4
  106. data/test/webgen/source/test_stacked.rb +1 -1
  107. data/test/webgen/source/test_tar_archive.rb +2 -2
  108. data/test/webgen/tag/test_breadcrumb_trail.rb +1 -1
  109. data/test/webgen/tag/test_coderay.rb +3 -2
  110. data/test/webgen/tag/test_date.rb +1 -1
  111. data/test/webgen/tag/test_execute_command.rb +1 -1
  112. data/test/webgen/tag/test_include_file.rb +1 -1
  113. data/test/webgen/tag/test_langbar.rb +1 -1
  114. data/test/webgen/tag/test_link.rb +1 -1
  115. data/test/webgen/tag/test_menu.rb +12 -30
  116. data/test/webgen/tag/test_meta_info.rb +1 -1
  117. data/test/webgen/tag/test_relocatable.rb +1 -1
  118. data/test/webgen/tag/test_tikz.rb +3 -2
  119. data/test/webgen/task/test_create_website.rb +2 -2
  120. data/test/webgen/test_blackboard.rb +11 -3
  121. data/test/webgen/test_bundle_loader.rb +26 -9
  122. data/test/webgen/test_cache.rb +1 -1
  123. data/test/webgen/test_cli.rb +2 -2
  124. data/test/webgen/test_configuration.rb +8 -9
  125. data/test/webgen/test_content_processor.rb +1 -1
  126. data/test/webgen/test_context.rb +1 -1
  127. data/test/webgen/test_core_ext.rb +1 -1
  128. data/test/webgen/test_destination.rb +1 -1
  129. data/test/webgen/test_error.rb +5 -5
  130. data/test/webgen/test_extension_manager.rb +1 -1
  131. data/test/webgen/test_item_tracker.rb +26 -5
  132. data/test/webgen/test_languages.rb +1 -1
  133. data/test/webgen/test_logger.rb +1 -1
  134. data/test/webgen/test_node.rb +1 -1
  135. data/test/webgen/test_node_finder.rb +2 -2
  136. data/test/webgen/test_page.rb +5 -5
  137. data/test/webgen/test_path.rb +8 -8
  138. data/test/webgen/test_rake_task.rb +1 -1
  139. data/test/webgen/test_source.rb +1 -1
  140. data/test/webgen/test_tag.rb +16 -24
  141. data/test/webgen/test_task.rb +1 -1
  142. data/test/webgen/test_tree.rb +1 -1
  143. data/test/webgen/test_utils.rb +1 -1
  144. data/test/webgen/test_website.rb +1 -1
  145. data/test/webgen/utils/test_tag_parser.rb +1 -1
  146. metadata +85 -105
  147. data/lib/webgen/cli/bundle_command.rb +0 -30
  148. data/lib/webgen/cli/generate_command.rb +0 -25
@@ -3,6 +3,6 @@
3
3
  module Webgen
4
4
 
5
5
  # The version of webgen.
6
- VERSION = '1.0.0.beta3'
6
+ VERSION = '1.0.0'
7
7
 
8
8
  end
@@ -109,8 +109,8 @@ module Webgen
109
109
  @ext = OpenStruct.new
110
110
 
111
111
  @init_block.call(self, true) if @init_block && @init_block.arity == 2
112
- load_bundles
113
- load_configuration
112
+ loader = load_bundles
113
+ load_configuration(loader)
114
114
  if @init_block
115
115
  @init_block.arity == 1 ? @init_block.call(self) : @init_block.call(self, false)
116
116
  end
@@ -132,6 +132,7 @@ module Webgen
132
132
  ext_loader.load_autoload_bundles
133
133
  Dir[File.join(ext_dir, '**/init.rb')].sort.each {|file| ext_loader.load(file[ext_dir.length..-1])}
134
134
  ext_loader.load('init.rb') if File.file?(File.join(ext_dir, 'init.rb'))
135
+ ext_loader
135
136
  end
136
137
  private :load_bundles
137
138
 
@@ -139,17 +140,16 @@ module Webgen
139
140
  CONFIG_FILENAME = 'webgen.config'
140
141
 
141
142
  # Load the configuration file into the Configuration object.
142
- def load_configuration
143
+ #
144
+ # If it is a Ruby configuration file, the given bundle loader is used to load it.
145
+ def load_configuration(bundle_loader)
143
146
  config_file = File.join(@directory, CONFIG_FILENAME)
144
147
  return unless File.exist?(config_file)
145
148
 
146
149
  first_line = File.open(config_file, 'r') {|f| f.gets}
147
- if first_line =~ /^\s*#.*\bruby\b/
148
- o = Object.new
149
- o.instance_variable_set(:@website, self)
150
- def o.website; @website; end
150
+ if first_line =~ /^\s*#.*\bruby\b/i
151
151
  begin
152
- o.instance_eval(File.read(config_file), config_file)
152
+ bundle_loader.load!(config_file)
153
153
  rescue Exception => e
154
154
  raise Webgen::Error.new("Couldn't load webgen configuration file (using Ruby syntax):\n#{e.message}")
155
155
  end
@@ -166,7 +166,7 @@ module Webgen
166
166
  # Restore the cache using the +website.cache+ configuration option.
167
167
  def restore_cache
168
168
  @cache = Cache.new
169
- data = if config['website.cache'].first == :file
169
+ data = if config['website.cache'].first == 'file'
170
170
  File.binread(cache_file) if File.file?(cache_file)
171
171
  else
172
172
  config['website.cache'].last
@@ -180,7 +180,7 @@ module Webgen
180
180
  def save_cache
181
181
  return if config['website.dry_run']
182
182
  cache_data = [@cache.dump, Webgen::VERSION]
183
- if config['website.cache'].first == :file
183
+ if config['website.cache'].first == 'file'
184
184
  File.open(cache_file(true), 'wb') {|f| Marshal.dump(cache_data, f)}
185
185
  else
186
186
  config['website.cache'][1] = Marshal.dump(cache_data)
@@ -1,4 +1,4 @@
1
- .TH "WEBGEN" 1 "July 2008"
1
+ .TH "WEBGEN" 1 "September 2013"
2
2
  .SH NAME
3
3
  webgen \- a fast, powerful and extensible static website generator
4
4
  .SH SYNOPSIS
@@ -18,6 +18,21 @@ automatically be generated.
18
18
  .B \-d, \-\-directory DIR
19
19
  Set the website directectory. if none specified, the current directory is used.
20
20
  .TP
21
+ .B \-s, \-\-search-dirs
22
+ Search the parent directories for a directory with a webgen configuration file and use this as
23
+ website directory.
24
+ .TP
25
+ .B \-c, \-\-color
26
+ Use ANSI colors for the output.
27
+ .TP
28
+ .B \-n, \-\-dry-run
29
+ Simulate the website generation. Does everything as it would be done without the option but nothing
30
+ gets written to the destination directory.
31
+ .TP
32
+ .B \-o, \-\-option CONFIG_OPTION
33
+ Specify a simple configuration option. The argument must be of the form KEY=VALUE where the VALUE is
34
+ a valid YAML type.
35
+ .TP
21
36
  .B \-v, \-\-verbose
22
37
  Show more output by default.
23
38
  .TP
@@ -25,40 +40,55 @@ Show more output by default.
25
40
  Show less output by default. If this option is specified, then no output is shown during rendering
26
41
  of a website.
27
42
  .TP
28
- .B \-l, \-\-log-level LEVEL
29
- Set the logging level to LEVEL which can be a number between 0 (debug output) and 3 (only error
30
- output).
43
+ .B \-\-debug
44
+ Enable debugging (shows much more output).
31
45
  .TP
32
46
  .B \-h, \-\-help
33
47
  Show generic help.
34
48
  .TP
35
- .B \-\-version
49
+ .B \-V, \-\-version
36
50
  Show the version of the program and exit.
37
51
  .SH COMMANDS
52
+ Commands are used to execute different actions (e.g. creating a website directory, generating the
53
+ website, showing help, ...). The command names can be shortened as long as the used name is
54
+ unambiguous. For example, the command "show deps" can also be executed by specifying "s d".
55
+ .TP
56
+ \fBcreate bundle\fR
57
+ Creates a new extension bundle either as a standalone extension or inside the website extension directory.
38
58
  .TP
39
- \fBapply\fR
40
- Applies a website bundle to an existing website. The \fIbundle\fR argument may either be the name of
41
- a bundle shipped with webgen or an URL to a (gzipped) tar archive bundle.
59
+ \fBcreate website\fR
60
+ Creates the basic directories and files for webgen. This includes the source and destination
61
+ directories as well as the extension directory. Takes the \fIdirectory\fR in which to create the
62
+ webgen structure as an argument.
42
63
  .TP
43
- \fBcreate\fR
44
- Creates the basic directories and files for webgen. This includes the source and
45
- output directories as well as an empty extensions directory. Also, a basic template plus a CSS and
46
- an index file are created. Takes the \fIdirectory\fR to create the webgen structure in as an
47
- argument.
64
+ \fBgenerate\fR
65
+ Generates the website. This command will be executed if no command is explicitly specified.
48
66
  .TP
49
67
  \fBhelp\fR
50
- Provides help for the individual commands.
68
+ Provides help for individual commands.
69
+ .TP
70
+ \fBinstall\fR
71
+ Installs an extension bundle. The name of the extension bundle is needed as argument.
72
+ .TP
73
+ \fBshow bundles\fR
74
+ Shows all available bundles and additional information them.
75
+ .TP
76
+ \fBshow config\fR
77
+ Shows all available configuration options. Command options can be used to additionally show default
78
+ values and/or current values.
79
+ .TP
80
+ \fBshow deps\fR
81
+ Shows dependencies of nodes. After webgen generates the website (see generate) information about the
82
+ generated website is stored in cache files and this command reads this information to show the
83
+ dependencies of nodes.
51
84
  .TP
52
- \fBrender\fR
53
- Runs webgen which will result in the generation of the HTML data in the output
54
- directory from the files in the source directory. This command is used as the default command when
55
- no command was issued.
85
+ \fBshow extensions\fR
86
+ Shows all available extensions.
56
87
  .TP
57
- \fBversion\fR
58
- Shows the version of the program and exit.
88
+ \fBshow tree\fR
89
+ Shows the node tree. Command options can be used to customize the output.
59
90
  .TP
60
- \fBwebgui\fR
61
- Starts the webgen webgui, a browser based graphical user interface for manging webgen websites.
91
+ \fBversion\fR Shows the version of the program and exit.
62
92
  .SH ENVIRONMENT VARIABLES
63
93
  webgen's behaviour is affected by the following environment variables:
64
94
  .TP
@@ -66,12 +96,13 @@ webgen's behaviour is affected by the following environment variables:
66
96
  If no website is specified via the \-d option and this variable is set, webgen assumes that its
67
97
  content is the webgen website directory that should be used.
68
98
  .SH SEE ALSO
69
- The webgen website, http://webgen.rubyforge.org/ for more information.
99
+ The webgen website, http://webgen.rubyforge.org/ for detailed information.
70
100
  .SH AUTHOR
71
101
  webgen was written by Thomas Leitner <t_leitner@gmx.at>
72
102
  .PP
73
103
  This manual page was written by Paul van Tilburg <paulvt@debian.org> for the Debian project (but may
74
104
  be used by others). This manual page was update to reflect webgen 0.4 change by Arnaud Cornet
75
105
  <arnaud.cornet@gmail.com>. This manual page was updated to reflect webgen 0.5.x changes by Thomas
106
+ Leitner <t_leitner@gmx.at>. This manual page was updated to reflect webgen 1.x changes by Thomas
76
107
  Leitner <t_leitner@gmx.at>.
77
108
 
@@ -6,11 +6,11 @@ require 'tmpdir'
6
6
  require 'yaml'
7
7
  require 'set'
8
8
 
9
- class TestExtensionDocumentation < MiniTest::Unit::TestCase
9
+ class TestExtensionDocumentation < Minitest::Test
10
10
 
11
11
  def test_all_extensions_documented
12
12
  ws = Webgen::Website.new(File.join(Dir.tmpdir, '/abcdefgh'))
13
- documentation = YAML::load(File.read(ws.ext.bundles['built-in']))['extensions']
13
+ documentation = ws.ext.bundle_infos.extensions.dup
14
14
  author = "Thomas Leitner <t_leitner@gmx.at>"
15
15
  docu_keys = Set.new(documentation.keys)
16
16
  ext_keys = Set.new(ws.ext.instance_eval { @table.keys })
@@ -24,12 +24,16 @@ class TestExtensionDocumentation < MiniTest::Unit::TestCase
24
24
 
25
25
  ext_keys.each do |key|
26
26
  check_docu.call(key.to_s)
27
+ if ws.ext.send(key).kind_of?(OpenStruct)
28
+ ws.ext.send(key).instance_eval {@table.keys}.each do |s_key|
29
+ check_docu.call("#{key}.#{s_key}")
30
+ end
31
+ end
27
32
 
28
33
  if ws.ext.send(key).respond_to?(:registered_extensions)
29
34
  ws.ext.send(key).registered_extensions.keys.each do |skey|
30
35
  skey = "#{key}.#{skey}"
31
- skey = "tag.meta_info" if skey == "tag.default"
32
- next if %w[tag.r].include?(skey)
36
+ next if %w[tag.r tag.default].include?(skey)
33
37
 
34
38
  check_docu.call(skey)
35
39
  end
@@ -40,4 +44,23 @@ class TestExtensionDocumentation < MiniTest::Unit::TestCase
40
44
  assert(documentation.empty?, "Superfluous documentation keys: #{documentation.keys.join(", ")}")
41
45
  end
42
46
 
47
+ def test_all_config_options_documented
48
+ ws = Webgen::Website.new(File.join(Dir.tmpdir, '/abcdefgh'))
49
+ documentation = ws.ext.bundle_infos.options.dup
50
+ docu_keys = Set.new(documentation.keys)
51
+
52
+ check_docu = lambda do |key|
53
+ data = documentation.delete(key.to_s)
54
+ assert(data, "Missing options documentation for '#{key}'")
55
+ assert(!data['summary'].to_s.empty?, "Missing summary for option '#{key}'")
56
+ assert(!data['syntax'].to_s.empty?, "Missing syntax for option '#{key}'")
57
+ assert(data['example'].kind_of?(Hash) && data['example'].length > 0, "Missing example for option '#{key}'")
58
+ end
59
+
60
+ ws.config.options.each do |key, value|
61
+ check_docu.call(key.to_s)
62
+ end
63
+ assert(documentation.empty?, "Superfluous option documentation keys: #{documentation.keys.join(", ")}")
64
+ end
65
+
43
66
  end
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/cli/logger'
5
5
 
6
- class TestLogger < MiniTest::Unit::TestCase
6
+ class TestLogger < Minitest::Test
7
7
 
8
8
  def test_initialize
9
9
  l = Webgen::CLI::Logger.new
@@ -4,7 +4,7 @@ require 'webgen/test_helper'
4
4
  require 'webgen/content_processor/blocks'
5
5
  require 'webgen/context'
6
6
 
7
- class TestBlocks < MiniTest::Unit::TestCase
7
+ class TestBlocks < Minitest::Test
8
8
 
9
9
  include Webgen::TestHelper
10
10
 
@@ -1,13 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/builder'
5
4
 
6
- class TestBuilder < MiniTest::Unit::TestCase
5
+ class TestBuilder < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def test_static_call
10
+ require 'webgen/content_processor/builder' rescue skip('Library builder not installed')
11
+
11
12
  setup_context
12
13
  cp = Webgen::ContentProcessor::Builder
13
14
 
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/content_processor/erb'
5
5
 
6
- class TestErb < MiniTest::Unit::TestCase
6
+ class TestErb < Minitest::Test
7
7
 
8
8
  include Webgen::TestHelper
9
9
 
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/erubis'
5
4
 
6
- class TestErubis < MiniTest::Unit::TestCase
5
+ class TestErubis < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def test_static_call
10
+ require 'webgen/content_processor/erubis' rescue skip('Library erubis not installed')
11
11
  setup_context
12
12
  @website.config.merge!('content_processor.erubis.options' => {}, 'content_processor.erubis.use_pi' => false)
13
13
  cp = Webgen::ContentProcessor::Erubis
@@ -4,7 +4,7 @@ require 'webgen/test_helper'
4
4
  require 'webgen/content_processor/fragments'
5
5
  require 'yaml'
6
6
 
7
- class TestContentProcessorFragments < MiniTest::Unit::TestCase
7
+ class TestContentProcessorFragments < Minitest::Test
8
8
 
9
9
  include Webgen::TestHelper
10
10
 
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/haml'
5
4
 
6
- class TestHaml < MiniTest::Unit::TestCase
5
+ class TestHaml < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def test_static_call
10
+ require 'webgen/content_processor/haml' rescue skip('Library haml not installed')
11
11
  setup_context
12
12
  cp = Webgen::ContentProcessor::Haml
13
13
 
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/content_processor/html_head'
5
5
 
6
- class TestHtmlHead < MiniTest::Unit::TestCase
6
+ class TestHtmlHead < Minitest::Test
7
7
 
8
8
  include Webgen::TestHelper
9
9
 
@@ -42,6 +42,10 @@ class TestHtmlHead < MiniTest::Unit::TestCase
42
42
  "\n<style type=\"text/css\">/*<![CDATA[/*/\nanotherstyle\n/*]]>*/</style>" +
43
43
  "\n<meta name=\"lucky\" content=\"me&lt;&quot;\" />" +
44
44
  "\n<meta name=\"other\" content=\"me\" />", @obj.tags_from_context_data(context))
45
+
46
+ context.persistent[:cp_html_head] = nil
47
+ assert_equal("\n<meta name=\"other\" content=\"me\" />", @obj.tags_from_context_data(context))
48
+
45
49
  end
46
50
 
47
51
  def test_links_to_translations
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/kramdown'
5
4
 
6
- class TestContentProcessorKramdown < MiniTest::Unit::TestCase
5
+ class TestContentProcessorKramdown < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def test_static_call
10
+ require 'webgen/content_processor/kramdown' rescue skip('Library kramdown not installed')
11
11
  setup_context
12
12
  cp = Webgen::ContentProcessor::Kramdown
13
13
  root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/maruku'
5
4
 
6
- class TestMaruku < MiniTest::Unit::TestCase
5
+ class TestMaruku < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def setup
10
+ require 'webgen/content_processor/maruku' rescue skip('Library maruku not installed')
11
11
  setup_context
12
12
  @cp = Webgen::ContentProcessor::Maruku
13
13
  end
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/r_discount'
5
4
 
6
- class TestRDiscount < MiniTest::Unit::TestCase
5
+ class TestRDiscount < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def test_static_call
10
+ require 'webgen/content_processor/r_discount' rescue skip('Library rdiscount not installed')
11
11
  setup_context
12
12
  cp = Webgen::ContentProcessor::RDiscount
13
13
 
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/content_processor/r_doc'
5
5
 
6
- class TestRDoc < MiniTest::Unit::TestCase
6
+ class TestRDoc < Minitest::Test
7
7
 
8
8
  include Webgen::TestHelper
9
9
 
@@ -0,0 +1,19 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'webgen/test_helper'
4
+ require 'webgen/content_processor/rainpress'
5
+
6
+ class TestContentProcessorRainpress < Minitest::Test
7
+
8
+ include Webgen::TestHelper
9
+
10
+ def test_static_call
11
+ setup_context
12
+ @website.config['content_processor.rainpress.options'] = {}
13
+ cp = Webgen::ContentProcessor::Rainpress
14
+
15
+ @context.content = "a \n{ border: 1px solid bold\n}"
16
+ assert_equal("a{border:1px solid bold}", cp.call(@context).content)
17
+ end
18
+
19
+ end
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'webgen/test_helper'
4
- require 'webgen/content_processor/red_cloth'
5
4
 
6
- class TestRedCloth < MiniTest::Unit::TestCase
5
+ class TestRedCloth < Minitest::Test
7
6
 
8
7
  include Webgen::TestHelper
9
8
 
10
9
  def test_static_call
10
+ require 'webgen/content_processor/red_cloth' rescue skip('Library RedCloth not installed')
11
11
  setup_context
12
12
  @website.config['content_processor.redcloth.hard_breaks'] = false
13
13
  cp = Webgen::ContentProcessor::RedCloth