yard-markdown 0.2.2 → 0.3.1

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: 336637063b30cdb36819afce2e0380f467c1763ebbb022b006317488edebe134
4
- data.tar.gz: 73692c82e184b6e3b7259af0ba1ce74fea209b71a56ed089c611ac0035415bbd
3
+ metadata.gz: '0282033a919774b5cd92979a1291cda4ed834c27cbfc21ca231982475aefa6cf'
4
+ data.tar.gz: ade62aa4bc7c6091cbdc229bebf16ec77f753bba17e0ab0e0ef0fe28527838a9
5
5
  SHA512:
6
- metadata.gz: e9b0c05b3cfef30f77040ea8542091dd99231cece58f912079c0e356042bfe99fbfd4aad80e509bdad0390f07cc23d0a4be133db8d4c67e33981556cea87bbfd
7
- data.tar.gz: c32c66c335f301dcaec541401b7d1276267aa5054b29574f70d8d1697680dddae6d649b044ce934df88ee4372efbbe2cb45e9eb6570aea6b0a465f77c91e57a4
6
+ metadata.gz: 8604ca85cdc4e6486b00e94a694fa35661dc06c9042882e41afe9e41fa863d582173473b8fbc8e1edb8e08db8908ab26bc887c4773465c8d94c04c6c72992366
7
+ data.tar.gz: bbf3e68cd55b9ead82fbe0307d106e7e31a284fbb567eadb3bf6ab08c4b2ba1523699629950e7d85124216da3c94f114220e3bf2c0857d5f0d2d088ca39d0074
data/example/Bird.md CHANGED
@@ -1,36 +1,53 @@
1
1
  # Class: Bird
2
- | | |
3
- | -----------------: | :----- |
4
- | **Inherits:** | Object |
5
- | **Defined in:** | example.rb |
2
+ **Inherits:** Object
3
+
4
+ **Defined in:** example.rb
6
5
 
7
6
  The base class for all birds.
8
- # Constants
9
- ## DEFAULT_DUCK_VELOCITY [](#constant-DEFAULT_DUCK_VELOCITY)
10
- Default velocity for a flying duck.
11
- ## DEFAULT_SPEED [](#constant-DEFAULT_SPEED)
12
- Maximum speed for a swimming duck.
13
-
14
- # Public Instance Methods
15
- ## _fly_impl(_direction, _velocity) [](#method-i-_fly_impl)
16
- :nodoc:
17
- ## fly(direction, velocity) [](#method-i-fly)
18
- Fly somewhere.
7
+
8
+
9
+ # Public Instance Methods
10
+
11
+ ## _fly_impl(_direction, _velocity) [](#method-i-_fly_impl)
12
+ :nodoc:
13
+
14
+
15
+
16
+ ## fly(direction, velocity) [](#method-i-fly)
17
+ Fly somewhere.
19
18
 
20
19
  Flying is the most critical feature of birds.
21
20
 
22
21
  :args: direction, velocity
23
22
 
24
23
  :call-seq:
25
- Bird.fly(symbol, number) -> bool
26
- Bird.fly(string, number) -> bool
24
+ Bird.fly(symbol, number) -> bool
25
+ Bird.fly(string, number) -> bool
26
+
27
+ # Example
28
+
29
+ fly(:south, 70)
30
+
31
+
32
+
33
+ ## speak() [](#method-i-speak)
34
+ Produce some noise. -- FIXME: maybe extract this to a base class `Animal`? ++
35
+
36
+
37
+
38
+
39
+
40
+
41
+ # Constants
42
+
43
+ ## DEFAULT_DUCK_VELOCITY [](#constant-DEFAULT_DUCK_VELOCITY)
44
+ Default velocity for a flying duck.
45
+
27
46
 
28
- = Example
47
+
48
+ ## DEFAULT_SPEED [](#constant-DEFAULT_SPEED)
49
+ Maximum speed for a swimming duck.
29
50
 
30
- fly(:south, 70)
31
- ## speak() [](#method-i-speak)
32
- Produce some noise.
33
- --
34
- FIXME: maybe extract this to a base class +Animal+?
35
- ++
36
51
 
52
+
53
+
data/example/Duck.md CHANGED
@@ -1,47 +1,82 @@
1
1
  # Class: Duck
2
- | | |
3
- | -----------------: | :----- |
4
- | **Inherits:** | Object |
5
- | **Extended by:** | Animal |
6
- | **Includes:** | Waterfowl |
7
- | **Defined in:** | example.rb |
2
+ **Inherits:** Object
3
+
4
+ **Extended by:** Animal
5
+
6
+ **Includes:** Waterfowl
7
+
8
+ **Defined in:** example.rb
8
9
 
