anatomy 0.3.2 → 0.4.0

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: 31b81de7167093f764f76de074673b0406c0a145
4
- data.tar.gz: 9241871b3e4413c4d572ca8be55c2e0a20daaa73
3
+ metadata.gz: 7b1b191c8d7af232bda5851a16c767b38cd07df3
4
+ data.tar.gz: b9d1d3a88e065dfb0b6fd33f6b2be71c0b26968d
5
5
  SHA512:
6
- metadata.gz: 496652092f8fb963635e6344e874295abaee45ada6f2ae8670e5a11cc1fab19ce737453d4ab2d17f58cbe4e2d912a5fe82a6908ccbe7f3df6dfa0001f69bbfd8
7
- data.tar.gz: b20bf712ea70ad5c9b1a509294737c1aae33ad260c6f5f5206298a269e4e2ec39301e2297817e40e2f4128930ee09ddc39a5e6fc06b74ec31d932a0e3ed23c34
6
+ metadata.gz: abb520c5072e23523b3ed92f8c4ab7d5ebd2291b3669810be2fd240dc8cf539c42016fb9c34dacc1f7815ce2a97918b44a422edf37fb2d012579b6bbcf52f6b2
7
+ data.tar.gz: 0421b480c9e6e726f945d80000be971c8f5e6ddcd16009c3a22848185f4d3bc4513e36508de4a262f15f78237307dab7e453a86d2aa7142e6d4bf6a24709c01e
data/lib/anatomy/base.ay CHANGED
@@ -66,11 +66,11 @@ def(section(title, *tag-names, content)):
66
66
  decode(title(title, *tag-names), content)
67
67
 
68
68
  def(include-section(path)):
69
- Atomy CodeLoader require(path) doc
69
+ Atomy CodeLoader load(path) doc
70
70
 
71
71
  def(include-sections(path)):
72
72
  Dir glob(path) collect [s]:
73
- Atomy CodeLoader require(s) doc
73
+ Atomy CodeLoader load(s) doc
74
74
 
75
75
  def(target-element(tag-name, display = nil)):
76
76
  data CollectElement new(
@@ -12,11 +12,18 @@ resolve = require("anatomy/stages/resolve")
12
12
  html = require("anatomy/renderers/html")
13
13
 
14
14
  def(load(input)):
15
- mod = Atomy CodeLoader require(input)
15
+ puts(i"#{input}: loading")
16
+ mod = Atomy CodeLoader load(input)
16
17
 
17
18
  part = mod doc
19
+
20
+ puts(i"#{input}: traversing")
18
21
  traversed = traverse over(part)
22
+
23
+ puts(i"#{input}: collecting")
19
24
  collected = collect over(traversed)
25
+
26
+ puts(i"#{input}: resolving")
20
27
  resolved = resolve over(collected)
21
28
 
22
29
  resolved
@@ -30,4 +37,5 @@ def(process(input, renderer, output = ".")):
30
37
  unless(Dir exists?(output)):
31
38
  Dir mkdir(output)
32
39
 
40
+ puts(i"#{input}: rendering")
33
41
  renderer render(part, output)
@@ -239,7 +239,12 @@ def(toc-leaf(current-part, part)):
239
239
  part parts collect &.(Self toc-leaf(current-part, _))
240
240
 
241
241
 
242
- def(render(part, out = ".")):
242
+ def(render(part, out = ".", done = Set new)):
243
+ when(done include?(part)):
244
+ return
245
+
246
+ done << part
247
+
243
248
  tags-file = i"#{Dir tmpdir}/#{part top tag name}-tags.js"
244
249
 
245
250
  unless(part parent):
@@ -252,7 +257,7 @@ def(render(part, out = ".")):
252
257
  part js-additions << tags-file
253
258
 
254
259
  -- call this early so the template can register its own assets/etc
255
- template = render-part-template(part, out)
260
+ template = render-part-template(part, out, done)
256
261
 
257
262
  class =
258
263
  if(part style properties empty?)
@@ -296,15 +301,15 @@ def(render(part, out = ".")):
296
301
  unless(part parent):
297
302
  copy-all-assets(part, out)
298
303
 
299
- def(render-part-template(part, out = ".")):
300
- (part template || Self) template-for(part, out)
304
+ def(render-part-template(part, out = ".", done = Set new)):
305
+ (part template || Self) template-for(part, out, done)
301
306
 
302
307
  def(all-part-assets(part)):
303
- assets = part assets to-a
308
+ assets = Set new(part assets)
304
309
 
305
- assets += part css-additions to-a
310
+ assets += part css-additions
306
311
 
307
- assets += part js-additions to-a
312
+ assets += part js-additions
308
313
 
309
314
  part parts collect [sub]:
310
315
  assets += all-part-assets(sub)
@@ -321,7 +326,7 @@ def(search-js-additions):
321
326
  File expand-path("../js/search.js", __FILE__)
322
327
  ])
