我的存储库有几个包含 smartBASIC 源代码的 *.sb 文件。这些文件不会显示在存储库的语言栏中(因为 smartBASIC 及其关联的文件扩展名不是默认语言学家定义的一部分)。
将扩展名映射sb到文件中的smartBASIC.gitattributes:
**/*.sb linguist-language=smartBASIC
Run Code Online (Sandbox Code Playgroud)
并确保映射不被“忽略”:
**/*.sb linguist-vendored=false
**/*.sb linguist-generated=false
**/*.sb linguist-documentation=false
**/*.sb linguist-detectable=true
Run Code Online (Sandbox Code Playgroud)
没有达到预期的效果。文件sb按预期进行处理,但smartBASIC不是预定义的语言,因此自定义映射不会生成任何语言统计信息。(我通过将文件映射到另一种语言 (C++) 并让它们显示在语言栏统计信息中(作为 C++)来验证这一点。
从其他问题(将自定义语言添加到 GitHub 存储库、在 github 存储库中自定义语言)看来,要获得映射到新语言的新扩展,需要将其添加到 Linguist(更具体地说,至少必须添加该语言)。从 Linguist 文档中可以清楚地看出,只有当新语言/扩展在 GitHub 存储库中有足够的存在时,才会添加它们。这是完全有道理的。然而,这也意味着没有明显的方法将sb扩展映射到smartBASIC语言并将其显示在语言栏中(例如,存储库统计数据为 60% smartBASIC、30% Python、10% 其他)。
问题:是否可以使用 Linguist 覆盖将文件扩展名映射到 GitHub 上的新语言,而不将新语言添加到 Linguist 本身?
是否可以使用其他方式?
(这个问题是关于存储库的语言统计信息。语法突出显示和其他自定义在此阶段是次要的。)
我刚刚创建了一个新的 Laravel 项目,并且正在设置我的.gitattributes语言学家属性。问题是,我不确定要为哪些文件/目录设置哪些。
默认.gitattributes文件如下所示:
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore
Run Code Online (Sandbox Code Playgroud)
首先,为什么所有.css,.scss和.js文件都设置为linguist-vendored?这不仅会从 Linguist 中排除所有此类用户创建的文件,而且 Laravel 也只有这些文件中的 1、2 和 4 个,这将如何显着影响语言学家的统计数据?
其次,是否有关于哪些文件应标记为的约定/标准linguist-vendored?我应该标记所有 Laravel 文件,只标记那些我不修改的文件,只标记vendor目录,还是根本不标记?或者甚至是别的什么?
提前致谢 !
通常你可以在右上角看到你的项目存在的东西,PHP的多少%,JS的多少%等等.
在我当前的项目中,这是不可见的,我已经尝试删除并在Github上再次添加它,但没有运气.它最初是从另一个回购分支出来的,但现在不再存在那个回购.


我已经在这里和这里阅读了相关的 SO 线程,以及 Github Linguist手动覆盖,但我似乎无法从语言统计中排除一些顶级目录。
在当前的最新版本中,此存储库显示了 HTML 代码的优势。单击 HTML 详细信息,会列出两个 HTML 文件:
packages/NUnit.2.5.7.10213/NUnitFitTests.html
最后索引于 2016 年 12 月 30 日。
packages/NUnit.2.5.7.10213/Tools/NUnitFitTests.html
最后索引于 2016 年 12 月 30 日。
但那些应该是排除路径的一部分.gitattributes:
.nuget/* linguist-vendored
libs/* linguist-vendored
NUnit.Runners.2.6.4/* linguist-vendored
packages/* linguist-vendored §§ <--- this one in particular
RubyInstallationFiles/* linguist-vendored
Run Code Online (Sandbox Code Playgroud)
但是在同一个详情页中,左下角的排名清楚地显示了 HTML 在较低的位置,而 C# 则位于顶部:
我究竟做错了什么?
附带问题:在许多更改中,我还删除了 .gitattribute 文件中的注释,因为我无法从任何参考中找到这些注释是否允许或什么。有谁知道你是否可以在那里发表评论?哪种格式?助教
我想知道是否有办法通过使用 GitLab 提供的 API 来获取项目中使用的语言(每种语言的百分比)。我检查了他们的文档,但我没有看到任何相关信息,或者我可能错过了。
我知道他们使用语言学家库,但我正在开发一个不是 Ruby 的应用程序,我正在寻找一种方法来整合这些百分比。
我有一个包含一些文本的字符串。文本可能是也可能不是代码。使用 Github 的语言学家,只有当我给它一个候选列表时,我才能检测到可能的编程语言。
# test_linguist_1.rb
#!/usr/bin/env ruby
require 'linguist'
s = "int main(){}"
candidates = [Linguist::Language["Python"], Linguist::Language["C"], Linguist::Language["Ruby"]]
b = Linguist::Blob.new('', s)
langs = Linguist::Classifier.call(b, candidates)
puts langs.inspect
Run Code Online (Sandbox Code Playgroud)
执行:
$ ./test_linguist_1.rb
[#<Linguist::Language name=C>, #<Linguist::Language name=Python>, #<Linguist::Language name=Ruby>]
Run Code Online (Sandbox Code Playgroud)
请注意,我给了它一份候选人名单。 如何避免必须定义候选人列表?
我尝试了以下方法:
# test_linguist_2.rb
#!/usr/bin/env ruby
require 'linguist'
s = "int main(){}"
candidates = Linguist::Language.all
# I also tried only Popular
# candidates = Linguist.Language.popular
b = Linguist::Blob.new('', s)
langs = Linguist::Classifier.call(b, candidates)
puts langs.inspect
Run Code Online (Sandbox Code Playgroud)
执行:
$ ./test_linguist_2.rb
/home/marvelez/.rvm/gems/ruby-2.2.1/gems/github-linguist-4.8.9/lib/linguist/classifier.rb:131:in `token_probability': undefined method …Run Code Online (Sandbox Code Playgroud) 我有一个仅限 C的 GitHub存储库。在我最近一次提交后,我修改了头文件中的预处理器间距,GitHub 决定我的存储库是 50.2% C++。我点击链接查看C++ 代码,它显示了我的头文件portable.h.
为什么 GitHub 认为我的 repo 是 50% 的 C++?更重要的是,我该如何改变主意?
我将所有生成的文件存储在构建文件夹中,并尝试忽略拉取请求中的这些文件,我发现并使用以下方法来执行此操作:
1.在根目录下创建.gitattributes文件。
2.添加此代码:
build/**/* linguist-generated=true
/build/**/* linguist-generated=true
/build/**/*.html linguist-generated=true
build/*.html linguist-generated=true
build/ linguist-generated=true
/build/ linguist-generated=true
build/name.html linguist-generated=true
/build/name.html linguist-generated=true
Run Code Online (Sandbox Code Playgroud)
我知道所有这些行可能不是必需的,但这是我已经尝试查看它是否有效的所有内容,但构建文件夹中的文件仍然显示在 PR 更改的文件选项卡中,我在这里做错了什么?
我编写了包含部分代码的 README.md,我想用正确的颜色突出显示这些部分。
其中一个代码是.gitignore 代码,我想将其集成到我的README.md中。但我无法为此提供良好的语言学家突出显示,例如,我的评论会以绿色显示。
我搜索了 GFM 检测到的一些语言,但对结果不满意。
有人可以帮我找到好的语言学家吗?
PS:我还想在 REAMDE 代码突出显示中询问 DockerFile、docker-compose。
谢谢,木须龙
markdown syntax-highlighting gitignore readme github-linguist
我用Python编写了一个程序,并使用Bootstrap作为它的前端.
当我在GitHub上传目录时,它显示该项目是90%的JavaScript,只有7.5%的Python.我知道这是因为Bootstrap文件夹中的JS目录而发生的.
我需要将Python显示为repo的主要项目语言.
我做了一些研究,并了解到将文件添加.gitattributes到项目中是一种解决方案,但我不知道在该文件中添加什么来让Github在评估项目的主要语言时忽略JavaScript.
我查看了官方.gitattributes手册页,但找不到直接解决此问题的方法.
这是回购的样子
编辑:所有的CSS和JS文件都在static/文件夹中,所以我.gitattributes在repo中添加了一个文件并添加static/* linguist-vendored到第一行,但是repo仍然将JS显示为90%的语言.