eac_tools 0.58.0 → 0.59.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +28 -0
  5. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +14 -10
  6. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document/media.rb +30 -0
  7. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb +1 -0
  8. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  9. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +10 -20
  10. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +1 -0
  11. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +1 -0
  12. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +11 -0
  13. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +1 -0
  14. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +11 -0
  15. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +1 -0
  16. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +11 -0
  17. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +1 -0
  18. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +1 -0
  19. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +1 -0
  20. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +1 -0
  21. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +1 -0
  22. metadata +21 -7
  23. /data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/{index.html → first.target/doc1/index.html} +0 -0
  24. /data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/{doc1.html → first.target/doc2/doc2_1/index.html} +0 -0
  25. /data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/{doc2.html → first.target/doc2/index.html} +0 -0
  26. /data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/{doc2/doc2_1.html → first.target/index.html} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff15266dd0fd06d6c50c3b3e2970122497b2de3fbfe81256f8f137b8f014b138
4
- data.tar.gz: e33174a9d250c9f677321323f6d5fc18eeb7e54b215cf1f9de606b8387efbaf6
3
+ metadata.gz: 2cb19ed074ebe2b0a6b8d0695d83159c38744eccc80c3e361d3d6b2a60c99874
4
+ data.tar.gz: fe65562b50eea39849b5a7001ce3804ac19e0df8c6fcaec8678732719130fc8d
5
5
  SHA512:
6
- metadata.gz: 8b19995fc569e17ca90ce26cb98e46e6bf0da5dfe429e97897cbe738bbfedda45f1dac6a071cb9b09c112536b26c46ceb47c21200f471c52bc159e3e4ed5317e
7
- data.tar.gz: ba05f3546c0bba6967385775acfb6cc5d3991f2833e98e02cc0e9e9d9956739ad1b00b94759a97e58d245fd6c1030df4aee950efbc6d72f77009a0b0c2a934b1
6
+ metadata.gz: 7ae8c3ac14a3bff264e300b79e19742c7254274dffbb8aa17cb4119b22b460cff527e5e971d499e6bd0adfad853fdc89c7ff418ba8af7360ca5ac1997166c401
7
+ data.tar.gz: 5d593fc1603967b5d2ad2231dad540cdd81db1c1f4f861fd12259afc0e60cfdd93f67f5248b7eef76013dc2fd57fa50dcf5628478641ff162d10da5d45f0960f
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.58.0)
4
+ eac_tools (0.59.0)
5
5
  avm (~> 0.66, >= 0.66.1)
6
- avm-eac_asciidoctor_base0 (~> 0.16)
6
+ avm-eac_asciidoctor_base0 (~> 0.17)
7
7
  avm-eac_generic_base0 (~> 0.12)
8
8
  avm-eac_latex_base0 (~> 0.3)
9
9
  avm-eac_php_base0 (~> 0.4, >= 0.4.1)
@@ -37,7 +37,7 @@ PATH
37
37
  PATH
38
38
  remote: sub/avm-eac_asciidoctor_base0
39
39
  specs:
40
- avm-eac_asciidoctor_base0 (0.16.0)
40
+ avm-eac_asciidoctor_base0 (0.17.0)
41
41
  asciidoctor (~> 2.0, >= 2.0.18)
42
42
  avm-eac_webapp_base0 (~> 0.14)
43
43
  eac_ruby_utils (~> 0.112)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.58.0'
4
+ VERSION = '0.59.0'
5
5
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'asciidoctor'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacAsciidoctorBase0
8
+ module Instances
9
+ class Build
10
+ class Document
11
+ module Media
12
+ def copy_media_directory
13
+ source_document.copy_media_directory_to(media_target_path)
14
+ end
15
+
16
+ # @return [Pathname]
17
+ def media_target_path
18
+ build.target_directory.join(
19
+ parent_document.present? ? source_document.subpath : '',
20
+ ::Avm::EacAsciidoctorBase0::Sources::Base::Document::Media::MEDIA_DIRECTORY_BASENAME
21
+ )
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -8,9 +8,9 @@ module Avm
8
8
  module Instances
9
9
  class Build
10
10
  class Document
11
- require_sub __FILE__
11
+ require_sub __FILE__, include_modules: true
12
12
 
13
- ROOT_BODY_TARGET_BASENAME = 'index'
13
+ BODY_TARGET_BASENAME = 'index.html'
14
14
 
15
15
  enable_simple_cache
16
16
  enable_speaker
@@ -20,9 +20,16 @@ module Avm
20
20
  #
21
21
  # @return [Pathname]
22
22
  def body_target_path
23
- build.target_directory.join(
24
- parent_document.present? ? source_document.subpath : ROOT_BODY_TARGET_BASENAME
25
- ).basename_sub('.*') { |b| "#{b}.html" }
23
+ build.target_directory.join(source_document.subpath).join(BODY_TARGET_BASENAME)
24
+ end
25
+
26
+ # @return [Asciidoctor::Document]
27
+ def build_body
28
+ ::Asciidoctor.convert(
29
+ pre_processed_body_source_content,
30
+ base_dir: convert_base_dir,
31
+ to_file: body_target_path.to_path, safe: :unsafe, mkdirs: true
32
+ )
26
33
  end
27
34
 
28
35
  # @return [Pathname]
@@ -37,11 +44,8 @@ module Avm
37
44
 
38
45
  def perform_self
39
46
  infov 'Building', source_document.subpath
