Compare commits

...

6 Commits

Author SHA1 Message Date
c979c0db81 del mics 2023-12-18 02:19:48 +03:00
a863ce2f9d del mics 2023-12-18 02:19:12 +03:00
b9caa21536 Fixes for .env 2023-12-18 02:18:57 +03:00
06bcbd063d ya metrika 2023-12-18 01:57:47 +03:00
69b78a41a2 blog-setup 2023-12-18 01:18:57 +03:00
ea24b3547b gh colors 2023-12-17 23:49:00 +03:00
18 changed files with 10584 additions and 17177 deletions

View File

@ -2,14 +2,12 @@ ALGOLIA_APP_ID=
ALGOLIA_API_KEY= ALGOLIA_API_KEY=
ALGOLIA_INDEX_NAME= ALGOLIA_INDEX_NAME=
GISCUS_DISCUSSION_CATEGORY= COUNTER_GOOGLE=
GISCUS_DISCUSSION_CATEGORY_ID= COUNTER_YANDEX=
GISCUS_PROJECT_ID=
GOOGLE_ANALYTICS_TAG_ID=
ORGANIZATION_NAME=
REPOSITORY_NAME=
SITE_TITLE=
SITE_URL= SITE_URL=
SITE_TITLE=
SITE_ORANIZATION_NAME=
SITE_PROJECT_NAME=
# GISCUS settings in /src/theme/BlogPostItem.jsx

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -15,34 +15,177 @@ date: 2023-12-15
## Введение ## Введение
[Зачем это вообще надо и кому нужен блог] Блог DevOps программиста (меня) это не просто место для записей о технических деталях, это своеобразная платформа для обмена опытом, решением трудностей и создания сообщества профессионалов в области разработки и операций. Давайте разберемся, почему блог DevOps программиста может стать неотъемлемой частью вашей профессиональной деятельности.
### Зачем это вообще нужно?
#### 1. Обмен опытом
DevOps это область, где опыт имеет огромное значение. Через блог вы можете делиться своими наработками, лучшими практиками и решениями, с которыми вы сталкиваетесь в ходе своей работы.
#### 2. Инструменты и технологии
В мире DevOps постоянно появляются новые инструменты и технологии. Блогирование поможет вам оставаться в курсе последних трендов, а также делиться своим опытом использования различных инструментов.
#### 3. Сообщество
Блог DevOps программиста это место, где вы можете объединиться с другими специалистами, обсудить актуальные вопросы, получить обратную связь и даже решить технические проблемы вместе.
### Кому нужен блог?
#### 1. Стартапы и компании
DevOps является ключевым элементом успешного развертывания и управления IT-инфраструктурой. Ваш блог может быть полезным ресурсом для стартапов и компаний, которые стремятся оптимизировать свои процессы.
#### 2. Новички в сфере DevOps
Для тех, кто только начинает свой путь в DevOps, ваш блог станет ценным ресурсом для обучения и понимания основных принципов и практик.
#### 3. Специалисты по технологиям и разработке
Блог DevOps программиста может привлечь внимание специалистов в области технологий и разработки, помогая им лучше понять взаимосвязь между разработкой и операциями.
По мере продвижения в этом блоге мы рассмотрим шаги по созданию и установке вашего собственного блога DevOps программиста на вашем веб-сайте.
## Настройка сайта ## Настройка сайта
- <p style={{fontSize: '12px', margin: "0"}}>Если сайт уже есть, то пеерходите сразу к <a href="#установка-блога">установке блога</a></p> - <p style={{fontSize: '12px', margin: "0"}}>Если сайт уже есть, то пеерходите сразу к <a href="#установка-блога">установке блога</a></p>
### Покупка домена ### Покупка домена
[Идём на регистратор и покупаем] Первым шагом к созданию собственного блога является приобретение уникального доменного имени.\
Выберите короткое, запоминающееся и отражающее суть вашего блога имя. После выбора, зарегистрируйте домен у одного из регистраторов доменных имен.\
Лично я выбрал свой ник в качестве домена.
На данные момент популярны такие сервисы для регистрации доменов в РФ:
1. [РЕГ.РУ](https://reg.ru) (за `.ru` 119/р в первый год, 999/р последующие года)
2. [RU-CENTER (NIC)](https://nic.ru) (за `.ru` 189/р в первый год, 999/р последующие года)
**Для регистрации обязателен паспорт**
### Настройка DNS ### Настройка DNS
[Находим бесплатный DNS сервер и писхаем туда ip] После приобретения домена переходите к настройке DNS. Найдите бесплатный DNS-сервер и настройте записи, указывающие на IP-адрес вашего хостинга. Это обеспечит корректное направление запросов к вашему сайту.\
Или можно привязать к сайт [CloudFlare](https://dash.cloudflare.com/), в целом бесплатно + SSL + есть защита от аттак\
**Так же подразумевается, что хост с белым IP уже есть.**
### Настройка WEB сервера ### Настройка WEB сервера
[Тут будет как настроить nginx на выдачу index.html + certbot] Теперь приступим к настройке вашего веб-сервера. В данном случае, рассмотрим пример с использованием Nginx и получением SSL-сертификата с помощью Certbot.
Установка Nginx:
```bash
sudo apt update
sudo apt install nginx snap
```
Настройка Nginx для сайта:
В файле конфигурации Nginx (`/etc/nginx/sites-available/default`) добавьте следующие строки:
```nginx
server {
listen 80;
server_name santaspeen.ru;
root /var/www/blog/;
index index.html;
location / {
add_header Cache-Control no-cache;
expires 0;
try_files $uri $uri/ /index.html;
}
# Media: images, icons, video, audio, HTC
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|mp3|ogg|ogv|webm|htc)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
# Javascript and CSS files
location ~* \.(?:css|js)$ {
expires 1y;
access_log off;
add_header Cache-Control "public";
try_files $uri =404;
}
# Any route containing a file extension (e.g. /devicesfile.js)
location ~ ^.+\..+$ {
try_files $uri =404;
}
}
```
Не забудьте изменить `santaspeen.ru` и `/var/www/blog/` под свои данные.
:::tip
Если не использовать cloudflare, то SSL аертификаты нужно получить на хосте\
Установим Certbot для получения SSL-сертификата:
```bash
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
```
С помощью этой комнды автоматически будет настроено SSL шифрование трафика\
`certbot` спросит все нужные ему данные: домен, почту и т.д.
```bash
sudo certbot --nginx
```
:::
Теперь, после всего что мы сделали, У нас будет доступ по https: https://santaspeen.ru/
## Установка блога ## Установка блога
:::tip
Настройку / Написание текста / Проверку - советую делать на компе, а затем после `npm build` загружать на хостинг.
:::
### Качаем ### Загрузка
[тут гит клон] Давайте начнем с загрузки необходимых файлов для вашего блога. Вы можете воспользоваться командой git clone для получения исходного кода блога:
```bash
git clone https://github.com/SantaSpeen/santaspeen.ru-blog.git -b v1-ready
```
### Установка зависимостей
Убедитесь, что вы используете Node.js версии 20. Вы можете загрузить и установить ее с официального сайта Node.js: [Node20](https://nodejs.org/download/release/latest-v20.x/)
Перейдите в директорию вашего блога и выполните команду `npm install`, чтобы установить все необходимые зависимости:
```bash
cd santaspeen.ru-blog
npm install
```
### Запуск
1. **Настройка статических файлов:**
- Проверьте и отредактируйте файлы в папке `static`:
- `static/CNAME`: Укажите ваш домен в этом файле.
- `static/robots.txt`: При необходимости настройте файл robots.txt.
- `static/img/favicon.ico`: Замените иконку на свою.
2. **Настройка переменных окружения:**
- Отредактируйте файл `.env`, указав необходимые параметры.
3. **Настройка конфигурации:**
- При необходимости внесите изменения в файл `.aligoria_config.json` в соответствии с вашими предпочтениями.
4. **Запуск:**
- Выполните команду `npm start` для запуска дебаг сервер блогом (при редактировании файлов, содержимое сразу будет обновлено и на сайте).
## Настройка блога
### Общая структура ### Общая структура
Вот так сейчас выглядит структура файлов блога: Вот так сейчас выглядит структура файлов блога и доков:
```plain ```plain
... ...
| -- blog | -- blog
@ -62,13 +205,18 @@ date: 2023-12-15
... ...
``` ```
[Тут надо рассказать про основные файлы] ### Основные файлы
- **`blog/_template/index.md`:** Главная страница блога.
- **`blog/_template/logo.png`:** Логотип блога.
- **`docs/_template/_category_.json`:** Файл категории для организации документации.
- **`docs/_template/doc1.md` и `docs/_template/doc2.md`:** Примеры документации.
- **`docs/intro.md`:** Введение в документацию.
### Cтруктура блогов ### Cтруктура блогов
[Несколько слов про то, или инное, рассмотрим на примере blog._template] Приведем пример для блога `_template`:
[Стандартная структура 1 блога]
```plain ```plain
| -- blog | -- blog
| ` -- _template | ` -- _template
@ -76,12 +224,13 @@ date: 2023-12-15
| ` -- logo.png | ` -- logo.png
``` ```
##### Заголовок у блога ##### Пример заголовка блога (`blog/_template/index.md`):
```md ```md
--- ---
slug: template slug: template
title: title title: Заголовок блога
description: Описание description: Описание блога
image: ./logo.png image: ./logo.png
tags: [docker, linux, networks] tags: [docker, linux, networks]
keywords: [docker, linux] keywords: [docker, linux]
@ -90,26 +239,25 @@ date: 2023-11-29
Описание для предварительного просмотра на главной странице Описание для предварительного просмотра на главной странице
[![logo](./logo.png)](/blog/_template) [![Логотип блога](./logo.png)](/blog/_template)
<!--truncate--> <!--truncate-->
Этот текст будет только в блоге, его не видно в превью
``` ```
`slug` - [Это..]\ - `slug`: уникальный идентификатор блога.
`title` - [Это..]\ - `title`: заголовок блога.
`description` - [Это..]\ - `description`: описание блога.
`image` - [Это..]\ - `image`: путь к логотипу блога.
`keywords` - [Это..]\ - `tags`: теги блога.
`date` - [Это...]\ - `keywords`: ключевые слова для поисковых систем.
\ - `date`: дата публикации блога.
`<!--truncate-->` - [Это...] - `<!--truncate-->`: разделитель для превью.
### Структура документации
### Структура доков Приведем пример для документации `_template`:
[Несколько слов про то, или инное, рассмотрим на примере docs._template]
[Стандартная структура 1 дока]
```plain ```plain
| -- docs | -- docs
| | -- _template | | -- _template
@ -119,51 +267,41 @@ date: 2023-11-29
| ` -- intro.md | ` -- intro.md
``` ```
[_category_.json Обязателен, рассказать что в нём] ##### Содержимое `_category_.json` в `docs/_template/_category_.json`:
Содержимое \<theme>/_category_.json
```json ```json
{ {
"label": "Template", "label": "Template",
"position": 1, "position": 1,
"link": { "link": {
"type": "generated-index", "type": "generated-index",
"description": "Template description" "description": "Описание шаблона"
} }
} }
``` ```
`label` - [Это..]\ - `label`: название категории.
`position` - [Это..]\ - `position`: позиция в навигации.
`link` - [Это..]\ - `link.type`: тип ссылки (здесь генерируется индекс).
`link.type` - [Это..]\ - `link.description`: описание ссылки.
`link.description` - []
##### Заголовок у доков ##### Пример заголовка документа (`docs/_template/doc1.md`):
[У каждого файла должен быть заголовок... Зачем? Почему?]
Заголовок doc1.md
```md ```md
--- ---
sidebar_position: 1 sidebar_position: 1
title: Template title 1 title: Заголовок документа 1
--- ---
Template text Текст документа
``` ```
в doc2.md соответсвенно будет - `sidebar_position`: позиция в боковой панели.
```md - `title`: заголовок документа.
---
sidebar_position: 2
title: Template title 2
---
Template text Аналогично, для `doc2.md` будет другой `sidebar_position` и `title`.
```
`sidebar_position` - [Это..]\ При настройке блога и документации учтите указанные параметры для создания структуры и корректного отображения контента.
`title` - [Это...]
### Настройка стилей ### Настройка стилей
@ -173,10 +311,11 @@ Template text
```css ```css
/* src/css/custom.css */ /* src/css/custom.css */
:root { :root {
--footer-padding: 0.5em; --footer-padding: 0.5em;
} }
/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='light'] { [data-theme='light'] {
--ifm-color-primary: #7c538bfd; --ifm-color-primary: #7c538bfd;
--ifm-color-primary-dark: #21af90; --ifm-color-primary-dark: #21af90;
@ -189,6 +328,7 @@ Template text
--footer-color: #000; --footer-color: #000;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
} }
[data-theme='dark'] { [data-theme='dark'] {
--ifm-color-primary: #c4c0c5fd; --ifm-color-primary: #c4c0c5fd;
--ifm-color-primary-dark: #21af90; --ifm-color-primary-dark: #21af90;
@ -201,26 +341,34 @@ Template text
--footer-color: #ebedf0; --footer-color: #ebedf0;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
} }
.footer { .footer {
--ifm-footer-background-color: var(--footer-background-color); --ifm-footer-background-color: var(--footer-background-color);
--ifm-footer-color: var(--footer-color); --ifm-footer-color: var(--footer-color);
padding: var(--footer-padding) padding: var(--footer-padding)
} }
.header-github-link:hover { .header-github-link:hover {
opacity: 0.6; opacity: 0.6;
} }
.header-github-link::before { .header-github-link::before {
content: ''; content: '';
width: 24px; width: 24px;
height: 24px; height: 24px;
display: flex; display: flex;
}
[data-theme='light'] .header-github-link {
background: url("/img/github.svg") 0 center / 25px 25px no-repeat; background: url("/img/github.svg") 0 center / 25px 25px no-repeat;
} }
h2 {
--ifm-heading-vertical-rhythm-bottom: 0; [data-theme='dark'] .header-github-link {
background: url("/img/githubL.svg") 0 center / 25px 25px no-repeat;
} }
p a {
.markdown li a, .markdown p a {
text-decoration: underline dotted; text-decoration: underline dotted;
} }
```
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -4,7 +4,7 @@ sidebar_position: 1
# Мои заметки # Мои заметки
Мои заметки с Obsidian в формате документации по категориям Мои заметки в формате документации по категориям
Здесь можно найти: Здесь можно найти:
@ -15,13 +15,3 @@ sidebar_position: 1
- ❓ Вопросы и ответы - ❓ Вопросы и ответы
- 📂 И прочие записи которые я зачем-то решил сохранить - 📂 И прочие записи которые я зачем-то решил сохранить
<br></br>
<br></br>
:::tip
Некоторые категории не стал выносить в основное меню и находяться в **[Misc](/docs/category/misc)**
Еще проще, что-то найти, воспользоваться кнопкой поиска
:::

View File

@ -8,15 +8,14 @@ const darkTheme = themes.dracula;
/** @type {import('@docusaurus/types').Config} */ /** @type {import('@docusaurus/types').Config} */
const config = { const config = {
title: 'SantaSpeen', title: process.env.SITE_TITLE,
tagline: 'Personal Blog', tagline: 'Personal Blog',
favicon: 'img/favicon.ico', favicon: 'img/favicon.ico',
url: 'https://santaspeen.ru', url: process.env.SITE_URL,
baseUrl: '/', baseUrl: '/',
organizationName: 'santaspeen', organizationName: process.env.SITE_ORANIZATION_NAME,
projectName: 'santaspeen.ru', projectName: process.env.SITE_PROJECT_NAME,
trailingSlash: false, trailingSlash: false,
deploymentBranch: 'gh-pages',
onBrokenLinks: 'throw', onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn', onBrokenMarkdownLinks: 'warn',
i18n: { i18n: {
@ -51,10 +50,10 @@ const config = {
}, },
}, },
}, },
// gtag: { gtag: {
// trackingID: process.env.GOOGLE_ANALYTICS_TAG_ID, trackingID: process.env.COUNTER_GOOGLE,
// anonymizeIP: true, anonymizeIP: true,
// }, },
theme: { theme: {
customCss: require.resolve('./src/css/custom.css'), customCss: require.resolve('./src/css/custom.css'),
}, },
@ -92,12 +91,6 @@ const config = {
style: 'dark', style: 'dark',
copyright: `Copyright © ${new Date().getFullYear()} SantaSpeen`, copyright: `Copyright © ${new Date().getFullYear()} SantaSpeen`,
}, },
// algolia: {
// appId: process.env.ALGOLIA_APP_ID,
// apiKey: process.env.ALGOLIA_API_KEY,
// indexName: process.env.ALGOLIA_INDEX_NAME,
// searchParameters: {},
// },
prism: { prism: {
additionalLanguages: ['bash', 'diff', 'json'], additionalLanguages: ['bash', 'diff', 'json'],
darkTheme: darkTheme, darkTheme: darkTheme,
@ -108,6 +101,12 @@ const config = {
disableSwitch: false, disableSwitch: false,
respectPrefersColorScheme: false, respectPrefersColorScheme: false,
}, },
algolia: {
appId: process.env.ALGOLIA_APP_ID,
apiKey: process.env.ALGOLIA_API_KEY,
indexName: process.env.ALGOLIA_INDEX_NAME,
searchParameters: {},
},
}), }),
plugins: [ plugins: [
[ [
@ -115,6 +114,9 @@ const config = {
/** @type {import('docusaurus-plugin-sass').Options} */ /** @type {import('docusaurus-plugin-sass').Options} */
{} {}
], ],
['docusaurus-plugin-yandex-metrica', {
counterID: process.env.COUNTER_YANDEX,
}],
] ]
}; };

17076
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,7 @@
"@svgr/webpack": "8.0.1", "@svgr/webpack": "8.0.1",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"docusaurus-plugin-sass": "^0.2.3", "docusaurus-plugin-sass": "^0.2.3",
"docusaurus-plugin-yandex-metrica": "^1.1.0",
"file-loader": "6.2.0", "file-loader": "6.2.0",
"prism-react-renderer": "^2.1.0", "prism-react-renderer": "^2.1.0",
"react": "^18.2.0", "react": "^18.2.0",

View File

@ -63,12 +63,16 @@
width: 24px; width: 24px;
height: 24px; height: 24px;
display: flex; display: flex;
}
[data-theme='light'] .header-github-link {
background: url("/img/github.svg") 0 center / 25px 25px no-repeat; background: url("/img/github.svg") 0 center / 25px 25px no-repeat;
} }
p a { [data-theme='dark'] .header-github-link {
--ifm-heading-vertical-rhythm-bottom: 0; background: url("/img/githubL.svg") 0 center / 25px 25px no-repeat;
text-decoration: underline dotted; }
font-size: '10px';
margin: "0" .markdown li a, .markdown p a {
text-decoration: underline dotted;
} }

View File

@ -5,19 +5,26 @@ import Giscus from "@giscus/react";
export default function BlogPostItemWrapper(props) { export default function BlogPostItemWrapper(props) {
const { isBlogPostPage } = useBlogPost(); const { isBlogPostPage } = useBlogPost();
if (!isBlogPostPage) { if (!isBlogPostPage) {
return <BlogPostItem {...props} />; return <BlogPostItem {...props} />;
} }
const repo = "SantaSpeen/santaspeen.ru-blog"
const repoId = "R_kgDOK6Fd_Q"
const category = "General"
const categoryId = "DIC_kwDOK6Fd_c4Cbwpe"
return ( return (
<> <>
<BlogPostItem {...props} /> <BlogPostItem {...props} />
{( {(
<div className="docusaurus-blog-comments"> <div className="docusaurus-blog-comments">
<Giscus <Giscus
repo="SantaSpeen/santaspeen.ru-blog" repo={repo}
repoId="R_kgDOK6Fd_Q" repoId={repoId}
category="General" category={category}
categoryId="DIC_kwDOK6Fd_c4Cbwpe" categoryId={categoryId}
mapping="pathname" mapping="pathname"
reactionsEnabled="1" reactionsEnabled="1"
emitMetadata="0" emitMetadata="0"

View File

@ -3,5 +3,7 @@
<svg width="800px" height="800px" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"> <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_bgCarrier" stroke-width="0"/>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/> <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> <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="#1c1e21"/>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

9
static/img/githubL.svg Normal file
View File

@ -0,0 +1,9 @@
<!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="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

10320
yarn.lock Normal file

File diff suppressed because it is too large Load Diff