From 47482496fcb5fd2695f76e1fa95468ed699b40d7 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Mon, 4 Dec 2023 16:50:43 +0000
Subject: [PATCH 01/14] add globby
---
package.json | 1 +
yarn.lock | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 57 insertions(+)
diff --git a/package.json b/package.json
index 93e7e1f0..e18b31d7 100644
--- a/package.json
+++ b/package.json
@@ -45,6 +45,7 @@
"date-fns": "^2.30.0",
"fs-extra": "^11.1.1",
"glob": "^10.2.7",
+ "globby": "^14.0.0",
"gsap": "^3.11.5",
"localforage": "^1.10.0",
"markdown-it": "^13.0.1",
diff --git a/yarn.lock b/yarn.lock
index e797d932..ea2ea2bc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1771,6 +1771,13 @@ __metadata:
languageName: node
linkType: hard
+"@sindresorhus/merge-streams@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@sindresorhus/merge-streams@npm:1.0.0"
+ checksum: 453c2a28164113a5ec4fd23ba636e291a4112f6ee9e91cd5476b9a96e0fc9ee5ff40d405fe81bbf284c9773b7ed718a3a0f31df7895a0efd413b1f9775d154fe
+ languageName: node
+ linkType: hard
+
"@socket.io/component-emitter@npm:~3.1.0":
version: 3.1.0
resolution: "@socket.io/component-emitter@npm:3.1.0"
@@ -3183,6 +3190,7 @@ __metadata:
eslint-plugin-prettier: ^4.2.1
fs-extra: ^11.1.1
glob: ^10.2.7
+ globby: ^14.0.0
gsap: ^3.11.5
localforage: ^1.10.0
markdown-it: ^13.0.1
@@ -5503,6 +5511,19 @@ __metadata:
languageName: node
linkType: hard
+"fast-glob@npm:^3.3.2":
+ version: 3.3.2
+ resolution: "fast-glob@npm:3.3.2"
+ dependencies:
+ "@nodelib/fs.stat": ^2.0.2
+ "@nodelib/fs.walk": ^1.2.3
+ glob-parent: ^5.1.2
+ merge2: ^1.3.0
+ micromatch: ^4.0.4
+ checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1
+ languageName: node
+ linkType: hard
+
"fast-json-stable-stringify@npm:^2.0.0":
version: 2.1.0
resolution: "fast-json-stable-stringify@npm:2.1.0"
@@ -6149,6 +6170,20 @@ __metadata:
languageName: node
linkType: hard
+"globby@npm:^14.0.0":
+ version: 14.0.0
+ resolution: "globby@npm:14.0.0"
+ dependencies:
+ "@sindresorhus/merge-streams": ^1.0.0
+ fast-glob: ^3.3.2
+ ignore: ^5.2.4
+ path-type: ^5.0.0
+ slash: ^5.1.0
+ unicorn-magic: ^0.1.0
+ checksum: f331b42993e420c8f2b61a6ca062276977ea6d95f181640ff018f00200f4fe5b50f1fae7540903483e6570ca626fe16234ab88e848d43381a2529220548a9d39
+ languageName: node
+ linkType: hard
+
"globrex@npm:^0.1.2":
version: 0.1.2
resolution: "globrex@npm:0.1.2"
@@ -9962,6 +9997,13 @@ __metadata:
languageName: node
linkType: hard
+"path-type@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "path-type@npm:5.0.0"
+ checksum: 15ec24050e8932c2c98d085b72cfa0d6b4eeb4cbde151a0a05726d8afae85784fc5544f733d8dfc68536587d5143d29c0bd793623fad03d7e61cc00067291cd5
+ languageName: node
+ linkType: hard
+
"pathe@npm:^0.3.9":
version: 0.3.9
resolution: "pathe@npm:0.3.9"
@@ -11615,6 +11657,13 @@ __metadata:
languageName: node
linkType: hard
+"slash@npm:^5.1.0":
+ version: 5.1.0
+ resolution: "slash@npm:5.1.0"
+ checksum: 70434b34c50eb21b741d37d455110258c42d2cf18c01e6518aeb7299f3c6e626330c889c0c552b5ca2ef54a8f5a74213ab48895f0640717cacefeef6830a1ba4
+ languageName: node
+ linkType: hard
+
"slugify@npm:^1.6.6":
version: 1.6.6
resolution: "slugify@npm:1.6.6"
@@ -12628,6 +12677,13 @@ __metadata:
languageName: node
linkType: hard
+"unicorn-magic@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "unicorn-magic@npm:0.1.0"
+ checksum: 48c5882ca3378f380318c0b4eb1d73b7e3c5b728859b060276e0a490051d4180966beeb48962d850fd0c6816543bcdfc28629dcd030bb62a286a2ae2acb5acb6
+ languageName: node
+ linkType: hard
+
"unified@npm:^10.0.0, unified@npm:^10.1.2":
version: 10.1.2
resolution: "unified@npm:10.1.2"
From c557b3e2457309ad670c72b453377451e83999b7 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Mon, 4 Dec 2023 23:52:13 +0000
Subject: [PATCH 02/14] typo
---
components/header-component.vue | 1 -
1 file changed, 1 deletion(-)
diff --git a/components/header-component.vue b/components/header-component.vue
index 029f80bb..dc89088e 100644
--- a/components/header-component.vue
+++ b/components/header-component.vue
@@ -36,7 +36,6 @@ const localePath = useLocalePath();
Date: Tue, 5 Dec 2023 00:30:30 +0000
Subject: [PATCH 03/14] update all packages
---
components/download/downloader/item.vue | 2 +-
components/download/downloader/manager.vue | 3 +-
components/header/interactive-bar.vue | 4 +-
components/index-hero.vue | 2 +-
components/language-handler.vue | 3 +-
components/layout/dropdown.vue | 3 +-
components/press/carousel.vue | 10 +-
package.json | 62 +-
pages/docs/[...slug].vue | 5 +-
yarn.lock | 9110 +++++++++++++-------
10 files changed, 6099 insertions(+), 3105 deletions(-)
diff --git a/components/download/downloader/item.vue b/components/download/downloader/item.vue
index 311e6a24..a9aaf551 100644
--- a/components/download/downloader/item.vue
+++ b/components/download/downloader/item.vue
@@ -103,9 +103,9 @@ import { ref } from "vue";
import {
downloadFile,
EventType,
- DownloadEvent,
extractFilenameFromUrl,
} from "@/utils/downloadFile";
+import type { DownloadEvent } from "@/utils/downloadFile";
const { localeProperties } = useI18n();
diff --git a/components/download/downloader/manager.vue b/components/download/downloader/manager.vue
index 19517da1..e6d0f2a2 100644
--- a/components/download/downloader/manager.vue
+++ b/components/download/downloader/manager.vue
@@ -49,7 +49,8 @@
@@ -94,7 +94,7 @@ onUnmounted(() =>
/>
@font-face {
font-family: "ProximaNova";
- src: url("/fonts/ProximaNova-Regular.woff2") format("woff2"),
+ src:
+ url("/fonts/ProximaNova-Regular.woff2") format("woff2"),
url("/fonts/ProximaNova-Regular.woff") format("woff");
font-weight: normal;
font-style: normal;
@@ -173,7 +174,8 @@ onUnmounted(() =>
@font-face {
font-family: "ProximaNova-Italic";
- src: url("/fonts/ProximaNova-RegularIt.woff2") format("woff2"),
+ src:
+ url("/fonts/ProximaNova-RegularIt.woff2") format("woff2"),
url("/fonts/ProximaNova-RegularIt.woff") format("woff");
font-weight: normal;
font-style: italic;
@@ -182,7 +184,8 @@ onUnmounted(() =>
@font-face {
font-family: "ProximaNova-Bold";
- src: url("/fonts/ProximaNova-Bold.woff2") format("woff2"),
+ src:
+ url("/fonts/ProximaNova-Bold.woff2") format("woff2"),
url("/fonts/ProximaNova-Bold.woff") format("woff");
font-weight: bold;
font-style: normal;
@@ -214,7 +217,9 @@ onUnmounted(() =>
-
diff --git a/composables/useFetchPrice.ts b/composables/useFetchPrice.ts
index 0bfdf40f..dd1a4527 100644
--- a/composables/useFetchPrice.ts
+++ b/composables/useFetchPrice.ts
@@ -8,7 +8,7 @@ export const CACHE_MAX_AGE = 20; // In seconds
async function fetchPrice(): Promise {
const response: CoinGeckoAPIResponse = await $fetch(
- `https://api.coingecko.com/api/v3/simple/price?ids=beam&vs_currencies=usd&include_market_cap=false&include_24hr_vol=false&include_24hr_change=true&include_last_updated_at=false&precision=5&c=${Math.random()}`
+ `https://api.coingecko.com/api/v3/simple/price?ids=beam&vs_currencies=usd&include_market_cap=false&include_24hr_vol=false&include_24hr_change=true&include_last_updated_at=false&precision=5&c=${Math.random()}`,
);
if (
@@ -35,7 +35,7 @@ export enum PriceStorageStructure {
export const useFetchPrice: () => Promise = async () => {
const localForage = (await import("localforage")).default;
const lastFetchedAt = (await localForage.getItem(
- PriceStorageStructure.LAST_FETCHED_AT
+ PriceStorageStructure.LAST_FETCHED_AT,
)) as number;
const currentTime = Date.now();
@@ -46,7 +46,7 @@ export const useFetchPrice: () => Promise = async () => {
await localForage.setItem(PriceStorageStructure.CHANGE, change);
await localForage.setItem(
PriceStorageStructure.LAST_FETCHED_AT,
- currentTime
+ currentTime,
);
} catch (error) {
// eslint-disable-next-line no-console
@@ -57,10 +57,10 @@ export const useFetchPrice: () => Promise = async () => {
return {
usd: parseFloat(
- (await localForage.getItem(PriceStorageStructure.USD)) as string
+ (await localForage.getItem(PriceStorageStructure.USD)) as string,
),
change: parseFloat(
- (await localForage.getItem(PriceStorageStructure.CHANGE)) as string
+ (await localForage.getItem(PriceStorageStructure.CHANGE)) as string,
),
};
};
diff --git a/composables/useScrollSpy.ts b/composables/useScrollSpy.ts
index 1a58a4ca..ee0ef833 100644
--- a/composables/useScrollSpy.ts
+++ b/composables/useScrollSpy.ts
@@ -10,7 +10,7 @@ interface ScrollSpyOptions {
function debounce any, C>(
this: C,
func: (this: C, ...args: Parameters) => ReturnType,
- wait: number
+ wait: number,
): (...args: Parameters) => void {
let timeout: ReturnType | null;
@@ -24,7 +24,7 @@ function debounce any, C>(
function getParentUlFirstLink(
linkInLi: HTMLAnchorElement,
- aside: HTMLElement | null
+ aside: HTMLElement | null,
): HTMLAnchorElement | null {
let currentElement: HTMLElement | null = linkInLi.parentElement;
@@ -34,7 +34,7 @@ function getParentUlFirstLink(
if (currentElement && aside) {
const firstLinkInParentUl = aside.querySelector(
- `a[href="#${currentElement.id}"]`
+ `a[href="#${currentElement.id}"]`,
) as HTMLAnchorElement | null;
return firstLinkInParentUl;
}
@@ -66,7 +66,7 @@ export const useScrollSpy =
}
const headers =
lastIntersectingHeader.article?.querySelectorAll(
- "h1, h2, h3"
+ "h1, h2, h3",
);
if (!headers) return;
@@ -80,7 +80,7 @@ export const useScrollSpy =
).tagName.toLowerCase();
const link =
lastIntersectingHeader.aside?.querySelector(
- `a[id="link-${id}"]`
+ `a[id="link-${id}"]`,
);
if (entry.isIntersecting) {
@@ -93,7 +93,7 @@ export const useScrollSpy =
if (lastIntersectingHeader.h2) {
const firstLinkInUl = getParentUlFirstLink(
link as HTMLAnchorElement,
- lastIntersectingHeader.aside as HTMLElement
+ lastIntersectingHeader.aside as HTMLElement,
);
if (
firstLinkInUl &&
@@ -114,7 +114,7 @@ export const useScrollSpy =
{
rootMargin: `${-offset}px 0px 0px 0px`,
threshold: 0,
- }
+ },
);
headers.forEach((header) => observer?.observe(header));
diff --git a/error.vue b/error.vue
index 6ed1fe8b..cff66ccb 100644
--- a/error.vue
+++ b/error.vue
@@ -60,7 +60,7 @@ const handleError = () => clearError({ redirect: "/" });
useTitleTemplate();
const title = computed(() =>
- t("errors.title", { code: props.error.statusCode })
+ t("errors.title", { code: props.error.statusCode }),
);
const description = computed(() => t("head.descriptions.index"));
diff --git a/layouts/default.vue b/layouts/default.vue
index 0bcabea2..dbf3edd7 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -55,7 +55,7 @@ const headerRef = ref(defaultHeaderColor);
const footerRef = ref(defaultFooterColor);
const bodyColor = ref(defaultColor);
const gradientColorRgb = ref<[number, number, number]>(
- hexToRgb(bodyColor.value) as [number, number, number]
+ hexToRgb(bodyColor.value) as [number, number, number],
);
watch(
@@ -81,9 +81,9 @@ watch(
gradientColorRgb.value = hexToRgb(bodyColor.value) as [
number,
number,
- number
+ number,
];
},
- { immediate: true }
+ { immediate: true },
);
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 4be2bc24..23943aaf 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -67,7 +67,7 @@ const docsRoutes = globSync("./content/**/*.md").map((path) =>
.slice(7, -3)
.replace(/^\d+\./, "")
.replace(/\\/g, "/")
- .replace("/README", "/index")
+ .replace("/README", "/index"),
);
const copyDocsAssetsToPublic = async () => {
@@ -85,7 +85,7 @@ const copyDocsAssetsToPublic = async () => {
// Get the parent directory name without the '.gitbook/assets' part
const destinationFolder = gitbookAssetsFolder.replace(
`${sep}.gitbook${sep}assets`,
- ""
+ "",
);
const destination = join(publicAssetsPath, destinationFolder);
diff --git a/pages/docs/[...slug].vue b/pages/docs/[...slug].vue
index 14646b04..4e01b7b9 100644
--- a/pages/docs/[...slug].vue
+++ b/pages/docs/[...slug].vue
@@ -79,7 +79,7 @@
import { useRoute } from "vue-router";
import type {
ParsedContent,
- QueryBuilder
+ QueryBuilder,
} from "@nuxt/content/dist/runtime/types/index";
const { t } = useI18n();
diff --git a/pages/privacy-policy.vue b/pages/privacy-policy.vue
index fe5e7d84..c1673ba8 100644
--- a/pages/privacy-policy.vue
+++ b/pages/privacy-policy.vue
@@ -39,7 +39,7 @@ useSeoMeta({
:t-interpolation="{
support: `[${ExternalLinks.SUPPORT_EMAIL.replace(
'mailto:',
- ''
+ '',
)}](${ExternalLinks.SUPPORT_EMAIL})`,
}"
/>
diff --git a/utils/docs.ts b/utils/docs.ts
index 3f9f3218..2226a0c2 100644
--- a/utils/docs.ts
+++ b/utils/docs.ts
@@ -22,8 +22,8 @@ export const extractCategory = (path: string): string | null => {
export function normalizePath(path: string): string {
const combinedPattern = /^(?:\.\/)?(?:\/[a-z]{2})?(\/[^/]+(?:\/[^/]+)*\/?)$/;
const withoutHash = path.split("#")[0]; // Remove any hash from the path
- const normalizedPath = withoutHash.replace(combinedPattern, (match, p1) =>
- p1.endsWith("/") ? p1.slice(0, -1) : p1
+ const normalizedPath = withoutHash.replace(combinedPattern, (_match, p1) =>
+ p1.endsWith("/") ? p1.slice(0, -1) : p1,
);
return normalizedPath;
}
@@ -40,7 +40,7 @@ export const isPageBlacklisted = (path: string): boolean =>
export const isSameCategory = (
path: string,
- route: RouteLocationNormalized
+ route: RouteLocationNormalized,
): boolean => {
const currentPathCategory = extractCategory(route.fullPath);
const targetPathCategory = extractCategory(path);
diff --git a/utils/downloadFile.ts b/utils/downloadFile.ts
index 03535ae5..de2b0a1d 100644
--- a/utils/downloadFile.ts
+++ b/utils/downloadFile.ts
@@ -54,14 +54,10 @@ export function extractFilenameFromUrl(url: string): string {
return path.substring(path.lastIndexOf("/") + 1);
}
-function timeout(ms: number) {
- return new Promise((resolve) => setTimeout(resolve, ms));
-}
-
async function verifyAndSave(
stream: ReadableStream,
expectedHash: string,
- fileName: string
+ fileName: string,
): Promise {
// Validate inputs
if (!isValidHash(expectedHash)) {
@@ -94,13 +90,13 @@ async function verifyAndSave(
// Compare the hashes
if (calculatedHash !== expectedHash) {
throw new Error(
- `Hash mismatch: expected ${expectedHash}, got ${calculatedHash}`
+ `Hash mismatch: expected ${expectedHash}, got ${calculatedHash}`,
);
}
// eslint-disable-next-line no-console
console.log(
- `Hash validation success: ${expectedHash} is equal to ${calculatedHash}`
+ `Hash validation success: ${expectedHash} is equal to ${calculatedHash}`,
);
// Create a Blob and save the file
@@ -124,7 +120,7 @@ export async function downloadFile(
expectedHash: string,
onProgress: (event: DownloadEvent) => void,
abortSignal: AbortSignal, // Add this line
- fileName?: string
+ fileName?: string,
): Promise {
// Validate inputs
if (!isValidUrl(url)) {
@@ -200,6 +196,6 @@ export async function downloadFile(
await verifyAndSave(
progressStream,
expectedHash,
- fileName || extractFilenameFromUrl(url)
+ fileName || extractFilenameFromUrl(url),
);
}
diff --git a/utils/emitter.ts b/utils/emitter.ts
index 9ee60ef3..81e2a0cd 100644
--- a/utils/emitter.ts
+++ b/utils/emitter.ts
@@ -30,7 +30,7 @@ class CustomEmitter {
on(
type: Key,
- handler: Handler
+ handler: Handler,
): void {
if (!this.eventHandlers[type]) {
this.eventHandlers[type] = [];
@@ -40,16 +40,16 @@ class CustomEmitter {
off(
type: Key,
- handler: Handler
+ handler: Handler,
): void {
this.eventHandlers[type] = this.eventHandlers[type]?.filter(
- (h) => h !== handler
+ (h) => h !== handler,
) as unknown as any; // eslint-disable-line @typescript-eslint/no-explicit-any
}
emit(
type: Key,
- event: CustomEvents[Key]
+ event: CustomEvents[Key],
): void {
this.eventHandlers[type]?.forEach((handler) => handler(event));
}
diff --git a/utils/formatBytes.ts b/utils/formatBytes.ts
index 1bc08041..4ab94c19 100644
--- a/utils/formatBytes.ts
+++ b/utils/formatBytes.ts
@@ -106,7 +106,7 @@ function getUnitAndIndex(bytes: number): {
}
function getLocalizedUnit(locale: string, unitIndex: number): string {
- const localeUnits: Record = {
+ const localeUnits: Record = {
"en-US": units[unitIndex].en,
"fr-FR": units[unitIndex].fr,
"de-DE": units[unitIndex].de,
@@ -131,6 +131,6 @@ export function formatBytes(bytes: number, locale = "en-US"): string {
return `${numberFormatter.format(unitSize)} ${getLocalizedUnit(
locale,
- unitIndex
+ unitIndex,
)}`;
}
diff --git a/utils/formatTimeRelative.ts b/utils/formatTimeRelative.ts
index 66b2f7fc..1e0c86f4 100644
--- a/utils/formatTimeRelative.ts
+++ b/utils/formatTimeRelative.ts
@@ -2,7 +2,7 @@ import { formatDistanceToNowStrict } from "date-fns";
export function formatTimeRelative(
seconds: number,
- formatLocale: Locale
+ formatLocale: Locale,
): string {
const now = new Date();
const targetDate = new Date(now.getTime() + seconds * 1000);
diff --git a/utils/localization.ts b/utils/localization.ts
index 82faf843..22b5fbea 100644
--- a/utils/localization.ts
+++ b/utils/localization.ts
@@ -1,6 +1,6 @@
export function convertUNIXTimestampToLocaleDate(
unixTimestamp: number,
- iso = "en-US"
+ iso = "en-US",
): string {
const date = new Date(unixTimestamp * 1000);
return new Intl.DateTimeFormat(iso, {
@@ -14,7 +14,7 @@ export function localizePrice(
price: number,
iso = "en-US",
fixed = 5,
- currency = "usd"
+ currency = "usd",
): string {
if (!Intl.NumberFormat) {
return `$${price.toFixed(fixed)}`;
From bcdf328e4ebb68ebec5ffcf3307d2ec901809e98 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 01:06:15 +0000
Subject: [PATCH 05/14] update submodules
---
content/docs | 2 +-
downloads | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/content/docs b/content/docs
index d05fec0a..c651d3d0 160000
--- a/content/docs
+++ b/content/docs
@@ -1 +1 @@
-Subproject commit d05fec0a8a39fa997d557118e8eaf920ca5dcaed
+Subproject commit c651d3d0414fa3632ad9f1c0ff5e293c1d0603bf
diff --git a/downloads b/downloads
index 66187de2..6dc1fafe 160000
--- a/downloads
+++ b/downloads
@@ -1 +1 @@
-Subproject commit 66187de2e03f7a0a2034b17ae1f9052e884871fe
+Subproject commit 6dc1fafe6f05bb71ed7ec06d410913caab2a0d50
From ac99cd169966d6147aeff72fa4c8bcd462668d15 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 01:07:09 +0000
Subject: [PATCH 06/14] various bugfixes
---
app.vue | 11 +++++------
components/buy.vue | 2 +-
components/download/divider.vue | 2 +-
components/download/downloader/manager.vue | 2 +-
components/features-card.vue | 2 +-
components/get-started.vue | 2 +-
components/header-component.vue | 1 +
components/header/live-price.vue | 2 +-
components/header/logo.vue | 2 +-
components/header/navigation-item.vue | 5 ++++-
components/header/resources-dropdown.vue | 2 +-
components/index-hero.vue | 2 +-
components/layout/animated-modal.vue | 2 +-
components/layout/copy-to-clipboard.vue | 2 +-
components/layout/dropdown.vue | 2 +-
components/markdown-renderer.vue | 2 +-
components/press/carousel.vue | 2 +-
pages/docs/[...slug].vue | 2 +-
18 files changed, 25 insertions(+), 22 deletions(-)
diff --git a/app.vue b/app.vue
index db2bddfb..68d6f530 100644
--- a/app.vue
+++ b/app.vue
@@ -16,12 +16,11 @@ const baseURL = useRuntimeConfig().public.baseURL;
const route = useRoute();
const router = useRouter();
-watch(
- route,
- (route) => {
+watch(() => route.fullPath,
+ (_routeFullPath) => {
currentRoute.value = getRouteName(route.name);
},
- { deep: true, immediate: true },
+ { immediate: true },
);
defineRobotMeta();
@@ -146,7 +145,7 @@ onUnmounted(() =>
-
-
diff --git a/components/header/resources-dropdown.vue b/components/header/resources-dropdown.vue
index 806b5f33..0cee5938 100644
--- a/components/header/resources-dropdown.vue
+++ b/components/header/resources-dropdown.vue
@@ -108,7 +108,7 @@ const menus = computed(() => [
},
]);
-
\ No newline at end of file
From c8ee0fdb0ab2edb56147de0753f0ba9f7f6f0807 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 01:20:22 +0000
Subject: [PATCH 08/14] add beamassets link
---
app.config.ts | 2 ++
components/footer-component.vue | 1 +
components/header/resources-dropdown.vue | 1 +
3 files changed, 4 insertions(+)
diff --git a/app.config.ts b/app.config.ts
index 5324c478..f7f273e6 100644
--- a/app.config.ts
+++ b/app.config.ts
@@ -34,6 +34,7 @@ export enum ExternalLinks {
QQ = "https://qm.qq.com/cgi-bin/qm/qr?k=qrfLNFTLxvThCgcF0fqPc2YFtDzMiUcm&authKey=8hGDPVzLLlTvX4SCBAeYc8TlaumsgvpTIdSUs3%2FU0K8U5piBp3znAYD%2Bd9n6vfEC",
COINGECKO = "https://www.coingecko.com/en/coins/beam/usd",
CMC = "https://coinmarketcap.com/currencies/beam/",
+ BEAMASSETS = "https://beamassets.com/",
// Other links
DOCS_SOURCES = "https://github.com/BeamMW/docs-gitbook",
@@ -65,6 +66,7 @@ export enum ExternalLinksTitle {
QQ = "QQ",
COINGECKO = "CoinGecko",
CMC = "CoinMarketCap",
+ BEAMASSETS = "BeamAssets"
}
/**
diff --git a/components/footer-component.vue b/components/footer-component.vue
index dde34b1e..ff4dfaf8 100644
--- a/components/footer-component.vue
+++ b/components/footer-component.vue
@@ -146,6 +146,7 @@ const menus = computed(() => [
{ text: t("footer.community.telegram"), href: ExternalLinks.TELEGRAM },
{ text: t("footer.community.discord"), href: ExternalLinks.DISCORD },
{ text: t("footer.community.reddit"), href: ExternalLinks.REDDIT },
+ { text: ExternalLinksTitle.BEAMASSETS, href: ExternalLinks.BEAMASSETS },
{
text: t("footer.community.qq"),
href: ExternalLinks.QQ,
diff --git a/components/header/resources-dropdown.vue b/components/header/resources-dropdown.vue
index 0cee5938..c422f255 100644
--- a/components/header/resources-dropdown.vue
+++ b/components/header/resources-dropdown.vue
@@ -62,6 +62,7 @@ const menus = computed(() => [
{ text: t("footer.community.telegram"), href: ExternalLinks.TELEGRAM },
{ text: t("footer.community.discord"), href: ExternalLinks.DISCORD },
{ text: t("footer.community.reddit"), href: ExternalLinks.REDDIT },
+ { text: ExternalLinksTitle.BEAMASSETS, href: ExternalLinks.BEAMASSETS },
{
text: t("footer.community.qq"),
href: ExternalLinks.QQ,
From be419b263112c963337eedbd2cc884c64b247f22 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 01:28:35 +0000
Subject: [PATCH 09/14] update announcement
---
locales/ar.json | 2 +-
locales/de.json | 2 +-
locales/en.json | 2 +-
locales/fr.json | 2 +-
locales/he.json | 2 +-
locales/jp.json | 2 +-
locales/ru.json | 2 +-
locales/zh.json | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/locales/ar.json b/locales/ar.json
index 1bff8ceb..4c9d5f14 100644
--- a/locales/ar.json
+++ b/locales/ar.json
@@ -16,7 +16,7 @@
"keywords": "Beam, العملات المشفرة, الخصوصية, الغموض, الأصول السرية, DeFi, NFTs, سلسلة الكتل, موزعة, DEX, العقود الذكية, تجربة المستخدم, المحفظة, آمن, الحرية المالية, AMM, تبادلات ذرية, الآلة الافتراضية, WASM, شادرات العقود, شادرات التطبيقات, محفظة الجوال, محفظة سطح المكتب, أنواع المعاملات, العملات المستقرة الخاصة, الأصول المغلفة, السلاسل الجانبية, المهتمون, الإقراض, يشبه Uniswap, عقدة Beam, Beam Virtual Machine, السرية, الأصول الممسكة, سلسلة كتل Beam, التداول السلس, المحفظة التفاعلية, معاملات مشابهة لبيتكوين, التداول في Beam, الخصوصية المالية"
},
"header": {
- "announcement": "الثلاثاء، 2 مايو 2023: الموقع الجديد لـ Beam متاح رسميًا! كن مستعدًا أيضًا لإطلاق بورصة Beam المركزة على الخصوصية واللامركزية يوم الخميس. [اكتشف المزيد...](https://t.co/MzuCbXsi4e)",
+ "announcement": "الثلاثاء، 5 ديسمبر 2023: الآن Wrapped BEAM (WBEAM) متاح على إثيريوم، سيتم إصدار محفظة محدثة للذكرى السنوية الخامسة، الفرع الصلب المقبل 8.0 سوف يضيف التوافق مع EVM، النصف التالي في 3 يناير 2024، تم تحديث الموقع الإلكتروني والمزيد!",
"announcementdev": "**تنبيه!** هذا الموقع مخصص فقط لشبكة dAppnet، شبكة تجريبية مصممة للمطورين. إذا كنت تبحث عن الموقع الحقيقي، الرجاء [**النقر هنا**](https://beam.mw).",
"nav": {
"home": "الرئيسية",
diff --git a/locales/de.json b/locales/de.json
index 15c3a57f..2454e33f 100644
--- a/locales/de.json
+++ b/locales/de.json
@@ -16,7 +16,7 @@
"keywords": "Beam, Kryptowährung, Privatsphäre, Anonymität, vertrauliche Vermögenswerte, DeFi, NFTs, Blockchain, dezentralisiert, DEX, Smart Contracts, Benutzererfahrung, Wallet, sicher, finanzielle Freiheit, AMM, Atomic Swaps, virtuelle Maschine, WASM, Vertrags-Shader, App-Shader, mobile Wallet, Desktop-Wallet, Transaktionstypen, private Stablecoins, eingebettete Vermögenswerte, Sidechains, Oracles, Kredite, Uniswap-ähnlich, Beam-Knoten, Beam Virtual Machine, Vertraulichkeit, gebrückte Vermögenswerte, Beam-Blockchain, nahtloses Handeln, interaktive Wallet, Bitcoin-ähnliche Transaktionen, Beam-Handel, finanzielle Privatsphäre"
},
"header": {
- "announcement": "Dienstag, 2. Mai 2023: Beams neue Website ist offiziell live! Machen Sie sich auch bereit für Beams datenschutzorientierten dezentralen Austausch, der am Donnerstag startet. [Entdecken Sie mehr...](https://t.co/MzuCbXsi4e)",
+ "announcement": "Dienstag, 5. Dezember 2023: Wrapped BEAM (WBEAM) ist jetzt auf Ethereum verfügbar, Aktualisierte Wallet wird zum 5-jährigen Jubiläum veröffentlicht, bevorstehender 8.0 Hard Fork wird EVM-Kompatibilität hinzufügen, nächstes Halving am 3. Januar 2024, aktualisierte Website und mehr!",
"announcementdev": "**Achtung!** Diese Website ist ausschließlich für das dAppnet-Netzwerk bestimmt, ein Testnetz, das für Entwickler entwickelt wurde. Wenn Sie auf der Suche nach der echten Website sind, klicken Sie bitte [**hier**](https://beam.mw).",
"nav": {
"home": "Startseite",
diff --git a/locales/en.json b/locales/en.json
index 507658cf..01430504 100644
--- a/locales/en.json
+++ b/locales/en.json
@@ -16,7 +16,7 @@
"keywords": "Beam, cryptocurrency, privacy, anonymity, confidential assets, DeFi, NFTs, blockchain, decentralized, DEX, smart contracts, user experience, wallet, secure, financial freedom, AMM, atomic swaps, virtual machine, WASM, contract shaders, app shaders, mobile wallet, desktop wallet, transaction types, private stablecoins, wrapped assets, sidechains, oracles, lending, Uniswap-like, Beam nodes, Beam Virtual Machine, confidentiality, bridged assets, Beam blockchain, seamless trading, interactive wallet, Bitcoin-like transactions, Beam trading, financial privacy"
},
"header": {
- "announcement": "Tuesday, May 2nd, 2023: Beam's new website is officially live! Get also ready for Beam's privacy-centric decentralized exchange, launching Thursday. [Discover more...](https://t.co/MzuCbXsi4e)",
+ "announcement": "Tuesday, December 5th, 2023: Wrapped BEAM (WBEAM) now available on Ethereum, updated wallet to be released for the 5-year anniversary, upcoming 8.0 hard fork will add EVM compatibility, next halving on January 3rd 2024, updated website and more!",
"announcementdev": "**Attention!** This website is exclusively for the dAppnet network, a testnet designed for developers. If you're looking for the real website, please [**click here**](https://beam.mw).",
"nav": {
"home": "Home",
diff --git a/locales/fr.json b/locales/fr.json
index 4a60f45b..95e07631 100644
--- a/locales/fr.json
+++ b/locales/fr.json
@@ -16,7 +16,7 @@
"keywords": "Beam, crypto-monnaie, confidentialité, anonymat, actifs confidentiels, DeFi, NFTs, blockchain, décentralisé, DEX, contrats intelligents, expérience utilisateur, portefeuille, sécurisé, liberté financière, AMM, swaps atomiques, machine virtuelle, WASM, shaders de contrats, shaders d'applications, portefeuille mobile, portefeuille de bureau, types de transactions, stablecoins privées, actifs encapsulés, sidechains, oracles, prêts, Uniswap-like, nœuds Beam, Beam Virtual Machine, confidentialité, actifs pontés, blockchain Beam, trading fluide, portefeuille interactif, transactions similaires à Bitcoin, trading Beam, confidentialité financière"
},
"header": {
- "announcement": "Mardi 2 mai 2023 : le nouveau site web de Beam est officiellement en ligne ! Préparez-vous également pour le lancement de l'échange décentralisé axé sur la confidentialité de Beam, jeudi. [Découvrez-en plus...](https://t.co/MzuCbXsi4e)",
+ "announcement": "Mardi 5 décembre 2023 : Wrapped BEAM (WBEAM) maintenant disponible sur Ethereum, mise à jour prévue du portefeuille pour le 5ème anniversaire, le prochain hard fork 8.0 ajoutera la compatibilité EVM, prochain halving le 3 janvier 2024, site web mis à jour et plus encore!",
"announcementdev": "**Attention !** Ce site web est exclusivement réservé au réseau dAppnet, un testnet conçu pour les développeurs. Si vous recherchez le site officiel, veuillez [**cliquer ici**](https://beam.mw).",
"nav": {
"home": "Accueil",
diff --git a/locales/he.json b/locales/he.json
index 7a9ef63b..a22afd3c 100644
--- a/locales/he.json
+++ b/locales/he.json
@@ -16,7 +16,7 @@
"keywords": "Beam, קריפטומטבע, פרטיות, אנונימיות, נכסים קונפידנציאליים, DeFi, NFTs, בלוקצ'יין, מבוזר, DEX, חוזים חכמים, חוויית משתמש, ארנק, מאובטח, חירות כלכלית, AMM, החלפות אטומיות, מכונה וירטואלית, WASM, חוזים צללים, יישומי צללים, ארנק מובייל, ארנק שולחן עבודה, סוגי עסקאות, סטייבלקוינים פרטיים, נכסים מעוטפים, צדדי שרשראות, אורקלים, הלוואות, Uniswap-like, צמתים של Beam, מכונה וירטואלית של Beam, קונפידנציאליות, נכסים מגושרים, בלוקצ'יין של Beam, מסחר בלתי מפורע, ארנק אינטראקטיבי, עסקאות דומות לביטקוין, מסחר ב-Beam, פרטיות פיננסית"
},
"header": {
- "announcement": "יום שלישי, 2 במאי 2023: אתר האינטרנט החדש של Beam זמין עכשיו באופן רשמי! התכוננו גם לשיקום הבורסה המבוזרת הממוקדת בפרטיות של Beam, היום החמישי. [גלה עוד...](https://t.co/MzuCbXsi4e)",
+ "announcement":"יום שלישי, 5 בדצמבר 2023: Wrapped BEAM (WBEAM) זמין כעת באתריום, ארנק מעודכן ישוחרר לרגל השנה החמישית ליישום, הפיצול הקשה הבא 8.0 יוסיף תאימות ל-EVM, החצי הבא ב-3 בינואר 2024, האתר המעודכן ועוד!",
"announcementdev": "**שימו לב!** אתר זה מיועד במיוחד לרשת dAppnet, רשת בדיקות שנוצרה עבור מפתחים. אם אתה מחפש את האתר האמיתי, אנא [**לחץ כאן**](https://beam.mw).",
"nav": {
"home": "בית",
diff --git a/locales/jp.json b/locales/jp.json
index 823742b9..bc3aa70f 100644
--- a/locales/jp.json
+++ b/locales/jp.json
@@ -16,7 +16,7 @@
"keywords": "Beam, 暗号通貨, プライバシー, 匿名性, 機密資産, DeFi, NFT, ブロックチェーン, 分散型, DEX, スマートコントラクト, ユーザーエクスペリエンス, ウォレット, セキュア, 財務の自由, AMM, アトミックスワップ, 仮想マシン, WASM, コントラクトシェーダー, アプリシェーダー, モバイルウォレット, デスクトップウォレット, 取引タイプ, プライベートステーブルコイン, ラップされた資産, サイドチェーン, オラクル, 貸付, Uniswapのような, Beamノード, Beam仮想マシン, 機密性, ブリッジされた資産, Beamブロックチェーン, シームレスな取引, 対話型ウォレット, Bitcoinのような取引, Beam取引, 財務プライバシー"
},
"header": {
- "announcement": "2023年5月2日(火):Beamの新しいウェブサイトが正式に公開されました! Beamのプライバシー重視の分散型取引所のローンチも、木曜日に迫っています。[詳細はこちら...](https://t.co/MzuCbXsi4e)",
+ "announcement": "2023年12月5日(火): Wrapped BEAM(WBEAM)がEthereumで利用可能になりました、5周年記念の更新ウォレットがリリース予定、次回の8.0ハードフォークではEVM互換性が追加されます、次回の半分は2024年1月3日、ウェブサイトを更新し、その他多数!",
"announcementdev": "**注意!** このウェブサイトは、開発者向けに設計されたテストネットである dAppnet ネットワーク専用です。実際のウェブサイトをお探しの場合は、[**ここをクリック**](https://beam.mw)してください。",
"nav": {
"home": "ホーム",
diff --git a/locales/ru.json b/locales/ru.json
index 6fc59feb..941a89ff 100644
--- a/locales/ru.json
+++ b/locales/ru.json
@@ -16,7 +16,7 @@
"keywords": "Beam, криптовалюта, приватность, анонимность, конфиденциальные активы, DeFi, NFT, блокчейн, децентрализация, DEX, смарт-контракты, пользовательский опыт, кошелек, безопасность, финансовая свобода, AMM, атомарные свопы, виртуальная машина, WASM, контрактные шейдеры, приложения-шейдеры, мобильный кошелек, настольный кошелек, типы транзакций, частные стейблкоины, обернутые активы, сайдчейны, оракулы, кредитование, Uniswap-подобные, узлы Beam, Beam Virtual Machine, конфиденциальность, мостовые активы, блокчейн Beam, безшовная торговля, интерактивный кошелек, транзакции в стиле Биткоина, торговля Beam, финансовая приватность"
},
"header": {
- "announcement": "Вторник, 2 мая 2023 года: новый сайт Beam официально запущен! Также готовьтесь к запуску конфиденциального децентрализованного обмена Beam в четверг. [Узнать больше...](https://t.co/MzuCbXsi4e)",
+ "announcement": "Вторник, 5 декабря 2023: Wrapped BEAM (WBEAM) теперь доступен на Ethereum, Обновленный кошелек будет выпущен к 5-й годовщине, предстоящий 8.0 хардфорк добавит совместимость с EVM, следующее сокращение вдвое произойдет 3 января 2024, обновленный сайт и многое другое!",
"announcementdev": "**Внимание!** Этот сайт предназначен исключительно для сети dAppnet, тестовой сети, разработанной для разработчиков. Если вы ищете реальный сайт, пожалуйста, [**нажмите здесь**](https://beam.mw).",
"nav": {
"home": "Главная",
diff --git a/locales/zh.json b/locales/zh.json
index 517a2fda..1fb2ce03 100644
--- a/locales/zh.json
+++ b/locales/zh.json
@@ -16,7 +16,7 @@
"keywords": "Beam, 加密货币, 隐私, 匿名, 保密资产, DeFi, NFT, 区块链, 去中心化, DEX, 智能合约, 用户体验, 钱包, 安全, 财务自由, AMM, 原子交换, 虚拟机, WASM, 合约着色器, 应用着色器, 移动钱包, 桌面钱包, 交易类型, 私密稳定币, 封装资产, 侧链, 预言机, 借贷, Uniswap-like, Beam 节点, Beam 虚拟机, 保密性, 桥接资产, Beam 区块链, 无缝交易, 交互式钱包, 比特币式交易, Beam 交易, 财务隐私"
},
"header": {
- "announcement": "2023年5月2日星期二:Beam的新网站正式上线!准备好迎接Beam的隐私为中心的去中心化交易所,周四启动。[了解更多...](https://t.co/MzuCbXsi4e)",
+ "announcement": "2023年12月5日星期二:Wrapped BEAM(WBEAM)现已在以太坊上可用,将发布5周年纪念更新的钱包,即将进行的8.0硬分叉将增加EVM兼容性,下一次减半将在2024年1月3日,更新的网站等更多!",
"announcementdev": "**注意!** 本网站仅适用于 dAppnet 网络,这是为开发者设计的测试网络。如果您正在寻找真正的网站,请[**点击此处**](https://beam.mw)。",
"nav": {
"home": "首页",
From 7114a92edf3d9ddada2a35ae75b3c77884d50ff5 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 01:30:01 +0000
Subject: [PATCH 10/14] linting
---
app.config.ts | 2 +-
app.vue | 3 ++-
locales/he.json | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/app.config.ts b/app.config.ts
index f7f273e6..e1f8c6e2 100644
--- a/app.config.ts
+++ b/app.config.ts
@@ -66,7 +66,7 @@ export enum ExternalLinksTitle {
QQ = "QQ",
COINGECKO = "CoinGecko",
CMC = "CoinMarketCap",
- BEAMASSETS = "BeamAssets"
+ BEAMASSETS = "BeamAssets",
}
/**
diff --git a/app.vue b/app.vue
index 68d6f530..14bf0800 100644
--- a/app.vue
+++ b/app.vue
@@ -16,7 +16,8 @@ const baseURL = useRuntimeConfig().public.baseURL;
const route = useRoute();
const router = useRouter();
-watch(() => route.fullPath,
+watch(
+ () => route.fullPath,
(_routeFullPath) => {
currentRoute.value = getRouteName(route.name);
},
diff --git a/locales/he.json b/locales/he.json
index a22afd3c..fcf273df 100644
--- a/locales/he.json
+++ b/locales/he.json
@@ -16,7 +16,7 @@
"keywords": "Beam, קריפטומטבע, פרטיות, אנונימיות, נכסים קונפידנציאליים, DeFi, NFTs, בלוקצ'יין, מבוזר, DEX, חוזים חכמים, חוויית משתמש, ארנק, מאובטח, חירות כלכלית, AMM, החלפות אטומיות, מכונה וירטואלית, WASM, חוזים צללים, יישומי צללים, ארנק מובייל, ארנק שולחן עבודה, סוגי עסקאות, סטייבלקוינים פרטיים, נכסים מעוטפים, צדדי שרשראות, אורקלים, הלוואות, Uniswap-like, צמתים של Beam, מכונה וירטואלית של Beam, קונפידנציאליות, נכסים מגושרים, בלוקצ'יין של Beam, מסחר בלתי מפורע, ארנק אינטראקטיבי, עסקאות דומות לביטקוין, מסחר ב-Beam, פרטיות פיננסית"
},
"header": {
- "announcement":"יום שלישי, 5 בדצמבר 2023: Wrapped BEAM (WBEAM) זמין כעת באתריום, ארנק מעודכן ישוחרר לרגל השנה החמישית ליישום, הפיצול הקשה הבא 8.0 יוסיף תאימות ל-EVM, החצי הבא ב-3 בינואר 2024, האתר המעודכן ועוד!",
+ "announcement": "יום שלישי, 5 בדצמבר 2023: Wrapped BEAM (WBEAM) זמין כעת באתריום, ארנק מעודכן ישוחרר לרגל השנה החמישית ליישום, הפיצול הקשה הבא 8.0 יוסיף תאימות ל-EVM, החצי הבא ב-3 בינואר 2024, האתר המעודכן ועוד!",
"announcementdev": "**שימו לב!** אתר זה מיועד במיוחד לרשת dAppnet, רשת בדיקות שנוצרה עבור מפתחים. אם אתה מחפש את האתר האמיתי, אנא [**לחץ כאן**](https://beam.mw).",
"nav": {
"home": "בית",
From 58665dd53418ce351c74ad4ccbdae206243b5312 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 01:57:50 +0000
Subject: [PATCH 11/14] attempt to set NODE_OPTIONS directly in deploy file
---
.github/workflows/deploy_cf.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/deploy_cf.yml b/.github/workflows/deploy_cf.yml
index 0f49438a..71f76b7a 100644
--- a/.github/workflows/deploy_cf.yml
+++ b/.github/workflows/deploy_cf.yml
@@ -9,7 +9,7 @@ name: "Deploy to CloudFlare"
on: [push, pull_request]
env:
- NODE_OPTIONS: ${{ secrets.NODE_OPTIONS }}
+ NODE_OPTIONS: --max-old-space-size=8096
jobs:
deploy:
From 5f974333dc0f9aef7f50b2f389326cdfbfb47529 Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 02:01:25 +0000
Subject: [PATCH 12/14] set max old space size to 16384
---
.github/workflows/deploy_cf.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/deploy_cf.yml b/.github/workflows/deploy_cf.yml
index 71f76b7a..ba3e361b 100644
--- a/.github/workflows/deploy_cf.yml
+++ b/.github/workflows/deploy_cf.yml
@@ -9,7 +9,7 @@ name: "Deploy to CloudFlare"
on: [push, pull_request]
env:
- NODE_OPTIONS: --max-old-space-size=8096
+ NODE_OPTIONS: --max-old-space-size=16384
jobs:
deploy:
From 835f2520143c5f34092fe6554c053301feeea9bf Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 02:59:46 +0000
Subject: [PATCH 13/14] fix: do not fail on routes not found
---
nuxt.config.ts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 23943aaf..0ef02c94 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -115,6 +115,8 @@ export default defineNuxtConfig({
nitro: {
prerender: {
routes: ["/sitemap.xml", ...docsRoutes],
+ // crawlLinks: true,
+ failOnError: false,
},
},
hooks: {
From 6ecb5b7ca29cea0ab3c8a6e3ed43fac20594b0df Mon Sep 17 00:00:00 2001
From: magicp0tato <131204909+magicp0tato@users.noreply.github.com>
Date: Tue, 5 Dec 2023 03:00:40 +0000
Subject: [PATCH 14/14] fix: cache docs to avoid processing for each lang
---
components/docs/item.vue | 155 +++++++++++++++++++++++++++++++++++++++
pages/docs/[...slug].vue | 140 +----------------------------------
2 files changed, 159 insertions(+), 136 deletions(-)
create mode 100644 components/docs/item.vue
diff --git a/components/docs/item.vue b/components/docs/item.vue
new file mode 100644
index 00000000..1ccca459
--- /dev/null
+++ b/components/docs/item.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+ 404 Not Found
+
+
+
+
+
+
+
+
+
diff --git a/pages/docs/[...slug].vue b/pages/docs/[...slug].vue
index 77c59644..5a179e2a 100644
--- a/pages/docs/[...slug].vue
+++ b/pages/docs/[...slug].vue
@@ -1,146 +1,14 @@
-
-
-
-
- 404 Not Found
-
-
-
-
-
+
-