to TypeScript
18
README.md
@ -5,13 +5,13 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern sta
|
|||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
```
|
```
|
||||||
$ npm install
|
$ yarn
|
||||||
```
|
```
|
||||||
|
|
||||||
### Local Development
|
### Local Development
|
||||||
|
|
||||||
```
|
```
|
||||||
$ npm 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.
|
||||||
@ -19,11 +19,23 @@ This command starts a local development server and opens up a browser window. Mo
|
|||||||
### Build
|
### Build
|
||||||
|
|
||||||
```
|
```
|
||||||
$ npm run 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.
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
|
|
||||||
|
Using SSH:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ USE_SSH=true yarn deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
Not using SSH:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ GIT_USER=<Your GitHub username> yarn deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
---
|
---
|
||||||
slug: first-blog-post
|
slug: first-blog-post
|
||||||
title: First Blog Post
|
title: First Blog Post
|
||||||
authors:
|
|
||||||
name: Gao Wei
|
|
||||||
title: Docusaurus Core Team
|
|
||||||
url: https://github.com/wgao19
|
|
||||||
image_url: https://github.com/wgao19.png
|
|
||||||
tags: [hola, docusaurus]
|
tags: [hola, docusaurus]
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
slug: long-blog-post
|
slug: long-blog-post
|
||||||
title: Long Blog Post
|
title: Long Blog Post
|
||||||
authors: endi
|
|
||||||
tags: [hello, docusaurus]
|
tags: [hello, docusaurus]
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
slug: mdx-blog-post
|
slug: mdx-blog-post
|
||||||
title: MDX Blog Post
|
title: MDX Blog Post
|
||||||
authors: [slorber]
|
|
||||||
tags: [docusaurus]
|
tags: [docusaurus]
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -3,15 +3,13 @@ slug: welcome
|
|||||||
title: Welcome
|
title: Welcome
|
||||||
tags: [facebook, hello, docusaurus]
|
tags: [facebook, hello, docusaurus]
|
||||||
---
|
---
|
||||||
|
|
||||||
Simply add Markdown files (or folders) to the `blog` directory.
|
Simply add Markdown files (or folders) to the `blog` directory.
|
||||||

|

