eac_tools 0.86.12 → 0.87.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +43 -28
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/lib/avm/sources/base.rb +5 -0
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm-eac_asciidoctor_base0/Gemfile +8 -0
- data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +24 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +30 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +37 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +17 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +19 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +12 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +33 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +37 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +83 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +28 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +64 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +101 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +51 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +28 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +21 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +55 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +63 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +35 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +21 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb +13 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb +11 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +28 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators.rb +11 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +45 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +40 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +49 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +28 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +31 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +56 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +54 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +46 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +30 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +28 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +13 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb +11 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +7 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +9 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +13 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +72 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +25 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +22 -0
- 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
- 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
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +11 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +11 -0
- 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
- 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
- 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
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +1 -0
- 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
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +1 -0
- 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
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +8 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +11 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +16 -0
- data/sub/avm-eac_asciidoctor_base0/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +55 -0
- data/sub/avm-eac_asciidoctor_base0/spec/spec_helper.rb +8 -0
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +11 -0
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +1 -0
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +1 -0
- data/sub/avm-eac_generic_base0/Gemfile +8 -0
- data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +21 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +34 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +23 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +69 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +41 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats.rb +11 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +12 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances.rb +11 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +33 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker/runner.rb +61 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker.rb +13 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +11 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +7 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +9 -0
- data/sub/avm-eac_generic_base0/locale/en.yml +6 -0
- data/sub/avm-eac_generic_base0/locale/pt-BR.yml +6 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +7 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.source +3 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.target +3 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +7 -0
- data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_generic_base0/spec/spec_helper.rb +4 -0
- data/sub/avm-eac_webapp_base0/Gemfile +8 -0
- data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +25 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +26 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +48 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +22 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +43 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +22 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +25 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +24 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +26 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats.rb +11 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +33 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +78 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +42 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +44 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +30 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +22 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +44 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +27 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +50 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +47 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +72 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +53 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +20 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +73 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +37 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +37 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes.rb +13 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +36 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +40 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/load.rb +60 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +43 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +28 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners.rb +13 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +15 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources.rb +11 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +9 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +7 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +11 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +11 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +7 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +8 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +8 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +5 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +5 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +7 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +29 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +21 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +7 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +8 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +7 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +7 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +11 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +9 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +7 -0
- data/sub/avm-eac_webapp_base0/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +4 -0
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +11 -0
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +7 -0
- metadata +167 -20
@@ -0,0 +1,56 @@
|
|
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 Document
|
10
|
+
enable_simple_cache
|
11
|
+
enable_speaker
|
12
|
+
require_sub __FILE__, include_modules: true
|
13
|
+
common_constructor :source, :parent_document, :basename
|
14
|
+
|
15
|
+
# Absolute path to the Asciidoctor file.
|
16
|
+
#
|
17
|
+
# @return [Pathname]
|
18
|
+
def body_path
|
19
|
+
root_path.join(
|
20
|
+
::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# @return [Avm::EacAsciidoctorBase0::Instances::Build::Document]
|
25
|
+
def build_document
|
26
|
+
source.build.document(subpath)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Absolute path to the document's source root.
|
30
|
+
#
|
31
|
+
# @return [Pathname]
|
32
|
+
def root_path
|
33
|
+
source.content_directory.join(subpath)
|
34
|
+
end
|
35
|
+
|
36
|
+
# @return [Pathname]
|
37
|
+
def subpath
|
38
|
+
parent_document.if_present('.'.to_pathname) { |pd| pd.subpath.join(basename) }
|
39
|
+
end
|
40
|
+
|
41
|
+
# @return [String]
|
42
|
+
def to_s
|
43
|
+
subpath.to_path
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def children_uncached
|
49
|
+
root_path.children.select(&:directory?)
|
50
|
+
.reject { |path| path.basename.to_path == MEDIA_DIRECTORY_BASENAME }
|
51
|
+
.map { |path| self.class.new(source, self, path.basename) }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_asciidoctor_base0/instances/build'
|
4
|
+
require 'eac_cli/core_ext'
|
5
|
+
require 'os'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacAsciidoctorBase0
|
9
|
+
module Sources
|
10
|
+
module Runners
|
11
|
+
class Build
|
12
|
+
runner_with :help do
|
13
|
+
desc 'Build the project'
|
14
|
+
arg_opt '-d', '--target-dir', 'Directory to build'
|
15
|
+
bool_opt '--open', 'Show the result.'
|
16
|
+
end
|
17
|
+
|
18
|
+
def run
|
19
|
+
start_banner
|
20
|
+
build.perform
|
21
|
+
open
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
# @return [Avm::EacAsciidoctorBase0::Instances::Build]
|
27
|
+
def build_uncached
|
28
|
+
source.build(target_directory: parsed.target_dir)
|
29
|
+
end
|
30
|
+
|
31
|
+
def default_target_directory
|
32
|
+
runner_context.call(:project).root.join('build')
|
33
|
+
end
|
34
|
+
|
35
|
+
def open
|
36
|
+
return unless parsed.open?
|
37
|
+
|
38
|
+
infom "Opening \"#{open_path}\"..."
|
39
|
+
::EacRubyUtils::Envs.local.command(OS.open_file_command, open_path).system!
|
40
|
+
end
|
41
|
+
|
42
|
+
def open_path
|
43
|
+
build.root_document.body_target_path
|
44
|
+
end
|
45
|
+
|
46
|
+
def start_banner
|
47
|
+
runner_context.call(:source_banner)
|
48
|
+
infov 'Target directory', build.target_directory
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'os'
|
4
|
+
require 'eac_cli/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacAsciidoctorBase0
|
8
|
+
module Sources
|
9
|
+
module Runners
|
10
|
+
class Document
|
11
|
+
class Build
|
12
|
+
runner_with :help do
|
13
|
+
bool_opt '-O', '--open'
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
%w[build open ending].each { |p| send("run_#{p}") }
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def build_document_uncached
|
23
|
+
document.build_document
|
24
|
+
end
|
25
|
+
|
26
|
+
def run_build
|
27
|
+
build_document.perform_self
|
28
|
+
end
|
29
|
+
|
30
|
+
def run_ending
|
31
|
+
success 'Done'
|
32
|
+
end
|
33
|
+
|
34
|
+
def run_open
|
35
|
+
return unless parsed.open?
|
36
|
+
|
37
|
+
infov 'Opening', build_document.body_target_path
|
38
|
+
::EacRubyUtils::Envs.local.command(OS.open_file_command,
|
39
|
+
build_document.body_target_path).system!
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacAsciidoctorBase0
|
7
|
+
module Sources
|
8
|
+
module Runners
|
9
|
+
class Document
|
10
|
+
runner_with :help, :subcommands do
|
11
|
+
pos_arg :subpath
|
12
|
+
subcommands
|
13
|
+
end
|
14
|
+
delegate :subpath, to: :parsed
|
15
|
+
for_context :document, :subpath
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
# @return [Avm::EacAsciidoctorBase0::Sources::Document]
|
20
|
+
# @raise [KeyError]
|
21
|
+
def document_uncached
|
22
|
+
source.document(subpath)
|
23
|
+
end
|
24
|
+
|
25
|
+
require_sub __FILE__
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacAsciidoctorBase0
|
7
|
+
module Sources
|
8
|
+
module Runners
|
9
|
+
class Documents
|
10
|
+
runner_with :help
|
11
|
+
|
12
|
+
def run
|
13
|
+
infov 'Documents', documents.count
|
14
|
+
documents.each do |document|
|
15
|
+
infov ' * ', document
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def documents_uncached
|
22
|
+
source.documents
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_asciidoctor_base0/file_formats/base'
|
4
|
+
|
5
|
+
RSpec.describe Avm::EacAsciidoctorBase0::FileFormats::Base do
|
6
|
+
include_examples 'avm_file_format_file_resource_name', {
|
7
|
+
'content/title' => 'Content[/]',
|
8
|
+
'content/body.adoc' => 'Content[/]',
|
9
|
+
'content/abc/title' => 'Content[/abc]',
|
10
|
+
'content/abc/body.adoc' => 'Content[/abc]',
|
11
|
+
'content/abc/sub/body.adoc' => 'Content[/abc/sub]'
|
12
|
+
}
|
13
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_asciidoctor_base0/instances/build'
|
4
|
+
|
5
|
+
RSpec.describe Avm::EacAsciidoctorBase0::Instances::Build::Document do
|
6
|
+
let(:app_director) { eac_asciidoctor_base0_stubs }
|
7
|
+
let(:build) { Avm::EacAsciidoctorBase0::Instances::Build.new(app_director.instance) }
|
8
|
+
let(:fixtures_dir) { __dir__.to_pathname.join('document_spec_files') }
|
9
|
+
let(:instance) { build_doc_child(build.root_document, :c1, :c1_1, :c1_1_1) } # rubocop:disable Naming/VariableNumber
|
10
|
+
let(:target_file) { fixtures_dir.join('pre_processed_root_body.adoc') }
|
11
|
+
let(:source) { app_director.source }
|
12
|
+
let(:doc_template) do
|
13
|
+
r = temp_dir
|
14
|
+
FileUtils.copy_entry(source.root_document.root_path, r)
|
15
|
+
r
|
16
|
+
end
|
17
|
+
|
18
|
+
before do
|
19
|
+
copy_template_hash(
|
20
|
+
source.root_document,
|
21
|
+
c1: {
|
22
|
+
c1_1: { # rubocop:disable Naming/VariableNumber
|
23
|
+
c1_1_1: { # rubocop:disable Naming/VariableNumber
|
24
|
+
c1_1_1_1: {}, # rubocop:disable Naming/VariableNumber
|
25
|
+
c1_1_1_2: {} # rubocop:disable Naming/VariableNumber
|
26
|
+
},
|
27
|
+
c1_1_2: { # rubocop:disable Naming/VariableNumber
|
28
|
+
c1_1_2_1: {}, # rubocop:disable Naming/VariableNumber
|
29
|
+
c1_1_2_2: {} # rubocop:disable Naming/VariableNumber
|
30
|
+
}
|
31
|
+
}
|
32
|
+
},
|
33
|
+
c2: {
|
34
|
+
c2_1: {} # rubocop:disable Naming/VariableNumber
|
35
|
+
}
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
it do
|
40
|
+
expect(instance.pre_processed_body_source_content).to eq(target_file.read)
|
41
|
+
end
|
42
|
+
|
43
|
+
# @return [Avm::EacAsciidoctorBase0::Sources::Document]
|
44
|
+
def copy_template_doc(parent, basename)
|
45
|
+
parent.assert_argument(Avm::EacAsciidoctorBase0::Sources::Document, 'parent')
|
46
|
+
|
47
|
+
root_target = parent.root_path.join(basename.to_s)
|
48
|
+
FileUtils.copy_entry(doc_template, root_target)
|
49
|
+
root_target.join('title').write(root_target.basename.to_path)
|
50
|
+
Avm::EacAsciidoctorBase0::Sources::Document.new(parent.source, parent,
|
51
|
+
root_target.basename)
|
52
|
+
end
|
53
|
+
|
54
|
+
# @return [Array<Avm::EacAsciidoctorBase0::Sources::Document>]
|
55
|
+
def copy_template_hash(parent, hash)
|
56
|
+
parent.assert_argument(Avm::EacAsciidoctorBase0::Sources::Document, 'parent')
|
57
|
+
hash.assert_argument(Hash, 'hash')
|
58
|
+
|
59
|
+
hash.map do |k, v|
|
60
|
+
r = copy_template_doc(parent, k)
|
61
|
+
copy_template_hash(r, v)
|
62
|
+
r
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# @return [Avm::EacAsciidoctorBase0::Instances::Build::Document]
|
67
|
+
def build_doc_child(build_doc, *path)
|
68
|
+
basename = path.shift.to_s
|
69
|
+
r = build_doc.child!(basename)
|
70
|
+
path.any? ? build_doc_child(r, *path) : r
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
:stylesheet: ../../../../theme/main.css
|
2
|
+
= c1_1_1
|
3
|
+
The Author <theauthor@example.net>
|
4
|
+
:Author Initials: T.A.
|
5
|
+
:toc: left
|
6
|
+
:icons:
|
7
|
+
:numbered:
|
8
|
+
:source-highlighter: rouge
|
9
|
+
:website: https://www.example.net
|
10
|
+
|
11
|
+
[.normal]
|
12
|
+
link:../../../index.html[Home] » link:../../index.html[c1] » link:../index.html[c1_1] » link:index.html[c1_1_1]
|
13
|
+
|
14
|
+
== Child Documents
|
15
|
+
|
16
|
+
* link:c1_1_1_1/index.html[c1_1_1_1]
|
17
|
+
* link:c1_1_1_2/index.html[c1_1_1_2]
|
18
|
+
|
19
|
+
== First Section
|
20
|
+
|
21
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sapien.
|
22
|
+
|
23
|
+
== Second Section
|
24
|
+
|
25
|
+
Nam faucibus quis dui at laoreet. Pellentesque ut sapien est.
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_asciidoctor_base0/instances/build'
|
4
|
+
require 'eac_fs/comparator'
|
5
|
+
|
6
|
+
RSpec.describe Avm::EacAsciidoctorBase0::Instances::Build do
|
7
|
+
let(:app_director) { eac_asciidoctor_base0_stubs }
|
8
|
+
let(:fs_comparator) { EacFs::Comparator.new.truncate_file('*.html') }
|
9
|
+
let(:instance) { described_class.new(app_director.instance) }
|
10
|
+
|
11
|
+
include_examples 'source_target_fixtures', __FILE__ do
|
12
|
+
def source_data(source_file)
|
13
|
+
FileUtils.copy_entry(source_file, app_director.source.path)
|
14
|
+
instance.perform
|
15
|
+
fs_comparator.build(instance.target_directory)
|
16
|
+
end
|
17
|
+
|
18
|
+
def target_data(target_file)
|
19
|
+
fs_comparator.build(target_file.to_pathname)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<DATA>
|
@@ -0,0 +1 @@
|
|
1
|
+
<DATA>
|
@@ -0,0 +1 @@
|
|
1
|
+
EacAsciidoctorBase0 Generated Source
|
@@ -0,0 +1 @@
|
|
1
|
+
<DATA>
|
@@ -0,0 +1 @@
|
|
1
|
+
EacAsciidoctorBase0 Generated Source
|
@@ -0,0 +1 @@
|
|
1
|
+
EacAsciidoctorBase0 Generated Source
|
@@ -0,0 +1 @@
|
|
1
|
+
<DATA>
|
@@ -0,0 +1 @@
|
|
1
|
+
<DATA>
|
@@ -0,0 +1 @@
|
|
1
|
+
__TRUNCATED__
|
@@ -0,0 +1 @@
|
|
1
|
+
<DATA>
|
@@ -0,0 +1 @@
|
|
1
|
+
__TRUNCATED__
|
@@ -0,0 +1 @@
|
|
1
|
+
__TRUNCATED__
|
@@ -0,0 +1 @@
|
|
1
|
+
__TRUNCATED__
|
data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_asciidoctor_base0/source_generators/base'
|
4
|
+
require 'avm/source_generators/runner'
|
5
|
+
|
6
|
+
RSpec.describe Avm::EacAsciidoctorBase0::SourceGenerators::Base do
|
7
|
+
include_examples 'avm_source_generated', __FILE__, 'EacAsciidoctorBase0'
|
8
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
EacAsciidoctorBase0 Generated Source
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "https://darshandsoni.com/asciidoctor-skins/css/adoc-colony.css";
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_asciidoctor_base0/instances/base'
|
4
|
+
require 'avm/eac_asciidoctor_base0/sources/base'
|
5
|
+
|
6
|
+
RSpec.describe Avm::EacAsciidoctorBase0::Sources::Base do
|
7
|
+
include_examples 'in_avm_registry', 'sources'
|
8
|
+
|
9
|
+
describe '#instance' do
|
10
|
+
let(:source) { eac_asciidoctor_base0_stubs.source }
|
11
|
+
|
12
|
+
it do
|
13
|
+
expect(source.instance).to be_a(Avm::EacAsciidoctorBase0::Instances::Base)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_config/node'
|
4
|
+
require 'avm/applications/base'
|
5
|
+
require 'avm/instances/base'
|
6
|
+
require 'eac_ruby_utils/core_ext'
|
7
|
+
|
8
|
+
module EacAsciidoctorBase0Stubs
|
9
|
+
class Director
|
10
|
+
DEFAULT_APPLICATION_ID = 'myapp'
|
11
|
+
INSTANCE_ENTRY_KEYS = {
|
12
|
+
'install.name' => 'The Author',
|
13
|
+
'install.name_initials' => 'T.A.',
|
14
|
+
'install.email' => 'theauthor@example.net',
|
15
|
+
'web.url' => 'https://www.example.net'
|
16
|
+
}.freeze
|
17
|
+
|
18
|
+
enable_simple_cache
|
19
|
+
common_constructor :rspec_example, :application_id, default: [DEFAULT_APPLICATION_ID] do
|
20
|
+
source
|
21
|
+
application
|
22
|
+
instance
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
# @return [Avm::Applications::Base]
|
28
|
+
def application_uncached
|
29
|
+
r = ::Avm::Applications::Base.new(application_id)
|
30
|
+
r.entry('stereotype').write('EacAsciidoctorBase0')
|
31
|
+
r.local_source_path_entry.value = source.path.to_path
|
32
|
+
r
|
33
|
+
end
|
34
|
+
|
35
|
+
# @return [Avm::EacAsciidoctorBase0::Instances::Base]
|
36
|
+
def instance_uncached
|
37
|
+
r = ::Avm::EacAsciidoctorBase0::Instances::Base.new(application, 'stub')
|
38
|
+
INSTANCE_ENTRY_KEYS.each { |k, v| r.entry(k).write(v) }
|
39
|
+
r
|
40
|
+
end
|
41
|
+
|
42
|
+
# @return [Avm::EacAsciidoctorBase0::Sources::Base]
|
43
|
+
def source_uncached
|
44
|
+
rspec_example.avm_source('EacAsciidoctorBase0', target_basename: application_id)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def eac_asciidoctor_base0_stubs(id = nil)
|
49
|
+
args = [self]
|
50
|
+
args << id if id.present?
|
51
|
+
::EacAsciidoctorBase0Stubs::Director.new(*args)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
EacRubyUtils::Rspec.default_setup.rspec_config.include(EacAsciidoctorBase0Stubs)
|
@@ -0,0 +1 @@
|
|
1
|
+
EacAsciidoctorBase0 Generated Source
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "https://darshandsoni.com/asciidoctor-skins/css/adoc-colony.css";
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
4
|
+
|
5
|
+
require 'avm/eac_generic_base0/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = 'avm-eac_generic_base0'
|
9
|
+
s.version = Avm::EacGenericBase0::VERSION
|
10
|
+
s.authors = ['Put here the authors']
|
11
|
+
s.summary = 'Put here de description.'
|
12
|
+
|
13
|
+
s.files = Dir['{lib,locale}/**/*']
|
14
|
+
|
15
|
+
s.required_ruby_version = '>= 2.7.0'
|
16
|
+
|
17
|
+
s.add_dependency 'avm', '~> 0.90'
|
18
|
+
s.add_dependency 'eac_ruby_utils', '~> 0.121'
|
19
|
+
|
20
|
+
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.9'
|
21
|
+
end
|