rdoc-markdown 0.4.2 → 0.5.0

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
  SHA256:
3
- metadata.gz: '04187562054e01d97859f87c42e588055506e1d0ab78669835b5f65a7e14c593'
4
- data.tar.gz: a820cbc371a8162c16d9890bac3314f8b7ae48d04b94008ceae9fd6bdcf5e97f
3
+ metadata.gz: df1f3da8afd7010551e9edbaf2f33de617d63584760e3c59120c6f3b38232f19
4
+ data.tar.gz: 82b591023300cf619230ef8786b3ae10ed3cb5d2aadae9afcd43b5da4c0528b7
5
5
  SHA512:
6
- metadata.gz: ee0a7344183d0fe1a18c73f405788992f17f049dea350fc2f9a6160796d0504eadbaf4776ffb12a5aa647e161b8ef286d52d2b471547a5de7afe529638c76216
7
- data.tar.gz: c3ac8c7a7de779783384a36474419e80bbddcf219727ed13694ad238055c7b9ca88b7d86deda629f6c1861cfe0f1d2453d20dc9ab98b5b9f46a0cbf83fe19369
6
+ metadata.gz: ac5335f705812d01d5bd24488cda5fb77ce69f8fa6b32677b13f048aab476062c0845681324f3b05de9c0965bbcc2c0f1c64dbb5e4f58dc5ee8a8c4a8906dd33
7
+ data.tar.gz: b682c9b99cace11662bff88be24560b370a2b8a084ec9fac47a854e90a0bfdfafd246e4c62d9c84055c426bcaf3572d1f69bb2e0d02aacc838a7be46e6da8b01
data/Gemfile CHANGED
@@ -8,5 +8,3 @@ gemspec
8
8
  gem "rake", "~> 13.0"
9
9
 
10
10
  gem "minitest", "~> 5.0"
11
- gem "syntax_tree"
12
- gem "syntax_tree-disable_ternary"
data/Gemfile.lock CHANGED
@@ -1,45 +1,60 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rdoc-markdown (0.4.2)
5
- erb (~> 2.0)
6
- extralite-bundle (~> 1.0)
7
- rdoc (~> 6.0)
8
- reverse_markdown (~> 2.0)
9
- unindent (~> 1.0)
4
+ rdoc-markdown (0.5.0)
5
+ csv
6
+ erb
7
+ rdoc
8
+ reverse_markdown
9
+ unindent
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- cgi (0.3.3)
15
- erb (2.2.3)
16
- cgi
17
- extralite-bundle (1.17)
18
- mini_portile2 (2.8.4)
19
- minitest (5.16.3)
20
- nokogiri (1.13.9)
21
- mini_portile2 (~> 2.8.0)
22
- racc (~> 1.4)
23
- prettier_print (1.2.1)
24
- psych (4.0.6)
14
+ cgi (0.4.1)
15
+ csv (3.3.2)
16
+ date (3.4.1)
17
+ erb (4.0.4)
18
+ cgi (>= 0.3.3)
19
+ minitest (5.25.4)
20
+ nokogiri (1.18.0-aarch64-linux-gnu)
21
+ racc (~> 1.4)
22
+ nokogiri (1.18.0-aarch64-linux-musl)
23
+ racc (~> 1.4)
24
+ nokogiri (1.18.0-arm-linux-gnu)
25
+ racc (~> 1.4)
26
+ nokogiri (1.18.0-arm-linux-musl)
27
+ racc (~> 1.4)
28
+ nokogiri (1.18.0-arm64-darwin)
29
+ racc (~> 1.4)
30
+ nokogiri (1.18.0-x86_64-darwin)
31
+ racc (~> 1.4)
32
+ nokogiri (1.18.0-x86_64-linux-gnu)
33
+ racc (~> 1.4)
34
+ nokogiri (1.18.0-x86_64-linux-musl)
35
+ racc (~> 1.4)
36
+ psych (5.2.2)
37
+ date
25
38
  stringio
26
- racc (1.6.0)
27
- rake (13.0.6)
28
- rdiscount (2.2.7)
29
- rdoc (6.4.0)
39
+ racc (1.8.1)
40
+ rake (13.2.1)
41
+ rdiscount (2.2.7.3)
42
+ rdoc (6.10.0)
30
43
  psych (>= 4.0.0)
31
- reverse_markdown (2.1.1)
44
+ reverse_markdown (3.0.0)
32
45
  nokogiri
33
- stringio (3.0.2)
34
- syntax_tree (6.1.1)
35
- prettier_print (>= 1.2.0)
36
- syntax_tree-disable_ternary (1.0.0)
46
+ stringio (3.1.2)
37
47
  unindent (1.0)
38
48
 
39
49
  PLATFORMS
