本网站是开源的
dev.to 是开源的!
这意味着,当你对它感到恼火时,你可以采取措施。当你认为它有 bug 时,你可以修复它。当你认为它缺少某个功能时,你可以添加该功能。当你对它的工作原理感到困惑时,你可以参考它的实现。当它做了一些很酷的事情时,你可以去看看他们是怎么做的。
这可是个大问题!用闭源工具,我们只能忍受好几年同样的烂摊子!Slack 和 Jira,我说的可是你们啊。
添加功能
所以,我知道有一个 youtube 标签 ( link ),但我的主机在 Vimeo 上。我克隆了 repo ( link )。按照 Readme 中的设置说明,并引用 youtube 标签中的代码,提交了拉取请求,添加了 vimeo 标签 ( link )。
因此,现在如果您输入以下任一内容:
{% vimeo 193110695 %}
{% vimeo https://vimeo.com/193110695 %}
您将看到:
你也可以做到!
虽然不算完美,但我还是完成了。以下是我总结的一些要点:
- 首先浏览 README 文件,了解设置的相关部分。如果你不常用 Ruby,他们推荐rbenv,这是一个不错的选择(我用过ruby-install、chruby和chruby-fish)。不确定你是否需要一个高级的 JS 环境(我已经默认设置了一个)。如果需要,nodenv是我发现的最好的,它和 基本相同
rbenv
,但适用于 Node。具体来说,它们可以跨 shell 工作,你可以通过设置一些环境变量来将它们放置到位,而不是评估代码(这不会影响 shell 启动时间),记得在nodenv rehash
全局安装后运行。 - 测试套件在我的本地机器上并没有完全通过,但我引用的测试确实通过了。根据 README 中的说明,我像这样运行了它:
$ bin/spring rspec spec/liquid_tags/youtube_tag_spec.rb
- 启动速度相当慢(我将此归咎于此),但我等待了一段时间,它就工作了。
- 我真的很喜欢他们处理环境变量的方式。
- 不久前,我意识到自己对 Spring 的理解大错特错,并收回了所有愤怒的评论!谢天谢地,他们在这个应用上用到了 Spring。当你知道如何使用它时,它出问题时可能造成的困惑都是值得的,因为它能帮你节省启动时间。简单来说,你只需要
bin/rails console
……bin/rails server
,如果你修改了配置,或者发现什么问题,就……bin/spring stop
- 我没有弄清楚如何登录,而是从控制台编辑了其中一篇文章:
- 请务必试用你的功能。由于测试没有通过 Markdown 运行输入,当我在控制台中尝试时,它的行为与我的测试不同(Markdown 解析器将输入修改为 Liquid 标签)。另外,当我阅读 PR 模板时,他们提到了文档,我意识到我还没有更新 Markdown 基础知识页面,所以我很快就为此添加了一个提交。
我想这可能就是它的核心所在。我的 PR 并不完美(它只是绕过了 Markdown 的问题,而不是修复它),但对于任何项目来说,总有更多事情要做,而它实现了我的愿望:现在有了 vimeo 标签 ❤️。
对于首次提交者
顺便说一句,我的第一个开源提交(链接)只有一行。那是一个 bug 修复,我花了 8 个小时才搞定!我感觉自己非常脆弱,但幸运的是,Sinatra 的维护者(Konstantin Haase)非常友善,多次为我指明了方向,并最终让我的 PR 顺利通过。对此我深表感谢。Dev.to 的行为准则(链接)以及他们一直以来的友好行为表明,他们也会是优秀的开源软件守护者。
鏂囩珷鏉ユ簮锛�https://dev.to/joshcheek/this-website-is-open-source-3db4