Scott Nesbitt 发布的文章

生活在普通文本世界么?以下是无需使用文字处理器而创建别人要的格式化文档的方法。

如果你生活在普通文本世界里,总会有人要求你提供格式化文档。我就经常遇到这个问题,特别是在 Day JobTM。虽然我已经给与我合作的开发团队之一介绍了用于撰写和审阅发行说明的 Docs Like Code 工作流程,但是还有少数人对 GitHub 和使用 Markdown 没有兴趣,他们更喜欢为特定的专有应用格式化的文档。

好消息是,你不会被卡在将未格式化的文本复制粘贴到文字处理器的问题当中。使用 pandoc,你可以快速地给人们他们想要的东西。让我们看看如何使用 pandoc 将文档从 Markdown 转换为 Linux 中的文字处理器格式。

请注意,pandoc 也可用于从两种 BSD(NetBSDFreeBSD)到 Chrome OS、MacOS 和 Windows 等的各种操作系统。

基本转换

首先,在你的计算机上安装 pandoc。然后,打开控制台终端窗口,并导航到包含要转换的文件的目录。

输入此命令以创建 ODT 文件(可以使用 LibreOffice WriterAbiWord 等字处理器打开):

pandoc -t odt filename.md -o filename.odt

记得用实际文件名称替换 filename。如果你需要为其他文字处理器(你知道我的意思)创建一个文件,替换命令行的 odtdocx。以下是本文转换为 ODT 文件时的内容:

 title=

这些转换结果虽然可用,但有点乏味。让我们看看如何为转换后的文档添加更多样式。

带样式转换

pandoc 有一个漂亮的功能,使你可以在将带标记的纯文本文件转换为字处理器格式时指定样式模板。在此文件中,你可以编辑文档中的少量样式,包括控制段落、文章标题和副标题、段落标题、说明、基本的表格和超链接的样式。

让我们来看看能做什么。

创建模板

要设置文档样式,你不能只是使用任何一个模板就行。你需要生成 pandoc 称之为引用模板的文件,这是将文本文件转换为文字处理器文档时使用的模板。要创建此文件,请在终端窗口中键入以下内容:

pandoc -o custom-reference.odt --print-default-data-file reference.odt

此命令创建一个名为 custom-reference.odt 的文件。如果你正在使用其他文字处理程序,请将命令行中的 “odt” 更改为 “docx”。

在 LibreOffice Writer 中打开模板文件,然后按 F11 打开 LibreOffice Writer 的 “样式” 窗格。虽然 pandoc 手册建议不要对该文件进行其他更改,但我会在必要时更改页面大小并添加页眉和页脚。

使用模板

那么,你要如何使用刚刚创建的模板?有两种方法可以做到这一点。

最简单的方法是将模板放在家目录的 .pandoc 文件夹中,如果该文件夹不存在,则必须先创建该文件夹。当转换文档时,pandoc 会使用此模板文件。如果你需要多个模板,请参阅下一节了解如何从多个模板中进行选择。

使用模板的另一种方法是在命令行键入以下转换选项:

pandoc -t odt file-name.md --reference-doc=path-to-your-file/reference.odt -o file-name.odt

如果你想知道使用自定义模板转换后的文件是什么样的,这是一个示例:

 title=

选择模板

很多人只需要一个 pandoc 模板,但是,有些人需要不止一个。

例如,在我的日常工作中,我使用了几个模板:一个带有 DRAFT 水印,一个带有表示内部使用的水印,另一个用于文档的最终版本。每种类型的文档都需要不同的模板。

如果你有类似的需求,可以像使用单个模板一样创建文件 custom-reference.odt,将生成的文件重命名为例如 custom-reference-draft.odt 这样的名字,然后在 LibreOffice Writer 中打开它并修改样式。对你需要的每个模板重复此过程。

接下来,将文件复制到家目录中。如果你愿意,你甚至可以将它们放在 .pandoc 文件夹中。

要在转换时选择特定模板,你需要在终端中运行此命令:

pandoc -t odt file-name.md --reference-doc=path-to-your-file/custom-template.odt -o file-name.odt

改变 custom-template.odt 为你的模板文件名。

结语

为了不用记住我不经常使用的一组选项,我拼凑了一些简单的、非常蹩脚的单行脚本,这些脚本封装了每个模板的选项。例如,我运行脚本 todraft.sh 以使用带有 DRAFT 水印的模板创建文字处理器文档。你可能也想要这样做。

