diff --git a/CrossDown/Core.py b/CrossDown/Core.py index 26a807b..6c33d28 100644 --- a/CrossDown/Core.py +++ b/CrossDown/Core.py @@ -104,9 +104,25 @@ class ID(InlineProcessor): return tag, match.start(), match.end() +class Emoji(InlineProcessor): + """ + 需要对HTML标签设置ID实现的样式 + """ + + def __init__(self, pattern: str): + """ + 初始化 + :param pattern: 正则表达式 + """ + super().__init__(pattern) + + def handleMatch(self, match, match_line): + return emoji.emojize(match.group(0)), match.start(), match.end() + + class Basic(Extension): """ - 渲染字体样式 + 渲染基本样式 """ def extendMarkdown(self, md): @@ -120,6 +136,9 @@ class Basic(Extension): md.inlinePatterns.register(ID( r'\[(.*?)]-\((.*?)\)', tag='span', property_='title'), 'hide', 0 ) # [在指定的文本里面隐藏一段文本]-(只有鼠标放在上面才会显示隐藏文本) + md.inlinePatterns.register(Emoji( + r':(.+?):'), 'emoji', 0 + ) # 将emoji短代码转换为emoji字符 class Syllabus(Preprocessor): diff --git a/README.html b/README.html index a9314e3..6881a3b 100644 --- a/README.html +++ b/README.html @@ -117,11 +117,11 @@
自制的markdown,添加了一些自定义的语法
- 效果请见README.html
自制的markdown,添加了一些自定义的语法klzzwxh:0001效果请见klzzwxh:0000
直接在文本中使用 缩写 即可
+
klzzwxh:0017klzzwxh:0018
单行
引文内添加斜体粗体~下划线~删除线高亮
引文内添加klzzwxhklzzwxhklzzwxh:00450042klzzwxh:0043
提纲号会被自动配置为锚点,可直接使用{7}76.1}
|=
- 无论如何都会被移除
- 放在代码块里也没用
- =|
|=klzzwxhklzzwxhklzzwxh:00340029klzzwxh:0032=|
警告内容
:person_biking:
-:grinning_face_with_big_eyes:
+🚴
+这是一个笑脸😃图案
这是一个1
@@ -297,5 +294,6 @@ +