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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eb962b716663c8038be0fd8d1feb776fb9599c3f
4
- data.tar.gz: d61b007e06a669d9ab66ec2ad48956d8398e4b88
3
+ metadata.gz: dd6c3796d788f2eb0766ea43701aa2410077c888
4
+ data.tar.gz: 10e441b56cfa5086ceb663a4767a9e7e7b2e84e9
5
5
  SHA512:
6
- metadata.gz: b72b8e142902a804886ea31f2f8b80b03cb258ee685b3814a07088792d7a51ad4c0a09007d1e76463d2f8ba46374e116d136189b617eb06cfabf61cf5ab76ab7
7
- data.tar.gz: f1a36cb786567a7e7f0c2d306bce3293888fc041be05e2314d3c49a95237a302a525286a60e7d706f9b1ef4d10e41adde7d4126d6031bbfd8a8e3b29549a4d7a
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"
@@ -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: #{@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.relPath}#,#{doc_info.title}>>",
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.srcFile} <<#{d.srcFile},details>>\n"
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.srcFile}
262
+ === #{d.srcFile_utf8}
249
263
 
250
264
  Source file::
251
265
 
252
- #{d.srcFile}
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.srcFile}
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.srcFile.to_s).each do |i|
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] = backend_attribs
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
 
@@ -1,3 +1,3 @@
1
1
  module Giblish
2
- VERSION = "0.2.10".freeze
2
+ VERSION = "0.2.11".freeze
3
3
  end
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.10
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: 2017-11-06 00:00:00.000000000 Z
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: git
42
+ name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '1.3'
62
- type: :runtime
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: '1.3'
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.2
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