文档对于开源软件项目至关重要。我们询问了我们的贡献者，他们在文档编写中最喜欢使用的标记语言是什么。文档很重要，而易读的文档更重要。在开源软件世界中，文档可以告诉我们如何使用或贡献一个应用程序，就像 游戏 的规则书一样。有很多不同类型的文档：教程操作指南参考指南软件架构产品手册我们向一些贡献者询问了他们的技术文档工作流程，他们更喜欢使用哪种标记语言，以及为什么会选择其中一种。以下是他们的回答。AsciiDoc过去几年中，Markdown 一直是我的标准语言。但最近我决定尝试一下 AsciiDoc 。这种语法并不难，我在 Linux 桌面上的 Gedit 就支持它。我计划暂时坚持使用它一段时间。—- Alan Formy-Duval就低语法标记语言而言，我更喜欢 AsciiDoc。我喜欢它，是因为其转换过程一致且可预测，没有令人困惑的“口味”变化 。我还喜欢将它输出为 Docbook，这是一种我信任其持久性和灵活性的标记语言，它有大量的语法标记。但“正确”的选择往往取决于项目已经在使用什么。如果项目使用某种口味的 Markdown，我就不会使用 AsciiDoc。嗯，公平地说，我可能会使用 AsciiDoc，然后使用 Pandoc 将其转换为草莓味的 Markdown。当然，我认为 Markdown 有其应用的时间和场合。我发现它比 AsciiDoc 更易读。AsciiDoc 中的链接是这样：http://example.com [Example website] 而 Markdown 中的链接是这样：[Example.com](http://example.com) Markdown 的语法直观，以读取 HTML 的方式呈现信息，大多数人都以相同的方式解析此类数据（“Example website……哦，那是蓝色的文本，我将悬停一下以查看它指向哪里……它指向 example.com”）。换句话说，当我的受众是人类读者时，我通常会选择 Markdown，因为它的语法简单，但仍具有足够的语法可以进行转换，因此仍然是一种可接受的存储格式。虽然像 AsciiDoc 这样简洁的语法看起来更令人吃惊，但如果我的受众是要解析文件的计算机，我会选择 AsciiDoc。—- Seth KenlonreStructuredText我是 代码即文档 的忠实支持者，它将开发者工具融入到内容流程中。这样可以更轻松地进行高效的审查和协作，尤其是如果工程师是贡献者。作为一个标记语言的行家，我在 O'Reilly 写了整整一本关于 AsciiDoc 的书，还使用 Markdown 在各个平台上发布了上千篇博文。但目前，我转向使用 reStructuredText，并维护一些相关工具。—— Lorna Mitchell不得不提到 reStructuredText。在我大量使用 Python 编程时，它已成为我的首选。它也是 Python 长期以来用于文档源码和代码注释的标准。与 Markdown 相比，我喜欢它不会受到非标准规范的困扰。话虽如此，当我处理更复杂的文档时，确实还得使用许多 Sphinx 的功能和扩展。—— Jeremy StanleyHTML能不用标记语言我就不用。不过，我发现 HTML 比其他标记语言更易于使用。—— Rikard Grossman-Nielsen对我来说，撰写文档有各种方式。这取决于文档将要放在何处，是作为网站的一部分、软件包的一部分，还是可下载的内容。对于 Scribus 来说，其内部文档采用 HTML 格式，因为需要使用内部浏览器来访问。对于网站，可能需要使用维基语言。而对于可下载的内容，可以创建 PDF 或 EPUB 格式。我倾向于在纯文本编辑器中编写文档。我可能会使用 XHTML，以便将这些文件导入到像 Sigil 这样的 EPUB 制作工具中。当然，对于创建 PDF，我会使用 Scribus，虽然我可能会导入用文本编辑器创建的文本文件。Scribus 具有包含图形并精确控制其布局的优势。Markdown 从未吸引我，我也从未尝试过 AsciiDoc。—— Greg Pittman我目前正在使用 HTML 撰写大量文档，所以我要为 HTML 代言一下。你可以使用 HTML 创建网站或创建文档。请注意，这两者实际上并不相同 —— 当你创建网站时，大多数设计师关注的是呈现。但是当你编写文档时，技术作者应该专注于内容。当我用 HTML 撰写文档时，我遵循 HTML 定义的标签和元素，并不关心它的外观。换句话说，我用“未经样式化”的 HTML 编写文档。稍后我总是可以添加样式表。因此，如果我需要强调文本的某一部分（比如警告），或者给单词或短语加重语气，我可能会使用 和 标签，像这样： 警告：激光！不要用你剩下的那只眼睛看向激光。 或者在段落中提供一个简短的代码示例，我可能会这样写： puts 函数将一些文本输出给用户。 要在文档中格式化一段代码块，我使用 .. ，如下所示：void print_array(int *array, int size) { for (int i = 0; i < size; i++) { printf("array[%d] = %d\n", i, array[i]); } } HTML 的好处在于你可以立即在任何 Web 浏览器中查看结果。而你使用未经样式化的 HTML 编写的任何文档都可以通过添加样式表来美化。—— Jim Hall意料之外的答案：LibreOffice在上世纪 80/90 年代，当我在 System V Unix、SunOS，最后是 Solaris 上工作时，我使用了 nroff、troff 和最终的 groff 与 mm 宏。你可以了解一下使用 groff_mm 的 MM（前提是你已经安装了它们）。MM 并不是真正的标记语言，但它感觉像是。它是一套非常语义化的 troff 和 groff 宏。它具备标记语言用户所期望的大多数功能，如标题、有序列表等等。我的第一台 Unix 机器上也安装了 “Writers' Workbench”，这对我们组织中需要撰写技术报告但没有特别进行“引人入胜”写作的许多人来说是一个福音。它的一些工具已经进入了 BSD 或 Linux 环境，比如样式（style）、用词检查（diction）和外观（look）。我还记得早在上世纪 90 年代初期，Solaris 附带了一个标准通用标记语言（SGML）工具，也可能是我们购买了这个工具。我曾经使用它一段时间，这可能解释了为什么我不介意手动输入 HTML。我使用过很多 Markdown，我应该说是“哪种 Markdown”，因为它有无数种风格和功能级别。正因为如此，我并不是 Markdown 的铁杆粉丝。我想，如果我有很多 Markdown 要处理，我可能会尝试使用一些 CommonMark 的实现，因为它实际上有一个正式的定义。例如，Pandoc 支持 CommonMark（以及其他几种）。我开始使用 AsciiDoc，相比于 Markdown，我更喜欢 AsciiDoc，因为它避免了“你使用的是哪个版本”的讨论，并提供了许多有用的功能。过去，让我对 AsciiDoc 感到困扰的是，有一段时间似乎需要安装 Asciidoctor，这是一个我不太想安装的 Ruby 工具链。但是现在，在我所用的 Linux 发行版中，有了更多的实现方式。奇怪的是，Pandoc 可以输出 AsciiDoc，但不支持读取 AsciiDoc。那些嘲笑我不愿意为 AsciiDoc 安装 Ruby 工具链，却乐意安装 Pandoc 的 Haskell 工具链的人……我听到你们的笑声了。我羞愧地承认，我现在主要使用 LibreOffice。——Chris Hermansen现在就编写文档吧！文档编写可以通过多种不同的途径来完成，正如这里的作者们展示的那样。对于代码的使用方法，特别是在开源领域，进行文档编写非常重要。这确保其他人能够正确地使用和贡献你的代码。同时，告诉未来的用户你的代码提供了什么也是明智之举。（题图：MJ/9543e029-322d-479f-b609-442abc036b73）via: https://opensource.com/article/22/12/markup-languages-documentation作者：Opensource.com 选题：lkxed 译者：ChatGPT 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
这个开源工具可以轻松将 Markdown 转换为网页。将 Markdown 文件直接变成网页，还无需搭建网站和生成过程，写完文档即可直接发布，你对这个内容感兴趣吗？你是否希望将 Markdown 或 HTML 自由地嵌入到多个平台（如内容管理系统或学习管理系统）中？由 Docsify.js 构建的开源项目 Docsify-This 提供了一种简单的方法来发布、分享和复用 Markdown 文件内容。Docsify-This 是什么？使用 Docsify-This，你可以立即将任何 Markdown 文件转换为响应式的独立网页。你还可以将多个 Markdown 文件链接起来，以创建一个简单的网站。网页设计师可以简单地通过点击 Web 页面生成器界面或改变网页的地址参数（即 URL），来更改所显示页面的视觉外观。在创建自己的 Markdown 文件内容时，你还可以使用一组提供的 Markdown CSS 类。此外，如果你使用 Codeberg 或 GitHub 仓库存储 Markdown 文件的话，每个页面都会自动提供一个 “ 编辑此页面 Edit this Page ” 的链接，以支持协同创作。并且 Docsify-This 是开源的，因此你可以使用自定义域名托管 Docsify-This 实例，而不会有被平台锁定的风险。使用 Docsify-This 网页生成器要使用网页生成器，请先打开浏览器，导航到 Docsify-This 网站 或你在本地的实例。在 “ 网页生成器 Web Page Builder ” 部分，输入 Codeberg 或 GitHub 上公共存储仓库中的一个 Markdown 文件的 URL（其他 Git 主机可以通过 Docsify-This URL 参数进行使用，但不能在网页生成器中使用），然后点击 “ 发布为独立网页 Publish as Standalone Web Page ” 的按钮，如下图所示。Markdown 文件将呈现为一个独立的网页，并生成一个可复制和共享的 URL。以下是一个示例 URL：https://docsify-this.net/?basePath=https://raw.githubusercontent.com/hibbitts-design/docsify-this-one-page-article/main&homepage=home.md Docsify-This 生成的网页非常适合嵌入，可以将 Docsify-This 页面的视觉样式调整到目标平台上去。渲染同一存储库中的其他文件你也可以通过直接编辑 Docsify-This URL 参数 homepage 来渲染同一存储库中的其他 Markdown 文件。例如：https://docsify-this.net/?basePath=https://raw.githubusercontent.com/hibbitts-design/docsify-this-one-page-article/main&homepage=anotherfile.md 修改网页的外观你可以使用 URL 参数 更改 Docsify-This 中显示的任何 Markdown 文件的外观。例如，font-family（文本字体系列）、font-size（字体大小）、link-color（超链接颜色）和 line-height（行高）都是常见的 CSS 属性，同时也是 Docsify-This 中的有效参数：https://docsify-this.net/?basePath=https://raw.githubusercontent.com/hibbitts-design/docsify-this-one-page-article/main&homepage=home.md&font-family=Open%20Sans,sans-serif 你也可以使用一组特殊的 Markdown CSS 类 来改变网页的外观。例如，你可以为一个链接添加“按钮类”：[Required Reading Quiz due Jun 4th](https://canvas.sfu.ca/courses/44038/quizzes/166553 ':class=button') 这将产生一个按钮，而不是一个文本链接：除了 Docsify-This 支持的 Markdown CSS 类，你也可以在Markdown 文件中使用自定义类。例如： [Custom CSS Class Button](# ':class=mybutton') 使用这个自定义类将生成这样的按钮：在 Markdown 文件中包含 HTML 片段正如标准 Markdown 所支持的那样，你可以在 Markdown 文件中包括 HTML 片段。这允许你在你的 HTML 渲染中添加布局元素。例如： Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 使用 iFrame 嵌入 Docsify-This 网页你可以在几乎所有的平台上使用 iFrame 嵌入 Docsify-This 网页。你还可以使用 URL 参数来确保你的嵌入内容与你的目标平台相匹配： 使用外部 URL 嵌入 Docsify-This在某些学习管理系统中，包括开源的 Moodle，或者专有的 Canvas，你可以将外部网页链接到课程导航菜单。例如，你可以使用 Canvas 中的重定向工具来显示 Docsify-This 网页。url=https://docsify-this.net/?basePath=https://raw.githubusercontent.com/paulhibbitts/cmpt-363-222-pages/main&homepage=resources.md&edit-link=https://github.com/paulhibbitts/cmpt-363-222-pages/blob/main/resources.md&font-family=Lato%20Extended,Lato,Helvetica%20Neue, Helvetica,Arial,sans-serif&font-size=1&hide-credits=true 整合 Docsify-This 和 Git为了充分利用版本控制的好处，并使用 “ 编辑此页面 Edit this Page ” 的链接进行协同工作，请将你的 Docsify-This Markdown 文件存储在 Codeberg 或 GitHub 的 Git 存储库中。一些开源工具为 Git 提供了一个图形界面，包括 GitHub Desktop（最近已开源）、Git-Cola 和 SparkleShare。文本编辑器 VSCode 和 Pulsar Edit（以前的 Atom.io）也都有整合 Git 的功能。轻松实现 Markdown 文件在网页发布由于 Docsify 的存在，每个人都能享受到 Markdown 文件的在网上发布的好处。而且由于 Docsify-This 的出现，这个工作变得很容易。不妨在 Docsify-This 网站 上试试吧。（题图：MJ/f38f0a40-002b-4e93-9697-e008205c1211）via: https://opensource.com/article/23/5/docsify-markdown-html作者：Paul Hibbitts 选题：lkxed 译者：chai001125 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
你可能已经了解过轻量级标记语言 Markdown。如果你是第一次接触这个概念，请参考我们的 Markdown 指南。概括来讲，它是一种用于创建纯文本文档的简单又高效的语言。然而，Markdown 在制作详细的报告或技术文件方面可能还不够完善。受益于 knitr 和 Pandoc 等软件包，交互式文件格式 R Markdown 早在 2014 年就出现了。它将纯文本与内嵌的 R 代码相结合，可以制作动态文件。你可以使用 各种 IDE 和扩展来创建 R Markdown 文档，官方 IDE 为 RStudio。因此，在这篇文章中，我们将重点介绍使用 RStudio 学习 R Markdown 语法。?（假如你没有了解过，）R 编程语言 是一种用于统计计算、图形表示和报告的语言。配置 RStudio通过合适的配置，你可以很轻松地用 RStudio 来编写 R Markdown。只需要安装一个软件包，就已经完成了大部分的工作！安装 RStudio 后，在 “ 工具 Tools ” 菜单中选择 “ 安装软件包 Install Packages ” 选项。在弹出的对话框中，搜索 “rmarkdown” 并安装。? 如果你想使用类似 Python 的代码块，你需要安装额外的包。当你想在你的文档中包含这些包时，RStudio 会提示你安装所需的包。安装完成后，你可以通过选择 “ 文件 File > 新建文件 New File > R Markdown” 来新建一个 R Markdown 文档。之后会提示你添加一些关于文件的信息（文件的元数据），把这些填上就可以了。或者你可以创建一个空的文件从零开始。RMarkdown 语法由于它是 “加强版的 Markdown”，因此大多数语法与 Markdown 是一样的。它还有一些 Markdown 支持不完善的东西，比如表格、数学方程式、代码块等等。下面是我们要介绍的内容的概括：RMarkdown 块名语法标题# 一级标题`## 二级标题### 三级标题一级标题=======二级标题`-------着重*斜体*`_斜体_**加粗**__加粗__`列表无序列表：* 列表项`* 列表项+ 子项+ 子项有序列表：1. 列表项2. 列表项+ 子项`+ 子项代码块普通代码块：这里写代码R 代码块：{r}``R 代码`你也可以用其他的语言行内 代码`链接普通链接：粘贴 URL带标题的链接：[显示的文本](URL_地址)跳转到锚点： [显示的文本](#锚点)表格`列名列名列名``------------------``项内容项内容项内容``项内容项内容项内容`方程式行内方程式 $Equations$展示方程式： $$Equations$$图片无标题： ![](图片链接)有标题：![可选标题](图片地址)引用块> 输入你引用的内容其他上角标：文本内容^上角标^章或页水平分割线========= 或 ----------行尾输入两个以上空格，即可添加人工行分割YAML 头在一个 R Markdown 文档的顶部，有一个 YAML 头，被两行 --- 包围。这个块定义了文档的最终样式，通常包含一个标题、作者、日期和你想输出的文件类型。支持的文件格式有三种：HTML、PDF 和 Word。--- title: "Sample" author: "It's FOSS" date: "2023-02-08" output: pdf_document --- 这可以在 RStudio 中设置新文件时添加，如上节所示。标题在 R Markdown 中，有两种方法指定标题。我们可以使用 # 字符来表示不同级别的标题，比如:# Heading Level 1 ## Heading Level 2 ### Heading Level 3 #### Heading Level 4 ##### Heading Level 5 ###### Heading Level 6 也可以用 = 和 - 分别表示一级和二级标题。一级标题 =============== 二级标题 --------------- 列表有两种列表，一种是无序列表，用点句符来表示：* Item 1 * Item 2 + Sub 1 + Sub 2 * Item 3 另一种是有序列表，用数字来排序：1. Item 1 2. Item 2 + Sub 1 + Sub 2 3. Item 3 段落中的文本格式格式化文本有几种方式。你可以使用斜体或加粗来着重表示文本：斜体：在文本前后各输入一个星号或下划线加粗：在文本前后各输入两个星号或下划线*这里是斜体内容* _这里是斜体内容_ **这里是加粗内容** __这里是加粗内容__ ? 你可以阅读我们的文章 Markdown 中怎么让内容变成加粗和斜体 来了解更多内容。如果你想使用上角标，在想变成上角标的内容前后加上 ^ 符号。普通文本内容^上角标^ 如果你想对文本内容加删除线，在文本前后加 ~~ 符号。~~被删除的内容~~ 添加代码块内嵌代码是 R Markdown 最主要的设计目的。我们有几种添加代码的方式。添加普通代码块如果你想添加一个代码块来与其他的文本进行区分，可以使用下面的语法：这里输入你的代码你也可以尝试 对添加的代码进行高亮显示。如果你想添加代码并将其输出嵌入到文档中，你可以在后面加上语言，并用大括号包裹：这里输入你的代码你可以用 ` 符号来添加行内代码。这里是 `行内代码` 它看起来是这样的：链接如果想添加普通文本链接，把它粘贴到行内就可以了。https://itsfoss.com 添加超链接，使用下面的语法：[文本内容](URL 地址) 当你想链接到本页内的某个锚点时，使用下面的语法：[文本内容](#锚点名称) 表格表格的语法与 Markdown 相似：| 列表 | 列表 | 列表 | | --- | --- | --- | |表格项|表格项|表格项| |表格项|表格项|表格项| ? 还想了解更多？请阅读我们的 用 Markdown 创建表格 指南。图片添加图片使用下面的语法：![](http://example.com/logo.png) 或![可选显示文本](figures/img.png) 块引用RMarkdown 可以添加块引用。在被引用的行或段落前添加 >（大于号）。这里是普通文本内容。 > 这里是块引用 ? 如果你想了解更多块引用的内容，请阅读我们的 Markdown 引用 指南。方程式你可以用 RMarkdown 来添加方程式和展示复杂的 LaTex 方程式。例如：行内方程式：$Equation$ 展示方程式：$$Equation$$ 章或页水平分割线使用三个以上星号或减号来添加章或页水平分割线。************ ------------ 你可以在行尾添加两个以上的空格来添加人工行分割。R Markdown 非常有用（备忘录）R Markdown 备忘录.pdf 下载文档? 你还知道其他关于 R Markdown 的内容吗？请在下面的评论区告诉我们。via: https://itsfoss.com/r-markdown/作者：Sreenath 选题：lkxed 译者：lxbwolf 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
硬核观察 #831 谷歌的秘密项目教 AI 编写和修改代码
谷歌的秘密项目教 AI 编写和修改代码这个名为 Pitchfork 的秘密项目现已转到谷歌实验室，旨在 “教代码自己编写代码和重写”。Pitchfork 能够通过机器学习技术训练 AI 编写代码、修复 Bug，以及更新代码。其最初目标是构建一款工具，可以将谷歌的 Python 编程语言代码库更新到较新的版本。但随着时间的推移，该项目的目标转向了一个通用系统：可以减少人类开发者编写和更新代码的需要，同时又能保持代码质量。消息来源：Business Insider老王点评：我觉得早晚有一天，绝大部分编程工作都变成了计算机自己进行的了。谷歌安全团队称谷歌等安卓手机厂商迟迟没有修补漏洞谷歌的 Project Zero 团队说，他们在 6、7 月间发现了 5 个新问题，并告知了 ARM 公司。ARM 在 7、8 月间发布了修复程序。然而，在三个月后，包括三星、小米、Oppo 和谷歌在内的智能手机制造商还没有部署补丁来修复这些漏洞。这些漏洞可以使恶意黑客绕过安卓系统的权限模型，获得对系统的完全访问权。消息来源：Engadget老王点评：安全问题的解决链路，光是上游着急也不行。GitHub 正在测试在 Markdown 中嵌入 JavaScriptGitHub 正在内测在其仓库内的 Markdown 文件内嵌入 JavaScript 代码，这被称之为 “GitHub Blocks”。Markdown 通常用来做代码仓库的说明和文档。通过嵌入 JavaScript，调用 GitHub 提供的 RESTful API，可以使 Markdown 文件变成动态的。它的用例包括渲染字体和颜色，在格式化的表格中显示 JSON 数据，显示仓库分析，如贡献者、问题统计、提交和拉动请求，显示图表，以及动态演示应用功能。消息来源：DevClass老王点评：这样就把 Markdown 变成富文本的，动态的了，是不是和 Markdown 本身的初衷背道而驰了？
黑曜石 1.0 做了重新设计，带来了有价值的新功能。 黑曜石 Obsidian 是一款强大的笔记应用，可以用来制作知识图谱，同时还提供 Notion 类似的功能。在 1.0 更新之前，我们已经有一篇关于它的 详细文章。黑曜石 1.0 的发布标志着该应用在桌面和移动体验方面的发展迈出了关键一步。? 黑曜石不是一个开源的应用程序，但可以在 Linux 上使用。让我们来看看它的桌面版提供的新功能。? 黑曜石 1.0 的新功能1.0 版本增加了大量的新功能、主要的视觉变化和错误修复，其中一些亮点包括：改良的用户界面新的外观设置带有标签堆叠的标签功能大修的主题画廊各种错误的修复? 用户界面的改造用户界面已经得到了全面改造，这使得用户体验更加直观和强大。除此之外，黑曜石现在还有一个专门的外观设置部分。它包含了切换显示内联标题、标签标题栏、改变重点颜色等选项的设置。带有标签堆叠的标签功能现在你可以在黑曜石中打开多个标签，并使用热键来帮助你在忙碌的一天中完成多个任务。一个额外的好处是，即使你退出黑曜石，它也会记住你曾经打开的标签和你在这些标签中的活动状态。标签也可以分组形成堆叠，并在它们之间进行切换，从而使工作空间变得更加整齐。?️ 其他变化其他值得一提的变化包括：改变缩放级别的能力改进了黑曜石的同步内存泄漏修复用于折叠行的折叠命令你可以通过 发布说明，以及 发布公告 来了解更多的细节。? 下载黑曜石 1.0你可以到 官方网站 下载黑曜石 1.0。在手机上，也可以在谷歌应用商店和苹果的应用商店上找到它。为 Linux 用户提供了三个软件包：AppImage、Flatpak 和 Snap。开发者还澄清说，他们不会向个人用户收取黑曜石的使用费。? 你对黑曜石 1.0 有什么看法？一个值得替代其他记事本的应用程序吗？via: https://news.itsfoss.com/obsidian-1-release/作者：Sourav Rudra 选题：lkxed 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
即使对那些不知道 Markdown 的人来说，Marktext 也是一个绝佳的编辑器
又一个 Markdown 编辑器？我们见的 Markdown 编辑器还少吗？我明白你的感受，如果你是个 Markdown 爱好者，你可能已经用过很多 Markdown 编辑器了，比如 Joplin 和 Zettlr。但如果你不是的话，你可能根本就不在乎。Markdown 是一个非常好的标记语言，特别是对那些在网络上写作的人来说。我不想在这里讲太多细节，但如果你有兴趣的话，我们有一篇 非常棒的 Markdown 初学者教程。这次我想推荐给你（另一个）Markdown 编辑器，它叫 Marktext，并且它是用 Electron 制作的（我们都明白这什么意思，先别急着埋怨我）。我发现这将是一个很完美的编辑器。它很漂亮，而它运行起来也一样棒。下面是我这几天来的使用体验。Marktext: 人人可用的 Markdown 编辑器尽管我很讨厌 Electron 框架，但不得不承认基于 Electron 的应用都有一个干净、现代的界面。我更喜欢深色模式主题，除此之外官方还提供了五种其它主题。打开软件你就可以立刻进行写作，如果你不记得某个语法了，那也没有问题，输入 @ 就可以得到语法提示，如：标题分隔线表格Latex 数学公式HTML 块代码块引用列表检查清单用 Vega-lite.js、Flowchart.js、js-sequence-diagrams 和 PlantUML 制作的图表选中文本你会得到一个格式选项框，来改变文本为粗体、斜体、下划线、删除线等。你也可以用黄色背景高亮文本、转换为内联代码、内联公式或插入超链接。Marktext 也支持图片。我们都知道图片不是 Markdown 文件的一部分，它们是外部元素，但是你可以选择将图片保存到 .md 文件所在的目录下。通过插入菜单来添加图片非常容易。你可以选择文本并且从弹出的格式选项中选择图片来添加，或使用 Ctrl+Shift+I 快捷键。但是不能为图片添加替换文本或图片说明，这点确实需要改进。我喜欢 Marktext 的表格功能。你可以直接插入预先定义好大小的图表。如有需要，还可以很容易的改变大小。你可以只用鼠标移动列和行，而不用担心底层的代码。你可以启用侧边栏视图。侧边栏有三个功能：你可以打开包含多个 Markdown 文件的文件夹，在打开的文件夹中的所有文件上执行全局搜索，并显示当前打开的文件的大纲目录。大纲目录是根据子标题自动生成的。底部的齿轮按钮是设置功能。你可以改变主题、改变图片设置、视图、开启自动保存等等。如何安装 MarktextMarktext 是一个跨平台的开源应用程序。所以不止在 Linux 上，你还可以在 Windows 和 macOS 安装。在 Linux 上，你可以选择 AppImage 软件包或 Flatpak 软件包。从 这里 可以得到 Marktext 的 Appimage 软件包。我选择了 Flatpak 版本，因为这样可以获得更好的系统集成。它运行良好，Marktext 自动成为我的 Ubuntu 22.04 系统上 .md 文件的默认编辑器。请确保你启用了 Flatpak 支持，之后用以下方法添加上 Flathub 仓库：flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 在这之后，用以下命令安装 Marktext 到你的系统上：flatpak install flathub com.github.marktext.marktext 如果用了一段时间后你不喜欢 Marktext，可以用以下命令卸载：fkatpak uninstall com.github.marktext.marktext 总结Marktext 有很多小功能，例如字数统计、Latex 数学公式、拼写检查器、复制粘贴为 Markdown/HTML 格式，我留给你们自己去尝试。实话实说，尽管多年来一直使用 Markdown 来写文章，但我也总会忘掉一些语法。我能记得常见的标题、列表、代码块等，但如果我必须创建一个表格，我不得不在网上搜索。我已经 尝试了许多 Markdown 编辑器，这其中确实有很多不错的。但是，我还是喜欢用 Marktext，它会在我的系统上存在很长时间。如果你已经用过了话，请在评论区分享你的经验。via: https://itsfoss.com/marktext-editor/作者：Abhishek Prakash 选题：lkxed 译者：Chth0lly 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在我的工作中，我经常要写代码、写与代码相配套的文档、创建网页、进行文本恢复项目。我在学校的时候还写过几篇正式的论文，也包括写课堂笔记，几乎每节课都写。我几乎在我所有的写作中都使用 Markdown，它对我来说是一个节省时间的好工具。在这篇文章中，我将分享我使用 Markdown 的体会。你将会了解以下内容：什么是 Markdown ？它是怎么工作的？Markdown 的基本语法和怎样使用它们。什么是 Markdown ？假如你是 Markdown 新手，它是一个为网络写手转换文本到 HTML 格式的工具。Markdown 文档遵循一种特定的语法，容易阅读和写作。它们是纯文本，所以能够通过电脑上的任何文本编辑器来创建。然后这些文档能够转换成网页 —— 而网页是用一个叫做 HTML 的语言标记创建的。Markdown 只是一种不必（即使知道怎么做）写 HTML 代码就能够创建网页的方式。实际上，如果你不转换成 HTML 的话，Markdown 甚至是个对纯文本格式化的好方法。有人曾这样对我描述 Markdown ：“ 它不是所见即所得，而是所见即所意 ”。然而，Markdown 不只是一个简单的格式化体系，它也是一个纯文本格式转化到 HTML 的一个软件工具。这就是为什么语法很重要。如果你想在网页上起个标题，Markdown 将会基于你标题前面的字符来创建。Markdown 的一些语法示例如截图所示：所以我怎样才能使纯文本文件转换成 HTML 格式呢?John Gruber 的 Markdown 是一个运行在命令行上的 Perl 脚本。也就是说，它可以读取你创建的 Markdown 文本并用它来构建网页。由于有 许多著名的编辑器 可以为你做这个转换，我在这里尽量避免使用命令行。不仅如此，许多这样的编辑器会让你写下你的文本，并同时向你展示网页的样子（称为渲染）。Markdown 编辑器总的来说设置了两帧：左边部分是你要写你文本的地方，右边部分是用 HTML 语言显示给你格式化后文本的样子：当你用它满意地完成你的写作，只需保存 Markdown 文件即可。就像这样，之后一旦你需要编辑和修改的时候，你就会用到它。文件保存后，你可以用编辑器将 Markdown 文档导出为 HTML 格式的文档。编辑器用你的 Markdown 作为参考创建网页。你的 Markdown 文档在导出时不会修改，你仍然拥有源文档，同时创建一个独立的、新的 HTML 文档（网页），你可以把它放到一个网页服务器上。注意：许多 Markdown 编辑器也可以将你的 Markdown 文档导出为其他格式，比如 .doc、.docx 和 .pdf。之后你可以了解这些高级设置和你可能需要的额外软件。Markdown 基础语法为了让 Markdown 新用户快速了解，我将把这部分内容限制在我最常使用的语法上。我相信这些将是最有帮助的 - 你可以在现在就提高工作效率，同时了解更多关于 Markdown 以后能为你做什么。写标题我经常使用 # 字符来表示标题。这里有六个等级：# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 还有一种标题类型，是在文本下使用下划线。我很少使用这种类型的标题，我只限于使用两种：一种是使用 = 字符表示的双下划线，生成 H1 标题。一种是使用 - 字符表示的单下划线，生成 H2 标题：一级标题 =============== 二级标题 --------------- 段落段落被空行隔开（确保段落之间有一个空行）。首行不要缩进。在 Markdown 里用 Tab 键或者空格键缩进有着不同的目的和作用。段落是一个文本块，不应该用空格键和 Tab 键来缩进。它可以有一行或者多行。要结束这一段另起一段，点两下回车键；段落通过一个空行分开。换行请记住，对于段落，必须用空行来分隔它们，这要通过按两次回车键来实现。Markdown 对此很严格。Markdown 不支持 “ 强制插入换行符 hard-wrapped ” 或者 “ 固定行长度 fixed-line-length ” 段落。那就是说，单击回车键一次将不会强制文本换到新的一行。它可能在编辑窗口显示，但是 HTML 格式下不显示。然而，有时你可能需要拆分段落或者换行。Markdown 确实有一种方法可以做到，但是它一开始看起来可能有一点奇怪：换行是通过用两到多个空格键然后点一次回车键完成的。这里有一个短诗的范例。每行以两个空格结束。最后一行，由于是这个小节的结束，没有额外的空格。因为它是这个诗句（段落）的结束，我双击回车键两次：Baa, baa black sheep, Have you any wool?. Yes, sir. Yes, sir. Three bags full. 在一行的最后加两个空格来创建一个换行，可能需要时间去习惯。水平线水平线非常适合将文本拆分为多个部分。用三个或更多的破折号 - ，下划线 _ ，或者星号 * 来做水平线，像这样：--- *** ___ 你甚至可以在字符之间输入空格：- - - 在文章和报告中我不经常使用水平线，但是在日记、系统日志和课堂笔记中对我很有用。用加粗和斜体来强调文本当你想让一个单词或者短语脱颖而出，引起注意，你可以让它加粗或者斜体显示。斜体和加粗文本可以在两种方式中任选其一。第一种是用星号 * 将其包括，第二种是用下划线 _ 的方式。使一个单词或者短语斜体显示，用一个下划线或者星号来括住文本。使一个单词或者短语加粗，使用两个下划线或者星号来括住文本：用星号来显示 *斜体* 。 用下划线来显示 _斜体_ 。 用星号来显示 **加粗** 。 用下划线来显示 __加粗__ 。 记住两边使用相同的字符。单词或短语的一面是星号，另一面是下划线，将不会生效。相同字符必须在单词或者短语的两边。块引用块引用被用来直接引用。如果你正在写博客，你想重复本杰明•富兰克林说过的话，你可以使用块引用。一个右尖括号被用来指定块引用：> 这是块引用。 >> 如果你想进一步再次块引用，使用两个右尖括号。 在 Markdown 中添加超链接超链接非常酷。在基础版的 Markdown 语言有三种方式创建超链接，在这里我只讲两种：普通连接和自动连接。第三种链接被称为参考链接，在 Markdown 语言的基础版和高级版都支持。我想让你快速入门。你可以在准备好的时候找找参考链接的资料。普通链接可以让你链接到各种各样的网站。网站名称或者你要使用的短语被放置在中括号 [] 中。真实的链接地址在小括号 () 中。现在去看看 [Linux 中国](https://linux.cn) 。 自动连接通过用尖括号 <> 括住链接地址。这个链接是一个实际的地址（可以是网址或者电子邮件地址）。拼写出来的链接被转换到 HTML 的时候，就变成了有效的链接。<http://automatic-link-to-url.com/> <name@emailaddress.com> 当你想在文本中拼写出网址时，这很有用：在 Markdown 中添加图片链接图片几乎与链接网站一样。网站链接和图片链接微小的不同是，图片链接以感叹号 ! 开始。图片名称或者图片描述放置在中括号 [] 里。实际链接放置在小括号 () 里。你可以像这样嵌入图片：![alternate text](./images/image.jpg) 这儿有一个示例图像链接。这是一个示例链接，没有这个图片，但是这是个好例子，显示了实际链接应该有的样子：![a picture of bill](./images/my_photo_of_me.jpg) 列表制作列表有很多原因。它们可能用来作为代办事项、大纲中的主题元素、组装项目中的明细栏等等。列表有两种主要类型：无序列表和有序列表。无序列表没有编号；这些就是我们在许多文档中所看到的列表项。有序列表是有编号的。要创建一个有序（有编号的）列表，只需在每行用一个数字开始，像这样：1. 项目 一。 2. 项目 二。 3. 项目 三。 无序列表没有编号，但要在列表每个项目的开始使用一个星号 * 、一个加号 + ，或者一个减号 - 。我偏向于使用一个星号或者减号，你可以选择适合你的：* 项目 一。 + 项目 二。 - 项目 三。 子项目可以通过缩进被添加到有序和无序列表中，像这样：1. 项目 一 1. 子项目 一 2. 子项目 二 2. 项目 二 3. 项目 三 Markdown 语法速查表这是一个简短的 Markdown 语法列表为你作为参考，这个列表已经在本小结中介绍。如果你决定使用 Markdown 作为写作工具，你会发现 Markdown 会让写作变得更加简单。下载 PDF 格式的 Markdown 速查表结语Markdown 可以做比我描述的更多的事情。我写作的很大一部分是用我在这里介绍的 Markdown 语法完成的 - 而这些是我最常使用的项目，即使是在更复杂的项目中。如果这些看起来太简单了，那么说明它真的很容易。Markdown 用来完成简单的写作任务，但是你不必完全听我的。你可以尝试一下！不必安装 Markdown 编辑器；你可以在线尝试。这里有几个 优秀的在线 Markdown 编辑器。这里我喜欢用这三个：John Gruber’s DingusEditor.mdDillingerEditor.md 和 Dillinger 会让你看到你的 Markdown 文本作为 HTML 实时渲染的效果。 Dingus 不能实时预览，但是在参考页有 Markdown 的语法速查表。用以上这些在线编辑器尝试一下文章中的示例。也可以尝试一下你自己的想法。这将使你在可能致力于学习更多的知识之前习惯于 Markdown。via: https://itsfoss.com/markdown-guide/作者：Bill Dyer 选题：lujun9972 译者：hwlife 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
Glow 是一个能让你在 Linux 终端渲染 Markdown 文件的命令行工具。你也可以用它来管理 Markdown 文件。我喜欢 Markdown。虽然我不是一个专业的 Markdown 用户，但我几乎用 Markdown 写我的大部分文章。如果你是我们的常客，你可能已经看到过 Markdown 指南、编辑器以及 Obsidian 之类的工具。我将再加个工具到这个名单中，它叫做 Glow，并且不像之前涵盖的程序，Glow 能够让你在终端里阅读 Markdown 文件。等等！难道不能在终端里使用 阅读文本文件的常规 Linux 命令，如 cat、less，甚至是像 Vim 之类的编辑器来阅读 Markdown 文件吗？当然可以。但它会原样显示所有的代码来显示原始的 Markdown 文件，而不是显示正确的格式化文本。注意：Glow 不是一个编辑器。你不能用它去编写 Markdown 文本。Markdown 爱好者将会喜欢 Glow 的功能Glow 可以用两种格式来使用：命令行界面和终端用户界面。简单的对一个 Markdown 文件使用 Glow 命令将在屏幕上显示整个渲染后的内容。glow markdown_file 这是很不错，但是 Glow 可以做的更好。它有额外的参数打开 终端用户界面 terminal user interface （TUI）模式，并且允许你用它来做更多的事情。你可以使用页面参数（-p）来在页面模式下显示渲染后的文本（类似 less 命令显示文本没有弄乱屏幕一样）。glow -p markdown_file 在页面视图中，你可以使用 less 命令相同的方法，使用 / 键来搜索特定的文本。你可以按下q 键退出这个视图。不止这些。你可以使用 -a 选项，它将查找当前目录及子目录中的所有 Markdown 文件。glow -a 你可以用方向键在屏幕上滚动文件。上下键向上和向下移动，左右键按照页数移动。你可以查看显示在底部的帮助选项。在这个视图中，查找选项允许你根据文件名查找文件（不是它们的内容）。这里也有标签。当然，你可以通过 Tab 键在标签中来回移动。 隐藏 stashed 标签像一个书签。当你浏览文件或是查看它们的内容时，你可以按下 s 键来创建一个隐藏标签（书签）。这个书签将只会在当前目录下可见。你可以按下 x 键来移除书签（不是文件）或者按下 m 键来添加一个备注。 新闻 news 标签显示更新日志和来自 Glow 开发者（们）的其他消息。当你已经找到你想找的文件，你可以通过按下回车键来查看它们。因为你在终端用户界面模式，所以你这里会有额外的键盘选项。可以通过按下 ? 键来显示选项。在 Linux 上安装 GlowGlow 可以在 Linux 和 macOS 上使用。你可以在 macOS 和 Linux 上使用 Homebrew 来安装它，然而，我建议你在这里使用 Linux 安装包。Glow 在 Void、Solus 和 Arch Linux 的仓库里是可用的。你可以用它们的包管理器来安装它们。在基于 Arch 的发行版上，使用：sudo pacman -S glow 对于 Ubuntu、Debian、Fedora 和 SUSE，它们有用于在各种架构的 .DEB 和 .RPM 二进制包，你可以在它们的发布页找到它们。下载用于其它 Linux 发行版的 Glow总结总之，Glow 是在终端里的一个美化视图和管理 Markdown 的便利工具。像许多其他的命令行工具一样，它不是每个人都适合。如果你经常在终端，并喜欢 Markdown 文件，你可以尝试使用一下。当你用过后，请在评论区里分享你使用它的体验。via: https://itsfoss.com/glow-cli-tool-markdown/作者：Abhishek Prakash 选题：lujun9972 译者：hwlife 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
硬核观察 #591 气候运动意图推动比特币网络放弃高能耗的代码
气候运动意图推动比特币网络放弃高能耗的代码一些环保组织发起了一个 新的运动，通过各大媒体宣传施加压力，意图推动比特币网络削减其日益增长的温室气体排放。比特币网络专门采用消耗大量能源的工作量证明方式（PoW）来维护其网络的安全。该活动的目的是让比特币网络放弃 PoW ，而采用股权证明方式（PoS）。使用 PoS 的加密货币使用的能源大大减少，但参与者必须提供自己的抵押通证，以担保其参与的活动。虽然 PoS 可能会解决比特币的很多污染问题，但专家们对矿工们是否愿意做出改变持怀疑态度。矿工们在硬件上投资了很多，很难放弃它。而一些 PoW 的拥护者认为，这是维护分布式账本的最安全方式。老王点评：这是一方面舍不得比特币网络的财富，另一方面又想营造环保概念。我就说一点，目前为止，没有任何 PoS 的区块链项目算得上成功。Chrome 100 正式发布在这个看起来应该是里程碑的 新版本 里，除了换了新的徽标，以及版本号变成了三位数，没有什么特别值得一提的新功能变化。这是因为谷歌每月向 Chrome 浏览器渐进式地添加新功能，而不是大规模的发布，另外许多更新的功能是在服务器端提供的。更新后的徽标设计在 2 月份首次发布了预览，采用了简化的设计，颜色更亮，取消了阴影。Chrome 的设计师 Elvin Hu 说，更新的设计是为了与 “Google 更现代的品牌表达”相一致。老王点评：似乎 100 版本号就这样悄悄来了，也没引起啥问题。谷歌文档添加 Markdown 支持它是通过自动更正功能来实现的，因此在你以 Markdown 格式输入文字后，它会自动为你格式化。谷歌文档已经支持一些 Markdown 标记，如各级标题、列表、复选框、粗体、斜体、链接等。不过，它不是在纯文本中显示你的标记，而是用它们来自动应用格式化，然后再把标记删除。这与大多数 Markdown 编辑器默认显示的方式不同：通常情况下，你仍然能够看到标记，编辑器也会添加一些格式化的东西，让你知道在你发布时它会是什么样子。谷歌说可能需要“超过 15 天”的时间来为每个人 提供这个功能。老王点评：我觉得 Markdown 真是一个神奇的发明，谷歌能想到将其作为不需要菜单的格式化快捷方式，也很有意思。回音在去年 12 月 测试 了一键改变默认浏览器的功能后，微软终于 正式 对 Windows 11 发布补丁提供了该功能。
我喜欢用 Markdown 来写文章和做笔记。我不确定我是否符合 “Markdown 硬核用户”的标准，但我觉得它对我的写作工作很方便。我在 Linux 上试过几个 Markdown 编辑器。我最喜欢的是 Joplin，它可以用来做笔记和组织笔记，并在 Nextcloud 上保留备份。还有 Zettlr，它适合于研究人员。最近，我遇到了另一个 Markdown 编辑器，它在文档整理方面意外的不错。你可以用它将你的文件相互连接起来，并以类似思维导图的图形方式显示出来。这就是 黑曜石 Obsidian 的主要吸引力，你可以用图形的方式查看你的 Markdown 笔记，特别是当这些笔记需要相互连接的时候。当然，它也有其他的功能。非 FOSS 警报！最初，我以为黑曜石是一个开源软件。当我寻找他们的源代码库时（在我写完这篇文章后），我才意识到它是 免费使用的应用程序，但不是 FOSS（自由及开源软件）。这让我觉得惭愧，因为它实在是一个好应用，好到让我继续在这里介绍它。黑曜石 Markdown 编辑器的功能在黑曜石里，你会发现你期望从一个标准的 Markdown 编辑器得到的所有功能。它有一个侧边栏来显示文件夹结构，还有一个主窗格来显示你的文档。你可以选择在“编辑”和“阅读”视图之间切换。默认情况下，它只显示一个窗格，但你可以根据自己的喜好添加更多的窗格。例如，我添加了一个新的窗格来同时显示编辑和查看模式，这样就可以在同一时间编辑和预览文档。你可以通过按 [[ 键来创建现有笔记的内部链接。它可以打开一个文件搜索器，让你从同一项目（这里称为 “ 金库 vault ”）中的现有笔记中选择。你可以切换到“图表视图”来显示同一个“金库”（项目）中的笔记之间的联系。我快速做了几个内部链接来进行测试，你可以看到它显示了文件之间的相互联系。你可以图形化地进行搜索和替换。对笔记进行备注、合并文件、在笔记之间移动标题等等。它还有一个命令模式（位于编辑器的左侧侧边栏），允许你控制编辑器的各个方面。其中一些“动作”也可以用键盘快捷键来完成。这还不是全部。黑曜石还有一个 社区市场，在那里你可以找到并安装插件来扩展其功能。例如，你可以下载看板插件，用黑曜石来管理项目和任务。这里还有很多功能，我不可能把它们全部列出。即使是项目网站也没有一次性列出所有的功能，这是很无奈的。安装黑曜石黑曜石是一个跨平台的应用程序，它可用于 Linux、macOS、Windows、Android 和 iOS。对于 Linux，你可以选择使用 AppImage、Snap 或 Flatpak。我使用 AppImage 版本进行测试。你可以在其下载页面找到相关信息和文件。下载黑曜石它值得使用吗？黑曜石有一个学习曲线。你当然需要了解 Markdown 的基础知识，但是除了编辑和显示 Markdown 文本之外的任何功能，你都需要在这里学习。几乎任何应用程序都需要一些学习，但要想充分使用黑曜石，你需要付出比平常更多的努力。但如果你是一个痴迷于 Markdown 的用户，并且有成吨的文档，这完全是值得的。这里的好处是它有 丰富的文档 来帮助你的学习过程。当你点击帮助按钮（显示为问号）时，这些文档也可以从应用界面中获得。黑曜石的界面让我觉得我在使用 VS Code，这并不是一件坏事。如果你以 Markdown 为生，并且对正确管理你的文档很着迷，你应该考虑尝试一下黑曜石。如果你足够喜欢它并开始定期使用它，也许你可以 考虑捐赠 或使用他们的高级产品以支持这个项目的发展。高级产品包括选择将你的笔记同步到他们的云端，或者将你的笔记发布到网站上。黑曜石已经做得很专业和漂亮了。它就像 VS Code 的 Markdown 版，它有可能成为 Notion 等的真正替代品。via: https://itsfoss.com/obsidian-markdown-editor/作者：Abhishek Prakash 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出