diff --git a/.vscode/settings.json b/.vscode/settings.json
index a651455..b1d6991 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -14,6 +14,7 @@
"highlightjs",
"hljs",
"markdownit",
+ "metafile",
"octicon",
"outfile",
"packagejson",
diff --git a/src/main.ts b/src/main.ts
index ab95614..85eb8b1 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,9 +1,10 @@
import vscode from "vscode";
+import { changeThemeMode, changeThemeLight, changeThemeDark } from "./commands";
+import { refreshPreview } from "./events";
import markdownItTheme from "./plugins/markdown-it-theme";
import markdownItCodeCopy from "./plugins/markdown-it-code-copy";
import markdownItImage from "./plugins/markdown-it-image";
-import { changeThemeMode, changeThemeLight, changeThemeDark } from "./commands";
-import { refreshPreview } from "./events";
+import markdownItBlockquote from "./plugins/markdown-it-blockquote";
export function activate(context: vscode.ExtensionContext) {
// register commands
@@ -21,6 +22,7 @@ export function activate(context: vscode.ExtensionContext) {
return md
.use(markdownItTheme)
.use(markdownItCodeCopy)
+ .use(markdownItBlockquote)
.use(markdownItImage(context))
.use(require("markdown-it-emoji"))
.use(require("markdown-it-github-headings"), {
diff --git a/src/plugins/markdown-it-blockquote.ts b/src/plugins/markdown-it-blockquote.ts
new file mode 100644
index 0000000..1d05392
--- /dev/null
+++ b/src/plugins/markdown-it-blockquote.ts
@@ -0,0 +1,37 @@
+import MarkdownIt from "markdown-it";
+import Token from "markdown-it/lib/token";
+
+export default function markdownItBlockquote(md: MarkdownIt) {
+ md.renderer.rules.blockquote_open = (tokens, idx, options, _env, _self) => {
+ const token = tokens[idx + 2];
+ const types = {
+ Note: {
+ class: "color-fg-accent",
+ icon: ``,
+ },
+ Warning: {
+ class: "color-fg-attention",
+ icon: ``,
+ },
+ };
+
+ const type = token.content.split("**")[1];
+
+ if (token && type in types) {
+ token.children.splice(1, 3);
+
+ const customToken = new Token("html_block", "", 0);
+
+ customToken.content = `
+
+ ${types[type].icon}${type}
+
+ `;
+
+ token.children.unshift(customToken);
+
+ console.log(token.children);
+ }
+ return md.renderer.renderToken(tokens, idx, options);
+ };
+}