323
328
 
324
- def(template-for(part, out)):
329
+ def(template-for(part, out, done)):
325
330
  part css-additions << File expand-path("../css/anatomy.css", __FILE__)
326
331
  part css-additions << File expand-path("../css/highlight.css", __FILE__)
327
332
 
@@ -330,7 +335,7 @@ def(template-for(part, out)):
330
335
  <div(#page):
331
336
  <div(#main):
332
337
  <div(#content):
333
- render-part(part, out)
338
+ render-part(part, out, done)
334
339
 
335
340
  <div(.search):
336
341
  <form(action = "javascript:void(0)"):
@@ -352,14 +357,14 @@ def(template-for(part, out)):
352
357
  part top parts collect [p]:
353
358
  toc-leaf(part, p)
354
359
 
355
- def(render-part(part, out = ".")):
360
+ def(render-part(part, out = ".", done = Set new)):
356
361
  <div(.section, id = i"section_#{part tag name}"):
357
362
  over(part body)
358
363
 
359
364
  if(part split-sections? && !(part inlined?))
360
365
  then:
361
366
  part parts collect [sub]:
362
- render(sub, out)
367
+ render(sub, out, done)
363
368
 
364
369
  when(part toc?):
365
370
  <ol(.toc, #table-of-contents):
@@ -367,7 +372,7 @@ def(render-part(part, out = ".")):
367
372
  toc-leaf(part, sub)
368
373
  else:
369
374
  part parts collect [sub]:
370
- render-part(sub, out)
375
+ render-part(sub, out, done)
371
376
 
372
377
  def(sync-asset-to(path, outdir)):
373
378
  if(File directory?(path))
@@ -1,3 +1,3 @@
1
1
  module Anatomy
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,38 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anatomy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Suraci
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-22 00:00:00.000000000 Z
11
+ date: 2016-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: atomy
15
- prerelease: false
16
- type: :runtime
17
15
  requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 0.6.3
19
+ version: 0.7.0
20
+ type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.6.3
26
+ version: 0.7.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: puma
29
- prerelease: false
30
- type: :runtime
31
29
  requirement: !ruby/object:Gem::Requirement
32
30
  requirements:
33
31
  - - "~>"
34
32
  - !ruby/object:Gem::Version
35
33
  version: '3.6'
34
+ type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
@@ -40,13 +40,13 @@ dependencies:
40
40
  version: '3.6'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: broomhlda
43
- prerelease: false
44
- type: :runtime
45
43
  requirement: !ruby/object:Gem::Requirement
46
44
  requirements:
47
45
  - - "~>"
48
46
  - !ruby/object:Gem::Version
49
47
  version: 0.2.0
48
+ type: :runtime
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
@@ -54,13 +54,13 @@ dependencies:
54
54
  version: 0.2.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: json_pure
57
- prerelease: false
58
- type: :runtime
59
57
  requirement: !ruby/object:Gem::Requirement
60
58
  requirements:
61
59
  - - "~>"
62
60
  - !ruby/object:Gem::Version
63
61
  version: '1.8'
62
+ type: :runtime
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
@@ -68,13 +68,13 @@ dependencies:
68
68
  version: '1.8'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- prerelease: false
72
- type: :development
73
71
  requirement: !ruby/object:Gem::Requirement
74
72
  requirements:
75
73
  - - "~>"
76
74
  - !ruby/object:Gem::Version
77
75
  version: '10.4'
76
+ type: :development
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  version: '0'
134
134
  requirements: []
135
135
  rubyforge_project: anatomy
136
- rubygems_version: 2.6.2
136
+ rubygems_version: 2.5.1
137
137
  signing_key:
138
138
  specification_version: 4
139
139
  summary: Anatomy documentation system