readme_yard 0.1.2 β†’ 0.3.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: 3d5cd63671c91ee41af8ce37e33ae8a2cb1e2b71a70c2a9c6b5063128a635fce
4
- data.tar.gz: 910ee77105320c38974f621d750719b43c33f3b2f2dadd7ec66a16b616303f28
3
+ metadata.gz: 755f223afede15fbac8b87531730204494747aaf8b95302bf0cae4ca9a8822d3
4
+ data.tar.gz: b765382a63cf98480cf2e557f793272c046f18916313b8907875f0fa70e4ee30
5
5
  SHA512:
6
- metadata.gz: bad866d4aa2dcc18b21ea1af011fcb5374614dd1961e187d84b24873611466a4099d36aca44da03ece1f9dda8f6ebef54c3f94cbc0312365f6fb20fa8dc526e8
7
- data.tar.gz: 467924c84db446676b5c0d3002a815646e2976c3aec76258075f2104158d064eac450b2a57a6763c5947cac145be808346e97469a47a52e920cacb2a8fb407d1
6
+ metadata.gz: fcc797e2dd79799f06c8acfd1737b901f010b8b52300e77fa78cf0be48b249f43e3968a23a74cb5b8243072d17008e87a77ac77e91715c81724b7fc50bab5d82
7
+ data.tar.gz: 12bdfd98250616c6379d1563a92de7cc9ae3b436746f96057bf6f66feea3ba1dafc045a631579960ac0cc0fb829ea51dbf9df8aec5e94257cc270c07cc3fe72a
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.5
2
+ TargetRubyVersion: 3.0
3
3
 
4
4
  Style/StringLiterals:
5
5
  Enabled: true
data/.yardopts CHANGED
@@ -1,3 +1,4 @@
1
1
  --plugin readme
2
2
  --markup markdown
3
+ --readme README.md
3
4
  lib/**/*.rb
data/CHANGELOG.md CHANGED
@@ -1,4 +1,19 @@
1
- ## [Unreleased]
1
+ ## 0.3.0 - 2025-05-04
2
+
3
+ - Update dependencies: upgraded yard-readme to 0.5.0, Ruby requirement to >= 3.0
4
+ - Add TagRegistry class to centralize tag management
5
+ - Update bundler and various gem dependencies
6
+ - Improve command-line argument handling in the readme executable
7
+ - Extract YardOptsManager to improve code organization
8
+ - Rename ObjectTag to SourceTag and rename old SourceTag to CodeTag
9
+ - Add new ValueTag and StringTag
10
+ - Add standalone tag support: enable embedding yard content in README without yard tags in the source code
11
+ - Rename format methods for consistency
12
+ - Rename `readme doc` command to `readme yard` for clarity and improved memorability
13
+
14
+ ## 0.2.0 - 2021-08-08
15
+
16
+ - Add new readme tag types - `comment`, `source`, and `object`. Log warnings and raise errors when helpful. Update README. 51997f24d5209fd8f0e5e11511352f6457bb9dbe
2
17
 
3
18
  ## 0.1.2 - 2021-08-06
4
19
 
data/Gemfile CHANGED
@@ -4,3 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in readme_yard.gemspec
6
6
  gemspec
7
+
8
+ gem "debug"
9
+ gem "rubocop", "~> 1.75", ">= 1.75.4"
data/Gemfile.lock CHANGED
@@ -1,44 +1,94 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- readme_yard (0.1.2)
4
+ readme_yard (0.3.0)
5
5
  tty-markdown (~> 0.7)
6
- yard-readme (~> 0.1)
6
+ yard (~> 0.9)
7
+ yard-readme (~> 0.5)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
11
- kramdown (2.3.1)
12
- rexml
12
+ ast (2.4.3)
13
+ date (3.4.1)
14
+ debug (1.10.0)
15
+ irb (~> 1.10)
16
+ reline (>= 0.3.8)
17
+ io-console (0.8.0)
18
+ irb (1.15.2)
19
+ pp (>= 0.6.0)
20
+ rdoc (>= 4.0.0)
21
+ reline (>= 0.4.2)
22
+ json (2.11.3)
23
+ kramdown (2.5.1)
24
+ rexml (>= 3.3.9)
25
+ language_server-protocol (3.17.0.4)
26
+ lint_roller (1.1.0)
27
+ parallel (1.27.0)
28
+ parser (3.3.8.0)
29
+ ast (~> 2.4.1)
30
+ racc
13
31
  pastel (0.8.0)
