【源文本转换器】Markdown ←→ Discuz 源文本相互转换器
本帖最后由 Twilight6 于 2023-5-21 10:35 编辑MarDisTextConverter 源文本转换器
static/image/hrline/1.gifstatic/image/hrline/1.gif
(温馨提示:单击图片可以放大图片哦~)
程序于2023/4/23号更新,详细内容请至更新日志处查看。
Ps: 原创程序,仅供参考。另外程序中还有许多 BUG 希望大家能多多反馈,最好带上测试文本,和出现的 BUG 情况,万分感谢!
兄弟萌,在前些天发的ChatGPT详细注册教程时,感受到了来自论坛中编辑器的不便,花费了大量的时间在帖子格式上调试,被渐渐消磨耐心。
其中也可能是因为楼主是个小强迫症患者,一个成稿帖子,可能经过了五六十、七八十次的编辑,因为论坛编辑器无法实时的看到格式的变化,经常需要排版后反复的提交,时常触发人机验证。
也是由于格式和文本是相隔开来的,所以在编写文案修改格式时,作者就看不到实际文章生成的效果,又因为是网页端,所以每次都进行刷新等待页面需要写一步、保存一步、看一眼样式效果,
然后继续机械性的重复以上工作 N 次。直到感官上满意为止。所以觉得花费这么多时间调整格式,偏向于“无用功”了,很容易影响作者们发帖积极性,使之扼杀在了修改帖子格式的“噩梦”里。
所以我想减轻一些格式上的负担:既然编辑器不支持 Markdown 语法,那么就让我们自己制造轮子吧(气呼呼)!因此这些天花了不少的时间,写了一个文本转换器。
该程序能 Typora 的 Markdown 笔记文件可以直接通过该转换器转为 Discuz 论坛编辑器中的源文本。同时,也能将自己的帖子部分格式化后的保存到本地,做到文本互转。
方便直接将本地的笔记通过转换器,快速转换为适合论坛格式的源文本,最终分享到论坛上来,供自己记录笔记和其他鱼油的学习。
希望这样可以稍微减缓一些发帖子改格式上的压力,略微增加兄弟们发帖子欲望吧!
接下来是对该程序的使用、介绍和注意事项等说明。
程序主界面展示
Ⅰ. 程序简单演示
1. 楼主已将此程序打包~,因为 PyQt5 模块底层依赖 Qt(C++库),所以打包时候必须要将使用到的一起附带上,导致打包文件较大,见谅嗷~(不会 Cython 打包,不然可以小很多)
解压后即可打开如图所示 MarDisTextConverter.exe 即可开启程序~
2. 程序界面简单展示,工具栏可以拖动(PyQt5 工具栏自带默认行为),帮助跳转到此帖,关于中可以点击蓝字跳转~
Ⅱ. 主功能演示
Ps:写稿的时候才发现,当引用标签 “>” 后面没有空格时,会把字吃掉一个(图中名言的序号就被吞了)
因为我源代码写的是固定索引切片导致的,因为 Typora 中引用语法是自带 “> ” 一个空格 太懒了打包上传云盘、Git 啥的...,等下次有机会再更新呗,嘿嘿。
不用担心吞你正常的文本,Typora 中引用 “>” 是自带空格的,这里是因为我测试文本是我手打的嘿嘿(但是还是建议如果要覆盖保存,建议提前备份一份哈~)
1. Markdwon To Discuz(Markdown 转 Discuz)
2. Discuz To Markdwon(Discuz 转 Markdown)
3. Markdwon and Discuz convert to each other(Markdown 与 Discuz 使用快捷键互相转换)
4. 程序转换对比
(长图,点击放大图片观看,左边 Discuz,右边 Typora Markdown,Typora 使用了 Vue 主题)
Ⅲ. 菜单栏演示
1. 文件功能演示
2. 编辑功能演示
Ⅳ. 使用注意
1. “#” 标题问题
已修复:2. “>” 引用需带一个空格,否则会吞字(Typora 中编辑没问题,因为编辑中会在 “>” 自带一个空格)
3. 当程序打开新文件后,程序的撤回栈中就清空了,导致无法撤回,需要注意一下哈。
Ⅴ. 程序的不足
1. 不同支持 Markdown 的编辑器语法上可能都有差异,因为楼主在平时做笔记习惯使用了 Typora,
所以本程序主要是转换 Typora 的源文本,其它的 Markdown 编辑器暂不支持(例如:语雀、有道云笔记)
2. 因为楼主技艺不精,和 ChatGPT 这超级工程师讨论了三天三夜(换个真人可能已经把我轰出去了),它的有应必达,
让我哭死(当然,偶尔也会高血压)。尽力肝出这些基础转换功能,基本上可以正常使用啦。
3. 程序源码个人感觉就是依托答辩,楼主的正则写的臭、且 PyQt5 算是第一次接触,都靠 ChatGPT 孜孜不倦的 “教导” ,
才有了现在的代码,所以感兴趣的小伙伴可以学....... 呃,小伙伴我佩服你的勇气。还是去看看隔壁大佬的代码进行学习吧~
4. 此版本为 v0.1.1 测试版,本以为这种文本转换就无非是正则的使用,但实际上在程序的编写过程中,遇到的问题数不胜数(楼主菜是个重要的原因,其次
吹爆 ChatGPT,编写程序过程中就像我的专属导师,帮我解决了大量的问题),所以兄弟们,如果能进行实战的,多进行实战,否则就是纸上谈兵!
5. 遵循基本语法上的转换一般不会有什么问题,奇葩的嵌套等语法大概率无法转换的嗷,所以转换文件前,如果需要保存文件,那么建议将原文本文件进行备份哈~
Ps: 以下为暂不支持的 Discuz 标签:
1) 图片、附件、音乐、音乐、视频等高级标签
2) 目录、字体颜色、字体背景色、表格、有序列表、无序列表
3) 左右浮动标签、上下角标标签
Ⅵ. 本贴资源合集
**** Hidden Message *****
最后:小伙伴们有使用的建议、遇到的 BUG 、吐槽都到评论区发一发呀~,你们的捧场就是对我最大的鼓励!
帖子创作不易,评个分再走呗~
{:9_240:} {:9_240:} {:9_240:}
https://xxx.ilovefishc.com/album/202003/31/144219wdi4u2t8d33u22x3.gif
{:5_106:} 大佬这么晚还没睡? isdkz 发表于 2023-4-23 01:56
大佬这么晚还没睡?
这个帖子没整完睡不着,哈哈哈
话说你一样呀,早点修仙嗷~
那个按下按键就显示的小插件还挺酷的{:10_256:}
自己做的吗?{:10_254:} Twilight6 发表于 2023-4-23 01:57
这个帖子没整完睡不着,哈哈哈
话说你一样呀,早点修仙嗷~
“修仙”{:10_256:} 能支持数学公式不 本帖最后由 王逗比666 于 2023-4-23 08:35 编辑
刚刚用了一下,给楼主反应几个小问题:
第一个是不支持数学公式,不过这玩意在Markdown里也需要用引擎渲染,直接转换支持不了应该算是硬伤
第二个是将代码块转换的时候会将写在```后的语言名也转进去,比如说
```c++
...
```
转换效果会是
c++
....
可能是楼主没有考虑这一点?
第三个也是在代码块里,它会将#转换成奇奇怪怪的东西,比如
```c++
#include <iostream>
#include <algorithm> //直接用里面的sort函数
```
变成了
c++
include <iostream>
include <algorithm> //直接用里面的sort函数
这个问题只在部分代码中出现了,可能是缩进的问题?
但是这个工具确实很好用,我几年前就吐槽过鱼c的编辑器不支持markdown,楼主的工具的出现也算是在另一个角度解决了这个问题{:10_256:}
大佬nb{:10_322:} 王逗比666 发表于 2023-4-23 08:11
刚刚用了一下,给楼主反应几个小问题:
第一个是不支持数学公式,不过这玩意在Markdown里也需要用引擎渲染 ...
{:10_275:}{:10_275:} 稳定才是王道{:10_256:}有没有想过很多人还不知道 Markdown 是什么{:10_302:} 不二如是 发表于 2023-4-23 09:06
稳定才是王道有没有想过很多人还不知道 Markdown 是什么
知道一点 不二如是 发表于 2023-4-23 09:06
稳定才是王道有没有想过很多人还不知道 Markdown 是什么
那确实,稳定更为重要,听说 Discuz 论坛的 Markdown 插件似乎有很多 Bug
元豪 发表于 2023-4-23 07:33
那个按下按键就显示的小插件还挺酷的
自己做的吗?
这个是自己写滴,开个信号槽,发送更新信号,每次更新一个字,时间间隔 0.4s 更新一次
而且因为PyQt5 支持 html 标签,在解析 html 标签时,会直到解析结束才显示,所以有些时候会停顿一下
然后解析完成,一次性显示出来的,实际上就是被包裹在了 <> html 的标签中
王逗比666 发表于 2023-4-23 08:11
刚刚用了一下,给楼主反应几个小问题:
第一个是不支持数学公式,不过这玩意在Markdown里也需要用引擎渲染 ...
哈哈,那我就猜错了 Twilight6 发表于 2023-4-23 01:57
这个帖子没整完睡不着,哈哈哈
话说你一样呀,早点修仙嗷~
{:10_256:}我说昨晚看着怎么看着那么奇怪,都不知道怎么回
每次都想着不能这么晚睡,每次都习惯性熬夜,然后第二天晚起,继续熬夜,就一直处于这样的恶性循环{:10_266:}
可惜 markdown 没有字体颜色的语法
isdkz 发表于 2023-4-23 18:50
我说昨晚看着怎么看着那么奇怪,都不知道怎么回
每次都想着不能这么晚睡,每次都习惯性熬夜 ...
哈哈哈哈
感谢分享! 论坛的纯文本模式取消勾选就行了 币 typora要钱