9
10
  A duck is a Waterfowl Bird.
10
11
 
11
12
  Features:
12
13
 
13
- bird::
14
+ bird::
14
15
 
15
- * speak
16
- * fly
16
+ * speak
17
+ * fly
17
18
 
18
- waterfowl::
19
+ waterfowl::
19
20
 
20
- * swim
21
- # Constants
22
- ## DEFAULT_DUCK_VELOCITY [](#constant-DEFAULT_DUCK_VELOCITY)
23
- Default velocity for a flying duck.
24
- ## DEFAULT_SPEED [](#constant-DEFAULT_SPEED)
25
- Maximum speed for a swimming duck.
21
+ * swim
26
22
 
27
- # Public Instance Methods
28
- ## initialize(domestic, rubber) [](#method-i-initialize)
29
- Creates a new duck.
30
- ## speak() [](#method-i-speak)
31
- Duck overrides generic implementation.
32
- ## swim() [](#method-i-swim)
33
- Swimming helper.
34
- ## useful?() [](#method-i-useful?)
35
- Checks if this duck is a useful one.
23
+
24
+ # Public Instance Methods
25
+
26
+ ## initialize(domestic, rubber) [](#method-i-initialize)
27
+ Creates a new duck.
28
+
29
+
30
+
31
+ ## speak() [](#method-i-speak)
32
+ Duck overrides generic implementation.
33
+
34
+
35
+
36
+ ## swim() [](#method-i-swim)
37
+ Swimming helper.
38
+
39
+
40
+
41
+ ## useful?() [](#method-i-useful?)
42
+ Checks if this duck is a useful one.
36
43
 
37
44
  :call-seq:
38
- Bird.useful? -> bool
45
+ Bird.useful? -> bool
46
+
47
+
48
+
49
+
50
+ # Public Class Methods
51
+
52
+ ## rubber_ducks() [](#method-c-rubber_ducks)
53
+
54
+
55
+
56
+ # Attributes
57
+
58
+ ## domestic[RW] [](#attribute-i-domestic)
59
+ True for domestic ducks.
60
+
61
+
62
+
63
+ ## rubber[RW] [](#attribute-i-rubber)
64
+ True for rubber ducks.
65
+
66
+
67
+
68
+
69
+
70
+ # Constants
71
+
72
+ ## DEFAULT_DUCK_VELOCITY [](#constant-DEFAULT_DUCK_VELOCITY)
73
+ Default velocity for a flying duck.
74
+
75
+
76
+
77
+ ## DEFAULT_SPEED [](#constant-DEFAULT_SPEED)
78
+ Maximum speed for a swimming duck.
39
79
 
40
- # Public Class Methods
41
- ## rubber_ducks() [](#method-c-rubber_ducks)
42
80
 
43
- # Attributes
44
- ## domestic[RW] [](#attribute-i-domestic)
45
- True for domestic ducks.
46
- ## rubber[RW] [](#attribute-i-rubber)
47
- True for rubber ducks.
81
+
82
+
data/example/Waterfowl.md CHANGED
@@ -1,16 +1,30 @@
1
1
  # Module: Waterfowl
2
- | | |
3
- | -----------------: | :----- |
4
- | **Defined in:** | example.rb |
2
+
3
+ **Defined in:** example.rb
5
4
 
6
5
  A mixin for waterfowl creatures.
7
- # Constants
8
- ## DEFAULT_DUCK_VELOCITY [](#constant-DEFAULT_DUCK_VELOCITY)
9
- Default velocity for a flying duck.
10
- ## DEFAULT_SPEED [](#constant-DEFAULT_SPEED)
11
- Maximum speed for a swimming duck.
12
6
 
13
- # Public Instance Methods
14
- ## swim() [](#method-i-swim)
15
- Swimming helper.
16
7
 
8
+ # Public Instance Methods
9
+
10
+ ## swim() [](#method-i-swim)
11
+ Swimming helper.
12
+
13
+
14
+
15
+
16
+
17
+
18
+ # Constants
19
+
20
+ ## DEFAULT_DUCK_VELOCITY [](#constant-DEFAULT_DUCK_VELOCITY)
21
+ Default velocity for a flying duck.
22
+
23
+
24
+
25
+ ## DEFAULT_SPEED [](#constant-DEFAULT_SPEED)
26
+ Maximum speed for a swimming duck.
27
+
28
+
29
+
30
+
@@ -94,38 +94,24 @@ def serialize(object)
94
94
  template =
