refac: use vuepress

This commit is contained in:
Dmitriy Pleshevskiy 2024-07-24 17:15:05 +03:00
parent 97b65ccfe8
commit 9a519d32f7
Signed by: pleshevskiy
GPG key ID: 17041163DA10A9A2
185 changed files with 26295 additions and 30 deletions

17
.gitignore vendored
View file

@ -1,6 +1,13 @@
# misc # editors
.DS_Store .idea/
.vscode/
*.swp
# direnv # direnv
/.envrc .direnv
/.direnv/ .envrc
# nodejs
node_modules/
# nix
/result
# custom
.DS_Store

View file

@ -0,0 +1,11 @@
import {
isPerformanceSupported,
now,
setupDevtoolsPlugin
} from "./chunk-D2YVLGJ5.js";
export {
isPerformanceSupported,
now,
setupDevtoolsPlugin
};
//# sourceMappingURL=@vue_devtools-api.js.map

View file

@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View file

@ -0,0 +1,137 @@
// node_modules/.pnpm/@vuepress+shared@2.0.0-rc.14/node_modules/@vuepress/shared/dist/index.js
var isLinkWithProtocol = (link) => /^[a-z][a-z0-9+.-]*:/.test(link) || link.startsWith("//");
var markdownLinkRegexp = /.md((\?|#).*)?$/;
var isLinkExternal = (link, base = "/") => isLinkWithProtocol(link) || // absolute link that does not start with `base` and does not end with `.md`
link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link);
var isLinkHttp = (link) => /^(https?:)?\/\//.test(link);
var inferRoutePath = (path) => {
if (!path || path.endsWith("/"))
return path;
let routePath = path.replace(/(^|\/)README.md$/i, "$1index.html");
if (routePath.endsWith(".md")) {
routePath = routePath.substring(0, routePath.length - 3) + ".html";
} else if (!routePath.endsWith(".html")) {
routePath = routePath + ".html";
}
if (routePath.endsWith("/index.html")) {
routePath = routePath.substring(0, routePath.length - 10);
}
return routePath;
};
var FAKE_HOST = "http://.";
var normalizeRoutePath = (pathname, current) => {
if (!pathname.startsWith("/") && current) {
const loc = current.slice(0, current.lastIndexOf("/"));
return inferRoutePath(new URL(`${loc}/${pathname}`, FAKE_HOST).pathname);
}
return inferRoutePath(pathname);
};
var resolveLocalePath = (locales, routePath) => {
const localePaths = Object.keys(locales).sort((a, b) => {
const levelDelta = b.split("/").length - a.split("/").length;
if (levelDelta !== 0) {
return levelDelta;
}
return b.length - a.length;
});
for (const localePath of localePaths) {
if (routePath.startsWith(localePath)) {
return localePath;
}
}
return "/";
};
var resolveRoutePathFromUrl = (url, base = "/") => {
const pathname = url.replace(/^(?:https?:)?\/\/[^/]*/, "");
return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;
};
var SPLIT_CHAR_REGEXP = /(#|\?)/;
var splitPath = (path) => {
const [pathname, ...hashAndQueries] = path.split(SPLIT_CHAR_REGEXP);
return {
pathname,
hashAndQueries: hashAndQueries.join("")
};
};
var TAGS_ALLOWED = ["link", "meta", "script", "style", "noscript", "template"];
var TAGS_UNIQUE = ["title", "base"];
var resolveHeadIdentifier = ([tag, attrs, content]) => {
if (TAGS_UNIQUE.includes(tag)) {
return tag;
}
if (!TAGS_ALLOWED.includes(tag)) {
return null;
}
if (tag === "meta" && attrs.name) {
return `${tag}.${attrs.name}`;
}
if (tag === "template" && attrs.id) {
return `${tag}.${attrs.id}`;
}
return JSON.stringify([
tag,
Object.entries(attrs).map(([key, value]) => {
if (typeof value === "boolean") {
return value ? [key, ""] : null;
}
return [key, value];
}).filter((item) => item != null).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)),
content
]);
};
var dedupeHead = (head) => {
const identifierSet = /* @__PURE__ */ new Set();
const result = [];
head.forEach((item) => {
const identifier = resolveHeadIdentifier(item);
if (identifier && !identifierSet.has(identifier)) {
identifierSet.add(identifier);
result.push(item);
}
});
return result;
};
var ensureLeadingSlash = (str) => str[0] === "/" ? str : `/${str}`;
var ensureEndingSlash = (str) => str[str.length - 1] === "/" || str.endsWith(".html") ? str : `${str}/`;
var formatDateString = (str, defaultDateString = "") => {
const dateMatch = str.match(/\b(\d{4})-(\d{1,2})-(\d{1,2})\b/);
if (dateMatch === null) {
return defaultDateString;
}
const [, yearStr, monthStr, dayStr] = dateMatch;
return [yearStr, monthStr.padStart(2, "0"), dayStr.padStart(2, "0")].join("-");
};
var omit = (obj, ...keys) => {
const result = { ...obj };
for (const key of keys) {
delete result[key];
}
return result;
};
var removeEndingSlash = (str) => str[str.length - 1] === "/" ? str.slice(0, -1) : str;
var removeLeadingSlash = (str) => str[0] === "/" ? str.slice(1) : str;
var isFunction = (val) => typeof val === "function";
var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]";
var isString = (val) => typeof val === "string";
export {
dedupeHead,
ensureEndingSlash,
ensureLeadingSlash,
formatDateString,
inferRoutePath,
isFunction,
isLinkExternal,
isLinkHttp,
isLinkWithProtocol,
isPlainObject,
isString,
normalizeRoutePath,
omit,
removeEndingSlash,
removeLeadingSlash,
resolveHeadIdentifier,
resolveLocalePath,
resolveRoutePathFromUrl,
splitPath
};
//# sourceMappingURL=@vuepress_shared.js.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,40 @@
{
"hash": "11e304a9",
"configHash": "3a3b7514",
"lockfileHash": "dca81cb4",
"browserHash": "72db5cd6",
"optimized": {
"@vue/devtools-api": {
"src": "../../../../node_modules/.pnpm/@vue+devtools-api@6.6.3/node_modules/@vue/devtools-api/lib/esm/index.js",
"file": "@vue_devtools-api.js",
"fileHash": "3b57414b",
"needsInterop": false
},
"@vuepress/shared": {
"src": "../../../../node_modules/.pnpm/@vuepress+shared@2.0.0-rc.14/node_modules/@vuepress/shared/dist/index.js",
"file": "@vuepress_shared.js",
"fileHash": "afbb743f",
"needsInterop": false
},
"vue": {
"src": "../../../../node_modules/.pnpm/vue@3.4.33_typescript@5.4.5/node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "c467b67e",
"needsInterop": false
},
"vue-router": {
"src": "../../../../node_modules/.pnpm/vue-router@4.4.0_vue@3.4.33_typescript@5.4.5_/node_modules/vue-router/dist/vue-router.esm-bundler.js",
"file": "vue-router.js",
"fileHash": "0988a85c",
"needsInterop": false
}
},
"chunks": {
"chunk-D2YVLGJ5": {
"file": "chunk-D2YVLGJ5.js"
},
"chunk-RM7W5GHC": {
"file": "chunk-RM7W5GHC.js"
}
}
}

View file

