ruby / ruby/rdoc

Adding YARD document support to RDoc

Open
#1,344 12 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
930
Forks
465
Avg merge
3d 10h
Merged PRs (30d)
27

Description

Background

I implemented a plugin system for RDoc in https://github.com/ruby/rdoc/pull/1321 and YARD parsing plugin is implemented.
In the discussion with @st0012, @kou and @vinistock we decided that we should implement YARD parsing feature as a standalone feature without plugin.
The note exists in https://github.com/ruby/rdoc/discussions/1257#discussioncomment-12882912

Steps

There are some steps to have effective YARD parsing feature in RDoc.

  • Adding basic framework to support YARD style document (RDoc::Yard class or similar)
  • Adding support of YARD tags that already works with current RDoc such as @yield and @private
    • @yield
    • @private
  • Adding support of YARD tags that needs simple modification of RDoc such @deprecated
    • Adding :deprecated directive
    • Adding @deprecated
  • Adding features such as type support to utilize information from YARD
    • @return
    • @param
    • others (will be edited later)
  • Adding support of YARD directives and macros
    • @!attribute
    • others (will be edited later)

I will implement these step by step.

Note

The idea of plugin system is not completely abandoned but postponed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing pull request #1321 and the linked discussion to understand why the plugin approach was postponed. Use the first unchecked roadmap item to define a focused contribution; completion should cover one agreed YARD capability, such as the basic framework or a listed tag, rather than the entire feature set.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.