以下是使用包含 DRAFT 水印的模板的脚本示例:

pandoc -t odt $1.md -o $1.odt --reference-doc=~/Documents/pandoc-templates/custom-reference-draft.odt

使用 pandoc 是一种不必放弃命令行生活而以人们要求的格式提供文档的好方法。此工具也不仅适用于 Markdown。我在本文中讨论的内容还可以让你在各种标记语言之间创建和转换文档。有关更多详细信息,请参阅前面链接的 pandoc 官网


via: https://opensource.com/article/19/5/convert-markdown-to-word-pandoc

作者:Scott Nesbitt 选题:lujun9972 译者:wxy 校对:wxy

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

了解如何在 Linux 中使用 xclip。

在使用 Linux 桌面工作时,你通常如何复制全部或部分文本?你可能会在文本编辑器中打开文件,选择全部或仅选择要复制的文本,然后将其粘贴到其他位置。

这样没问题。但是你可以使用 xclip 在命令行中更有效地完成工作。xclip 提供了在终端窗口中运行的命令与 Linux 图形桌面环境中的剪贴板之间的管道。

安装 xclip

xclip 并不是许多 Linux 发行版的标准套件。要查看它是否已安装在你的计算机上,请打开终端窗口并输入 which xclip。如果该命令返回像 /usr/bin/xclip 这样的输出,那么你可以开始使用了。否则,你需要安装 xclip

为此,请使用你的发行版的包管理器。如果你喜欢冒险,你可以从 GitHub 获取源代码并自己编译。

基础使用

假设你要将文件的内容复制到剪贴板。在 xclip 中可以使用两种方法。输入:

xclip file_name

或者

xclip -sel clip file_name

两个命令之间有什么区别(除了第二个命令更长)?第一个命令在你使用鼠标中键粘贴的情况下有效。但是,不是每个人都这样做。许多人习惯使用右键单击菜单或按 Ctrl+V 粘贴文本。如果你时其中之一(我就是!),使用 -sel clip 选项可确保你可以粘贴要粘贴的内容。

将 xclip 与其他应用一起使用

将文件内容直接复制到剪贴板是个巧妙的技巧。很可能你不会经常这样做。还有其他方法可以使用 xclip,其中包括将其与另一个命令行程序结合。

结合是用管道(|)完成的。管道将一个命令行程序的输出重定向到另一个命令行程序。这样我们就会有更多的可能性,我们来看看其中的三个。

假设你是系统管理员,你需要将日志文件的最后 30 行复制到 bug 报告中。在文本编辑器中打开文件,向下滚动到最后,复制和粘贴有一点工作量。为什么不使用 xcliptail) 来快速轻松地完成?运行此命令以复制最后 30 行:

tail -n 30 logfile.log | xclip -sel clip

我的写作有相当一部分用于内容管理系统 (CMS) 或者在其他网络中发布。但是,我从不使用 CMS 的 WYSIWYG 编辑器来编写 - 我采用 Markdown 格式离线编写纯文本。也就是说,许多编辑器都有 HTML 模式。通过使用此命令,我可以使用 Pandoc 将 Markdown 格式的文件转换为 HTML 并将其一次性复制到剪贴板:

pandoc -t html file.md | xclip -sel clip

在其他地方,粘贴完成。

我的两个网站使用 GitLab Pages 托管。我使用名为 Certbot 的工具为这些站点生成 HTTPS 证书,每当我更新它时,我需要将每个站点的证书复制到 GitLab。结合 cat) 命令和 xclip 比使用编辑器更快,更有效。例如:

cat /etc/letsencrypt/live/website/fullchain.pem | xclip -sel clip

这就是全部可以用 xclip 做的事么?当然不是。我相信你可以找到更多用途来满足你的需求。

最后总结

不是每个人都会使用 xclip。没关系。然而,它是一个在你需要它时非常方便的一个小工具。而且,正如我几次发现的那样,你不知道什么时候需要它。等到时候,你会很高兴能用上 xclip


via: https://opensource.com/article/19/7/xclip

作者:Scott Nesbitt 选题:lujun9972 译者:geekpi 校对:wxy

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

了解过去两周来最大的开源头条新闻。

