avm-eac_asciidoctor_base0 0.7.1 → 0.9.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 +4 -4
- data/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +1 -1
- data/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +28 -0
- data/lib/avm/eac_asciidoctor_base0/source_generators.rb +11 -0
- data/lib/avm/eac_asciidoctor_base0/sources/base.rb +7 -1
- data/lib/avm/eac_asciidoctor_base0/sources/build/document.rb +84 -0
- data/lib/avm/eac_asciidoctor_base0/sources/build.rb +9 -15
- data/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +2 -2
- data/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
- data/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +9 -0
- metadata +38 -9
- data/lib/avm/eac_asciidoctor_base0/sources/build/file.rb +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96b69b3f900af61453fcb4945f09b28b62df452d094c2b69ca19cc48ed3cff17
|
4
|
+
data.tar.gz: 92934bd6d39e951f350f9bf26b9b9da26b19be9ca46ed9e0c5aabda550f2e475
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b038e101b9dce5872edb410b8955c80d6b910f1f6d19c10cd4f1e99f5068d4a00031b3231fb2b929d8faf155efdb637f608fd952f6eb95b70e1dccdcf304b555
|
7
|
+
data.tar.gz: 449b9fdee9cd6853f82325ec82bbf7bbcc46e11d5d2b38b5010aef1e4d1b513b955940ddf9c69b63fa82b72da36e717a7331dcb37c66d632211b71bf7b0a3d50
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/source_generators/base'
|
4
|
+
require 'eac_templates/core_ext'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacAsciidoctorBase0
|
9
|
+
module SourceGenerators
|
10
|
+
class Base < ::Avm::SourceGenerators::Base
|
11
|
+
OPTIONS = {}.freeze
|
12
|
+
|
13
|
+
enable_speaker
|
14
|
+
enable_simple_cache
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def option_list
|
18
|
+
OPTIONS.inject(super) { |a, e| a.option(*e) }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def perform
|
23
|
+
template.apply(self, target_path)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -8,7 +8,13 @@ module Avm
|
|
8
8
|
module EacAsciidoctorBase0
|
9
9
|
module Sources
|
10
10
|
class Base < ::Avm::EacWebappBase0::Sources::Base
|
11
|
-
|
11
|
+
CONTENT_DIRECTORY_SUBPATH = ::Pathname.new('content')
|
12
|
+
CONTENT_DOCUMENT_BASENAME = ::Pathname.new('body.adoc')
|
13
|
+
MAIN_FILE_SUBPATH = CONTENT_DIRECTORY_SUBPATH.join(CONTENT_DOCUMENT_BASENAME)
|
14
|
+
|
15
|
+
def content_directory
|
16
|
+
path.join(CONTENT_DIRECTORY_SUBPATH)
|
17
|
+
end
|
12
18
|
|
13
19
|
def valid?
|
14
20
|
path.join(MAIN_FILE_SUBPATH).file?
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'asciidoctor'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacAsciidoctorBase0
|
7
|
+
module Sources
|
8
|
+
class Build
|
9
|
+
class Document
|
10
|
+
ROOT_BODY_TARGET_BASENAME = 'index'
|
11
|
+
|
12
|
+
enable_simple_cache
|
13
|
+
enable_speaker
|
14
|
+
common_constructor :build, :parent_document, :basename
|
15
|
+
|
16
|
+
# Absolute path to the Asciidoctor file.
|
17
|
+
#
|
18
|
+
# @return [Pathname]
|
19
|
+
def body_source_path
|
20
|
+
root_source_path.join(
|
21
|
+
::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Absolute path to the output of Asciidoctor's source file.
|
26
|
+
#
|
27
|
+
# @return [Pathname]
|
28
|
+
def body_target_path
|
29
|
+
build.target_directory.join(
|
30
|
+
parent_document.present? ? subpath : ROOT_BODY_TARGET_BASENAME
|
31
|
+
).basename_sub('.*') { |b| "#{b}.html" }
|
32
|
+
end
|
33
|
+
|
34
|
+
def mydebug
|
35
|
+
root_source_path.print_debug(title: 'Document')
|
36
|
+
children.count.print_debug(label: 'children.count')
|
37
|
+
body_source_path.print_debug(label: 'body_source')
|
38
|
+
body_source_path.file?.print_debug(label: 'body_source.file?')
|
39
|
+
body_target_path.print_debug(label: 'body_target')
|
40
|
+
end
|
41
|
+
|
42
|
+
def perform
|
43
|
+
perform_self
|
44
|
+
perform_children
|
45
|
+
end
|
46
|
+
|
47
|
+
def perform_self
|
48
|
+
infov 'Building', root_source_path
|
49
|
+
::Asciidoctor.convert_file(
|
50
|
+
body_source_path.to_path,
|
51
|
+
to_file: body_target_path.to_path, safe: :unsafe, mkdirs: true
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
def perform_children
|
56
|
+
children.each(&:perform)
|
57
|
+
end
|
58
|
+
|
59
|
+
def tree_documents_count
|
60
|
+
children.inject(1) { |a, e| a + e.tree_documents_count }
|
61
|
+
end
|
62
|
+
|
63
|
+
# Absolute path to the document's source root.
|
64
|
+
#
|
65
|
+
# @return [Pathname]
|
66
|
+
def root_source_path
|
67
|
+
build.source.content_directory.join(subpath)
|
68
|
+
end
|
69
|
+
|
70
|
+
def subpath
|
71
|
+
parent_document.if_present('.'.to_pathname) { |pd| pd.subpath.join(basename) }
|
72
|
+
end
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def children_uncached
|
77
|
+
root_source_path.children.select(&:directory?)
|
78
|
+
.map { |path| self.class.new(build, self, path.basename) }
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -12,20 +12,24 @@ module Avm
|
|
12
12
|
enable_simple_cache
|
13
13
|
enable_listable
|
14
14
|
lists.add_symbol :option, :target_directory
|
15
|
-
common_constructor :
|
15
|
+
common_constructor :source, :options, default: [{}] do
|
16
16
|
self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
|
17
17
|
end
|
18
18
|
|
19
19
|
SOURCE_EXTNAMES = %w[.adoc .asc].freeze
|
20
20
|
|
21
|
-
def
|
22
|
-
infov 'Files to build',
|
21
|
+
def perform
|
22
|
+
infov 'Files to build', root_document.tree_documents_count
|
23
23
|
target_directory.clear
|
24
|
-
|
24
|
+
root_document.perform
|
25
25
|
end
|
26
26
|
|
27
27
|
def default_target_directory
|
28
|
-
|
28
|
+
source.path.join('build')
|
29
|
+
end
|
30
|
+
|
31
|
+
def root_document
|
32
|
+
::Avm::EacAsciidoctorBase0::Sources::Build::Document.new(self, nil, nil)
|
29
33
|
end
|
30
34
|
|
31
35
|
def target_directory
|
@@ -33,16 +37,6 @@ module Avm
|
|
33
37
|
options[OPTION_TARGET_DIRECTORY] || default_target_directory
|
34
38
|
)
|
35
39
|
end
|
36
|
-
|
37
|
-
def source_files_uncached
|
38
|
-
r = []
|
39
|
-
project.path.children.each do |child|
|
40
|
-
next unless SOURCE_EXTNAMES.include?(child.extname)
|
41
|
-
|
42
|
-
r << ::Avm::EacAsciidoctorBase0::Sources::Build::File.new(self, child.basename)
|
43
|
-
end
|
44
|
-
r
|
45
|
-
end
|
46
40
|
end
|
47
41
|
end
|
48
42
|
end
|
@@ -17,7 +17,7 @@ module Avm
|
|
17
17
|
|
18
18
|
def run
|
19
19
|
start_banner
|
20
|
-
build.
|
20
|
+
build.perform
|
21
21
|
open
|
22
22
|
end
|
23
23
|
|
@@ -40,7 +40,7 @@ module Avm
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def open_path
|
43
|
-
build.
|
43
|
+
build.root_document.body_target_path
|
44
44
|
end
|
45
45
|
|
46
46
|
def start_banner
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-eac_asciidoctor_base0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '2.0'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.0.
|
22
|
+
version: 2.0.18
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,35 +29,47 @@ dependencies:
|
|
29
29
|
version: '2.0'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 2.0.
|
32
|
+
version: 2.0.18
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: avm-eac_webapp_base0
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
39
|
+
version: '0.12'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.12.2
|
40
43
|
type: :runtime
|
41
44
|
prerelease: false
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
43
46
|
requirements:
|
44
47
|
- - "~>"
|
45
48
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
49
|
+
version: '0.12'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.12.2
|
47
53
|
- !ruby/object:Gem::Dependency
|
48
54
|
name: eac_ruby_utils
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
50
56
|
requirements:
|
51
57
|
- - "~>"
|
52
58
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
59
|
+
version: '0.106'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.106.1
|
54
63
|
type: :runtime
|
55
64
|
prerelease: false
|
56
65
|
version_requirements: !ruby/object:Gem::Requirement
|
57
66
|
requirements:
|
58
67
|
- - "~>"
|
59
68
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
69
|
+
version: '0.106'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 0.106.1
|
61
73
|
- !ruby/object:Gem::Dependency
|
62
74
|
name: os
|
63
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,6 +104,20 @@ dependencies:
|
|
92
104
|
- - "~>"
|
93
105
|
- !ruby/object:Gem::Version
|
94
106
|
version: '3.30'
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: eac_fs
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0.14'
|
114
|
+
type: :development
|
115
|
+
prerelease: false
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0.14'
|
95
121
|
- !ruby/object:Gem::Dependency
|
96
122
|
name: eac_ruby_gem_support
|
97
123
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,13 +146,16 @@ files:
|
|
120
146
|
- lib/avm/eac_asciidoctor_base0/instances/deploy.rb
|
121
147
|
- lib/avm/eac_asciidoctor_base0/runners.rb
|
122
148
|
- lib/avm/eac_asciidoctor_base0/runners/base.rb
|
149
|
+
- lib/avm/eac_asciidoctor_base0/source_generators.rb
|
150
|
+
- lib/avm/eac_asciidoctor_base0/source_generators/base.rb
|
123
151
|
- lib/avm/eac_asciidoctor_base0/sources.rb
|
124
152
|
- lib/avm/eac_asciidoctor_base0/sources/base.rb
|
125
153
|
- lib/avm/eac_asciidoctor_base0/sources/build.rb
|
126
|
-
- lib/avm/eac_asciidoctor_base0/sources/build/
|
154
|
+
- lib/avm/eac_asciidoctor_base0/sources/build/document.rb
|
127
155
|
- lib/avm/eac_asciidoctor_base0/sources/runners.rb
|
128
156
|
- lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
|
129
157
|
- lib/avm/eac_asciidoctor_base0/version.rb
|
158
|
+
- template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc
|
130
159
|
homepage:
|
131
160
|
licenses: []
|
132
161
|
metadata: {}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'asciidoctor'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacAsciidoctorBase0
|
7
|
-
module Sources
|
8
|
-
class Build
|
9
|
-
class File
|
10
|
-
enable_speaker
|
11
|
-
common_constructor :build, :subpath
|
12
|
-
|
13
|
-
def run
|
14
|
-
infov 'Building', subpath
|
15
|
-
::Asciidoctor.convert_file source_path.to_path,
|
16
|
-
to_file: target_path.to_path, safe: :unsafe, mkdirs: true
|
17
|
-
end
|
18
|
-
|
19
|
-
def source_path
|
20
|
-
build.project.path.join(subpath)
|
21
|
-
end
|
22
|
-
|
23
|
-
def target_path
|
24
|
-
build.target_directory.join(subpath).basename_sub('.*') { |b| "#{b}.html" }
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|