40
- arm64-darwin-21
41
- arm64-darwin-22
42
- x86_64-linux
50
+ aarch64-linux-gnu
51
+ aarch64-linux-musl
52
+ arm-linux-gnu
53
+ arm-linux-musl
54
+ arm64-darwin
55
+ x86_64-darwin
56
+ x86_64-linux-gnu
57
+ x86_64-linux-musl
43
58
 
44
59
  DEPENDENCIES
45
60
  bundler (~> 2.0)
@@ -47,8 +62,6 @@ DEPENDENCIES
47
62
  rake (~> 13.0)
48
63
  rdiscount (~> 2.0)
49
64
  rdoc-markdown!
50
- syntax_tree
51
- syntax_tree-disable_ternary
52
65
 
53
66
  BUNDLED WITH
54
- 2.4.19
67
+ 2.6.1
data/README.md CHANGED
@@ -1,9 +1,6 @@
1
1
  # RDoc-Markdown
2
2
  RDoc plugin to generate markdown documentation and search index backed by sqlite database.
3
3
 
4
- ## Motivation
5
- I'm trying to depend less on software with GUI, instead using software that could be used through console. **Documentation in markdown format allows me to review documentation in console**, instead of browser or GUI software like DevDocs.
6
-
7
4
  ## Installation
8
5
 
9
6
  Install gem and add to application's Gemfile by executing:
data/example/index.csv ADDED
@@ -0,0 +1,16 @@
1
+ name,type,path
2
+ Bird,Class,Bird.md
3
+ Bird.speak,Method,Bird.md#method-i-speak
4
+ Bird.fly,Method,Bird.md#method-i-fly
5
+ Duck,Class,Duck.md
6
+ Duck.speak,Method,Duck.md#method-i-speak
7
+ Duck.rubber_ducks,Method,Duck.md#method-c-rubber_ducks
8
+ Duck.new,Method,Duck.md#method-c-new
9
+ Duck.useful?,Method,Duck.md#method-i-useful-3F
10
+ Duck.MAX_VELOCITY,Constant,Duck.md#MAX_VELOCITY
11
+ Duck.domestic,Attribute,Duck.md#attribute-i-domestic
12
+ Duck.rubber,Attribute,Duck.md#attribute-i-rubber
13
+ Object,Class,Object.md
14
+ Object.DEFAULT_DUCK_VELOCITY,Constant,Object.md#DEFAULT_DUCK_VELOCITY
15
+ Waterfowl,Module,Waterfowl.md
16
+ Waterfowl.swim,Method,Waterfowl.md#method-i-swim
@@ -5,8 +5,8 @@ gem "rdoc"
5
5
  require "pathname"
6
6
  require "erb"
7
7
  require "reverse_markdown"
8
- require "extralite"
9
8
  require "unindent"
9
+ require "csv"
10
10
 
11
11
  class RDoc::Generator::Markdown
12
12
  RDoc::RDoc.add_generator self
@@ -60,8 +60,6 @@ class RDoc::Generator::Markdown
60
60
  # Generates markdown files and search index file
61
61
 
62
62
  def generate
63
- # TODO: Make sure to set --markup parameter to 'markdown'.
64
-
65
63
  debug("Setting things up #{@output_dir}")
66
64
 
67
65
  setup
@@ -70,9 +68,9 @@ class RDoc::Generator::Markdown
70
68
 
71
69
  emit_classfiles
72
70
 
73
- debug("Generate search index in #{output_dir}/index.db")
71
+ debug("Generate index file in #{@output_dir}")
74
72
 
75
- emit_sqlite
73
+ emit_csv_index
76
74
  end
77
75
 
78
76
  private
@@ -94,62 +92,52 @@ class RDoc::Generator::Markdown
94
92
  # This class emits a search index for generated documentation as sqlite database
95
93
  #
96
94
 
97
- def emit_sqlite(name = "index.db")
98
- db = Extralite::Database.new("#{output_dir}/#{name}")
99
-
100
- db.execute <<-SQL
101
- create table contentIndex (
102
- id INTEGER PRIMARY KEY,
103
- name TEXT,
104
- type TEXT,
105
- path TEXT
106
- );
107
- SQL
108
-
109
- result = []
110
-
111
- @classes.map do |klass|
112
- result << {
113
- name: klass.full_name,
114
- type: klass.type.capitalize,
115
- path: turn_to_path(klass.full_name),
116
- }
117
-
118
- klass.method_list.each do |method|
119
- next if method.visibility.to_s.eql?("private")
120
-
121
- result << {
122
- name: "#{klass.full_name}.#{method.name}",
123
- type: "Method",
124
- path: "#{turn_to_path(klass.full_name)}##{method.aref}",
125
- }
126
- end
95
+ def emit_csv_index(name = "index.csv")
96
+ filepath = "#{output_dir}/#{name}"
127
97
 
