jekyll_asciidoctor_pdf 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c7baeda17a015c813d1081ac35e2241af1f6fd722af24a2bbfd45a5067737d5
|
4
|
+
data.tar.gz: 8e0a31816601b5241e1fb0f95945af92853d9b9fbcea4ac077e767174f01bf02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e43bc13d66a6b2513e76f7fe731b9b9a607dd0db369f9f63e0229c228d9bd8adbaa34d4d9c5a9bd1d687dc54e768ea04bea74ad02a690fd873052f27b11b9dd
|
7
|
+
data.tar.gz: a332b9b64a1ae676252cd75d0863244c7afae34c75db5801bc7b0d3f4de55eed06aa81475344c83d65a40eccb6669e39aa0c16870d77944202d84e8fe8225888
|
@@ -8,6 +8,16 @@ YAML_FRONT_MATTER_REGEXP = /\A(---\s*\n.*?\n?)^((---|\.\.\.)\s*$\n?)/m
|
|
8
8
|
|
9
9
|
module JekyllAsciidoctorPdf
|
10
10
|
class ADoc
|
11
|
+
def self.getAuthorsList(file)
|
12
|
+
names = %x[ git log --pretty=format:"%an" #{file} | sort | uniq ]
|
13
|
+
# last_commit_date can be nil iff the file was not committed.
|
14
|
+
if (names.nil? || names.empty?)
|
15
|
+
return 'NetApp'
|
16
|
+
end
|
17
|
+
|
18
|
+
return names.split(/\n+/).join(', ')
|
19
|
+
end
|
20
|
+
|
11
21
|
##
|
12
22
|
# Generate a PDF of an individual page
|
13
23
|
#
|
@@ -34,8 +44,9 @@ module JekyllAsciidoctorPdf
|
|
34
44
|
filename = File.basename(file,'.*') + '.pdf'
|
35
45
|
filename_path = output_path
|
36
46
|
base_path = File.dirname(file)
|
47
|
+
authors = getAuthorsList(file)
|
37
48
|
|
38
|
-
generateBookTypePdf(filename, filename_path, product_name, title, base_path, stream_adoc, parameters, cover_page, theme_pdf, revision)
|
49
|
+
generateBookTypePdf(filename, filename_path, product_name, title, base_path, stream_adoc, parameters, cover_page, theme_pdf, revision, authors)
|
39
50
|
|
40
51
|
yield(front_matter, stream_adoc) if block_given?
|
41
52
|
end
|
@@ -63,10 +74,10 @@ module JekyllAsciidoctorPdf
|
|
63
74
|
# e.i image:http://example.org/image.png
|
64
75
|
# (we may want to block this feature is too expensive)
|
65
76
|
#
|
66
|
-
def self.generateBookTypePdf(filename, filename_path, product_name, title, base_path, stream_adoc, parameters, cover_page, theme_pdf, revision)
|
77
|
+
def self.generateBookTypePdf(filename, filename_path, product_name, title, base_path, stream_adoc, parameters, cover_page, theme_pdf, revision, authors)
|
67
78
|
|
68
79
|
Asciidoctor.convert(
|
69
|
-
getFullsiteTemplate(title, product_name, stream_adoc, parameters, cover_page, theme_pdf, revision),
|
80
|
+
getFullsiteTemplate(title, product_name, stream_adoc, parameters, cover_page, theme_pdf, revision, authors),
|
70
81
|
backend: 'pdf',
|
71
82
|
doctype: 'book',
|
72
83
|
to_file: filename,
|
@@ -83,10 +94,14 @@ module JekyllAsciidoctorPdf
|
|
83
94
|
#
|
84
95
|
# TODO: Add more configuracion
|
85
96
|
#
|
86
|
-
def self.getFullsiteTemplate(title, product_name, fullsite, parameters, cover_page, theme_pdf, revision)
|
97
|
+
def self.getFullsiteTemplate(title, product_name, fullsite, parameters, cover_page, theme_pdf, revision, authors)
|
87
98
|
fullsite_config = parameters['fullsite']
|
88
99
|
|
89
|
-
|
100
|
+
if (authors.nil?)
|
101
|
+
authors_s = fullsite_config['authors']
|
102
|
+
else
|
103
|
+
authors_s = authors
|
104
|
+
end
|
90
105
|
|
91
106
|
if (revision.nil?)
|
92
107
|
revision_s = DateTime.now.strftime('%m/%d/%Y')
|
@@ -96,14 +111,13 @@ module JekyllAsciidoctorPdf
|
|
96
111
|
|
97
112
|
text = <<~TEXT
|
98
113
|
= #{title} : #{product_name}
|
99
|
-
#{
|
114
|
+
#{authors_s}
|
100
115
|
#{revision_s}
|
101
116
|
:doctype: book
|
102
117
|
:experimental:
|
103
118
|
:reproducible:
|
104
119
|
:icons: font
|
105
120
|
:listing-caption: Listing
|
106
|
-
:sectnums:
|
107
121
|
:imagesdir: ./media/
|
108
122
|
:toc:
|
109
123
|
:toclevels: 2
|
@@ -62,7 +62,7 @@ module JekyllAsciidoctorPdf
|
|
62
62
|
@theme_pdf = theme_pdf
|
63
63
|
|
64
64
|
@section_output_path = File.join(output_path,name)
|
65
|
-
@sidebar_output_path = File.join(output_path,'/fullsite')
|
65
|
+
@sidebar_output_path = File.join(output_path,'/fullsite-' + name)
|
66
66
|
|
67
67
|
FileUtils::mkdir_p(section_output_path)
|
68
68
|
FileUtils::mkdir_p(sidebar_output_path)
|
@@ -139,17 +139,18 @@ module JekyllAsciidoctorPdf
|
|
139
139
|
node.add_content(":leveloffset: -1 \n")
|
140
140
|
filename = node.title.gsub(/[^0-9A-Z]/i, '_') + '.pdf'
|
141
141
|
|
142
|
-
JekyllAsciidoctorPdf::ADoc.generateBookTypePdf(filename, section_output_path, product_name, node.title, base_path, node.content, parameters, cover_page, theme_pdf,nil)
|
142
|
+
JekyllAsciidoctorPdf::ADoc.generateBookTypePdf(filename, section_output_path, product_name, node.title, base_path, node.content, parameters, cover_page, theme_pdf,nil, nil)
|
143
143
|
else
|
144
144
|
# This is the root of the sidebar
|
145
145
|
# WARNING: We are assuming too much!. We are getting the title from the first child
|
146
146
|
first_child = children[0];
|
147
147
|
title = first_child['title']
|
148
148
|
|
149
|
-
filename = File.basename(file).ext('.pdf')
|
149
|
+
#filename = File.basename(file).ext('.pdf')
|
150
|
+
filename = title.gsub(/[^0-9A-Z]/i, '_') + '.pdf'
|
150
151
|
filename_path = sidebar_output_path
|
151
152
|
|
152
|
-
JekyllAsciidoctorPdf::ADoc.generateBookTypePdf(filename, filename_path, product_name, title, base_path, node.content, parameters, cover_page, theme_pdf,nil)
|
153
|
+
JekyllAsciidoctorPdf::ADoc.generateBookTypePdf(filename, filename_path, product_name, title, base_path, node.content, parameters, cover_page, theme_pdf,nil, nil)
|
153
154
|
end
|
154
155
|
|
155
156
|
return node
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll_asciidoctor_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guido Genzone
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|