format: Автоформатирование проекта

This commit is contained in:
2026-06-17 16:16:56 +03:00
parent a8e9582fe6
commit 436e425119
9 changed files with 205 additions and 196 deletions
+3 -3
View File
@@ -1,4 +1,4 @@
title: "Title example" title: 'Title example'
project: project:
org: "example" org: 'example'
repo: "example" repo: 'example'
+4 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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"
} }
+2 -1
View File
@@ -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
View File
@@ -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
View File
@@ -8,5 +8,8 @@
"ignoreDeprecations": "6.0", "ignoreDeprecations": "6.0",
"strict": true "strict": true
}, },
"exclude": [".docusaurus", "build"] "exclude": [
".docusaurus",
"build"
]
} }