nanoc-conref-fs 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efc00c8750bea1d8d022e9cc8213c23509a7f646
4
- data.tar.gz: 81375784222ae8ff49971ffdfebba7b033b692d0
3
+ metadata.gz: 8084c53b24aef8bc7312834d613080e4db9a113a
4
+ data.tar.gz: 8694bb5fd7471cf585bf315a32939ee5ea5edc52
5
5
  SHA512:
6
- metadata.gz: e5589891dd82aa7715641a656ee3a115d9fb7b5f4968f25ca53ed6a5e7c16f7a22bfd5c29ce06194db64dbb0e6172debb3c0160b296be7adbe04edf10d388f5e
7
- data.tar.gz: a6ee34ad1e1837c333dfb58228bdc850b9b9ce800c21fa33ecbc20d3a48db9464d53da042b587c7221867b7e0bd762224120a79149f692fc1772ff261650fef1
6
+ metadata.gz: 4463e0a3e0ad4072eaaf62f2839a36646fb52273f52b2b15ac8f7d7d9790cfd57cdf75b415987f1ae8f471673944222031b8cdbca3248fabf7ba15b3248b9f2d
7
+ data.tar.gz: 3fbd9bd87eb03c25a6426bf069e5ebe495cfbe63db828ab2e3e6a47cbad4ba383e671c0d5297bf74ac4fcc08de6e64f01a61a05aae93cfd9dbd0f24c3a61706e
@@ -142,6 +142,7 @@ class ConrefFS < Nanoc::DataSource
142
142
  # (demarcated by Liquid's {{ }} tags) using both the data/ folder and any variables defined
143
143
  # within the nanoc.yaml config file
144
144
  def read(filename)
145
+ data = ''
145
146
  begin
146
147
  page_vars = Conrefifier.file_variables(@site_config[:page_variables], filename)
147
148
  page_vars = { 'page' => page_vars }.merge(@variables)
@@ -153,16 +154,26 @@ class ConrefFS < Nanoc::DataSource
153
154
  data = data.gsub(/\{\{\s*#(\S+)\s*\}\}/, '[[#\1]]')
154
155
  data = data.gsub(/\{\{\s*\/(\S+)\s*\}\}/, '[[/\1]]')
155
156
  data = data.gsub(/\{\{\s*(octicon-\S+\s*[^\}]+)\s*\}\}/, '[[\1]]')
157
+ rescue => e
158
+ raise "Could not read #{filename}: #{e.inspect}"
159
+ end
160
+
161
+ result = data
156
162
 
163
+ begin
157
164
  # This first pass converts the frontmatter variables,
158
165
  # and inserts data variables into the body
159
166
  result = Conrefifier.apply_liquid(data, page_vars)
160
167
  # This second application renders the previously inserted
161
168
  # data conditionals within the body
162
169
  result = Conrefifier.apply_liquid(result, page_vars)
170
+ rescue Liquid::SyntaxError
171
+ # unrecognized Liquid, so just return the content
163
172
  rescue => e
164
- raise RuntimeError.new("Could not read #{filename}: #{e.inspect}")
173
+ raise "#{e.message}: #{e.inspect}"
165
174
  end
175
+
176
+ result
166
177
  end
167
178
 
168
179
  # This method is extracted from the Nanoc default FS
@@ -0,0 +1,3 @@
1
+ module Conrefifier
2
+ VERSION = '0.4.1'
3
+ end
@@ -1,9 +1,11 @@
1
1
  lib = File.expand_path('../lib', __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
+ require 'nanoc-conref-fs/version'
5
+
4
6
  Gem::Specification.new do |spec|
5
7
  spec.name = 'nanoc-conref-fs'
6
- spec.version = '0.4.0'
8
+ spec.version = Conrefifier::VERSION
7
9
  spec.authors = ['Garen Torikian']
8
10
  spec.email = ['gjtorikian@gmail.com']
9
11
  spec.summary = 'A Nanoc filesystem to permit using conrefs/reusables in your content.'
@@ -176,4 +176,16 @@ class DatafilesTest < MiniTest::Test
176
176
  assert_equal output_file, test_file
177
177
  end
178
178
  end
179
+
180
+ def test_it_ignores_unknown_tags
181
+ with_site(name: FIXTURES_DIR) do |site|
182
+
183
+ site = Nanoc::Int::SiteLoader.new.new_from_cwd
184
+ site.compile
185
+
186
+ output_file = read_output_file('maliciousness', 'unknown')
187
+ test_file = read_test_file('maliciousness', 'unknown')
188
+ assert_equal output_file, test_file
189
+ end
190
+ end
179
191
  end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>
5
+ Unknown tag
6
+ </title>
7
+ </head>
8
+
9
+ <body>
10
+
11
+ You may also wish to add the `{% feed_meta %}` tag to your layout's `<head>` section to allow browsers to more easily discover your site's feed.
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Unknown tag
3
+ ---
4
+
5
+ You may also wish to add the `{% feed_meta %}` tag to your layout's `<head>` section to allow browsers to more easily discover your site's feed.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanoc-conref-fs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-28 00:00:00.000000000 Z
11
+ date: 2015-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nanoc
@@ -97,6 +97,7 @@ files:
97
97
  - lib/nanoc-conref-fs/conref-fs.rb
98
98
  - lib/nanoc-conref-fs/conrefifier.rb
99
99
  - lib/nanoc-conref-fs/datafiles.rb
100
+ - lib/nanoc-conref-fs/version.rb
100
101
  - nanoc-conref-fs.gemspec
101
102
  - script/bootstrap
102
103
  - test/conref_fs_test.rb
@@ -120,6 +121,8 @@ files:
120
121
  - test/fixtures/content/frontmatter/different.md
121
122
  - test/fixtures/content/frontmatter/title.html
122
123
  - test/fixtures/content/frontmatter/title.md
124
+ - test/fixtures/content/maliciousness/unknown.html
125
+ - test/fixtures/content/maliciousness/unknown.md
123
126
  - test/fixtures/content/obfuscation/admonitions.html
124
127
  - test/fixtures/content/obfuscation/admonitions.md
125
128
  - test/fixtures/content/obfuscation/octicon.html
@@ -190,6 +193,8 @@ test_files:
190
193
  - test/fixtures/content/frontmatter/different.md
191
194
  - test/fixtures/content/frontmatter/title.html
192
195
  - test/fixtures/content/frontmatter/title.md
196
+ - test/fixtures/content/maliciousness/unknown.html
197
+ - test/fixtures/content/maliciousness/unknown.md
193
198
  - test/fixtures/content/obfuscation/admonitions.html
194
199
  - test/fixtures/content/obfuscation/admonitions.md
195
200
  - test/fixtures/content/obfuscation/octicon.html