Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A suggestion for the future of RDoc
Search
Masafumi Okura
October 05, 2024
Technology
1
210
A suggestion for the future of RDoc
https://matsue.rubyist.net/matrk11/
での発表資料です。
Masafumi Okura
October 05, 2024
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Writing documentation can be fun with plugin system
okuramasafumi
0
150
Alba: Why, How and What's So Interesting
okuramasafumi
0
300
Why did my proposals get rejected?
okuramasafumi
1
570
15 JSON serializers for Ruby
okuramasafumi
2
260
Tech Events, Should We See Them from the Outside or the Inside?
okuramasafumi
1
53
Creating gems 101
okuramasafumi
1
110
How NOT to make your DSL terrible
okuramasafumi
0
450
オブジェクトしこう
okuramasafumi
2
360
Debugging Alba
okuramasafumi
1
230
Other Decks in Technology
See All in Technology
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
550
caching_sha2_passwordのはなし
boro1234
0
140
SLI/SLO・ラプソディあるいは組織への適用の旅
nwiizo
4
710
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略
ryu955
2
160
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
1.9k
VISITS_20250311_こねくとあいとりおす.pdf
iotcomjpadmin
0
200
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
310
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
120
View Transition API
shirakaba
1
630
Dapr For Java Developers SouJava 25
salaboy
0
100
我々に残された仕事はあるのか?
taishiyade
0
170
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
590
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.3k
Gamification - CAS2011
davidbonilla
80
5.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
600
Code Review Best Practice
trishagee
67
18k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
The Language of Interfaces
destraynor
156
24k
Producing Creativity
orderedlist
PRO
344
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
101
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
BBQ
matthewcrist
88
9.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Transcript
RDocͷվળҊΛͻͨ͢Β͠Ό Δ͚ͩ দߐRubyձٞ11 2024-10-05, OKURA Masafumi
RDocͷվળҊΛͻͨ͢Β͠Ό Δ͚ͩ RDocͷ՝ཧ দߐRubyձٞ11 2024-10-05, OKURA Masafumi
Dev.introduce self • ໊લɿେխ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsνʔϑΦʔΨφΠβʔɺ”OH!
MY RUBYISTS” ϙουΩϟετओ࠻ɺAlba࡞ऀͳͲ • দߐͱࢲɿদߐʹདྷΔͷ3ճʢ2019, 2023ʣɺ12݄ʹদߐʹདྷ ·͢
None
None
None
RDoc
“RDoc produces HTML and command-line documentation for Ruby projects. RDoc
includes the rdoc and ri tools for generating and displaying documentation from the command-line.”
ʮRDocRubyϓϩδΣΫτ͚ͷ HTML/ίϚϯυϥΠϯυΩϡϝϯτΛ ੜ͠·͢ɻRDocʹίϚϯυϥΠ ϯ͔ΒυΩϡϝϯτΛੜɾදࣔ͢Δ rdocͱriπʔϧؚ͕·Ε͍ͯ·͢ɻʯ ༁
ʲॏཁʳ RDoc3.3ܥͰ default gem
RDocඪ४Ͱ ͑Δݱ࣌Ͱ །Ұͷ υΩϡϝϯτπʔϧ
ʲॏཁʳ RDoc ࣺͯΒΕͳ͍
RubyͷCίʔυ RDocͰύʔε ͢Δඞཁ͕͋Δ
RDocΛ վળ͢Δඞཁ ͕͋Δ
YARDʁ
ͦΕͦΕ ϝϯςφϯεঢ়گͦ͜·Ͱྑ͘ͳ͍
RDocͱΘͨ͠
Back to 2020…
Albaͷ։ൃ
Rubyͱͯ շదͰָ͍͠
YARD
None
ָ͘͠ͳ͍
ͬͱྑ͍ํ๏͕ ͋ΔͷͰʁ
2023
Niwa
New Integrated Working Annotations
New Integrated Working Annotations
֤छπʔϧͱ υΩϡϝϯτͷ ౷߹
ྫ͑ܕ
ʮRBS͕͋Δͷʹ ͳΜͰYARDͷܕ Λॻ͍͍ͯΔʁʯ
RubyKaigi 2024 Day3
όʔʹͯ
Stan Lo
ʮͳΜ͔υΩϡϝϯτͷ͜ ͱͬͯΔΈ͍͚ͨͩͲɺ Ͳ͏ͤͳΒRDocͬͨ΄͏ ͕ϢʔβʔʹӨڹΛ༩͑Β ΕΔΑʯ
ࣗʮͦ͏͔ʯ
RDocͷ՝
RDocͷ՝ • ܕγεςϜʢͱ͍͏͔rbs-inlineʣͱͷ౷߹ • σΟϨΫςΟϒ͕ͯ͘͠දݱྗ͕͍ • YARDͷλά͕͍͍ͨ • ֦ுੑ͕͍ •
ྫ͑LSP͔Β৮Γ͍ͨͱ͖ʹͲ͏͢Δʁ
ܕγεςϜͱͷ ౷߹
rbs-inline
RDocʹͱͬͯ ݱঢ়ͨͩͷจࣈྻ
https://github.com/soutaro/rbs-inline/issues/8
“1. Supporting some YARD syntaxes that can easily be used
for type de fi nition, like @param and @return 2. Providing a YARD plugin to support converting @rbs methods for documentation generation”
rbs-inline YARD
rbs-inline RDoc
σΟϨΫςΟϒ ͱ λά
σΟϨΫςΟϒ ͱ
:nodoc:
σΟϨΫςΟϒ RDocͷڍಈΛ ੍ޚ͢Δ
λάͱ
@param @return @since
RDocʹ λά͕ͳ͍
σΟϨΫςΟϒ ݸผͷίʔυͷ Ξϊςʔγϣϯʹ ͔ͳ͍ ※ݸਓͷݟղͰ͢
λά΄͍͠ʂ
ͱ͍͏͔ YARDه๏͕ ΄͍͠ʂ
ͦͦࣗͨͪͷ ϓϩμΫτYARDͰ ίϝϯτΛॻ͍͍ͯΔ
RDoc͕YARDΛ ཧղ͢Ε Α͍ͷͰʁ
RDocͷ֦ுੑ
ྫ͑RDocʹ ύʔαʔΛՃ ͍ͨ͠
None
͍͠
υΩϡϝϯτԽ ͞Εͯͳ͍ ʢRDocͳͷʹʣ
ύʔαʔ ͚ͩ͡Όͳ͍
৭ʑͳͷͨͪ ͱ࿈ܞ͍ͨ͠
৭ʑͳͷͨͪ ʹΑ֦ͬͯுͰ͖ ΔΑ͏ʹ͍ͨ͠
ʮϓϥάΠϯʯ తͳAPI͕΄͍͠
ύʔαʔͷՃ ʢYARDͳͲʣ
ίʔυ ΦϒδΣΫτͷ ֦ு
ग़ྗઌͷ Ճ ʢLSPͳͲʣ
https://github.com/ruby/rdoc/issues/1178
·ͱΊɿ ϑϨʔϜϫʔΫ ͱͯ͠ͷRDoc
υΩϡϝϯτͷ ཁٻ૿େ ͍ͯ͠Δ
ʲ͓·͚ʳ AI knows what, but not why
ʲ͓·͚ʳ ίʔυͷഎܠ ਓ͕ؒॻ͔͘͠ͳ͍
RDoc
།Ұͷެࣜ υΩϡϝϯτ πʔϧ
ͯ͜ೖΕ͍ͨ͠
՝ݱʹ ΑͬͯҟͳΔ
ҟͳΔݱʹҟͳΔ՝ • Rails APIΛ࡞͍ͬͯΔνʔϜ • ͔ͤͬ͘υΩϡϝϯτΛ࡞ͬͯϝϯς͞Εͳ͍ • Gem࡞ऀ • ܕఆٛͱυΩϡϝϯτΛ౷߹͍ͨ͠
• Rubyݴޠ։ൃऀ • ݶΒΕͨίϝϯτεϖʔεΛ༗ޮར༻͍ͨ͠ʢʁʣ
ҟͳΔ՝ʹҟͳΔղܾࡦ • ͔ͤͬ͘υΩϡϝϯτΛ࡞ͬͯϝϯς͞Εͳ͍ • ྫ͑ࣗࣾͷطଘυΩϡϝϯτͱ౷߹͢ΔͨΊͷRDocϓϥάΠϯ • RSpecͷ༰Λύʔεͯ͠υΩϡϝϯτԽ͢ΔRDocϓϥάΠϯ • ܕఆٛͱυΩϡϝϯτΛ౷߹͍ͨ͠ •
.rbsϑΝΠϧʹॻ͔Εͨ༰ΛύʔεͰ͖ΔRDocϓϥάΠϯ • ݶΒΕͨίϝϯτεϖʔεΛ༗ޮར༻͍ͨ͠ʢʁʣ • ঢ়گʹ߹ΘͤͯϓϥάΠϯΛ͚ସ͑Δʢʁʣ
࠷ऴඪɿ
υΩϡϝϯτ ָ͘͠ॻ͚Δ Α͏ʹͳΔ
ͨͷ͍͠RDoc