14
32
  tty-color (~> 0.5)
15
- rexml (3.2.5)
16
- rouge (3.26.0)
33
+ pp (0.6.2)
34
+ prettyprint
35
+ prettyprint (0.2.0)
36
+ prism (1.4.0)
37
+ psych (5.2.4)
38
+ date
39
+ stringio
40
+ racc (1.8.1)
41
+ rainbow (3.1.1)
42
+ rdoc (6.13.1)
43
+ psych (>= 4.0.0)
44
+ regexp_parser (2.10.0)
45
+ reline (0.6.1)
46
+ io-console (~> 0.5)
47
+ rexml (3.4.1)
48
+ rouge (4.5.2)
49
+ rubocop (1.75.4)
50
+ json (~> 2.3)
51
+ language_server-protocol (~> 3.17.0.2)
52
+ lint_roller (~> 1.1.0)
53
+ parallel (~> 1.10)
54
+ parser (>= 3.3.0.2)
55
+ rainbow (>= 2.2.2, < 4.0)
56
+ regexp_parser (>= 2.9.3, < 3.0)
57
+ rubocop-ast (>= 1.44.0, < 2.0)
58
+ ruby-progressbar (~> 1.7)
59
+ unicode-display_width (>= 2.4.0, < 4.0)
60
+ rubocop-ast (1.44.1)
61
+ parser (>= 3.3.7.2)
62
+ prism (~> 1.4)
63
+ ruby-progressbar (1.13.0)
64
+ stringio (3.1.7)
17
65
  strings (0.2.1)
18
66
  strings-ansi (~> 0.2)
19
67
  unicode-display_width (>= 1.5, < 3.0)
20
68
  unicode_utils (~> 1.4)
21
69
  strings-ansi (0.2.0)
22
70
  tty-color (0.6.0)
23
- tty-markdown (0.7.0)
71
+ tty-markdown (0.7.2)
24
72
  kramdown (>= 1.16.2, < 3.0)
25
73
  pastel (~> 0.8)
26
- rouge (~> 3.14)
74
+ rouge (>= 3.14, < 5.0)
27
75
  strings (~> 0.2.0)
28
76
  tty-color (~> 0.5)
29
77
  tty-screen (~> 0.8)
30
- tty-screen (0.8.1)
31
- unicode-display_width (2.0.0)
78
+ tty-screen (0.8.2)
79
+ unicode-display_width (2.6.0)
32
80
  unicode_utils (1.4.0)
33
- yard (0.9.26)
34
- yard-readme (0.1.1)
35
- yard (~> 0.9.26)
81
+ yard (0.9.37)
82
+ yard-readme (0.5.0)
36
83
 
37
84
  PLATFORMS
38
- arm64-darwin-20
85
+ arm64-darwin-24
39
86
 
40
87
  DEPENDENCIES
88
+ debug
89
+ irb
41
90
  readme_yard!
91
+ rubocop (~> 1.75, >= 1.75.4)
42
92
 
43
93
  BUNDLED WITH
44
- 2.2.24
94
+ 2.6.8
data/README.md CHANGED
@@ -1,20 +1,62 @@
1
1
  # Readme Yard 🌿
