Twilight6 发表于 2023-4-23 01:36:55

【源文本转换器】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

isdkz 发表于 2023-4-23 01:56:21

{:5_106:}

isdkz 发表于 2023-4-23 01:56:52

大佬这么晚还没睡?

Twilight6 发表于 2023-4-23 01:57:47

isdkz 发表于 2023-4-23 01:56
大佬这么晚还没睡?



这个帖子没整完睡不着,哈哈哈

话说你一样呀,早点修仙嗷~

元豪 发表于 2023-4-23 07:33:32

那个按下按键就显示的小插件还挺酷的{:10_256:}

自己做的吗?{:10_254:}

元豪 发表于 2023-4-23 07:35:04

Twilight6 发表于 2023-4-23 01:57
这个帖子没整完睡不着,哈哈哈

话说你一样呀,早点修仙嗷~

“修仙”{:10_256:}

王逗比666 发表于 2023-4-23 08:01:17

能支持数学公式不

王逗比666 发表于 2023-4-23 08:11:51

本帖最后由 王逗比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:}

不二如是 发表于 2023-4-23 09:04:13

王逗比666 发表于 2023-4-23 08:11
刚刚用了一下,给楼主反应几个小问题:
第一个是不支持数学公式,不过这玩意在Markdown里也需要用引擎渲染 ...

{:10_275:}{:10_275:}

不二如是 发表于 2023-4-23 09:06:08

稳定才是王道{:10_256:}有没有想过很多人还不知道 Markdown 是什么{:10_302:}

wp231957 发表于 2023-4-23 09:18:00

不二如是 发表于 2023-4-23 09:06
稳定才是王道有没有想过很多人还不知道 Markdown 是什么

知道一点

Twilight6 发表于 2023-4-23 10:03:10

不二如是 发表于 2023-4-23 09:06
稳定才是王道有没有想过很多人还不知道 Markdown 是什么



那确实,稳定更为重要,听说 Discuz 论坛的 Markdown 插件似乎有很多 Bug

Twilight6 发表于 2023-4-23 10:13:27

元豪 发表于 2023-4-23 07:33
那个按下按键就显示的小插件还挺酷的

自己做的吗?


这个是自己写滴,开个信号槽,发送更新信号,每次更新一个字,时间间隔 0.4s 更新一次

而且因为PyQt5 支持 html 标签,在解析 html 标签时,会直到解析结束才显示,所以有些时候会停顿一下

然后解析完成,一次性显示出来的,实际上就是被包裹在了 <> html 的标签中

王逗比666 发表于 2023-4-23 11:41:10

王逗比666 发表于 2023-4-23 08:11
刚刚用了一下,给楼主反应几个小问题:
第一个是不支持数学公式,不过这玩意在Markdown里也需要用引擎渲染 ...

哈哈,那我就猜错了

isdkz 发表于 2023-4-23 18:50:00

Twilight6 发表于 2023-4-23 01:57
这个帖子没整完睡不着,哈哈哈

话说你一样呀,早点修仙嗷~

{:10_256:}我说昨晚看着怎么看着那么奇怪,都不知道怎么回

每次都想着不能这么晚睡,每次都习惯性熬夜,然后第二天晚起,继续熬夜,就一直处于这样的恶性循环{:10_266:}

可惜 markdown 没有字体颜色的语法

Twilight6 发表于 2023-4-23 19:10:11

isdkz 发表于 2023-4-23 18:50
我说昨晚看着怎么看着那么奇怪,都不知道怎么回

每次都想着不能这么晚睡,每次都习惯性熬夜 ...


哈哈哈哈

hornwong 发表于 2023-4-23 19:43:16

感谢分享!

歌者文明清理员 发表于 2023-4-23 19:54:24

论坛的纯文本模式取消勾选就行了

歌者文明清理员 发表于 2023-4-23 19:56:18

歌者文明清理员 发表于 2023-4-23 19:56:43

typora要钱
页: [1] 2 3 4 5 6 7
查看完整版本: 【源文本转换器】Markdown ←→ Discuz 源文本相互转换器