giblish 0.2.10 → 0.2.11
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/data/testdocs/wellformed/source_highlighting/highlight_source.adoc +38 -0
- data/giblish.gemspec +3 -2
- data/lib/giblish/buildindex.rb +26 -19
- data/lib/giblish/core.rb +14 -2
- data/lib/giblish/version.rb +1 -1
- metadata +36 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd6c3796d788f2eb0766ea43701aa2410077c888
|
4
|
+
data.tar.gz: 10e441b56cfa5086ceb663a4767a9e7e7b2e84e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c02ebe9d9f9722b68b7245b303a9884a46397beb8188d8175b1085033a4c31e81dc013f2885221449e481ae8bc0b13f65fcd2ed1bcf91ba553a321bdcc8c4303
|
7
|
+
data.tar.gz: '000569d7dbdf197b3bfedae58ba99e326ac20e36540f57a2aead9dbe5c458a32a2babf27cef1ce8d8450aa48208f9fe50bc0e632c4223505e8c664b2dcad74ec'
|
@@ -0,0 +1,38 @@
|
|
1
|
+
= Simple Source highlighting
|
2
|
+
giblish test suite
|
3
|
+
|
4
|
+
== Purpose
|
5
|
+
|
6
|
+
To check that source code is correctly highlighted when generating docs.
|
7
|
+
|
8
|
+
== Examples
|
9
|
+
|
10
|
+
|
11
|
+
[source,ruby]
|
12
|
+
.A ruby example
|
13
|
+
....
|
14
|
+
require 'asciidoctor'
|
15
|
+
#Some comment
|
16
|
+
a = Asciidoctor::load("mydoc.txt")
|
17
|
+
....
|
18
|
+
|
19
|
+
[source,cs]
|
20
|
+
.A C# example
|
21
|
+
----
|
22
|
+
class MyFancyClass
|
23
|
+
{
|
24
|
+
///
|
25
|
+
/// Documentation goes here...
|
26
|
+
public MyFancyClass()
|
27
|
+
{
|
28
|
+
var x = DoIt();
|
29
|
+
}
|
30
|
+
}
|
31
|
+
----
|
32
|
+
|
33
|
+
[source,bash]
|
34
|
+
.A Bash Example
|
35
|
+
----
|
36
|
+
myVar="${?}"
|
37
|
+
git pull ${myVar}
|
38
|
+
----
|
data/giblish.gemspec
CHANGED
@@ -31,13 +31,14 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.require_paths = ["lib"]
|
32
32
|
|
33
33
|
spec.add_development_dependency "bundler", "~> 1.11"
|
34
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
35
34
|
spec.add_development_dependency "minitest", "~> 5.0"
|
35
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
36
36
|
|
37
37
|
# Usage: spec.add_runtime_dependency "[gem name]", [[version]]
|
38
|
-
spec.add_runtime_dependency "git", "~> 1.3"
|
39
38
|
spec.add_runtime_dependency "asciidoctor", "~>1.5", ">= 1.5.6.1"
|
40
39
|
spec.add_runtime_dependency "asciidoctor-pdf", [">= 1.5.0.alpha.16"]
|
40
|
+
spec.add_runtime_dependency "asciidoctor-rouge", ["~> 0.3"]
|
41
|
+
spec.add_runtime_dependency "git", "~> 1.3"
|
41
42
|
# needed by asciidoctor-pdf, see instructions at
|
42
43
|
# https://github.com/asciidoctor/asciidoctor-pdf/releases
|
43
44
|
spec.add_runtime_dependency "prawn-svg", "~> 0.27.1"
|
data/lib/giblish/buildindex.rb
CHANGED
@@ -22,18 +22,32 @@ class DocInfo
|
|
22
22
|
attr_accessor :doc_id
|
23
23
|
attr_accessor :purpose_str
|
24
24
|
attr_accessor :status
|
25
|
-
attr_accessor :relPath
|
26
|
-
attr_accessor :srcFile
|
27
25
|
attr_accessor :history
|
28
26
|
attr_accessor :error_msg
|
29
27
|
attr_accessor :stderr
|
28
|
+
# these two members can have encoding issues when
|
29
|
+
# running in a mixed Windows/Linux setting.
|
30
|
+
# that is why the explicit utf-8 read methods are
|
31
|
+
# provided.
|
32
|
+
attr_accessor :relPath
|
33
|
+
attr_accessor :srcFile
|
34
|
+
|
35
|
+
def relPath_utf8
|
36
|
+
return nil if @relPath.nil?
|
37
|
+
@relPath.to_s.encode("utf-8")
|
38
|
+
end
|
39
|
+
|
40
|
+
def srcFile_utf8
|
41
|
+
return nil if @srcFile.nil?
|
42
|
+
@srcFile.to_s.encode("utf-8")
|
43
|
+
end
|
30
44
|
|
31
45
|
def initialize
|
32
46
|
@history = []
|
33
47
|
end
|
34
48
|
|
35
49
|
def to_s
|
36
|
-
"DocInfo: title: #{@title} srcFile: #{
|
50
|
+
"DocInfo: title: #{@title} srcFile: #{srcFile_utf8}"
|
37
51
|
end
|
38
52
|
end
|
39
53
|
|
@@ -173,8 +187,8 @@ class BasicIndexBuilder
|
|
173
187
|
@nof_missing_titles += 1
|
174
188
|
doc_info.title = "NO TITLE FOUND (#{@nof_missing_titles}) !"
|
175
189
|
end
|
176
|
-
return "<<#{doc_info.
|
177
|
-
"<<#{Giblish.to_valid_id(doc_info.title)},details>>\n"
|
190
|
+
return "<<#{doc_info.relPath_utf8}#,#{doc_info.title}>>".encode("utf-8"),
|
191
|
+
"<<#{Giblish.to_valid_id(doc_info.title)},details>>\n".encode("utf-8")
|
178
192
|
end
|
179
193
|
|
180
194
|
# Generate an adoc string that will display as
|
@@ -206,7 +220,7 @@ class BasicIndexBuilder
|
|
206
220
|
tree_entry_converted prefix_str, d
|
207
221
|
else
|
208
222
|
# no converted file exists, show what we know
|
209
|
-
"#{prefix_str} FAIL: #{d.
|
223
|
+
"#{prefix_str} FAIL: #{d.srcFile_utf8} <<#{d.srcFile_utf8},details>>\n"
|
210
224
|
end
|
211
225
|
end
|
212
226
|
|
@@ -245,11 +259,11 @@ class BasicIndexBuilder
|
|
245
259
|
|
246
260
|
def generate_detail_fail(d)
|
247
261
|
<<~FAIL_INFO
|
248
|
-
=== #{d.
|
262
|
+
=== #{d.srcFile_utf8}
|
249
263
|
|
250
264
|
Source file::
|
251
265
|
|
252
|
-
#{d.
|
266
|
+
#{d.srcFile_utf8}
|
253
267
|
|
254
268
|
Error detail::
|
255
269
|
#{d.stderr}
|
@@ -262,15 +276,15 @@ class BasicIndexBuilder
|
|
262
276
|
def generate_detail(d)
|
263
277
|
# Generate detail info
|
264
278
|
<<~DETAIL_SRC
|
265
|
-
[[#{Giblish.to_valid_id(d.title)}]]
|
266
|
-
=== #{d.title}
|
279
|
+
[[#{Giblish.to_valid_id(d.title.encode("utf-8"))}]]
|
280
|
+
=== #{d.title.encode("utf-8")}
|
267
281
|
|
268
282
|
#{d.purpose_str}
|
269
283
|
|
270
284
|
#{generate_conversion_info d}
|
271
285
|
|
272
286
|
Source file::
|
273
|
-
#{d.
|
287
|
+
#{d.srcFile_utf8}
|
274
288
|
|
275
289
|
#{generate_history_info d}
|
276
290
|
|
@@ -344,20 +358,13 @@ class GitRepoIndexBuilder < BasicIndexBuilder
|
|
344
358
|
# Get the commit history of the doc
|
345
359
|
# (use a homegrown git log to get 'follow' flag)
|
346
360
|
gi = Giblish::GitItf.new(@git_repo_root)
|
347
|
-
gi.file_log(info.
|
361
|
+
gi.file_log(info.srcFile_utf8).each do |i|
|
348
362
|
h = DocInfo::DocHistory.new
|
349
363
|
h.date = i["date"]
|
350
364
|
h.message = i["message"]
|
351
365
|
h.author = i["author"]
|
352
366
|
info.history << h
|
353
367
|
end
|
354
|
-
# @git_repo.log(50).object("*#{info.srcFile}").each do |l|
|
355
|
-
# h = DocInfo::DocHistory.new
|
356
|
-
# h.date = l.date
|
357
|
-
# h.message = l.message
|
358
|
-
# h.author = l.author.name
|
359
|
-
# info.history << h
|
360
|
-
# end
|
361
368
|
end
|
362
369
|
|
363
370
|
protected
|
data/lib/giblish/core.rb
CHANGED
@@ -25,6 +25,13 @@ class DocConverter
|
|
25
25
|
mkdirs: true
|
26
26
|
}.freeze
|
27
27
|
|
28
|
+
# the giblish attribute defaults used if nothing else
|
29
|
+
# is required by the user
|
30
|
+
DEFAULT_ATTRIBUTES = {
|
31
|
+
"source-highlighter" => "rouge",
|
32
|
+
"xrefstyle" => "short"
|
33
|
+
}.freeze
|
34
|
+
|
28
35
|
# setup common options that are used regardless of the
|
29
36
|
# specific output format used
|
30
37
|
attr_reader :converter_options
|
@@ -40,6 +47,7 @@ class DocConverter
|
|
40
47
|
|
41
48
|
@user_style = options[:userStyle]
|
42
49
|
@converter_options = COMMON_CONVERTER_OPTS.dup
|
50
|
+
@converter_options[:attributes] = DEFAULT_ATTRIBUTES.dup
|
43
51
|
@converter_options[:backend] = options[:backend]
|
44
52
|
end
|
45
53
|
|
@@ -111,7 +119,8 @@ class DocConverter
|
|
111
119
|
# that the derived class supports
|
112
120
|
def add_backend_options(backend_opts, backend_attribs)
|
113
121
|
@converter_options = @converter_options.merge(backend_opts)
|
114
|
-
@converter_options[:attributes] =
|
122
|
+
@converter_options[:attributes] =
|
123
|
+
@converter_options[:attributes].merge(backend_attribs)
|
115
124
|
end
|
116
125
|
end
|
117
126
|
|
@@ -124,6 +133,9 @@ class HtmlConverter < DocConverter
|
|
124
133
|
def initialize(options)
|
125
134
|
super options
|
126
135
|
|
136
|
+
# require access to asciidoc-rouge
|
137
|
+
require "asciidoctor-rouge"
|
138
|
+
|
127
139
|
# handle needed assets for the styling (css et al)
|
128
140
|
html_attrib = setup_web_assets options[:webRoot]
|
129
141
|
|
@@ -151,7 +163,7 @@ class HtmlConverter < DocConverter
|
|
151
163
|
@user_style &&
|
152
164
|
attrib["stylesheet"] =
|
153
165
|
/\.(css|CSS)$/ =~ @user_style ? @user_style : "#{@user_style}.css"
|
154
|
-
|
166
|
+
Giblog.logger.debug {"stylesheet attributes: #{attrib}"}
|
155
167
|
attrib
|
156
168
|
end
|
157
169
|
|
data/lib/giblish/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: giblish
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anders Rillbert
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.11'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '10.0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '10.0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: minitest
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,19 +39,19 @@ dependencies:
|
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '5.0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
42
|
+
name: rake
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
-
type: :
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
54
|
+
version: '10.0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: asciidoctor
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,6 +86,34 @@ dependencies:
|
|
100
86
|
- - ">="
|
101
87
|
- !ruby/object:Gem::Version
|
102
88
|
version: 1.5.0.alpha.16
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: asciidoctor-rouge
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0.3'
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0.3'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: git
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.3'
|
110
|
+
type: :runtime
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '1.3'
|
103
117
|
- !ruby/object:Gem::Dependency
|
104
118
|
name: prawn-svg
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +150,7 @@ files:
|
|
136
150
|
- data/testdocs/wellformed/docidtest/docid_1.adoc
|
137
151
|
- data/testdocs/wellformed/docidtest/docid_2.adoc
|
138
152
|
- data/testdocs/wellformed/simple.adoc
|
153
|
+
- data/testdocs/wellformed/source_highlighting/highlight_source.adoc
|
139
154
|
- exe/giblish
|
140
155
|
- giblish.gemspec
|
141
156
|
- lib/giblish.rb
|
@@ -177,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
192
|
version: '0'
|
178
193
|
requirements: []
|
179
194
|
rubyforge_project:
|
180
|
-
rubygems_version: 2.5.
|
195
|
+
rubygems_version: 2.5.1
|
181
196
|
signing_key:
|
182
197
|
specification_version: 4
|
183
198
|
summary: A tool for publishing asciidoc docs stored in git repos
|