@ -0,0 +1,164 @@
// node_modules/.pnpm/@vue+devtools-api@6.6.3/node_modules/@vue/devtools-api/lib/esm/env.js
function getDevtoolsGlobalHook() {
return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
}
function getTarget() {
return typeof navigator !== "undefined" && typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : {};
}
var isProxyAvailable = typeof Proxy === "function";
// node_modules/.pnpm/@vue+devtools-api@6.6.3/node_modules/@vue/devtools-api/lib/esm/const.js
var HOOK_SETUP = "devtools-plugin:setup";
var HOOK_PLUGIN_SETTINGS_SET = "plugin:settings:set";
// node_modules/.pnpm/@vue+devtools-api@6.6.3/node_modules/@vue/devtools-api/lib/esm/time.js
var supported;
var perf;
function isPerformanceSupported() {
var _a;
if (supported !== void 0) {
return supported;
}
if (typeof window !== "undefined" && window.performance) {
supported = true;
perf = window.performance;
} else if (typeof globalThis !== "undefined" && ((_a = globalThis.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {
supported = true;
perf = globalThis.perf_hooks.performance;
} else {
supported = false;
}
return supported;
}
function now() {
return isPerformanceSupported() ? perf.now() : Date.now();
}
// node_modules/.pnpm/@vue+devtools-api@6.6.3/node_modules/@vue/devtools-api/lib/esm/proxy.js
var ApiProxy = class {
constructor(plugin, hook) {
this.target = null;
this.targetQueue = [];
this.onQueue = [];
this.plugin = plugin;
this.hook = hook;
const defaultSettings = {};
if (plugin.settings) {
for (const id in plugin.settings) {
const item = plugin.settings[id];
defaultSettings[id] = item.defaultValue;
}
}
const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
let currentSettings = Object.assign({}, defaultSettings);
try {
const raw = localStorage.getItem(localSettingsSaveId);
const data = JSON.parse(raw);
Object.assign(currentSettings, data);
} catch (e) {
}
this.fallbacks = {
getSettings() {
return currentSettings;
},
setSettings(value) {
try {
localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
} catch (e) {
}
currentSettings = value;
},
now() {
return now();
}
};
if (hook) {
hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
if (pluginId === this.plugin.id) {
this.fallbacks.setSettings(value);
}
});
}
this.proxiedOn = new Proxy({}, {
get: (_target, prop) => {
if (this.target) {
return this.target.on[prop];
} else {
return (...args) => {
this.onQueue.push({
method: prop,
args
});
};
}
}
});
this.proxiedTarget = new Proxy({}, {
get: (_target, prop) => {
if (this.target) {
return this.target[prop];
} else if (prop === "on") {
return this.proxiedOn;
} else if (Object.keys(this.fallbacks).includes(prop)) {
return (...args) => {
this.targetQueue.push({
method: prop,
args,
resolve: () => {
}
});
return this.fallbacks[prop](...args);
};
} else {
return (...args) => {
return new Promise((resolve) => {
this.targetQueue.push({
method: prop,
args,
resolve
});
});
};
}
}
});
}
async setRealTarget(target) {
this.target = target;
for (const item of this.onQueue) {
this.target.on[item.method](...item.args);
}
for (const item of this.targetQueue) {
item.resolve(await this.target[item.method](...item.args));
}
}
};
// node_modules/.pnpm/@vue+devtools-api@6.6.3/node_modules/@vue/devtools-api/lib/esm/index.js
function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
const descriptor = pluginDescriptor;
const target = getTarget();
const hook = getDevtoolsGlobalHook();
const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
} else {
const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
list.push({
pluginDescriptor: descriptor,
setupFn,
proxy
});
if (proxy) {
setupFn(proxy.proxiedTarget);
}
}
}
export {
isPerformanceSupported,
now,
setupDevtoolsPlugin
};
//# sourceMappingURL=chunk-D2YVLGJ5.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
{
"type": "module"
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,323 @@
import {
BaseTransition,
BaseTransitionPropsValidators,
Comment,
DeprecationTypes,
EffectScope,
ErrorCodes,
ErrorTypeStrings,
Fragment,
KeepAlive,
ReactiveEffect,
Static,
Suspense,
Teleport,
Text,
TrackOpTypes,
Transition,
TransitionGroup,
TriggerOpTypes,
VueElement,
assertNumber,
callWithAsyncErrorHandling,
callWithErrorHandling,
camelize,
capitalize,
cloneVNode,
compatUtils,
compile,
computed,
createApp,
createBaseVNode,
createBlock,
createCommentVNode,
createElementBlock,
createHydrationRenderer,
createPropsRestProxy,
createRenderer,
createSSRApp,
createSlots,
createStaticVNode,
createTextVNode,
createVNode,
customRef,
defineAsyncComponent,
defineComponent,
defineCustomElement,
defineEmits,
defineExpose,
defineModel,
defineOptions,
defineProps,
defineSSRCustomElement,
defineSlots,
devtools,
effect,
effectScope,
getCurrentInstance,
getCurrentScope,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
initCustomFormatter,
initDirectivesForSSR,
inject,
isMemoSame,
isProxy,
isReactive,
isReadonly,
isRef,
isRuntimeOnly,
isShallow,
isVNode,
markRaw,
mergeDefaults,
mergeModels,
mergeProps,
nextTick,
normalizeClass,
normalizeProps,
normalizeStyle,
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
onDeactivated,
onErrorCaptured,
onMounted,
onRenderTracked,
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
openBlock,
popScopeId,
provide,
proxyRefs,
pushScopeId,
queuePostFlushCb,
reactive,
readonly,
ref,
registerRuntimeCompiler,
render,
renderList,
renderSlot,
resolveComponent,
resolveDirective,
resolveDynamicComponent,
resolveFilter,
resolveTransitionHooks,
setBlockTracking,
setDevtoolsHook,
setTransitionHooks,
shallowReactive,
shallowReadonly,
shallowRef,
ssrContextKey,
ssrUtils,
stop,
toDisplayString,
toHandlerKey,
toHandlers,
toRaw,
toRef,
toRefs,
toValue,
transformVNodeArgs,
triggerRef,
unref,
useAttrs,
useCssModule,
useCssVars,
useModel,
useSSRContext,
useSlots,
useTransitionState,
vModelCheckbox,
vModelDynamic,
vModelRadio,
vModelSelect,
vModelText,
vShow,
version,
warn,
watch,
watchEffect,
watchPostEffect,
watchSyncEffect,
withAsyncContext,
withCtx,
withDefaults,
withDirectives,
withKeys,
withMemo,
withModifiers,
withScopeId
} from "./chunk-RM7W5GHC.js";
export {
BaseTransition,
BaseTransitionPropsValidators,
Comment,
DeprecationTypes,
EffectScope,
ErrorCodes,
ErrorTypeStrings,
Fragment,
KeepAlive,
ReactiveEffect,
Static,
Suspense,
Teleport,
Text,
TrackOpTypes,
Transition,
TransitionGroup,
TriggerOpTypes,
VueElement,
assertNumber,
callWithAsyncErrorHandling,
callWithErrorHandling,
camelize,
capitalize,
cloneVNode,
compatUtils,
compile,
computed,
createApp,
createBlock,
createCommentVNode,
createElementBlock,
createBaseVNode as createElementVNode,
createHydrationRenderer,
createPropsRestProxy,
createRenderer,
createSSRApp,
createSlots,
createStaticVNode,
createTextVNode,
createVNode,
customRef,
defineAsyncComponent,
defineComponent,
defineCustomElement,
defineEmits,
defineExpose,
defineModel,
defineOptions,
defineProps,
defineSSRCustomElement,
defineSlots,
devtools,
effect,
effectScope,
getCurrentInstance,
getCurrentScope,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
initCustomFormatter,
initDirectivesForSSR,
inject,
isMemoSame,
isProxy,
isReactive,
isReadonly,
isRef,
isRuntimeOnly,
isShallow,
isVNode,
markRaw,
mergeDefaults,
mergeModels,
mergeProps,
nextTick,
normalizeClass,
normalizeProps,
normalizeStyle,
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
onDeactivated,
onErrorCaptured,
onMounted,
onRenderTracked,
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
openBlock,
popScopeId,
provide,
proxyRefs,
pushScopeId,
queuePostFlushCb,
reactive,
readonly,
ref,
registerRuntimeCompiler,
render,
renderList,
renderSlot,
resolveComponent,
resolveDirective,
resolveDynamicComponent,
resolveFilter,
resolveTransitionHooks,
setBlockTracking,
setDevtoolsHook,
setTransitionHooks,
shallowReactive,
shallowReadonly,
shallowRef,
ssrContextKey,
ssrUtils,
stop,
toDisplayString,
toHandlerKey,
toHandlers,
toRaw,
toRef,
toRefs,
toValue,
transformVNodeArgs,
triggerRef,
unref,
useAttrs,
useCssModule,
useCssVars,
useModel,
useSSRContext,
useSlots,
useTransitionState,
vModelCheckbox,
vModelDynamic,
vModelRadio,
vModelSelect,
vModelText,
vShow,
version,
warn,
watch,
watchEffect,
watchPostEffect,
watchSyncEffect,
withAsyncContext,
withCtx,
withDefaults,
withDirectives,
withKeys,
withMemo,
withModifiers,
withScopeId
};
//# sourceMappingURL=vue.js.map

View file

@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View file

@ -0,0 +1,13 @@
export const categoriesMap = {"category":{"/":{"path":"/category/","map":{"History":{"path":"/category/history/","indexes":[0,1]},"CategoryA":{"path":"/category/categorya/","indexes":[2,3,4,5,6,7,8,9,10,11,12,13]},"CategoryB":{"path":"/category/categoryb/","indexes":[2,3,4,5,6,7,8,10,11,12]},"CategoryC":{"path":"/category/categoryc/","indexes":[14,15]}}}},"tag":{"/":{"path":"/tag/","map":{"WWI":{"path":"/tag/wwi/","indexes":[1]},"WWII":{"path":"/tag/wwii/","indexes":[0]},"tag A":{"path":"/tag/tag-a/","indexes":[5,6,7,8,9,13]},"tag B":{"path":"/tag/tag-b/","indexes":[5,6,7,8,9,13]},"tag C":{"path":"/tag/tag-c/","indexes":[2,3,4,10,11,12]},"tag D":{"path":"/tag/tag-d/","indexes":[2,3,4,10,11,12]},"tag E":{"path":"/tag/tag-e/","indexes":[14,15]}}}}};
if (import.meta.webpackHot) {
import.meta.webpackHot.accept();
if (__VUE_HMR_RUNTIME__.updateBlogCategory)
__VUE_HMR_RUNTIME__.updateBlogCategory(categoriesMap);
}
if (import.meta.hot)
import.meta.hot.accept(({ categoriesMap }) => {
__VUE_HMR_RUNTIME__.updateBlogCategory(categoriesMap);
});

View file

@ -0,0 +1 @@
export const store = ["/posts/archive2.html","/posts/archive1.html","/posts/article9.html","/posts/article8.html","/posts/article7.html","/posts/article6.html","/posts/article5.html","/posts/article4.html","/posts/article3.html","/posts/article2.html","/posts/article12.html","/posts/article11.html","/posts/article10.html","/posts/article1.html","/posts/sticky2.html","/posts/sticky.html"];

View file

@ -0,0 +1,14 @@
export const typesMap = {"article":{"/":{"path":"/article/","indexes":[14,15,10,11,12,2,3,4,5,6,7,8,9,13]}},"timeline":{"/":{"path":"/timeline/","indexes":[10,11,12,2,3,4,5,6,7,8,9,13,15,14,0,1]}}};
if (import.meta.webpackHot) {
import.meta.webpackHot.accept();
if (__VUE_HMR_RUNTIME__.updateBlogType)
__VUE_HMR_RUNTIME__.updateBlogType(typesMap);
}
if (import.meta.hot)
import.meta.hot.accept(({ typesMap }) => {
__VUE_HMR_RUNTIME__.updateBlogType(typesMap);
});

View file

@ -0,0 +1,23 @@
import * as clientConfig0 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-active-header-links@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepr_obvmxol4p7ous24hhjzuf6fa7a/node_modules/@vuepress/plugin-active-header-links/lib/client/config.js'
import * as clientConfig1 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-back-to-top@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bund_mkhuecea5oy6h4a7dzpwjaebny/node_modules/@vuepress/plugin-back-to-top/lib/client/config.js'
import * as clientConfig2 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-copy-code@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bundle_c2brinxy4vkjlhszafb3q7gshq/node_modules/@vuepress/plugin-copy-code/lib/client/config.js'
import * as clientConfig3 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-medium-zoom@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bund_u5bhzomcazcblmgzgw4r4nl7be/node_modules/@vuepress/plugin-medium-zoom/lib/client/config.js'
import * as clientConfig4 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-nprogress@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bundle_3mj7x4e3u2kyylgtchjhaso7pi/node_modules/@vuepress/plugin-nprogress/lib/client/config.js'
import * as clientConfig5 from '/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/prismjs/config.js'
import * as clientConfig6 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-theme-data@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bundl_tjok5gughv3in4asm55symwp3e/node_modules/@vuepress/plugin-theme-data/lib/client/config.js'
import * as clientConfig7 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+theme-default@2.0.0-rc.39_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bundler-v_kr6f4jqyis2mmqqfgh2o5uebzq/node_modules/@vuepress/theme-default/lib/client/config.js'
import * as clientConfig8 from '/home/jan/repos/pleshevski.ru/node_modules/.pnpm/@vuepress+plugin-redirect@2.0.0-rc.8_typescript@5.4.5_vuepress@2.0.0-rc.14_@vuepress+bundler-_d37tkq7tcxwk6l2h44hixxevxe/node_modules/@vuepress/plugin-redirect/lib/client/config.js'
import * as clientConfig9 from '/home/jan/repos/pleshevski.ru/docs/.vuepress/client.ts'
export const clientConfigs = [
clientConfig0,
clientConfig1,
clientConfig2,
clientConfig3,
clientConfig4,
clientConfig5,
clientConfig6,
clientConfig7,
clientConfig8,
clientConfig9,
].map((m) => m.default).filter(Boolean)

View file

@ -0,0 +1,26 @@
export const redirects = JSON.parse("{}")
export const routes = Object.fromEntries([
["/", { loader: () => import(/* webpackChunkName: "index.html" */"/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/index.html.js"), meta: {"title":"Резюме"} }],
["/works.html", { loader: () => import(/* webpackChunkName: "works.html" */"/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/works.html.js"), meta: {"title":"Работы"} }],
["/eng/", { loader: () => import(/* webpackChunkName: "eng_index.html" */"/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/eng/index.html.js"), meta: {"title":"Resume"} }],
["/eng/works.html", { loader: () => import(/* webpackChunkName: "eng_works.html" */"/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/eng/works.html.js"), meta: {"title":"Works"} }],
["/404.html", { loader: () => import(/* webpackChunkName: "404.html" */"/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/404.html.js"), meta: {"title":""} }],
]);
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updateRoutes) {
__VUE_HMR_RUNTIME__.updateRoutes(routes)
}
if (__VUE_HMR_RUNTIME__.updateRedirects) {
__VUE_HMR_RUNTIME__.updateRedirects(redirects)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ routes, redirects }) => {
__VUE_HMR_RUNTIME__.updateRoutes(routes)
__VUE_HMR_RUNTIME__.updateRedirects(redirects)
})
}

