diff --git a/src/main.ts b/src/main.ts index 5ec23e1..e2de59b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -38,6 +38,8 @@ function loadPageScript(type: string): Promise { case "post": case "page": return import("@/pages/post"); + case "page-links": + return import("@/pages/links"); default: return import("@/pages/index"); } diff --git a/src/page-links.php b/src/page-links.php index 0b58f79..28199cc 100644 --- a/src/page-links.php +++ b/src/page-links.php @@ -32,10 +32,12 @@
- " title=""> - + " title="" target="_blank"> +
- "> + + " name=""> +
diff --git a/src/pages/links.ts b/src/pages/links.ts new file mode 100644 index 0000000..4b7431c --- /dev/null +++ b/src/pages/links.ts @@ -0,0 +1,27 @@ +import "@mdui/icons/person--rounded"; + +export const init = () => { + const img = document.querySelectorAll( + "img.matecho-link-avatar" + ); + img.forEach(imgEl => { + const name = imgEl.getAttribute("name"); + const span = name + ? document.createElement("span") + : document.createElement("mdui-icon-person--rounded"); + if (name) { + span.textContent = name.substring(0, 1).toUpperCase(); + } + imgEl.style.display = "none"; + imgEl.after(span); + if (imgEl.height != 0) { + imgEl.style.display = ""; + span.remove(); + } else { + imgEl.addEventListener("load", () => { + imgEl.style.display = ""; + span.remove(); + }); + } + }); +}; diff --git a/unocss.config.ts b/unocss.config.ts index e189cab..aad407d 100644 --- a/unocss.config.ts +++ b/unocss.config.ts @@ -1,6 +1,11 @@ -import { defineConfig } from "unocss"; +import { defineConfig, presetUno } from "unocss"; export default defineConfig({ + presets: [ + presetUno({ + dark: "media" + }) + ], theme: { breakpoints: { xs: "0px", @@ -17,6 +22,12 @@ export default defineConfig({ ([, c]) => { return { color: `rgb(var(--mdui-color-${c}))` }; } + ], + [ + /^bg-m-(.*)$/, + ([, c]) => { + return { "background-color": `rgb(var(--mdui-color-${c}))` }; + } ] ] });