标签 Github 下的文章

使用 Docsify 创建文档网页并发布到 GitHub Pages 上。

文档是帮助用户使用开源项目一个重要部分,但它并不总是开发人员的首要任务,因为他们可能更关注的是使他们的应用程序更好,而不是帮助人们使用它。对开发者来说,这就是为什么让发布文档变得更容易是如此有价值的原因。在本教程中,我将向你展示一个这样做的方式:将 Docsify 文档生成器与 GitHub Pages 结合起来。

默认情况下,GitHub Pages 会提示用户使用 Jekyll,这是一个支持 HTML、CSS 和其它网页技术的静态网站生成器。Jekyll 可以从以 Markdown 格式编码的文档文件中生成一个静态网站,GitHub 会自动识别它们的 .md.markdown 扩展名。虽然这种设置很好,但我想尝试一下其他的东西。

幸运的是,GitHub Pages 支持 HTML 文件,这意味着你可以使用其他网站生成工具(比如 Docsify)在这个平台上创建一个网站。Docsify 是一个采用 MIT 许可证的开源项目,其具有可以让你在 GitHub Pages 上轻松创建一个有吸引力的、先进的文档网站的功能

 title=

开始使用 Docsify

安装 Docsify 有两种方法:

  1. 通过 NPM 安装 Docsify 的命令行界面(CLI)。
  2. 手动编写自己的 index.html

Docsify 推荐使用 NPM 方式,但我将使用第二种方案。如果你想使用 NPM,请按照快速入门指南中的说明进行操作。

从 GitHub 下载示例内容

我已经在该项目的 GitHub 页面上发布了这个例子的源代码。你可以单独下载这些文件,也可以通过以下方式克隆这个存储库

git clone https://github.com/bryantson/OpensourceDotComDemos

然后 cd 进入 DocsifyDemo 目录。

我将在下面为你介绍这些代码,它们克隆自我的示例存储库中,这样你就可以理解如何修改 Docsify。如果你愿意,你也可以从头开始创建一个新的 index.html 文件,就像 Docsify 文档中的的示例一样:

<!-- index.html -->

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      //...
    }
  </script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
</body>
</html>

探索 Docsify 如何工作

如果你克隆了我的 GitHub 存储库,并切换到 DocsifyDemo 目录下,你应该看到这样的文件结构:

 title=

文件/文件夹名称内容
index.html主要的 Docsify 初始化文件,也是最重要的文件
_sidebar.md生成导航
README.md你的文档根目录下的默认 Markdown 文件
images包含了 README.md 中的示例 .jpg 图片
其它目录和文件包含可导航的 Markdown 文件

index.html 是 Docsify 可以工作的唯一要求。打开该文件,你可以查看其内容:

<!-- index.html -->

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
  <title>Docsify Demo</title>
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      el: "#app",
      repo: 'https://github.com/bryantson/OpensourceDotComDemos/tree/master/DocsifyDemo',
      loadSidebar: true,
    }
  </script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
</body>
</html>

这本质上只是一个普通的 HTML 文件,但看看这两行:

<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
... 一些其它内容 ...
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>

这些行使用内容交付网络(CDN)的 URL 来提供 CSS 和 JavaScript 脚本,以将网站转化为 Docsify 网站。只要你包含这些行,你就可以把你的普通 GitHub 页面变成 Docsify 页面。

<body> 标签后的第一行指定了要渲染的内容:

<div id="app"></div>

Docsify 使用单页应用(SPA)的方式来渲染请求的页面,而不是刷新一个全新的页面。

最后,看看 <script> 块里面的行:

<script>
    window.$docsify = {
      el: "#app",
      repo: 'https://github.com/bryantson/OpensourceDotComDemos/tree/master/DocsifyDemo',
      loadSidebar: true,
    }
</script>

在这个块中:

  • el 属性基本上是说:“嘿,这就是我要找的 id,所以找到它并在那里呈现。”
  • 改变 repo 值,以确定当用户点击右上角的 GitHub 图标时,会被重定向到哪个页面。  title=
  • loadSideBar 设置为 true 将使 Docsify 查找包含导航链接的 _sidebar.md 文件。

你可以在 Docsify 文档的配置部分找到所有选项。

