查看: 1046|回复: 8
打印 上一主题 下一主题

[讨论] mdx源文件格式的改良思考

[复制链接]
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    跳转到指定楼层
    1
    发表于 2020-1-16 07:18:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 lemonlab 于 2020-1-16 07:50 编辑

    思路来源:
        [Python下将Markdown转为HTML - 简书](https://www.jianshu.com/p/0eff6cba1b7f)
        [Anki 插件 Power format pack 的使用 - 简书](https://www.jianshu.com/p/b76b460e0eac)
    从此文引出思考:
    1、用扩展版markdown来写词条解析
        扩展版支持带class属性来写 不影响以后美化
    2、继承一些mdx源文件的优秀特点,如@@@LINK= 关键字
    词头框架不变但要允许换行
    ————————✂————————
    Whole
    ### Whole
    This is a paragraph.
    {: #an_id .large }这里是扩展的markdown允许多行便于自己直接在文本编辑器做一些小词典
    </>
    ————————✂————————
    如果Goldendict能支持类似mdx的源文件格式(或变体经过处理)就最好的了
    希望有大神们 @skywind3000 一起来定义一种新的带HTML标签的词典格式
    并统一一些规范可以借鉴一下
    Kindle的mobi格式词典规范
    14.2 文本指南 – 字典条目模板
    [本文第6页 – 亚马逊 Kindle 电子书发布指南(三)特定类型电子书指南 – 书伴](https://bookfere.com/post/610.html/6#kpg_14_2)[自制 Kindle 字典简明教程(进阶篇) – 书伴](https://bookfere.com/post/178.html)

    DSL和xdxf词典格式还有半专业的Lexique Pro数据库虽然附带了一些语义标签还是不被流行,说明词典格式还是html是王道

    希望Goldendict能支持mdx+markdown混合体,^_^


    本帖被以下淘专辑推荐:

  • TA的每日心情
    无聊
    2022-9-25 21:09
  • 签到天数: 1136 天

    [LV.10]以坛为家III

    17

    主题

    3142

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    25289

    灌水大神章

    推荐
    发表于 2020-1-16 09:10:47 | 只看该作者
    一开始 markdown 语法设计不够严谨,会有因相容性问题而产生显示效果不同的问题。不知现在改善了没?
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    3
     楼主| 发表于 2020-1-16 10:02:20 | 只看该作者
    本帖最后由 lemonlab 于 2020-1-16 10:07 编辑

    Goldendict目前只支持DSL,xdxf这样的普通文本格式词典,
    不过这2者编辑时还是不友好
    mdx+markdown超强扩展后兼顾了编辑和体积
    [Python-Markdown — Python-Markdown 3.1.1 documentation](https://python-markdown.github.io/)

    可以利用这个库转化为标准mdx源文件

    要是Goldendict能直接支持mdx源文件也方便边修改词典源边使用词典
    最大优势是自己可以对词典补充一些笔记

  • TA的每日心情
    无聊
    2022-9-25 21:09
  • 签到天数: 1136 天

    [LV.10]以坛为家III

    17

    主题

    3142

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    25289

    灌水大神章

    4
    发表于 2020-1-16 12:23:52 | 只看该作者
    GoldenDict + Markdown(or 任何格式化良好的文本)
    https://www.pdawiki.com/forum/thread-22228-1-1.html?x=183822
  • TA的每日心情
    慵懒
    2021-9-28 14:33
  • 签到天数: 158 天

    [LV.7]常住居民III

    5

    主题

    907

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17310

    QQ 章灌水大神章笑傲江湖章推广专家

    5
    发表于 2020-1-16 12:32:45 | 只看该作者
    oversky 发表于 2020-1-16 09:10
    一开始 markdown 语法设计不够严谨,会有因相容性问题而产生显示效果不同的问题。不知现在改善了没? ...

    markdown的标准都没更新过吧
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    6
     楼主| 发表于 2020-1-16 13:25:18 | 只看该作者
    除了官方的扩展,还有无数第三方扩展,这些扩展可以在https://github.com/waylan/Python ... rd-Party-Extensions找到。

    [GitHub - jessedhillon/mdx_sections: Python-Markdown extension to provide a small amount of structure to Markdown documents.](https://github.com/jessedhillon/mdx_sections)

    这附加扩展厉害了可以把markdow转成带<div class>
    这样css就有用武之地了!
    1. # {resume} Resum&eacute;

    2. ## {education} Education
    3. Educational experience
    复制代码


    转化
    1. <div class="section" id="section_resume">
    2.   <h1 class="title">Resum&eacute;</h1>
    3.   <div class="section" id="section_education">
    4.     <h2 class="title">Education</h2>
    5.     <p>Educational experience</p>
    6.   </div>
    7.   <div class="section" id="section_experience">
    8.     <h2 class="title">Working Experience</h2>
    9.     <p>Work experience</p>
    10.     <div class="employer" id="section_xyz_corp">
    11.       <h3 class="title">XYZ Corp.</h3>
    12.       <p>I worked at XYZ</p>
    13.     </div>
    复制代码
  • TA的每日心情
    无聊
    2022-9-25 21:09
  • 签到天数: 1136 天

    [LV.10]以坛为家III

    17

    主题

    3142

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    25289

    灌水大神章

    7
    发表于 2020-1-16 13:26:50 | 只看该作者
    atauzki 发表于 2020-1-16 12:32
    markdown的标准都没更新过吧

    应该说是定义不清,所以用不同的转译器会产生不同的效果。
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    8
     楼主| 发表于 2020-1-16 13:34:14 | 只看该作者
    GoldenDict 应该采用和chrome一样的渲染引擎吧
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    9
     楼主| 发表于 2020-1-16 15:35:38 | 只看该作者
    本帖最后由 lemonlab 于 2020-1-16 15:37 编辑
    oversky 发表于 2020-1-16 12:23
    GoldenDict + Markdown(or 任何格式化良好的文本)
    https://www.pdawiki.com/forum/thread-22228-1-1.html ...

    让我想起老王的
    [词典服务 MDX Server — 老黄老巢](https://www.laohuang.net/20161113/mdx-server/)
    只是他也是读取mdx
    不过思路很通用,
    建立本地服务器,查询结果输出到地址栏,
    在浏览器输入 http://localhost:8000/{word},{word}为待查单词,比如http://localhost:8000/test,通过mdx-server查询,浏览器内将显示相应词典的解释,并可点击播放词典内置音频。Goldendict里添加网址词典指向本地端口~
    修改下代码,读取本地文本应该更简单了,不过要配合css又难度了