128
- klass
129
- .constants
130
- .sort_by { |x| x.name }
131
- .each do |const|
132
- result << {
133
- name: "#{klass.full_name}.#{const.name}",
134
- type: "Constant",
135
- path: "#{turn_to_path(klass.full_name)}##{const.name}",
136
- }
137
- end
98
+ CSV.open(filepath, "wb") do |csv|
99
+ csv << %w[name type path]
100
+
101
+ @classes.map do |klass|
102
+ csv << [
103
+ klass.full_name,
104
+ klass.type.capitalize,
105
+ turn_to_path(klass.full_name),
106
+ ]
138
107
 
139
- klass
140
- .attributes
141
- .sort_by { |x| x.name }
142
- .each do |attr|
143
- result << {
144
- name: "#{klass.full_name}.#{attr.name}",
145
- type: "Attribute",
146
- path: "#{turn_to_path(klass.full_name)}##{attr.aref}",
147
- }
108
+ klass.method_list.each do |method|
109
+ next if method.visibility.to_s.eql?("private")
110
+ next if method.visibility.to_s.eql?("protected")
111
+
112
+ csv << [
113
+ "#{klass.full_name}.#{method.name}",
114
+ "Method",
115
+ "#{turn_to_path(klass.full_name)}##{method.aref}",
116
+ ]
148
117
  end
149
- end
150
118
 
151
- result.each do |rec|
152
- db.execute "insert into contentIndex (name, type, path) values (:name, :type, :path)", rec
119
+ klass
120
+ .constants
121
+ .sort_by { |x| x.name }
122
+ .each do |const|
123
+ csv << [
124
+ "#{klass.full_name}.#{const.name}",
125
+ "Constant",
126
+ "#{turn_to_path(klass.full_name)}##{const.name}",
127
+ ]
128
+ end
129
+
130
+ klass
131
+ .attributes
132
+ .sort_by { |x| x.name }
133
+ .each do |attr|
134
+ csv << [
135
+ "#{klass.full_name}.#{attr.name}",
136
+ "Attribute",
137
+ "#{turn_to_path(klass.full_name)}##{attr.aref}",
138
+ ]
139
+ end
140
+ end
153
141
  end
154
142
  end
155
143
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rdoc
4
4
  module Markdown
5
- VERSION = "0.4.2"
5
+ VERSION = "0.5.0"
6
6
  end
7
7
  end
@@ -31,11 +31,11 @@ Gem::Specification.new do |spec|
31
31
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
32
  spec.require_paths = ["lib"]
33
33
 
34
- spec.add_dependency "rdoc", "~> 6.0"
35
- spec.add_dependency "erb", "~> 2.0"
36
- spec.add_dependency "reverse_markdown", "~> 2.0"
37
- spec.add_dependency "extralite-bundle", "~> 1.0"
38
- spec.add_dependency "unindent", "~> 1.0"
34
+ spec.add_dependency "rdoc"
35
+ spec.add_dependency "erb"
36
+ spec.add_dependency "reverse_markdown"
37
+ spec.add_dependency "unindent"
38
+ spec.add_dependency "csv"
39
39
 
40
40
  spec.add_development_dependency "minitest", "~> 5.0"
41
41
  spec.add_development_dependency "rake", "~> 13.0"
metadata CHANGED
@@ -1,85 +1,84 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdoc-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stanislav (Stas) Katkov
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2023-10-15 00:00:00.000000000 Z
10
+ date: 2024-12-28 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rdoc
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '6.0'
18
+ version: '0'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: '6.0'
25
+ version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: erb
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '2.0'
32
+ version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - "~>"
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '2.0'
39
+ version: '0'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: reverse_markdown
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
- - - "~>"
44
+ - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: '2.0'
46
+ version: '0'
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
- - - "~>"
51
+ - - ">="
53
52
  - !ruby/object:Gem::Version
54
- version: '2.0'
53
+ version: '0'
55
54
  - !ruby/object:Gem::Dependency
56
- name: extralite-bundle
55
+ name: unindent
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - "~>"
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
- version: '1.0'
60
+ version: '0'
62
61
  type: :runtime
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
- - - "~>"
65
+ - - ">="
67
66
  - !ruby/object:Gem::Version
68
- version: '1.0'
67
+ version: '0'
69
68
  - !ruby/object:Gem::Dependency
70
- name: unindent
69
+ name: csv
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
- - - "~>"
72
+ - - ">="
74
73
  - !ruby/object:Gem::Version
75
- version: '1.0'
74
+ version: '0'
76
75
  type: :runtime
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
79
78
  requirements:
80
- - - "~>"
79
+ - - ">="
81
80
  - !ruby/object:Gem::Version
82
- version: '1.0'
81
+ version: '0'
83
82
  - !ruby/object:Gem::Dependency
