nanoc-conref-fs 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
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