pca006132
本帖最后由 pca006132 于 2017-2-7 21:40 编辑

欢迎使用markdown2bbcode, by pca006132
使用方法:
在cmd(路径为markdown2bbcode.exe的文件夹)里输入markdown2bbcode.exe <markdown文件>,然后会输出output.txt,里面就是bbcode啦
注意: markdown文件必须为utf-8编码, 否则不认。
删除图片:
如果图片上传到了图床, 图片的删除链接会放在一个叫delete.txt的文件里, 如果要一次过删除那些图片, 请使用 markdown2bbcode.exe delete

文件例子(本帖子的原始码)已经放在那exe的包里...py文件也在那压缩包里
本生成器功能:
把markdown转为bbcode
自动分页, 并添加目录(默认 #标题 之后的内容为一分页)
自动为pcb代码高亮。(pcb代码里的[]符号会被自动处理, 然而基于论坛bug, 处理后重新编辑会令处理消失...(其实没啥特别的, 就是[变成[)...)
其他不滋磁的bbcode可以直接写进去...


2021.12 数据,可能有更多内容
欢迎使用markdown2bbcode, by pca006132
使用方法:
在cmd(路径为markdown2bbcode.exe的文件夹)里输入markdown2bbcode.exe &lt;markdown文件&gt;,然后会输出output.txt,里面就是bbcode啦
注意: markdown文件必须为utf-8编码, 否则不认。
删除图片:
如果图片上传到了图床, 图片的删除链接会放在一个叫delete.txt的文件里, 如果要一次过删除那些图片, 请使用 markdown2bbcode.exe delete

文件例子(本帖子的原始码)已经放在那exe的包里...py文件也在那压缩包里
本生成器功能:
把markdown转为bbcode
自动分页, 并添加目录(默认 #标题 之后的内容为一分页)
自动为pcb代码高亮。(pcb代码里的[]符号会被自动处理, 然而基于论坛bug, 处理后重新编辑会令处理消失...(其实没啥特别的, 就是[变成[)...)
其他不滋磁的bbcode可以直接写进去...


格式
(建议不同元素之间隔至少一条空行, 如列表到段落之间隔行, 否则可能就会把段落当作是上一元素的一部分)
本工具支援的元素有:
粗体/斜体

代码:

  1. **粗体(红色)** *斜体(绿色)*
粗体(红色) 斜体(绿色)
图片

代码:

  1. ![文字](链接)

  2. ![其实这文字并没有用](http://www.mcbbs.net/uc_server/avatar.php?uid=193048&size=middle)

  3. 如果图片不是http开首(https也算是http开首的!!!), 就会自动上传到sm.ms(应该容许这样吧QAQ)
  4. 比如
  5. ![cb](cb.gif)


链接

代码:

  1. [文字](链接)

  2. [新人手册](https://pca006132.neocities.org)
新人手册
图片链接

代码:

  1. [![其实这文字并没有用](http://www.mcbbs.net/uc_server/avatar.php?uid=193048&size=middle)](https://pca006132.neocities.org)

行内代码

代码:

  1. ```代码代码```

这是一行代码
表格

代码:

  1. |标题|标题|
  2. |--|--|
  3. |内容|内容|
  4. |内容|内容|
标题
标题
内容
内容
内容
内容
代码块

代码:

  1. ```
  2. 代码
  3. 代码
  4. ```

代码:

  1. ~~~
  2. 代码
  3. ~~~
PCB代码(自带高亮):

代码:

  1. ```pcb
  2. //例子
  3. init:scoreboard objectives add index dummy
  4. //loop(手动, 为了避免爆炸) {
  5.     icb:blockdata ~ ~ ~ {auto:0b}

  6.     /*
  7.   加物件到list最后:
  8.   1. EndList +1(本来代表最大的index, 然后+1就空出一个没人用的index)
  9.   2. 生成AEC, tag=new, 方便之后操作
  10.   3. 把新生成的AEC的分数设置为EndList的分数
  11.   4. 把新生成的AEC的new tag删除掉, 因为已经没必要使用了, 留着会影响下一次
  12.     */
  13.     cond:execute @e[name=for_loop] ~ ~ ~ blockdata ~ ~ ~ {auto:1b}
  14. //}
  15. ```
效果:
//例子
init:scoreboard objectives add index dummy
//loop(手动, 为了避免爆炸) {
    icb:blockdata ~ ~ ~ {auto:0b}


    /*
  加物件到list最后:
  1. EndList +1(本来代表最大的index, 然后+1就空出一个没人用的index)
  2. 生成AEC, tag=new, 方便之后操作
  3. 把新生成的AEC的分数设置为EndList的分数
  4. 把新生成的AEC的new tag删除掉, 因为已经没必要使用了, 留着会影响下一次
    */
    cond:execute @e[name=for_loop] ~ ~ ~ blockdata ~ ~ ~ {auto:1b}
//}
列表
无序列表

代码:

  1. + 物品1
  2. + 物品2
效果:
  • 物品1
  • 物品2
有序列表

代码:

  1. 1. 物品1
  2. 1. 物品2
效果:
  • 物品1
  • 物品2
分隔符

代码:

  1. bla bla bla
  2. ---
  3. bla bla bla
效果


--------------------------
之后的元素

TNT嘉音
很好的资源!

。—。

32位机表示哭晕在厕所……

pca006132
a6809936 发表于 2017-2-7 21:23
32位机表示哭晕在厕所……

啊,第一次玩这个不太懂对不起

或许你需要使用python :P Python3, 要pip install mistune

jeffswt
个人还是建议你搞成 Pandoc 插件更好...

虽然我是 C/C++/Python/Java 出身但是还是建议学一发 Haskell...

pca006132
jeffswt 发表于 2017-2-7 21:31
个人还是建议你搞成 Pandoc 插件更好...

虽然我是 C/C++/Python/Java 出身但是还是建议学一发 Haskell... ...

嘛...这个玩意其实只是写来方便我把手上一些markdown写的教程转为bbcode而已,随便写写,发出来只是因为那pcb高亮的功能和目录的功能或许对其他人有点用。
写成pandoc插件的话,这bbcode首先不太标准,而且我没太多时间学别的东西...感觉不太值得

。—。
pca006132 发表于 2017-2-7 21:29
啊,第一次玩这个不太懂对不起

或许你需要使用python :P Python3, 要pip install mistune ...

1楼下载的.zip包里只有
  1. $ busybox unzip -l /cygdrive/f/Downloads/markdown2bbcode.zip
  2. Archive:  /cygdrive/f/Downloads/markdown2bbcode.zip
  3.   Length     Date   Time    Name
  4. --------    ----   ----    ----
  5.         0  02-07-17 21:05   markdown2bbcode/
  6.     25377  11-21-16 16:05   markdown2bbcode/cb.gif
  7.   6339470  02-07-17 20:56   markdown2bbcode/markdown2bbcode.exe
  8.      4907  02-07-17 21:05   markdown2bbcode/output.txt
  9.      4050  02-07-17 21:02   markdown2bbcode/test.txt
  10. --------                   -------
  11.   6373804                   5 files
复制代码
但是我没看到.py在哪里的说【手动笑cry

pca006132
a6809936 发表于 2017-2-7 21:24
1楼下载的.zip包里只有但是我没看到.py在哪里的说【手动笑cry

哦靠忘了把py放里面了23333
对不起

。—。
pca006132 发表于 2017-2-7 21:25
哦靠忘了把py放里面了23333
对不起


各种的艰难险阻都阻止不了我学习.py的热情,连Chrome也不能!finally got it√
但是……说好的例子变成了
  1. busybox unzip '/cygdrive/f/Downloads/markdown2bbcode (2).zip' -l
  2. Archive:  /cygdrive/f/Downloads/markdown2bbcode (2).zip
  3.   Length     Date   Time    Name
  4. --------    ----   ----    ----
  5.         0  02-07-17 21:37   markdown2bbcode/
  6.     25377  11-21-16 16:05   markdown2bbcode/cb.gif
  7.   6339470  02-07-17 20:56   markdown2bbcode/markdown2bbcode.exe
  8.      4987  02-07-17 20:56   markdown2bbcode/markdown2bbcode.py
  9.        70  02-07-17 21:15   markdown2bbcode/output.txt
  10.        32  02-07-17 21:15   markdown2bbcode/test.txt
  11. --------                   -------
  12.   6369936                   6 files

  13. $ busybox unzip '/cygdrive/f/Downloads/markdown2bbcode (2).zip' markdown2bbcode/test.txt -p
  14. ~~~
  15. ```inline code```
  16. ~~~
复制代码

关于图床那边,作者没提什么限制,随意用就好了 XDD
https://www.v2ex.com/t/182703

pca006132
a6809936 发表于 2017-2-7 22:10
各种的艰难险阻都阻止不了我学习.py的热情,连Chrome也不能!finally got it√
但是……说好的例子变成了 ...

例子是test.txt

jeffswt
pca006132 发表于 2017-2-7 21:38
嘛...这个玩意其实只是写来方便我把手上一些markdown写的教程转为bbcode而已,随便写写,发出来只是因为 ...

说实在的其实我也不是说不行,这种用一次的代码我也不是没写过...

但是其实问题在于 Markdown 中有可能掺杂 HTML 代码,这就比较尴尬了 = =

jeffswt
另外提一个建议:

re 要加 compile

或者自定义一个 Hook 把 re.sub, re.match, re.findall 包括在里面,自动调用已经 compile 好的表达式
虽然这个运行速度不是太大问题,不过如果有大的项目还是注意一下