84
83
  name: minitest
85
84
  requirement: !ruby/object:Gem::Requirement
@@ -145,8 +144,6 @@ extensions: []
145
144
  extra_rdoc_files: []
146
145
  files:
147
146
  - ".editorconfig"
148
- - ".standard.yml"
149
- - ".streerc"
150
147
  - CODE_OF_CONDUCT.md
151
148
  - Gemfile
152
149
  - Gemfile.lock
@@ -156,13 +153,8 @@ files:
156
153
  - example/Bird.md
157
154
  - example/Duck.md
158
155
  - example/Object.md
159
- - example/RDoc.md
160
- - example/RDoc/Generator.md
161
- - example/RDoc/Generator/Markdown.md
162
- - example/RDoc/Markdown.md
163
- - example/TestGenerator.md
164
156
  - example/Waterfowl.md
165
- - example/index.db
157
+ - example/index.csv
166
158
  - lib/markdown.rb
167
159
  - lib/rdoc/discover.rb
168
160
  - lib/rdoc/generator/markdown.rb
@@ -177,7 +169,6 @@ metadata:
177
169
  homepage_uri: https://poshtui.com
178
170
  source_code_uri: https://github.com/skatkov/rdoc-markdown
179
171
  changelog_uri: https://github.com/skatkov/rdoc-markdown
180
- post_install_message:
181
172
  rdoc_options: []
182
173
  require_paths:
183
174
  - lib
@@ -192,8 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
183
  - !ruby/object:Gem::Version
193
184
  version: '0'
194
185
  requirements: []
195
- rubygems_version: 3.4.20
196
- signing_key:
186
+ rubygems_version: 3.6.2
197
187
  specification_version: 4
198
188
  summary: RDoc plugin to generate markdown documentation
199
189
  test_files: []
data/.standard.yml DELETED
@@ -1,10 +0,0 @@
1
- # For available configuration options, see:
2
- # https://github.com/testdouble/standard
3
- ruby_version: 2.7
4
- parallel: true
5
- format: progress
6
-
7
- ignore:
8
- - 'docs/example.rb'
9
- - '**/*':
10
- - Style/GlobalVars
data/.streerc DELETED
@@ -1,2 +0,0 @@
1
- --print-width=100
2
- --plugins=plugin/trailing_comma,disable_ternary
@@ -1,30 +0,0 @@
1
- # class RDoc::Generator::Markdown [](#class-RDoc::Generator::Markdown) [](#top)
2
- ## Constants
3
- | Name | Description |
4
- | ---- | ----------- |
5
- | **TEMPLATE_DIR[](#TEMPLATE_DIR)** | Defines a constant for directory where templates could be found |
6
- ## Attributes
7
- ### base_dir[R] [](#attribute-i-base_dir)
8
- The path to generate files into, combined with `--op` from the options for a full path.
9
-
10
- ### classes[R] [](#attribute-i-classes)
11
- Classes and modules to be used by this generator, not necessarily displayed.
12
-
13
- ### store[R] [](#attribute-i-store)
14
- The RDoc::Store that is the source of the generated content
15
-
16
- ## Public Class Methods
17
- ### new(store, options) [](#method-c-new)
18
- Initializer method for Rdoc::Generator::Markdown
19
-
20
- ## Public Instance Methods
21
- ### class_dir() [](#method-i-class_dir)
22
- Directory where generated class HTML files live relative to the output dir.
23
-
24
- ### file_dir() [](#method-i-file_dir)
25
- this alias is required for rdoc to work
26
-
27
- ### generate() [](#method-i-generate)
28
- Generates markdown files and search index file
29
-
30
-
@@ -1,2 +0,0 @@
1
- # module RDoc::Generator [](#module-RDoc::Generator) [](#top)
2
-
@@ -1,6 +0,0 @@
1
- # module Rdoc::Markdown [](#module-Rdoc::Markdown) [](#top)
2
- ## Constants
3
- | Name | Description |
4
- | ---- | ----------- |
5
- | **VERSION[](#VERSION)** | Not documented |
6
-
data/example/RDoc.md DELETED
@@ -1,2 +0,0 @@
1
- # module Rdoc [](#module-Rdoc) [](#top)
2
-
@@ -1,10 +0,0 @@
1
- # class TestGenerator [](#class-TestGenerator) [](#top)
2
- ## Constants
3
- | Name | Description |
4
- | ---- | ----------- |
5
- | **CLASSES[](#CLASSES)** | Not documented |
6
- ## Public Instance Methods
7
- ### run_generator(file, title) { |options| ... } [](#method-i-run_generator)
8
- ### source_file() [](#method-i-source_file)
9
- ### test_generator() [](#method-i-test_generator)
10
-
data/example/index.db DELETED
Binary file