Compare commits

...
Sign in to create a new pull request.

109 commits
build ... main

Author SHA1 Message Date
a7bbbe0b0d chore(deps): update dependency typescript to v5.8.3 2025-04-08 10:18:17 +03:00
75c47fd309 chore(deps): update dependency eslint to v9.24.0 2025-04-07 23:16:03 +03:00
0257c6076e chore(deps): update dependency sass to v1.86.3 2025-04-07 10:14:03 +03:00
995de80055 chore(deps): update dependency sass to v1.86.2 2025-04-06 10:14:31 +03:00
5719d7d646 chore(deps): update dependency @types/node to v22.14.0 2025-04-05 22:11:00 +03:00
e790887fd7 chore(deps): update dependency @types/node to v22.13.17 2025-04-04 20:11:13 +03:00
30af2348ed chore(deps): update pnpm to v10.7.1 2025-04-04 16:12:26 +03:00
59d22baef0 chore(deps): update dependency @types/node to v22.13.16 2025-04-04 13:14:56 +03:00
22fa688c45 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.91 2025-04-04 11:11:33 +03:00
38a23deb92 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.91 2025-04-04 11:09:43 +03:00
ac247c2d5c chore(deps): update dependency @types/node to v22.13.15 2025-04-04 10:17:40 +03:00
70b5b034bf chore(deps): update dependency sass to v1.86.1 2025-04-04 00:11:02 +03:00
2244a00905 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.90 2025-03-31 22:08:56 +03:00
664e4edc0b chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.90 2025-03-31 21:07:39 +03:00
d54b9c3f3b chore(deps): update dependency @types/node to v22.13.14 2025-03-30 10:12:15 +03:00
adde032459 chore(deps): update pnpm to v10.7.0 2025-03-29 15:11:17 +03:00
ab8f9af0d5 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.88 2025-03-29 11:06:52 +03:00
7f206adde1 chore(deps): update dependency @types/node to v22.13.13 2025-03-27 14:07:09 +03:00
5f86bf43e9 chore(deps): update dependency @types/node to v22.13.12 2025-03-27 10:10:59 +03:00
56b5032264 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.87 2025-03-26 17:05:55 +03:00
876797d6de chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.86 2025-03-26 10:25:22 +03:00
abfb694b97 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.86 2025-03-26 10:23:51 +03:00
dcd23040ff chore(deps): update dependency eslint-plugin-vue to v10 2025-03-26 02:36:56 +03:00
cf82d5f76b chore(deps): pin pnpm/action-setup action to a7487c7 2025-03-25 10:11:34 +03:00
5c1323f883 chore(deps): update dependency eslint to v9.23.0 2025-03-25 00:09:31 +03:00
0dd2a12a17 chore(deps): update dependency @types/node to v22.13.11 2025-03-24 12:07:53 +03:00
e2616cf7fe chore(deps): update pnpm to v10.6.5 2025-03-22 17:26:31 +03:00
43ce49f6c7 chore(deps): update dependency sass to v1.86.0 2025-03-21 02:02:09 +03:00
8794398244 chore(deps): update pnpm to v10.6.4 2025-03-20 17:24:33 +03:00
49da6c2992 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.85 2025-03-20 15:14:57 +03:00
6c6aa87823 chore(deps): update dependency @vitejs/plugin-vue to v5.2.3 2025-03-20 15:09:32 +03:00
7d61f728c0 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.85 2025-03-20 14:07:47 +03:00
c1356e7803 chore(deps): update dependency @vitejs/plugin-vue to v5.2.2 2025-03-20 10:12:17 +03:00
193a953d4f chore(deps): update pnpm to v10.6.3 2025-03-16 18:15:53 +03:00
2ae4eba995 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.84 2025-03-14 16:05:37 +03:00
8f00cf77cb chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.83 2025-03-14 15:05:39 +03:00
bc5ddd94ec chore(deps): update dependency @rushstack/eslint-patch to v1.11.0 2025-03-14 10:14:35 +03:00
f3ceefb79e chore(deps): update pnpm to v10.6.2 2025-03-13 10:10:50 +03:00
d657ca6492
update bio 2025-03-12 15:50:53 +03:00
e76b2aa08e
bump deps 2025-03-12 15:38:05 +03:00
8d48a3f242
flake: update inputs 2025-03-12 15:37:16 +03:00
d2bb3fcef7 chore(deps): update dependency @types/node to v22.13.10 2025-03-11 10:20:40 +03:00
4e0a8b61f1 chore(deps): update dependency eslint to v9.22.0 2025-03-11 00:39:11 +03:00
9c8f29949f chore(deps): update pnpm to v10.6.1 2025-03-10 10:17:17 +03:00
f21c4d22ea chore(deps): update pnpm to v10.6.0 2025-03-09 15:14:02 +03:00
2e0536b146 chore(deps): update dependency @vue/eslint-config-typescript to v14.5.0 2025-03-09 11:09:08 +03:00
ccec53264a chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.82 2025-03-09 11:06:46 +03:00
129dfd7e22 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.82 2025-03-09 10:09:49 +03:00
b2c2547061 chore(deps): update dependency eslint-plugin-vue to v9.33.0 2025-03-08 10:12:24 +03:00
5477acb209 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.81 2025-03-07 22:06:32 +03:00
892895f3db chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.81 2025-03-07 21:06:58 +03:00
23e3c267de chore(deps): update dependency @types/node to v22.13.9 2025-03-06 21:19:01 +03:00
57340f4287 chore(deps): update dependency prettier to v3.5.3 2025-03-06 10:11:05 +03:00
82dada939a chore(deps): update dependency vue-tsc to v2.2.8 2025-03-05 15:23:51 +03:00
8826cd3782 chore(deps): update dependency @vue/typescript-plugin to v2.2.8 2025-03-05 15:22:29 +03:00
14a83214be chore(deps): update dependency @vue/language-server to v2.2.8 2025-03-05 14:21:23 +03:00
81afa71119 chore(deps): update dependency vue-tsc to v2.2.6 2025-03-04 14:13:57 +03:00
b22fe42b54 chore(deps): update dependency @vue/typescript-plugin to v2.2.6 2025-03-04 14:12:05 +03:00
0e38399d26 chore(deps): update dependency @vue/language-server to v2.2.6 2025-03-04 13:20:20 +03:00
9b3889435e chore(deps): update dependency @types/node to v22.13.8 2025-03-04 10:15:06 +03:00
8e58697245 chore(deps): update dependency @types/node to v22.13.7 2025-03-04 01:20:35 +03:00
cbe9c1e8e8 chore(deps): update dependency @types/node to v22.13.6 2025-03-04 00:23:44 +03:00
9d294c7239 chore(deps): update dependency typescript to v5.8.2 2025-03-03 20:12:43 +03:00
be225c2d8d chore(deps): update pnpm to v10.5.2 2025-03-02 10:31:13 +03:00
4fb6ac9a1a chore(deps): update pnpm to v10.5.1 2025-03-01 17:28:11 +03:00
80fb876b29 chore(deps): update pnpm to v10.5.0 2025-02-28 16:18:27 +03:00
fbea1ee811 chore(deps): update dependency sass to v1.85.1 2025-02-28 10:16:55 +03:00
66284b36ca chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.80 2025-02-27 22:44:03 +03:00
91bc2df524 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.80 2025-02-27 22:41:40 +03:00
3eec9b19dc chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.79 2025-02-26 22:09:04 +03:00
5c78d1bad6 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.79 2025-02-26 21:06:33 +03:00
258bba2592 chore(deps): update dependency vuepress to v2.0.0-rc.20 2025-02-26 19:14:03 +03:00
b3b3b5e4f9 chore(deps): update dependency @vue/typescript-plugin to v2.2.4 2025-02-26 18:34:04 +03:00
66c6dd181c chore(deps): update dependency vue-tsc to v2.2.4 2025-02-26 17:22:01 +03:00
8e643ca14d chore(deps): update dependency @vue/language-server to v2.2.4 2025-02-26 16:22:52 +03:00
7f0e6cbf66 chore(deps): update dependency prettier to v3.5.2 2025-02-25 10:14:05 +03:00
478aadbb8c chore(deps): update dependency eslint to v9.21.0 2025-02-25 01:25:28 +03:00
ab8fb2a661 chore(deps): update dependency @types/node to v22.13.5 2025-02-25 00:26:26 +03:00
0e33d70453 chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.78 2025-02-20 21:32:58 +03:00
60ecd46cf2 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.78 2025-02-20 21:30:15 +03:00
234b4ff89b chore(deps): update pnpm to v10.4.1 2025-02-20 01:17:59 +03:00
1ac86c1a08 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.77 2025-02-19 17:11:15 +03:00
ceb098995d chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.77 2025-02-19 16:10:31 +03:00
b4d0eff44b chore(deps): update dependency @vue/typescript-plugin to v2.2.2 2025-02-18 22:07:56 +03:00
34188201fc chore(deps): update dependency vue-tsc to v2.2.2 2025-02-18 21:27:04 +03:00
359f791782 chore(deps): update dependency @vue/language-server to v2.2.2 2025-02-18 20:18:33 +03:00
9daa41754d chore(deps): update pnpm to v10.4.0 2025-02-17 10:35:01 +03:00
066bfae255 chore(deps): update dependency sass to v1.85.0 2025-02-17 10:33:06 +03:00
e75f000ce2 chore(deps): update dependency @types/node to v22.13.4 2025-02-17 02:18:51 +03:00
f268b0066e chore(deps): update dependency @types/node to v22.13.3 2025-02-17 01:06:43 +03:00
5619606185 chore(deps): update dependency prettier to v3.5.1 2025-02-16 17:10:29 +03:00
5e70c2863e chore(deps): update dependency @types/node to v22.13.2 2025-02-16 10:15:19 +03:00
253bcdb337 chore(deps): update dependency eslint to v9.20.1 2025-02-14 21:17:48 +03:00
8467759fa8 chore(deps): update pnpm to v10.3.0 2025-02-14 10:18:36 +03:00
013bf4756d chore(deps): update dependency @vuepress/theme-default to v2.0.0-rc.76 2025-02-13 15:06:32 +03:00
653e26c966 chore(deps): update dependency @vue/eslint-config-typescript to v14.4.0 2025-02-12 17:06:00 +03:00
fa600f7e42 chore(deps): update dependency prettier to v3.5.0 2025-02-12 15:09:43 +03:00
008eacdb89 chore(deps): update dependency eslint to v9.20.0 2025-02-11 01:45:21 +03:00
44f81c4d7d chore(deps): pin dependencies 2025-02-10 21:36:23 +03:00
8cbca801db chore(deps): update pnpm to v10.2.1 2025-02-09 23:33:38 +03:00
3cbc037020 chore(deps): update dependency sass to v1.84.0 2025-02-09 10:38:58 +03:00
7503ffa80f chore(deps): update dependency @types/node to v22.13.1 2025-02-07 10:46:13 +03:00
d7933c3857 chore(deps): update pnpm to v10 2025-02-06 21:36:48 +03:00
155be22c66 chore(deps): update pnpm to v9.15.5 2025-02-05 21:34:35 +03:00
37d9fc40a3 chore(deps): update dependency @types/node to v22.13.0 2025-02-03 23:09:06 +03:00
f069b9762e
flake: drop building package 2025-02-03 11:03:54 +03:00
95d44e4939
ci: move prev version and tag message after switch 2025-02-03 10:40:20 +03:00
48391fc789 chore(deps): update dependency @vuepress/plugin-blog to v2.0.0-rc.74 2025-02-03 10:38:15 +03:00
8d86b00c24
ci: configure build via ci 2025-02-03 10:03:44 +03:00
26 changed files with 880 additions and 1329 deletions

