GitHub の言語判定を手動で調整する

GitHub のリポジトリ一覧ページなどに、そのリポジトリの主なプログラミング言語が表示されている。リポジトリ内でコード行数が一番多いプログラミング言語を特定して表示しているようだが、CSS ライブラリのリポジトリなのに、デモ用の HTML コードの方が多く評価されて「HTML が主なリポジトリ」みたいに見えている、といったことが起きたりする。個人的な違和感だけで実害はないのだが、.gitattributes に色々書くと、この言語判定を手動で調整できることを知ったので紹介する。

リポジトリの直下に .gitignore なんかと同じ要領で .gitattributes というファイルを作る。コメントは行頭シャープ # で書ける。以下に記載例を紹介する。

* linguist-vendored
*.js linguist-vendored=false
*.html linguist-detectable=false

他にも対象のディレクトリやファイルを「ドキュメント扱い」とする linguist-documentation、指定の拡張子を別のプログラミング言語と指定する linguist-language など、いくつかの設定が存在する。この仕様は GitHub の Linguist という言語判定ライブラリのドキュメントに記載されているので、詳細はそちらを参照してほしい。

.gitattributes は本来、EditorConfig の簡易版的な感じで、Git 管理上での改行コードの扱いを指定したりできるファイルなのだが、今回は GitHub Linguist による言語判定を調整するために利用した、という次第。

ちなみに、最近拙作の List Repos にも言語名を表示するようにしたので、よかったらコチラもご覧いただきたい。