接下来,看看 _sidebar.md 文件。因为你在 index.html 中设置了 loadSidebar 属性值为 true,所以 Docsify 会查找 _sidebar.md 文件,并根据其内容生成导航文件。示例存储库中的 _sidebar.md 内容是:

<!-- docs/_sidebar.md -->


* [HOME](./)

* [Tutorials](./tutorials/index)
  * [Tomcat](./tutorials/tomcat/index)
  * [Cloud](./tutorials/cloud/index)
  * [Java](./tutorials/java/index)

* [About](./about/index)

* [Contact](./contact/index)

这会使用 Markdown 的链接格式来创建导航。请注意 “Tomcat”、“Cloud” 和 “Java” 等链接是缩进的;这意味着它们被渲染为父链接下的子链接。

README.mdimages 这样的文件与存储库的结构有关,但所有其它 Markdown 文件都与你的 Docsify 网页有关。

根据你的需求,随意修改你下载的文件。下一步,你将把这些文件添加到你的 GitHub 存储库中,启用 GitHub Pages,并完成项目。

启用 GitHub 页面

创建一个示例的 GitHub 存储库,然后使用以下 GitHub 命令检出、提交和推送你的代码:

$ git clone 你的 GitHub 存储库位置
$ cd 你的 GitHub 存储库位置
$ git add .
$ git commit -m "My first Docsify!"
$ git push

设置你的 GitHub Pages 页面。在你的新 GitHub 存储库中,点击 “Settings”:

 title=

向下滚动直到看到 “GitHub Pages”:

 title=

查找 “Source” 部分:

 title=

点击 “Source” 下的下拉菜单。通常,你会将其设置为 “master branch”,但如果你愿意,也可以使用其他分支:

 title=

就是这样!你现在应该有一个链接到你的 GitHub Pages 的页面了。点击该链接将带你到那里,然后用 Docsify 渲染:

 title=

它应该像这样:

 title=

结论

通过编辑一个 HTML 文件和一些 Markdown 文本,你可以用 Docsify 创建一个外观精美的文档网站。你觉得怎么样?请留言,也可以分享其他可以和 GitHub Pages 一起使用的开源工具。


via: https://opensource.com/article/20/7/docsify-github-pages

作者:Bryant Son 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

GitHub 开发者自制火星车,教程全面开源

这款 3D 打印的移动机器人在设计上参考了美国宇航局的“好奇号” 火星车,它不仅可以在坑坑洼洼的沙地上顺畅行驶。作者表示,项目仍需要进行大量调整才能使开放源代码版本更加完善,基于目前的基础平台,任何有经验的技术人员都可以进一步参与构建它,至于什么时候能拥有,或许需要一年,或者更长时间。

来源:雷锋网

拍一拍:开源的力量。

IBM 完成全同态加密的实地测试

IBM 透露它成功完成了全同态加密的实地测试,为一家美国大型银行和一家欧洲大型银行执行了全同态加密的实地测试。全同态加密(FHE)允许对密文进行特定的代数运算得到仍然是加密的结果,与对明文进行同样的运算再将结果加密一样。这项技术可以在加密的数据中进行检索、比较等操作,整个处理过程中无需对数据进行解密。同态加密技术从根本上解决将数据及其操作委托给第三方时的保密问题。

来源:solidot

拍一拍:很有价值的方向,不过距离更多的使用场景还有一定距离。

可拆卸更换键位,System76 的 Linux 键盘原型浮现

该键盘的开发已进入了原型制作阶段,System76 透露了有关键盘的整体构想和更多细节。他们以 U 为单位,将键位分为三种大小:1U(字母/数字键),1.5U(例如 Tab 键)和 2U(例如 Shift 键)。空格键则被分解为两个 2U 键。这款 Linux 键盘上的键位可物理更换,例如将 Backspace 放在 Space 旁边。根据 System76 的计划,新键盘将能够与 Pop!\_OS 上的 Auto-Tiling 完美契合。

来源:开源中国

拍一拍:键盘也该有点新意了,期待看到新的产品出现。

Facebook 将 Windows 版 PyTorch 的开发维护权移交给微软

