jekyll_asciidoctor_pdf 0.0.14

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a4b11ffb4ac2be03a16972ded5242a70584fa5cd01c7d2b89be82dd723fa1805
4
+ data.tar.gz: b2f9ab8fb396f227940e2f3bae283f2ef7c5ffd3d88f389a32877594cadf67aa
5
+ SHA512:
6
+ metadata.gz: 66de845ade0747136063df8d6021187ec0324df2749730b3f7c2afa9fdf2e6a36bb71f3a748766543b4ad9eceebb964b2a7ed3fa5a5813f5716521471716ba70
7
+ data.tar.gz: e273e68ad8847f1d4ac3f4b8264111595a41b65d2def3fdb7d5b0d3f46207ee0192ba58697cf698f76a4d129bee719bb6691690a3dce52a8525603ed5cff5a95
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.swo
11
+ *.swp
12
+ *~
@@ -0,0 +1,11 @@
1
+ sudo: false
2
+ dist: trusty
3
+ group: deprecated-2017Q4 # To fix NPM timeout errors
4
+ language: ruby
5
+ rvm:
6
+ - 2.4.3
7
+ before_install:
8
+ - gem update --system && gem install bundler && gem update bundler
9
+ script:
10
+ - bundle exec rake test
11
+ - bundle exec rake build
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ #git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in jekyll_asciidocor_pdf.gemspec
6
+ gemspec
@@ -0,0 +1,10 @@
1
+ = Jekyll PDF Generator using AsciiDoctor
2
+ :gem-name: rake_jekyll_asciidoctor_pdf
3
+ :gh-branch: master
4
+ :badge-style: flat
5
+
6
+ image:https://img.shields.io/gem/v/{gem-name}.svg?style={badge-style}[Gem Version, link="https://rubygems.org/gems/{gem-name}"]
7
+
8
+ toc::[]
9
+
10
+
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
+ end
9
+
10
+ task :default => :test
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'jekyll_asciidoctor_pdf'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,48 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'jekyll_asciidoctor_pdf/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'jekyll_asciidoctor_pdf'
9
+ spec.version = JekyllAsciidoctorPdf::VERSION
10
+ spec.authors = ['Guido Genzone']
11
+ spec.email = ['guido.genzone@netapp.com']
12
+
13
+ spec.summary = 'Rake tasks to convert *.adoc files from Jekyll to PDF using asciidoctor-pdf'
14
+ spec.description = 'Rake tasks to convert *.adoc files from Jekyll to PDF using asciidoctor-pdf'
15
+ spec.homepage = 'https://github.com/ggenzone/jekyll_asciidoctor_pdf'
16
+ spec.license = 'MIT'
17
+
18
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
19
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
20
+ #if spec.respond_to?(:metadata)
21
+ # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
22
+ #else
23
+ # raise 'RubyGems 2.0 or newer is required to protect against ' \
24
+ # 'public gem pushes.'
25
+ #end
26
+
27
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
+ f.match(%r{^(test|spec|features)/})
29
+ end
30
+ spec.bindir = 'exe'
31
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ['lib']
33
+
34
+ spec.required_ruby_version = '>= 2.0'
35
+
36
+ spec.add_development_dependency 'bundler', '~> 2.1.4'
37
+ spec.add_development_dependency 'minitest', '~> 5.0'
38
+ spec.add_development_dependency 'rubocop', '~> 0.52'
39
+
40
+ #spec.add_runtime_dependency 'rake', '>= 12.3.3'
41
+
42
+ #We shoudn't use this version for a security issue
43
+ spec.add_runtime_dependency 'rake', '>= 10.0'
44
+ spec.add_runtime_dependency 'fileutils', '>= 1.1'
45
+ spec.add_runtime_dependency 'safe_yaml', '>= 1.0.5'
46
+ spec.add_runtime_dependency 'asciidoctor-pdf', '>= 1.5.1'
47
+
48
+ end
@@ -0,0 +1,13 @@
1
+ require 'yaml'
2
+ require 'jekyll_asciidoctor_pdf/version'
3
+ require 'jekyll_asciidoctor_pdf/commands'
4
+
5
+
6
+ # JekyllAsciidoctorPdf
7
+ #
8
+ # Empty module being initialized.
9
+ # This RubyGem holds examples of how to make Rake tasks for Rake using a
10
+ # RubyGem and some custom stuff. It helps clean up the Rakefile later.
11
+ module JekyllAsciidoctorPdf
12
+
13
+ end
@@ -0,0 +1,368 @@
1
+ require 'rake'
2
+ require 'rake/tasklib'
3
+ require 'tmpdir'
4
+
5
+ require 'yaml'
6
+ require 'fileutils'
7
+ require 'asciidoctor-pdf'
8
+ require 'asciidoctor'
9
+ require 'jekyll_asciidoctor_pdf/tree'
10
+
11
+
12
+ # Do not touch, this REGEXP is taken from Jekyll source code
13
+ YAML_FRONT_MATTER_REGEXP = /\A(---\s*\n.*?\n?)^((---|\.\.\.)\s*$\n?)/m
14
+
15
+
16
+ module JekyllAsciidoctorPdf
17
+
18
+
19
+ class BuildTask < ::Rake::TaskLib
20
+
21
+ ##
22
+ # @private
23
+ # Defines attribute accessor with optional default value.
24
+ # When attribute's value is a +Proc+ with arity 0, then the attribute
25
+ # reader calls it and returns the result.
26
+ #
27
+ # @param attr_name [#to_s] name of the attribute to define.
28
+ # @param default_value [Object] the default value (optional).
29
+ # @yield When the block is given, then it's used as a default value.
30
+ # It takes precedence over the +default_value+. It's evaluated in an
31
+ # instance context.
32
+ def self.callable_attr(attr_name, default_value = nil, &default_block)
33
+ var_name = "@#{attr_name}".sub('?', '').to_sym
34
+
35
+ define_method attr_name do
36
+ value = instance_variable_get(var_name)
37
+
38
+ if value.nil? && default_block
39
+ do_in_working_dir { instance_eval &default_block }
40
+ elsif value.nil?
41
+ default_value
42
+ elsif value.is_a?(Proc) && value.arity.zero?
43
+ do_in_working_dir &value
44
+ else
45
+ value
46
+ end
47
+ end
48
+
49
+ attr_writer attr_name.to_s.sub('?', '')
50
+ end
51
+
52
+ # @return [#to_sym] name of the task.
53
+ attr_accessor :name
54
+
55
+ # @return [#to_s] description of the task.
56
+ attr_accessor :description
57
+
58
+ attr_accessor :parameters
59
+
60
+ attr_reader :absolute_temp_path
61
+ attr_reader :absolute_working_path
62
+ attr_reader :absolute_source_path
63
+ attr_reader :absolute_assets_list
64
+ attr_reader :absolute_config_file
65
+ attr_reader :absolute_sidebar_file
66
+ attr_reader :absolute_output_path
67
+
68
+ attr_reader :assets_list
69
+ attr_reader :quiet
70
+
71
+ callable_attr :jekyll_config_file, '_config.yml'
72
+
73
+ def initialize(name = :build_pdf)
74
+ @name = name
75
+ @description = 'Generate PDF files for each *.adoc in the source_list '
76
+
77
+ @absolute_working_path = Dir.pwd
78
+ @absolute_temp_path = Dir.mktmpdir
79
+
80
+ @quiet = { verbose: true }
81
+
82
+ #file = __FILE__
83
+ #file = File.readlink(file) if File.symlink?(file)
84
+ #@base_dir = File.dirname(file)
85
+
86
+ #puts @base_dir
87
+
88
+ yield self if block_given?
89
+
90
+ @absolute_config_file = File.join(@absolute_working_path, jekyll_config_file);
91
+
92
+ do_jekyll_config_ok? do |t|
93
+ @absolute_source_path = File.join(@absolute_working_path, @parameters['source_path']);
94
+ @absolute_output_path = File.join(@absolute_working_path, @parameters['output_path']);
95
+ @absolute_sidebar_file = File.join(@absolute_working_path, @parameters['sidebar_file']);
96
+
97
+ files = []
98
+ FileList[@parameters['assets_list']].each do |file|
99
+ files << File.join(@absolute_working_path,file)
100
+ end
101
+
102
+ @absolute_assets_list = files
103
+
104
+ define_task!
105
+ end
106
+ end
107
+
108
+
109
+
110
+ def define_task!
111
+
112
+ desc "Print information variables"
113
+ task :info do
114
+ print_variables
115
+ end
116
+
117
+ desc "Cleaning files & directories"
118
+ task :clean do
119
+ clean
120
+ end
121
+
122
+
123
+ # We can improve it using replace inline and cp
124
+ desc "Rewriting *.adoc files and generating auxiliary files without front matter"
125
+ task :generateTempFiles => [ :clean ] do
126
+ generate_temp_files
127
+ end
128
+
129
+ desc "Generating PDFs files for each page"
130
+ task :generatePdf => [:clean, :generateTempFiles] do
131
+ generate_pdf
132
+ end
133
+
134
+ desc "Generate the fullsite.adoc file"
135
+ file 'fullsite.adoc' => ['generateTempFiles'] do
136
+
137
+ generate_fullsite_adoc
138
+ end
139
+
140
+ desc "Generate the fullsite.pdf file"
141
+ file 'fullsite.pdf' => 'fullsite.adoc' do
142
+
143
+ generate_fullsite_pdf
144
+ end
145
+
146
+
147
+ desc description
148
+ task name.to_sym => [:generatePdf, 'fullsite.pdf'] do
149
+ remove_entry absolute_temp_path
150
+ end
151
+
152
+
153
+
154
+
155
+ end
156
+
157
+ ##
158
+ # Check if Jekyll configuration is Okay
159
+ #
160
+ def do_jekyll_config_ok?
161
+ config = YAML.load_file(absolute_config_file)
162
+
163
+ assert_key(config, 'jap_config', "Expected key 'jap_config' to exist, but does not")
164
+
165
+ @parameters = config['jap_config']
166
+
167
+ assert_key(@parameters, 'source_path' , "Expected key 'jap_config.source_path' to exist, but does not")
168
+ assert_key(@parameters, 'assets_list' , "Expected key 'jap_config.assets_list' to exist, but does not")
169
+ assert_key(@parameters, 'output_path' , "Expected key 'jap_config.output_path' to exist, but does not")
170
+ assert_key(@parameters, 'sidebar_file', "Expected key 'jap_config.sidebar_file' to exist, but does not")
171
+
172
+ yield
173
+ end
174
+
175
+ def assert_key(array, key, message)
176
+ if not array.has_key? key
177
+ output(message)
178
+ exit 1
179
+ end
180
+ end
181
+
182
+
183
+ def print_variables
184
+ output("Current directory: " + absolute_working_path)
185
+ output("Jekyll Config File: " + absolute_config_file)
186
+ output("Source directory: " + absolute_source_path)
187
+ output("Assets files: " + absolute_assets_list.join("\n"))
188
+ output("Temporary directory: " + absolute_temp_path)
189
+ output("Building directory: " + absolute_output_path)
190
+ end
191
+
192
+ def clean
193
+ output_pages = File.join(absolute_output_path, '/pages')
194
+ output("Removing files & ouput directories ...")
195
+ rm_rf(absolute_output_path, quiet)
196
+ mkdir_p(absolute_output_path, quiet)
197
+ mkdir_p(output_pages,quiet)
198
+ end
199
+
200
+ def generate_temp_files
201
+ temp_pages = File.join(absolute_temp_path, '/pages')
202
+ temp_links = File.join(absolute_temp_path, '/links')
203
+
204
+ output("Creating Temporary Folders and Ouput Directories ...")
205
+ mkdir_p(temp_pages,quiet)
206
+ mkdir_p(temp_links, quiet)
207
+
208
+ FileList[absolute_assets_list].each do |file|
209
+ cp_r(file, temp_pages, quiet)
210
+ end
211
+
212
+ output("Rewriting *.adoc files and generating auxiliary files without front matter ...")
213
+ FileList[absolute_source_path + "/*.adoc"].each do |file|
214
+
215
+ filename = SafeYAML.load_file(file)
216
+ front_matter = {}
217
+
218
+ content = File.read(file)
219
+ if content =~ YAML_FRONT_MATTER_REGEXP
220
+ #content = $POSTMATCH
221
+ front_matter = SafeYAML.load(Regexp.last_match(1))
222
+ end
223
+
224
+ result = content.gsub(YAML_FRONT_MATTER_REGEXP, '')
225
+
226
+ if front_matter.key?('permalink')
227
+ output = File.join(temp_links, front_matter['permalink'] + '.adoc')
228
+ else
229
+ output = File.join(temp_links, File.basename(file))
230
+ end
231
+ # Write the auxiliary file for combine later in the full pdf file
232
+ File.write(output, result)
233
+
234
+ # Write the auxiliary file for individual pages
235
+ output = File.join(temp_pages, File.basename(file))
236
+ File.write(output, result)
237
+ end
238
+ end
239
+
240
+ def generate_pdf
241
+ output("Generating PDFs files for each page ...")
242
+ temp_pages = File.join(absolute_temp_path, '/pages')
243
+ pdf_pages = File.join(absolute_output_path, '/pages')
244
+
245
+ FileList[temp_pages + "/*.adoc"].each do |file|
246
+ Asciidoctor.convert_file file, backend: 'pdf', doctype: 'article', to_dir: pdf_pages , mkdirs: true, safe: :safe
247
+ end
248
+ end
249
+
250
+ def generate_fullsite_adoc
251
+
252
+ output("Generating fullside.adoc ...")
253
+ toc = YAML.load_file(absolute_sidebar_file)
254
+
255
+ tree = create_from_menu('Root', toc['entries'], true)
256
+
257
+ Tree.printTree(tree,2)
258
+
259
+ #tree.traverse_subtree do |node|
260
+ # children = node.children.map { |child| child.title}
261
+ # puts "#{node.title}: #{children}"
262
+ #end
263
+
264
+ temp_links = File.join(absolute_temp_path, '/links')
265
+ output = File.join(absolute_temp_path,'fullsite.adoc')
266
+ File.write(output, Tree.updateContent(tree, temp_links))
267
+
268
+ output("Full site AsciiDoc generated in [ " + output +" ]")
269
+
270
+ end
271
+
272
+ def generate_fullsite_pdf
273
+
274
+ FileList[absolute_assets_list].each do |file|
275
+ cp_r(file, absolute_temp_path, quiet)
276
+ end
277
+
278
+ output = File.join(absolute_output_path,'fullsite_template.pdf')
279
+ #cp(File.join('fullsite_template.adoc'),build_fullsite_output , quiet)
280
+ cd(absolute_temp_path)
281
+ File.open("pdf-theme.yml", "w") { |file| file.write(getPdfTheme() ) }
282
+ File.open("fullsite_template.adoc", "w") { |file| file.write(getFullsiteTemplate() ) }
283
+ #content = getFullsiteTemplate()
284
+
285
+ Asciidoctor.convert_file 'fullsite_template.adoc', backend: 'pdf', mkdirs: true, safe: :safe
286
+ cp_r('fullsite_template.pdf',absolute_output_path, quiet)
287
+ output("Full site PDF generated in [ " + output +" ]")
288
+
289
+ end
290
+
291
+ def assert(condition, message)
292
+ if not condition
293
+ output(message)
294
+ exit 1
295
+ end
296
+ end
297
+
298
+
299
+ # Print functionallity
300
+ def output(string)
301
+ puts ' * ' + string
302
+ end
303
+
304
+ def getFullsiteTemplate()
305
+ fullsite_config = parameters['fullsite']
306
+
307
+ title = fullsite_config['title']
308
+ subtitle = fullsite_config['subtitle']
309
+ authors = fullsite_config['authors']
310
+ revision = fullsite_config['revision']
311
+ background_image = fullsite_config['background_image']
312
+
313
+ text = <<~TEXT
314
+ = #{title} : #{subtitle}
315
+ #{authors}
316
+ #{revision}
317
+ :doctype: book
318
+ :experimental:
319
+ :reproducible:
320
+ :icons: font
321
+ :listing-caption: Listing
322
+ :sectnums:
323
+ :imagesdir: ./media/
324
+ :toc:
325
+ :toclevels: 2
326
+ ifeval::["{asciidoctor-version}" < "1.5.7"]
327
+ :legacy-footnoteref:
328
+ endif::[]
329
+ ifdef::backend-pdf[]
330
+ :pdf-theme: pdf-theme.yml
331
+ :title-page:
332
+ :title-page-background-image: image:#{background_image}[fit=none,pdfwidth=100%,position=top]
333
+ :source-highlighter: rouge
334
+ //:rouge-style: github
335
+ endif::[]
336
+ :chapter-label:
337
+
338
+ :leveloffset: +1
339
+ include::fullsite.adoc[]
340
+ :leveloffset: -1
341
+ TEXT
342
+
343
+ return text
344
+ end
345
+
346
+ def getPdfTheme()
347
+ return parameters['pdf_theme'].to_yaml
348
+ end
349
+
350
+ def create_from_menu(name, children, root)
351
+ root_node = Tree::Node.new(name, '','',root)
352
+ children.each do |child|
353
+ if child.key?('entries')
354
+ root_node.add_child(create_from_menu(child['title'], child['entries'],false))
355
+ else
356
+ if child['url'].downcase.start_with?('http:') or child['url'].downcase.start_with?('https:')
357
+ output("Absolute links are not supported!")
358
+ else
359
+ root_node.add_child(Tree::Node.new(child['title'],child['url'], '', false))
360
+ end
361
+ end
362
+ end
363
+
364
+ return root_node
365
+ end
366
+
367
+ end
368
+ end
@@ -0,0 +1,71 @@
1
+ require 'yaml'
2
+ require 'fileutils'
3
+
4
+ module Tree
5
+
6
+ class Node
7
+ attr_reader :children, :content, :page, :title, :root
8
+
9
+ def initialize(title, page, content, root)
10
+ @children = []
11
+ @root = root
12
+ @page = page
13
+ @title = title
14
+ @content = content
15
+ end
16
+
17
+ def add_content(content)
18
+ @content << "\n"
19
+ @content << content
20
+ end
21
+
22
+ def add_child(child)
23
+ @children << child
24
+ end
25
+
26
+
27
+ def traverse_subtree(&block)
28
+ node_queue = [self] # Step 1
29
+ until node_queue.empty? # Step 2
30
+ node = node_queue.shift # Step 3
31
+ yield node # Step 4
32
+ node_queue = node.children.concat(node_queue) # Step 5
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ def self.updateContent(tree, temp_dir)
39
+ if tree.page.length > 0
40
+ file = File.join(temp_dir, tree.page + '.adoc')
41
+ tree.add_content(File.read(file))
42
+ else
43
+ if not tree.root
44
+ tree.add_content("= " + tree.title)
45
+ end
46
+ end
47
+
48
+ if not tree.root
49
+ tree.add_content(":leveloffset: +1 \n")
50
+ end
51
+
52
+ if tree.children.length > 0
53
+ tree.children.map { |child| tree.add_content(updateContent(child, temp_dir)) }
54
+ end
55
+
56
+ if not tree.root
57
+ tree.add_content(":leveloffset: -1 \n")
58
+ end
59
+ return tree.content
60
+ end
61
+ def self.printTree(tree, level)
62
+ puts str = ("-" * level) + tree.title
63
+ if tree.children.length > 0
64
+ tree.children.map { |child| printTree(child, level + 1) }
65
+ end
66
+ end
67
+
68
+ end
69
+
70
+
71
+
@@ -0,0 +1,3 @@
1
+ module JekyllAsciidoctorPdf
2
+ VERSION = '0.0.14'
3
+ end
metadata ADDED
@@ -0,0 +1,154 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll_asciidoctor_pdf
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.14
5
+ platform: ruby
6
+ authors:
7
+ - Guido Genzone
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.1.4
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.1.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.52'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.52'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fileutils
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '1.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: safe_yaml
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.5
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.5
97
+ - !ruby/object:Gem::Dependency
98
+ name: asciidoctor-pdf
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 1.5.1
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 1.5.1
111
+ description: Rake tasks to convert *.adoc files from Jekyll to PDF using asciidoctor-pdf
112
+ email:
113
+ - guido.genzone@netapp.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - ".travis.yml"
120
+ - Gemfile
121
+ - README.adoc
122
+ - Rakefile
123
+ - bin/console
124
+ - bin/setup
125
+ - jekyll_asciidoctor_pdf.gemspec
126
+ - lib/jekyll_asciidoctor_pdf.rb
127
+ - lib/jekyll_asciidoctor_pdf/commands.rb
128
+ - lib/jekyll_asciidoctor_pdf/tree.rb
129
+ - lib/jekyll_asciidoctor_pdf/version.rb
130
+ homepage: https://github.com/ggenzone/jekyll_asciidoctor_pdf
131
+ licenses:
132
+ - MIT
133
+ metadata: {}
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '2.0'
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ requirements: []
149
+ rubyforge_project:
150
+ rubygems_version: 2.7.6
151
+ signing_key:
152
+ specification_version: 4
153
+ summary: Rake tasks to convert *.adoc files from Jekyll to PDF using asciidoctor-pdf
154
+ test_files: []