40
- ::Asciidoctor.convert(
41
- pre_processed_body_source_content,
42
- base_dir: convert_base_dir,
43
- to_file: body_target_path.to_path, safe: :unsafe, mkdirs: true
44
- )
47
+ build_body
48
+ copy_media_directory
45
49
  end
46
50
 
47
51
  def perform_children
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'asciidoctor'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacAsciidoctorBase0
8
+ module Sources
9
+ class Base
10
+ class Document
11
+ module Media
12
+ MEDIA_DIRECTORY_BASENAME = '_media'
13
+
14
+ def copy_media_directory_to(target_directory_path)
15
+ return unless media_directory.directory?
16
+
17
+ target_directory_path.parent.mkpath
18
+ ::FileUtils.copy_entry(media_directory, target_directory_path)
19
+ end
20
+
21
+ # @return [Pathname]
22
+ def media_directory
23
+ root_path.join(MEDIA_DIRECTORY_BASENAME)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -38,6 +38,7 @@ module Avm
38
38
 
39
39
  def children_uncached
40
40
  root_path.children.select(&:directory?)
41
+ .reject { |path| path.basename.to_path == MEDIA_DIRECTORY_BASENAME }
41
42
  .map { |path| self.class.new(source, self, path.basename) }
42
43
  end
43
44
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacAsciidoctorBase0
5
- VERSION = '0.16.0'
5
+ VERSION = '0.17.0'
6
6
  end
7
7
  end
@@ -10,14 +10,9 @@ require 'eac_fs/comparator'
10
10
  ::Avm::EacAsciidoctorBase0::Instances::Base
11
11
  .new(application, 'stub')
12
12
  end
13
- let(:fixtures_dir) { __dir__.to_pathname.join('build_spec_files') }
14
13
  let(:fs_comparator) { ::EacFs::Comparator.new.truncate_file('*.html') }
15
14
  let(:instance) { described_class.new(application_instance) }
16
15
  let(:source) { avm_source('EacAsciidoctorBase0', target_basename: application.id) }
17
- let(:target_dir) { fixtures_dir }
18
- let(:main_document) do
19
- source.path.join(::Avm::EacAsciidoctorBase0::Sources::Base::MAIN_FILE_SUBPATH)
20
- end
21
16
 
22
17
  before do
23
18
  application.entry('stereotype').write('EacAsciidoctorBase0')
@@ -27,22 +22,17 @@ require 'eac_fs/comparator'
27
22
  application_instance.entry('install.name_initials').write('T.A.')
28
23
  application_instance.entry('install.email').write('theauthor@example.net')
29
24
  application_instance.entry('web.url').write('https://www.example.net')
30
- %w[doc1 doc2 doc2/doc2_1].each do |subpath|
31
- target_dir = source.content_directory.join(subpath)
32
- target_dir.mkpath
33
- ::FileUtils.cp(
34
- main_document,
35
- target_dir.join(::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME)
36
- )
37
- ::FileUtils.cp(
38
- source.root_document.title_path,
39
- target_dir.join(::Avm::EacAsciidoctorBase0::Sources::Base::Document::TITLE_BASENAME)
40
- )
41
- end
42
- instance.perform
43
25
  end
44
26
 
45
- it do
46
- expect(fs_comparator.build(instance.target_directory)).to eq(fs_comparator.build(target_dir))
27
+ include_examples 'source_target_fixtures', __FILE__ do
28
+ def source_data(source_file)
29
+ ::FileUtils.copy_entry(source_file, source.path)
30
+ instance.perform
31
+ fs_comparator.build(instance.target_directory)
32
+ end
33
+
34
+ def target_data(target_file)
35
+ fs_comparator.build(target_file.to_pathname)
36
+ end
47
37
  end
48
38
  end
@@ -0,0 +1,11 @@
1
+ == Child Documents
2
+
3
+ //#child_docs
4
+
5
+ == First Section
6
+
7
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sapien.
8
+
9
+ == Second Section
10
+
11
+ Nam faucibus quis dui at laoreet. Pellentesque ut sapien est.
@@ -0,0 +1,11 @@
1
+ == Child Documents
2
+
3
+ //#child_docs
4
+
5
+ == First Section
6
+
7
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sapien.
8
+
9
+ == Second Section
10
+
11
+ Nam faucibus quis dui at laoreet. Pellentesque ut sapien est.
@@ -0,0 +1,11 @@
1
+ == Child Documents
2
+
3
+ //#child_docs
4
+
5
+ == First Section
6
+
7
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sapien.
8
+
9
+ == Second Section
10
+
11
+ Nam faucibus quis dui at laoreet. Pellentesque ut sapien est.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.58.0
4
+ version: 0.59.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.16'
39
+ version: '0.17'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.16'
46
+ version: '0.17'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: avm-eac_generic_base0
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -377,6 +377,7 @@ files:
377
377
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb
378
378
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
379
379
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb
380
+ - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb
380
381
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb
381
382
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb
382
383
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators.rb
@@ -384,6 +385,7 @@ files:
384
385
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb
385
386
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb
386
387
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
388
+ - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document/media.rb
387
389
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document/title.rb
388
390
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb
389
391
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb
@@ -394,10 +396,22 @@ files:
394
396
  - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb
395
397
  - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc
396
398
  - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb
397
- - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc1.html
398
- - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc2.html
399
- - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc2/doc2_1.html
400
- - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/index.html
399
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file
400
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file
401
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc
402
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title
403
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc
404
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file
405
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc
406
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title
407
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title
408
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file
409
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file
410
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html
411
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file
412
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html
413
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html
414
+ - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html
401
415
  - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb
402
416
  - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc
403
417
  - sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title