aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docs/pages
diff options
context:
space:
mode:
Diffstat (limited to 'docs/pages')
-rw-r--r--docs/pages/AI/_meta.json15
-rw-r--r--docs/pages/AI/docs/_meta.json15
-rw-r--r--docs/pages/AI/docs/index.mdx73
-rw-r--r--docs/pages/AI/docs/installing.mdx11
-rw-r--r--docs/pages/AI/index.mdx7
-rw-r--r--docs/pages/TRPG/_meta.json15
-rw-r--r--docs/pages/TRPG/docs/_meta.json6
-rw-r--r--docs/pages/TRPG/docs/core-concepts.mdx8
-rw-r--r--docs/pages/TRPG/docs/features.mdx12
-rw-r--r--docs/pages/TRPG/docs/index.mdx15
-rw-r--r--docs/pages/TRPG/docs/why-trpg.mdx8
-rw-r--r--docs/pages/TRPG/index.mdx8
-rw-r--r--docs/pages/_app.tsx47
-rw-r--r--docs/pages/_document.tsx54
-rw-r--r--docs/pages/_error.js17
-rw-r--r--docs/pages/_meta.json30
-rw-r--r--docs/pages/api/binaries/version.ts113
-rw-r--r--docs/pages/api/og.tsx167
-rw-r--r--docs/pages/api/signup.tsx33
-rw-r--r--docs/pages/api/user/[id].tsx36
-rw-r--r--docs/pages/blog.mdx44
-rw-r--r--docs/pages/blog/_meta.json13
-rw-r--r--docs/pages/blog/hydroroll-0-1-0.mdx54
-rw-r--r--docs/pages/confirm.mdx8
-rw-r--r--docs/pages/index.mdx7
-rw-r--r--docs/pages/privacy.mdx46
-rw-r--r--docs/pages/psi/.gitkeep1
-rw-r--r--docs/pages/showcase.mdx10
28 files changed, 0 insertions, 873 deletions
diff --git a/docs/pages/AI/_meta.json b/docs/pages/AI/_meta.json
deleted file mode 100644
index 4941080..0000000
--- a/docs/pages/AI/_meta.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "index": {
- "type": "page",
- "display": "hidden",
- "theme": {
- "layout": "raw",
- "sidebar": false,
- "toc": true
- }
- },
- "docs": {
- "title": "Docs",
- "display": "children"
- }
-}
diff --git a/docs/pages/AI/docs/_meta.json b/docs/pages/AI/docs/_meta.json
deleted file mode 100644
index 939e2df..0000000
--- a/docs/pages/AI/docs/_meta.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "index": {
- "title": "Quickstart"
- },
- "installing": "Installing AI",
- "getting-started": "Getting Started",
- "troubleshooting": "Troubleshooting",
- "changelog": {
- "title": "Changelog",
- "href": "https://github.com/retrofor/HydroRoll/releases",
- "newWindow": true
- },
- "acknowledgements": "Acknowledgements",
- "faq": "FAQ"
-}
diff --git a/docs/pages/AI/docs/index.mdx b/docs/pages/AI/docs/index.mdx
deleted file mode 100644
index 5f6dd29..0000000
--- a/docs/pages/AI/docs/index.mdx
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: AI Quickstart
-description: Create your first monorepo or add AI to an existing project.
----
-
-import { readdirSync, lstatSync, readFileSync } from 'fs';
-import path from 'path';
-import { QuickStartArea, LearnMoreArea, MonoreposArea } from "../../../components/QuickStart";
-import { ExamplesArea } from "../../../components/ExamplesArea";
-import FullTurboCTA from "../../../components/FullTurboCTA";
-
-export const getStaticProps = ({ params }) => {
- // path to examples directory at the monorepo root.
- const examplesDirectory = path.join(__dirname, '../../../../../examples')
- const examples = [];
- readdirSync(examplesDirectory).forEach(file => {
- if (lstatSync(path.join(examplesDirectory, file)).isDirectory()) {
- try {
- examples.push({
- slug: file,
- ...JSON.parse(readFileSync(path.join(examplesDirectory, file, "meta.json")).toString())
- }
- );
- } catch (err) {
- console.log(`No meta.json found for ${file}, excluding from docs`);
- }
- }
- });
- // throw an error if no examples are found
- if (examples.length === 0) {
- throw new Error(
- `No examples found in ${examplesDirectory}! Make sure you have updated the path if moving this file.`
- )
- }
- return {
- props: {
- ssg: {
- examples
- }
- },
- revalidate: 60 * 60 * 24
- }
-}
-
-# AI Quickstart
-
-AI is an intelligent **build system optimized for JavaScript and TypeScript codebases**.
-
-Your codebase's tasks - like `lint`, `build` and `test` - **don't run as fast as they could**. AI uses [caching](/AI/docs/core-concepts/caching) to turbocharge your local setup and speed up your CI.
-
-AI is designed to be **incrementally adopted**, so you can add it to most codebases in a few minutes.
-
-<QuickStartArea />
-
-## Features
-
-AI leverages advanced build system techniques to speed up development, **both on your local machine and your CI/CD**.
-
-<LearnMoreArea />
-
-## Monorepos
-
-AI works out-of-the-box with monorepo tools like `npm`, `pnpm` and `yarn`. If you've ever felt that your monorepo slowed you down, it might be time for AI.
-
-<MonoreposArea />
-
-## Examples
-
-You can also clone a AI starter repository to get a head start on your monorepo. For even more examples and starters, see the [AI examples directory on GitHub](https://github.com/vercel/turbo/tree/main/examples).
-
-<ExamplesArea filter="featured" />
-
-<FullTurboCTA />
diff --git a/docs/pages/AI/docs/installing.mdx b/docs/pages/AI/docs/installing.mdx
deleted file mode 100644
index 6c71e5a..0000000
--- a/docs/pages/AI/docs/installing.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: 安装模型
-description: 学习如何使用模型完善你的水系骰子
----
-
-import Callout from "../../../components/Callout";
-import { Tabs, Tab } from '../../../components/Tabs'
-
-# Install AI
-
-to be... \ No newline at end of file
diff --git a/docs/pages/AI/index.mdx b/docs/pages/AI/index.mdx
deleted file mode 100644
index 97240f5..0000000
--- a/docs/pages/AI/index.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-description: AI balabala.
----
-
-import HydroRollAIHome from "../../components/pages/AI-home";
-
-<HydroRollAIHome />
diff --git a/docs/pages/TRPG/_meta.json b/docs/pages/TRPG/_meta.json
deleted file mode 100644
index 4941080..0000000
--- a/docs/pages/TRPG/_meta.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "index": {
- "type": "page",
- "display": "hidden",
- "theme": {
- "layout": "raw",
- "sidebar": false,
- "toc": true
- }
- },
- "docs": {
- "title": "Docs",
- "display": "children"
- }
-}
diff --git a/docs/pages/TRPG/docs/_meta.json b/docs/pages/TRPG/docs/_meta.json
deleted file mode 100644
index 8ffd2a5..0000000
--- a/docs/pages/TRPG/docs/_meta.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "index": "快速开始",
- "why-trpg": "为什么是 TRPG跑团?",
- "core-concepts": "核心概念",
- "features": "特性"
-}
diff --git a/docs/pages/TRPG/docs/core-concepts.mdx b/docs/pages/TRPG/docs/core-concepts.mdx
deleted file mode 100644
index 552dda6..0000000
--- a/docs/pages/TRPG/docs/core-concepts.mdx
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: 核心概念
-description: 了解核心
----
-
-# Core Concepts
-
-水系核心概念 \ No newline at end of file
diff --git a/docs/pages/TRPG/docs/features.mdx b/docs/pages/TRPG/docs/features.mdx
deleted file mode 100644
index f069b86..0000000
--- a/docs/pages/TRPG/docs/features.mdx
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: 特性
-description: 认识水系的一些特点
----
-
-import { HydroRollTRPGFeatures } from '../../../components/HydroRollTRPGFeatures'
-
-# 特性
-
-To be...
-
-<HydroRollTRPGFeatures />
diff --git a/docs/pages/TRPG/docs/index.mdx b/docs/pages/TRPG/docs/index.mdx
deleted file mode 100644
index 0a1a30f..0000000
--- a/docs/pages/TRPG/docs/index.mdx
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: TRPG 快速入门
-description: 开始搭建纯净的水系骰子
----
-
-import { HydroRollTRPGQuickstartArea } from "../../../components/HydroRollTRPGQuickstart";
-import Callout from "../../../components/Callout";
-import { Tabs, Tab } from "../../../components/Tabs";
-import FullTurboCTA from "../../../components/FullTurboCTA";
-
-# 快速开始
-
-<HydroRollTRPGQuickstartArea />
-
-<FullTurboCTA />
diff --git a/docs/pages/TRPG/docs/why-trpg.mdx b/docs/pages/TRPG/docs/why-trpg.mdx
deleted file mode 100644
index 14848e2..0000000
--- a/docs/pages/TRPG/docs/why-trpg.mdx
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: 为什么是 TRPG跑团?
-description: 关于水系诞生的决定
----
-
-# Why TRPG?
-
-... \ No newline at end of file
diff --git a/docs/pages/TRPG/index.mdx b/docs/pages/TRPG/index.mdx
deleted file mode 100644
index 044d3b8..0000000
--- a/docs/pages/TRPG/index.mdx
+++ /dev/null
@@ -1,8 +0,0 @@
----
-overrideTitle: "TRPG 模块,基于HydroRollCore的规则包运行"
-description: "TRPG balabala."
----
-
-import HydroRollTRPGHome from "../../components/pages/TRPG-home";
-
-<HydroRollTRPGHome />
diff --git a/docs/pages/_app.tsx b/docs/pages/_app.tsx
deleted file mode 100644
index fc61810..0000000
--- a/docs/pages/_app.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import "../styles.css";
-import "../custom.css";
-
-import { SSRProvider } from "@react-aria/ssr";
-import type { AppProps } from "next/app";
-import type { ReactNode } from "react";
-import { Analytics } from "@vercel/analytics/react";
-
-type NextraAppProps = AppProps & {
- Component: AppProps["Component"] & {
- getLayout: (page: ReactNode) => ReactNode;
- };
-};
-
-// Shim requestIdleCallback in Safari
-if (typeof window !== "undefined" && !("requestIdleCallback" in window)) {
- window.requestIdleCallback = (fn) => setTimeout(fn, 1);
- window.cancelIdleCallback = (e) => clearTimeout(e);
-}
-
-export default function Nextra({ Component, pageProps }: NextraAppProps) {
- return (
- <SSRProvider>
- <>
- {/**
- * Globally defined svg linear gradient, for use in icons
- */}
- <svg height="0px" width="0px">
- <defs>
- <linearGradient
- id="pink-gradient"
- x1="0%"
- y1="0%"
- x2="100%"
- y2="100%"
- >
- <stop offset="0%" stopColor="rgba(156, 81, 161, 1)" />
- <stop offset="70%" stopColor="rgba(255, 30, 86, 1)" />
- </linearGradient>
- </defs>
- </svg>
- </>
- <Component {...pageProps} />
- <Analytics />
- </SSRProvider>
- );
-}
diff --git a/docs/pages/_document.tsx b/docs/pages/_document.tsx
deleted file mode 100644
index 54b5e72..0000000
--- a/docs/pages/_document.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import Document, { Html, Head, Main, NextScript } from "next/document";
-import type { DocumentInitialProps, DocumentContext } from "next/document";
-
-class MyDocument extends Document {
- static async getInitialProps(
- ctx: DocumentContext
- ): Promise<DocumentInitialProps> {
- const initialProps = await Document.getInitialProps(ctx);
-
- return initialProps;
- }
-
- render() {
- return (
- <Html lang="en">
- <Head>
- <link rel="preconnect" href="https://fonts.googleapis.com" />
- <link
- rel="preconnect"
- href="https://fonts.gstatic.com"
- crossOrigin="true"
- />
- <link
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800&display=optional"
- rel="stylesheet"
- />
-
- {/* eslint-disable-next-line @next/next/google-font-preconnect */}
- <link
- rel="preload"
- as="font"
- href="https://fonts.gstatic.com/s/spacegrotesk/v13/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj7aUXskPMBBSSJLm2E.woff2"
- type="font/woff2"
- crossOrigin="true"
- />
- {/* eslint-disable-next-line @next/next/google-font-preconnect */}
- <link
- rel="preload"
- as="font"
- href="https://fonts.gstatic.com/s/spacegrotesk/v13/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj7oUXskPMBBSSJLm2E.woff2"
- type="font/woff2"
- crossOrigin="true"
- />
- </Head>
- <body>
- <Main />
- <NextScript />
- </body>
- </Html>
- );
- }
-}
-
-export default MyDocument;
diff --git a/docs/pages/_error.js b/docs/pages/_error.js
deleted file mode 100644
index 129bf1a..0000000
--- a/docs/pages/_error.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as Sentry from "@sentry/nextjs";
-import NextErrorComponent from "next/error";
-
-const CustomErrorComponent = (props) => {
- return <NextErrorComponent statusCode={props.statusCode} />;
-};
-
-CustomErrorComponent.getInitialProps = async (contextData) => {
- // In case this is running in a serverless function, await this in order to give Sentry
- // time to send the error before the lambda exits
- await Sentry.captureUnderscoreErrorException(contextData);
-
- // This will contain the status code of the response
- return NextErrorComponent.getInitialProps(contextData);
-};
-
-export default CustomErrorComponent;
diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json
deleted file mode 100644
index d892f08..0000000
--- a/docs/pages/_meta.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "*": {
- "type": "page"
- },
- "index": {
- "display": "hidden",
- "theme": {
- "layout": "raw",
- "sidebar": false,
- "toc": true
- }
- },
- "AI": "AI",
- "TRPG": "TRPG",
- "blog": {
- "title": "Blog",
- "theme": {
- "typesetting": "article"
- }
- },
- "showcase": "Showcase",
- "confirm": {
- "title": "Confirm",
- "display": "hidden"
- },
- "privacy": {
- "title": "Privacy Policy",
- "display": "hidden"
- }
-}
diff --git a/docs/pages/api/binaries/version.ts b/docs/pages/api/binaries/version.ts
deleted file mode 100644
index 339a34d..0000000
--- a/docs/pages/api/binaries/version.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import type { NextRequest } from "next/server";
-
-const REGISTRY = "https://registry.npmjs.org";
-const DEFAULT_TAG = "latest";
-const SUPPORTED_PACKAGES = ["turbo"];
-const SUPPORTED_METHODS = ["GET"];
-const [DEFAULT_NAME] = SUPPORTED_PACKAGES;
-
-async function fetchDistTags({ name }: { name: string }) {
- const result = await fetch(`${REGISTRY}/${name}`);
- const json = await result.json();
- return json["dist-tags"];
-}
-
-function errorResponse({
- status,
- message,
-}: {
- status: 400 | 404 | 500;
- message: string;
-}) {
- return new Response(
- JSON.stringify({
- error: message,
- }),
- {
- status,
- }
- );
-}
-
-/*
-This API is called via the turbo rust binary to check for version updates.
-
-Response Schema (200):
-{
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- },
- "version": {
- "type": "string",
- },
- "tag": {
- "type": "string",
- }
- }
-}
-
-Errors (400 | 404 | 500):
-{
- "type": "object",
- "properties": {
- "error": {
- "type": "string",
- }
- }
-}
-
-*/
-export default async function handler(req: NextRequest) {
- if (!SUPPORTED_METHODS.includes(req.method)) {
- return errorResponse({
- status: 404,
- message: `unsupported method - ${req.method}`,
- });
- }
-
- try {
- const { searchParams } = new URL(req.url);
- const name = searchParams.get("name") || DEFAULT_NAME;
- const tag = searchParams.get("tag") || DEFAULT_TAG;
-
- if (!SUPPORTED_PACKAGES.includes(name)) {
- return errorResponse({
- status: 400,
- message: `unsupported package - ${name}`,
- });
- }
-
- const versions = await fetchDistTags({ name });
- if (!versions || !versions[tag]) {
- return errorResponse({
- status: 404,
- message: `unsupported tag - ${tag}`,
- });
- }
-
- return new Response(
- JSON.stringify({
- name,
- version: versions[tag],
- tag,
- }),
- {
- status: 200,
- headers: {
- "content-type": "application/json",
- // cache for 15 minutes, and allow stale responses for 5 minutes
- "cache-control": "public, s-maxage=900, stale-while-revalidate=300",
- },
- }
- );
- } catch (e) {
- console.error(e);
- return errorResponse({ status: 500, message: e.message });
- }
-}
-
-export const config = {
- runtime: "experimental-edge",
-};
diff --git a/docs/pages/api/og.tsx b/docs/pages/api/og.tsx
deleted file mode 100644
index ceb55dc..0000000
--- a/docs/pages/api/og.tsx
+++ /dev/null
@@ -1,167 +0,0 @@
-import React, { createElement } from "react";
-import { ImageResponse } from "@vercel/og";
-
-import PackLogo from "../../components/logos/og/PackLogo";
-import RepoLogo from "../../components/logos/og/RepoLogo";
-import TurboLogo from "../../components/logos/og/TurboLogo";
-import VercelLogo from "../../components/logos/og/VercelLogo";
-
-import type { NextApiRequest } from "next/index";
-
-function _arrayBufferToBase64(buffer) {
- var binary = "";
- var bytes = new Uint8Array(buffer);
- var len = bytes.byteLength;
- for (var i = 0; i < len; i++) {
- binary += String.fromCharCode(bytes[i]);
- }
- return btoa(binary);
-}
-
-async function loadAssets(): Promise<
- [
- { name: string; data: ArrayBuffer; weight: 400 | 700; style: "normal" }[],
- string
- ]
-> {
- const [inter, spaceMono, bg] = await Promise.all([
- fetch(
- String(new URL("../../assets/inter-v12-latin-700.ttf", import.meta.url))
- ).then((res) => res.arrayBuffer()),
- fetch(
- String(
- new URL(
- "../../assets/space-mono-v12-latin-regular.ttf",
- import.meta.url
- )
- )
- ).then((res) => res.arrayBuffer()),
- fetch(String(new URL("../../assets/bg.jpeg", import.meta.url))).then(
- (res) => res.arrayBuffer()
- ),
- ]);
- return [
- [
- {
- name: "Inter",
- data: inter,
- weight: 700 as const,
- style: "normal" as const,
- },
- {
- name: "Space Mono",
- data: spaceMono,
- weight: 400 as const,
- style: "normal" as const,
- },
- ],
- _arrayBufferToBase64(bg),
- ];
-}
-
-export const config = {
- runtime: "experimental-edge",
-};
-
-export default async function openGraphImage(
- req: NextApiRequest
-): Promise<ImageResponse> {
- try {
- const [fonts, bg] = await loadAssets();
- const { searchParams } = new URL(req.url);
-
- const type = searchParams.get("type");
-
- // ?title=<title>
- const hasTitle = searchParams.has("title");
- const title = hasTitle
- ? searchParams.get("title")?.slice(0, 100)
- : type === "TRPG"
- ? "跑团"
- : type === "AI"
- ? "人工智能"
- : "";
-
- return new ImageResponse(createElement(OGImage, { title, type, bg }), {
- width: 1200,
- height: 630,
- fonts,
- });
- } catch (e: unknown) {
- return new Response(undefined, {
- status: 302,
- headers: {
- Location: "https://hydroroll.retrofor.space/og-image.png",
- },
- });
- }
-}
-
-export function OGImage({
- title,
- type,
- bg,
-}: {
- title: string;
- type: string;
- bg: string;
-}): JSX.Element {
- return (
- <div
- style={{
- display: "flex",
- flexDirection: "column",
- alignItems: "center",
- justifyContent: "center",
- width: "100%",
- height: "100%",
- fontFamily: "Inter",
- fontWeight: 700,
- fontSize: 60,
- backgroundImage: `url(data:image/jpeg;base64,${bg})`,
- backgroundSize: "1200px 630px",
- color: "#fff",
- }}
- >
- {/* eslint-disable-next-line @next/next/no-img-element, jsx-a11y/alt-text */}
- <div style={{ display: "flex", height: 97 * 1.1, alignItems: "center" }}>
- {type === "TRPG" ? (
- <PackLogo height={103 * 1.1} width={697 * 1.1} />
- ) : type === "AI" ? (
- <RepoLogo height={83 * 1.1} width={616 * 1.1} />
- ) : (
- <TurboLogo height={97 * 1.1} width={459 * 1.1} />
- )}
- </div>
- {title ? (
- <div
- style={{
- fontFamily: "Space Mono",
- fontSize: 36,
- letterSpacing: -1.5,
- padding: "15px 20px 30px",
- textAlign: "center",
- backgroundImage: "linear-gradient(to bottom, #fff, #aaa)",
- backgroundClip: "text",
- color: "transparent",
- }}
- >
- {title}
- </div>
- ) : null}
- <div
- style={{
- fontFamily: "Space Mono",
- fontSize: 18,
- marginTop: 80,
- display: "flex",
- color: "#fff",
- alignItems: "center",
- }}
- >
- <div style={{ marginRight: 12 }}>by</div>
- <VercelLogo fill="white" height={30} />
- </div>
- </div>
- );
-}
diff --git a/docs/pages/api/signup.tsx b/docs/pages/api/signup.tsx
deleted file mode 100644
index 0a082ee..0000000
--- a/docs/pages/api/signup.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { withSentry } from "@sentry/nextjs";
-
-const CAMPAIGN_ID = process.env.TURBOREPO_SFDC_CAMPAIGN_ID;
-const TRAY_URL = process.env.TRAY_URL;
-
-async function handler(req: NextApiRequest, res: NextApiResponse) {
- if (req.method === "POST") {
- const user = {
- email: req.body.email,
- campaign_id: CAMPAIGN_ID,
- };
-
- try {
- const trayRes = await fetch(TRAY_URL, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- Accept: "application/json",
- },
- body: JSON.stringify({ user: user }),
- });
-
- return res.status(201).json(user);
- } catch (error) {
- return res.status(500).json(error);
- }
- } else {
- return res.status(404).send(null);
- }
-}
-
-export default withSentry(handler);
diff --git a/docs/pages/api/user/[id].tsx b/docs/pages/api/user/[id].tsx
deleted file mode 100644
index 091d716..0000000
--- a/docs/pages/api/user/[id].tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { withSentry } from "@sentry/nextjs";
-import {
- getSubscriber,
- Subscriber,
- updateSubscriber,
-} from "../../../lib/ConvertKitApi";
-
-async function handler(req: NextApiRequest, res: NextApiResponse) {
- try {
- if (req.method === "PUT") {
- const subscriber = await updateSubscriber(
- req.query.id as string,
- {
- first_name: req.body.first_name,
- email_address: req.body.email_address,
- fields: req.body.fields,
- } as Subscriber
- );
- res.setHeader("Content-Type", "application/json");
- res.statusCode = 204;
- res.json(subscriber);
- } else {
- const subscriber = await getSubscriber(req.query.id as string);
- res.setHeader("Content-Type", "application/json");
- res.statusCode = 200;
- res.json(subscriber);
- }
- } catch (error) {
- console.log(error);
- res.statusCode = 500;
- res.json({ okay: false });
- }
-}
-
-export default withSentry(handler);
diff --git a/docs/pages/blog.mdx b/docs/pages/blog.mdx
deleted file mode 100644
index 5e69e20..0000000
--- a/docs/pages/blog.mdx
+++ /dev/null
@@ -1,44 +0,0 @@
----
-description: The latest updates and releases from the Turbo team at Vercel.
-type: posts
----
-
-import { getPagesUnderRoute } from "nextra/context";
-import Link from "next/link";
-
-export function BlogHeader() {
- return (
- <div className="max-w-screen-lg mx-auto pt-4 pb-8 mb-16 border-b border-gray-400 border-opacity-20">
- <h1>
- <span className="font-bold leading-tight lg:text-5xl">Blog</span>
- </h1>
- <p className="text-center text-gray-500 dark:text-gray-400 font-space-grotesk">
- 关于 HydroRoll&apos;水系的最新release更新内容以及一些成员小插曲。
- </p>
- </div>
- );
-}
-
-export function BlogIndex() {
- return getPagesUnderRoute("/blog").map((page) => {
- return (
- <div key={page.route} className="mb-10">
- <Link href={page.route} style={{ color: "inherit", textDecoration: "none" }} className="block font-semibold mt-8 text-2xl">
- {page.meta?.title || page.frontMatter?.title || page.name}
- </Link>
- <p className="opacity-80" style={{ marginTop: ".5rem" }}>
- {page.frontMatter?.description}{" "}
- <span className="inline-block">
- <Link href={page.route}>{"Read more →"}</Link>
- </span>
- </p>
- {page.frontMatter?.date ? (
- <p className="opacity-50 text-sm">{page.frontMatter.date}</p>
- ) : null}
- </div>
- );
- });
-}
-
-<BlogHeader />
-<BlogIndex />
diff --git a/docs/pages/blog/_meta.json b/docs/pages/blog/_meta.json
deleted file mode 100644
index 6754782..0000000
--- a/docs/pages/blog/_meta.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "*": {
- "//": "Hide all the links from the sidebar or navbar, and disable ToC and Sidebar for these pages.",
- "display": "hidden",
- "theme": {
- "toc": true,
- "sidebar": true,
- "pagination": false,
- "typesetting": "article"
- }
- },
- "hydroroll-0-1-3": "HydroRoll'水系 0.1.0"
-}
diff --git a/docs/pages/blog/hydroroll-0-1-0.mdx b/docs/pages/blog/hydroroll-0-1-0.mdx
deleted file mode 100644
index 023ec39..0000000
--- a/docs/pages/blog/hydroroll-0-1-0.mdx
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: HydroRoll 0.1.0
-date: 2023/04/28
-description: 水系0.1.0发布
-tag: dev story
-ogImage: /images/blog/joining-vercel/twitter-card.png
----
-
-# HydroRoll 0.1.0
-
-import { Authors } from "../../components/Authors";
-
-<Authors authors={["HsiangNianian"]} />
-
-_post
------
-
-我很高兴能够发布 `v0.1.0` 版本的水系库, 这对我来说是个严峻的挑战——因为我的生活非常忙碌, 节奏很快——因此我也需要一些帮手来协助我, 让我欣慰的是, 我的朋友们大多数都非常支持我编写这样一个骰系系统。
-
-是的, 他们非常支持我。
-
-
-Intro
--------
-
-因为已经躺床上不愿再爬起来做到电脑前新开一个组织和网页 repo 以及 md 文档等缘故,因此记录在这里。
-
-同样的,继续使用 Markdown 语法。
-
-
-Getting
-------------
-
-这里主要记录 __HydroRoll'水系 (下称“水系”)__ 的基本架构,因为我混迹的骰系很多,所以对应的水系架构在诸多方面会延续相关骰系做得比较好的地方。同时也因为我自己 GitHub 加入过一些其他骰系核心开发组组织的缘故,因此在这里不能全盘托出。
-
-__组成__
-
-_水系_ 采用模块化管理,插件化热插拔模式,主要由两部分组成:
-- __AI__
- 人工智能模块,会内置一个多任务 nlp 预训练模型,模型也是热插拔的。虽然使用起来门槛(不仅是知识还是设备硬件等)较高,但是是 _水系_ 与其他骰系 _架构_ 上最重要的不同之处。
-- __TRPG__
- 跑团模块,这里是受知识门槛和设备门槛限制的骰主最需要关注的地方,也是整个 _水系_ 的核心。
-
-__TRPG__
-
-以下是一些不同于其他骰系的子模块介绍:
-
-- __wiki__
- 请将 _wiki_ 系统想象成你的个人 wiki 站点,它替代了其他骰系(比如 shiki 系、豹骰、青果系) 的“helpdoc”,_wiki_ 系统允许创建 __至多四级__ 的嵌套词条页面,同时也支持设置你的 wiki 系统管理员。它从属于 rules 模块。
-
-- __rules__
- _rules_ 系统也是插件式热插拔的,同时它会作为群聊与 _水系_ 骰娘互动的基础( _rules_ 是群聊能否跑团的充要条件),因此请将一个一个 _rules_ 系统想象成一个一个群聊。在这里引入一个 _世界主_ 概念,_世界主_ 是对应 _rules_ 的作者或管理员,有权为所处群聊绑定自己的 _rules_ ,同时,可以自由更改自己(管理)的 _rules_ 系统内部内容(比如 _wiki_词条)。
-
- 到这里,大家应该都很清楚 _rules_ 系统实际上是为了规则书作者们以及大量不同规则的团而诞生的。 \ No newline at end of file
diff --git a/docs/pages/confirm.mdx b/docs/pages/confirm.mdx
deleted file mode 100644
index 6dd2033..0000000
--- a/docs/pages/confirm.mdx
+++ /dev/null
@@ -1,8 +0,0 @@
----
-headeronly: true
-searchable: false
----
-
-import Confirm from "../components/pages/confirm";
-
-<Confirm />
diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx
deleted file mode 100644
index 5090e7f..0000000
--- a/docs/pages/index.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-description: "HydroRoll'水系是一个基于nlp多任务模型的跨平台骰系"
----
-
-import LandingPage from "../components/pages/landing";
-
-<LandingPage />
diff --git a/docs/pages/privacy.mdx b/docs/pages/privacy.mdx
deleted file mode 100644
index 52bf597..0000000
--- a/docs/pages/privacy.mdx
+++ /dev/null
@@ -1,46 +0,0 @@
----
-description: 隐私政策
-hidden: true
-headeronly: true
-container: true
-searchable: false
-toc: true
----
-
-## Privacy Policy
-
-Copyright (c) 2023 HydroRoll-Team
-
-版权所有本软件及其相关文档文件(“软件”),并授予在GPL 3.0许可下使用,复制,修改和分发该软件。
-
-任何人都有资格获得复制和分发本软件的副本,并获得以下权利:
-
-1. 您可以使用、复制和修改本软件。
-
-2. 您可以将本软件包含为其他产品的一部分。
-
-3. 您可以将本软件复制和分发给他人。
-
-4. 您可以在您的代码中使用本软件。
-
-但是,如果您复制、修改或分发本软件,必须遵守以下附带条件:
-
-1. 在所有以任何方式复制、修改或分发本软件的副本中,必须包含上述版权声明和此许可声明。
-
-2. 如果您在代码中使用本软件,您必须在源代码和文档中包含清晰明确的版权声明和GPL 3.0许可证声明。
-
-3. 如果您修改了本软件,您必须将修改后的软件在GPL 3.0许可证下进行发布,并标记为修改版本,以便其他用户可以获得与原始软件相同的权利。
-
-4. 如有需要,您必须提供源代码。
-
-5. 如果您使用本软件以商业目的,则必须在使用前获得作者的书面许可。
-
-此许可不授予您任何专利权,商标权、商业秘密权或其他知识产权,也不保证您使用本软件不侵犯任何第三方的知识产权。
-
-本软件按“原样”提供,无明示或暗示的担保或条件。
-
-在适用法律许可的范围内,作者对因使用或无法使用本软件而导致的所有任何直接、间接、特殊、附带或后续损害或利润损失均不承担责任,包括使用本软件造成的但不限于的数据丢失或损坏,任何人应负责自行评估与本软件相关的风险,并承担其使用本软件的全部风险。
-
-## Contact
-
-如果你对这项使用条款有任何问题或建议, 请通过 contact@retrofor.space 联系我们。 \ No newline at end of file
diff --git a/docs/pages/psi/.gitkeep b/docs/pages/psi/.gitkeep
deleted file mode 100644
index 8b13789..0000000
--- a/docs/pages/psi/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/pages/showcase.mdx b/docs/pages/showcase.mdx
deleted file mode 100644
index 011183d..0000000
--- a/docs/pages/showcase.mdx
+++ /dev/null
@@ -1,10 +0,0 @@
----
-headeronly: true
-searchable: false
-layout: full
-description: "插件市场"
----
-
-import Showcase from "../components/pages/showcase";
-
-<Showcase />