在本期开源新闻综述中,我们将介绍一个开源仿生腿、一个新的开源医学影像组织,麦肯锡发布的首个开源软件,以及更多!

使用开源推进仿生学

我们这一代人从电视剧《六百万美元人》和《仿生女人》中学到了仿生学一词。让科幻小说(尽管基于事实)正在成为现实的,要归功于由密歇根大学和 Shirley Ryan AbilityLab 设计的假肢。

该腿采用简单、低成本的模块化设计,“旨在通过为仿生学领域的零碎研究工作提供统一的平台,提高患者的生活质量并加速科学进步”。根据首席设计师 Elliot Rouse 的说法,它将“使研究人员能够有效地解决与一系列的实验室和社区活动中控制仿生腿相关的挑战。”

你可以从开源腿网站了解有该腿的更多信息并下载该设计。

麦肯锡发布了一个用于构建产品级数据管道的 Python 库

咨询巨头麦肯锡公司最近发布了其第一个开源工具,名为 Kedro,它是一个用于创建机器学习和数据管道的 Python 库。

Kedro 使得“管理大型工作流程更加容易,并确保整个项目的代码质量始终如一”,产品经理 Yetunde Dada 说。虽然它最初是作为一种专有的工具,但麦肯锡开源了 Kedro,因此“客户可以在我们离开项目后使用它 —— 这是我们回馈的方式,”工程师 Nikolaos Tsaousis 说。

如果你有兴趣了解一下,可以从 GitHub 上获取 Kedro 的源代码

新联盟推进开源医学成像

一组专家和患者倡导者聚集在一起组成了开源成像联盟。该联盟旨在“通过数字成像和机器学习帮助推进特发性肺纤维化和其他间质性肺病的诊断。”

根据联盟执行董事 Elizabeth Estes 的说法,该项目旨在“协作加速诊断,帮助预后处置,最终让医生更有效地治疗患者”。为此,他们正在组织和分享“来自患者的 15,000 个匿名图像扫描和临床数据,这将作为机器学习程序的输入数据来开发算法。”

Mozilla 发布了一种简单易用的方法,以确定你是否遭受过数据泄露

向不那么精通软件的人解释安全性始终是一项挑战,无论你的技能水平如何,都很难监控你的风险。Mozilla 发布了 Firefox Monitor,其数据由 Have I Been Pwned 提供,它是一种查看你的任何电子邮件是否出现在重大数据泄露事件中的简单方式。你可以输入电子邮件逐个搜索,或注册他们的服务以便将来通知你。

该网站还提供了大量有用的教程,用于了解黑客如何做的,数据泄露后如何处理以及如何创建强密码。请务必将网站加入书签,以防家人要求你在假日期间提供建议。

其它新闻


via: https://opensource.com/article/19/6/news-june-8

作者:Scott Nesbitt 选题:lujun9972 译者:wxy 校对:wxy

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

Ispell 可以帮助你在纯文本中消除超过 50 种语言的拼写错误。

好的拼写是一种技巧。它是一项需要时间学习和掌握的技能。也就是说,有些人从来没有完全掌握这种技能,我知道有两三个出色的作家就无法完全掌握拼写。

即使你拼写得很好,偶尔也会输入错字。特别是在最后期限前如果你快速敲击键盘,那就更是如此。无论你的拼写的是什么,通过拼写检查器检查你所写的内容总是一个好主意。

我用纯文本完成了我的大部分写作,并经常使用名为 Aspell 的命令行拼写检查器来完成这项工作。Aspell 不是唯一的工具。你可能还想要看下不错的 Ispell

入门

自 1971 年以来,Ispell 就以各种形式出现过。不要被它的年龄欺骗。Ispell 仍然是一个可以在 21 世纪高效使用的应用。

在开始之前,请打开终端窗口并输入 which ispell 来检查计算机上是否安装了 Ispell。如果未安装,请打开发行版的软件包管理器并从那里安装 Ispell。

不要忘记为你使用的语言安装词典。我唯一使用的语言是英语,所以我只需下载美国和英国英语字典。你可以不局限于我的(也是唯一的)母语。Ispell 有超过 50 种语言的词典

 title=

使用 Ispell

如果你还没有猜到,Ispell 只能用在文本文件。这包括用 HTML、LaTeX 和 nroff 或 troff 标记的文档。之后会有更多相关内容。

