import { defineConfig } from "vitepress"; import { withPwa } from "@vite-pwa/vitepress"; import UnoCSS from "unocss/vite"; import { presetUno, presetAttributify, presetIcons } from "unocss"; import { meta } from "./constants"; import { pwa } from "./pwa"; import { generateMeta } from "./hooks/meta"; export default withPwa( defineConfig({ title: "FMHY", description: meta.description, titleTemplate: ":title | FreeMediaHeckYeah", lang: "en-US", lastUpdated: true, cleanUrls: true, appearance: "dark", srcExclude: ["readme.md", "single-page"], ignoreDeadLinks: true, sitemap: { hostname: meta.hostname, }, head: [ ["meta", { name: "theme-color", content: "#7bc5e4" }], ["meta", { name: "og:type", content: "website" }], ["meta", { name: "og:locale", content: "en" }], ["meta", { property: "og:type", content: "website" }], ["meta", { property: "og:title", content: meta.name }], ["link", { rel: "icon", href: "/fmhy.ico", sizes: "any" }], ["link", { rel: "icon", href: "/test.png", type: "image/svg+xml" }], ["link", { rel: "mask-icon", href: "/test.png", color: "#7bc5e4" }], // pwa ["link", { rel: "alternate icon", href: "/test.png" }], ["link", { rel: "apple-touch-icon", href: "/fmhy.png", sizes: "192x192" }], ["meta", { name: "apple-mobile-web-app-status-bar-style", content: "black-translucent" }], ["meta", { name: "keywords", content: meta.keywords.join(" ") }], ["meta", { name: "twitter:description", content: meta.description }], ["meta", { name: "twitter:title", content: meta.name }], ["meta", { name: "twitter:card", content: "summary_large_image" }], ["meta", { name: "twitter:site", content: meta.hostname }], ], transformHead: async (context) => generateMeta(context, meta.hostname), vite: { plugins: [ UnoCSS({ presets: [ presetUno(), presetAttributify(), presetIcons({ scale: 1.2, extraProperties: { display: "inline-block", "vertical-align": "middle", }, }), ], }), ], }, themeConfig: { search: { provider: "local", }, outline: "deep", logo: "/fmhy.ico", nav: [ { text: "Beginners Guide", link: "/beginners-guide" }, { text: "Glossary", link: "https://rentry.org/The-Piracy-Glossary" }, { text: "Guides", link: "https://rentry.co/fmhy-guides" }, { text: "Backups", link: "https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/backups" }, { text: "Updates", link: "https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/updates/" }, ], sidebar: [ { text: "📛 Adblocking / Privacy", link: "/adblockvpnguide" }, { text: "🤖 Artificial Intelligence", link: "/ai" }, { text: "📺 Movies / TV / Anime", link: "/videopiracyguide" }, { text: "🎵 Music / Podcasts / Radio", link: "/audiopiracyguide" }, { text: "🎮 Gaming / Emulation", link: "/gamingpiracyguide" }, { text: "📗 Books / Comics / Manga", link: "/readingpiracyguide" }, { text: "💾 Downloading", link: "/downloadpiracyguide" }, { text: "🌀 Torrenting", link: "/torrentpiracyguide" }, { text: "🧠 Educational", link: "/edupiracyguide" }, { text: "🔧 Tools", link: "/toolsguide" }, { text: "📷 Image Tools", link: "/img-tools" }, { text: "👨‍💻 Developer Tools", link: "/devtools" }, { text: "📱 Android / iOS", link: "/Android-iosguide" }, { text: "🐧 Linux / MacOS", link: "/linuxguide" }, { text: "🌍 Non-English", link: "/non-english" }, { text: "📂 Miscellaneous", link: "/miscguide" }, { text: "🔞 NSFW", link: "/nsfwpiracy" }, { text: "⚠️ Unsafe Sites", link: "/unsafesites" }, { text: "🔑 Base64", link: "/base64" }, { text: "📦 Storage", link: "/storage" }, ], socialLinks: [ { icon: "github", link: "https://github.com/fmhy/FMHYEdit" }, { icon: "discord", link: "https://discord.gg/Stz6y6NgNg" }, { icon: { svg: '', }, link: "https://reddit.com/r/FREEMEDIAHECKYEAH", }, ], ...pwa, }, }), );