format: Автоформатирование проекта
This commit is contained in:
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
title: "Title example"
|
title: 'Title example'
|
||||||
project:
|
project:
|
||||||
org: "example"
|
org: 'example'
|
||||||
repo: "example"
|
repo: 'example'
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ yarn
|
|||||||
yarn start
|
yarn start
|
||||||
```
|
```
|
||||||
|
|
||||||
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
|
This command starts a local development server and opens up a browser window. Most changes are
|
||||||
|
reflected live without having to restart the server.
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
@@ -22,4 +23,5 @@ This command starts a local development server and opens up a browser window. Mo
|
|||||||
yarn build
|
yarn build
|
||||||
```
|
```
|
||||||
|
|
||||||
This command generates static content into the `build` directory and can be served using any static contents hosting service.
|
This command generates static content into the `build` directory and can be served using any static
|
||||||
|
contents hosting service.
|
||||||
|
|||||||
+13
-18
@@ -1,9 +1,9 @@
|
|||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import yaml from 'js-yaml';
|
import yaml from 'js-yaml';
|
||||||
import {themes as prismThemes} from 'prism-react-renderer';
|
import { themes as prismThemes } from 'prism-react-renderer';
|
||||||
import type {Config} from '@docusaurus/types';
|
import type { Config } from '@docusaurus/types';
|
||||||
import type * as Preset from '@docusaurus/preset-classic';
|
import type * as Preset from '@docusaurus/preset-classic';
|
||||||
import type {NavbarItem} from '@docusaurus/theme-common'
|
import type { NavbarItem } from '@docusaurus/theme-common';
|
||||||
|
|
||||||
interface DocsConfig {
|
interface DocsConfig {
|
||||||
title: string;
|
title: string;
|
||||||
@@ -13,24 +13,17 @@ interface DocsConfig {
|
|||||||
|
|
||||||
const docsConfig = yaml.load(fs.readFileSync('./.docuservix.yml', 'utf8')) as DocsConfig;
|
const docsConfig = yaml.load(fs.readFileSync('./.docuservix.yml', 'utf8')) as DocsConfig;
|
||||||
|
|
||||||
const {
|
const { title } = docsConfig;
|
||||||
title,
|
|
||||||
} = docsConfig
|
|
||||||
|
|
||||||
const url = process.env.DOCUSERVIX_URL;
|
const url = process.env.DOCUSERVIX_URL;
|
||||||
|
|
||||||
const {
|
const { org, repo } = docsConfig.project;
|
||||||
org,
|
|
||||||
repo
|
|
||||||
} = docsConfig.project
|
|
||||||
|
|
||||||
const {
|
const { docs: docsDir = 'docs', blog: blogDir } = docsConfig.dirs || {};
|
||||||
docs: docsDir = 'docs',
|
|
||||||
blog: blogDir
|
|
||||||
} = docsConfig.dirs || {}
|
|
||||||
|
|
||||||
const giteaUrl = 'https://git.jt4d.ru';
|
const giteaUrl = 'https://git.jt4d.ru';
|
||||||
const onBrokenLinks = (process.env.DOCUSERVIX_ON_BROKEN_LINKS as Config['onBrokenLinks']) || 'throw';
|
const onBrokenLinks =
|
||||||
|
(process.env.DOCUSERVIX_ON_BROKEN_LINKS as Config['onBrokenLinks']) || 'throw';
|
||||||
|
|
||||||
const config: Config = {
|
const config: Config = {
|
||||||
title,
|
title,
|
||||||
@@ -107,11 +100,13 @@ const config: Config = {
|
|||||||
label: 'Документация',
|
label: 'Документация',
|
||||||
position: 'left',
|
position: 'left',
|
||||||
},
|
},
|
||||||
blogDir ? {
|
blogDir
|
||||||
|
? {
|
||||||
to: '/blog',
|
to: '/blog',
|
||||||
label: 'Блог',
|
label: 'Блог',
|
||||||
position: 'left'
|
position: 'left',
|
||||||
} : undefined,
|
}
|
||||||
|
: undefined,
|
||||||
{
|
{
|
||||||
href: `${giteaUrl}/${org}/${repo}`,
|
href: `${giteaUrl}/${org}/${repo}`,
|
||||||
label: 'Gitea',
|
label: 'Gitea',
|
||||||
|
|||||||
+21
-18
@@ -3,20 +3,35 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docusaurus": "docusaurus",
|
|
||||||
"start": "docusaurus start",
|
|
||||||
"build": "docusaurus build",
|
"build": "docusaurus build",
|
||||||
"swizzle": "docusaurus swizzle",
|
|
||||||
"deploy": "docusaurus deploy",
|
|
||||||
"clear": "docusaurus clear",
|
"clear": "docusaurus clear",
|
||||||
|
"deploy": "docusaurus deploy",
|
||||||
|
"docusaurus": "docusaurus",
|
||||||
|
"prepare": "husky",
|
||||||
|
"prettier:check": "prettier --check \"**/*.{ts,tsx,js,mjs,json,yml,yaml,md,mdx}\"",
|
||||||
|
"prettier:fix": "prettier --write \"**/*.{ts,tsx,js,mjs,json,yml,yaml,md,mdx}\"",
|
||||||
"serve": "docusaurus serve",
|
"serve": "docusaurus serve",
|
||||||
"write-translations": "docusaurus write-translations",
|
"start": "docusaurus start",
|
||||||
|
"swizzle": "docusaurus swizzle",
|
||||||
|
"typecheck": "tsc",
|
||||||
"write-heading-ids": "docusaurus write-heading-ids",
|
"write-heading-ids": "docusaurus write-heading-ids",
|
||||||
"typecheck": "tsc"
|
"write-translations": "docusaurus write-translations"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.{json,ts,tsx,js,jsx,js,mjs,md,mdx,yaml,yml}": "prettier --write"
|
"*.{json,ts,tsx,js,jsx,js,mjs,md,mdx,yaml,yml}": "prettier --write"
|
||||||
},
|
},
|
||||||
|
"browserslist": {
|
||||||
|
"production": [
|
||||||
|
">0.5%",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
|
],
|
||||||
|
"development": [
|
||||||
|
"last 3 chrome version",
|
||||||
|
"last 3 firefox version",
|
||||||
|
"last 5 safari version"
|
||||||
|
]
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "3.10.1",
|
"@docusaurus/core": "3.10.1",
|
||||||
"@docusaurus/faster": "3.10.1",
|
"@docusaurus/faster": "3.10.1",
|
||||||
@@ -40,18 +55,6 @@
|
|||||||
"prettier": "^3.8.4",
|
"prettier": "^3.8.4",
|
||||||
"typescript": "~6.0.2"
|
"typescript": "~6.0.2"
|
||||||
},
|
},
|
||||||
"browserslist": {
|
|
||||||
"production": [
|
|
||||||
">0.5%",
|
|
||||||
"not dead",
|
|
||||||
"not op_mini all"
|
|
||||||
],
|
|
||||||
"development": [
|
|
||||||
"last 3 chrome version",
|
|
||||||
"last 3 firefox version",
|
|
||||||
"last 5 safari version"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0"
|
"node": ">=20.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ function pinIndexToTop() {
|
|||||||
const frontMatter = content.slice(4, endIdx);
|
const frontMatter = content.slice(4, endIdx);
|
||||||
if (/^sidebar_position\s*:/m.test(frontMatter)) return;
|
if (/^sidebar_position\s*:/m.test(frontMatter)) return;
|
||||||
|
|
||||||
content = '---\nsidebar_position: 0\n' + frontMatter + '\n---\n' + content.slice(endIdx + 5);
|
content =
|
||||||
|
'---\nsidebar_position: 0\n' + frontMatter + '\n---\n' + content.slice(endIdx + 5);
|
||||||
} else {
|
} else {
|
||||||
content = '---\nsidebar_position: 0\n---\n' + content;
|
content = '---\nsidebar_position: 0\n---\n' + content;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-6
@@ -1,4 +1,4 @@
|
|||||||
import type {ReactNode} from 'react';
|
import type { ReactNode } from 'react';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import Link from '@docusaurus/Link';
|
import Link from '@docusaurus/Link';
|
||||||
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
||||||
@@ -8,18 +8,22 @@ import Heading from '@theme/Heading';
|
|||||||
import styles from './index.module.css';
|
import styles from './index.module.css';
|
||||||
|
|
||||||
function HomepageHeader() {
|
function HomepageHeader() {
|
||||||
const {siteConfig} = useDocusaurusContext();
|
const { siteConfig } = useDocusaurusContext();
|
||||||
return (
|
return (
|
||||||
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<Heading as="h1" className="hero__title">
|
<Heading
|
||||||
|
as="h1"
|
||||||
|
className="hero__title"
|
||||||
|
>
|
||||||
{siteConfig.title}
|
{siteConfig.title}
|
||||||
</Heading>
|
</Heading>
|
||||||
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
||||||
<div className={styles.buttons}>
|
<div className={styles.buttons}>
|
||||||
<Link
|
<Link
|
||||||
className="button button--secondary button--lg"
|
className="button button--secondary button--lg"
|
||||||
to="/docs">
|
to="/docs"
|
||||||
|
>
|
||||||
Документация
|
Документация
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
@@ -29,11 +33,12 @@ function HomepageHeader() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function Home(): ReactNode {
|
export default function Home(): ReactNode {
|
||||||
const {siteConfig} = useDocusaurusContext();
|
const { siteConfig } = useDocusaurusContext();
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
title={`Hello from ${siteConfig.title}`}
|
title={`Hello from ${siteConfig.title}`}
|
||||||
description="Description will go into a meta tag in <head />">
|
description="Description will go into a meta tag in <head />"
|
||||||
|
>
|
||||||
<HomepageHeader />
|
<HomepageHeader />
|
||||||
</Layout>
|
</Layout>
|
||||||
);
|
);
|
||||||
|
|||||||
+4
-1
@@ -8,5 +8,8 @@
|
|||||||
"ignoreDeprecations": "6.0",
|
"ignoreDeprecations": "6.0",
|
||||||
"strict": true
|
"strict": true
|
||||||
},
|
},
|
||||||
"exclude": [".docusaurus", "build"]
|
"exclude": [
|
||||||
|
".docusaurus",
|
||||||
|
"build"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user