This commit is contained in:
2026-02-03 23:39:08 +04:00
parent cad0806f8c
commit 5bd5eea193
14 changed files with 265 additions and 66 deletions

View File

@@ -155,6 +155,12 @@ collections:
- { label: "Site URL", name: "siteurl", widget: "string" } - { label: "Site URL", name: "siteurl", widget: "string" }
- { label: "Tags", name: "tags", widget: "list", required: false, default: [] } - { label: "Tags", name: "tags", widget: "list", required: false, default: [] }
- name: "worth-mentioning"
label: "Worth Mentioning"
file: "src/content/worth-mentioning.md"
fields:
- { label: "Body", name: "body", widget: "markdown" }
editor: editor:
preview: true preview: true

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
@@ -85,6 +86,7 @@
</script> </script>
<script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script> <script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
</head> </head>
<body> <body>
<script> <script>
// Проверка после загрузки // Проверка после загрузки
@@ -94,4 +96,5 @@
}); });
</script> </script>
</body> </body>
</html> </html>

View File

@@ -9,9 +9,10 @@ interface Props {
page: Page; page: Page;
class?: string; class?: string;
style?: string; style?: string;
basePath?: string; // Базовый путь для генерации URL (например, "/news" для главной страницы)
} }
const { page, style } = Astro.props; const { page, style, basePath } = Astro.props;
const HIDDEN = -1; const HIDDEN = -1;
@@ -48,7 +49,14 @@ if (r === page.lastPage - 2) pages.push(page.lastPage - 1);
if (r < page.lastPage) pages.push(page.lastPage); if (r < page.lastPage) pages.push(page.lastPage);
const getPageUrl = (p: number) => { const getPageUrl = (p: number) => {
if (p === 1) return "/"; if (p === 1) {
// Первая страница всегда на корне
return "/";
}
// Если указан basePath, используем его для всех страниц кроме первой
if (basePath) {
return `${basePath}/${p}/`;
}
return `/${p}/`; return `/${p}/`;
}; };
--- ---

View File

@@ -51,6 +51,7 @@ const linkPresetNameMap: Record<string, LinkPreset> = {
Anime: LinkPreset.Anime, Anime: LinkPreset.Anime,
About: LinkPreset.About, About: LinkPreset.About,
Friends: LinkPreset.Friends, Friends: LinkPreset.Friends,
WorthMentioning: LinkPreset.WorthMentioning,
}; };
const normalizeNavbarLink = ( const normalizeNavbarLink = (

View File

@@ -64,4 +64,10 @@ export const LinkPresets: { [key in LinkPreset]: NavbarLink } = {
icon: "material-symbols:info", icon: "material-symbols:info",
description: i18n(I18nKey.about), description: i18n(I18nKey.about),
}, },
[LinkPreset.WorthMentioning]: {
name: i18n(I18nKey.worthMentioning),
url: "/worth-mentioning/",
icon: "material-symbols:star",
description: i18n(I18nKey.worthMentioningSubtitle),
},
}; };

View File