View file

@ -0,0 +1,61 @@
name: Build
on:
push:
branches:
- main
jobs:
deploy:
runs-on: docker
permissions:
contents: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
with:
run_install: |
- recursive: true
args: [--frozen-lockfile, --strict-peer-dependencies]
- name: Build
run: |
pnpm build --dest DIST
rm -rf .pnpm-store
- name: Commit build
run: |
current_version=v$(cat package.json | grep version | grep -o -E '([0-9]+\.){2}[0-9]+')
git switch build
previous_version=$(git describe --tags --abbrev=0 2>/dev/null || echo '')
tag_message=`git log --pretty='format:%s' $previous_version..`
shopt -s extglob
shopt -s dotglob
rm -rf !(DIST|.git|.|..)
mv DIST/* .
rm -rf DIST
git add -A
git config --local user.email "forgejo-actions[bot]@noreply.pleshevski.ru"
git config --local user.name "Forgejo actions[bot]"
git commit -m "Deploy $(date +%Y-%m-%d)" --allow-empty
if [[ "$current_version" != "$previous_version" ]]; then
git tag $current_version -m "$current_version
$tag_message"
fi
- name: Push changes
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # v0.8.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: build
tags: true

View file

@ -7,8 +7,8 @@ jobs:
test-dependencies:
runs-on: docker
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
with:
run_install: |
- recursive: true

2
.gitignore vendored
View file

@ -15,3 +15,5 @@ node_modules/
/docs/.vuepress/.cache
/docs/.vuepress/.temp
/docs/.vuepress/dist
/dist

43
dist/404.html vendored
View file

@ -1,43 +0,0 @@
<!doctype html>
<html lang="ru-RU">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-rc.18" />
<style>
:root {
--vp-c-bg: #fff;
}
[data-theme='dark'] {
--vp-c-bg: #1b1b1f;
}
html,
body {
background-color: var(--vp-c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme')
const systemDarkMode =
'matchMedia' in window
? window.matchMedia('(prefers-color-scheme: dark)').matches
: false
if (userMode === 'light') {
document.documentElement.dataset.theme = 'light'
} else if (userMode === 'dark' || systemDarkMode) {
document.documentElement.dataset.theme = 'dark'
}
</script>
<meta property="og:url" content="https://pleshevski.ru/404.html"><meta property="og:site_name" content="Дмитрий Плешевский"><meta property="og:type" content="website"><meta property="og:locale" content="ru-RU"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":""}</script><title>Дмитрий Плешевский</title><meta name="description" content=" ">
<link rel="preload" href="/assets/style-CyqMEKOR.css" as="style"><link rel="stylesheet" href="/assets/style-CyqMEKOR.css">
<link rel="modulepreload" href="/assets/app-CvTe0YTg.js"><link rel="modulepreload" href="/assets/404.html-BGekuXRq.js">
<link rel="prefetch" href="/assets/index.html-D7ve43IL.js" as="script"><link rel="prefetch" href="/assets/works.html-NBBFoiT7.js" as="script"><link rel="prefetch" href="/assets/index.html-B5LWGqHO.js" as="script"><link rel="prefetch" href="/assets/works.html-CihZ59B-.js" as="script">
</head>
<body>
<div id="app"><!--[--><div class="vp-theme-container" vp-container data-v-9607bbd4><main class="page" data-v-9607bbd4><div class="theme-default-content" vp-content data-v-9607bbd4><h1 data-v-9607bbd4>404</h1><blockquote data-v-9607bbd4>Ошиблись в параллельной вселенной.</blockquote><a class="route-link" href="/" data-v-9607bbd4>Вернуться на главную</a></div></main></div><!--[--><!----><!--]--><!--]--></div>
<script type="module" src="/assets/app-CvTe0YTg.js" defer></script>
</body>
</html>

View file

@ -1 +0,0 @@
import{_ as e,c as o,a,o as n}from"./app-CvTe0YTg.js";const r={};function l(p,t){return n(),o("div",null,t[0]||(t[0]=[a("p",null,"404 Not Found",-1)]))}const c=e(r,[["render",l],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{c as comp,m as data};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

43
dist/eng/index.html vendored

File diff suppressed because one or more lines are too long

43
dist/eng/works.html vendored

File diff suppressed because one or more lines are too long

43
dist/index.html vendored

File diff suppressed because one or more lines are too long

5
dist/robots.txt vendored
View file

@ -1,5 +0,0 @@
User-agent:*
Disallow:
Sitemap: https://pleshevski.ru/sitemap.xml

17
dist/rus/index.html vendored
View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="robots" content="noindex">
<meta http-equiv="refresh" content="0; url=/index.html">
<link rel="canonical" href="/index.html">
<title>Redirecting...</title>
<script>
const anchor = window.location.hash.substring(1);
location.href = `/index.html${anchor? `#${anchor}`: ""}`;
</script>
</head>
<body>
<p>Redirecting...</p>
</body>
</html>

17
dist/rus/works.html vendored
View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="robots" content="noindex">
<meta http-equiv="refresh" content="0; url=/works.html">
<link rel="canonical" href="/works.html">
<title>Redirecting...</title>
<script>
const anchor = window.location.hash.substring(1);
location.href = `/works.html${anchor? `#${anchor}`: ""}`;
</script>
</head>
<body>
<p>Redirecting...</p>
</body>
</html>

3
dist/sitemap.xml vendored
View file

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://pleshevski.ru/</loc><lastmod>2024-09-05T22:11:51.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/"/></url><url><loc>https://pleshevski.ru/works.html</loc><lastmod>2024-08-07T08:48:54.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/works.html"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/works.html"/></url><url><loc>https://pleshevski.ru/eng/</loc><lastmod>2024-09-05T22:11:51.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/"/></url><url><loc>https://pleshevski.ru/eng/works.html</loc><lastmod>2024-08-07T08:48:54.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/works.html"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/works.html"/></url></urlset>

207
dist/sitemap.xsl vendored
View file

@ -1,207 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XML Sitemap</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0;" />
<style>
:root {
--bg-color: #f8f8f8;
--bg-color-secondary: #fff;
--text-color: #2c3e50;
--border-color: #eaecef;
--brand-color: #3eaf7c;
color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
:root {
--bg-color: #0d1117;
--bg-color-secondary: #161b22;
--text-color: #ccc;
--border-color: #30363d;
}
}
html,
body {
margin: 0;
padding: 0;
background: var(--bg-color);
}
html {
font-size: 14px;
}
body {
min-height: 100vh;
color: var(--text-color);
text-align: center;
}
#content {
max-width: 960px;
margin: 0 auto;
}
h1 {
margin-top: 1rem;
font-size: 2rem;
}
@media (max-width: 419px) {
h1 {
font-size: 1.5rem;
}
}
a {
color: var(--text-color);
font-weight: 500;
overflow-wrap: break-word;
}
table {
width: 100%;
border-radius: 8px;
border-collapse: collapse;
text-align: center;
overflow: hidden;
}
@media (max-width: 419px) {
table {
border-radius: 0;
}
}
th {
min-width: 56px;
padding: 0.6em 1em;
background-color: var(--brand-color);
color: var(--bg-color);
font-weight: bold;
font-size: 16px;
}
@media (max-width: 719px) {
th {
font-size: 14px;
}
}
th:first-child {
text-align: start;
}
tr:nth-child(odd) {
background: var(--bg-color-secondary);
}
tr:hover {
background-color: #e8e8e8;
}
@media (prefers-color-scheme: dark) {
tr:hover {
background-color: #333;
}
}
td {
padding: 0.6em 1em;
}
@media (max-width: 719px) {
td {
font-size: 12px;
}
}
td:first-child {
text-align: start;
}
footer {
margin-top: 10px;
padding: 4px;
color: #888;
font-size: 12px;
text-align: center;
}
</style>
</head>
<body>
<div id="content">
<h1>Sitemap</h1>
<table>
<thead>
<tr>
<th>
<xsl:value-of select="concat('URL (', count(sitemap:urlset/sitemap:url), ')')" />
</th>
<th>Priority</th>
<th>Change Frequency</th>
<th>Last Updated Time</th>
</tr>
</thead>
<tbody>
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:for-each select="sitemap:urlset/sitemap:url">
<tr>
<td>
<xsl:variable name="itemURL">
<xsl:value-of select="sitemap:loc" />
</xsl:variable>
<a href="{$itemURL}" target="_blank">
<xsl:value-of select="sitemap:loc" />
</a>
</td>
<td>
<xsl:choose>
<xsl:when test="sitemap:priority">
<xsl:value-of select="concat(sitemap:priority*100,'%a')" />
</xsl:when>
<xsl:otherwise>
<xsl:text>0.5</xsl:text>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<xsl:when test="sitemap:changefreq">
<xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))" />
</xsl:when>
<xsl:otherwise>
<xsl:text>-</xsl:text>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))" />
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
<footer>
Generatd by <a href="https://ecosystem.vuejs.press/plugins/sitemap/">@vuepress/plugin-sitemap</a>
</footer>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

43
dist/works.html vendored

File diff suppressed because one or more lines are too long

View file

@ -10,8 +10,18 @@ Always up-to-date link to [resume](/eng/).
My name is Dmitriy Pleshevskiy.
I'm an open source software enthusiast, a lead software developer, architect,
team leader and also mentor.
As an open-source development enthusiast, I am always ready to collaborate and
participate in exciting projects. I am inspired by the opportunity to contribute
to the community and share knowledge. The core technologies I work with include
`TypeScript`, `Rust`, `Python`, `PostgreSQL`, `Minio`, `RabbitMQ`, `React`,
`VueJS`, and `Docker`. I have a particular passion for functional programming,
which enables writing clean and efficient code. As a NixOS evangelist, I not
only actively use it in my projects but also promote its adoption among
individuals and companies, highlighting its advantages and assisting in its
implementation within their infrastructure. My extensive experience in backend
and frontend development, as well as in DevOps, allows me to tackle complex
challenges effectively. Additionally, I have expertise as an architect, team
leader, and mentor.
## Skills
@ -34,7 +44,7 @@ team leader and also mentor.
- Sqlite
- MsSQL
- MongoDB
- Reddis
- Redis
- Minio (prefer, solid 5-year exp)
---

View file

@ -10,9 +10,17 @@ heroText: null
Меня зовут Дмитрий Плешевский.
Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий
разработчик програмного обеспечения, архитектор, руководитель команды, а так же
ментор.
Как энтузиаст open-source разработки, я всегда готов к сотрудничеству и участию
в интересных проектах. Меня вдохновляет возможность вносить вклад в сообщество и
делиться знаниями. Основные технологии, с которыми я работаю, включают
`TypeScript`, `Rust`, `Python`, `PostgreSQL`, `Minio`, `RabbitMQ`, `React`,
`VueJS`, `Docker`. Особенно люблю функциональное программирование, которое
позволяет писать чистый и эффективный код. Как евангелист `NixOS`, я не только
активно использую его в своих проектах, но и активно агитирую людей и компании
переходить на эту систему, подчеркивая ее преимущества и помогая внедрять ее в
их инфраструктуру. Большой опыт в разработке backend и frontend приложений, а
также в DevOps, позволяет эффективно решать сложные задачи. Также имею опыт
работы в качестве архитектора, руководителя команды и наставника.
## Умения
@ -35,7 +43,7 @@ heroText: null
- Sqlite
- MsSQL
- MongoDB
- Reddis
- Redis
- Minio (предпочитаю, твердый 5-летний опыт)
---
@ -98,7 +106,7 @@ Open-source проекты - моя страсть! Разрабатываю, п
## Контакты
Simplex (Предпочтительно): [Dmitriy
Simplex (Предпочтительно): [Dmitriy
Pleshevskiy](https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FZKe4uxF4Z_aLJJOEsC-Y6hSkXgQS5-oc442JQGkyP8M%3D%40smp17.simplex.im%2F8JE7lkP68DZG-1DP8U8_njTlIz9fzRzf%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAxdWiN9so1FqPVTsKhS4Y2OK80zzUvsIZ1Yo77kYV6Co%253D%26srv%3Dogtwfxyi3h2h5weftjjpjmxclhb5ugufa5rcyrmg7j4xlch7qsr5nuqd.onion)
Telegram: [Dmitriy Pleshevskiy](https://telegram.me/da_pranaya)

12
flake.lock generated
View file

@ -5,11 +5,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@ -20,11 +20,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1721562059,
"narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=",
"lastModified": 1741513245,
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe",
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
"type": "github"
},
"original": {

View file

@ -10,26 +10,9 @@
let
out = system:
let
inherit (builtins) substring;
pkgs = import nixpkgs { inherit system; };
version = "0.0.1+${substring 0 8 self.lastModifiedDate}_${self.shortRev or "dirty"}";
in
{
packages.default = with pkgs; stdenv.mkDerivation (finalAttrs: {
pname = "pleshevski_site";
inherit version;
src = ./.;
dontBuild = true;
installPhase = ''
mkdir -p $out
cp -r dist/* $out
'';
});
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
pre-commit

View file

@ -2,34 +2,34 @@
"$schema": "https://json.schemastore.org/package.json",
"name": "pleshevskiy",
"description": "Dmitriy Pleshevskiy",
"version": "0.0.1",
"version": "1.0.2",
"type": "module",
"private": true,
"packageManager": "pnpm@9.15.4",
"packageManager": "pnpm@10.7.1",
"scripts": {
"build": "vuepress build docs",
"dev": "vuepress dev docs"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.1.4",
"@types/node": "^22.1.0",
"@vitejs/plugin-vue": "^5.0.0",
"@vue/eslint-config-prettier": "^10.0.0",
"@vue/eslint-config-typescript": "^14.0.0",
"@vue/language-server": "^2.0.19",
"@vue/tsconfig": "^0.7.0",
"@vue/typescript-plugin": "^2.0.19",
"@vuepress/bundler-vite": "^2.0.0-rc.7",
"@vuepress/plugin-blog": "^2.0.0-rc.11",
"@rushstack/eslint-patch": "1.11.0",
"@types/node": "22.14.0",
"@vitejs/plugin-vue": "5.2.3",
"@vue/eslint-config-prettier": "10.2.0",
"@vue/eslint-config-typescript": "14.5.0",
"@vue/language-server": "2.2.8",
"@vue/tsconfig": "0.7.0",
"@vue/typescript-plugin": "2.2.8",
"@vuepress/bundler-vite": "2.0.0-rc.7",
"@vuepress/plugin-blog": "2.0.0-rc.91",
"@vuepress/plugin-redirect": "2.0.0-rc.8",
"@vuepress/theme-default": "^2.0.0-rc.11",
"eslint": "<10.0.0",
"eslint-plugin-vue": "^9.14.1",
"prettier": ">=3.0.0",
"sass": "^1.79.5",
"typescript": "~5.7.0",
"vue": "^3.4.0",
"vue-tsc": "^2.0.0",
"vuepress": "^2.0.0-rc.7"
"@vuepress/theme-default": "2.0.0-rc.91",
"eslint": "9.24.0",
"eslint-plugin-vue": "10.0.0",
"prettier": "3.5.3",
"sass": "1.86.3",
"typescript": "5.8.3",
"vue": "3.5.13",
"vue-tsc": "2.2.8",
"vuepress": "2.0.0-rc.20"
}
}

1536
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff