nanoc 3.6.2 → 3.6.3

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzAwNTU0YThiMWVmNzIyNDQyY2VkMDVmNTAxY2U3NGI3NDFlODE4Yg==
4
+ MjM0ODgwYzY2M2ZkNGUwMDljMGIyNWU3NDRiMDkwNzViMjk1OTI3Zg==
5
5
  data.tar.gz: !binary |-
6
- ODNmZjI4ZjM2YzBhMGVhMTMyYWViMDM3OGI4NGQ5ZTI2ZjUwNzNmMw==
6
+ YTlhMTJiY2Q5MWQ5MThjOGY0M2YwNmVlNTgwMzU4Y2MzOGJjYjY5Ng==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YmRkMzY0ZGE4YzY5ZmU2ODdhMTZmYTFiNjQ2MTQ2MWI3MzQ4MGNiOTZkZDhh
10
- OTIzYTRiYWIwMjYzNTE3NmI0MzFiYzdlNmRlZTljOWMyNWE2NjQ4ZDA2YzNh
11
- NWExYzkzNDcwNTk1OTM2YmU0ZTQ2NDY0OWU5YmE0NmUwNGM2NGU=
9
+ NmM0MWE2NmMxNDgwOTJmYmY1YjQ1ZGYzMDY4ODRlMTBiMDFkZmM3ODM0ODVm
10
+ NzM2YmI5MmVlNzQ0YTE1ODNjNTIyNWQ1M2RmNjBhZTdkMTMxOTBlNDlmZGVk
11
+ YjEzZjA4NjI5Y2MyODIyNTYwY2ViMDNlOWFiYTJhYTBiZGVhZGI=
12
12
  data.tar.gz: !binary |-
13
- ZTRiYTAzYTA2OWZjZjNkYTlmMTY4ZGQxZmM2NzNlMGVmYWU3N2M3MGUxZDE5
14
- YmNkYmUyMDE4MmY4NWU1MmJhYWU3MTUyOWM2MzJhMmNjMjNlYTlmOGNiNGU3
15
- YjBmOGUxZDg5YjkyYzNmYjQxNTA1YmIwYmNmMWIwMmJiNGFkZjA=
13
+ Y2Q3ZjJkM2EzNTdmOWUxNjBmNGQ4NGZhODYwZjJjMjhhNzAzY2RiMzMzYjc2
14
+ ZWQ3OWY4YTIwMzI1NWY1NzUxZGNiNTc2NDE1NTEyMmM0Y2ZiNWI3MWNjOTY4
15
+ YTdlYjY4MTdiM2UwYWU5NDY2MGUyYmRhODkyOGExODZjZTE0YmM=
@@ -0,0 +1,70 @@
1
+ nanoc Architecture
2
+ ==================
3
+
4
+ Independent
5
+ -----------
6
+
7
+ * Context
8
+ * DirectedGraph
9
+ * NotificationCenter
10
+ * PluginRegistry
11
+ * Memoization
12
+
13
+ Interactors
14
+ -----------
15
+
16
+ * Compiler
17
+
18
+ Entities
19
+ --------
20
+
21
+ * Site
22
+ * Item
23
+ * ItemRep
24
+ * Layout
25
+ * Rule
26
+ * RulesCollection
27
+ * CodeSnippet
28
+ * Configuration
29
+
30
+ Stores
31
+ ------
32
+
33
+ * DataSource
34
+ * FilesystemDataSource
35
+ * RulesStore
36
+ * FilesystemRulesStore + CompilerDSL
37
+ * SnapshotStore
38
+ * InMemorySnapshotStore
39
+ * SQLite3SnapshotStore
40
+
41
+ ### Ugly
42
+
43
+ * ChecksumStore
44
+ * CompiledContentCache
45
+ * RuleMemoryStore
46
+
47
+ Meh
48
+ ---
49
+
50
+ * proxies
51
+ * ItemRepProxy (used in Rules)
52
+ * ItemRepRecorderProxy (used in determining Rules changes)
53
+ * DependencyTracker
54
+ * Filter
55
+ * OutdatednessChecker
56
+ * RuleContext
57
+ * RuleMemoryCalculator
58
+ * Store
59
+
60
+ ### Not classes
61
+
62
+ * OutdatednessReasons
63
+ * Errors
64
+
65
+ ### Extensions
66
+
67
+ * ArrayExtensions
68
+ * HashExtensions
69
+ * PathnameExtensions
70
+ * StringExtensions
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nanoc (3.6.2)
4
+ nanoc (3.6.3)
5
5
  cri (~> 2.3)
6
6
 
7
7
  GEM
