ありがたいことに、GitHubの無料ユーザーでも、プライベートリポジトリを無制限に使えるようになった。
ということでGitのImport機能を使って、Bitbucketから順次お引越し。
その中で幾つかGit側でリポジトリの主要言語が誤って認識されたので、訂正方法をメモ。
※
と言っても、GitHubが言語認識に用いているライブラリ(github/linguist)のTroubleshooting、Overridesを参照しただけだけれども。
前提
- リポジトリ内部の統計バーをクリックすると、GitHub側が認識している言語統計を見ることができる(知らなかった)
- 言語認識がうまくいかない場合は幾つか要因が考えられる
- Linguistがその言語自体を扱っていない
- 依存するファイル・ライブラリが直接置かれている
- 拡張子がlanguages.ymlと紐づいていない
- 本来除外されるはずのドキュメントが統計対象となっている
依存するHTMLファイルが大量に存在するので、JavaScriptではなくHTMLが主要言語だと判定されてしまっている。
解決策
Vim/Emacs modelineファイルを使う方法もあるようだが、.gitattributes
ファイルの作成のほうで解決する。(主要なのはどちらだろう)
そして下記を参考に記述。.gitignore
みたいなものか。
*.ext linguist-language=Java # ".ext"の拡張子をJavaとして検出
folder/* linguist-vendored # vendored codeとして認識
file.js linguist-vendored=false # vendored codeから除外
folder/* linguist-documentation # documentationとして認識
file.rb linguist-documentation=false # documentationから除外
documentation扱いとすることで言語統計からは除外される。
またvendored code扱いとすることで統計から除外され、さらにGitHubのdiffからも対象外となる。
ということで無事JavaScript:100%となった。