我在工作中遇到了一个问题, 我最近工作需要输出一个文档,这个文档里面有一些内容是不可对外展示的。这种情况下,一般我需要写两份文档,对于我来说,有点不太能接受。因为两份文档就表明了,我以后的修改内容都需要进行两次修改,工作量翻一倍。所以我需要一个程序将第二个文档自动生成出来。
起因:
思考:
将问题提纯:
如何将 markdown 文件内的内容进行分块标记,并且让程序自动识别进行隐藏?
生成代码:
询问 ChatGPT:
问题1:MD 文件一般是什么格式?

问题2:我想用标记语言方式将Markdown 的内容分为对外和对内,被标记语言标注的内容、对外展示时隐藏,用 go 语言写一下

问题3:我希望它可以标记多行,而且标记语言的符号简单一些

问题4:修改一下,markdownContent 的内容是从参数 -I 获取,此参数为文档名称 参数 -O 是文档输出名称 参数 -S 为是否展示隐藏内容

问题5:使用 cobra
问题6:将函数提取一下,我希望以后的命令修改不涉及到main.go 文件
问题7:生成 makefile 文件,支持生成各个架构命令
问题8:整理上述内容,给我一个目录结构以及各个文件的内容
内容就不展示了,浪费流量。
最终结果:
目录结构
Makefile:用于构建不同架构的 Go 应用程序。
main.go:主程序,负责命令行解析和调用处理函数。
markdown/processor.go:处理 Markdown 文件的逻辑。
调试代码:
大部分代码已经编写完成了,如果你有一定的 linux shell 基础,就能看出,这个实现的逻辑不过就是正则表达式替换功能,其实就是一条 sed 命令的事,很失望的结果。另外:linux 三剑客(awk、sed、grep )真是强大。

由于 window 存在我觉得还是用吧。但是我懒得调试了,只把最终代码提交上去了,等有时间我再调试一下。
调试就是验证一下程序,如果有问题的话,进行一下修改。这部分就得靠自己了