rdoc-markdown 0.1.10 → 0.1.13

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: 2d08a05e31cacde411267507404584cf8b83a715e2001290e84f4b0ae3494106
4
- data.tar.gz: cf679c7121051ed3c3dfe7615e9ef559d2ec8b023e2b1efd9666d9caa2de5ae7
3
+ metadata.gz: a38c23f0593e099cf817af08dbf8c2f73573462135c99eafae1c8d060bffbc26
4
+ data.tar.gz: c209b03ef83bc8d936d5638a775c15b8c1ff0626ec94bbdd138abc2596e73999
5
5
  SHA512:
6
- metadata.gz: 9cbbf2f3f6fc21e199d426ed08d71c734f09daf155bb5bc9b37a65662094c735047f76cfe8d84e3ee92a3b998e21e3cbbf643b6f0702ab14a67467773b028ead
7
- data.tar.gz: 4a9e28997fd4cda40d0510f29f9bc04a78a30140e5631dd0be4a38b7bfc9ae4a65d3fbae14de8d4d1853cac2c60b8ddf4a399653a171c757b605397368e193fc
6
+ metadata.gz: a16a238ac2090d2d60a3c998bff28a9787a5d123fe5215e813b01f410433f8ac5264be02cb5677248c239e5d72bc26613c5a9d6b837eae90fe3d232b4eb25bda
7
+ data.tar.gz: ed04a374783a90b072f757d39439e0749d52bac3e6ee6d13af0b90408746f96c2d3257e50a72452ad749689bcd3dbe767ac509bf6bc1b597c7ad7771810c4554
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rdoc-markdown (0.1.7)
4
+ rdoc-markdown (0.1.10)
5
5
  erb (~> 2.0)
6
+ extralite-bundle (~> 1.0)
6
7
  rdoc (~> 6.0)
7
8
  reverse_markdown (~> 2.0)
8
9
 
@@ -13,6 +14,7 @@ GEM
13
14
  cgi (0.3.3)
14
15
  erb (2.2.3)
15
16
  cgi
17
+ extralite-bundle (1.16)
16
18
  json (2.6.2)
17
19
  minitest (5.16.3)
18
20
  nokogiri (1.13.8-arm64-darwin)
data/docs/example.rb CHANGED
@@ -1,14 +1,14 @@
1
1
  ##
2
- # === RDoc::Generator::SolarFish example.
2
+ # === RDoc::Generator::Markdown example.
3
3
  #
4
- # This example employs variois RDoc features to demonstrate
4
+ # This example employs various RDoc features to demonstrate
5
5
  # generator output.
6
6
  #
7
7
  # ---
8
8
  #
9
9
  # Links:
10
10
  #
11
- # 1. {Project Home Page}[https://github.com/rbdoc/rdoc-generator-solarfish)
11
+ # 1. {Project Home Page}[https://github.com/skatkov/rdoc-markdown)
12
12
  # 2. {RDoc Documentation}[http://ruby-doc.org/stdlib-2.0.0/libdoc/rdoc/rdoc/RDoc/Markup.html]
13
13
  #
14
14
 
@@ -5,6 +5,7 @@ gem "rdoc"
5
5
  require "pathname"
6
6
  require "erb"
7
7
  require "reverse_markdown"
8
+ require 'extralite'
8
9
 
9
10
  class RDoc::Generator::Markdown
10
11
  RDoc::RDoc.add_generator self
@@ -60,6 +61,10 @@ class RDoc::Generator::Markdown
60
61
  debug("Generate documentation in #{@output_dir}")
61
62
 
62
63
  emit_classfiles
64
+
65
+ debug("Generate index db file: #{output_dir}/index.db")
66
+
67
+ emit_sqlite
63
68
  end
64
69
 
65
70
  private
@@ -74,6 +79,59 @@ class RDoc::Generator::Markdown
74
79
  end
75
80
  end
76
81
 
82
+ def emit_sqlite
83
+ db = Extralite::Database.new("#{output_dir}/index.db")
84
+
85
+ db.execute <<-SQL
86
+ create table contentIndex (
87
+ id INTEGER PRIMARY KEY,
88
+ name TEXT,
89
+ type TEXT,
90
+ path TEXT
91
+ );
92
+ SQL
93
+
94
+ result = []
95
+
96
+ @classes.map do |klass|
97
+ result << {
98
+ name: klass.full_name,
99
+ type: klass.type.capitalize,
100
+ path: turn_to_path(klass.full_name)
101
+ }
102
+
103
+ klass.method_list.each do |method|
104
+ next if method.visibility.to_s.eql?("private")
105
+
106
+ result << {
107
+ name: "#{klass.full_name}.#{method.name}",
108
+ type: "Method",
109
+ path: turn_to_path(klass.full_name)
110
+ }
111
+ end
112
+
113
+ klass.constants.sort_by { |x| x.name }.each do |const|
114
+ result << {
115
+ name: "#{klass.full_name}.#{const.name}",
116
+ type: "Constant",
117
+ path: turn_to_path(klass.full_name)
118
+ }
119
+ end
120
+
121
+ klass.attributes.sort_by { |x| x.name }.each do |attr|
122
+ result << {
123
+ name: "#{klass.full_name}.#{attr.name}",
124
+ type: "Attribute",
125
+ path: turn_to_path(klass.full_name)
126
+ }
127
+ end
128
+ end
129
+
130
+ result.each do |rec|
131
+ db.execute "insert into contentIndex (name, type, path) values (:name, :type, :path)", rec
132
+ end
133
+ end
134
+
77
135
  def emit_classfiles
78
136
  @classes.each do |klass|
79
137
  klass_methods = []
@@ -91,7 +149,7 @@ class RDoc::Generator::Markdown
91
149
 
92
150
  template = ERB.new File.read(File.join(TEMPLATE_DIR, "classfile.md.erb"))
93
151
 
94
- out_file = Pathname.new("#{output_dir}/#{turn_to_path klass.full_name}.md")
152
+ out_file = Pathname.new("#{output_dir}/#{turn_to_path klass.full_name}")
95
153
  out_file.dirname.mkpath
96
154
 
97
155
  result = template.result(binding)
@@ -104,7 +162,7 @@ class RDoc::Generator::Markdown
104
162
  private
105
163
 
106
164
  def turn_to_path(class_name)
107
- class_name.gsub("::", "/")
165
+ "#{class_name.gsub("::", "/")}.md"
108
166
  end
109
167
 
110
168
  def markdownify(input)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rdoc
4
4
  module Markdown
5
- VERSION = "0.1.10"
5
+ VERSION = "0.1.13"
6
6
  end
7
7
  end
data/publish.sh ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+
3
+ gem build rdoc-markdown.gemspec
4
+ GEM=$(gum choose $(ls *.gem))
5
+
6
+ gum confirm "Publish $GEM?" && gem push $GEM
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdoc-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stanislav (Stas) Katkov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-16 00:00:00.000000000 Z
11
+ date: 2022-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: extralite-bundle
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: minitest
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -147,6 +161,7 @@ files:
147
161
  - lib/rdoc/generator/markdown.rb
148
162
  - lib/rdoc/markdown/version.rb
149
163
  - lib/templates/classfile.md.erb
164
+ - publish.sh
150
165
  - sig/rdoc/markdown.rbs
151
166
  homepage: https://poshtui.com
152
167
  licenses: