MVP for hosting

This commit is contained in:
SantaSpeen committed 2023-12-15 16:21:59 +03:00
1 parent fec5db6efd
commit 9f26a11327
173 files changed
+93 -3626

No files matched your search

-70
View File
@@ -1,70 +0,0 @@
import React from 'react';
import clsx from 'clsx';
import styles from './styles.module.css';
type FeatureItem = {
title: string;
Svg: React.ComponentType<React.ComponentProps<'svg'>>;
description: JSX.Element;
};
const FeatureList: FeatureItem[] = [
{
title: 'Easy to Use',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
Docusaurus was designed from the ground up to be easily installed and
used to get your website up and running quickly.
</>
),
},
{
title: 'Focus on What Matters',
Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
description: (
<>
Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go
ahead and move your docs into the <code>docs</code> directory.
</>
),
},
{
title: 'Powered by React',
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
description: (
<>
Extend or customize your website layout by reusing React. Docusaurus can
be extended while reusing the same header and footer.
</>
),
},
];
function Feature({title, Svg, description}: FeatureItem) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<Svg className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<h3>{title}</h3>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures(): JSX.Element {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}
@@ -1,11 +0,0 @@
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
}
-34
View File
@@ -1,34 +0,0 @@
import React from 'react';
import clsx from "clsx";
import styles from './Styles.module.scss';
const consept = [
'Скорость (загрузка страниц не более 1 сек)',
'Надежность (минимальные требования к серверу, легко устанавливать и переносить)',
'Минимализм (без лишних скриптов, рекламы и т.п.)',
'Отсутствие базы данных (упростит хранение и обслуживание)',
'Редактор 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
View File
@@ -1,33 +0,0 @@
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>
);
};
@@ -1,24 +0,0 @@
/* stylelint-disable docusaurus/copyright-header */
.landing-section {
padding: 26pt 0;
}
.logo {
width: 6em;
}
.landing-section:first-child {
border-top: 1px solid #eee;
}
.landing-section:nth-child(even) {
background-color: #1b1b1d;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.landing-section:last-child {
border-bottom: 1px solid #eee;
}
-63
View File
@@ -1,63 +0,0 @@
.client-icon {
display: block;
max-width: 11rem;
color: white;
}
.client-icon > svg {
display: block;
margin: 0 auto;
color: white;
max-width: 11rem;
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
margin-top: 45px;
margin-bottom: 45px;
}
.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
View File
@@ -1,88 +0,0 @@
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/devops'
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/kubernetes'
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/docker'
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/homelab'
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>
);
}
+19 -38
View File
@@ -17,39 +17,30 @@ export const Highlight = ({children, color}) => (
# О себе
## Акмалов Артур
### Инженер по разработке и сопровождению сервисов
## Имя
### Что делаешь
В IT с 2014 года, нравится учиться и получать новые знания в данной области.
В свободное время пишу простейшие программы и скрипты для оптимизации и автоматизации однообразных или рутинных задач.
Стараюсь писать инструкции, полезные заметки, интересные статьи у себя на сайте и сторонних ресурсах.
(Кратко о себе)
Изучаю инструменты и методологии <Highlight color="#339665">DevOps</Highlight> и программирование на <Highlight color="#306998">Python</Highlight>.
Интересные для меня направления:
- Системы управления конфигурациями: Ansible, Terraform, Salt
- Оркестрация/контейнеризация: Kubernetes, Docker
- Мониторинг: Prometheus, Grafana
- Базы данных: PostgreSQL, MongoDB
- Системы виртуализации: Proxmox
- Облачная платформа: Yandex.Cloud, Timeweb
- Язык программирования: Python
- CI/CD: Gitlab
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Также есть своя домашняя серверная (homelab), где я провожу эксперименты, разрабатываю и изучаю различные OpenSource проекты
<!--
:::tip
Some **content** with _Markdown_ `syntax`. Check [this `api`](#).
:::
-->
(И что-нибудь на последок)
<br/>
#### 📊 Моя страница на [GitHub](https://github.com/akmalovaa)
| <a href="https://github.com/akmalovaa"><img align="center" src="https://github.akmalov.com/api?username=akmalovaa&theme=tokyonight&count_private=true&show_icons=true" alt="Akmalov github stats" /></a> | <a href="https://github.com/akmalovaa"><img align="center" src="https://github.akmalov.com/api/top-langs/?theme=tokyonight&count_private=true&show_icons=true&layout=compact" /></a>
#### 📊 Моя страница на [GitHub](https://github.com/SantaSpeen)
| <a href="https://github.com/SantaSpeen"><img align="center" src="https://github-readme-stats.vercel.app/api?username=santaspeen&show_icons=true&hide_border=true&layout=compact&theme=tokyonight" alt="SantaSpeen github stats" /></a> | <a href="https://github.com/akmalovaa"><img align="center" src="https://github-readme-stats.vercel.app/api/top-langs/?username=santaspeen&hide_border=true&layout=compact&theme=tokyonight" /></a>
| ------------- | ------------- |
@@ -57,14 +48,11 @@ Some **content** with _Markdown_ `syntax`. Check [this `api`](#).
#### ⤵️ Контакты
<div>
<a href="https://www.linkedin.com/in/akmalov-artur/" alt="Linkedin">
<img src="https://img.shields.io/badge/-Linkedin-0e76a8?style=for-the-badge&logo=Linkedin&logoColor=white" />
</a>
<a href="mailto:akmalov.mail@gmail.com" alt="Gmail">
<img src="https://img.shields.io/badge/-Gmail-d93025?style=for-the-badge&labelColor=d93025&logo=gmail&logoColor=white" />
</a>
<a href="https://t.me/AAkmalov" alt="Telegram">
<img src="https://img.shields.io/badge/-Telegram-2ca5e0?style=for-the-badge&labelColor=2ca5e0&logo=telegram&logoColor=white" />
<a href="https://t.me/SantaSpeen" alt="Telegram">
<img src="https://img.shields.io/badge/@telegram-blue" />
</a> <span> </span>
<a href="mailto:santaspeen@yandex.ru" alt="Gmail">
<img src="https://img.shields.io/badge/@yandex-yellow" />
</a>
</div>
@@ -73,10 +61,3 @@ Some **content** with _Markdown_ `syntax`. Check [this `api`](#).
#### 📄 Сертификаты
- <a href="./certs/MTCNA.pdf" target="_blank">MTCNA</a> - MikroTik Certified Network Associate
- <a href="./certs/MTCRE.pdf" target="_blank">MTCRE</a> - MikroTik Certified Routing Engineer (Маршрутизация)
- <a href="./certs/MTCTCE.pdf" target="_blank">MTCTCE</a> - MikroTik Certified Traffic Control Engineer (Управление трафиком)
- <a href="./certs/MTCSE.pdf" target="_blank">MTCSE</a> - MikroTik Certified Security Engineer (Безопасность сети)
- <a href="./certs/MTCSWE.pdf" target="_blank">MTCSWE</a> - MikroTik Certified Switching Engineer (Коммутация)
- <a href="./certs/cisco.pdf" target="_blank">Cisco</a> - Routing
+5 -30
View File
@@ -9,39 +9,14 @@ import AboutSite from "../components/home/AboutSite";
import styles from './index.module.css';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<h1 className="hero__title">{siteConfig.title}</h1>
<p className="hero__subtitle">{siteConfig.tagline}</p>
{/* <div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Docusaurus Tutorial - 5min ⏱️
</Link>
</div> */}
</div>
</header>
);
}
export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Personal Blog ${siteConfig.title}`}
description="Акмалов Артур - личный блог для записей по темам Devops, Python, Linux, Homelab, k8s">
{/* <HomepageHeader /> */}
<HomeHeader />
{/* <main> */}
{/* <HomepageFeatures /> */}
{/* </main> */}
<TopicsSection />
<AboutSite />
<Layout title={`Personal Blog ${siteConfig.title}`}>
<div style={{textAlign: "center"}}>
<h1>Скорее всего вы тут оказались случайно!</h1>
<a href='/blog' style={{color: 'blue'}}>Перейдите в блог по этой ссылке</a>
</div>
</Layout>
);
}
+3 -3
View File
@@ -14,10 +14,10 @@ export default function BlogPostItemWrapper(props) {
{(
<div className="docusaurus-blog-comments">
<Giscus
repo="akmalovaa/akmalov.com"
repoId="R_kgDOI0gPCg"
repo="SantaSpeen/santaspeen.ru-blog"
repoId="R_kgDOK6Fd_Q"
category="General"
categoryId="DIC_kwDOI0gPCs4CXR_A"
categoryId="DIC_kwDOK6Fd_c4Cbwpe"
mapping="pathname"
reactionsEnabled="1"
emitMetadata="0"