diff --git a/.mise.toml b/.mise.toml index 5d3cdd5a1..183690bd0 100644 --- a/.mise.toml +++ b/.mise.toml @@ -1,6 +1,6 @@ # https://github.com/vitejs/vite/issues/17291 [tools] -node = "21" +node = "latest" [tasks] d = "nrr docs:dev --host" diff --git a/docs/.vitepress/constants.ts b/docs/.vitepress/constants.ts index b9baf63b1..04c9c6ebb 100644 --- a/docs/.vitepress/constants.ts +++ b/docs/.vitepress/constants.ts @@ -155,7 +155,7 @@ export const nav: DefaultTheme.NavItem[] = [ { text: '🚀 Startpage', link: 'https://fmhy.net/startpage' }, { text: '📋 snowbin', link: 'https://pastes.fmhy.net' }, { - text: '®️ Redlib', + text: '® Redlib', link: 'https://redlib.fmhy.net/r/FREEMEDIAHECKYEAH/wiki/index' }, { text: '🔎 SearXNG', link: 'https://searx.fmhy.net/' }, @@ -178,19 +178,7 @@ export const nav: DefaultTheme.NavItem[] = [ } ] -export const sidebar: DefaultTheme.Sidebar | DefaultTheme.NavItemWithLink[] = [ - { - text: ' Beginners Guide', - link: '/beginners-guide' - }, - { - text: ' Posts', - link: '/posts' - }, - { - text: ' Contribute', - link: '/other/contributing' - }, +export const wikiSidebar = [ { text: 'Wiki', collapsed: false, @@ -305,9 +293,9 @@ export const sidebar: DefaultTheme.Sidebar | DefaultTheme.NavItemWithLink[] = [ items: [ meta.build.nsfw ? { - text: ' NSFW', - link: 'https://rentry.co/NSFW-Checkpoint' - } + text: ' NSFW', + link: 'https://rentry.co/NSFW-Checkpoint' + } : {}, { text: ' Unsafe Sites', @@ -320,3 +308,21 @@ export const sidebar: DefaultTheme.Sidebar | DefaultTheme.NavItemWithLink[] = [ ] } ] + +export const beginnersGuideItem: DefaultTheme.NavItemWithLink = { + text: ' Beginners Guide', + link: '/beginners-guide' +} + +export const sidebar: DefaultTheme.Sidebar | DefaultTheme.NavItemWithLink[] = [ + beginnersGuideItem, + { + text: ' Posts', + link: '/posts' + }, + { + text: ' Contribute', + link: '/other/contributing' + }, + ...wikiSidebar +] diff --git a/docs/.vitepress/theme/components/VPButton.vue b/docs/.vitepress/theme/components/VPButton.vue index 474fdbcc5..da3d32bb0 100644 --- a/docs/.vitepress/theme/components/VPButton.vue +++ b/docs/.vitepress/theme/components/VPButton.vue @@ -1,8 +1,7 @@ @@ -175,4 +280,95 @@ const component = computed(() => { color: var(--vp-button-sponsor-active-text); background-color: var(--vp-button-sponsor-active-bg); } + +/* Dropdown styles */ +.VPButtonDropdown { + position: relative; + display: inline-block; +} + +.VPButtonWrapper { + display: flex; + align-items: stretch; +} + +.VPButtonMain { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: none; +} + +.VPButtonDropdownMenu { + position: absolute; + top: 100%; + left: 0; + right: 0; + z-index: 50; + margin-top: 4px; + background-color: var(--vp-c-bg-elv); + border: 1px solid var(--vp-c-divider); + border-radius: 12px; + box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08); + min-width: 280px; + max-height: 400px; + overflow-y: auto; +} + +.VPButtonDropdownContent { + padding: 8px; +} + +.VPButtonDropdownSection { + margin-bottom: 8px; +} + +.VPButtonDropdownSection:last-child { + margin-bottom: 0; +} + +.VPButtonDropdownSectionTitle { + font-size: 12px; + font-weight: 600; + color: var(--vp-c-text-2); + padding: 8px 12px 4px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.VPButtonDropdownItem { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + border-radius: 6px; + color: var(--vp-c-text-1); + text-decoration: none; + font-size: 14px; + transition: background-color 0.2s ease; +} + +.VPButtonDropdownItem:hover { + background-color: var(--vp-c-bg-alt); + color: var(--vp-c-brand-1); +} + +.VPButtonDropdownIcon { + width: 16px; + height: 16px; + flex-shrink: 0; +} + +.VPButtonDropdownItem span :deep([class*="i-"]) { + width: 16px; + height: 16px; + flex-shrink: 0; + margin-right: 8px; +} + +.VPButtonDropdownSectionTitle :deep([class*="i-"]) { + width: 14px; + height: 14px; + flex-shrink: 0; + margin-right: 6px; +} diff --git a/docs/.vitepress/theme/style.scss b/docs/.vitepress/theme/style.scss index 504216d2a..dab5bfe16 100644 --- a/docs/.vitepress/theme/style.scss +++ b/docs/.vitepress/theme/style.scss @@ -1,3 +1,41 @@ +:root { + --vp-c-bg: #fefbff; + --vp-c-bg-alt: #f2f0f4; + --vp-c-bg-elv: #f2f0f4; + --vp-c-bg-soft: #f2f0f4; +} + +.dark { + --vp-c-bg: #121316; + --vp-c-bg-alt: #0d0e11; + --vp-c-bg-elv: #1b1b1f; + --vp-c-bg-soft: #1b1b1f; +} + +:root { + --vp-c-border: #c2c2c4; + --vp-c-divider: #c4c6d0; + --vp-c-gutter: #e2e2e3; +} + +.dark { + --vp-c-border: #77777a; + --vp-c-divider: #222429; + --vp-c-gutter: #000000; +} + +:root { + --vp-c-text-1: #1b1b1f; + --vp-c-text-2: #2f3033; + --vp-c-text-3: #46464a; +} + +.dark { + --vp-c-text-1: #e3e2e6; + --vp-c-text-2: #ababaf; + --vp-c-text-3: #919094; +} + :root { /* Colors: Brand */ --vp-c-brand-1: theme('colors.swarm.500'); @@ -20,13 +58,6 @@ --vp-button-alt-hover-bg: #484848; --vp-button-alt-hover-text: #f0eeee; - /* Colors: Background */ - --vp-c-bg: #ffffff; - --vp-c-bg-alt: #f6f6f7; - --vp-c-bg-elv: #ffffff; - --vp-c-bg-soft: #f6f6f7; - - /* Colors: Custom Block */ /** Info */ --vp-custom-block-info-bg: theme('colors.swarm.100'); @@ -57,12 +88,6 @@ --vp-c-brand-3: theme('colors.swarm.700'); --vp-c-brand-soft: theme('colors.swarm.300'); - /* Colors: Background */ - --vp-c-bg: #1a1a1a; - --vp-c-bg-alt: #151515; - --vp-c-bg-elv: #1f1f1f; - --vp-c-bg-soft: #1f1f1f; - /* Colors: Custom Block */ /** Info */ --vp-custom-block-info-bg: theme('colors.swarm.950'); diff --git a/docs/index.md b/docs/index.md index 29ab6443f..9b53c34fd 100644 --- a/docs/index.md +++ b/docs/index.md @@ -25,136 +25,6 @@ hero: - theme: alt text: Discord link: https://rentry.co/fmhy-invite - -features: - - title: Adblocking / Privacy - link: /adblockvpnguide - details: Learn how to block ads, trackers and other nasty things. - icon: | - - - - title: Artificial Intelligence - link: /ai - details: Explore the world of AI and machine learning. - icon: | - - - - title: Streaming - link: /videopiracyguide - details: - Stream, download, torrent and binge all your favourite movies and shows! - icon: | - - - - title: Listening - icon: | - - link: /audiopiracyguide - details: Stream, download and torrent songs, podcasts and more! - - - title: Gaming - icon: | - - link: /gamingpiracyguide - details: - Download and play all your favourite games or emulate some old but gold - ones! - - - title: Reading - icon: | - - link: /readingpiracyguide - details: - Whether you're a bookworm, otaku or comic book fan, you'll be able to find - your favourite pieces of literature here for free! - - - title: Downloading - icon: | - - link: /downloadpiracyguide - details: - Download all your favourite software, movies, TV shows, music, games and - more! - - - title: Torrenting - icon: | - - link: /torrentpiracyguide - details: Download your favourite media using the BitTorrent protocol. - - - title: Educational - icon: | - - link: /edupiracyguide - details: Educational content for all ages. - - - title: Android / iOS - icon: | - - link: /android-iosguide - details: All forms of content for Android and iOS. - - - title: Linux / macOS - icon: | - - link: /linuxguide - details: The $HOME of Linux and macOS. - - - title: Non English - icon: | - - link: /non-english - details: Content in languages other than English. - - - title: Miscellaneous - icon: | - - link: /miscguide - details: Content too niche to be included elsewhere. ---