2
2
  [![Gem Version](https://badge.fury.io/rb/readme_yard.svg)](https://badge.fury.io/rb/readme_yard)
3
- [![Maintainability](https://api.codeclimate.com/v1/badges/9fe0012930c3886dbe00/maintainability)](https://codeclimate.com/github/mattruzicka/readme_yard/maintainability)
4
3
 
5
- An experiment in building a better README with
6
- [YARD](https://yardoc.org).
7
- Take a look at [README_YARD.md](https://github.com/mattruzicka/readme_yard/blob/main/README_YARD.md)
8
- to see the template from which the README for this project was generated.
4
+ Build a better README with [YARD](https://yardoc.org)
5
+ by generating it straight from the source.
9
6
 
7
+ This gem aims to minimize the effort needed to keep your
8
+ README, documentation, and source code synced, useful,
9
+ and correct. Among its features, it introduces the @readme tag
10
+ that enables you to embed code comments directly into README sections,
11
+ eliminating redundancy and keeping documentation consistent
12
+ across your codebase and project README.
13
+
14
+ Look at the [README_YARD.md](https://github.com/mattruzicka/readme_yard/blob/main/README_YARD.md)
15
+ template for this project to see how it works.
10
16
  If you're reading the README, that means this text is here
11
- because `{@readme ReadmeYard}` is in
12
- [README_YARD.md](https://github.com/mattruzicka/readme_yard/blob/main/README_YARD.md)
13
- and someone ran `readme build` at the command line.
17
+ because the custom `{@readme ReadmeYard}` markdown tag is in
18
+ README_YARD.md and `readme build` was run at the command line.
19
+
20
+ Here's the [full documentation](https://rubydoc.info/github/mattruzicka/readme_yard).
21
+
22
+
23
+ ---
24
+
25
+ ⚠️ **Generated file warning** – Edit README_YARD.md, not README.md. Changes to README.md will be lost when running `readme build`.
26
+
27
+ ### Future Work
28
+ - Implement safeguards to prevent accidental edits to README.md
29
+ - Support bidirectional editing through git integration
30
+
31
+ [PRs are welcome](#contributing) for these improvements.
32
+
33
+ ---
34
+
35
+ ## Table of Contents
36
+ - [Installation](#installation)
37
+ - [Getting Started](#getting-started)
38
+ - [Command Line Usage](#command-line-usage)
39
+ - [Tag Usage](#tag-usage)
40
+ - [Readme Tag](#readme-tag)
41
+ - [Standalone Tag Usage](#standalone-tag-usage)
42
+ - [Example Tag](#example-tag)
43
+ - [Contributing](#contributing)
44
+
45
+ ---
46
+
47
+ ## Installation
48
+
49
+ Add [gem "readme_yard"](https://rubygems.org/gems/readme_yard) to your Gemfile and run `bundle install` or install it yourself with: `gem install readme_yard`
50
+
51
+ **Note:** As of version 0.3.0, Readme Yard requires Ruby 3.0 or higher.
52
+
53
+ ## Getting Started
14
54
 
15
- If you're looking at the [source code](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard.rb) or
16
- [documentation](https://rubydoc.info/github/mattruzicka/readme_yard),
17
- _welcome_ to readme yard!
55
+ Run `readme build` at the command line. This creates a README_YARD.md file if there isn't one by copying your existing README.md file.
56
+
57
+ README_YARD.md is the template from which `readme build` generates the README. Readme Yard adds the ability to embed and reference your source code in your README via README_YARD.md.
58
+
59
+ See [Tag Usage](#tag-usage).
18
60
 
19
61
  ---
20
62
 
@@ -24,87 +66,233 @@ _welcome_ to readme yard!
24
66
 
25
67
  `readme build` - Reads from README_YARD.md and writes to README.md.
26
68
 
27
- `readme doc` - Same as `readme build` + generates yard docs.
69
+ `readme yard` - Same as `readme build` + generates yard docs.
70
+
28
71
 
29
72
  ---
30
73
 
31
- ## Getting Started
74
+ ## Tag Usage
75
+
76
+ Readme Yard uses YARD tags and custom markdown tags. YARD tags live inside Ruby source code. The markdown tags live inside README_YARD.md.
77
+
78
+ When the Readme Yard build process encounters a tag in README_YARD.md, it searches the Ruby source code for its YARD tag counterpart, formats the output, and embeds it in the README file.
32
79
 
33
- Add [gem "readme_yard"](https://rubygems.org/gems/readme_yard) to your application's Gemfile and run `bundle install` or install it yourself with `gem install readme_yard`.
80
+ ### Tag Reference Table
34
81
 
35
- Next run `readme build` at the command line. This creates a README_YARD.md file if there isn’t one by copying the README file if it exists. It then parses README_YARD.md and writes the result to README.md.
82
+ | Tag Type | YARD Syntax (in source code) | Markdown Syntax (in README_YARD.md) | Standalone Tag* | Purpose |
83
+ |----------|------------------------------|-------------------------------------|----------------|---------|
84
+ | Readme | `@readme` | `{@readme ObjectPath}` | N/A | General purpose tag to embed content from source code |
85
+ | Readme (comment) | `@readme comment` | `{@readme ObjectPath}` | `{@comment ObjectPath}` | Embeds only the comment from source code |
86
+ | Readme (code) | `@readme code` | `{@readme ObjectPath}` | `{@code ObjectPath}` | Embeds only code implementation |
87
+ | Readme (source) | `@readme source` | `{@readme ObjectPath}` | `{@source ObjectPath}` | Embeds both comments and code |
88
+ | Readme (value) | `@readme value` | `{@readme ObjectPath}` | `{@value ObjectPath}` | Embeds a Ruby value as a Ruby code block |
89
+ | Readme (string) | `@readme string` | `{@readme ObjectPath}` | `{@string ObjectPath}` | Embeds a Ruby string as normal text |
90
+ | Example | `@example` | `{@example ObjectPath}` | N/A | Embeds example code from YARD @example tags |
36
91
 
37
- In addition to being able to use tags as documented in the next section, you can edit the README_YARD file just as you would edit any README. Then to see changes made to README_YARD reflected in the README, run `readme build`.
92
+ > *Standalone tags allow embedding content without requiring corresponding YARD tags in source code. See [Standalone Tag Usage](#standalone-tag-usage) for details.
93
+
94
+ ### Examples
95
+
96
+ The next line is a code snippet if you're looking at [README.md](https://github.com/mattruzicka/README/blob/main/README_YARD.md) and `{@readme ReadmeYard::ExampleTag.hello_world}` if you're looking at [README_YARD.md](https://github.com/mattruzicka/readme_yard/blob/main/README_YARD.md).
97
+
98
+ ```ruby
99
+ #
100
+ # @example
101
+ # ReadmeYard::ExampleTag.hello_world #=> "Hello 🌎 🌍 🌏"
102
+ #
103
+ def hello_world
104
+ "Hello 🌎 🌍 🌏"
105
+ end
106
+ ```
107
+
108
+
109
+ The markdown tag tells Readme Yard to parse the `@readme` tag located above the `hello_world` class method located in [lib/readme_yard/example_tag.rb](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard/example_tag.rb).
110
+
111
+ To use another "meta" example, `{@readme ReadmeYard}` is used at the top of this project's README_YARD.md file to generate the first few sentences of this README. `ReadmeYard` references the class located in [lib/readme_yard.rb](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard.rb).
112
+
113
+ Last one, `{@readme ReadmeYard#command_line_usage}` is used to generate the "Command Line Usage" section above from the comments of the `command_line_usage` instance method located in [lib/readme_yard.rb](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard.rb). This method is extra meta: it returns the result of formatting its own comments as markdown. In this way, the usage instructions in the comments, the README, and as printed at the command line will always be in sync.
38
114
 
39
115
  ---
40
116
 
41
- ## Usage
117
+ ## Readme Tag
118
+
119
+ **Markdown** syntax: `{@readme ObjectPath}`
120
+
121
+ **YARD** syntax: `@example <name>`
122
+
123
+ By default, only the text nested under a @readme tag
124
+ will be embedded in the final output. The default
125
+ embed behavior can be changed through the use of tag names.
42
126
 
43
- The following tags can be used in README_YARD.md to generate YARD documentation inside your README.
44
127
 
45
- ### @readme
128
+ ### Embed comments
46
129
 
47
- Usage: `{@readme ObjectPath}`
48
130
 
49
- `{@readme ReadmeYard}` is used at the top of this project's README_YARD.md file to generate this README's title and description. `ReadmeYard` references the class located in [lib/readme_yard.rb](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard.rb).
131
+ **Usage:**
50
132
 
51
- `{@readme ReadmeYard#command_line_usage}` is used to generate the "Command Line Usage" section above from the comments located above. `ReadmeYard#command_line_usage` references the instance method `command_line_usage` located in [lib/readme_yard.rb](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard.rb).
133
+ ```ruby
134
+ # @readme comment
135
+ ```
136
+
137
+
138
+ This example [@readme comment](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard/comment_tag.rb) tag embeds the below code snippet via the `{@readme ReadmeYard::CommentTag.format_tag}` markdown tag.
139
+
140
+ ```ruby
141
+ #
142
+ # This comment is in the README because `@readme comment`
143
+ # is below (in the source code).
144
+ #
145
+ ```
52
146
 
53
- `{@readme ReadmeYard.hello_world}` - This object only exists so that you can read this in the README. `ReadmeYard.hello_world` references
54
- the class method located in [lib/readme_yard.rb](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard.rb).
55
147
 
56
- ### @example
148
+ ### Embed Ruby code
57
149
 
58
- Usage: `{@example ObjectPath}`
59
150
 
60
- The below example code is generated from placing `{@example ReadmeYard.hello_world}` in README_YARD.md.
151
+ **Usage:**
61
152
 
62
153
  ```ruby
63
- ReadmeYard.hello_world => "Hello 🌎 🌍 🌏"
154
+ # @readme code
64
155
  ```
65
156
 
66
- ---
67
157
 
68
- ## Inspiration
158
+ This example [@readme code](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard/code_tag.rb) tag embeds the below code snippet via the `{@readme ReadmeYard::CodeTag.format_tag}` markdown tag.
159
+
160
+ ```ruby
161
+ def format_tag(yard_object, _tag)
162
+ ExampleTag.format_ruby(yard_object.source)
163
+ end
164
+ ```
165
+
69
166
 
70
- The desire to have the code, README, and documentation for [Evolvable](https://github.com/mattruzicka/evolvable) be useful, synced, and correct as I work on documenting the [1.1.0 Release](https://github.com/mattruzicka/evolvable/pull/8).
167
+ ### Embed Ruby comments and code
71
168
 
72
- I want a README that summarizes and contextualizes the code and documentation, without duplicating them, so as to make keeping it up-to-date easier. Laziness!
169
+
170
+ **Usage:**
171
+
172
+ ```ruby
173
+ # @readme source
174
+ ```
175
+
176
+
177
+ This example [@readme source](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard/source_tag.rb) tag embeds the below code snippet via the `{@readme ReadmeYard::SourceTag.format_tag}` markdown tag.
178
+
179
+ ```ruby
180
+ #
181
+ # The comment and code for ReadmeYard::SourceTag#format_tag
182
+ # is in the README because `@readme source` is below (in the source code).
183
+ #
184
+ def format_tag(yard_object, _tag)
185
+ text = CommentTag.format_docstring_as_comment(yard_object)
186
+ text << "\n#{yard_object.source}"
187
+ ExampleTag.format_ruby(text)
188
+ end
189
+ ```
190
+
191
+
192
+ ### Embed a Ruby value as a Ruby code block
193
+
194
+
195
+ **Usage:**
196
+
197
+ ```ruby
198
+ # @readme value
199
+ ```
200
+
201
+
202
+ This example [@readme value](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard/value_tag.rb) tag embeds the below code snippet via the `{@value ReadmeYard::ValueTag::EXAMPLE}` markdown tag.
203
+
204
+ ```ruby
205
+ { key: "value" }.freeze
206
+ ```
207
+
208
+ ### Embed a Ruby string as normal text
209
+
210
+
211
+ **Usage:**
212
+
213
+ Because a [@readme string](https://github.com/mattruzicka/readme_yard/blob/main/lib/readme_yard/string_tag.rb) tag:
214
+
215
+ ```ruby
216
+ # @readme string
217
+ ```
218
+
219
+
220
+ Is located above this constant:
221
+
222
+ ```ruby
223
+ XZAMPLE = <<~STRING
224
+ I heard you like self-documenting Ruby, so I wrote
225
+ self-documenting Ruby for your self-documenting Ruby.
226
+ STRING
227
+ ```
228
+
229
+
230
+ We see can see its string value as simple text below:
231
+
232
+ I heard you like self-documenting Ruby, so I wrote
233
+ self-documenting Ruby for your self-documenting Ruby.
73
234
 
74
235
  ---
75
236
 
76
- ## Ideas
237
+ ## Standalone Tag Usage
77
238
 
78
- - Embed whole doc string if @readme tag is found, but there’s no text.
239
+ While using the `@readme` tag in your source code is recommended because it makes the README's dependency on source code explicit, sometimes it's useful to embed source code snippets directly without it. This is especially valuable when a source object can only contain one `@readme` tag, but you want to highlight multiple aspects of the object.
79
240
 
80
- - Embed whole method if @example tag is found, but no text.
241
+ You can use any of these tags directly in README_YARD.md without requiring a corresponding `@readme` tag in the source code:
81
242
 
82
- - `readme tags` - Prints usage and a list of all tags
243
+ - `{@comment ObjectPath}` - Embeds comments only
244
+ - `{@code ObjectPath}` - Embeds code only
245
+ - `{@source ObjectPath}` - Embeds both comments and code
246
+ - `{@value ObjectPath}` - Embeds a Ruby value as a Ruby code block
247
+ - `{@string ObjectPath}` - Embeds a Ruby string as plain text
83
248
 
84
- - `readme tags -v` - Prints docstrings of all tags
249
+ For example, in the StringTag section above, we used both:
250
+ - `{@code ReadmeYard::StringTag::XZAMPLE}` to show the constant definition
251
+ - `{@string ReadmeYard::StringTag::XZAMPLE}` to display the string value as text
85
252
 
86
- - `readme tags <tag>` - Prints list of matching tags
253
+ The standalone tag usage provides more flexibility when documenting your code and doesn't require modifications to the source files.
87
254
 
88
- - `readme tags <tag>` - Prints list of matching tag docstrings
255
+ ---
256
+
257
+ ## Example Tag
89
258
 
90
- - Improve linking. At the moment, there's lots of room for error when adding links in the YARD documentation.
259
+ **Markdown** syntax: `{@example ObjectPath}`
91
260
 
92
- - Support @todo tags or any other native YARD tags that might be useful.
261
+ **YARD** syntax: `@example`
93
262
 
94
- - Add ability to target a particular tag in a doc string from README_YARD.md. Maybe via a tag directive?
263
+ The Example Tag leverages YARD's standard `@example` tag syntax, allowing you to
264
+ include example code in your README directly from source files. This saves time and
265
+ ensures your README stays in sync with your YARD documentation
95
266
 
96
- - Follow @see links to find tags
97
267
 
98
- - Integrate something like https://github.com/lsegal/yard-examples/blob/master/doctest/doctest.rb to add red/green test status to code example. Maybe via some sort of tag directive?
268
+ **Usage:**
99
269
 
100
- - Be able to customize the name of the source and target files.
270
+ ```ruby
271
+ #
272
+ # @example
273
+ # ReadmeYard::ExampleTag.hello_world #=> "Hello 🌎 🌍 🌏"
274
+ #
275
+ def hello_world
276
+ "Hello 🌎 🌍 🌏"
277
+ end
278
+ ```
101
279
 
102
- - Integrate with the YARD server so that changes to documentation or README_YARD.md automatically regenerate the README
103
280
 
104
- - Be able to register regexes for matching tags and running given blocks. Use to create functionality for tagging GitHub source.
281
+ The below example code is generated from `{@example ReadmeYard::ExampleTag.hello_world}` because, as you can see above, the "hello_world" class method has an `@example` tag.
282
+
283
+ ```ruby
284
+ ReadmeYard::ExampleTag.hello_world #=> "Hello 🌎 🌍 🌏"
285
+ ```
286
+
105
287
 
106
288
  ---
107
289
 
108
290
  ## Contributing
109
291
 
110
292
  Bug reports and pull requests are welcome on GitHub at https://github.com/mattruzicka/yard-readme.
293
+
294
+ If you're interested in contributing, but don't know where to get started, feel free to message me on twitter at [@mattruzicka](https://twitter.com/mattruzicka). I have a lot of ideas!
295
+
296
+ Thanks for taking the time to think about me, the README.
297
+
298
+ 🌿 πŸ₯ 🌱 ⚽