95
95
  ERB.new(
96
96
  '# <%= format_object_title object %>
97
- | | |
98
- | -----------------: | :----- |
99
97
  <% if CodeObjects::ClassObject === object && object.superclass %>
100
- | **Inherits:** | <%= object.superclass %> |
101
- <% end %>
102
- <% [[:class, "Extended by"], [:instance, "Includes"]].each do |scope, name| %>
98
+ **Inherits:** <%= object.superclass %>
99
+ <% end %><% [[:class, "Extended by"], [:instance, "Includes"]].each do |scope, name| %>
103
100
  <% if (mix = run_verifier(object.mixins(scope))).size > 0 %>
104
- | **<%= name %>:** | <%= mix.sort_by {|o| o.path }.join(", ") %> |
105
- <% end %>
106
- <% end %>
101
+ **<%= name %>:** <%= mix.sort_by {|o| o.path }.join(", ") %>
102
+ <% end %><% end %>
107
103
  <% unless object.root? %>
108
- | **Defined in:** | <%= object.file ? object.file : "(unknown)" %> |
104
+ **Defined in:** <%= object.file ? object.file : "(unknown)" %>
109
105
  <% end %>
110
106
 
111
- <%= object.docstring %>
107
+ <%= rdoc_to_md object.docstring %>
112
108
 
113
- <% if constant_listing.size > 0 %>
114
- <% groups(constant_listing, "Constants") do |list, name| %>
115
- # <%= name %>
116
- <% list.each do |cnst| %>
117
- ## <%= cnst.name %> [](#<%=aref(cnst)%>)
118
- <%= cnst.docstring %>
119
-
120
- <% end %>
121
- <% end %>
122
- <% end %>
123
109
 
124
110
  <% if (insmeths = public_instance_methods(object)).size > 0 %>
125
111
  # Public Instance Methods
126
112
  <% insmeths.each do |item| %>
127
113
  ## <%= item.name(false) %>(<%= item.parameters.map {|p| p.join("") }.join(", ")%>) [](#<%=aref(item)%>)
128
- <%= item.docstring %>
114
+ <%= rdoc_to_md item.docstring %>
129
115
 
130
116
  <% end %>
131
117
  <% end %>
@@ -134,7 +120,7 @@ def serialize(object)
134
120
  # Public Class Methods
135
121
  <% pubmeths.each do |item| %>
136
122
  ## <%= item.name(false) %>(<%= item.parameters.map {|p| p.join(" ") }.join(", ") %>) [](#<%=aref(item)%>)
137
- <%= item.docstring %>
123
+ <%= rdoc_to_md item.docstring %>
138
124
 
139
125
  <% end %>
140
126
  <% end %>
@@ -142,17 +128,33 @@ def serialize(object)
142
128
  # Attributes
143
129
  <% attrs.each do |item|%>
144
130
  ## <%= item.name %><%= item.reader? ? "[RW]" : "[R]" %> [](#<%=aref(item)%>)
145
- <%= item.docstring %>
131
+ <%= rdoc_to_md item.docstring %>
132
+
133
+ <% end %>
134
+ <% end %>
135
+
136
+
137
+ <% if constant_listing.size > 0 %>
138
+ <% groups(constant_listing, "Constants") do |list, name| %>
139
+ # <%= name %>
140
+ <% list.each do |cnst| %>
141
+ ## <%= cnst.name %> [](#<%=aref(cnst)%>)
142
+ <%= rdoc_to_md cnst.docstring %>
146
143
 
147
144
  <% end %>
148
145
  <% end %>
149
- '.gsub(/^ /, ""),
150
- trim_mode: "%<>",
151
- )
146
+ <% end %>
147
+ ', trim_mode: "%<>")
152
148
 
153
149
  template.result(binding)
154
150
  end
155
151
 
152
+ require 'rdoc'
153
+
154
+ def rdoc_to_md(docstring)
155
+ RDoc::Markup::ToMarkdown.new.convert(docstring)
156
+ end
157
+
156
158
  def aref(object)
157
159
  if object.type == :constant
158
160
  "constant-#{object.name(false)}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yard-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.1
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: 2024-01-11 00:00:00.000000000 Z
11
+ date: 2024-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yard
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubygems_version: 3.5.4
69
+ rubygems_version: 3.5.5
70
70
  signing_key:
71
71
  specification_version: 4
72
72
  summary: yard plugin to generate markdown documentation