更新日期:2024年5月17日。
Github源码:[点我获取源码] Gitee源码:[点我获取源码]
索引
- Markdown解析库
- 模块管理器
- Inspector界面
- 支持的语法
- 1-6级标题
- 引用文本
- 列表文本
- 勾选框
- 代码片段
- 斜体文本
- 加粗文本
- 载入图像
- 文本超链接
- 图像超链接
- 引用对象(Unity编辑器专用)
- 自定义操作(Unity编辑器专用)
- 其他地方使用解析库
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目录,稍作修改就是一个的独立解析库了。