V2EX krjt
krjt

krjt

V2EX 第 454976 号会员,加入于 2019-11-23 12:59:36 +08:00
根据 krjt 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
krjt 最近回复了
2021-04-14 22:40:53 +08:00
回复了 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 里的指令基本就可以了。安装指令见第二节。
@matrix67 看起来只能在 Windows 下运行,自己目前没有运行 Windows 的电脑,不过原理应该是差不多的,最大的区别可能是 GUI vs CLI,Unix philosophy 以及是否开源的区别。GUI 的操作会更直观一点,不过我觉得在修复 ToC 时可编辑性上是没有能比过纯文本的。
@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" 能选中整个标题,<<或者>>能够调整标题的层级。
@whileFalse 是的,这样会更简便
@whileFalse 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     Solana     2685 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 14ms UTC 13:17 PVG 21:17 LAX 05:17 JFK 08:17
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86