@@ -16,95 +16,104 @@ GEM
16
16
  coffee-script (2.2.0)
17
17
  coffee-script-source
18
18
  execjs
19
- coffee-script-source (1.5.0)
19
+ coffee-script-source (1.6.2)
20
20
  colored (1.2)
21
21
  commonjs (0.2.6)
22
22
  cri (2.3.0)
23
23
  colored (>= 1.2)
24
24
  erubis (2.7.0)
25
- excon (0.18.5)
25
+ excon (0.20.1)
26
26
  execjs (1.4.0)
27
27
  multi_json (~> 1.0)
28
- fog (1.9.0)
28
+ ffi (1.8.1)
29
+ fog (1.10.1)
29
30
  builder
30
- excon (~> 0.14)
31
+ excon (~> 0.20)
31
32
  formatador (~> 0.2.0)
32
33
  mime-types
33
34
  multi_json (~> 1.0)
34
- net-scp (~> 1.0.4)
35
+ net-scp (~> 1.1)
35
36
  net-ssh (>= 2.1.3)
36
37
  nokogiri (~> 1.5.0)
37
38
  ruby-hmac
38
39
  formatador (0.2.4)
39
- haml (4.0.0)
40
+ haml (4.0.2)
40
41
  tilt
41
42
  handlebars (0.4.0)
42
43
  commonjs (~> 0.2.3)
43
44
  therubyracer (~> 0.11.1)
44
45
  json (1.7.7)
45
- kramdown (0.14.2)
46
- less (2.2.2)
46
+ kramdown (1.0.1)
47
+ less (2.3.2)
47
48
  commonjs (~> 0.2.6)
48
- libv8 (3.11.8.13)
49
- listen (0.7.3)
49
+ libv8 (3.11.8.17)
50
+ listen (1.0.2)
51
+ rb-fsevent (>= 0.9.3)
52
+ rb-inotify (>= 0.9)
53
+ rb-kqueue (>= 0.2)
50
54
  markaby (0.7.2)
51
55
  builder (>= 2.0.0)
52
56
  maruku (0.6.1)
53
57
  syntax (>= 1.0.0)
54
58
  metaclass (0.0.1)
55
59
  method_source (0.8.1)
56
- mime-types (1.21)
57
- minitest (4.6.1)
58
- mocha (0.13.2)
60
+ mime-types (1.23)
61
+ minitest (4.7.3)
62
+ mocha (0.13.3)
59
63
  metaclass (~> 0.0.1)
60
- multi_json (1.6.1)
64
+ multi_json (1.7.2)
61
65
  mustache (0.99.4)
62
- net-scp (1.0.4)
63
- net-ssh (>= 1.99.1)
64
- net-ssh (2.6.5)
65
- nokogiri (1.5.6)
66
- pandoc-ruby (0.6.0)
66
+ net-scp (1.1.0)
67
+ net-ssh (>= 2.6.5)
68
+ net-ssh (2.6.7)
69
+ nokogiri (1.5.9)
70
+ pandoc-ruby (0.6.1)
67
71
  posix-spawn (0.3.6)
68
- pry (0.9.12)
72
+ pry (0.9.12.1)
69
73
  coderay (~> 1.0.5)
70
74
  method_source (~> 0.8)
71
75
  slop (~> 3.4)
72
- pygments.rb (0.4.2)
76
+ pygments.rb (0.5.0)
73
77
  posix-spawn (~> 0.3.6)
74
78
  yajl-ruby (~> 1.1.0)
75
79
  rack (1.5.2)
76
80
  rainpress (1.0)
77
- rake (10.0.3)
78
- rdiscount (2.0.7.1)
79
- rdoc (4.0.0)
81
+ rake (10.0.4)
82
+ rb-fsevent (0.9.3)
83
+ rb-inotify (0.9.0)
84
+ ffi (>= 0.5.0)
85
+ rb-kqueue (0.2.0)
86
+ ffi (>= 0.5.0)
87
+ rdiscount (2.0.7.2)
88
+ rdoc (4.0.1)
80
89
  json (~> 1.4)
81
90
  redcarpet (2.2.2)
82
- ref (1.0.2)
91
+ ref (1.0.4)
83
92
  ruby-hmac (0.4.0)
84
93
  rubypants (0.2.0)
85
- sass (3.2.6)
86
- slim (1.3.6)
87
- temple (~> 0.5.5)
94
+ sass (3.2.8)
95
+ slim (1.3.8)
96
+ temple (~> 0.6.3)
88
97
  tilt (~> 1.3.3)
89
- slop (3.4.3)
98
+ slop (3.4.4)
90
99
  syntax (1.0.0)
