roam2md主要是把Roam Research的笔记转换为显示无误的markdown笔记
- 新建一个txt文件如example.txt,把要转换的roam内容粘贴到文本中
- 运行python脚本
python roam2md.py 0 example.txt ...
,即可把程序转换为对应的markdown文件
其中,第一个参数指明了要转换为对应标题样式的级别,支持0~6,0为不转换,
第二个参数及后续为要转换的文件或文件夹
- 代码块的处理
- 支持把前几级压扁成对应的h1、h2等的样式,最多支持6级
- 识别行间和行内公式
- 删除双向引用
- 提取alias中名字
- 支持高亮格式从^^转换为==
- 支持斜体从__转换为*
- 支持把行间公式压缩成一行
不用转换的功能:
- 删字符
- 加粗
- 图片
- 行内代码
- 超链接
- mweb: roam2md
- csdn: roam2md
- leetcode: roam2leetcode
- vuepress: roam2vuepress
- github: roam2github
python >= 3.7
- 只支持无序列表(Bulleted List),不支持有序列表(Numbered List)和文档(Document),原因是有序列表难以判断和解析,支持文档模式会和现有的块内多行的判断有歧义
- roam2md只支持语法正确时的解析,即保证在roam中能正确解析的,导出后也正确解析,不正确的语法,或故意为难解析器的,,我也没办法哇
- roam2md目前是作者写给自用,用于方便把学习笔记生成markdown格式发布到csdn博客上,若使用过程中发现有解析出来的bug,请提一个issue,(视情况支持,主要不同markdown解析器的小区别太多了)
- vuepress
- 用于支持在vuepress上写博客的md格式
- 不使用第一级#,而从第二级##开始,且增加一个开关支持多种代码的合并
- 高亮需要使用
<mark></mark>
来显示 - 代码高亮c++要转成cpp
- leetcode
- 用于支持在leetcode上发题解的md格式
- 代码块上会加[],用以多代码合并
- github
- 用于支持leetcode上的md格式
github的行内公式支持的有些奇怪,语法确实是用$
包含起来,但是不知道为啥有的会被转换,有的不行