PyTorch 是基于 Torch 的开源 Python 机器学习库,由 Facebook 的人工智能研究团队开发。特斯拉的自动驾驶和 Uber 的 Pyro 等深度学习项目都构建于 PyTorch 之上。此前,Facebook 的工程师们做了大量努力,在 Windows 上添加了对 PyTorch 的支持。但由于资源有限,Windows 对 PyTorch 的支持落后于其他平台。但微软已扩大了对 PyTorch 社区的参与,现在拥有 PyTorch 在 Windows 上的开发和维护所有权。

拍一拍:似乎大家已经习惯了微软在开源方面做出各种贡献了,因为我看到这个消息毫不吃惊。

来源:开源中国

微软首次公布 GitHub 产品路线图

微软于今日首次公布了 GitHub 产品路线图(https://github.com/github/roadmap),这个新建的公共信息库允许任何人访问,除了做好在未来几个季度内迎来新功能的准备,开发者还可积极地向开发团队提交反馈。路线图上的每个项目都可以当做一个提问版块。

来源:cnBeta.COM

拍一拍:大家对这个 GitHub 有什么期望都去反馈一下了。

华为将 HMS 生态优先级提升至最高,目前已有 2500 个应用

华为轮值 CEO 徐直军认为,“打造 HMS 生态是可以最快的解决华为手机在海外不可用的状态,这是首要任务,优先级最高的任务。虽然 GMS 不可以用了,但是 AOSP 是开源软件是可用的,基于 AOSP 打造一个 HMS 替代 GMS,让开发者可以很快的构建全球 HMS 生态。”

来源:搜狐IT

拍一拍:虽然现在艰难,但是这一关是必须过的。

Meow 攻击自动删除不安全的 Elasticsearch 数据库

有攻击者使用自动脚本扫描开放的不安全的 Elasticsearch 和 MongoDB 数据库,找到之后直接将其删除,不解释,不留下任何通知。至今已经有大约 4000 个数据库遭到删除。攻击者在日志里留下了 $randomstring-meow 的信息,因此这次攻击被称为 Meow 攻击。

来源:solidot

拍一拍:用户没有安全习惯固然是一个根本原因,但是作为软件产品自身没有默认强制安全措施埋下了祸根。

OpenJDK 项目从 Mercurial 迁移到 GitHub

预计迁移将在 2020 年 9 月完成。OpenJDK 从 2008 年起使用 Mercurial 管理源代码,如今部分 OpenJDK 项目如 Loom、Valhalla 和 JMC 已经迁移到 GitHub,还有部分项目正在迁移中,而到 9 月份 OpenJDK 主线也将正式加入进来。

来源:solidot

拍一拍:看来版本控制系统的巨头化已经不可避免,而这会阻碍版本控制产品和模式的发展。

Zstd 显著提升 Linux 内核镜像压缩效率

Facebook 工程师 Nick Terrell 近日向 Linux 内核提交了使用 Zstd 压缩 Linux 内核镜像的补丁,这些补丁显示了使用 Zstd 对内核、ramdisk 和 initramfs 进行压缩操作具备巨大潜力。在 x86\_64 硬件上,当初始 RAM 文件系统将压缩算法从 XZ 切换到 Zstd 时,解压时间从 12 秒下降到只需 3 秒。此外,这将有助于清理更多的内核代码,因为 Bzip2 和 LZMA 目前并没有在内核树之外的其他地方使用。

来源:开源中国

拍一拍:清理一些不合时宜的算法和惯例才能与时俱进。

微软推出经典进程监控工具 Procmon 的 Linux 版本

微软最近为 Windows Sysinternals 工具集中的 Process Monitor 应用程序打造了 Linux 版本,并将其以 MIT 协议开源了出来。Process Monitor 是一种进程监控工具,为开发者提供了简便有效的方式来跟踪系统调用活动。该工具能够帮助诊断程序崩溃、资源占用率过高,甚至是潜在的恶意感染等问题。

来源:开源中国

拍一拍:看起来是一个很棒的工具,微软的贡献也同样值得赞许。

GitHub 完成北极源代码存档

去年底 GitHub 透露它正将开源代码库保存在北极洞穴。储存媒介使用挪威公司 Piql AS 制造的胶片,Piql 称在正常条件下胶片能保存 750 年,在寒冷干燥低氧洞穴内能保存 2000 年。本周四,GitHub 官方博客宣布,其公开代码库的快照已经成功储存在北极的 Arctic Code Vault。GitHub 同时宣布了新的徽章 Arctic Code Vault Badge,源代码被收录储存在北极的开源开发者的个人资料页面将显示该徽章。

来源:solidot

拍一拍:你得到了北极代码贡献者徽章了吗?想想 1000 年后你留下的唯一痕迹就是你写的 Hello World,也挺带劲的。?

声称不记录日志的 VPN 公司泄露了 2000 万用户日志

声称保护用户隐私的公司却不能保护自己的,声称不记录任何日志的公司却被发现记录了大量用户日志。香港 VPN 服务商 UFO VPN 因其 Elasticsearch 数据库没有任何密码保护而暴露了超过 2000 万用户日志。其中包含了明文密码、IP 地址、用户连接的时间戳、会话令牌、设备信息、操作系统和地理位置信息。这不仅意味着用户账号容易被接管,也意味着用户能被跟踪,而使用会话令牌加密的数据能被解密。

来源:solidot

拍一拍:“我不会告诉你他出去了”

华为在美国发起专利诉讼

华为在美国针对电信公司 Verizon 及其供应商思科和惠普发起了专利侵权诉讼,要求为数百项专利支付使用费。在移动行业,专利持有者通过 FRAND(公平、合理和非歧视)原则共享标准必要专利,此举旨在防止专利持有者通过歧视性的授权阻止竞争对手使用技术。然而,美国政府对华为的技术禁令禁止美国公司与华为共享技术和专利,FRAND 平衡被打破了,因此华为可以要求美国公司为专利支付使用费。

来源:solidot

拍一拍:来而不往非礼也。

假冒特斯拉 CEO 的比特币虚荣地址骗取了用户 200 万美元

虽然比特币赠品骗局已经存在了两年多,但新招数帮助骗子净赚了大量利润。新的伎俩涉及使用比特币虚荣地址,以使骗局在可疑用户眼中更具可信度。虚荣地址是指在地址本身中加入一个自定义词的比特币地址--比如 “1MuskPsV7BnuvMuHGWmmXUyXKjxp3vLZX6”或“1ELonMUsKZzpVr5Xok8abiXhhqGbdrnK5C”。BitcoinAbuse 上追踪到了 67 个被诈骗用户举报的虚荣地址。总数达到了 214 个比特币,已经超过 200 万美元。

来源:ZDNet

拍一拍:我也有个极好的虚荣比特币地址 1inuxcnbtc.....,就是没人给我打 BTC。

谷歌前广告主管正在打造一款无广告的搜索引擎

Sridhar Ramaswamy于2013年成为谷歌广告和商务高级副总裁。他领导着这个价值1150亿美元的分支机构达五年之久。但因受够了谷歌的暴利和客户与广告商之间的利益冲突,Ramaswamy选择离开谷歌并创建了自己的搜索引擎,搜索结果由必应提供并使用苹果地图来提供导航。

来源:cnBeta.COM

拍一拍:放下屠刀立地成佛。?

量子计算机领域内第一种高级编程语言 Silq 诞生

苏黎世联邦理工学院的计算机科学教授 Martin Vechev 与他的团队设计出了量子计算机领域内第一种高级编程语言 Silq,它能够像传统计算机语言一样简单、安全又可靠。Vechev 教授表示,“与现有编程语言相比,量子编程语言 Silq 能够使程序员更好地利用量子计算机的潜力,因为这些代码更加紧凑、速度更快、更实用,并且更易于理解。”

来源:开源中国

拍一拍:不知道何时量子计算机才能真正发挥作用,目前的进步虽然可喜,但是仍然不足以产生实际的用途。

GitHub 发布代码检查工具 Super Linter

开发者可以使用 Python、JavaScript、Go、XML、YAML 和更多编程语言的流行的代码检查工具来检查他们的代码库。GitHub 工程师 Lucas Gravley 将 Super linter 描述为“一个统治其它 Linter 的 Linter”。新的 Super Linter 工具建立在 GitHub 的 Actions 工具上,用于自动化某些开发工作流程,目的是防止破损的代码被上传到主分支。GitHub 将其描述为“用 bash 编写的各种 linter 工具的简单组合,以帮助验证你的源代码”。

来源:ZDNet