@@ -1,18 +1,19 @@
# About This Site # Об этом сайте
Twilight is a CMS integrated static blog template built with [Astro](https://astro.build) framework. Добро пожаловать на сайт Степанова Платона. Тут много информации обо мне, моих проектах, навыках, увлечениях, мои новости. Я хотел собрать всё это в одном месте, чтобы удобно делиться своим опытом и представляться в интернете.
**Пишите, буду рад новым знакомым!**
---
## Достойны упоминания
Если вам понравился этот сайт, вы так же можете [посмотреть проекты других людей, которые я считаю достойными упоминания](../worth-mentioning/)
---
## Создать свой сайт
Если вам понравился этот сайт и вы хотите создать что-то подобное для себя, то эти репозитории вам помогут:
**Шаблон для Astro Twilight который лежит в основе моего сайта**
::github{repo="Spr-Aachen/Twilight"} ::github{repo="Spr-Aachen/Twilight"}
**Исходный код моего сайта**
::github{repo="StepanovPlaton/AboutMe"}
## Milestones
- Integrated content management system in [#1](https://github.com/Spr-Aachen/Twilight/pull/1)
- Seamless wallpaper mode switching in [#2](https://github.com/Spr-Aachen/Twilight/pull/2)
- Dynamic content container response in [#47](https://github.com/Spr-Aachen/Twilight/pull/47)
- Seamless page component loading in [#48](https://github.com/Spr-Aachen/Twilight/pull/48)
- Smart music playback handling in [#49](https://github.com/Spr-Aachen/Twilight/pull/49)
- Infinite-level navigation system in [#50](https://github.com/Spr-Aachen/Twilight/pull/50)
- Comprehensive statistics dashboard in [#51](https://github.com/Spr-Aachen/Twilight/pull/51)
- Low-barrier configuration scheme in [#58](https://github.com/Spr-Aachen/Twilight/pull/58)
- Dynamic breakpoint handling in [#68](https://github.com/Spr-Aachen/Twilight/pull/68)

View File

@@ -0,0 +1,111 @@
# Посмотрите также
Раз уж у меня появился свой уголок в интернете, я посчитал нужным поделиться с вами классными проектами других людей. Здесь вы найдёте и другие сайты, и книги, и видеоигры, от популярных до нишевых — **всё, что я хочу показать миру**.
## О дварфах!
История моей аватарки (стилистики этого сайта, моего сервера и много чего ещё) берёт своё начало с **[легендарной игры DwarfFortress](http://www.bay12games.com/dwarves/)**. Эта игра для меня пример **гениальности, усидчивости и абсурда** в одном лице.
<details>
<summary>Я не могу советовать её вам (потому что это игра не для всех), но был обязан упомянуть на своём сайте</summary>
Её движок настолько сложен, что долгое время к нему не могли добавить графику. За **более чем 20 лет разработки** она готова менее чем наполовину, её делают два брата на пожертвования от фанатов, и при всём этом ей вдохновлялись создатели Minecraft и Rimworld, а в 2013 Нью-Йоркский музей современного искусства включил игру в свою коллекцию.
Это лучший симулятор историй. Обязательно почитайте [историю крепости Боутмёрдед](https://dtf.ru/games/22946-legendy-dwarf-fortress-saga-o-padenii-kreposti-boutmerded) — эти легенды тянут на эпичный фильм от Netflix, но это просто обычная игра в DwarfFortress. Да, здесь можно тренировать дварфов бегать на костылях быстрее, чем на ногах, стреляя в них монетками. Да, на вас может напасть огромная адская автоматически сгенерированная... попа. И да, ваши дварфы могут умереть не только от гоблинов, но и от кошек, безумия, миазмов, одинаковой выпивки и даже сушняка...
Эта игра не для всех, но я боюсь в неё заходить, потому что потом не могу выйти.
И помните... Проигрывать весело!
</details>
## Карандаш и Самоделкин
У всякой истории есть начало. Я начал свою историю отсюда: [Блог команды "Карандаш и Самоделкин"](https://karandashsamodelkin.blogspot.com). Передавайте привет маленькому мне и **большое спасибо моему отцу**!
## Классные сайты
Интернет огромен, и в нём куча страниц. Некоторые популярны, другие не очень, но эти особенно интересны:
+ [Онлайн книга Linux From Scratch](https://linuxfromscratch.org) — бесплатное руководство по созданию своей GNU/Linux системы из исходного кода (с нуля). Лучшее развлечение на вечер для админа.
+ [Этаж 796](https://floor796.com) — проект русского художника, который объединил на 796 этаже космической станции всех самых знаковых персонажей, гиков, мемов, фильмов, комиксов и сериалов человечества. Тут залип на 2 часа...
+ [SCP Foundation](https://scpfoundation.net) — открытая научно-фантастическая онлайн вселенная. Мурашки по коже, невозможно оторваться. Обязательно прочтите [SCP-079 — Старый ИИ](https://scpfoundation.net/scp-079) и [Хаб отдела антимеметики](https://scpfoundation.net/antimemetics-division-hub).
+ [CashGo](https://cashgo.ru) — онлайн игра, тренажёр финансового интеллекта. Здесь я успел ухватить кусочек старого интернета с ламповыми форумами. Спасибо за детство, передавайте привет Оксюше, Пингвинатко, Успеху и Лису!
+ [Неолурк](https://neolurk.org) — народная википедия.
## IT
+ [Brainfuck](https://ru.wikipedia.org/wiki/Brainfuck) — эзотерический язык программирования из 8 команд.
+ [KISS](https://ru.wikipedia.org/wiki/KISS_(принцип)) — делай проще, тупица.
+ [Быстрый обратный квадратный корень](https://ru.wikipedia.org/wiki/Быстрый_обратный_квадратный_корень) — магическая функция приближённого вычисления $1/\sqrt{x}$ из Quake.
+ [В††](https://neolurk.org/wiki/В%2B%2B) — язык программирования русских богатырей.
+ [Suckless](https://suckless.org) — эталон минимализма. Обязательно зацените [dwm](https://dwm.suckless.org) и [st](https://st.suckless.org).
+ [9600 бод и все-все-все](https://lib.ru/ANEKDOTY/9600.txt) — Винни Пух стал хакером времён FIDONET.
+ [Nand2Tetris](https://www.nand2tetris.org) — собираем 16-битный компьютер из логических блоков, пишем компилятор, операционную систему и видеоигры. Курс от MIT.
## Видеоигры
+ [DwarfFortress](https://ru.wikipedia.org/wiki/Dwarf_Fortress) — симулятор строительства и управления пьяными дварфами. Лучший генератор историй.
+ [Chrono Trigger](https://ru.wikipedia.org/wiki/Chrono_Trigger) — лучшая JRPG из мира ретро-видеоигр. Хочу поделиться этой игрой как дань уважения винтажным видеоиграм и разработчикам, которые их писали (на ассемблере!!). Chrono Trigger — венец творения той эпохи!
+ [Doom](https://ru.wikipedia.org/wiki/Doom) - легендарная игра, одна из первых псевдотрёхмерных видеоигр от первого лица.
+ [Baldur's Gate III](https://ru.wikipedia.org/wiki/Baldur's_Gate_3) — лучшая RPG от легендарной Larian Studios. Если когда-нибудь пойду в GameDev, то только к ним.
+ [Lode Runner](https://ru.wikipedia.org/wiki/Lode_Runner) — люблю эту игру (версию под ZXSpectrum). Одна из тысяч игр той эпохи. Я однажды даже [написал её клон](https://rutracker.org/forum/viewtopic.php?t=5885455). Когда-нибудь я всё же пройду её до конца...
+ [Elite](https://ru.wikipedia.org/wiki/Elite) — космический симулятор, который помещался на ленту в 22Кб. 8 галактик по 256 планет в каждой.
+ [НЕВЕРьвХУДо](https://ru.wikipedia.org/wiki/The_Neverhood) — приключение-головоломка из пластилина. [Саундтрек обязателен к прослушиванию](https://youtu.be/Wh4WnHlsbvM?si=VMTHX2Itt5Vwxr1b).
+ [.kkrieger](https://ru.wikipedia.org/wiki/.kkrieger) — 3D видеоигра размером в 96 килобайт.
## Кино и сериалы
+ [Теория большого взрыва](https://www.kinopoisk.ru/series/306084/) — `Всё становится лучше с Bluetooth!`
+ [Компьютерщики](https://www.kinopoisk.ru/series/386715/) — `Алло, техподдержка. Вы пробовали выключить и снова включить?`
+ [Mr. Freeman](https://www.kinopoisk.ru/series/630080/) — `Большим можно оставаться и будучи маленьким`
+ [Масяня](https://www.kinopoisk.ru/series/447446/) — [Как-то один енот жил толстый как барсуууук...](https://www.youtube.com/watch?v=GWpF9LIhXhk)
+ [Revolution OS](https://www.youtube.com/watch?v=n1F_MfLRlX0) — история OpenSource и ядра Linux в озвучке Дмитрия Бачило.
## Книги
Я не очень люблю читать книги, но просто обожаю слушать их аудиоверсии. Это книги которые кажутся мне классными. Я специально не стал писать их в список, иначе просто не смог бы определить порядок. Некоторые из них полезные, некоторые развлекательные, некоторые известные, другие нет. Может быть ты найдёшь здесь что-то для себя!
| | | |
|---|---|---|
| Азимов Айзек — Основание (цикл) | Адамс Дуглас — Автостопом по галактике | Арриан Флавий — Энхиридион (Краткое руководство к нравственной жизни) |
| Бабайкин — На пенсию в 35 лет | Богомазов Валентин — 3017 (цикл) | Валерьев Андрей — Фаранг (цикл) |
| Вейр Энди — Марсианин | Вейр Энди — Проект «Аве Мария» | Гессе Герман — Сиддхартха |
| Дивoв Олег — Лучший экипаж Солнечной | Дивoв Олег — Техподдержка | Дик Филип Киндред — Убик |
| Дик Филип Киндред — Мечтают ли андроиды об электроовцах? | Дорофеев Максим — Джедайские техники | Злотников Роман — Руигат (цикл) |
| Ильин Владимир — Шериф | Казанцев Сергей — Баг | Каменистый Артем — Исчадие техно (цикл) |
| Каменистый Артем — Самый странный нуб (трилогия) | Каменистый Артем — Альфа-ноль (цикл) | Кинг Стивен — Долгая прогулка |
| Кинг Стивен — Бегущий человек | Кларк Артур — 2001: Космическая одиссея (цикл) | Клейсон Джордж — Самый богатый человек в Вавилоне |
| Кострица Евгений — Рарник (цикл) | Кравец Сергей — Спираль времени (цикл) | Лем Станислав — Сказки роботов |
| Лукьяненко Сергей — Линия грёз (цикл) | Лю Цысинь — Задача трех тел (трилогия) | Лю Цысинь — Блуждающая земля |
| Марков Алексей — Хулиномика | Марков Алексей — Жлобология | Мэнсон Марк — Всё хреново: книга о надежде |
| Мэнсон Марк — Тонкое искусство пофигизма | Мэнсон Марк — Мужские правила | Оруэлл Джордж — 1984 |
| Пелевин Виктор — Тайные виды на гору Фудзи | Пелевин Виктор — Омон Ра | Пильюччи Массимо — Как быть стоиком |
| Рейнольдс Аластер — Дождь забвения | Ринпоче Йонге Мингьюр — Будда, мозг и нейрофизиология счастья | Ринпоче Йонге Мингьюр — Радостная мудрость |
| Рус Дмитрий — Играть, чтобы жить (цикл) | Рэнд Айн — Атлант расправил плечи | Саберхаген Фред — Берсеркер |
| Смородинский Георгий — Семнадцатое обновление (цикл) | Смородинский Георгий — Черный барон (цикл) | Смородинский Георгий — Перекресток одиночества |
| Стругацкие Аркадий и Борис — Трудно быть богом | Стругацкие Аркадий и Борис — Понедельник начинается в субботу | Стругацкие Аркадий и Борис — Пикник на обочине |
| Тармашев Сергей — Ареал (цикл) | Тармашев Сергей — Древний (цикл) | Тармашев Сергей — Каждому своё (цикл) |
| Тармашев Сергей — Тьма (цикл) | Франкл Виктор — Сказать жизни «Да!» | Фромм Эрих — Искусство любить |
| Хаксли Олдос — О дивный новый мир | Харари Юваль Ной — Sapiens: Краткая история человечества | Харари Юваль Ной — Homo Deus: Краткая история будущего |
| Хокинг Стивен — Краткая история времени | Хокинг Стивен — Высший замысел | Шаман Павел — Система дефрагментации (цикл) |
| Шаров Кирилл — Проект «Изоляция» (цикл) | Юдковский Элиезер — Гарри Поттер и методы рационального мышления | Юнг Карл Густав — Аналитическая психология: Тавистокские лекции |
| Ямамото Цунэтомо — Хагакурэ. Сокрытое в листве | | |
## Музыка
+ [ГРОТ](https://grotmusic.ru) - не просто музыка, а текст и глубокий смысл.
+ [HTP](https://vk.com/nii_rap) - если вы из IT просто полистайте, это весело.
## Кумиры
В той или иной мере меня вдохновляют эти люди:
+ [Линус Торвальдс](https://ru.wikipedia.org/wiki/Торвальдс,_Линус) — самый значимый OpenSource проект.
+ [Павел Дуров](https://t.me/durov) — Telegram и борьба за свободу в интернете.
+ [Тарн и Зак Адамс](https://bay12games.com) - самая амбициозая инди-игра.
+ [Глеб Карпов](https://www.youtube.com/@glebprosto) — Просто о сложном и важном.
## Разное
Это просто классные вещи, зацените их!
+ [Цикада 3301](https://habr.com/ru/companies/ruvds/articles/714806/) — одна из самых больших загадок интернета 2010-х.

View File

@@ -188,6 +188,10 @@ enum I18nKey {
// 友链页面 // 友链页面
friends = "friends", friends = "friends",
// 值得提及的 проекты
worthMentioning = "worthMentioning",
worthMentioningSubtitle = "worthMentioningSubtitle",
// RSS页面 // RSS页面
rss = "rss", rss = "rss",
rssDescription = "rssDescription", rssDescription = "rssDescription",

View File

@@ -111,8 +111,8 @@ export const ru: Translation = {
[Key.skillLevelAdvanced]: "Продвинутый", [Key.skillLevelAdvanced]: "Продвинутый",
[Key.skillLevelExpert]: "Эксперт", [Key.skillLevelExpert]: "Эксперт",
[Key.skillExperience]: "Опыт", [Key.skillExperience]: "Опыт",
[Key.skillYears]: " г.", [Key.skillYears]: " г",
[Key.skillMonths]: " мес.", [Key.skillMonths]: " мес",
[Key.skillsTotal]: "Всего навыков", [Key.skillsTotal]: "Всего навыков",
[Key.skillsExpert]: "Экспертный уровень", [Key.skillsExpert]: "Экспертный уровень",
[Key.skillsAdvanced]: "Продвинутый", [Key.skillsAdvanced]: "Продвинутый",
@@ -163,8 +163,8 @@ export const ru: Translation = {
[Key.diaryDaysAgo]: "дней назад", [Key.diaryDaysAgo]: "дней назад",
// Страница альбомов // Страница альбомов
[Key.albums]: "Портфолио", //"Альбомы", [Key.albums]: "Медиа", //"Альбомы",
[Key.albumsSubtitle]: "Записывайте прекрасные моменты жизни", [Key.albumsSubtitle]: "Скриншоты моих работ и многое другое",
[Key.albumsEmpty]: "Нет содержимого", [Key.albumsEmpty]: "Нет содержимого",
[Key.albumsEmptyDesc]: "Альбомы ещё не созданы. Добавьте прекрасные воспоминания!", [Key.albumsEmptyDesc]: "Альбомы ещё не созданы. Добавьте прекрасные воспоминания!",
[Key.albumsBackToList]: "Вернуться к альбомам", [Key.albumsBackToList]: "Вернуться к альбомам",
@@ -191,6 +191,10 @@ export const ru: Translation = {
// Страница друзей // Страница друзей
[Key.friends]: "Друзья", [Key.friends]: "Друзья",
// Страница проектов достойных упоминания
[Key.worthMentioning]: "Посмотрите также",
[Key.worthMentioningSubtitle]: "Проекты достойные упоминания",
// Страница RSS // Страница RSS
[Key.rss]: "RSS лента", [Key.rss]: "RSS лента",
[Key.rssDescription]: "Подпишитесь, чтобы получать последние обновления", [Key.rssDescription]: "Подпишитесь, чтобы получать последние обновления",

View File

@@ -7,7 +7,10 @@ import { LinkPresets } from "@constants/link-presets";
import { url } from "@utils/url"; import { url } from "@utils/url";
import GridLayout from "@layouts/grid.astro"; import GridLayout from "@layouts/grid.astro";
import { siteConfig } from "@/config"; import { siteConfig } from "@/config";
import PostPage from "@components/postPage.astro";
import { PAGE_SIZE } from "@constants/constants";
import { getSortedPosts } from "@utils/content";
import Pagination from "@components/pagination.astro";
// Получаем все ссылки из navbar, включая основные и с подразделами // Получаем все ссылки из navbar, включая основные и с подразделами
const allLinks: NavbarLink[] = []; const allLinks: NavbarLink[] = [];
@@ -25,23 +28,34 @@ navbarConfig.links.forEach(link => {
} }
}); });
// Добавляем ссылку на новости/ленту постов
const newsLink: NavbarLink = {
name: "Новости",
url: "/news/",
icon: "material-symbols:article",
description: "Лента постов и статей",
};
// Вставляем ссылку на новости в начало списка
allLinks.unshift(newsLink);
const pageTitle = siteConfig.title; const pageTitle = siteConfig.title;
const pageDescription = siteConfig.subtitle || ""; const pageDescription = siteConfig.subtitle || "";
const allBlogPosts = await getSortedPosts();
const firstPagePosts = allBlogPosts.slice(0, PAGE_SIZE);
const totalPages = Math.ceil(allBlogPosts.length / PAGE_SIZE);
const page = {
currentPage: 1,
lastPage: totalPages,
size: PAGE_SIZE,
total: allBlogPosts.length,
data: firstPagePosts.map((post, index) => ({
...post,
index: index + 1,
})),
url: {
current: "/",
prev: undefined,
next: totalPages > 1 ? url("/news/2/") : undefined,
},
};
const len = page.data.length;
--- ---
<GridLayout title={pageTitle} description={pageDescription}> <GridLayout title={pageTitle} description={pageDescription}>
<div class="flex w-full rounded-(--radius-large) overflow-hidden relative min-h-32"> <div class="flex w-full rounded-(--radius-large) overflow-hidden relative min-h-32 mb-3">
<div class="card-base z-10 px-9 py-6 relative w-full"> <div class="card-base z-10 px-9 py-6 relative w-full">
<!-- Заголовок --> <!-- Заголовок -->
<header class="mb-8"> <header class="mb-8">
@@ -84,6 +98,10 @@ const pageDescription = siteConfig.subtitle || "";
</div> </div>
</div> </div>
</div> </div>
<PostPage page={page}></PostPage>
{totalPages > 1 && (
<Pagination class="mx-auto onload-animation-up" page={page} style={`animation-delay: ${(len)*50}ms`} basePath="/news"></Pagination>
)}
</GridLayout> </GridLayout>
<style> <style>

View File

@@ -27,10 +27,12 @@ const stats = getProjectStats();
const featuredProjects = getFeaturedProjects(); const featuredProjects = getFeaturedProjects();
const allTechStack = getAllTechStack(); const allTechStack = getAllTechStack();
// 获取所有分类 // 定义分类顺序
const categories = [ const categoryOrder = ["actual", "history", "other"];
...new Set(projectsData.map((project) => project.category)),
]; // 获取所有分类并按指定顺序排序
const allCategories = [...new Set(projectsData.map((project) => project.category))];
const categories = categoryOrder.filter(cat => allCategories.includes(cat));
// 按分类获取项目 // 按分类获取项目
const projectsByCategory = categories.reduce( const projectsByCategory = categories.reduce(

View File

@@ -0,0 +1,35 @@
---
export const prerender = true;
import { getEntry, render } from "astro:content";
import { LinkPresets } from "@constants/link-presets";
import { LinkPreset } from "@/types/config";
import Markdown from "@components/common/markdown.astro";
import GridLayout from "@layouts/grid.astro";
import BackwardButton from "@components/backwardButton.astro";
const pageTitle = LinkPresets[LinkPreset.WorthMentioning].name;
const pageDescription = LinkPresets[LinkPreset.WorthMentioning].description;
const worthMentioningPost = await getEntry("spec", "worth-mentioning");
if (!worthMentioningPost) {
throw new Error("Worth mentioning page content not found");
}
const { Content } = await render(worthMentioningPost);
---
<GridLayout title={pageTitle} description={pageDescription}>
<div class="flex w-full rounded-(--radius-large) overflow-hidden relative min-h-32">
<div class="card-base z-10 px-9 py-6 relative w-full ">
<BackwardButton currentPath={Astro.url.pathname} />
<Markdown class="mt-2">
<Content />
</Markdown>
</div>
</div>
</GridLayout>

View File

@@ -210,6 +210,7 @@ export enum LinkPreset {
Anime = 7, Anime = 7,
About = 8, About = 8,
Friends = 9, Friends = 9,
WorthMentioning = 10,
} }

View File

@@ -40,7 +40,7 @@ site:
kenBurns: true kenBurns: true
banner: banner:
homeText: homeText:
enable: false enable: true
title: "Степанов Платон" title: "Степанов Платон"
subtitle: subtitle:
- "Программный инженер, разработчик" - "Программный инженер, разработчик"
@@ -95,14 +95,10 @@ navbar:
- "Projects" - "Projects"
- "Skills" - "Skills"
- "Timeline" - "Timeline"
- name: "Разное" # - "Diary"
url: "/exhibition/"
icon: "material-symbols:check-box"
description: ""
children:
- "Diary"
- "Albums" - "Albums"
- "Friends" # - "Friends"
- "WorthMentioning"
- "About" - "About"
sidebar: sidebar:
@@ -131,14 +127,17 @@ sidebar:
profile: profile:
avatar: "/assets/images/avatar.jpg" avatar: "/assets/images/avatar.jpg"
name: "Степанов Платон" name: "Степанов Платон"
bio: "" bio: "Приятно познакомиться!"
links: links:
- name: "GitHub" - name: "Git"
icon: "fa6-brands:github" icon: "fa6-brands:git-alt"
url: "https://git.stepanovplaton.ru" url: "https://git.stepanovplaton.ru"
- name: "Telegram" - name: "Telegram"
icon: "fa6-brands:telegram" icon: "fa6-brands:telegram"
url: "https://t.me/StepanovPlaton" url: "https://t.me/StepanovPlaton"
- name: "Email"
icon: "material-symbols:mail-outline"
url: "mailto:mail2platon@yandex.ru"
announcement: announcement:
enable: false enable: false