nanoc3 3.1.5 → 3.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/NEWS.md +4 -0
- data/lib/nanoc3/data_sources/filesystem.rb +17 -3
- data/lib/nanoc3/data_sources/filesystem_unified.rb +17 -17
- data/lib/nanoc3/filters/colorize_syntax.rb +1 -1
- data/lib/nanoc3.rb +1 -1
- metadata +4 -4
data/NEWS.md
CHANGED
@@ -229,14 +229,14 @@ module Nanoc3::DataSources
|
|
229
229
|
def parse(content_filename, meta_filename, kind)
|
230
230
|
# Read content and metadata from separate files
|
231
231
|
if meta_filename
|
232
|
-
content = content_filename ?
|
233
|
-
meta = YAML.
|
232
|
+
content = content_filename ? read(content_filename) : ''
|
233
|
+
meta = YAML.load(read(meta_filename)) || {}
|
234
234
|
|
235
235
|
return [ meta, content ]
|
236
236
|
end
|
237
237
|
|
238
238
|
# Read data
|
239
|
-
data =
|
239
|
+
data = read(content_filename)
|
240
240
|
|
241
241
|
# Check presence of metadata section
|
242
242
|
if data !~ /\A-{3,5}\s*$/
|
@@ -259,6 +259,20 @@ module Nanoc3::DataSources
|
|
259
259
|
[ meta, content ]
|
260
260
|
end
|
261
261
|
|
262
|
+
# Reads the content of the file with the given name and returns a string
|
263
|
+
# in UTF-8 encoding. The original encoding of the string is derived from
|
264
|
+
# the default external encoding, but this can be overridden by the
|
265
|
+
# “encoding” configuration attribute in the data source configuration.
|
266
|
+
def read(filename)
|
267
|
+
data = File.read(filename)
|
268
|
+
if data.respond_to?(:encode)
|
269
|
+
data.force_encoding(@config[:encoding]) if @config && @config[:encoding]
|
270
|
+
data.encode('UTF-8')
|
271
|
+
else
|
272
|
+
data
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
262
276
|
end
|
263
277
|
|
264
278
|
end
|
@@ -14,10 +14,10 @@ module Nanoc3::DataSources
|
|
14
14
|
# itself can start with a metadata section: it can be stored at the top of
|
15
15
|
# the file, between `---` (three dashes) separators. For example:
|
16
16
|
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
17
|
+
# ---
|
18
|
+
# title: "Moo!"
|
19
|
+
# ---
|
20
|
+
# h1. Hello!
|
21
21
|
#
|
22
22
|
# The metadata section can be omitted. If the file does not start with
|
23
23
|
# three or five dashes, the entire file will be considered as content.
|
@@ -26,7 +26,7 @@ module Nanoc3::DataSources
|
|
26
26
|
# an `index.*` filename, such as `index.txt`, will have the filesystem path
|
27
27
|
# with the `index.*` part stripped as a identifier. For example:
|
28
28
|
#
|
29
|
-
#
|
29
|
+
# foo/bar/index.html → /foo/bar/
|
30
30
|
#
|
31
31
|
# In other cases, the identifier is calculated by stripping the extension.
|
32
32
|
# If the `allow_periods_in_identifiers` attribute in the configuration is
|
@@ -34,24 +34,24 @@ module Nanoc3::DataSources
|
|
34
34
|
# extensions; if it is false or unset, all extensions will be stripped.
|
35
35
|
# For example:
|
36
36
|
#
|
37
|
-
#
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#
|
41
|
-
#
|
37
|
+
# (`allow_periods_in_identifiers` set to true)
|
38
|
+
# foo.entry.html → /foo.entry/
|
39
|
+
#
|
40
|
+
# (`allow_periods_in_identifiers` set to false)
|
41
|
+
# foo.html.erb → /foo/
|
42
42
|
#
|
43
43
|
# Note that it is possible for two different, separate files to have the
|
44
44
|
# same identifier. It is recommended to avoid such situations.
|
45
45
|
#
|
46
46
|
# Some more examples:
|
47
47
|
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
48
|
+
# content/index.html → /
|
49
|
+
# content/foo.html → /foo/
|
50
|
+
# content/foo/index.html → /foo/
|
51
|
+
# content/foo/bar.html → /foo/bar/
|
52
|
+
# content/foo/bar.baz.html → /foo/bar/ OR /foo/bar.baz/
|
53
|
+
# content/foo/bar/index.html → /foo/bar/
|
54
|
+
# content/foo.bar/index.html → /foo.bar/
|
55
55
|
#
|
56
56
|
# The file extension does not determine the filters to run on items; the
|
57
57
|
# Rules file is used to specify processing instructors for each item.
|
data/lib/nanoc3.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanoc3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 3.1.
|
9
|
+
- 6
|
10
|
+
version: 3.1.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Denis Defreyne
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-11-21 00:00:00 +01:00
|
19
19
|
default_executable: nanoc3
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|