posts setup
This commit is contained in:
parent
8f457fa166
commit
5ae23bea33
@ -9,7 +9,7 @@ import { renderAsync } from "@resvg/resvg-js";
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const __fonts = resolve(__dirname, "../fonts");
|
||||
|
||||
export async function generateImages(config: SiteConfig) {
|
||||
export async function generateImages(config: SiteConfig): Promise<void> {
|
||||
const pages = await createContentLoader("**/*.md", { excerpt: true }).load();
|
||||
const template = await readFile(resolve(__dirname, "./Template.vue"), "utf-8");
|
||||
|
||||
@ -57,7 +57,12 @@ interface GenerateImagesOptions {
|
||||
fonts: SatoriOptions["fonts"];
|
||||
}
|
||||
|
||||
async function generateImage({ page, template, outDir, fonts }: GenerateImagesOptions) {
|
||||
async function generateImage({
|
||||
page,
|
||||
template,
|
||||
outDir,
|
||||
fonts,
|
||||
}: GenerateImagesOptions): Promise<void> {
|
||||
const { frontmatter, url } = page;
|
||||
|
||||
const options: SatoriOptions = {
|
||||
|
39
.vitepress/rss.ts
Normal file
39
.vitepress/rss.ts
Normal file
@ -0,0 +1,39 @@
|
||||
import path from "path";
|
||||
import { writeFileSync } from "fs";
|
||||
import { Feed } from "feed";
|
||||
import { createContentLoader, type SiteConfig } from "vitepress";
|
||||
import { meta } from "./constants";
|
||||
|
||||
export async function genFeed(config: SiteConfig) {
|
||||
const feed = new Feed({
|
||||
title: "FMHY • Monthy Posts",
|
||||
description: meta.description,
|
||||
id: meta.hostname,
|
||||
link: meta.hostname,
|
||||
language: "en",
|
||||
image: "https://github.com/fmhy.png",
|
||||
copyright: "",
|
||||
});
|
||||
|
||||
const posts = await createContentLoader("posts/**/*.md", {
|
||||
excerpt: true,
|
||||
render: true,
|
||||
}).load();
|
||||
|
||||
posts.sort(
|
||||
(a, b) => +new Date(b.frontmatter.date as string) - +new Date(a.frontmatter.date as string),
|
||||
);
|
||||
|
||||
for (const { url, excerpt, frontmatter, html } of posts) {
|
||||
feed.addItem({
|
||||
title: frontmatter.title,
|
||||
id: `${meta.hostname}${url}`,
|
||||
link: `${meta.hostname}${url.split("/posts")[1]}`,
|
||||
description: excerpt,
|
||||
content: html,
|
||||
date: frontmatter.date,
|
||||
});
|
||||
}
|
||||
|
||||
writeFileSync(path.join(config.outDir, "feed.rss"), feed.rss2());
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
<script setup lang="ts">
|
||||
import DefaultTheme from "vitepress/theme";
|
||||
import Sidebar from "./components/SidebarCard.vue";
|
||||
import Announcement from "./components/Announcement.vue";
|
||||
import { useData } from "vitepress";
|
||||
import { nextTick, provide } from "vue";
|
||||
import Sidebar from "./components/SidebarCard.vue";
|
||||
import Announcement from "./components/Announcement.vue";
|
||||
|
||||
const { isDark } = useData();
|
||||
|
||||
|
27
.vitepress/theme/PostLayout.vue
Normal file
27
.vitepress/theme/PostLayout.vue
Normal file
@ -0,0 +1,27 @@
|
||||
<script setup lang="ts">
|
||||
import { useData } from "vitepress";
|
||||
import Authors from "./components/Authors.vue";
|
||||
|
||||
const props = defineProps<{
|
||||
authors: string[];
|
||||
}>();
|
||||
|
||||
const formatDate = (raw: string): string => {
|
||||
const date = new Date(raw);
|
||||
return date.toLocaleDateString("en-US", {
|
||||
month: "short",
|
||||
day: "numeric",
|
||||
});
|
||||
};
|
||||
|
||||
const { frontmatter } = useData();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h3>
|
||||
{{ frontmatter.title }}
|
||||
</h3>
|
||||
|
||||
<span>{{ frontmatter.description }} • {{ formatDate(frontmatter.date) }}</span>
|
||||
<Authors :authors="props.authors" />
|
||||
</template>
|
37
.vitepress/theme/Posts.vue
Normal file
37
.vitepress/theme/Posts.vue
Normal file
@ -0,0 +1,37 @@
|
||||
<!-- eslint-disable vue/require-v-for-key -->
|
||||
<script setup lang="ts">
|
||||
import { data as posts } from "./posts.data";
|
||||
|
||||
const formatDate = (raw: string): string => {
|
||||
const date = new Date(raw);
|
||||
return date.toLocaleDateString("en-US", {
|
||||
month: "short",
|
||||
day: "numeric",
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<section>
|
||||
<h1 class="flex items-center gap-2">Posts</h1>
|
||||
<p>Everything from Monthly Updates to fmhy updates.</p>
|
||||
</section>
|
||||
<template v-for="year in Object.keys(posts).reverse()" :key="year">
|
||||
<h2>{{ year }}</h2>
|
||||
<ul>
|
||||
<li v-for="post of posts[year]" :key="post.url">
|
||||
<article>
|
||||
<a :href="post.url" class="border-none">{{ post.title }}</a> -
|
||||
<dl class="m-0 inline">
|
||||
<dt class="sr-only">Published on</dt>
|
||||
<dd class="m-0 inline">
|
||||
<time :datetime="post.date" class="font-bold">{{ formatDate(post.date) }}</time>
|
||||
</dd>
|
||||
</dl>
|
||||
</article>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
43
.vitepress/theme/components/Authors.vue
Normal file
43
.vitepress/theme/components/Authors.vue
Normal file
@ -0,0 +1,43 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from "vue";
|
||||
|
||||
const props = defineProps<{
|
||||
authors: string[];
|
||||
}>();
|
||||
|
||||
interface Author {
|
||||
name: string;
|
||||
github: string;
|
||||
}
|
||||
|
||||
const data = [
|
||||
{
|
||||
name: "nbats",
|
||||
github: "https://github.com/nbats",
|
||||
},
|
||||
{
|
||||
name: "Kai",
|
||||
github: "https://github.com/Kai-FMHY",
|
||||
},
|
||||
{
|
||||
name: "taskylizard",
|
||||
github: "https://github.com/taskylizard",
|
||||
},
|
||||
{
|
||||
name: "zinklog",
|
||||
github: "https://github.com/zinklog2",
|
||||
},
|
||||
] satisfies Author[];
|
||||
|
||||
const authors = computed(() => data.filter((author) => props.authors.includes(author.name)));
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex flex-wrap gap-4 pt-2">
|
||||
<div v-for="(c, index) of authors" class="flex gap-2 items-center">
|
||||
<img :src="`${c.github}.png`" class="w-8 h-8 rounded-full" />
|
||||
<a :href="c.github">{{ c.name }}</a>
|
||||
<span v-if="index < authors.length - 1"> • </span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
@ -1,6 +1,7 @@
|
||||
import { type Theme } from "vitepress";
|
||||
import DefaultTheme from "vitepress/theme";
|
||||
import Layout from "./Layout.vue";
|
||||
import Post from "./PostLayout.vue";
|
||||
import { loadProgress } from "./composables/nprogress";
|
||||
import "./style.css";
|
||||
import "uno.css";
|
||||
@ -8,7 +9,8 @@ import "uno.css";
|
||||
export default {
|
||||
extends: DefaultTheme,
|
||||
Layout,
|
||||
enhanceApp({ router }) {
|
||||
enhanceApp({ router, app }) {
|
||||
app.component("Post", Post);
|
||||
loadProgress(router);
|
||||
},
|
||||
} satisfies Theme;
|
||||
|
30
.vitepress/theme/posts.data.ts
Normal file
30
.vitepress/theme/posts.data.ts
Normal file
@ -0,0 +1,30 @@
|
||||
import { createContentLoader, type ContentData } from "vitepress";
|
||||
import { groupBy } from "../utils";
|
||||
|
||||
interface Post {
|
||||
title: string;
|
||||
url: string;
|
||||
date: string;
|
||||
}
|
||||
|
||||
type Dictionary = ReturnType<typeof transformRawPosts>;
|
||||
|
||||
declare const data: Dictionary;
|
||||
export { data };
|
||||
|
||||
function transformRawPosts(rawPosts: ContentData[]): Record<string, Post[]> {
|
||||
const posts: Post[] = rawPosts
|
||||
.map(({ url, frontmatter }) => ({
|
||||
title: frontmatter.title,
|
||||
url,
|
||||
date: (frontmatter.date as Date).toISOString().slice(0, 10),
|
||||
}))
|
||||
.sort((a, b) => b.date.localeCompare(a.date));
|
||||
|
||||
return groupBy(posts, (post) => post.date.slice(0, 4));
|
||||
}
|
||||
|
||||
export default createContentLoader("posts/*.md", {
|
||||
includeSrc: true,
|
||||
transform: (raw) => transformRawPosts(raw),
|
||||
});
|
9
.vitepress/utils.ts
Normal file
9
.vitepress/utils.ts
Normal file
@ -0,0 +1,9 @@
|
||||
export function groupBy<T, K extends keyof any>(arr: T[], key: (i: T) => K): Record<K, T[]> {
|
||||
return arr.reduce(
|
||||
(groups, item) => {
|
||||
(groups[key(item)] ||= []).push(item);
|
||||
return groups;
|
||||
},
|
||||
{} as Record<K, T[]>,
|
||||
);
|
||||
}
|
9
index.md
9
index.md
@ -1,11 +1,11 @@
|
||||
---
|
||||
title: "Welcome"
|
||||
title: Welcome
|
||||
layout: home
|
||||
description: The largest collection of free stuff on the internet!
|
||||
|
||||
hero:
|
||||
name: "FMHY"
|
||||
text: "freemediaheckyeah"
|
||||
name: FMHY
|
||||
text: freemediaheckyeah
|
||||
tagline: The largest collection of free stuff on the internet!
|
||||
prelink:
|
||||
title: ❄️ Monthly Updates [Dec]
|
||||
@ -17,6 +17,9 @@ hero:
|
||||
- theme: brand
|
||||
text: Browse Collection
|
||||
link: /adblockvpnguide
|
||||
- theme: brand
|
||||
text: Posts
|
||||
link: /posts
|
||||
- theme: alt
|
||||
text: Discord
|
||||
link: https://discord.gg/Stz6y6NgNg
|
||||
|
@ -18,13 +18,15 @@
|
||||
"dependencies": {
|
||||
"@headlessui/vue": "^1.7.16",
|
||||
"@resvg/resvg-js": "^2.6.0",
|
||||
"feed": "^4.2.2",
|
||||
"fs-extra": "^11.2.0",
|
||||
"itty-fetcher": "^0.9.4",
|
||||
"nitro-cors": "^0.7.0",
|
||||
"nitropack": "latest",
|
||||
"nprogress": "^0.2.0",
|
||||
"pathe": "^1.1.1",
|
||||
"unocss": "^0.57.1",
|
||||
"vitepress": "npm:@taskylizard/vitepress@1.0.3",
|
||||
"vitepress": "npm:@taskylizard/vitepress@1.0.4",
|
||||
"vue": "^3.3.7",
|
||||
"x-satori": "^0.1.5",
|
||||
"zod": "^3.22.4"
|
||||
@ -33,6 +35,7 @@
|
||||
"@iconify-json/carbon": "^1.1.21",
|
||||
"@iconify-json/twemoji": "^1.1.12",
|
||||
"@taskylizard/eslint-config": "^1.0.5",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/node": "^20.8.9",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"eslint": "^8.53.0",
|
||||
|
450
pnpm-lock.yaml
450
pnpm-lock.yaml
@ -11,6 +11,12 @@ dependencies:
|
||||
'@resvg/resvg-js':
|
||||
specifier: ^2.6.0
|
||||
version: 2.6.0
|
||||
feed:
|
||||
specifier: ^4.2.2
|
||||
version: 4.2.2
|
||||
fs-extra:
|
||||
specifier: ^11.2.0
|
||||
version: 11.2.0
|
||||
itty-fetcher:
|
||||
specifier: ^0.9.4
|
||||
version: 0.9.4
|
||||
@ -30,8 +36,8 @@ dependencies:
|
||||
specifier: ^0.57.1
|
||||
version: 0.57.1(postcss@8.4.32)(vite@4.5.1)
|
||||
vitepress:
|
||||
specifier: npm:@taskylizard/vitepress@1.0.2
|
||||
version: /@taskylizard/vitepress@1.0.2(@algolia/client-search@4.22.0)(@types/node@20.8.9)(nprogress@0.2.0)(postcss@8.4.32)(search-insights@2.13.0)(typescript@5.3.3)
|
||||
specifier: latest
|
||||
version: 1.0.0-rc.34(@types/node@20.8.9)(nprogress@0.2.0)(postcss@8.4.32)(search-insights@2.13.0)(typescript@5.3.3)
|
||||
vue:
|
||||
specifier: ^3.3.7
|
||||
version: 3.3.7(typescript@5.3.3)
|
||||
@ -52,6 +58,9 @@ devDependencies:
|
||||
'@taskylizard/eslint-config':
|
||||
specifier: ^1.0.5
|
||||
version: 1.0.5(eslint-plugin-import@2.29.1)(eslint@8.53.0)(prettier@3.1.1)(typescript@5.3.3)
|
||||
'@types/fs-extra':
|
||||
specifier: ^11.0.4
|
||||
version: 11.0.4
|
||||
'@types/node':
|
||||
specifier: ^20.8.9
|
||||
version: 20.8.9
|
||||
@ -72,47 +81,51 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0):
|
||||
/@algolia/autocomplete-core@1.9.3(algoliasearch@4.20.0)(search-insights@2.13.0):
|
||||
resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
|
||||
dependencies:
|
||||
'@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0)
|
||||
'@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
|
||||
'@algolia/autocomplete-plugin-algolia-insights': 1.9.3(algoliasearch@4.20.0)(search-insights@2.13.0)
|
||||
'@algolia/autocomplete-shared': 1.9.3(algoliasearch@4.20.0)
|
||||
transitivePeerDependencies:
|
||||
- '@algolia/client-search'
|
||||
- algoliasearch
|
||||
- search-insights
|
||||
dev: false
|
||||
|
||||
/@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0):
|
||||
/@algolia/autocomplete-plugin-algolia-insights@1.9.3(algoliasearch@4.20.0)(search-insights@2.13.0):
|
||||
resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
|
||||
peerDependencies:
|
||||
search-insights: '>= 1 < 3'
|
||||
dependencies:
|
||||
'@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
|
||||
'@algolia/autocomplete-shared': 1.9.3(algoliasearch@4.20.0)
|
||||
search-insights: 2.13.0
|
||||
transitivePeerDependencies:
|
||||
- '@algolia/client-search'
|
||||
- algoliasearch
|
||||
dev: false
|
||||
|
||||
/@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0):
|
||||
/@algolia/autocomplete-preset-algolia@1.9.3(algoliasearch@4.20.0):
|
||||
resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
|
||||
peerDependencies:
|
||||
'@algolia/client-search': '>= 4.9.1 < 6'
|
||||
algoliasearch: '>= 4.9.1 < 6'
|
||||
peerDependenciesMeta:
|
||||
'@algolia/client-search':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
|
||||
'@algolia/client-search': 4.22.0
|
||||
'@algolia/autocomplete-shared': 1.9.3(algoliasearch@4.20.0)
|
||||
algoliasearch: 4.20.0
|
||||
dev: false
|
||||
|
||||
/@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0):
|
||||
/@algolia/autocomplete-shared@1.9.3(algoliasearch@4.20.0):
|
||||
resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
|
||||
peerDependencies:
|
||||
'@algolia/client-search': '>= 4.9.1 < 6'
|
||||
algoliasearch: '>= 4.9.1 < 6'
|
||||
peerDependenciesMeta:
|
||||
'@algolia/client-search':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@algolia/client-search': 4.22.0
|
||||
algoliasearch: 4.20.0
|
||||
dev: false
|
||||
|
||||
@ -126,10 +139,6 @@ packages:
|
||||
resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==}
|
||||
dev: false
|
||||
|
||||
/@algolia/cache-common@4.22.0:
|
||||
resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==}
|
||||
dev: false
|
||||
|
||||
/@algolia/cache-in-memory@4.20.0:
|
||||
resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==}
|
||||
dependencies:
|
||||
@ -160,13 +169,6 @@ packages:
|
||||
'@algolia/transporter': 4.20.0
|
||||
dev: false
|
||||
|
||||
/@algolia/client-common@4.22.0:
|
||||
resolution: {integrity: sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==}
|
||||
dependencies:
|
||||
'@algolia/requester-common': 4.22.0
|
||||
'@algolia/transporter': 4.22.0
|
||||
dev: false
|
||||
|
||||
/@algolia/client-personalization@4.20.0:
|
||||
resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==}
|
||||
dependencies:
|
||||
@ -183,22 +185,10 @@ packages:
|
||||
'@algolia/transporter': 4.20.0
|
||||
dev: false
|
||||
|
||||
/@algolia/client-search@4.22.0:
|
||||
resolution: {integrity: sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==}
|
||||
dependencies:
|
||||
'@algolia/client-common': 4.22.0
|
||||
'@algolia/requester-common': 4.22.0
|
||||
'@algolia/transporter': 4.22.0
|
||||
dev: false
|
||||
|
||||
/@algolia/logger-common@4.20.0:
|
||||
resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==}
|
||||
dev: false
|
||||
|
||||
/@algolia/logger-common@4.22.0:
|
||||
resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==}
|
||||
dev: false
|
||||
|
||||
/@algolia/logger-console@4.20.0:
|
||||
resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==}
|
||||
dependencies:
|
||||
@ -215,10 +205,6 @@ packages:
|
||||
resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==}
|
||||
dev: false
|
||||
|
||||
/@algolia/requester-common@4.22.0:
|
||||
resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==}
|
||||
dev: false
|
||||
|
||||
/@algolia/requester-node-http@4.20.0:
|
||||
resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==}
|
||||
dependencies:
|
||||
@ -233,14 +219,6 @@ packages:
|
||||
'@algolia/requester-common': 4.20.0
|
||||
dev: false
|
||||
|
||||
/@algolia/transporter@4.22.0:
|
||||
resolution: {integrity: sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==}
|
||||
dependencies:
|
||||
'@algolia/cache-common': 4.22.0
|
||||
'@algolia/logger-common': 4.22.0
|
||||
'@algolia/requester-common': 4.22.0
|
||||
dev: false
|
||||
|
||||
/@ampproject/remapping@2.2.1:
|
||||
resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
@ -475,10 +453,10 @@ packages:
|
||||
resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
|
||||
dev: false
|
||||
|
||||
/@docsearch/js@3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0):
|
||||
/@docsearch/js@3.5.2(search-insights@2.13.0):
|
||||
resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==}
|
||||
dependencies:
|
||||
'@docsearch/react': 3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0)
|
||||
'@docsearch/react': 3.5.2(search-insights@2.13.0)
|
||||
preact: 10.18.1
|
||||
transitivePeerDependencies:
|
||||
- '@algolia/client-search'
|
||||
@ -488,7 +466,7 @@ packages:
|
||||
- search-insights
|
||||
dev: false
|
||||
|
||||
/@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0):
|
||||
/@docsearch/react@3.5.2(search-insights@2.13.0):
|
||||
resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==}
|
||||
peerDependencies:
|
||||
'@types/react': '>= 16.8.0 < 19.0.0'
|
||||
@ -505,8 +483,8 @@ packages:
|
||||
search-insights:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0)
|
||||
'@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
|
||||
'@algolia/autocomplete-core': 1.9.3(algoliasearch@4.20.0)(search-insights@2.13.0)
|
||||
'@algolia/autocomplete-preset-algolia': 1.9.3(algoliasearch@4.20.0)
|
||||
'@docsearch/css': 3.5.2
|
||||
algoliasearch: 4.20.0
|
||||
search-insights: 2.13.0
|
||||
@ -1745,62 +1723,6 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@taskylizard/vitepress@1.0.2(@algolia/client-search@4.22.0)(@types/node@20.8.9)(nprogress@0.2.0)(postcss@8.4.32)(search-insights@2.13.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-u5QZDff8VRDV7LP8U9/IDDbMNrCn524uD4jr77wj7LGHs2KT5B6psZUGsEs54FEfdNT+8P1Fh+0hNjGU4jAarg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
markdown-it-mathjax3: ^4.3.2
|
||||
postcss: ^8.4.32
|
||||
peerDependenciesMeta:
|
||||
markdown-it-mathjax3:
|
||||
optional: true
|
||||
postcss:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@docsearch/css': 3.5.2
|
||||
'@docsearch/js': 3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0)
|
||||
'@types/markdown-it': 13.0.7
|
||||
'@vitejs/plugin-vue': 4.5.2(vite@5.0.10)(vue@3.3.13)
|
||||
'@vue/devtools-api': 6.5.1
|
||||
'@vueuse/core': 10.7.0(vue@3.3.13)
|
||||
'@vueuse/integrations': 10.7.0(focus-trap@7.5.4)(nprogress@0.2.0)(vue@3.3.13)
|
||||
focus-trap: 7.5.4
|
||||
mark.js: 8.11.1
|
||||
minisearch: 6.3.0
|
||||
mrmime: 1.0.1
|
||||
postcss: 8.4.32
|
||||
shikiji: 0.9.10
|
||||
shikiji-transformers: 0.9.10
|
||||
vite: 5.0.10(@types/node@20.8.9)
|
||||
vue: 3.3.13(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- '@algolia/client-search'
|
||||
- '@types/node'
|
||||
- '@types/react'
|
||||
- '@vue/composition-api'
|
||||
- async-validator
|
||||
- axios
|
||||
- change-case
|
||||
- drauu
|
||||
- fuse.js
|
||||
- idb-keyval
|
||||
- jwt-decode
|
||||
- less
|
||||
- lightningcss
|
||||
- nprogress
|
||||
- qrcode
|
||||
- react
|
||||
- react-dom
|
||||
- sass
|
||||
- search-insights
|
||||
- sortablejs
|
||||
- stylus
|
||||
- sugarss
|
||||
- terser
|
||||
- typescript
|
||||
- universal-cookie
|
||||
dev: false
|
||||
|
||||
/@types/eslint@8.44.7:
|
||||
resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==}
|
||||
dependencies:
|
||||
@ -1811,6 +1733,13 @@ packages:
|
||||
/@types/estree@1.0.3:
|
||||
resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==}
|
||||
|
||||
/@types/fs-extra@11.0.4:
|
||||
resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
|
||||
dependencies:
|
||||
'@types/jsonfile': 6.1.4
|
||||
'@types/node': 20.8.9
|
||||
dev: true
|
||||
|
||||
/@types/http-proxy@1.17.13:
|
||||
resolution: {integrity: sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==}
|
||||
dependencies:
|
||||
@ -1825,6 +1754,12 @@ packages:
|
||||
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
|
||||
dev: true
|
||||
|
||||
/@types/jsonfile@6.1.4:
|
||||
resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
|
||||
dependencies:
|
||||
'@types/node': 20.8.9
|
||||
dev: true
|
||||
|
||||
/@types/linkify-it@3.0.4:
|
||||
resolution: {integrity: sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==}
|
||||
dev: false
|
||||
@ -2301,24 +2236,15 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/@vitejs/plugin-vue@4.5.2(vite@5.0.10)(vue@3.3.13):
|
||||
resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
/@vitejs/plugin-vue@5.0.2(vite@5.0.10)(vue@3.4.3):
|
||||
resolution: {integrity: sha512-kEjJHrLb5ePBvjD0SPZwJlw1QTRcjjCA9sB5VyfonoXVBxTS7TMnqL6EkLt1Eu61RDeiuZ/WN9Hf6PxXhPI2uA==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
vite: ^4.0.0 || ^5.0.0
|
||||
vite: ^5.0.0
|
||||
vue: ^3.2.25
|
||||
dependencies:
|
||||
vite: 5.0.10(@types/node@20.8.9)
|
||||
vue: 3.3.13(typescript@5.3.3)
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-core@3.3.13:
|
||||
resolution: {integrity: sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==}
|
||||
dependencies:
|
||||
'@babel/parser': 7.23.6
|
||||
'@vue/shared': 3.3.13
|
||||
estree-walker: 2.0.2
|
||||
source-map-js: 1.0.2
|
||||
vue: 3.4.3(typescript@5.3.3)
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-core@3.3.7:
|
||||
@ -2330,11 +2256,14 @@ packages:
|
||||
source-map-js: 1.0.2
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-dom@3.3.13:
|
||||
resolution: {integrity: sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==}
|
||||
/@vue/compiler-core@3.4.3:
|
||||
resolution: {integrity: sha512-u8jzgFg0EDtSrb/hG53Wwh1bAOQFtc1ZCegBpA/glyvTlgHl+tq13o1zvRfLbegYUw/E4mSTGOiCnAJ9SJ+lsg==}
|
||||
dependencies:
|
||||
'@vue/compiler-core': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
'@babel/parser': 7.23.6
|
||||
'@vue/shared': 3.4.3
|
||||
entities: 4.5.0
|
||||
estree-walker: 2.0.2
|
||||
source-map-js: 1.0.2
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-dom@3.3.7:
|
||||
@ -2344,19 +2273,11 @@ packages:
|
||||
'@vue/shared': 3.3.7
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-sfc@3.3.13:
|
||||
resolution: {integrity: sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==}
|
||||
/@vue/compiler-dom@3.4.3:
|
||||
resolution: {integrity: sha512-oGF1E9/htI6JWj/lTJgr6UgxNCtNHbM6xKVreBWeZL9QhRGABRVoWGAzxmtBfSOd+w0Zi5BY0Es/tlJrN6WgEg==}
|
||||
dependencies:
|
||||
'@babel/parser': 7.23.6
|
||||
'@vue/compiler-core': 3.3.13
|
||||
'@vue/compiler-dom': 3.3.13
|
||||
'@vue/compiler-ssr': 3.3.13
|
||||
'@vue/reactivity-transform': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
estree-walker: 2.0.2
|
||||
magic-string: 0.30.5
|
||||
postcss: 8.4.32
|
||||
source-map-js: 1.0.2
|
||||
'@vue/compiler-core': 3.4.3
|
||||
'@vue/shared': 3.4.3
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-sfc@3.3.7:
|
||||
@ -2374,11 +2295,18 @@ packages:
|
||||
source-map-js: 1.0.2
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-ssr@3.3.13:
|
||||
resolution: {integrity: sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==}
|
||||
/@vue/compiler-sfc@3.4.3:
|
||||
resolution: {integrity: sha512-NuJqb5is9I4uzv316VRUDYgIlPZCG8D+ARt5P4t5UDShIHKL25J3TGZAUryY/Aiy0DsY7srJnZL5ryB6DD63Zw==}
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
'@babel/parser': 7.23.6
|
||||
'@vue/compiler-core': 3.4.3
|
||||
'@vue/compiler-dom': 3.4.3
|
||||
'@vue/compiler-ssr': 3.4.3
|
||||
'@vue/shared': 3.4.3
|
||||
estree-walker: 2.0.2
|
||||
magic-string: 0.30.5
|
||||
postcss: 8.4.32
|
||||
source-map-js: 1.0.2
|
||||
dev: false
|
||||
|
||||
/@vue/compiler-ssr@3.3.7:
|
||||
@ -2388,18 +2316,15 @@ packages:
|
||||
'@vue/shared': 3.3.7
|
||||
dev: false
|
||||
|
||||
/@vue/devtools-api@6.5.1:
|
||||
resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==}
|
||||
/@vue/compiler-ssr@3.4.3:
|
||||
resolution: {integrity: sha512-wnYQtMBkeFSxgSSQbYGQeXPhQacQiog2c6AlvMldQH6DB+gSXK/0F6DVXAJfEiuBSgBhUc8dwrrG5JQcqwalsA==}
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.4.3
|
||||
'@vue/shared': 3.4.3
|
||||
dev: false
|
||||
|
||||
/@vue/reactivity-transform@3.3.13:
|
||||
resolution: {integrity: sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==}
|
||||
dependencies:
|
||||
'@babel/parser': 7.23.6
|
||||
'@vue/compiler-core': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
estree-walker: 2.0.2
|
||||
magic-string: 0.30.5
|
||||
/@vue/devtools-api@6.5.1:
|
||||
resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==}
|
||||
dev: false
|
||||
|
||||
/@vue/reactivity-transform@3.3.7:
|
||||
@ -2412,23 +2337,16 @@ packages:
|
||||
magic-string: 0.30.5
|
||||
dev: false
|
||||
|
||||
/@vue/reactivity@3.3.13:
|
||||
resolution: {integrity: sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ==}
|
||||
dependencies:
|
||||
'@vue/shared': 3.3.13
|
||||
dev: false
|
||||
|
||||
/@vue/reactivity@3.3.7:
|
||||
resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==}
|
||||
dependencies:
|
||||
'@vue/shared': 3.3.7
|
||||
dev: false
|
||||
|
||||
/@vue/runtime-core@3.3.13:
|
||||
resolution: {integrity: sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA==}
|
||||
/@vue/reactivity@3.4.3:
|
||||
resolution: {integrity: sha512-q5f9HLDU+5aBKizXHAx0w4whkIANs1Muiq9R5YXm0HtorSlflqv9u/ohaMxuuhHWCji4xqpQ1eL04WvmAmGnFg==}
|
||||
dependencies:
|
||||
'@vue/reactivity': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
'@vue/shared': 3.4.3
|
||||
dev: false
|
||||
|
||||
/@vue/runtime-core@3.3.7:
|
||||
@ -2438,12 +2356,11 @@ packages:
|
||||
'@vue/shared': 3.3.7
|
||||
dev: false
|
||||
|
||||
/@vue/runtime-dom@3.3.13:
|
||||
resolution: {integrity: sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ==}
|
||||
/@vue/runtime-core@3.4.3:
|
||||
resolution: {integrity: sha512-C1r6QhB1qY7D591RCSFhMULyzL9CuyrGc+3PpB0h7dU4Qqw6GNyo4BNFjHZVvsWncrUlKX3DIKg0Y7rNNr06NQ==}
|
||||
dependencies:
|
||||
'@vue/runtime-core': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
csstype: 3.1.3
|
||||
'@vue/reactivity': 3.4.3
|
||||
'@vue/shared': 3.4.3
|
||||
dev: false
|
||||
|
||||
/@vue/runtime-dom@3.3.7:
|
||||
@ -2454,14 +2371,12 @@ packages:
|
||||
csstype: 3.1.2
|
||||
dev: false
|
||||
|
||||
/@vue/server-renderer@3.3.13(vue@3.3.13):
|
||||
resolution: {integrity: sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg==}
|
||||
peerDependencies:
|
||||
vue: 3.3.13
|
||||
/@vue/runtime-dom@3.4.3:
|
||||
resolution: {integrity: sha512-wrsprg7An5Ec+EhPngWdPuzkp0BEUxAKaQtN9dPU/iZctPyD9aaXmVtehPJerdQxQale6gEnhpnfywNw3zOv2A==}
|
||||
dependencies:
|
||||
'@vue/compiler-ssr': 3.3.13
|
||||
'@vue/shared': 3.3.13
|
||||
vue: 3.3.13(typescript@5.3.3)
|
||||
'@vue/runtime-core': 3.4.3
|
||||
'@vue/shared': 3.4.3
|
||||
csstype: 3.1.3
|
||||
dev: false
|
||||
|
||||
/@vue/server-renderer@3.3.7(vue@3.3.7):
|
||||
@ -2474,28 +2389,38 @@ packages:
|
||||
vue: 3.3.7(typescript@5.3.3)
|
||||
dev: false
|
||||
|
||||
/@vue/shared@3.3.13:
|
||||
resolution: {integrity: sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==}
|
||||
/@vue/server-renderer@3.4.3(vue@3.4.3):
|
||||
resolution: {integrity: sha512-BUxt8oVGMKKsqSkM1uU3d3Houyfy4WAc2SpSQRebNd+XJGATVkW/rO129jkyL+kpB/2VRKzE63zwf5RtJ3XuZw==}
|
||||
peerDependencies:
|
||||
vue: 3.4.3
|
||||
dependencies:
|
||||
'@vue/compiler-ssr': 3.4.3
|
||||
'@vue/shared': 3.4.3
|
||||
vue: 3.4.3(typescript@5.3.3)
|
||||
dev: false
|
||||
|
||||
/@vue/shared@3.3.7:
|
||||
resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==}
|
||||
dev: false
|
||||
|
||||
/@vueuse/core@10.7.0(vue@3.3.13):
|
||||
resolution: {integrity: sha512-4EUDESCHtwu44ZWK3Gc/hZUVhVo/ysvdtwocB5vcauSV4B7NiGY5972WnsojB3vRNdxvAt7kzJWE2h9h7C9d5w==}
|
||||
/@vue/shared@3.4.3:
|
||||
resolution: {integrity: sha512-rIwlkkP1n4uKrRzivAKPZIEkHiuwY5mmhMJ2nZKCBLz8lTUlE73rQh4n1OnnMurXt1vcUNyH4ZPfdh8QweTjpQ==}
|
||||
dev: false
|
||||
|
||||
/@vueuse/core@10.7.1(vue@3.4.3):
|
||||
resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==}
|
||||
dependencies:
|
||||
'@types/web-bluetooth': 0.0.20
|
||||
'@vueuse/metadata': 10.7.0
|
||||
'@vueuse/shared': 10.7.0(vue@3.3.13)
|
||||
vue-demi: 0.14.6(vue@3.3.13)
|
||||
'@vueuse/metadata': 10.7.1
|
||||
'@vueuse/shared': 10.7.1(vue@3.4.3)
|
||||
vue-demi: 0.14.6(vue@3.4.3)
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
dev: false
|
||||
|
||||
/@vueuse/integrations@10.7.0(focus-trap@7.5.4)(nprogress@0.2.0)(vue@3.3.13):
|
||||
resolution: {integrity: sha512-rxiMYgS+91n93qXpHZF9NbHhppWY6IJyVTDxt4acyChL0zZVx7P8FAAfpF1qVK8e4wfjerhpEiMJ0IZ1GWUZ2A==}
|
||||
/@vueuse/integrations@10.7.1(focus-trap@7.5.4)(nprogress@0.2.0)(vue@3.4.3):
|
||||
resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==}
|
||||
peerDependencies:
|
||||
async-validator: '*'
|
||||
axios: '*'
|
||||
@ -2535,24 +2460,24 @@ packages:
|
||||
universal-cookie:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@vueuse/core': 10.7.0(vue@3.3.13)
|
||||
'@vueuse/shared': 10.7.0(vue@3.3.13)
|
||||
'@vueuse/core': 10.7.1(vue@3.4.3)
|
||||
'@vueuse/shared': 10.7.1(vue@3.4.3)
|
||||
focus-trap: 7.5.4
|
||||
nprogress: 0.2.0
|
||||
vue-demi: 0.14.6(vue@3.3.13)
|
||||
vue-demi: 0.14.6(vue@3.4.3)
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
dev: false
|
||||
|
||||
/@vueuse/metadata@10.7.0:
|
||||
resolution: {integrity: sha512-GlaH7tKP2iBCZ3bHNZ6b0cl9g0CJK8lttkBNUX156gWvNYhTKEtbweWLm9rxCPIiwzYcr/5xML6T8ZUEt+DkvA==}
|
||||
/@vueuse/metadata@10.7.1:
|
||||
resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==}
|
||||
dev: false
|
||||
|
||||
/@vueuse/shared@10.7.0(vue@3.3.13):
|
||||
resolution: {integrity: sha512-kc00uV6CiaTdc3i1CDC4a3lBxzaBE9AgYNtFN87B5OOscqeWElj/uza8qVDmk7/U8JbqoONLbtqiLJ5LGRuqlw==}
|
||||
/@vueuse/shared@10.7.1(vue@3.4.3):
|
||||
resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==}
|
||||
dependencies:
|
||||
vue-demi: 0.14.6(vue@3.3.13)
|
||||
vue-demi: 0.14.6(vue@3.4.3)
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
@ -3485,6 +3410,11 @@ packages:
|
||||
tapable: 2.2.1
|
||||
dev: true
|
||||
|
||||
/entities@4.5.0:
|
||||
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
||||
engines: {node: '>=0.12'}
|
||||
dev: false
|
||||
|
||||
/error-ex@1.3.2:
|
||||
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
|
||||
dependencies:
|
||||
@ -4331,6 +4261,13 @@ packages:
|
||||
dependencies:
|
||||
reusify: 1.0.4
|
||||
|
||||
/feed@4.2.2:
|
||||
resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
dependencies:
|
||||
xml-js: 1.6.11
|
||||
dev: false
|
||||
|
||||
/fflate@0.7.4:
|
||||
resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
|
||||
dev: false
|
||||
@ -4422,8 +4359,8 @@ packages:
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/fs-extra@11.1.1:
|
||||
resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
|
||||
/fs-extra@11.2.0:
|
||||
resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
|
||||
engines: {node: '>=14.14'}
|
||||
dependencies:
|
||||
graceful-fs: 4.2.11
|
||||
@ -5533,6 +5470,11 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/mrmime@2.0.0:
|
||||
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/ms@2.0.0:
|
||||
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
||||
dev: false
|
||||
@ -5610,7 +5552,7 @@ packages:
|
||||
esbuild: 0.19.5
|
||||
escape-string-regexp: 5.0.0
|
||||
etag: 1.8.1
|
||||
fs-extra: 11.1.1
|
||||
fs-extra: 11.2.0
|
||||
globby: 13.2.2
|
||||
gzip-size: 7.0.0
|
||||
h3: 1.8.2
|
||||
@ -6424,6 +6366,10 @@ packages:
|
||||
yoga-wasm-web: 0.3.3
|
||||
dev: false
|
||||
|
||||
/sax@1.3.0:
|
||||
resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
|
||||
dev: false
|
||||
|
||||
/scule@1.0.0:
|
||||
resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==}
|
||||
dev: false
|
||||
@ -6529,20 +6475,20 @@ packages:
|
||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
/shikiji-core@0.9.10:
|
||||
resolution: {integrity: sha512-s+aC66Fh343wpm7VyQTg+htdHM/tUb8R+yxdAdUpCtKkRWbSBIpqQ3xTSNjbCTnGv10xsT164SW0r1VV1N6ToA==}
|
||||
/shikiji-core@0.9.15:
|
||||
resolution: {integrity: sha512-7hqIcUKS15OMs/61Qp2GvO1fSajBB36bDqi8vexIg5kp80V6v6SGtBrlq+nLlo7erMG2d1kvIuTIq1bwKI6fEg==}
|
||||
dev: false
|
||||
|
||||
/shikiji-transformers@0.9.10:
|
||||
resolution: {integrity: sha512-qK/7dudmgdwUHHKrFGTsuSrOrvAj+uKPeyipc+TuDRGtCwSwnviQRW/zI1YFkQdwVjz3s2FM+T2kQ6mvPWZWvQ==}
|
||||
/shikiji-transformers@0.9.15:
|
||||
resolution: {integrity: sha512-k0sQ6tX26/cdb8QV9CCwwr7QjRp6/AVP9C0oNIXNld3of+xCrpf74kD74piybG6vMfzBoHGsz/s60RVBJOUaYQ==}
|
||||
dependencies:
|
||||
shikiji: 0.9.10
|
||||
shikiji: 0.9.15
|
||||
dev: false
|
||||
|
||||
/shikiji@0.9.10:
|
||||
resolution: {integrity: sha512-tqnoSWWb7NailWJ/72Bgi8Z5O+ul71SJ5EhXbfHprZg67RGwck5eVyv5Uv4pso06ZuzNpUabRTyyFKHN/Ea9Mw==}
|
||||
/shikiji@0.9.15:
|
||||
resolution: {integrity: sha512-+inN4cN+nY7b0uCPOiqFHAk+cn2DEdM3AIQgPhAV7QKqhww/o7OGS5xvLh3SNnjke9C/HispALqGOQGYHVq7KQ==}
|
||||
dependencies:
|
||||
shikiji-core: 0.9.10
|
||||
shikiji-core: 0.9.15
|
||||
dev: false
|
||||
|
||||
/side-channel@1.0.4:
|
||||
@ -7320,7 +7266,64 @@ packages:
|
||||
fsevents: 2.3.3
|
||||
dev: false
|
||||
|
||||
/vue-demi@0.14.6(vue@3.3.13):
|
||||
/vitepress@1.0.0-rc.34(@types/node@20.8.9)(nprogress@0.2.0)(postcss@8.4.32)(search-insights@2.13.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-TUbTiSdAZFni2XlHlpx61KikgkQ5uG4Wtmw2R0SXhIOG6qGqzDJczAFjkMc4i45I9c3KyatwOYe8oEfCnzVYwQ==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
markdown-it-mathjax3: ^4.3.2
|
||||
postcss: ^8.4.32
|
||||
peerDependenciesMeta:
|
||||
markdown-it-mathjax3:
|
||||
optional: true
|
||||
postcss:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@docsearch/css': 3.5.2
|
||||
'@docsearch/js': 3.5.2(search-insights@2.13.0)
|
||||
'@types/markdown-it': 13.0.7
|
||||
'@vitejs/plugin-vue': 5.0.2(vite@5.0.10)(vue@3.4.3)
|
||||
'@vue/devtools-api': 6.5.1
|
||||
'@vueuse/core': 10.7.1(vue@3.4.3)
|
||||
'@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(nprogress@0.2.0)(vue@3.4.3)
|
||||
focus-trap: 7.5.4
|
||||
mark.js: 8.11.1
|
||||
minisearch: 6.3.0
|
||||
mrmime: 2.0.0
|
||||
postcss: 8.4.32
|
||||
shikiji: 0.9.15
|
||||
shikiji-core: 0.9.15
|
||||
shikiji-transformers: 0.9.15
|
||||
vite: 5.0.10(@types/node@20.8.9)
|
||||
vue: 3.4.3(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- '@algolia/client-search'
|
||||
- '@types/node'
|
||||
- '@types/react'
|
||||
- '@vue/composition-api'
|
||||
- async-validator
|
||||
- axios
|
||||
- change-case
|
||||
- drauu
|
||||
- fuse.js
|
||||
- idb-keyval
|
||||
- jwt-decode
|
||||
- less
|
||||
- lightningcss
|
||||
- nprogress
|
||||
- qrcode
|
||||
- react
|
||||
- react-dom
|
||||
- sass
|
||||
- search-insights
|
||||
- sortablejs
|
||||
- stylus
|
||||
- sugarss
|
||||
- terser
|
||||
- typescript
|
||||
- universal-cookie
|
||||
dev: false
|
||||
|
||||
/vue-demi@0.14.6(vue@3.4.3):
|
||||
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
@ -7332,7 +7335,7 @@ packages:
|
||||
'@vue/composition-api':
|
||||
optional: true
|
||||
dependencies:
|
||||
vue: 3.3.13(typescript@5.3.3)
|
||||
vue: 3.4.3(typescript@5.3.3)
|
||||
dev: false
|
||||
|
||||
/vue-eslint-parser@9.3.2(eslint@8.53.0):
|
||||
@ -7353,22 +7356,6 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/vue@3.3.13(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q==}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.3.13
|
||||
'@vue/compiler-sfc': 3.3.13
|
||||
'@vue/runtime-dom': 3.3.13
|
||||
'@vue/server-renderer': 3.3.13(vue@3.3.13)
|
||||
'@vue/shared': 3.3.13
|
||||
typescript: 5.3.3
|
||||
dev: false
|
||||
|
||||
/vue@3.3.7(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==}
|
||||
peerDependencies:
|
||||
@ -7385,6 +7372,22 @@ packages:
|
||||
typescript: 5.3.3
|
||||
dev: false
|
||||
|
||||
/vue@3.4.3(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-GjN+culMAGv/mUbkIv8zMKItno8npcj5gWlXkSxf1SPTQf8eJ4A+YfHIvQFyL1IfuJcMl3soA7SmN1fRxbf/wA==}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.4.3
|
||||
'@vue/compiler-sfc': 3.4.3
|
||||
'@vue/runtime-dom': 3.4.3
|
||||
'@vue/server-renderer': 3.4.3(vue@3.4.3)
|
||||
'@vue/shared': 3.4.3
|
||||
typescript: 5.3.3
|
||||
dev: false
|
||||
|
||||
/webidl-conversions@3.0.1:
|
||||
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
|
||||
dev: false
|
||||
@ -7492,6 +7495,13 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/xml-js@1.6.11:
|
||||
resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
sax: 1.3.0
|
||||
dev: false
|
||||
|
||||
/xml-name-validator@4.0.0:
|
||||
resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
|
||||
engines: {node: '>=12'}
|
||||
|
12
posts.md
Normal file
12
posts.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
sidebar: false
|
||||
editLink: false
|
||||
outline: false
|
||||
next: false
|
||||
---
|
||||
|
||||
<script setup>
|
||||
import Index from './.vitepress/theme/Posts.vue'
|
||||
</script>
|
||||
|
||||
<Index/>
|
79
posts/dec-2023.md
Normal file
79
posts/dec-2023.md
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Monthly Updates / Discussion [Dec 2023 ❄️] 250k members!!
|
||||
description: Thank you all for 250K members! ♡
|
||||
date: 2023-12-01
|
||||
next: false
|
||||
---
|
||||
<Post authors="['nbats', 'taskylizard']" />
|
||||
|
||||
***
|
||||
|
||||
**Wiki Updates**
|
||||
|
||||
- Separated Tool sections into their own pages: [System Tools](https://fmhy.net/system-tools), [File Tools](https://fmhy.net/file-tools), [Internet Tools](https://fmhy.net/internet-tools), [Text Tools](https://fmhy.net/text-tools), [Video Tools](https://fmhy.net/video-tools) and [Audio Tools](https://fmhy.net/audio-tools).
|
||||
|
||||
- Separated Health into subsections: [Mental](https://fmhy.net/miscguide#mental-health), [Physical](https://fmhy.net/miscguide#physical-health), [Nutritional](https://fmhy.net/miscguide#nutritional-health), [Sexual](https://fmhy.net/miscguide#sexual-health) and [Detoxing](https://fmhy.net/miscguide#detoxing).
|
||||
|
||||
- Added a section for [Open-Source Games](https://fmhy.net/gamingpiracyguide#open-source-games) in Gaming.
|
||||
|
||||
- Added a section for [Animation Tools](https://fmhy.net/video-tools#animation-tools) in Video Tools.
|
||||
|
||||
- Added a section for [Academic Papers](https://fmhy.net/readingpiracyguide#academic-papers) in Educational Reading.
|
||||
|
||||
- Added sections for [Illustrations](https://fmhy.net/img-tools#illustrations) and [Textures / Patterns](https://fmhy.net/storage#textures-patterns) in Images.
|
||||
|
||||
- Added sections in Linux for [Video](https://fmhy.net/linuxguide#linux-video), [Audio](https://fmhy.net/linuxguide#linux-audio), [Images](https://fmhy.net/linuxguide#linux-images) and [File Tools](https://fmhy.net/linuxguide#file-tools).
|
||||
|
||||
- Made a ["safe for work"](https://rentry.org/piracy) version of our index with no NSFW link listed.
|
||||
|
||||
- Added a [collapsible list](https://i.imgur.com/wnOXvKG.png) of all the Tool sections to our sites sidebar.
|
||||
|
||||
***
|
||||
|
||||
**Stars Added** ⭐
|
||||
|
||||
- Starred [Streamflix](https://fmhy.net/videopiracyguide#multi-server) in Streaming Sites. Nice UI, fast 1080p, ran by members of our community.
|
||||
|
||||
- Starred [watch.lonelil](https://fmhy.net/videopiracyguide#multi-server) in Streaming Sites. Nice UI, fast 4K + 1080p, live tv.
|
||||
|
||||
- Starred [Game Bounty](https://fmhy.net/gamingpiracyguide#download-games) in Game Download. Fast hosts, pre-installs, clean uploads, ran by members of our community.
|
||||
|
||||
- Starred [AbandonwareGames](https://fmhy.net/storage#abandonware-games) in Abandonware Games. Nice site with a big library of oldschool games.
|
||||
|
||||
- Starred [Heroic Games Launcher](https://fmhy.net/gamingpiracyguide#steam-epic) in Steam / Epic. Open-source Epic Games launcher.
|
||||
|
||||
- Starred [TG Archive](https://fmhy.net/downloadpiracyguide#download-directories) in Download Directories. Telegram file archive + search tool.
|
||||
|
||||
- Starred [BleachBit](https://fmhy.net/system-tools#system-debloating) in system debloating. Popular system file cleaning tool.
|
||||
|
||||
- Starred [YT-DLP-GUI](https://fmhy.net/video-tools#youtube-download) in YouTube Download. Nice GUI for YT-DL with single click installer.
|
||||
|
||||
- Starred [EverythingToolbar](https://fmhy.net/system-tools#system-tweaks) in System Tweaks. Adds lots of features to Windows toolbar.
|
||||
|
||||
- Starred [DeepL](https://fmhy.net/text-tools#translators) in Translators. People feel this gives some of the best results.
|
||||
|
||||
- Starred [Magpie](https://fmhy.net/gamingpiracyguide#optimization-tools) in Gaming Optimization. Enable AMD FSR on any game or device.
|
||||
|
||||
- Starred [TrollStore](https://fmhy.net/android-iosguide#ios-apps) in iOS Apps. Permanently install non-appstore iOS apps w/o pc, paid dev account or being jailbroken.
|
||||
|
||||
- Starred [SmartTube](https://fmhy.net/videopiracyguide#smart-tv-firestick) in Smart TV / Firestick. Ad-free YouTube app. Previously called SmartTubeNext.
|
||||
|
||||
***
|
||||
|
||||
**Things Removed**
|
||||
|
||||
- Removed both AppsTorrent and nMac as they're listed as unsafe by [MacSerialJunkie](https://i.imgur.com/De9u5Ox.png).
|
||||
|
||||
- Removed both LocalCDN and Decentraleyes as they're redundant with with [Total Cookie Protection](https://blog.privacyguides.org/2021/12/01/firefox-privacy-2021-update/#localcdn-and-decentraleyes) enabled.
|
||||
|
||||
- Removed NovaAI as they've [decided to shutdown](https://www.reddit.com/r/Piracy/comments/17pzrzj/nova_oss_the_api_that_provided_free_gpt4_and/).
|
||||
|
||||
- Replaced all CurseForge links with Modrinth as people feel CurseForge [doesn't cooperate](https://youtu.be/Vhdwz5apiQQ?si=xgzkQFa1S7hZNa5-) with their user-base well.
|
||||
|
||||
- Unstarred 12ft.io as it can no longer bypass non-javascript based paywalls.
|
||||
|
||||
- Removed FileListing as they've shutdown their servers.
|
||||
|
||||
- Removed GreaseMonkey as it hasn't been updated in 3 years + has a possible history of tracking users.
|
||||
|
||||
***
|
Loading…
Reference in New Issue
Block a user