Як зазначалося на довідковій сторінці GitHub
GitHub використовує бібліотеку лінгвістів з відкритим кодом для визначення мов файлів для виділення синтаксису та статистики сховищ.
Деякі файли важко ідентифікувати, а іноді проекти містять більше файлів бібліотек та постачальників, ніж їх основний код.
Тож вам потрібно проконсультуватися github/linguist#troubleshooting
, щоб виправити цю ситуацію.
Проценти обчислюються на основі байтів коду для кожної мови, як повідомляється API Language Languages .
Якщо на панелі повідомляється мова, якої ви не очікуєте:
- Клацніть на назві мови на панелі статистики, щоб побачити список файлів, ідентифікованих як ця мова.
- Якщо ви бачите файли, які ви не написали, розгляньте можливість переміщення файлів в один із контурів для вендорованого коду або скористайтеся функцією ручного заміщення, щоб їх ігнорувати.
- Якщо файли неправильно класифікуються, знайдіть відкриті проблеми, щоб побачити, чи хтось ще повідомив про проблему. Будь-яка інформація, яку ви можете додати, особливо посилання на загальнодоступні сховища, є корисною.
- Якщо немає жодних повідомлень про цю помилкову класифікацію, відкрийте випуск і включіть посилання на сховище або зразок коду, який піддається класифікації.
Оновлення лютого 2017 року (через рік):
Стаття " Як змінити мову репо в GitHub " від Моніки Пауелл
Дослідивши, як вирішити GitHub, не підлягаючи класифікації мови ваших проектів, я з'ясував, що рішення є таким же простим, як і сказати GitHub, які файли ігнорувати.
Хоча ви все ще хочете зафіксувати ці файли для GitHub і тому не можете скористатись, .gitignore
ви можете сказати лінгвісту GitHub, які файли ігнорувати у .gitattributes
файлі
static/* linguist-vendored
Цей однорядковий файл сказав GitHub ігнорувати всі мої файли в моїй static/
папці, де CSS та інші активи зберігаються для програми Flask
Розділ "Використання .gitattributes
" ілюструє, як маркувати неправильні мови.
Наприклад:
Перевірка коду, який ви не писали, наприклад, бібліотеки JavaScript, у свою git repo, є звичайною практикою, але це часто надуває статистику мови вашого проекту і навіть може спричинити маркування вашого проекту як іншої мови .
За замовчуванням лінгвіст розглядає всі шляхи, визначені vendor.yml
як надані, і тому не включає їх у мовну статистику для сховища.
Використовуйте лінгвістичний атрибут для постачальників або непродажкових шляхів.
$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false