diff --git a/src/main/java/cc/ryanc/halo/model/dto/HaloConst.java b/src/main/java/cc/ryanc/halo/model/dto/HaloConst.java
index 17cde31cd..dea15becd 100644
--- a/src/main/java/cc/ryanc/halo/model/dto/HaloConst.java
+++ b/src/main/java/cc/ryanc/halo/model/dto/HaloConst.java
@@ -54,4 +54,34 @@ public class HaloConst {
* 网易云音乐短代码正则表达式
*/
public static final String NETEASE_MUSIC_REG_PATTERN = "\\[music:(\\d+)\\]";
+
+ /**
+ * 哔哩哔哩视频短代码前缀
+ */
+ public static final String BILIBILI_VIDEO_PREFIX = "[bilibili:";
+
+ /**
+ * 哔哩哔哩视频 iframe 代码
+ */
+ public static final String BILIBILI_VIDEO_IFRAME = "";
+
+ /**
+ * 哔哩哔哩视频正则表达式
+ */
+ public static final String BILIBILI_VIDEO_REG_PATTERN = "\\[bilibili:(\\d+)\\,(\\d+)\\,(\\d+)\\]";
+
+ /**
+ * YouTube 视频短代码前缀
+ */
+ public static final String YOUTUBE_VIDEO_PREFIX = "[youtube:";
+
+ /**
+ * YouTube 视频 iframe 代码
+ */
+ public static final String YOUTUBE_VIDEO_IFRAME = "";
+
+ /**
+ * YouTube 视频正则表达式
+ */
+ public static final String YOUTUBE_VIDEO_REG_PATTERN = "\\[youtube:(\\w+)\\,(\\d+)\\,(\\d+)\\]";
}
diff --git a/src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java b/src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java
index 86dcc70e9..edb449c34 100644
--- a/src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java
+++ b/src/main/java/cc/ryanc/halo/utils/MarkdownUtils.java
@@ -54,6 +54,14 @@ public class MarkdownUtils {
if (content.contains(HaloConst.NETEASE_MUSIC_PREFIX)) {
renderContent = content.replaceAll(HaloConst.NETEASE_MUSIC_REG_PATTERN, HaloConst.NETEASE_MUSIC_IFRAME);
}
+ // render bilibili video short url
+ if (content.contains(HaloConst.BILIBILI_VIDEO_PREFIX)) {
+ renderContent = content.replaceAll(HaloConst.BILIBILI_VIDEO_REG_PATTERN, HaloConst.BILIBILI_VIDEO_IFRAME);
+ }
+ // render youtube video short url
+ if (content.contains(HaloConst.YOUTUBE_VIDEO_PREFIX)) {
+ renderContent = content.replaceAll(HaloConst.YOUTUBE_VIDEO_REG_PATTERN, HaloConst.YOUTUBE_VIDEO_IFRAME);
+ }
return renderContent;
}
@@ -69,4 +77,8 @@ public class MarkdownUtils {
document.accept(visitor);
return visitor.getData();
}
+
+ public static void main(String[] args) {
+ System.out.println("[bilibili:44971847]".replaceAll(HaloConst.BILIBILI_VIDEO_REG_PATTERN, HaloConst.BILIBILI_VIDEO_IFRAME));
+ }
}