diff --git a/src/.vitepress/theme/index.ts b/src/.vitepress/theme/index.ts index 3f38281..2bd6cca 100644 --- a/src/.vitepress/theme/index.ts +++ b/src/.vitepress/theme/index.ts @@ -8,10 +8,11 @@ import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { library } from "@fortawesome/fontawesome-svg-core"; import { faFaucet, faChevronLeft, faChevronRight, faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { faGithub, faDiscord } from "@fortawesome/free-brands-svg-icons"; -import InlineIcon from "../../components/tccpp/components/InlineIcon.vue"; library.add(faFaucet, faChevronLeft, faChevronRight, faGithub, faArrowUpRightFromSquare, faDiscord); +import { InlineIcon, AllInlineIcons } from "../../components/tccpp"; + export default { extends: theme, Layout: () => { @@ -22,5 +23,11 @@ export default { enhanceApp({ app, router, siteData }) { app.component("font-awesome-icon", FontAwesomeIcon); app.component("InlineIcon", InlineIcon); + + let iconName: keyof typeof AllInlineIcons; + for (iconName in AllInlineIcons) { + const icon = AllInlineIcons[iconName]; + app.component(iconName, icon); + } }, } satisfies Theme; diff --git a/src/components/tccpp/components/InlineIcons.ts b/src/components/tccpp/components/InlineIcons.ts new file mode 100644 index 0000000..8a4bac1 --- /dev/null +++ b/src/components/tccpp/components/InlineIcons.ts @@ -0,0 +1,7 @@ +import VisualStudio from "./icons/VisualStudio.vue"; +import VSCode from "./icons/VsCode.vue"; + +export default { + VisualStudio: VisualStudio, + VSCode: VSCode, +}; diff --git a/src/components/tccpp/components/icons/VisualStudio.vue b/src/components/tccpp/components/icons/VisualStudio.vue new file mode 100644 index 0000000..50e61b0 --- /dev/null +++ b/src/components/tccpp/components/icons/VisualStudio.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/components/tccpp/components/icons/VsCode.vue b/src/components/tccpp/components/icons/VsCode.vue new file mode 100644 index 0000000..ae14bf9 --- /dev/null +++ b/src/components/tccpp/components/icons/VsCode.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/components/tccpp/index.ts b/src/components/tccpp/index.ts new file mode 100644 index 0000000..6b611d1 --- /dev/null +++ b/src/components/tccpp/index.ts @@ -0,0 +1,3 @@ +export { default as InlineIcon } from "./components/InlineIcon.vue"; + +export { default as AllInlineIcons } from "./components/InlineIcons.ts"; diff --git a/src/public/assets/vs-code-icon.webp b/src/public/assets/vs-code-icon.webp new file mode 100644 index 0000000..96f7ad9 Binary files /dev/null and b/src/public/assets/vs-code-icon.webp differ diff --git a/src/public/assets/vs-icon.webp b/src/public/assets/vs-icon.webp new file mode 100644 index 0000000..dabc23a Binary files /dev/null and b/src/public/assets/vs-icon.webp differ