91
100
  systemu (2.5.2)
92
- temple (0.5.5)
101
+ temple (0.6.4)
93
102
  therubyracer (0.11.4)
94
103
  libv8 (~> 3.11.8.12)
95
104
  ref
96
- tilt (1.3.3)
105
+ tilt (1.3.7)
97
106
  typogruby (1.0.15)
98
107
  rubypants
99
- uglifier (1.3.0)
108
+ uglifier (2.0.1)
100
109
  execjs (>= 0.3.0)
101
110
  multi_json (~> 1.0, >= 1.0.2)
102
111
  w3c_validators (1.2)
103
112
  json
104
113
  nokogiri
105
114
  yajl-ruby (1.1.0)
106
- yard (0.8.5.2)
107
- yuicompressor (1.2.0)
115
+ yard (0.8.6.1)
116
+ yuicompressor (1.2.1)
108
117
 
109
118
  PLATFORMS
110
119
  ruby
data/NEWS.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # nanoc news
2
2
 
3
+ ## 3.6.3 (2013-04-24)
4
+
5
+ Fixes:
6
+
7
+ * Added support for growlnotify on Windows (#253, #267)
8
+ * Fixed bug which caused the external links checker to ignore the query string (#279, #297)
9
+ * Removed weird treatment of `DOCTYPE`s in the `relativize_paths` filter (#296)
10
+ * Fixed CodeRay syntax coloring on Ruby 2.0
11
+ * Silenced "Could not find files for the given pattern(s)" message on Windows (#298)
12
+ * Fixed issue which could cause `output.diff` not to be generated correctly (#255, #301)
13
+ * Let filesystem and static data sources follow symlinks (#299, #302)
14
+ * Added compatibility with Listen 1.0 (#309)
15
+ * Let `#passthrough` in Rules work well with the static data source (#251) [Gregory Pakosz]
16
+ * Made timing information be more accurate (#303)
17
+
3
18
  ## 3.6.2 (2013-03-23)
4
19
 
5
20
  Fixes:
@@ -121,7 +136,7 @@ Improvements:
121
136
  * Added prune configuration to config.yaml
122
137
  * Made nanoc check for presence of nanoc in Gemfile
123
138
  * Made compile command not show identicals (use `--verbose` if you want them)
124
- * Made relativize_paths filter recognise more paths to relativize [Arnau Siches]
139
+ * Made `relativize_paths` filter recognise more paths to relativize [Arnau Siches]
125
140
  * Fixed #passthrough for items without extensions [Justin Hileman]
126
141
  * Added more IO/File proxy methods to cleaning streams
127
142
 
@@ -209,7 +224,7 @@ Extensions:
209
224
  * Made data source configuration location a bit more obvious
210
225
  * Fixed watch command under Windows
211
226
  * Made filesystem data source ignore UTF-8 BOM
212
- * Improved compatibility of colorize_syntax filter with older libxml versions
227
+ * Improved compatibility of `colorize_syntax` filter with older libxml versions
213
228
 
214
229
  ## 3.2.3 (2011-10-31)
215
230
 
@@ -221,7 +236,7 @@ Extensions:
221
236
  ## 3.2.2 (2011-09-04)
222
237
 
223
238
  * Fixed command usage printing
224
- * Made relativize_paths filter handle Windows network paths [Ruben Verborgh]
239
+ * Made `relativize_paths` filter handle Windows network paths [Ruben Verborgh]
225
240
  * Made watcher use correct configuration
226
241
  * Allowed code blocks to start with a non-language shebang line
227
242
 
@@ -262,7 +277,7 @@ Extensions:
262
277
 
263
278
  * Really fixed dependency generation between Sass partials this time
264
279
  * Updated Less filter to 2.0
265
- * Made colorize_syntax filter throw an error if pygmentize is not available
280
+ * Made `colorize_syntax` filter throw an error if pygmentize is not available
266
281
 
267
282
  ## 3.1.8 (2011-06-25)
268
283
 
@@ -359,10 +374,10 @@ Deprecated:
359
374
 
360
375
  ## 3.0.8 (2010-02-24)
361
376
 
362
- * `#atom_tag_for` now works with base_urls that contain a path [Eric Sunshine]
377
+ * `#atom_tag_for` now works with `base_url`s that contain a path [Eric Sunshine]
363
378
  * Generated root URLs in `#atom_feed` now end with a slash [Eric Sunshine]
364
379
  * Autocompiler now recognises requests to index files
365
- * `Blogging` helper now allows created_at to be a Time instance
380
+ * `Blogging` helper now allows `created_at` to be a Time instance
366
381
 
367
382
  ## 3.0.7 (2010-01-29)
368
383
 
data/TODO.md ADDED
@@ -0,0 +1,95 @@
1
+ To Do for nanoc 4.0
2
+ ===================
3
+
4
+ New
5
+ ---
6
+
7
+ * [3.x] assert that textual filter must return string
8
+ * Get rid of notification center
9
+ * Get rid of core ext
10
+ * Don't recursively clean attributes
11
+ * All stores should be pluggable
12
+
13
+ Populate in data sources
14
+ ------------------------
15
+
16
+ `Nanoc::DEFAULT_CONTENT`
17
+
18
+ all data sources are told to populate
19
+
20
+ Finding modified items
21
+ ----------------------
22
+
23
+ Data sources should be queried to find out removed, added and changed items.
24
+
25
+ Abstractions
26
+ ------------
27
+
28
+ ItemRepWriter
29
+
30
+ Item proxies
31
+ ------------
32
+
33
+ Maybe this can be implemented as decorators.
34
+
35
+ ### Core
36
+
37
+ Nanoc::Core::Item
38
+ identifier
39
+ content
40
+ attributes
41
+
42
+ Nanoc::Core::ItemRep
43
+ item_identifier
44
+ name
45
+
46
+ Nanoc::Core::ItemRepSnapshot
47
+ item_identifier
48
+ item_rep_name
49
+ name
50
+ content
51
+
52
+ ### Proxies
53
+
54
+ Nanoc::???::Item
55
+ site
56
+ children
57
+ parent
58
+ reps
59
+ compiled_content
60
+
61
+ Nanoc::???::ItemRep
62
+ item_identifier
63
+ item (weak ref?)
64
+ compiled_content
65
+
66
+ Nanoc::???::ItemRepSnapshot
67
+ item_identifier
68
+ item_rep_name
69
+ item_rep (weak ref?)
70
+
71
+ Dependency types
72
+ ----------------
73
+
74
+ * Item -> Item
75
+ * Item -> All items (@items.select { ... })
76
+ * Item -> Pattern (@item.children)
77
+
78
+ Query language
79
+ --------------
80
+
81
+ Is this strictly necessary? Maybe create an @items proxy that detects whether #find, #detect, #select, #each, ... are called. #[] would create a direct dependency. @items.children would also create a dependency on all its children and possible future ones (pattern dependency?).
82
+
83
+ ### Capabilities
84
+
85
+ * @item.parent
86
+ * @item.children
87
+ * @items.select{ |i| i[:kind] == 'article' }
88
+
89
+ ### Examples
90
+
91
+ @items.query(:identifier, equals: '/foo/')
92
+ @items.query(:identifier, starts_with: '/reviews/')
93
+ @items.query(
94
+
95
+ -> how to distinguish between identifier and attributes?
@@ -3,7 +3,7 @@
3
3
  module Nanoc
4
4
 
5
5
  # The current nanoc version.
6
- VERSION = '3.6.2'
6
+ VERSION = '3.6.3'
7
7
 
8
8
  # @return [String] A string containing information about this nanoc version
9
9
  # and its environment (Ruby engine and version, Rubygems version if any).
@@ -184,7 +184,11 @@ module Nanoc
184
184
 
185
185
  # Create routing rule
186
186
  routing_block = proc do
187
- item[:extension].nil? ? item.identifier.chop : item.identifier.chop + '.' + item[:extension]
187
+ # This is a temporary solution until an item can map back to its data
188
+ # source.
189
+ # ATM item[:content_filename] is nil for items coming from the static
190
+ # data source.
191
+ item[:extension].nil? || (item[:content_filename].nil? && item.identifier =~ %r{#{item[:extension]}/$}) ? item.identifier.chop : item.identifier.chop + '.' + item[:extension]
188
192
  end
189
193
  routing_rule = Rule.new(identifier_to_regex(identifier), rep_name, routing_block, :snapshot_name => :last)
190
194
  @rules_collection.add_item_routing_rule(routing_rule)
@@ -64,8 +64,6 @@ module Nanoc::CLI
64
64
  puts "done"
65
65
  end
66
66
 
67
- protected
68
-
69
67
  # @return [Boolean] true if debug output is enabled, false if not
70
68
  #
71
69
  # @see Nanoc::CLI.debug?
@@ -73,6 +71,8 @@ module Nanoc::CLI
73
71
  Nanoc::CLI.debug?
74
72
  end
75
73
 
74
+ protected
75
+
76
76
  # Sets the data source's VCS to the VCS with the given name. Does nothing
77
77
  # when the site's data source does not support VCSes (i.e. does not
78
78
  # implement #vcs=).