Skip to content

Commit 8fd34b6

Browse files
committed
Add docs (#428)
1 parent dfccce1 commit 8fd34b6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+12943
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,7 @@ package-lock.json
117117

118118
.vscode
119119

120+
.temp
121+
.cache
122+
120123
.nx/

docs/.eslintignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
!.vuepress/
2+
!.*.js
3+
.cache/
4+
.temp/
5+
node_modules/
6+
dist/

docs/.eslintrc.cjs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module.exports = {
2+
root: true,
3+
extends: 'vuepress',
4+
overrides: [
5+
{
6+
files: ['*.ts', '*.vue'],
7+
extends: 'vuepress-typescript',
8+
parserOptions: {
9+
project: ['tsconfig.json'],
10+
},
11+
},
12+
],
13+
}

docs/.node-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20

docs/.vuepress/client.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type {Router} from "vue-router";
2+
3+
interface ClientConfig {
4+
enhance?: (context: {
5+
app: any;
6+
router: Router;
7+
siteData: any;
8+
}) => void | Promise<void>;
9+
setup?: () => void;
10+
}

docs/.vuepress/config.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { dl } from "@mdit/plugin-dl";
2+
import viteBundler from "@vuepress/bundler-vite";
3+
import vueDevTools from 'vite-plugin-vue-devtools'
4+
import { defineUserConfig } from "vuepress";
5+
import { hopeTheme } from "vuepress-theme-hope";
6+
import { themeOptions } from "./configs/theme";
7+
import { linkCheckPlugin } from "./markdown/linkCheck";
8+
import { replaceLinkPlugin } from "./markdown/replaceLink";
9+
10+
11+
export default defineUserConfig({
12+
base: "/",
13+
dest: "public",
14+
title: "Docs",
15+
description: "Event-native database",
16+
bundler: viteBundler({ viteOptions: { plugins: [vueDevTools(),], } }),
17+
markdown: { importCode: false },
18+
extendsMarkdown: md => {
19+
md.use(linkCheckPlugin);
20+
md.use(replaceLinkPlugin, {
21+
replaceLink: (link: string, _) => link
22+
.replace("@api", "/api")
23+
.replace("@server/", "/server/{version}/")
24+
});
25+
md.use(dl);
26+
},
27+
theme: hopeTheme(themeOptions, { custom: true }),
28+
});

docs/.vuepress/configs/theme.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import type {ThemeOptions} from "vuepress-theme-hope";
2+
3+
export const themeOptions: ThemeOptions = {
4+
logo: "/Kurrent Logo - Plum.svg",
5+
logoDark: "/Kurrent Logo - White.svg",
6+
docsDir: 'docs',
7+
editLink: false,
8+
lastUpdated: true,
9+
toc: true,
10+
repo: "https://github.com/kurrent-io",
11+
repoLabel: "GitHub",
12+
repoDisplay: true,
13+
contributors: false,
14+
pure: false,
15+
darkmode:"toggle",
16+
headerDepth: 3,
17+
pageInfo: false,
18+
markdown: {
19+
figure: true,
20+
imgLazyload: true,
21+
imgMark: true,
22+
imgSize: true,
23+
tabs: true,
24+
codeTabs: true,
25+
component: true,
26+
mermaid: true,
27+
highlighter: {
28+
type: "shiki",
29+
themes: {
30+
light: "one-light",
31+
dark: "one-dark-pro",
32+
}
33+
}
34+
}
35+
}
36+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const externalPlaceholders = ["@samples", "@clients"];
2+
3+
export function isKnownPlaceholder(placeholder: string): boolean {
4+
const known = externalPlaceholders.find(x => x == placeholder);
5+
return known !== undefined;
6+
}

docs/.vuepress/lib/log.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
export default {
2+
error(message: string) {
3+
console.log("\x1b[41m%s\x1b[0m", ' ERROR ', `${message}\n`)
4+
process.exit(0)
5+
},
6+
info(message: string) {
7+
console.log("\x1b[44m%s\x1b[0m", ' INFO ', `${message}\n`)
8+
},
9+
success(message: string) {
10+
console.log("\x1b[42m\x1b[30m%s\x1b[0m", ' DONE ', `${message}\n`)
11+
}
12+
}

docs/.vuepress/lib/types.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import type {NavItemOptions, SidebarLinkOptions} from "vuepress-theme-hope";
2+
3+
export interface EsSidebarGroupOptions extends NavItemOptions {
4+
group?: string;
5+
collapsible?: boolean;
6+
title?: string;
7+
version?: string;
8+
prefix?: string;
9+
link?: string;
10+
children: EsSidebarItemOptions[] | string[];
11+
}
12+
13+
export type EsSidebarItemOptions = SidebarLinkOptions | EsSidebarGroupOptions | string;
14+
export type EsSidebarArrayOptions = EsSidebarItemOptions[];
15+
export type EsSidebarObjectOptions = Record<string, EsSidebarArrayOptions | "structure">;
16+
export type EsSidebarOptions = EsSidebarArrayOptions | EsSidebarObjectOptions;
17+
18+
export type ImportedSidebarArrayOptions = EsSidebarGroupOptions[];

0 commit comments

Comments
 (0)