要开始使用,请打开终端窗口并进入包含要运行拼写检查的文件的目录。输入 ispell 后跟文件名,然后按回车键。

 title=

Ispell 高亮了它无法识别的第一个词。如果单词拼写错误,Ispell 通常会提供一个或多个备选方案。按下 R,然后按下正确选择旁边的数字。在上面的截图中,我按了 R0 来修复错误。

另一方面,如果单词拼写正确,请按下 A 然后移动到下一个拼写错误的单词。

继续这样做直到到达文件的末尾。Ispell 会保存你的更改,创建你刚检查的文件的备份(扩展名为 .bak),然后关闭。

其他几个选项

此示例说明了 Ispell 的基本用法。这个程序有很多选项,有些你可能会用到,而另一些你可能永远不会使用。让我们快速看下我经常使用的一些。

之前我提到过 Ispell 可以用于某些标记语言。你需要告诉它文件的格式。启动 Ispell 时,为 TeX 或 LaTeX 文件添加 -t,为 HTML 文件添加 -H,对于 groff 或 troff 文件添加 -n。例如,如果输入 ispell -t myReport.tex,Ispell 将忽略所有标记。

如果你不想在检查文件后创建备份文件,请将 -x 添加到命令行。例如,ispell -x myFile.txt

如果 Ispell 遇到拼写正确但不在其字典中的单词,比如名字,会发生什么?你可以按 I 将该单词添加到个人单词列表中。这会将单词保存到 /home 目录下的 .ispell_default 的文件中。

这些是我在使用 Ispell 时最有用的选项,但请查看 Ispell 的手册页以了解其所有选项。

Ispell 比 Aspell 或其他命令行拼写检查器更好或者更快么?我会说它不比其他的差或者慢。Ispell 不是适合所有人。它也许也不适合你。但有更多选择也不错,不是么?


via: https://opensource.com/article/19/5/spelling-command-line-ispell

作者:Scott Nesbitt 选题:lujun9972 译者:geekpi 校对:wxy

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

借助这些 Emacs 模式轻松记录信息。

不管你从事哪种工作,你都无可避免地需要记笔记。而且可能还不是一点点。现在这年头,大家都开始以数字的形式来记笔记了。

开源软件爱好者有多种途径来以电子的方式记下他们的创意、想法和研究过程。你可以使用 网页工具,可以使用 桌面应用,或者你也可以 使用命令行工具

如果你使用 Emacs(伪装成文本编辑器的强力操作系统),有多个 模式 mode 可以帮你有效地记录笔记。我们这里列举三个例子。

Deft

在少数情况下,我只能使用 Mac时,有一个工具是我不能缺少的:nvALT 笔记应用。Deft 模式 为 Emacs 带来了 nvALT 式的体验。

Deft 将你的笔记以文本文件的形式存储在电脑中的某个文件夹中。当你进入 Deft 模式,你会看到一系列的笔记及其摘要。这些摘要其实就是文本文件的第一行。若第一行是 Markdown、LaTeX,甚至 Emacs Org 模式的格式的话,Deft 会忽略掉这些格式而只显示文本内容。

要打开笔记,只需要向下滚动到该笔记的位置然后按下回车即可。然而 Deft 不仅仅只是这样。根据 Deft 开发者 Jason Blevins 的说法,它的主要操作是搜索和过滤。Deft 的实现方式简单而有效。输入关键字然后 Deft 会只显示标题中包含关键字的笔记。这在你要从大量笔记中找到某条笔记时非常有用。

Org 模式

如果本文没有包含 Org 模式 的话,那么我可能会被人所诟病。为什么?它可以说是 Emacs 中最灵活、使用最广泛的记录笔记的方式了。以正确的方式使用它,Org 模式可以极大地增强记笔记的能力。

Org 模式的主要优势在于它组织笔记的方式。在 Org 模式中,一个笔记文件会被组织成一个巨大的大纲。每个章节就是大纲里的一个节点,你可以对它进行展开和折叠。这些章节又可以有子章节,这些子章节也可以展开和折叠。这不仅使你一次只关注于某个章节,而且可以让你浏览整个大纲。

你可以在多个章节之间 进行互联,无需通过剪切和复制就能快速移动章节,以及 附加文件 到笔记中。Org 模式支持带格式的字符和表格。如果你需要转换笔记到其他格式,Org 模式也有大量的导出选项

Howm