|
||||||
|
|
||||||
<!--truncate-->
|
<!--truncate-->
|
||||||
|
|
||||||
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
|
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
|
||||||
|
|
||||||
Simply add Markdown files (or folders) to the `blog` directory.
|
|
||||||
|
|
||||||
Regular blog authors can be added to `authors.yml`.
|
Regular blog authors can be added to `authors.yml`.
|
||||||
|
|
||||||
The blog post date can be extracted from filenames, such as:
|
The blog post date can be extracted from filenames, such as:
|
||||||
@ -21,8 +19,6 @@ The blog post date can be extracted from filenames, such as:
|
|||||||
|
|
||||||
A blog post folder can be convenient to co-locate blog post images:
|
A blog post folder can be convenient to co-locate blog post images:
|
||||||
|
|
||||||
<!--  -->
|
|
||||||
|
|
||||||
The blog supports tags as well!
|
The blog supports tags as well!
|
||||||
|
|
||||||
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
|
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
slug: adguard-dns
|
|
||||||
title: Adguard DNS
|
|
||||||
# authors: [akmalov]
|
|
||||||
tags: [docker, homelab, linux]
|
|
||||||
---
|
|
||||||
|
|
||||||
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
|
|
||||||
|
|
||||||
Simply add Markdown files (or folders) to the `blog` directory.
|
|
||||||
|
|
||||||
<!--truncate-->
|
|
||||||
|
|
||||||
Regular blog authors can be added to `authors.yml`.
|
|
||||||
|
|
||||||
The blog post date can be extracted from filenames, such as:
|
|
||||||
|
|
||||||
- `2019-05-30-welcome.md`
|
|
||||||
- `2019-05-30-welcome/index.md`
|
|
||||||
|
|
||||||
A blog post folder can be convenient to co-locate blog post images:
|
|
||||||
|
|
||||||
|
|
||||||
The blog supports tags as well!
|
|
||||||
|
|
||||||
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
|
|
@ -15,9 +15,3 @@ slorber:
|
|||||||
title: Docusaurus maintainer
|
title: Docusaurus maintainer
|
||||||
url: https://sebastienlorber.com
|
url: https://sebastienlorber.com
|
||||||
image_url: https://github.com/slorber.png
|
image_url: https://github.com/slorber.png
|
||||||
|
|
||||||
akmalov:
|
|
||||||
name: Artur Akmalov
|
|
||||||
title: Docusaurus maintainer
|
|
||||||
url: https://sebastienlorber.com
|
|
||||||
image_url: https://github.com/slorber.png
|
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"label": "k8s",
|
"label": "Tutorial - Basics",
|
||||||
"position": 2,
|
"position": 2,
|
||||||
"link": {
|
"link": {
|
||||||
"type": "generated-index",
|
"type": "generated-index",
|
@ -1,21 +1,20 @@
|
|||||||
|
// @ts-check
|
||||||
|
// Note: type annotations allow type checking and IDEs autocompletion
|
||||||
|
|
||||||
const lightCodeTheme = require('prism-react-renderer/themes/github');
|
const lightCodeTheme = require('prism-react-renderer/themes/github');
|
||||||
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
|
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
|
||||||
|
|
||||||
/** @type {import('@docusaurus/types').Config} */
|
/** @type {import('@docusaurus/types').Config} */
|
||||||
const config = {
|
const config = {
|
||||||
title: 'Artur Akmalov',
|
title: 'Artur Akmalov',
|
||||||
tagline: 'Блог ',
|
tagline: 'Personal Blog',
|
||||||
favicon: 'img/favicon.ico',
|
favicon: 'img/favicon.ico',
|
||||||
url: 'https://dev.akmalov.com',
|
url: 'https://test.akmalov.com',
|
||||||
baseUrl: '/',
|
baseUrl: '/',
|
||||||
|
organizationName: 'akmalovaa',
|
||||||
// GitHub pages deployment config
|
projectName: 'akmalov.com',
|
||||||
organizationName: 'akmalovaa',
|
|
||||||
projectName: 'akmalov.com',
|
|
||||||
|
|
||||||
onBrokenLinks: 'throw',
|
onBrokenLinks: 'throw',
|
||||||
onBrokenMarkdownLinks: 'warn',
|
onBrokenMarkdownLinks: 'warn',
|
||||||
|
|
||||||
i18n: {
|
i18n: {
|
||||||
defaultLocale: 'ru',
|
defaultLocale: 'ru',
|
||||||
locales: ['ru'],
|
locales: ['ru'],
|
||||||
@ -29,7 +28,7 @@ const config = {
|
|||||||
docs: {
|
docs: {
|
||||||
sidebarPath: require.resolve('./sidebars.js'),
|
sidebarPath: require.resolve('./sidebars.js'),
|
||||||
editUrl:
|
editUrl:
|
||||||
'https://github.com/akmalovaa/akmalov.com/tree/main/docs',
|
'https://github.com/akmalovaa/akmalov.com/tree/main/',
|
||||||
},
|
},
|
||||||
blog: {
|
blog: {
|
||||||
showReadingTime: true,
|
showReadingTime: true,
|
||||||
@ -40,12 +39,6 @@ const config = {
|
|||||||
theme: {
|
theme: {
|
||||||
customCss: require.resolve('./src/css/custom.css'),
|
customCss: require.resolve('./src/css/custom.css'),
|
||||||
},
|
},
|
||||||
sitemap: {
|
|
||||||
changefreq: 'weekly',
|
|
||||||
priority: 0.5,
|
|
||||||
ignorePatterns: ['/tags/**'],
|
|
||||||
filename: 'sitemap.xml',
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
@ -56,8 +49,6 @@ const config = {
|
|||||||
image: 'img/logo.svg',
|
image: 'img/logo.svg',
|
||||||
navbar: {
|
navbar: {
|
||||||
title: 'Akmalov Artur',
|
title: 'Akmalov Artur',
|
||||||
// style: 'primary',
|
|
||||||
// hideOnScroll: true,
|
|
||||||
logo: {
|
logo: {
|
||||||
alt: 'Akmalov Artur',
|
alt: 'Akmalov Artur',
|
||||||
src: 'img/logo.svg',
|
src: 'img/logo.svg',
|
||||||
@ -71,6 +62,12 @@ const config = {
|
|||||||
label: 'Docs',
|
label: 'Docs',
|
||||||
},
|
},
|
||||||
{ to: "/about", label: "About", position: "right" },
|
{ to: "/about", label: "About", position: "right" },
|
||||||
|
{
|
||||||
|
href: "https://github.com/akmalovaa",
|
||||||
|
position: "right",
|
||||||
|
className: "header-github-link",
|
||||||
|
"aria-label": "GitHub",
|
||||||
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
@ -81,22 +78,29 @@ const config = {
|
|||||||
theme: lightCodeTheme,
|
theme: lightCodeTheme,
|
||||||
darkTheme: darkCodeTheme,
|
darkTheme: darkCodeTheme,
|
||||||
},
|
},
|
||||||
sidebar: {
|
// sidebar: {
|
||||||
hideable: false,
|
// hideable: false,
|
||||||
},
|
// },
|
||||||
algolia: {
|
// algolia: {
|
||||||
appId: 'TX89NNWRFT',
|
// appId: 'TX89NNWRFT',
|
||||||
apiKey: '504e88ecd6f2adbeb56f34a358dd0cba',
|
// apiKey: '504e88ecd6f2adbeb56f34a358dd0cba',
|
||||||
indexName: 'akmalov.com',
|
// indexName: 'akmalov.com',
|
||||||
contextualSearch: true,
|
// contextualSearch: true,
|
||||||
placeholder: "Search...",
|
// placeholder: "Search...",
|
||||||
},
|
// },
|
||||||
colorMode: {
|
colorMode: {
|
||||||
defaultMode: 'light',
|
defaultMode: 'dark',
|
||||||
disableSwitch: true,
|
disableSwitch: true,
|
||||||
respectPrefersColorScheme: false,
|
respectPrefersColorScheme: true,
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
plugins: [
|
||||||
|
[
|
||||||
|
'docusaurus-plugin-sass',
|
||||||
|
/** @type {import('docusaurus-plugin-sass').Options} */
|
||||||
|
{}
|
||||||
|
],
|
||||||
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = config;
|
||||||
|
2859
package-lock.json
generated
32
package.json
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "my-website",
|
"name": "doc-ts",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -11,20 +11,39 @@
|
|||||||
"clear": "docusaurus clear",
|
"clear": "docusaurus clear",
|
||||||
"serve": "docusaurus serve",
|
"serve": "docusaurus serve",
|
||||||
"write-translations": "docusaurus write-translations",
|
"write-translations": "docusaurus write-translations",
|
||||||
"write-heading-ids": "docusaurus write-heading-ids"
|
"write-heading-ids": "docusaurus write-heading-ids",
|
||||||
|
"typecheck": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "2.4.1",
|
"@docusaurus/core": "2.4.1",
|
||||||
"@docusaurus/plugin-content-blog": "^2.4.1",
|
|
||||||
"@docusaurus/preset-classic": "2.4.1",
|
"@docusaurus/preset-classic": "2.4.1",
|
||||||
|
"@icons-pack/react-simple-icons": "5.11.0",
|
||||||
|
"@mdi/js": "^7.2.96",
|
||||||
|
"@mdi/react": "^1.6.1",
|
||||||
"@mdx-js/react": "^1.6.22",
|
"@mdx-js/react": "^1.6.22",
|
||||||
|
"@svgr/webpack": "8.0.1",
|
||||||
"clsx": "^1.2.1",
|
"clsx": "^1.2.1",
|
||||||
|
"docusaurus-plugin-sass": "^0.2.3",
|
||||||
|
"file-loader": "6.2.0",
|
||||||
"prism-react-renderer": "^1.3.5",
|
"prism-react-renderer": "^1.3.5",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2"
|
"react-dom": "^17.0.2",
|
||||||
|
"react-simple-icons": "^1.0.0-beta.5",
|
||||||
|
"sass": "^1.62.1",
|
||||||
|
"swiper": "9.3.1",
|
||||||
|
"url-loader": "4.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@docusaurus/module-type-aliases": "2.4.1"
|
"@docusaurus/module-type-aliases": "2.4.1",
|
||||||
|
"@tsconfig/docusaurus": "^1.0.5",
|
||||||
|
"@types/react": "^18.2.6",
|
||||||
|
"@types/react-dom": "^18.2.4",
|
||||||
|
"@types/react-helmet": "6.1.6",
|
||||||
|
"@types/react-router-dom": "5.3.3",
|
||||||
|
"@typescript-eslint/eslint-plugin": "5.59.5",
|
||||||
|
"@typescript-eslint/parser": "5.59.5",
|
||||||
|
"typescript": "5.0.4",
|
||||||
|
"typescript-plugin-css-modules": "5.0.1"
|
||||||
},
|
},
|
||||||
"browserslist": {
|
"browserslist": {
|
||||||
"production": [
|
"production": [
|
||||||
@ -40,5 +59,8 @@
|
|||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16.14"
|
"node": ">=16.14"
|
||||||
|
},
|
||||||
|
"alias": {
|
||||||
|
"react/jsx-runtime": "react/jsx-runtime.js"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
sidebars.js
@ -17,15 +17,17 @@ const sidebars = {
|
|||||||
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
|
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
|
||||||
|
|
||||||
// But you can create a sidebar manually
|
// But you can create a sidebar manually
|
||||||
// tutorialSidebar: [
|
/*
|
||||||
// 'intro',
|
tutorialSidebar: [
|
||||||
// 'hello',
|
'intro',
|
||||||
// {
|
'hello',
|
||||||
// type: 'category',
|
{
|
||||||
// label: 'Tutorial',
|
type: 'category',
|
||||||
// items: ['tutorial-basics/create-a-document'],
|
label: 'Tutorial',
|
||||||
// },
|
items: ['tutorial-basics/create-a-document'],
|
||||||
// ],
|
},
|
||||||
|
],
|
||||||
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = sidebars;
|
module.exports = sidebars;
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import styles from '../pages/index.module.css';
|
|
||||||
|
|
||||||
|
|
||||||
export default function HeroTest({ Svg, title, description }) {
|
|
||||||
return (
|
|
||||||
<section className={clsx('hero hero--primary')} >
|
|
||||||
<div className="container">
|
|
||||||
<div className="hero--primary">
|
|
||||||
<div className="container">
|
|
||||||
<h1 className="hero__subtitle2"> О сайте </h1>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="alert alert--secondary" role="alert">
|
|
||||||
<button aria-label="Close" class="clean-btn close" type="button">
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
This is a <strong>secondary</strong> alert. It's not too important, you may ignore it.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
// // <div class="hero shadow--lw">
|
|
||||||
// <div class="container">
|
|
||||||
// <h1 class="hero__title">Hero Title</h1>
|
|
||||||
// <p class="hero__subtitle">Not all heroes wear capes</p>
|
|
||||||
// <div>
|
|
||||||
// <button class="button button--secondary button--outline button--lg">
|
|
||||||
// Get Started
|
|
||||||
// </button>
|
|
||||||
// </div>
|
|
||||||
// </div>
|
|
||||||
// // </div>
|
|
||||||
// ---
|
|
||||||
// <div className="container, styles.heroBanner">
|
|
||||||
// <h1 className="hero__title"> Tilte </h1>
|
|
||||||
// <p className="hero__subtitle"> 232 </p>
|
|
||||||
// </div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -2,7 +2,13 @@ import React from 'react';
|
|||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import styles from './styles.module.css';
|
import styles from './styles.module.css';
|
||||||
|
|
||||||
const FeatureList = [
|
type FeatureItem = {
|
||||||
|
title: string;
|
||||||
|
Svg: React.ComponentType<React.ComponentProps<'svg'>>;
|
||||||
|
description: JSX.Element;
|
||||||
|
};
|
||||||
|
|
||||||
|
const FeatureList: FeatureItem[] = [
|
||||||
{
|
{
|
||||||
title: 'Easy to Use',
|
title: 'Easy to Use',
|
||||||
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
|
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
|
||||||
@ -35,7 +41,7 @@ const FeatureList = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
function Feature({Svg, title, description}) {
|
function Feature({title, Svg, description}: FeatureItem) {
|
||||||
return (
|
return (
|
||||||
<div className={clsx('col col--4')}>
|
<div className={clsx('col col--4')}>
|
||||||
<div className="text--center">
|
<div className="text--center">
|
||||||
@ -49,7 +55,7 @@ function Feature({Svg, title, description}) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function HomepageFeatures() {
|
export default function HomepageFeatures(): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<section className={styles.features}>
|
<section className={styles.features}>
|
||||||
<div className="container">
|
<div className="container">
|
@ -1,58 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
|
|
||||||
const FeatureList = [
|
|
||||||
{
|
|
||||||
title: 'Linux',
|
|
||||||
Svg: require('@site/static/img/topics/linux.svg').default,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Python',
|
|
||||||
Svg: require('@site/static/img/topics/python.svg').default,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'DevOps',
|
|
||||||
Svg: require('@site/static/img/topics/devops.svg').default,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Network',
|
|
||||||
Svg: require('@site/static/img/topics/network.svg').default,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
function Feature({ Svg, title, description }) {
|
|
||||||
return (
|
|
||||||
<div className={clsx('col col--3')}>
|
|
||||||
<div className="text--center">
|
|
||||||
<Svg className={styles.featureSvg} role="img" />
|
|
||||||
</div>
|
|
||||||
<div className="text--center padding-horiz--md">
|
|
||||||
<h3>{title}</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function HomepageTopics() {
|
|
||||||
return (
|
|
||||||
<div className="hero--primary">
|
|
||||||
<div className="features_src-components-HomepageFeatures-styles-module">
|
|
||||||
<div className="container">
|
|
||||||
{/* <h2 className="hero__subtitle2"> Темы записей </h2> */}
|
|
||||||
<h2 className="hero__subtitle2 text--center">Основные темы записей</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<section className={styles.features}>
|
|
||||||
|
|
||||||
<div className="container">
|
|
||||||
<div className="row">
|
|
||||||
{FeatureList.map((props, idx) => (
|
|
||||||
<Feature key={idx} {...props} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
.features {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
padding: 4rem 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.featureSvg {
|
|
||||||
height: 100px;
|
|
||||||
width: 100px;
|
|
||||||
}
|
|
34
src/components/home/AboutSite.tsx
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import clsx from "clsx";
|
||||||
|
import styles from './Styles.module.scss';
|
||||||
|
|
||||||
|
const consept = [
|
||||||
|
'Скорость (загрузка страниц не более 1 сек)',
|
||||||
|
'Надежность (минимальные требования к серверу, IaC в репозитории, легко устанавливать и переносить)',
|
||||||
|
'Простота (без лишних скриптов, рекламы и т.п.)',
|
||||||
|
'Отсутствие базы данных (упростит хранение и обслуживание)',
|
||||||
|
'Редактор Markdown (Записи в формате \'.md\', \'.mdx\')',
|
||||||
|
'Адаптивная верстка (автоматическая подстройка под мобильные устройства)',
|
||||||
|
'Без погружения в web-разработку (html, css и js)',
|
||||||
|
'Автоматическое заполнение минимальных SEO полей',
|
||||||
|
]
|
||||||
|
|
||||||
|
export default function AboutSite() {
|
||||||
|
return (
|
||||||
|
<header className={clsx('hero hero--primary')} >
|
||||||
|
<div className="container">
|
||||||
|
<h3> Концепция сайта </h3>
|
||||||
|
<ul className={styles.list}>
|
||||||
|
{consept.map((use, index) => (
|
||||||
|
<li key={index} className={styles.listItem}>
|
||||||
|
{use}
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
{/* <div class="alert alert--secondary margin-top--lg" role="alert">
|
||||||
|
Цель - сделать <strong>быстрый</strong>, <strong>простой</strong> и <strong>надежный</strong> сайт для своих заметок.
|
||||||
|
</div> */}
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
);
|
||||||
|
};
|
33
src/components/home/HomeHero.tsx
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import clsx from "clsx";
|
||||||
|
import styles from './Styles.module.scss';
|
||||||
|
import Link from '@docusaurus/Link';
|
||||||
|
|
||||||
|
|
||||||
|
export default function HomeHeader() {
|
||||||
|
return (
|
||||||
|
<header className={clsx('hero hero--primary')} >
|
||||||
|
<div className="container">
|
||||||
|
<div className="margin-top--lg">
|
||||||
|
<div className="row">
|
||||||
|
<div className="col col--6">
|
||||||
|
<h1>Добро пожаловать</h1>
|
||||||
|
<h2> Назначение сайта</h2>
|
||||||
|
<p> Личный блог для хранения полезной информации, заметок, часто используемых команд, возможно некоторая информация может оказаться полезной или интересной и другим людям. Кроме этого постараюсь размещать инструкции, полезные программы, обзоры и другие записи по IT теме</p>
|
||||||
|
</div>
|
||||||
|
<div className={clsx("col col--5", styles.avatarContainer)}>
|
||||||
|
<div className={styles.avatar}>
|
||||||
|
<img
|
||||||
|
alt="hero logo"
|
||||||
|
// className={styles.avatar}
|
||||||
|
src="/img/hero.png"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
);
|
||||||
|
};
|
19
src/components/home/LandingSection.module.scss
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/* stylelint-disable docusaurus/copyright-header */
|
||||||
|
|
||||||
|
.landing-section {
|
||||||
|
padding: 12pt 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.landing-section:first-child {
|
||||||
|
}
|
||||||
|
|
||||||
|
.landing-section:nth-child(even) {
|
||||||
|
background-color: #1b1b1d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.landing-section:last-child {
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
width: 6em;
|
||||||
|
}
|
62
src/components/home/Styles.module.scss
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
.client-icon {
|
||||||
|
display: block;
|
||||||
|
max-width: 14rem;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.client-icon > svg {
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttons {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: 40px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatarContainer {
|
||||||
|
margin-left: 2rem;
|
||||||
|
|
||||||
|
@media screen and (max-width: 996px) {
|
||||||
|
.avatarContainer {
|
||||||
|
margin: 2rem 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$avatar-size: 500px;
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
display: block;
|
||||||
|
max-width: $avatar-size;
|
||||||
|
max-height: $avatar-size;
|
||||||
|
}
|
||||||
|
// img,
|
||||||
|
// &>div {
|
||||||
|
// border-radius: 999px;
|
||||||
|
// max-height: $avatar-size;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @include small-size {
|
||||||
|
// margin: 0 auto;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
.list {
|
||||||
|
list-style-type: disclosure-closed;
|
||||||
|
margin: 0 0 2rem 0;
|
||||||
|
// padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem {
|
||||||
|
color: #000000;
|
||||||
|
font-size: var(--font-size-normal);
|
||||||
|
}
|
88
src/components/home/TopicsSection.tsx
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
import Link from '@docusaurus/Link';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
import React from 'react';
|
||||||
|
import {
|
||||||
|
Docker, Linux, Python, Kubernetes, Googlecolab, Googlehome
|
||||||
|
} from '@icons-pack/react-simple-icons';
|
||||||
|
import Icon from '@mdi/react';
|
||||||
|
import { mdiAccessPointNetwork } from '@mdi/js';
|
||||||
|
|
||||||
|
import styles from './Styles.module.scss';
|
||||||
|
import landingSectionStyles from './LandingSection.module.scss';
|
||||||
|
|
||||||
|
|
||||||
|
export default function ClientSection() {
|
||||||
|
return (
|
||||||
|
<section className={clsx(landingSectionStyles['landing-section'])}>
|
||||||
|
<div className='container text--center'>
|
||||||
|
<div className='row row--center'>
|
||||||
|
<div className='col margin-top--lg'>
|
||||||
|
<h2>Основные темы</h2>
|
||||||
|
<p>
|
||||||
|
Записи в блоге по тэгам
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='row row--center'>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Linux'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Linux color='#ffffff' size={48} />
|
||||||
|
<div className='margin-top--sm'>Linux</div>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Python'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Python color='#ffffff' size={48} />
|
||||||
|
<div className='margin-top--sm'>Python</div>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Python'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Googlecolab color='#ffffff' size={48} />
|
||||||
|
<div className='margin-top--sm'>DevOps</div>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Python'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Kubernetes color='#ffffff' size={48} />
|
||||||
|
<div className='margin-top--sm'>Kuberneters</div>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Python'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Docker color='#ffffff' size={48} />
|
||||||
|
<div className='margin-top--sm'>Docker</div>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Python'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Googlehome color='#ffffff' size={48} />
|
||||||
|
<div className='margin-top--sm'>Homelab</div>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to='/blog/tags/Networks'
|
||||||
|
className={clsx('col', 'fill--white', styles['client-icon'], 'margin-top--md')}
|
||||||
|
>
|
||||||
|
<Icon path={mdiAccessPointNetwork} size='48px' className='fill-white' />
|
||||||
|
<div className='margin-top--sm'>Networks</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className={styles.buttons}>
|
||||||
|
<Link
|
||||||
|
className="button button--secondary button--lg"
|
||||||
|
to="/blog">
|
||||||
|
Все записи
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
}
|
@ -6,116 +6,51 @@
|
|||||||
|
|
||||||
/* You can override the default Infima variables here. */
|
/* You can override the default Infima variables here. */
|
||||||
:root {
|
:root {
|
||||||
--ifm-color-primary: #000000;
|
--ifm-color-primary: #242526;;
|
||||||
--ifm-color-primary-dark: #000000;
|
--ifm-color-primary-dark: #29784c;
|
||||||
--ifm-color-primary-darker: #000000;
|
--ifm-color-primary-darker: #277148;
|
||||||
--ifm-color-primary-darkest: #000000;
|
--ifm-color-primary-darkest: #205d3b;
|
||||||
--ifm-color-primary-light: #000000;
|
--ifm-color-primary-light: #33925d;
|
||||||
--ifm-color-primary-lighter: #000000;
|
--ifm-color-primary-lighter: #359962;
|
||||||
--ifm-color-primary-lightest: #000000;
|
--ifm-color-primary-lightest: #3cad6e;
|
||||||
--ifm-code-font-size: 95%;
|
--ifm-code-font-size: 95%;
|
||||||
--ifm-footer-padding-vertical: 20px;
|
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme="dark"] {
|
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||||
--ifm-color-primary: #ffffff;
|
[data-theme='dark'] {
|
||||||
--ifm-color-primary-dark: #e6e6e6;
|
--ifm-color-primary: #efefeffd;
|
||||||
--ifm-color-primary-darker: #d9d9d9;
|
--ifm-color-primary-dark: #21af90;
|
||||||
--ifm-color-primary-darkest: #b3b3b3;
|
--ifm-color-primary-darker: #1fa588;
|
||||||
--ifm-color-primary-light: #ffffff;
|
--ifm-color-primary-darkest: #1a8870;
|
||||||
--ifm-color-primary-lighter: #ffffff;
|
--ifm-color-primary-light: #29d5b0;
|
||||||
--ifm-color-primary-lightest: #ffffff;
|
--ifm-color-primary-lighter: #32d8b4;
|
||||||
|
--ifm-color-primary-lightest: #4fddbf;
|
||||||
|
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
#post-content a:not(.button),
|
.footer {
|
||||||
.markdown a:not(.button) {
|
--ifm-footer-background-color: #242526;
|
||||||
text-decoration: underline;
|
--ifm-footer-color: var(--ifm-footer-link-color);
|
||||||
|
--ifm-footer-link-color: var(--ifm-color-secondary);
|
||||||
|
--ifm-footer-title-color: var(--ifm-color-white);
|
||||||
}
|
}
|
||||||
|
|
||||||
article h1 {
|
/* h2 {
|
||||||
font-size: 2.25rem !important;
|
font-family: "Inter", sans-serif;
|
||||||
}
|
font-weight: 700;
|
||||||
|
font-size: 1em;
|
||||||
article h2 {
|
|
||||||
font-size: 2rem !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar__link--active,
|
|
||||||
.navbar__link--active:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
text-decoration-thickness: 3px;
|
|
||||||
text-underline-offset: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-of-contents__link--active {
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.header-github-link:hover {
|
||||||
|
opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.margin-horiz--auto {
|
.header-github-link::before {
|
||||||
margin-left: auto;
|
content: '';
|
||||||
margin-right: auto;
|
width: 24px;
|
||||||
}
|
height: 24px;
|
||||||
|
|
||||||
.w-full {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* https://docusaurus.io/docs/markdown-features/code-blocks#line-highlighting */
|
|
||||||
.docusaurus-highlight-code-line {
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
display: block;
|
|
||||||
margin: 0 calc(-1 * var(--ifm-pre-padding));
|
|
||||||
padding: 0 var(--ifm-pre-padding);
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] .docusaurus-highlight-code-line {
|
|
||||||
background-color: rgba(0, 0, 0, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
font-weight: var(----ifm-font-weight-semibold);
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-field input,
|
|
||||||
.form-field textarea {
|
|
||||||
background-color: var(--ifm-color-emphasis-300);
|
|
||||||
border: 2px solid var(--ifm-color-emphasis-400);
|
|
||||||
border-radius: 6px;
|
|
||||||
font-family: inherit;
|
|
||||||
font-size: 1rem;
|
|
||||||
outline: none;
|
|
||||||
padding: 1rem;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
input:focus,
|
|
||||||
textarea:focus {
|
|
||||||
border-color: var(--ifm-color-emphasis-600);
|
|
||||||
}
|
|
||||||
|
|
||||||
::placeholder {
|
|
||||||
color: var(--ifm-color-emphasis-800);
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
::-ms-input-placeholder {
|
|
||||||
color: var(--ifm-color-emphasis-800);
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] .DocSearch-Hit[aria-selected="true"] a {
|
|
||||||
background-color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar__inner {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
background: url("/img/github.svg") 0 center / 25px 25px no-repeat;
|
||||||
justify-content: space-between;
|
}
|
||||||
width: 100%;
|
|
||||||
/* max-width: var(--ifm-container-width); */
|
|
||||||
/* max-width: 1280px;
|
|
||||||
margin: 0 auto; */
|
|
||||||
}
|
|
||||||
|
|
||||||
.hero__subtitle2 {
|
|
||||||
font-size: 2.5rem;
|
|
||||||
}
|
|
@ -1,59 +0,0 @@
|
|||||||
/**
|
|
||||||
* Any CSS included here will be global. The classic template
|
|
||||||
* bundles Infima by default. Infima is a CSS framework designed to
|
|
||||||
* work well for content-centric websites.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* You can override the default Infima variables here. */
|
|
||||||
:root {
|
|
||||||
--ifm-color-primary: #2e8555;
|
|
||||||
--ifm-color-primary-dark: #29784c;
|
|
||||||
--ifm-color-primary-darker: #277148;
|
|
||||||
--ifm-color-primary-darkest: #205d3b;
|
|
||||||
--ifm-color-primary-light: #33925d;
|
|
||||||
--ifm-color-primary-lighter: #359962;
|
|
||||||
--ifm-color-primary-lightest: #3cad6e;
|
|
||||||
--ifm-code-font-size: 95%;
|
|
||||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
|
||||||
[data-theme='dark'] {
|
|
||||||
--ifm-color-primary: #25c2a0;
|
|
||||||
--ifm-color-primary-dark: #21af90;
|
|
||||||
--ifm-color-primary-darker: #1fa588;
|
|
||||||
--ifm-color-primary-darkest: #1a8870;
|
|
||||||
--ifm-color-primary-light: #29d5b0;
|
|
||||||
--ifm-color-primary-lighter: #32d8b4;
|
|
||||||
--ifm-color-primary-lightest: #4fddbf;
|
|
||||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .navbar { */
|
|
||||||
/* border-bottom: 1px solid var(--ifm-color-emphasis-200); */
|
|
||||||
/* margin: 0 auto; */
|
|
||||||
/* width: 100%; */
|
|
||||||
/* max-width: var(--ifm-container-width); */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/**
|
|
||||||
#212529
|
|
||||||
.navbar {
|
|
||||||
background-color: var(--ifm-navbar-background-color);
|
|
||||||
box-shadow: var(--ifm-navbar-shadow);
|
|
||||||
display: flex;
|
|
||||||
height: var(--ifm-navbar-height);
|
|
||||||
padding: var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal);
|
|
||||||
margin: 0 auto;
|
|
||||||
width: 100%;
|
|
||||||
max-width: var(--ifm-container-width);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.navbar__items {
|
|
||||||
align-items: center;
|
|
||||||
display: flex;
|
|
||||||
flex: 1;
|
|
||||||
max-width: var(--ifm-container-width);
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
---
|
|
||||||
title: About Me
|
|
||||||
---
|
|
||||||
|
|
||||||
# About Me
|
|
||||||
|
|
||||||
Тут о себе написать надо что то
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <div className="container margin-top--lg">
|
|
||||||
<div className="row">
|
|
||||||
<div className="col col--3 col--offset-3">
|
|
||||||
<a href="https://stripecertifications.credential.net/1dea0bc8-fad5-4712-a193-d414ad95bbb5" target="_blank">
|
|
||||||
<img src="/img/stripe-certification-professional-developer.png" alt="Stripe Certified Professional Developer" height="167" width="150" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div className="col col--3">
|
|
||||||
<a href="https://stripecertifications.credential.net/d1c8a153-86cb-456f-9c74-23e73702b254" target="_blank">
|
|
||||||
<img src="/img/stripe-certification-professional-architect.png" alt="Stripe Certified Professional Implementation Architect" height="167" width="150" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
28
src/pages/about.mdx
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
title: About
|
||||||
|
hide_table_of_contents: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# About
|
||||||
|
|
||||||
|
Тут о себе текст
|
||||||
|
|
||||||
|
export const Highlight = ({children, color}) => (
|
||||||
|
<span
|
||||||
|
style={{
|
||||||
|
backgroundColor: color,
|
||||||
|
borderRadius: '2px',
|
||||||
|
color: '#fff',
|
||||||
|
padding: '0.2rem',
|
||||||
|
}}>
|
||||||
|
{children}
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
|
||||||
|
<Highlight color="#25c2a0">Docusaurus green</Highlight> and <Highlight color="#1877F2">Facebook blue</Highlight> are my favorite colors.
|
||||||
|
|
||||||
|
I can write **Markdown** alongside my _JSX_!
|
||||||
|
|
||||||
|
:::note
|
||||||
|
|
||||||
|
Some **content** with _Markdown_ `syntax`. Check [this `api`](#).
|
@ -3,9 +3,9 @@ import clsx from 'clsx';
|
|||||||
import Link from '@docusaurus/Link';
|
import Link from '@docusaurus/Link';
|
||||||
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
||||||
import Layout from '@theme/Layout';
|
import Layout from '@theme/Layout';
|
||||||
import HomepageFeatures from '@site/src/components/HomepageFeatures';
|
import TopicsSection from '../components/home/TopicsSection';
|
||||||
import HomepageTopics from '@site/src/components/HomepageTopics';
|
import HomeHeader from "../components/home/HomeHero";
|
||||||
import HeroTest from '@site/src/components/HeroTest';
|
import AboutSite from "../components/home/AboutSite";
|
||||||
|
|
||||||
import styles from './index.module.css';
|
import styles from './index.module.css';
|
||||||
|
|
||||||
@ -15,32 +15,33 @@ function HomepageHeader() {
|
|||||||
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<h1 className="hero__title">{siteConfig.title}</h1>
|
<h1 className="hero__title">{siteConfig.title}</h1>
|
||||||
{/* <h2 className="hero__title"> Добро пожаловать на мой сайт </h2> */}
|
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
||||||
<p className="hero__subtitle">Персональный сайт для хранения полезной информации и заметок</p>
|
{/* <div className={styles.buttons}>
|
||||||
<div className={styles.buttons}>
|
|
||||||
<Link
|
<Link
|
||||||
className="button button--secondary button--lg"
|
className="button button--secondary button--lg"
|
||||||
to="/blog">
|
to="/docs/intro">
|
||||||
Перейти к записям
|
Docusaurus Tutorial - 5min ⏱️
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div> */}
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home(): JSX.Element {
|
||||||
const {siteConfig} = useDocusaurusContext();
|
const {siteConfig} = useDocusaurusContext();
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
title={`Personal blog ${siteConfig.title}`}
|
title={`Personal Blog ${siteConfig.title}`}
|
||||||
description="Description will go into a meta tag in <head />">
|
description="Description will go into a meta tag in <head />">
|
||||||
<HomepageHeader />
|
{/* <HomepageHeader /> */}
|
||||||
<main>
|
<HomeHeader />
|
||||||
|
{/* <main> */}
|
||||||
{/* <HomepageFeatures /> */}
|
{/* <HomepageFeatures /> */}
|
||||||
<HomepageTopics />
|
|
||||||
</main>
|
{/* </main> */}
|
||||||
<HeroTest />
|
<TopicsSection />
|
||||||
|
<AboutSite />
|
||||||
</Layout>
|
</Layout>
|
||||||
);
|
);
|
||||||
}
|
}
|
7
src/pages/markdown-page.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
title: Markdown page example
|
||||||
|
---
|
||||||
|
|
||||||
|
# Markdown page example
|
||||||
|
|
||||||
|
You don't need React to write simple standalone pages.
|
7
static/img/github.svg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools -->
|
||||||
|
<svg width="800px" height="800px" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g id="SVGRepo_bgCarrier" stroke-width="0"/>
|
||||||
|
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<g id="SVGRepo_iconCarrier"> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.49936 0.850006C3.82767 0.850006 0.849976 3.8273 0.849976 7.50023C0.849976 10.4379 2.75523 12.9306 5.39775 13.8104C5.73047 13.8712 5.85171 13.6658 5.85171 13.4895C5.85171 13.3315 5.846 12.9135 5.84273 12.3587C3.99301 12.7604 3.60273 11.4671 3.60273 11.4671C3.30022 10.6988 2.86423 10.4942 2.86423 10.4942C2.26044 10.0819 2.90995 10.0901 2.90995 10.0901C3.57742 10.137 3.9285 10.7755 3.9285 10.7755C4.52167 11.7916 5.48512 11.4981 5.86396 11.3279C5.92438 10.8984 6.09625 10.6053 6.28608 10.4391C4.80948 10.2709 3.25695 9.70063 3.25695 7.15241C3.25695 6.42615 3.51618 5.83298 3.94157 5.368C3.87299 5.1998 3.64478 4.52375 4.00689 3.60807C4.00689 3.60807 4.56494 3.42926 5.83538 4.28941C6.36568 4.14204 6.93477 4.06856 7.50018 4.0657C8.06518 4.06856 8.63386 4.14204 9.16498 4.28941C10.4346 3.42926 10.9918 3.60807 10.9918 3.60807C11.3548 4.52375 11.1266 5.1998 11.0584 5.368C11.4846 5.83298 11.7418 6.42615 11.7418 7.15241C11.7418 9.70716 10.1868 10.2693 8.70571 10.4338C8.94412 10.6392 9.15681 11.045 9.15681 11.6655C9.15681 12.5542 9.14865 13.2715 9.14865 13.4895C9.14865 13.6675 9.26867 13.8745 9.60588 13.8095C12.2464 12.9282 14.15 10.4375 14.15 7.50023C14.15 3.8273 11.1723 0.850006 7.49936 0.850006Z" fill="#ffffff"/> </g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/img/hero.png
Normal file
After Width: | Height: | Size: 758 KiB |
@ -1,31 +1,11 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" preserveAspectRatio="xMidYMid meet">
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
||||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
|
|
||||||
preserveAspectRatio="xMidYMid meet">
|
|
||||||
|
|
||||||
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
|
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" fill="#ffffff" stroke="none">
|
||||||
fill="#000000" stroke="none">
|
<path d="M1180 4286 c-168 -48 -301 -183 -345 -351 -13 -52 -15 -226 -15 -1375 0 -1449 -3 -1370 62 -1492 37 -70 135 -165 204 -198 110 -52 54 -50 1474 -50 857 0 1340 4 1369 11 119 27 251 129 309 237 65 122 62 43 62 1492 0 1449 3 1370 -62 1492 -58 108 -190 210 -309 237 -70 16 -2691 13 -2749 -3z m2768 -230 c62 -35 107 -91 127 -160 22 -74 22 -2598 0 -2672 -20 -69 -65 -125 -127 -160 l-53 -29 -1335 0 -1335 0 -53 29 c-62 35 -107 91 -127 160 -22 73 -22 2598 -1 2670 28 91 84 150 175 182 29 11 294 13 1356 11 l1320 -2 53 -29z"/>
|
||||||
<path d="M1180 4286 c-168 -48 -301 -183 -345 -351 -13 -52 -15 -226 -15
|
<path d="M1401 3766 c-31 -17 -50 -53 -51 -94 0 -49 54 -102 105 -102 50 0 105 53 105 100 0 84 -86 136 -159 96z"/>
|
||||||
-1375 0 -1449 -3 -1370 62 -1492 37 -70 135 -165 204 -198 110 -52 54 -50
|
<path d="M1719 3751 c-23 -24 -29 -38 -29 -74 0 -107 128 -145 188 -57 69 102 -72 218 -159 131z"/>
|
||||||
1474 -50 857 0 1340 4 1369 11 119 27 251 129 309 237 65 122 62 43 62 1492 0
|
<path d="M2060 3753 c-42 -39 -49 -87 -18 -133 60 -88 188 -50 188 57 0 93 -101 138 -170 76z"/>
|
||||||
1449 3 1370 -62 1492 -58 108 -190 210 -309 237 -70 16 -2691 13 -2749 -3z
|
<path d="M1330 3028 c-27 -22 -50 -62 -50 -86 0 -49 29 -81 123 -135 50 -30 138 -81 195 -114 l103 -60 -197 -114 c-199 -115 -224 -137 -224 -191 0 -65 76 -120 136 -98 66 25 557 316 581 344 20 25 24 37 20 70 -3 22 -15 48 -29 61 -13 13 -142 92 -288 176 -213 122 -274 153 -310 156 -27 2 -51 -1 -60 -9z"/>
|
||||||
m2768 -230 c62 -35 107 -91 127 -160 22 -74 22 -2598 0 -2672 -20 -69 -65
|
<path d="M2033 2208 c-57 -28 -67 -122 -17 -169 l26 -24 263 0 263 0 26 24 c51 48 40 142 -20 170 -33 14 -510 14 -541 -1z"/>
|
||||||
-125 -127 -160 l-53 -29 -1335 0 -1335 0 -53 29 c-62 35 -107 91 -127 160 -22
|
|
||||||
73 -22 2598 -1 2670 28 91 84 150 175 182 29 11 294 13 1356 11 l1320 -2 53
|
|
||||||
-29z"/>
|
|
||||||
<path d="M1401 3766 c-31 -17 -50 -53 -51 -94 0 -49 54 -102 105 -102 50 0
|
|
||||||
105 53 105 100 0 84 -86 136 -159 96z"/>
|
|
||||||
<path d="M1719 3751 c-23 -24 -29 -38 -29 -74 0 -107 128 -145 188 -57 69 102
|
|
||||||
-72 218 -159 131z"/>
|
|
||||||
<path d="M2060 3753 c-42 -39 -49 -87 -18 -133 60 -88 188 -50 188 57 0 93
|
|
||||||
-101 138 -170 76z"/>
|
|
||||||
<path d="M1330 3028 c-27 -22 -50 -62 -50 -86 0 -49 29 -81 123 -135 50 -30
|
|
||||||
138 -81 195 -114 l103 -60 -197 -114 c-199 -115 -224 -137 -224 -191 0 -65 76
|
|
||||||
-120 136 -98 66 25 557 316 581 344 20 25 24 37 20 70 -3 22 -15 48 -29 61
|
|
||||||
-13 13 -142 92 -288 176 -213 122 -274 153 -310 156 -27 2 -51 -1 -60 -9z"/>
|
|
||||||
<path d="M2033 2208 c-57 -28 -67 -122 -17 -169 l26 -24 263 0 263 0 26 24
|
|
||||||
c51 48 40 142 -20 170 -33 14 -510 14 -541 -1z"/>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
||||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
|
|
||||||
preserveAspectRatio="xMidYMid meet">
|
|
||||||
|
|
||||||
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
|
|
||||||
fill="#000000" stroke="none">
|
|
||||||
<path d="M2335 5109 c-38 -4 -117 -16 -175 -25 -1009 -157 -1833 -911 -2079
|
|
||||||
-1903 -106 -427 -106 -815 0 -1242 206 -832 828 -1512 1638 -1793 188 -65 364
|
|
||||||
-104 596 -132 472 -55 1056 66 1482 308 803 456 1286 1251 1320 2170 8 218
|
|
||||||
-18 448 -78 689 -237 956 -1013 1695 -1984 1888 -229 45 -532 62 -720 40z
|
|
||||||
m420 -260 c428 -37 831 -191 1185 -453 122 -90 366 -334 456 -456 243 -328
|
|
||||||
384 -676 445 -1095 19 -132 17 -453 -5 -599 -48 -332 -171 -660 -345 -927
|
|
||||||
-581 -892 -1666 -1272 -2668 -934 -345 117 -616 287 -884 554 -267 268 -437
|
|
||||||
538 -553 883 -87 255 -121 464 -120 743 0 271 31 464 114 715 110 335 281 617
|
|
||||||
530 873 198 205 392 347 635 467 378 185 799 265 1210 229z"/>
|
|
||||||
<path d="M2425 4669 c-993 -54 -1819 -822 -1960 -1821 -21 -149 -21 -427 0
|
|
||||||
-576 133 -945 857 -1667 1810 -1807 145 -21 423 -21 575 0 940 133 1672 866
|
|
||||||
1805 1806 21 151 21 429 0 574 -83 568 -375 1065 -820 1400 -417 312 -884 453
|
|
||||||
-1410 424z m245 -721 c57 -24 96 -61 125 -119 13 -25 242 -563 510 -1195 305
|
|
||||||
-720 488 -1166 492 -1195 23 -192 -191 -350 -368 -272 -101 45 -120 75 -265
|
|
||||||
425 l-69 168 -535 0 -535 -1 -69 -167 c-144 -345 -160 -373 -251 -417 -184
|
|
||||||
-91 -406 63 -382 264 4 29 188 476 492 1196 268 633 496 1168 507 1190 39 78
|
|
||||||
105 128 191 144 53 10 100 4 157 -21z"/>
|
|
||||||
<path d="M2413 2673 c-78 -186 -145 -346 -149 -355 -6 -17 12 -18 296 -18 284
|
|
||||||
0 302 1 296 18 -24 64 -292 692 -296 692 -3 0 -69 -152 -147 -337z"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 6.3 KiB |
@ -1,13 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
||||||
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<title>dev-ops-solid</title>
|
|
||||||
<g id="Layer_2" data-name="Layer 2">
|
|
||||||
<g id="invisible_box" data-name="invisible box">
|
|
||||||
<rect width="48" height="48" fill="none"/>
|
|
||||||
</g>
|
|
||||||
<g id="icons_Q2" data-name="icons Q2">
|
|
||||||
<path d="M46,24A12,12,0,0,0,34,12c-5.2,0-9.5,4.1-11.9,11.4C20.3,28.9,17.3,32,14,32a8,8,0,0,1,0-16h1.2l-1.6,1.6a1.9,1.9,0,0,0,.2,3,2.1,2.1,0,0,0,2.7-.2l4.9-5a1.9,1.9,0,0,0,0-2.8l-4.9-5a2.1,2.1,0,0,0-2.7-.2,1.9,1.9,0,0,0-.2,3L15.2,12H14a12,12,0,0,0,0,24c5.2,0,9.5-4.1,11.9-11.4C27.7,19.1,30.7,16,34,16a8,8,0,0,1,0,16H32.8l1.6-1.6a1.9,1.9,0,0,0-.2-3,2.1,2.1,0,0,0-2.7.2l-4.9,5a1.9,1.9,0,0,0,0,2.8l4.9,5a2.1,2.1,0,0,0,2.7.2,1.9,1.9,0,0,0,.2-3L32.8,36H34A12,12,0,0,0,46,24Z"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 945 B |
@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
||||||
<svg width="800px" height="800px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<circle cx="16" cy="16" r="14" fill="#1794D4"/>
|
|
||||||
<path d="M18 7H16V9H18V7Z" fill="white"/>
|
|
||||||
<path d="M10 10H12V12H10V10Z" fill="white"/>
|
|
||||||
<path d="M6.00155 16.9414C6.17244 19.8427 7.90027 24 14 24C20.8 24 23.8333 19 24.5 16.5C25.3333 16.5 27.2 16 28 14C27.5 13.5 25.5 13.5 24.5 14C24.5 13.2 24 11.5 23 11C22.3333 11.6667 21.3 13.4 22.5 15C22 16 20.6667 16 20 16H6.9429C6.41342 16 5.97041 16.4128 6.00155 16.9414Z" fill="white"/>
|
|
||||||
<path d="M9 13H7V15H9V13Z" fill="white"/>
|
|
||||||
<path d="M10 13H12V15H10V13Z" fill="white"/>
|
|
||||||
<path d="M15 13H13V15H15V13Z" fill="white"/>
|
|
||||||
<path d="M16 13H18V15H16V13Z" fill="white"/>
|
|
||||||
<path d="M21 13H19V15H21V13Z" fill="white"/>
|
|
||||||
<path d="M15 10H13V12H15V10Z" fill="white"/>
|
|
||||||
<path d="M16 10H18V12H16V10Z" fill="white"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 965 B |
@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
||||||
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="none"><path fill="#326DE6" d="M4.5 14.569c.214.278.539.431.874.431h5.251c.335 0 .66-.165.875-.434l3.258-4.178c.214-.278.288-.633.214-.978l-1.165-5.207a1.128 1.128 0 00-.606-.777l-4.714-2.31A1.062 1.062 0 008.002 1c-.168 0-.335.038-.485.115l-4.715 2.32a1.129 1.129 0 00-.605.777L1.032 9.42c-.084.345 0 .7.214.978L4.5 14.568z"/><path fill="#ffffff" fill-rule="evenodd" d="M12.741 9.128c.098.002.196.01.293.024l.058.013.031.008a.308.308 0 01.26.371.306.306 0 01-.396.223h-.004l-.003-.001-.003-.002a1.58 1.58 0 00-.03-.006l-.05-.01a2.55 2.55 0 01-.274-.106 2.867 2.867 0 00-.533-.157.242.242 0 00-.171.064 4.656 4.656 0 00-.131-.023 3.971 3.971 0 01-1.764 2.212c.015.042.032.083.051.123a.239.239 0 00-.023.18c.074.17.165.332.271.484.06.078.114.16.164.244l.028.057.012.025a.306.306 0 01-.381.44.308.308 0 01-.172-.18l-.01-.02a1.57 1.57 0 01-.028-.058 2.546 2.546 0 01-.089-.28 2.837 2.837 0 00-.21-.512.242.242 0 00-.156-.095l-.03-.053-.035-.064a3.97 3.97 0 01-2.823-.007l-.07.125a.25.25 0 00-.132.064 2.13 2.13 0 00-.237.548 2.518 2.518 0 01-.088.28 1.196 1.196 0 01-.025.05l-.013.027v.001a.306.306 0 01-.421.173.308.308 0 01-.173-.314.306.306 0 01.041-.12l.014-.03.026-.052c.05-.085.104-.166.164-.244.108-.156.2-.322.277-.496a.302.302 0 00-.028-.173l.056-.133A3.972 3.972 0 014.22 9.532l-.134.023a.34.34 0 00-.176-.062 2.871 2.871 0 00-.533.156c-.09.04-.181.075-.274.105a1.017 1.017 0 01-.05.011l-.03.007H3.02l-.002.002h-.005a.308.308 0 01-.397-.349.306.306 0 01.261-.245l.005-.001h.002l.006-.002c.024-.006.054-.014.076-.018.097-.013.195-.021.293-.023.186-.013.37-.043.549-.09a.422.422 0 00.131-.133l.128-.037a3.938 3.938 0 01.625-2.752l-.098-.087a.338.338 0 00-.062-.176 2.854 2.854 0 00-.455-.319 2.557 2.557 0 01-.254-.148l-.048-.038-.015-.013-.004-.003a.323.323 0 01-.076-.45.295.295 0 01.244-.107.365.365 0 01.213.08l.022.017c.016.013.034.026.046.037.072.067.139.139.202.213.125.137.263.262.412.372.056.03.121.036.182.018l.11.078a3.938 3.938 0 012.552-1.224l.008-.129a.332.332 0 00.099-.158 2.844 2.844 0 00-.034-.553 2.56 2.56 0 01-.042-.29v-.082-.005A.306.306 0 018 2.82a.308.308 0 01.306.337v.087a2.529 2.529 0 01-.041.29 2.85 2.85 0 00-.035.553.242.242 0 00.1.153v.007l.007.129c.967.088 1.87.522 2.54 1.223l.116-.082a.34.34 0 00.186-.02c.149-.11.287-.236.412-.373.063-.075.13-.146.202-.213l.051-.04.017-.014a.307.307 0 11.381.477l-.024.02c-.015.012-.03.025-.043.034a2.537 2.537 0 01-.254.148 2.87 2.87 0 00-.455.32.241.241 0 00-.058.172l-.05.044-.058.053c.542.806.77 1.783.637 2.745l.123.036c.031.055.077.101.133.132.179.048.363.078.548.09zM7.291 5.24c.107-.024.216-.043.326-.056l-.09 1.6-.008.004a.268.268 0 01-.293.256.27.27 0 01-.135-.05l-.002.001-1.316-.93c.419-.41.945-.696 1.518-.825zm1.618 1.75l1.308-.924a3.182 3.182 0 00-1.833-.882l.09 1.598h.002a.268.268 0 00.294.256.27.27 0 00.135-.05l.004.002zm2.248 1.656L9.609 8.2l-.002-.006a.27.27 0 01-.185-.343.27.27 0 01.08-.12L9.5 7.73l1.195-1.067c.366.594.527 1.29.46 1.983zM9.096 9.5l.618 1.49a3.148 3.148 0 001.275-1.598l-1.593-.269-.002.003a.26.26 0 00-.166.023.27.27 0 00-.13.348l-.002.003zm-.385 1.905c-.573.13-1.17.1-1.727-.088l.777-1.4h.001a.27.27 0 01.475-.001h.006l.779 1.402a3.286 3.286 0 01-.311.087zm-2.418-.422l.611-1.474-.004-.006a.268.268 0 00-.297-.37L6.6 9.13l-1.579.267a3.16 3.16 0 001.272 1.586zm-.997-4.32l1.201 1.071-.001.007a.269.269 0 01-.106.462l-.001.005-1.54.443a3.134 3.134 0 01.447-1.988zm2.95 1.154h-.492l-.307.38.11.476.443.213.442-.212.11-.476-.306-.381z" clip-rule="evenodd"/></svg>
|
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 10 KiB |
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
||||||
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="m 6 0 c -0.554688 0 -1 0.445312 -1 1 v 3 c 0 0.554688 0.445312 1 1 1 h 1 v 2 h -7 v 2 h 2 v 2 h -1 c -0.554688 0 -1 0.445312 -1 1 v 3 c 0 0.554688 0.445312 1 1 1 h 4 c 0.554688 0 1 -0.445312 1 -1 v -3 c 0 -0.554688 -0.445312 -1 -1 -1 h -1 v -2 h 8 v 2 h -1 c -0.554688 0 -1 0.445312 -1 1 v 3 c 0 0.554688 0.445312 1 1 1 h 4 c 0.554688 0 1 -0.445312 1 -1 v -3 c 0 -0.554688 -0.445312 -1 -1 -1 h -1 v -2 h 2 v -2 h -7 v -2 h 1 c 0.554688 0 1 -0.445312 1 -1 v -3 c 0 -0.554688 -0.445312 -1 -1 -1 z m 0 0" fill="#2e3436"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 748 B |
@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
||||||
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="-133.268" y1="-202.91" x2="-133.198" y2="-202.84" gradientTransform="translate(25243.061 38519.17) scale(189.38 189.81)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#387eb8"/><stop offset="1" stop-color="#366994"/></linearGradient><linearGradient id="b" x1="-133.575" y1="-203.203" x2="-133.495" y2="-203.133" gradientTransform="translate(25309.061 38583.42) scale(189.38 189.81)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffe052"/><stop offset="1" stop-color="#ffc331"/></linearGradient></defs><title>file_type_python</title><path d="M15.885,2.1c-7.1,0-6.651,3.07-6.651,3.07V8.36h6.752v1H6.545S2,8.8,2,16.005s4.013,6.912,4.013,6.912H8.33V19.556s-.13-4.013,3.9-4.013h6.762s3.772.06,3.772-3.652V5.8s.572-3.712-6.842-3.712h0ZM12.153,4.237a1.214,1.214,0,1,1-1.183,1.244v-.02a1.214,1.214,0,0,1,1.214-1.214h0Z" style="fill:url(#a)"/><path d="M16.085,29.91c7.1,0,6.651-3.08,6.651-3.08V23.65H15.985v-1h9.47S30,23.158,30,15.995s-4.013-6.912-4.013-6.912H23.64V12.4s.13,4.013-3.9,4.013H12.975S9.2,16.356,9.2,20.068V26.2s-.572,3.712,6.842,3.712h.04Zm3.732-2.147A1.214,1.214,0,1,1,21,26.519v.03a1.214,1.214,0,0,1-1.214,1.214h.03Z" style="fill:url(#b)"/></svg>
|
|
Before Width: | Height: | Size: 1.4 KiB |
7
tsconfig.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
// This file is not used in compilation. It is here just for a nice editor experience.
|
||||||
|
"extends": "@tsconfig/docusaurus/tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": "."
|
||||||
|
}
|
||||||
|
}
|