View file

@ -0,0 +1,14 @@
export const siteData = JSON.parse("{\"base\":\"/\",\"lang\":\"ru-RU\",\"title\":\"Дмитрий Плешевский\",\"description\":\" \",\"head\":[],\"locales\":{\"/\":{\"lang\":\"ru-RU\",\"title\":\"Дмитрий Плешевский\"},\"/eng/\":{\"lang\":\"en-US\",\"title\":\"Dmitriy Pleshevskiy\"}}}")
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updateSiteData) {
__VUE_HMR_RUNTIME__.updateSiteData(siteData)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ siteData }) => {
__VUE_HMR_RUNTIME__.updateSiteData(siteData)
})
}

View file

@ -0,0 +1,14 @@
export const themeData = JSON.parse("{\"repo\":\"https://git.pleshevski.ru/pleshevskiy/pleshevski.ru\",\"locales\":{\"/\":{\"selectLanguageName\":\"Русский\",\"navbar\":[\"/\",\"/works\"],\"notFound\":[\"Верните страницу!\",\"Мы потеряли страницу...\",\"Вы заблокированы в лабиринте.\",\"Искали кота?\",\"Страница украдена.\",\"Ошиблись в параллельной вселенной.\"],\"backToHome\":\"Вернуться на главную\",\"worksTable\":{\"name\":\"Название\",\"description\":\"Описание\",\"role\":\"Роль\",\"technologies\":\"Технологии\",\"start\":\"Начало\",\"statusOrEnd\":\"Статус/Окончание\"}},\"/eng/\":{\"selectLanguageName\":\"English\",\"navbar\":[\"/eng/\",\"/eng/works\"],\"notFound\":[\"Return the page!\",\"We lost a page...\",\"You're blocked in a labyrinth.\",\"Looking for a cat?\",\"The page has been stolen.\",\"Wrong turn in parallel universe.\"],\"backToHome\":\"Back to home\"}},\"colorMode\":\"auto\",\"colorModeSwitch\":true,\"navbar\":[],\"logo\":null,\"selectLanguageText\":\"Languages\",\"selectLanguageAriaLabel\":\"Select language\",\"sidebar\":\"heading\",\"sidebarDepth\":2,\"editLink\":true,\"editLinkText\":\"Edit this page\",\"lastUpdated\":true,\"lastUpdatedText\":\"Last Updated\",\"contributors\":true,\"contributorsText\":\"Contributors\",\"notFound\":[\"There's nothing here.\",\"How did we get here?\",\"That's a Four-Oh-Four.\",\"Looks like we've got some broken links.\"],\"backToHome\":\"Take me home\",\"openInNewWindow\":\"open in new window\",\"toggleColorMode\":\"toggle color mode\",\"toggleSidebar\":\"toggle sidebar\"}")
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updateThemeData) {
__VUE_HMR_RUNTIME__.updateThemeData(themeData)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ themeData }) => {
__VUE_HMR_RUNTIME__.updateThemeData(themeData)
})
}

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/404.html.vue"
const data = JSON.parse("{\"path\":\"/404.html\",\"title\":\"\",\"lang\":\"ru-RU\",\"frontmatter\":{\"layout\":\"NotFound\",\"description\":\"404 Not Found\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/404.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Дмитрий Плешевский\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"404 Not Found\"}],[\"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\\\":\\\"\\\",\\\"description\\\":\\\"404 Not Found\\\"}\"]]},\"headers\":[],\"git\":{},\"autoDesc\":true,\"filePathRelative\":null}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,4 @@
<template><div><p>404 Not Found</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/article/index.html.vue"
const data = JSON.parse("{\"path\":\"/article/\",\"title\":\"Articles\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Articles\",\"sidebar\":false,\"blog\":{\"type\":\"type\",\"key\":\"article\"},\"layout\":\"Article\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/category/categorya/index.html.vue"
const data = JSON.parse("{\"path\":\"/category/categorya/\",\"title\":\"Category CategoryA\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Category CategoryA\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"CategoryA\",\"key\":\"category\"},\"layout\":\"Category\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/category/categoryb/index.html.vue"
const data = JSON.parse("{\"path\":\"/category/categoryb/\",\"title\":\"Category CategoryB\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Category CategoryB\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"CategoryB\",\"key\":\"category\"},\"layout\":\"Category\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/category/categoryc/index.html.vue"
const data = JSON.parse("{\"path\":\"/category/categoryc/\",\"title\":\"Category CategoryC\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Category CategoryC\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"CategoryC\",\"key\":\"category\"},\"layout\":\"Category\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/category/history/index.html.vue"
const data = JSON.parse("{\"path\":\"/category/history/\",\"title\":\"Category History\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Category History\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"History\",\"key\":\"category\"},\"layout\":\"Category\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/category/index.html.vue"
const data = JSON.parse("{\"path\":\"/category/\",\"title\":\"Categories\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Categories\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"key\":\"category\"},\"layout\":\"Category\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/en/index.html.vue"
const data = JSON.parse("{\"path\":\"/en/\",\"title\":\"Резюме\",\"lang\":\"en-US\",\"frontmatter\":{\"home\":true,\"title\":\"Резюме\",\"heroText\":null,\"description\":\"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S...\"},\"headers\":[{\"level\":3,\"title\":\"Overview\",\"slug\":\"overview\",\"link\":\"#overview\",\"children\":[]},{\"level\":3,\"title\":\"Skills\",\"slug\":\"skills\",\"link\":\"#skills\",\"children\":[]},{\"level\":3,\"title\":\"Stack\",\"slug\":\"stack\",\"link\":\"#stack\",\"children\":[]},{\"level\":3,\"title\":\"Interests\",\"slug\":\"interests\",\"link\":\"#interests\",\"children\":[]},{\"level\":3,\"title\":\"Contacts\",\"slug\":\"contacts\",\"link\":\"#contacts\",\"children\":[]},{\"level\":3,\"title\":\"Links\",\"slug\":\"links\",\"link\":\"#links\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"en/index.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,90 @@
<template><div><p>Always up-to-date link to <RouteLink to="/eng/">resume</RouteLink>.</p>
<h3 id="overview" tabindex="-1"><a class="header-anchor" href="#overview"><span>Overview</span></a></h3>
<p>My name is Dmitriy Pleshevskiy.</p>
<p>I'm an open source software enthusiast, a lead software developer, architect,
team leader and also mentor.</p>
<h3 id="skills" tabindex="-1"><a class="header-anchor" href="#skills"><span>Skills</span></a></h3>
<p>Programming Languages:</p>
<ul>
<li>TypeScript (prefer, solid 9-year exp)</li>
<li>SQL (prefer, solid 8-year exp)</li>
<li>Rust (prefer, solid 5-year exp)</li>
<li>Python (solid 9-year exp)</li>
<li>Haskell</li>
<li>Bash</li>
<li>Java</li>
<li>C#</li>
<li>C++</li>
</ul>
<p>Databases:</p>
<ul>
<li>PostgreSQL (prefer, solid 7-year exp)</li>
<li>MySQL</li>
<li>Sqlite</li>
<li>MsSQL</li>
<li>MongoDB</li>
<li>Reddis</li>
</ul>
<p>I also have extensive experience in creating the following applications:</p>
<ul>
<li>Traditional (SSR + Forms)</li>
<li>API (REST/GraphQL/WebSocket/EventSource)</li>
<li>Dynamic (SPA)</li>
<li>Hybrid (SSR + SPA)</li>
<li>Console</li>
<li>Crossplatform</li>
</ul>
<h3 id="stack" tabindex="-1"><a class="header-anchor" href="#stack"><span>Stack</span></a></h3>
<p>Backend (Rust)</p>
<ul>
<li>axum (prefer, solid 2-year exp)</li>
<li>async-graphql (prefer, solid 2-year exp)</li>
<li>shaku (prefer, solid 2-year exp)</li>
<li>bb8 + postgres-types (prefer, solid 5-year exp)</li>
<li>diesel (2-year exp)</li>
</ul>
<p>Backend (Node.JS)</p>
<ul>
<li>Apollo (solid 5-year exp)</li>
<li>Express (solid 9-year exp)</li>
<li>Nest.JS</li>
<li>Knex.js / Objection.js (solid 5-year exp)</li>
<li>Sequelize</li>
</ul>
<p>Frontend</p>
<ul>
<li>React (solid 8-year exp)</li>
<li>VueJS (prefer, solid 3-year exp)</li>
<li>Cypress (prefer, solid 3-year exp)</li>
<li>JQuery</li>
<li>Antd / Antdv</li>
<li>PostCSS (prefer, solid 5-year exp)</li>
<li>Sass (prefer, solid 8-year exp)</li>
<li>Less (weak 4-year exp)</li>
</ul>
<p>DevOps</p>
<ul>
<li>NixOS / NixOps / Nix dev shell (prefer, solid 2-year exp)</li>
<li>Docker Swarm (prefer, solid 5-year exp)</li>
<li>Kubernetes (weak 4-year exp)</li>
<li>Woodpecker CI (prefer, solid 3-year exp)</li>
<li>Drone CI (solid 3-year exp)</li>
<li>Gitlab CI (solid 7-year exp)</li>
<li>GitHub Actions (3-year exp)</li>
</ul>
<h3 id="interests" tabindex="-1"><a class="header-anchor" href="#interests"><span>Interests</span></a></h3>
<p>Open-source projects are my passion! I develop, maintain and improve projects in
my spare time.</p>
<p>Besides programming, I love to cook and spend time with my beloved family!</p>
<h3 id="contacts" tabindex="-1"><a class="header-anchor" href="#contacts"><span>Contacts</span></a></h3>
<p>SimpleX:
<a href="https://simplex.chat/contact#/?v=1-2&amp;smp=smp%3A%2F%2FSkIkI6EPd2D63F4xFKfHk7I1UGZVNn6k1QWZ5rcyr6w%3D%40smp9.simplex.im%2FLfKyG0YgW5eRO-z8vrEyvnNfV2EKDfBv%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAMRpR3YB10GVzc-asfqY2oIFkipx5RQm4DZRabzjfPHo%253D%26srv%3Djssqzccmrcws6bhmn77vgmhfjmhwlyr3u7puw4erkyoosywgl67slqqd.onion" target="_blank" rel="noopener noreferrer">Dmitriy Pleshevskiy</a></p>
<p>Telegram: <a href="https://telegram.me/da_pranaya" target="_blank" rel="noopener noreferrer">Dmitriy Pleshevskiy</a></p>
<p>Matrix: @pleshevskiy:matrix.org</p>
<p>Email: dmitriy[at]pleshevski[dot]ru</p>
<h3 id="links" tabindex="-1"><a class="header-anchor" href="#links"><span>Links</span></a></h3>
<p><a href="https://git.pleshevski.ru/" target="_blank" rel="noopener noreferrer">My Git Repo</a></p>
<p><a href="https://github.com/pleshevskiy" target="_blank" rel="noopener noreferrer">My Github (Suspended due to sanctions)</a></p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/eng/index.html.vue"
const data = JSON.parse("{\"path\":\"/eng/\",\"title\":\"Resume\",\"lang\":\"en-US\",\"frontmatter\":{\"home\":true,\"title\":\"Resume\",\"heroText\":null,\"description\":\"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S...\",\"head\":[[\"link\",{\"rel\":\"alternate\",\"hreflang\":\"ru-ru\",\"href\":\"https://pleshevski.ru/\"}],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/eng/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Resume\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"en-US\"}],[\"meta\",{\"property\":\"og:locale:alternate\",\"content\":\"ru-RU\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"name\\\":\\\"Resume\\\",\\\"description\\\":\\\"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S...\\\"}\"]]},\"headers\":[{\"level\":3,\"title\":\"Overview\",\"slug\":\"overview\",\"link\":\"#overview\",\"children\":[]},{\"level\":3,\"title\":\"Skills\",\"slug\":\"skills\",\"link\":\"#skills\",\"children\":[]},{\"level\":3,\"title\":\"Stack\",\"slug\":\"stack\",\"link\":\"#stack\",\"children\":[]},{\"level\":3,\"title\":\"Interests\",\"slug\":\"interests\",\"link\":\"#interests\",\"children\":[]},{\"level\":3,\"title\":\"Contacts\",\"slug\":\"contacts\",\"link\":\"#contacts\",\"children\":[]},{\"level\":3,\"title\":\"Links\",\"slug\":\"links\",\"link\":\"#links\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"eng/index.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,90 @@
<template><div><p>Always up-to-date link to <RouteLink to="/eng/">resume</RouteLink>.</p>
<h3 id="overview" tabindex="-1"><a class="header-anchor" href="#overview"><span>Overview</span></a></h3>
<p>My name is Dmitriy Pleshevskiy.</p>
<p>I'm an open source software enthusiast, a lead software developer, architect,
team leader and also mentor.</p>
<h3 id="skills" tabindex="-1"><a class="header-anchor" href="#skills"><span>Skills</span></a></h3>
<p>Programming Languages:</p>
<ul>
<li>TypeScript (prefer, solid 9-year exp)</li>
<li>SQL (prefer, solid 8-year exp)</li>
<li>Rust (prefer, solid 5-year exp)</li>
<li>Python (solid 9-year exp)</li>
<li>Haskell</li>
<li>Bash</li>
<li>Java</li>
<li>C#</li>
<li>C++</li>
</ul>
<p>Databases:</p>
<ul>
<li>PostgreSQL (prefer, solid 7-year exp)</li>
<li>MySQL</li>
<li>Sqlite</li>
<li>MsSQL</li>
<li>MongoDB</li>
<li>Reddis</li>
</ul>
<p>I also have extensive experience in creating the following applications:</p>
<ul>
<li>Traditional (SSR + Forms)</li>
<li>API (REST/GraphQL/WebSocket/EventSource)</li>
<li>Dynamic (SPA)</li>
<li>Hybrid (SSR + SPA)</li>
<li>Console</li>
<li>Crossplatform</li>
</ul>
<h3 id="stack" tabindex="-1"><a class="header-anchor" href="#stack"><span>Stack</span></a></h3>
<p>Backend (Rust)</p>
<ul>
<li>axum (prefer, solid 2-year exp)</li>
<li>async-graphql (prefer, solid 2-year exp)</li>
<li>shaku (prefer, solid 2-year exp)</li>
<li>bb8 + postgres-types (prefer, solid 5-year exp)</li>
<li>diesel (2-year exp)</li>
</ul>
<p>Backend (Node.JS)</p>
<ul>
<li>Apollo (solid 5-year exp)</li>
<li>Express (solid 9-year exp)</li>
<li>Nest.JS</li>
<li>Knex.js / Objection.js (solid 5-year exp)</li>
<li>Sequelize</li>
</ul>
<p>Frontend</p>
<ul>
<li>React (solid 8-year exp)</li>
<li>VueJS (prefer, solid 3-year exp)</li>
<li>Cypress (prefer, solid 3-year exp)</li>
<li>JQuery</li>
<li>Antd / Antdv</li>
<li>PostCSS (prefer, solid 5-year exp)</li>
<li>Sass (prefer, solid 8-year exp)</li>
<li>Less (weak 4-year exp)</li>
</ul>
<p>DevOps</p>
<ul>
<li>NixOS / NixOps / Nix dev shell (prefer, solid 2-year exp)</li>
<li>Docker Swarm (prefer, solid 5-year exp)</li>
<li>Kubernetes (weak 4-year exp)</li>
<li>Woodpecker CI (prefer, solid 3-year exp)</li>
<li>Drone CI (solid 3-year exp)</li>
<li>Gitlab CI (solid 7-year exp)</li>
<li>GitHub Actions (3-year exp)</li>
</ul>
<h3 id="interests" tabindex="-1"><a class="header-anchor" href="#interests"><span>Interests</span></a></h3>
<p>Open-source projects are my passion! I develop, maintain and improve projects in
my spare time.</p>
<p>Besides programming, I love to cook and spend time with my beloved family!</p>
<h3 id="contacts" tabindex="-1"><a class="header-anchor" href="#contacts"><span>Contacts</span></a></h3>
<p>SimpleX:
<a href="https://simplex.chat/contact#/?v=1-2&amp;smp=smp%3A%2F%2FSkIkI6EPd2D63F4xFKfHk7I1UGZVNn6k1QWZ5rcyr6w%3D%40smp9.simplex.im%2FLfKyG0YgW5eRO-z8vrEyvnNfV2EKDfBv%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAMRpR3YB10GVzc-asfqY2oIFkipx5RQm4DZRabzjfPHo%253D%26srv%3Djssqzccmrcws6bhmn77vgmhfjmhwlyr3u7puw4erkyoosywgl67slqqd.onion" target="_blank" rel="noopener noreferrer">Dmitriy Pleshevskiy</a></p>
<p>Telegram: <a href="https://telegram.me/da_pranaya" target="_blank" rel="noopener noreferrer">Dmitriy Pleshevskiy</a></p>
<p>Matrix: @pleshevskiy:matrix.org</p>
<p>Email: dmitriy[at]pleshevski[dot]ru</p>
<h3 id="links" tabindex="-1"><a class="header-anchor" href="#links"><span>Links</span></a></h3>
<p><a href="https://git.pleshevski.ru/" target="_blank" rel="noopener noreferrer">My Git Repo</a></p>
<p><a href="https://github.com/pleshevskiy" target="_blank" rel="noopener noreferrer">My Github (Suspended due to sanctions)</a></p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/eng/works.html.vue"
const data = JSON.parse("{\"path\":\"/eng/works.html\",\"title\":\"Works\",\"lang\":\"en-US\",\"frontmatter\":{\"title\":\"Works\",\"layout\":\"WorksPage\",\"sidebar\":false,\"description\":\"Highlighted working experience Binary Management Dates: August 2018 currently Roles: Lead Fullstack Developer, Team Lead, Architect Development of a project management tool fo...\",\"head\":[[\"link\",{\"rel\":\"alternate\",\"hreflang\":\"ru-ru\",\"href\":\"https://pleshevski.ru/works.html\"}],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/eng/works.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Works\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Highlighted working experience Binary Management Dates: August 2018 currently Roles: Lead Fullstack Developer, Team Lead, Architect Development of a project management tool fo...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"en-US\"}],[\"meta\",{\"property\":\"og:locale:alternate\",\"content\":\"ru-RU\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Works\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":3,\"title\":\"Highlighted working experience\",\"slug\":\"highlighted-working-experience\",\"link\":\"#highlighted-working-experience\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"eng/works.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,67 @@
<template><div><h3 id="highlighted-working-experience" tabindex="-1"><a class="header-anchor" href="#highlighted-working-experience"><span>Highlighted working experience</span></a></h3>
<h4 id="binary-management" tabindex="-1"><a class="header-anchor" href="#binary-management"><span>Binary Management</span></a></h4>
<ul>
<li>Dates: August 2018 currently</li>
<li>Roles: Lead Fullstack Developer, Team Lead, Architect</li>
</ul>
<p>Development of a project management tool for interior designers</p>
<ul>
<li>Development of the GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ).
Moved database triggers to business logic. Wrote integration tests on 70% api.</li>
<li>Development of the frontend (React, Antd). Formed uikit, shared components,
redesigned the page generation gathering. Completely changed work with API on
the frontend. Introduced the practice of writing integration tests using
cypress</li>
<li>Completely ported the project to TypeScript. I have formed isolated modules of
the system.</li>
<li>As a team leader, I brought the critical chain method, the buffer method, and
the planning method to the project from the end. Helped the team get into a
rhythm to make releases each week in small batches. A couple of times I also
prepared an individual development plan for team members.</li>
</ul>
<h4 id="master-progress" tabindex="-1"><a class="header-anchor" href="#master-progress"><span>Master Progress</span></a></h4>
<ul>
<li>Dates: May 2018 - currently (Passively maintained)</li>
<li>Role: Tech Lead</li>
</ul>
<p>Development web infrastructure of the educational center Master Progress</p>
<ul>
<li><a href="https://masterprogress.ru" target="_blank" rel="noopener noreferrer">The main site</a> (Python, Flask).</li>
<li><a href="https://cabinet.masterprogress.ru" target="_blank" rel="noopener noreferrer">Student's cabinet</a> (Python,
Flask, TypeScript, React).</li>
<li><a href="https://rosmintrud.masterprogress.ru" target="_blank" rel="noopener noreferrer">A tool for rosmintrud</a>
(Deno, Vue, Typescript)</li>
<li>Created a complete infrastructure on Woodpecker CI and Docker swarm.</li>
</ul>
<h4 id="core-spirit" tabindex="-1"><a class="header-anchor" href="#core-spirit"><span>Core Spirit</span></a></h4>
<ul>
<li>Dates: August 2018 - May 2020</li>
<li>Role: Lead Fullstack Developer</li>
</ul>
<p>Development of Social platform focusing on human and planetary enhancement</p>
<ul>
<li>Development of the REST API (Node.JS, Express, PostgreSQL) for main site and
backoffice.</li>
<li>Development of an auto poster to various social networks and messengers
(Facebook, LinkedIn, Twitter, Telegram).</li>
<li>Development of a neural network for automatic categorization of articles.</li>
</ul>
<h4 id="merlion" tabindex="-1"><a class="header-anchor" href="#merlion"><span>MERLION</span></a></h4>
<ul>
<li>Dates: March 2016 May 2018</li>
<li>Role: Senior Fullstack developer</li>
</ul>
<p>In this company there were 6 considerable projects I have successfully
completed:</p>
<ul>
<li>optimize the creation of promotional pages (PHP, JavaScript)</li>
<li>support main traditional site <a href="https://citilink.ru" target="_blank" rel="noopener noreferrer">https://citilink.ru</a> (PHP, JavaScript)</li>
<li>development of parsing to monitor products for changes in price,
quantity/availability in stock, rating and other fields based on data from 55
websites (Node.JS, Express)</li>
<li>work with neural networks for matching of goods</li>
<li>development face recognition apps for Android (Java)</li>
</ul>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/get-started.html.vue"
const data = JSON.parse("{\"path\":\"/get-started.html\",\"title\":\"Get Started\",\"lang\":\"ru-RU\",\"frontmatter\":{\"description\":\"Get Started This is a normal page, which contains VuePress basics. Pages You can add markdown files in your vuepress directory, every markdown file will be converted to a page i...\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/get-started.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Get Started\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Get Started This is a normal page, which contains VuePress basics. Pages You can add markdown files in your vuepress directory, every markdown file will be converted to a page i...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Get Started\\\",\\\"image\\\":[\\\"\\\"],\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Pages\",\"slug\":\"pages\",\"link\":\"#pages\",\"children\":[]},{\"level\":2,\"title\":\"Content\",\"slug\":\"content\",\"link\":\"#content\",\"children\":[]},{\"level\":2,\"title\":\"Configuration\",\"slug\":\"configuration\",\"link\":\"#configuration\",\"children\":[]},{\"level\":2,\"title\":\"Layouts and customization\",\"slug\":\"layouts-and-customization\",\"link\":\"#layouts-and-customization\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"get-started.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,23 @@
<template><div><h1 id="get-started" tabindex="-1"><a class="header-anchor" href="#get-started"><span>Get Started</span></a></h1>
<p>This is a normal page, which contains VuePress basics.</p>
<h2 id="pages" tabindex="-1"><a class="header-anchor" href="#pages"><span>Pages</span></a></h2>
<p>You can add markdown files in your vuepress directory, every markdown file will be converted to a page in your site.</p>
<p>See <a href="https://vuejs.press/guide/page.html#routing" target="_blank" rel="noopener noreferrer">routing</a> for more details.</p>
<h2 id="content" tabindex="-1"><a class="header-anchor" href="#content"><span>Content</span></a></h2>
<p>Every markdown file <a href="https://vuejs.press/guide/page.html#content" target="_blank" rel="noopener noreferrer">will be rendered to HTML, then converted to a Vue SFC</a>.</p>
<p>VuePress support basic markdown syntax and <a href="https://vuejs.press/guide/markdown.html#syntax-extensions" target="_blank" rel="noopener noreferrer">some extensions</a>, you can also <a href="https://vuejs.press/guide/markdown.html#using-vue-in-markdown" target="_blank" rel="noopener noreferrer">use Vue features</a> in it.</p>
<h2 id="configuration" tabindex="-1"><a class="header-anchor" href="#configuration"><span>Configuration</span></a></h2>
<p>VuePress use a <code v-pre>.vuepress/config.js</code>(or .ts) file as <a href="https://vuejs.press/guide/configuration.html#client-config-file" target="_blank" rel="noopener noreferrer">site configuration</a>, you can use it to config your site.</p>
<p>For <a href="https://vuejs.press/guide/configuration.html#client-config-file" target="_blank" rel="noopener noreferrer">client side configuration</a>, you can create <code v-pre>.vuepress/client.js</code>(or .ts).</p>
<p>Meanwhile, you can also add configuration per page with <a href="https://vuejs.press/guide/page.html#frontmatter" target="_blank" rel="noopener noreferrer">frontmatter</a>.</p>
<h2 id="layouts-and-customization" tabindex="-1"><a class="header-anchor" href="#layouts-and-customization"><span>Layouts and customization</span></a></h2>
<p>Here are common configuration controlling layout of <code v-pre>@vuepress/theme-default</code>:</p>
<ul>
<li><a href="https://vuejs.press/reference/default-theme/config.html#navbar" target="_blank" rel="noopener noreferrer">navbar</a></li>
<li><a href="https://vuejs.press/reference/default-theme/config.html#sidebar" target="_blank" rel="noopener noreferrer">sidebar</a></li>
</ul>
<p>Check <a href="https://vuejs.press/reference/default-theme/" target="_blank" rel="noopener noreferrer">default theme docs</a> for full reference.</p>
<p>You can <a href="https://vuejs.press/reference/default-theme/styles.html#style-file" target="_blank" rel="noopener noreferrer">add extra style</a> with <code v-pre>.vuepress/styles/index.scss</code> file.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/index.html.vue"
const data = JSON.parse("{\"path\":\"/\",\"title\":\"Резюме\",\"lang\":\"ru-RU\",\"frontmatter\":{\"home\":true,\"title\":\"Резюме\",\"heroText\":null,\"description\":\"Всегда актуальная ссылка на . Общие сведения Меня зовут Дмитрий Плешевский. Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обесп...\",\"head\":[[\"link\",{\"rel\":\"alternate\",\"hreflang\":\"en-us\",\"href\":\"https://pleshevski.ru/eng/\"}],[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Дмитрий Плешевский\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Резюме\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Всегда актуальная ссылка на . Общие сведения Меня зовут Дмитрий Плешевский. Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обесп...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"og:locale:alternate\",\"content\":\"en-US\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"name\\\":\\\"Резюме\\\",\\\"description\\\":\\\"Всегда актуальная ссылка на . Общие сведения Меня зовут Дмитрий Плешевский. Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обесп...\\\"}\"]]},\"headers\":[{\"level\":3,\"title\":\"Общие сведения\",\"slug\":\"общие-сведения\",\"link\":\"#общие-сведения\",\"children\":[]},{\"level\":3,\"title\":\"Умения\",\"slug\":\"умения\",\"link\":\"#умения\",\"children\":[]},{\"level\":3,\"title\":\"Stack\",\"slug\":\"stack\",\"link\":\"#stack\",\"children\":[]},{\"level\":3,\"title\":\"Интересы\",\"slug\":\"интересы\",\"link\":\"#интересы\",\"children\":[]},{\"level\":3,\"title\":\"Контакты\",\"slug\":\"контакты\",\"link\":\"#контакты\",\"children\":[]},{\"level\":3,\"title\":\"Ссылки\",\"slug\":\"ссылки\",\"link\":\"#ссылки\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"index.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,92 @@
<template><div><p>Всегда актуальная ссылка на <RouteLink to="/">резюме</RouteLink>.</p>
<h3 id="общие-сведения" tabindex="-1"><a class="header-anchor" href="#общие-сведения"><span>Общие сведения</span></a></h3>
<p>Меня зовут Дмитрий Плешевский.</p>
<p>Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий
разработчик програмного обеспечения, архитектор, руководитель команды, а так же
ментор.</p>
<h3 id="умения" tabindex="-1"><a class="header-anchor" href="#умения"><span>Умения</span></a></h3>
<p>Языки программирования:</p>
<ul>
<li>TypeScript (предпочитаю, твёрдый 9-летний опыт)</li>
<li>SQL (предпочитаю, твёрдый 8-летний опыт)</li>
<li>Rust (предпочитаю, 5-летний опыт)</li>
<li>Python (твёрдый 9-летний опыт)</li>
<li>Haskell</li>
<li>Bash</li>
<li>Java</li>
<li>C#</li>
<li>C++</li>
</ul>
<p>Базы данных:</p>
<ul>
<li>PostgreSQL (предпочитаю, твёрдый 7-летний опыт)</li>
<li>MySQL</li>
<li>Sqlite</li>
<li>MsSQL</li>
<li>MongoDB</li>
<li>Reddis</li>
</ul>
<p>Я так же имею большой опыт в создании следующих типов приложений:</p>
<ul>
<li>Традиционные (SSR + Forms)</li>
<li>API (REST/GraphQL/WebSocket/EventSource)</li>
<li>Динамическое (SPA)</li>
<li>Гибридное (SSR + SPA)</li>
<li>Консольные</li>
<li>Кроссплатформенные</li>
</ul>
<h3 id="stack" tabindex="-1"><a class="header-anchor" href="#stack"><span>Stack</span></a></h3>
<p>Backend (Rust)</p>
<ul>
<li>axum (предпочитаю, твёрдый 2-летний опыт)</li>
<li>async-graphql (предпочитаю, твёрдый 2-летний опыт)</li>
<li>shaku (предпочитаю, твёрдый 2-летний опыт)</li>
<li>bb8 + postgres-types (предпочитаю, твёрдый 5-летний опыт)</li>
<li>diesel (2-летний опыт)</li>
</ul>
<p>Backend (Node.JS)</p>
<ul>
<li>Apollo (твёрдый 5-летний опыт)</li>
<li>Express (твёрдый 9-летний опыт)</li>
<li>Nest.JS</li>
<li>Knex.js / Objection.js (твёрдый 5-летний опыт)</li>
<li>Sequelize</li>
</ul>
<p>Frontend</p>
<ul>
<li>React (твёрдый 8-летний опыт)</li>
<li>VueJS (предпочитаю, твёрдый 4-летний опыт)</li>
<li>Cypress (предпочитаю, твёрдый 3-летний опыт)</li>
<li>JQuery</li>
<li>Antd / Antdv</li>
<li>PostCSS (предпочитаю, твёрдый 5-летний опыт)</li>
<li>Sass (предпочитаю, твёрдый 8-летний опыт)</li>
<li>Less (слабый 4-летний опыт)</li>
</ul>
<p>DevOps</p>
<ul>
<li>NixOS / NixOps / Nix dev shell (предпочитаю, твёрдый 2-летний опыт)</li>
<li>Docker Swarm (предпочитаю, твёрдый 5-летний опыт)</li>
<li>Kubernetes (слабый 4-летний опыт)</li>
<li>Woodpecker CI (предпочитаю, твёрдый 3-летний опыт)</li>
<li>Drone CI (твёрдый 3-летний опыт)</li>
<li>Gitlab CI (твёрдый 7-летний опыт)</li>
<li>GitHub Actions (3-летний опыт)</li>
</ul>
<h3 id="интересы" tabindex="-1"><a class="header-anchor" href="#интересы"><span>Интересы</span></a></h3>
<p>Open-source проекты - моя страсть! Разрабатываю, поддерживаю и улучшаю проекты в
своё свободное время.</p>
<p>Помимо программирования я люблю готовить и проводить время со своей любимой
семьей!</p>
<h3 id="контакты" tabindex="-1"><a class="header-anchor" href="#контакты"><span>Контакты</span></a></h3>
<p>SimpleX:
<a href="https://simplex.chat/contact#/?v=1-2&amp;smp=smp%3A%2F%2FSkIkI6EPd2D63F4xFKfHk7I1UGZVNn6k1QWZ5rcyr6w%3D%40smp9.simplex.im%2FLfKyG0YgW5eRO-z8vrEyvnNfV2EKDfBv%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAMRpR3YB10GVzc-asfqY2oIFkipx5RQm4DZRabzjfPHo%253D%26srv%3Djssqzccmrcws6bhmn77vgmhfjmhwlyr3u7puw4erkyoosywgl67slqqd.onion" target="_blank" rel="noopener noreferrer">Dmitriy Pleshevskiy</a></p>
<p>Telegram: <a href="https://telegram.me/da_pranaya" target="_blank" rel="noopener noreferrer">Dmitriy Pleshevskiy</a></p>
<p>Matrix: @pleshevskiy:matrix.org</p>
<p>Email: dmitriy[at]pleshevski[dot]ru</p>
<h3 id="ссылки" tabindex="-1"><a class="header-anchor" href="#ссылки"><span>Ссылки</span></a></h3>
<p><a href="https://git.pleshevski.ru/" target="_blank" rel="noopener noreferrer">My Git Repo</a></p>
<p><a href="https://github.com/pleshevskiy" target="_blank" rel="noopener noreferrer">My Github (Приостановлен из-за санкций)</a></p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/archive1.html.vue"
const data = JSON.parse("{\"path\":\"/posts/archive1.html\",\"title\":\"Archive Article1\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"1998-01-01T00:00:00.000Z\",\"category\":[\"History\"],\"tag\":[\"WWI\"],\"archive\":true,\"description\":\"Archive Article1 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/archive1.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Archive Article1\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Archive Article1 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"WWI\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"1998-01-01T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Archive Article1\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"1998-01-01T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/archive1.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="archive-article1" tabindex="-1"><a class="header-anchor" href="#archive-article1"><span>Archive Article1</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/archive2.html.vue"
const data = JSON.parse("{\"path\":\"/posts/archive2.html\",\"title\":\"Archive Article2\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"1998-01-02T00:00:00.000Z\",\"category\":[\"History\"],\"tag\":[\"WWII\"],\"archive\":true,\"description\":\"Archive Article2 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/archive2.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Archive Article2\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Archive Article2 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"WWII\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"1998-01-02T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Archive Article2\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"1998-01-02T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/archive2.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="archive-article2" tabindex="-1"><a class="header-anchor" href="#archive-article2"><span>Archive Article2</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article1.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article1.html\",\"title\":\"Article 1\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-01T00:00:00.000Z\",\"category\":[\"CategoryA\"],\"tag\":[\"tag A\",\"tag B\"],\"description\":\"Article 1 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article1.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 1\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 1 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag A\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag B\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-01T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 1\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-01T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article1.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-1" tabindex="-1"><a class="header-anchor" href="#article-1"><span>Article 1</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article10.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article10.html\",\"title\":\"Article 10\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-10T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag C\",\"tag D\"],\"description\":\"Article 10 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article10.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 10\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 10 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag C\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag D\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-10T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 10\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-10T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article10.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-10" tabindex="-1"><a class="header-anchor" href="#article-10"><span>Article 10</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article11.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article11.html\",\"title\":\"Article 11\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-11T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag C\",\"tag D\"],\"description\":\"Article 11 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article11.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 11\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 11 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag C\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag D\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-11T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 11\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-11T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article11.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-11" tabindex="-1"><a class="header-anchor" href="#article-11"><span>Article 11</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article12.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article12.html\",\"title\":\"Article 12\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-12T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag C\",\"tag D\"],\"description\":\"Article 12 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article12.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 12\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 12 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag C\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag D\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-12T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 12\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-12T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article12.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-12" tabindex="-1"><a class="header-anchor" href="#article-12"><span>Article 12</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article2.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article2.html\",\"title\":\"Article 2\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-02T00:00:00.000Z\",\"category\":[\"CategoryA\"],\"tag\":[\"tag A\",\"tag B\"],\"description\":\"Article 2 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article2.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 2\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 2 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag A\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag B\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-02T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 2\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-02T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article2.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-2" tabindex="-1"><a class="header-anchor" href="#article-2"><span>Article 2</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article3.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article3.html\",\"title\":\"Article 3\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-03T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag A\",\"tag B\"],\"description\":\"Article 3 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article3.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 3\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 3 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag A\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag B\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-03T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 3\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-03T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article3.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-3" tabindex="-1"><a class="header-anchor" href="#article-3"><span>Article 3</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article4.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article4.html\",\"title\":\"Article 4\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-04T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag A\",\"tag B\"],\"description\":\"Article 4 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article4.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 4\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 4 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag A\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag B\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-04T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 4\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-04T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article4.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-4" tabindex="-1"><a class="header-anchor" href="#article-4"><span>Article 4</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article5.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article5.html\",\"title\":\"Article 5\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-05T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag A\",\"tag B\"],\"description\":\"Article 5 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article5.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 5\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 5 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag A\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag B\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-05T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 5\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-05T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article5.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-5" tabindex="-1"><a class="header-anchor" href="#article-5"><span>Article 5</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article6.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article6.html\",\"title\":\"Article 6\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-06T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag A\",\"tag B\"],\"description\":\"Article 6 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article6.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 6\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 6 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag A\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag B\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-06T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 6\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-06T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article6.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-6" tabindex="-1"><a class="header-anchor" href="#article-6"><span>Article 6</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article7.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article7.html\",\"title\":\"Article 7\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-07T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag C\",\"tag D\"],\"description\":\"Article 7 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article7.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 7\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 7 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag C\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag D\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-07T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 7\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-07T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article7.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-7" tabindex="-1"><a class="header-anchor" href="#article-7"><span>Article 7</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article8.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article8.html\",\"title\":\"Article 8\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-08T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag C\",\"tag D\"],\"description\":\"Article 8 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article8.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 8\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 8 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag C\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag D\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-08T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 8\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-08T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article8.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-8" tabindex="-1"><a class="header-anchor" href="#article-8"><span>Article 8</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/article9.html.vue"
const data = JSON.parse("{\"path\":\"/posts/article9.html\",\"title\":\"Article 9\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2022-01-09T00:00:00.000Z\",\"category\":[\"CategoryA\",\"CategoryB\"],\"tag\":[\"tag C\",\"tag D\"],\"description\":\"Article 9 Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/article9.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Article 9\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Article 9 Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag C\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag D\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2022-01-09T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Article 9\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2022-01-09T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/article9.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,8 @@
<template><div><h1 id="article-9" tabindex="-1"><a class="header-anchor" href="#article-9"><span>Article 9</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/sticky.html.vue"
const data = JSON.parse("{\"path\":\"/posts/sticky.html\",\"title\":\"Sticky Article\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2021-01-01T00:00:00.000Z\",\"category\":[\"CategoryC\"],\"tag\":[\"tag E\"],\"sticky\":true,\"excerpt\":\"<p>A sticky article demo.</p>\",\"description\":\"Sticky Article Heading 2 Here is the content. Here is the content. Here is the content. Here is the content. Here is the content. Here is the content. Here is the content. Here ...\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/sticky.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Sticky Article\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Sticky Article Heading 2 Here is the content. Here is the content. Here is the content. Here is the content. Here is the content. Here is the content. Here is the content. Here ...\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag E\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2021-01-01T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Sticky Article\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2021-01-01T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/sticky.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,56 @@
<template><div><h1 id="sticky-article" tabindex="-1"><a class="header-anchor" href="#sticky-article"><span>Sticky Article</span></a></h1>
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.
Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/posts/sticky2.html.vue"
const data = JSON.parse("{\"path\":\"/posts/sticky2.html\",\"title\":\"Sticky Article with Higher Priority\",\"lang\":\"ru-RU\",\"frontmatter\":{\"date\":\"2020-01-01T00:00:00.000Z\",\"category\":[\"CategoryC\"],\"tag\":[\"tag E\"],\"sticky\":10,\"description\":\"Sticky Article with Higher Priority Excerpt information which is added manually. Heading 2 Here is the content. Heading 3 Here is the content.\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://pleshevski.ru/posts/sticky2.html\"}],[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Dmitriy Pleshevskiy\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"Sticky Article with Higher Priority\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Sticky Article with Higher Priority Excerpt information which is added manually. Heading 2 Here is the content. Heading 3 Here is the content.\"}],[\"meta\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"meta\",{\"property\":\"og:locale\",\"content\":\"ru-RU\"}],[\"meta\",{\"property\":\"article:tag\",\"content\":\"tag E\"}],[\"meta\",{\"property\":\"article:published_time\",\"content\":\"2020-01-01T00:00:00.000Z\"}],[\"script\",{\"type\":\"application/ld+json\"},\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Sticky Article with Higher Priority\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2020-01-01T00:00:00.000Z\\\",\\\"dateModified\\\":null,\\\"author\\\":[]}\"]]},\"headers\":[{\"level\":2,\"title\":\"Heading 2\",\"slug\":\"heading-2\",\"link\":\"#heading-2\",\"children\":[{\"level\":3,\"title\":\"Heading 3\",\"slug\":\"heading-3\",\"link\":\"#heading-3\",\"children\":[]}]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"posts/sticky2.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,10 @@
<template><div><h1 id="sticky-article-with-higher-priority" tabindex="-1"><a class="header-anchor" href="#sticky-article-with-higher-priority"><span>Sticky Article with Higher Priority</span></a></h1>
<p>Excerpt information which is added manually.</p>
<!-- more -->
<h2 id="heading-2" tabindex="-1"><a class="header-anchor" href="#heading-2"><span>Heading 2</span></a></h2>
<p>Here is the content.</p>
<h3 id="heading-3" tabindex="-1"><a class="header-anchor" href="#heading-3"><span>Heading 3</span></a></h3>
<p>Here is the content.</p>
</div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/\",\"title\":\"Tags\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tags\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/tag-a/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/tag-a/\",\"title\":\"Tag tag A\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag tag A\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"tag A\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/tag-b/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/tag-b/\",\"title\":\"Tag tag B\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag tag B\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"tag B\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/tag-c/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/tag-c/\",\"title\":\"Tag tag C\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag tag C\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"tag C\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/tag-d/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/tag-d/\",\"title\":\"Tag tag D\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag tag D\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"tag D\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/tag-e/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/tag-e/\",\"title\":\"Tag tag E\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag tag E\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"tag E\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/wwi/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/wwi/\",\"title\":\"Tag WWI\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag WWI\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"WWI\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/tag/wwii/index.html.vue"
const data = JSON.parse("{\"path\":\"/tag/wwii/\",\"title\":\"Tag WWII\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Tag WWII\",\"sidebar\":false,\"blog\":{\"type\":\"category\",\"name\":\"WWII\",\"key\":\"tag\"},\"layout\":\"Tag\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/timeline/index.html.vue"
const data = JSON.parse("{\"path\":\"/timeline/\",\"title\":\"Timeline\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Timeline\",\"sidebar\":false,\"blog\":{\"type\":\"type\",\"key\":\"timeline\"},\"layout\":\"Timeline\"},\"headers\":[],\"git\":{},\"filePathRelative\":null,\"excerpt\":\"\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/starter/docs/.vuepress/.temp/pages/work.html.vue"
const data = JSON.parse("{\"path\":\"/work.html\",\"title\":\"Home\",\"lang\":\"ru-RU\",\"frontmatter\":{\"home\":true,\"title\":\"Home\",\"heroText\":null,\"actions\":[{\"text\":\"Get Started\",\"link\":\"/get-started.html\",\"type\":\"primary\"},{\"text\":\"Introduction\",\"link\":\"https://vuejs.press/guide/introduction.html\",\"type\":\"secondary\"}],\"features\":[{\"title\":\"Simplicity First\",\"details\":\"Minimal setup with markdown-centered project structure helps you focus on writing.\"},{\"title\":\"Vue-Powered\",\"details\":\"Enjoy the dev experience of Vue, use Vue components in markdown, and develop custom themes with Vue.\"},{\"title\":\"Performant\",\"details\":\"VuePress generates pre-rendered static HTML for each page, and runs as an SPA once a page is loaded.\"},{\"title\":\"Themes\",\"details\":\"Providing a default theme out of the box. You can also choose a community theme or create your own one.\"},{\"title\":\"Plugins\",\"details\":\"Flexible plugin API, allowing plugins to provide lots of plug-and-play features for your site.\"},{\"title\":\"Bundlers\",\"details\":\"Default bundler is Vite, while Webpack is also supported. Choose the one you like!\"}]},\"headers\":[],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"filePathRelative\":\"work.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,3 @@
<template><div></div></template>

View file

@ -0,0 +1,16 @@
import comp from "/home/jan/repos/pleshevski.ru/docs/.vuepress/.temp/pages/works.html.vue"
const data = JSON.parse("{\"path\":\"/works.html\",\"title\":\"Работы\",\"lang\":\"ru-RU\",\"frontmatter\":{\"title\":\"Работы\",\"layout\":\"WorksPage\",\"sidebar\":false,\"description\":\"Выделенный опыт работы Binary Management Даты: Август 2018 по настоящее время Роли: Lead Fullstack Developer, Team Lead, Architect Разработка инструмента управления проектами ...\"},\"headers\":[{\"level\":2,\"title\":\"Выделенный опыт работы\",\"slug\":\"выделенныи-опыт-работы\",\"link\":\"#выделенныи-опыт-работы\",\"children\":[{\"level\":3,\"title\":\"Binary Management\",\"slug\":\"binary-management\",\"link\":\"#binary-management\",\"children\":[]},{\"level\":3,\"title\":\"Master Progress\",\"slug\":\"master-progress\",\"link\":\"#master-progress\",\"children\":[]},{\"level\":3,\"title\":\"Core Spirit\",\"slug\":\"core-spirit\",\"link\":\"#core-spirit\",\"children\":[]},{\"level\":3,\"title\":\"MERLION\",\"slug\":\"merlion\",\"link\":\"#merlion\",\"children\":[]}]},{\"level\":2,\"title\":\"Хронология\",\"slug\":\"хронология\",\"link\":\"#хронология\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"autoDesc\":true,\"filePathRelative\":\"works.md\"}")
export { comp, data }
if (import.meta.webpackHot) {
import.meta.webpackHot.accept()
if (__VUE_HMR_RUNTIME__.updatePageData) {
__VUE_HMR_RUNTIME__.updatePageData(data)
}
}
if (import.meta.hot) {
import.meta.hot.accept(({ data }) => {
__VUE_HMR_RUNTIME__.updatePageData(data)
})
}

View file

@ -0,0 +1,69 @@
<template><div><h2 id="выделенныи-опыт-работы" tabindex="-1"><a class="header-anchor" href="#выделенныи-опыт-работы"><span>Выделенный опыт работы</span></a></h2>
<h3 id="binary-management" tabindex="-1"><a class="header-anchor" href="#binary-management"><span>Binary Management</span></a></h3>
<ul>
<li>Даты: Август 2018 по настоящее время</li>
<li>Роли: Lead Fullstack Developer, Team Lead, Architect</li>
</ul>
<p>Разработка инструмента управления проектами для дизайнеров интерьера</p>
<ul>
<li>Разработка GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Перенес
триггеры базы данных в бизнес-логику. Написал интеграционные тесты на 70% api.</li>
<li>Разработка фронтенда (React, Antd). Сформировал uikit и общие компоненты,
оптимизировал сложные и нагруженные компоненты. Полностью изменил работу с API
на фронтенде. Внедрил практику написания интеграционных тестов с помощью
cypress.</li>
<li>Полностью перенес проект на TypeScript. Сформировал изолированные модули
системы.</li>
<li>Как руководитель команды, я привнес в проект метод критической цепи, метод
буфера и метод планирования с конца. Помог команде войти в ритм, чтобы
выпускать релизы каждую неделю небольшими партиями. Я также несколько раз
составлял индивидуальный план развития для членов команды.</li>
</ul>
<h3 id="master-progress" tabindex="-1"><a class="header-anchor" href="#master-progress"><span>Master Progress</span></a></h3>
<ul>
<li>Даты: Май 2018 - по настоящее время (Пассивная поддержка)</li>
<li>Роль: Tech Lead</li>
</ul>
<p>Разработка веб-инфраструктуры образовательного центра Мастер Прогресс</p>
<ul>
<li><a href="https://masterprogress.ru" target="_blank" rel="noopener noreferrer">Главного сайта</a> (Python, Flask).</li>
<li><a href="https://cabinet.masterprogress.ru" target="_blank" rel="noopener noreferrer">Кабинета студента</a> (Python, Flask,
TypeScript, React).</li>
<li><a href="https://rosmintrud.masterprogress.ru" target="_blank" rel="noopener noreferrer">Инструмента для работы с rosmintrud</a>
(Deno, Vue, Typescript)</li>
<li>Создана полная инфраструктура на Woodpecker CI и Docker swarm.</li>
</ul>
<h3 id="core-spirit" tabindex="-1"><a class="header-anchor" href="#core-spirit"><span>Core Spirit</span></a></h3>
<ul>
<li>Даты: Август 2018 - May 2020</li>
<li>Роль: Lead Fullstack Developer</li>
</ul>
<p>Разработка социальной платформы, сфокусированной на улучшении человека и планеты</p>
<ul>
<li>Разработка REST API (Node.JS, Express, PostgreSQL) для основного сайта и
бэк-офиса.</li>
<li>Разработка автопостера в различные социальные сети и мессенджеры (Facebook,
LinkedIn, Twitter, Telegram).</li>
<li>Разработка нейронной сети для автоматической категоризации статей.</li>
</ul>
<h3 id="merlion" tabindex="-1"><a class="header-anchor" href="#merlion"><span>MERLION</span></a></h3>
<ul>
<li>Dates: March 2016 May 2018</li>
<li>Role: Senior Fullstack developer</li>
</ul>
<p>В этой компании было 6 значительных проектов, которые я успешно завершил:</p>
<ul>
<li>Оптимизация создания рекламных страниц (PHP, JavaScript)</li>
<li>Поддержка основного традиционного сайта <a href="https://citilink.ru" target="_blank" rel="noopener noreferrer">https://citilink.ru</a> (PHP,
JavaScript)</li>
<li>Разработка парсинга для мониторинга товаров на предмет изменения цены,
количества/наличия на складе, рейтинга и других полей на основе данных с 55+
сайтов (Node.js, Express)</li>
<li>Работа с нейронными сетями для подбора товаров</li>
<li>Разработка приложений для распознавания лиц для Android (Java)</li>
</ul>
<h2 id="хронология" tabindex="-1"><a class="header-anchor" href="#хронология"><span>Хронология</span></a></h2>
<p>В списке перечислены только публичные проекты.</p>
</div></template>

Some files were not shown because too many files have changed in this diff Show more