当我使用 Emacs 已经成为一种习惯时,howm 马上就成为我严重依赖的模式之一了。虽然我特别喜欢使用 Org 模式,但 howm 依然占有一席之地。

Howm 就好像是一个小型维基。你可以创建笔记和任务列表,还能在它们之间创建链接。通过输入或点击某个链接,你可以在笔记之间跳转。如果你需要,还可以使用关键字为笔记添加标签。不仅如此,你可以对笔记进行搜索、排序和合并。

Howm 不是最漂亮的 Emacs 模式,它的用户体验也不是最佳。它需要你花一点时间来适应它,而一旦你适应了它,记录和查找笔记就是轻而易举的事情了。


via: https://opensource.com/article/18/7/emacs-modes-note-taking

作者:Scott Nesbitt 选题:lujun9972 译者:lujun9972 校对:wxy

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

PDF-Shuffler 和 PDF Chain 是在 Linux 中修改 PDF 的绝佳工具。

由于我谈论和写作了些 PDF 及使用它们的工具的文章,有些人认为我喜欢这种格式。其实我并不是,由于各种原因,我不会深入它。

我不会说 PDF 是我个人和职业生活中的一个躲不开的坏事 - 而实际上它们不是那么好。通常即使有更好的替代方案来交付文档,通常我也必须使用 PDF。

当我使用 PDF 时,通常是在白天工作时在其他的操作系统上使用,我使用 Adobe Acrobat 进行操作。但是当我必须在 Linux 桌面上使用 PDF 时呢?我们来看看我用来操作 PDF 的两个图形工具。

PDF-Shuffler

顾名思义,你可以使用 PDF-Shuffler 在 PDF 文件中移动页面。它可以做得更多,但该软件的功能是有限的。这并不意味着 PDF-Shuffler 没用。它有用,很有用。

你可以将 PDF-Shuffler 用来:

  • 从 PDF 文件中提取页面
  • 将页面添加到文件中
  • 重新排列文件中的页面

请注意,PDF-Shuffler 有一些依赖项,如 pyPDF 和 python-gtk。通常,通过包管理器安装它是最快且最不令人沮丧的途径。

假设你想从 PDF 中提取页面,也许是作为你书中的样本章节。选择 “File > Add”打开 PDF 文件。

要提取第 7 页到第 9 页,请按住 Ctrl 并单击选择页面。然后,右键单击并选择 “Export selection”。

选择要保存文件的目录,为其命名,然后单击 “Save”。

要添加文件 —— 例如,要添加封面或重新插入已扫描的且已签名的合同或者应用 - 打开 PDF 文件,然后选择 “File > Add” 并找到要添加的 PDF 文件。单击 “Open”。

PDF-Shuffler 有个不好的地方就是添加页面到你正在处理的 PDF 文件末尾。单击并将添加的页面拖动到文件中的所需位置。你一次只能在文件中单击并拖动一个页面。

PDF Chain

我是 PDFtk 的忠实粉丝,它是一个可以对 PDF 做一些有趣操作的命令行工具。由于我不经常使用它,我不记得所有 PDFtk 的命令和选项。

PDF Chain 是 PDFtk 命令行的一个很好的替代品。它可以让你一键使用 PDFtk 最常用的命令。无需使用菜单,你可以:

  • 合并 PDF(包括旋转一个或多个文件的页面)
  • 从 PDF 中提取页面并将其保存到单个文件中
  • 为 PDF 添加背景或水印
  • 将附件添加到文件

你也可以做得更多。点击 “Tools” 菜单,你可以:

  • 从 PDF 中提取附件
  • 压缩或解压缩文件
  • 从文件中提取元数据
  • 用外部数据填充 PDF 表格
  • 扁平化 PDF
  • 从 PDF 表单中删除 XML 表格结构(XFA)数据

老实说,我只使用 PDF Chain 或 PDFtk 提取附件、压缩或解压缩 PDF。其余的对我来说基本没听说。

总结

Linux 上用于处理 PDF 的工具数量一直让我感到吃惊。它们的特性和功能的广度和深度也是如此。无论是命令行还是图形,我总能找到一个能做我需要的。在大多数情况下,PDF Mod 和 PDF Chain 对我来说效果很好。


via: https://opensource.com/article/19/2/manipulating-pdfs-linux

作者:Scott Nesbitt 选题:lujun9972 译者:geekpi 校对:wxy

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