【Unity】实现Markdown轻量级解析库,在编辑器中解析Markdown(.md)文件

94 篇文章 273 订阅
4 篇文章 0 订阅

更新日期:2024年5月17日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]

Markdown解析库

手搓了一个Markdown轻量级解析库,虽然网上的高端Markdown解析库多如牛毛,但本着自己动手丰衣足食的原则,能自己写的咱就不低声下气的去求人。

模块管理器

写Markdown解析的初衷是为了在ModuleManager模块管理器界面更美观的显示README文件,咱看看之前的:(直接原封不动展示README内容,既不美观又不直观)

在这里插入图片描述再看看现在的:(支持Markdown解析,颜值上的飙升令我感觉写代码都更有动力了!)
在这里插入图片描述

Inspector界面

同理的,在Project中选中一个Markdown文件,也能在Inspector界面实时解析:
在这里插入图片描述

支持的语法

由于太懒以及某些语法复杂度飙飙飙升(比如甘特图),所以目前只支持解析的标准语法如下:(解析源码我就不贴了,逐行逐字符的解析,没有科技只有狠活

1-6级标题

在这里插入图片描述

引用文本

在这里插入图片描述

列表文本

在这里插入图片描述

勾选框

在这里插入图片描述

代码片段

在这里插入图片描述

斜体文本

在这里插入图片描述

加粗文本

在这里插入图片描述

载入图像

在这里插入图片描述

文本超链接

在这里插入图片描述

图像超链接

在这里插入图片描述

引用对象(Unity编辑器专用)

在这里插入图片描述

需注意:引用对象仅支持Unity编辑器环境中,语法格式为{Object}(对象Assets开头的路径),点击对象名称,可以在Project视图中Ping向该对象。

自定义操作(Unity编辑器专用)

在任意Editor(位于Editor文件夹下)脚本中,编写静态方法(带一个string参数),为方法标记BlockCustomAction特性,使其接收自定义操作的回调:

    [BlockCustomAction]
    private static void MyCustomAction(string args)
    {
        Debug.Log("这是自定义语法,接收到参数:" + args);
    }

然后即可编写自定义语法块:
在这里插入图片描述点击Hello World,你将在控制台中看到:
在这里插入图片描述

需注意:自定义语法仅支持Unity编辑器环境中,语法格式为{Custom}(参数),点击块名称,参数将传递给BlockCustomAction特性标记的方法。

其他地方使用解析库

当然,如果想在自己的EditorWindow上使用解析库也很简单,只需如下这样做:

public class Test : EditorWindow
{
    private TextAsset _mdFile;
    private MarkdownViewer _markdownViewer;

    private void OnEnable()
    {
        //加载MD文件
        //_mdFile = ......

        //加载皮肤(最好始终使用此路径下的皮肤,自定义皮肤需要设置某些关键项,请参照皮肤设置面板)
        GUISkin skin = AssetDatabase.LoadAssetAtPath<GUISkin>("Assets/HTModuleManager/Editor/Markdown/MarkdownSkin.guiskin");

        _markdownViewer = new MarkdownViewer(skin, AssetDatabase.GetAssetPath(_mdFile), _mdFile.text);
    }

    private void OnGUI()
    {
        //绘制MD文档
        _markdownViewer.Draw();
    }
}

最后,只需导入HT.ModuleManager模块,此解析库便自然生效(请放心,HT.ModuleManager不强制依赖任何其他库,可完全独立存在),当然你不这样做也行,直接拷出其中的Markdown目录,稍作修改就是一个的独立解析库了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神码编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值