Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Potential for reducing number of ri files

オープン
#1,819 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
ruby
領域
documentation

調査の方向性

ソースファイル、テスト、エントリポイントは指定されていません。まず、RDoc が .ri ファイルを生成する仕組みを追跡し、確認されたファイル数とサイズを比較してください。バンドルされた表現が実現可能かどうかを明らかにし、実装またはフォローアップ提案の範囲を定義できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Is there currently a way to generate .ri files in a more bundled way to reduce the number of files generated? Or it would seem this would be an optimization worth discussing given some statistical analysis.

  1. .ri (and .rb) files are disproportionately populous compared to other file types in a typical Homebrew installation.
cd /opt/homebrew
find . -type f | sed 's/.*\.//' | sort | uniq -c | sort -nr | head
80487 ri
10922 rb
 7478 py
 6551 h
 5838 3
 2476 html
 2338 js
 1765 po
 1729 gz
 1641 elc
  1. 95% of files are under 1k.
  Dir['/opt/homebrew/lib/ruby/gems/4.0.0/doc/*'].each do
    files = Dir["#{it}/**/*.ri"].select { File.file?(it) }
    files.each { puts Math.log(File.size(it), 10).floor }
  end
ri.sh | sort | uniq -c | sort -nr
66580 2
 3898 3
  193 4
    8 5
  1. Some gems like RuboCop, Parser and Prism have disproportionately many files.
  Dir['/opt/homebrew/lib/ruby/gems/4.0.0/doc/*'].each do
    files = Dir["#{it}/**/*.ri"].select { File.file?(it) }
    total = files.sum { File.size(it) } # .tap { warn Math.log(it, 10).floor }
    printf "%d\t%d\t%s\n", total / 1e3, files.length, it.split('/')[8..].join('/')
  end
ri.sh | sort -n
5068	8957	rubocop-1.90.0
2929	8861	parser-3.3.12.0
2544	5406	prism-1.9.0
1558	2653	language_server-protocol-3.17.0.6
1276	1539	rdoc-8.0.0
1231	2284	yard-0.9.45
1005	2110	rubygems-4.0.20
 922	2463	rbs-4.2.0
 914	1347	concurrent-ruby-1.3.8
 888	1579	simplecov-1.2.0
主要言語
Ruby
スター
930
フォーク
465
平均マージ
3日 10時間
マージ済み PR(30日)
27

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ruby/rdoc のほかの issue

ruby/rdoc の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。