krjt

krjt

V2EX 第 454976 号会员,加入于 2019-11-23 12:59:36 +08:00
今日活跃度排名 9531
根据 krjt 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
krjt 最近回复了
236 天前
回复了 Cbdy 创建的主题 设计 有没有介绍命令行软件交互设计的书或文档?
https://clig.dev/

Further reading 里可以找到更多
@JYL888 如果没有编程经验的话,首先安装 Python 3 [1] 以及 pip [2],之后在命令行输入

pip install -U pdf.tocgen

接下来按照 #28 或者 #30 里的指令输入就可以了。

[1]: https://www.python.org/downloads/windows/
[2]: https://pip.pypa.io/en/stable/installing/
@JYL888 ?我的 pdf.tocgen 就是面向用户的,虽然完全是命令行操作。模仿第一节的 overview 里的指令基本就可以了。安装指令见第二节。
2020-07-29 13:34:15 +08:00
回复了 krjt 创建的主题 分享创造 pdf.tocgen - 一个能够为 PDF 自动生成目录的命令行工具集
@matrix67 看起来只能在 Windows 下运行,自己目前没有运行 Windows 的电脑,不过原理应该是差不多的,最大的区别可能是 GUI vs CLI,Unix philosophy 以及是否开源的区别。GUI 的操作会更直观一点,不过我觉得在修复 ToC 时可编辑性上是没有能比过纯文本的。
2020-07-29 11:06:08 +08:00
回复了 krjt 创建的主题 分享创造 pdf.tocgen - 一个能够为 PDF 自动生成目录的命令行工具集
@freefcw 扫描的 PDF 是不可以的,因为这样的 PDF 内部结构非常混乱,没有能够利用的信息。

但是第二点是可以的。我刻意将这个功能拆分成了 pdftocio 这个程序,使用流程可以见 2 楼。目录文件的格式可以见这里:

https://krasjet.com/voice/pdf.tocgen/#step-2-generate-table-of-contents

它是 csv 的一个变种,唯一的区别是

1. 每 1 级目录 = 4 个空格缩进
2. 分隔用的是一个空格,不是逗号
3. 标题需要用双引号(")括起来

这个格式主要的目的是为了能够在 Vim 里编辑很容易,vi" 能选中整个标题,<<或者>>能够调整标题的层级。
2020-07-29 10:33:51 +08:00
回复了 krjt 创建的主题 分享创造 pdf.tocgen - 一个能够为 PDF 自动生成目录的命令行工具集
@whileFalse 是的,这样会更简便
2020-07-29 10:31:41 +08:00
回复了 krjt 创建的主题 分享创造 pdf.tocgen - 一个能够为 PDF 自动生成目录的命令行工具集
@whileFalse pdf.tocgen 的重点不是 输入 /输出 目录,能做到它的工具太多了。它的重点是为没有自带目录的 PDF 通过指定的 字体 /位置 信息自动生成一个目录,这是没有那么简单的。
2020-07-29 10:26:32 +08:00
回复了 krjt 创建的主题 分享创造 pdf.tocgen - 一个能够为 PDF 自动生成目录的命令行工具集
@whileFalse 你可能理解错 pdf.tocgen 所做的事情了哦,你所要做的事情 pdftocio 一个工具就能完成

$ pdftocio in.pdf # 打印 in.pdf 已有的 ToC
$ pdftocio in.pdf > toc # 将 in.pdf 已有的目录输出到 toc 中
$ pdftocio out.pdf < toc # 将 toc 中的目录导入到 out.pdf 中
其实你想实现的大部分功能都可以用 Pollen [1] 或者 Scribble [2] 实现( Pollen 是基于 Scribble 的)。表格可能会稍微麻烦点,但是由于在 Pollen 里每一个指令都是函数,这个可以自己写一个 string -> txexpr 的 parser 实现。

[1]: https://docs.racket-lang.org/pollen/third-tutorial.html
[2]: https://docs.racket-lang.org/scribble/getting-started.html
2020-05-12 20:47:40 +08:00
回复了 mathzhaoliang 创建的主题 分享发现 请教一个关于 hugo 渲染 markdown 的问题
这个只要写一个 pandoc filter [1] 把 CodeBlock 转换成 RawBlock "html" 就好了,具体的 AST node 可以在这里 [2] 找到,如果不会用 Haskell 也有提供 lua 和 python 的库的。我之前写的 karasu [3] 里面其实有不少例子。

[1]: https://pandoc.org/filters.html
[2]: https://hackage.haskell.org/package/pandoc-types-1.20/docs/Text-Pandoc-Definition.html
[3]: https://github.com/Krasjet/karasu/tree/master/src/Karasu/Pandoc/Filters
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4027 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 03:40 · PVG 11:40 · LAX 19:40 · JFK 22:40
♥ Do have faith in what you're doing.