Files
mavlink-devguide/.vitepress/theme/index.js
T
Hamish Willee b6c49b2cd1 Test migration to vitepress (#551)
* Add package/.vitepress folders - more work to be done

* Fix up config and add site/favicons

* Update styles for wide tables

* Rename English files from README.md to index.md

* Add root home page

* Update .gitignore for vitepress

* Delete unused: travis, book, redirects

* Fix up all Notes

* Warnings and notes - convert to github format

* Add running workflow

* Add yarn lock file

* Fix up links README.md to index.md

* Add lock files
2024-11-27 16:59:53 +11:00

59 lines
1.6 KiB
JavaScript

// https://vitepress.dev/guide/custom-theme
import { h } from "vue";
import DefaultTheme from "vitepress/theme";
import "./style.css";
// To support medium-zoom - like setup()
import { onMounted, watch, nextTick } from "vue";
import { useRoute } from "vitepress";
import mediumZoom from "medium-zoom";
// For https://www.npmjs.com/package/lite-youtube-embed
import { inBrowser } from "vitepress";
import "lite-youtube-embed/src/lite-yt-embed.css";
if (inBrowser) {
// @ts-ignore
import("lite-youtube-embed");
}
// Support redirect plugin
import Redirect from "./components/Redirect.vue";
// Tabs: https://github.com/Red-Asuka/vitepress-plugin-tabs
import { Tab, Tabs } from "vue3-tabs-component";
import "@red-asuka/vitepress-plugin-tabs/dist/style.css";
/** @type {import('vitepress').Theme} */
export default {
extends: DefaultTheme,
Layout: () => {
return h(DefaultTheme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
});
},
enhanceApp({ app, router, siteData }) {
app.component("Redirect", Redirect); //Redirect plugin
//Tabs: https://github.com/Red-Asuka/vitepress-plugin-tabs
app.component("Tab", Tab);
app.component("Tabs", Tabs);
},
// to support medium zoom: https://github.com/vuejs/vitepress/issues/854
setup() {
const route = useRoute();
const initZoom = () => {
//mediumZoom("[data-zoomable]", { background: "var(--vp-c-bg)" });
mediumZoom(".main img", { background: "var(--vp-c-bg)" });
};
onMounted(() => {
initZoom();
});
watch(
() => route.path,
() => nextTick(() => initZoom())
);
},
//end to support medium zoom
};