refac: use vuepress
This commit is contained in:
parent
97b65ccfe8
commit
9a519d32f7
185 changed files with 26295 additions and 30 deletions
17
.gitignore
vendored
17
.gitignore
vendored
|
@ -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
|
11
docs/.vuepress/.cache/deps/@vue_devtools-api.js
Normal file
11
docs/.vuepress/.cache/deps/@vue_devtools-api.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
import {
|
||||||
|
isPerformanceSupported,
|
||||||
|
now,
|
||||||
|
setupDevtoolsPlugin
|
||||||
|
} from "./chunk-D2YVLGJ5.js";
|
||||||
|
export {
|
||||||
|
isPerformanceSupported,
|
||||||
|
now,
|
||||||
|
setupDevtoolsPlugin
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=@vue_devtools-api.js.map
|
7
docs/.vuepress/.cache/deps/@vue_devtools-api.js.map
Normal file
7
docs/.vuepress/.cache/deps/@vue_devtools-api.js.map
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
137
docs/.vuepress/.cache/deps/@vuepress_shared.js
Normal file
137
docs/.vuepress/.cache/deps/@vuepress_shared.js
Normal 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
|
7
docs/.vuepress/.cache/deps/@vuepress_shared.js.map
Normal file
7
docs/.vuepress/.cache/deps/@vuepress_shared.js.map
Normal file
File diff suppressed because one or more lines are too long
40
docs/.vuepress/.cache/deps/_metadata.json
Normal file
40
docs/.vuepress/.cache/deps/_metadata.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
164
docs/.vuepress/.cache/deps/chunk-D2YVLGJ5.js
Normal file
164
docs/.vuepress/.cache/deps/chunk-D2YVLGJ5.js
Normal 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
|
7
docs/.vuepress/.cache/deps/chunk-D2YVLGJ5.js.map
Normal file
7
docs/.vuepress/.cache/deps/chunk-D2YVLGJ5.js.map
Normal file
File diff suppressed because one or more lines are too long
11521
docs/.vuepress/.cache/deps/chunk-RM7W5GHC.js
Normal file
11521
docs/.vuepress/.cache/deps/chunk-RM7W5GHC.js
Normal file
File diff suppressed because it is too large
Load diff
7
docs/.vuepress/.cache/deps/chunk-RM7W5GHC.js.map
Normal file
7
docs/.vuepress/.cache/deps/chunk-RM7W5GHC.js.map
Normal file
File diff suppressed because one or more lines are too long
3
docs/.vuepress/.cache/deps/package.json
Normal file
3
docs/.vuepress/.cache/deps/package.json
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
2744
docs/.vuepress/.cache/deps/vue-router.js
Normal file
2744
docs/.vuepress/.cache/deps/vue-router.js
Normal file
File diff suppressed because it is too large
Load diff
7
docs/.vuepress/.cache/deps/vue-router.js.map
Normal file
7
docs/.vuepress/.cache/deps/vue-router.js.map
Normal file
File diff suppressed because one or more lines are too long
323
docs/.vuepress/.cache/deps/vue.js
Normal file
323
docs/.vuepress/.cache/deps/vue.js
Normal 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
|
7
docs/.vuepress/.cache/deps/vue.js.map
Normal file
7
docs/.vuepress/.cache/deps/vue.js.map
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
13
docs/.vuepress/.temp/blog/category.js
Normal file
13
docs/.vuepress/.temp/blog/category.js
Normal 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);
|
||||||
|
});
|
||||||
|
|
1
docs/.vuepress/.temp/blog/store.js
Normal file
1
docs/.vuepress/.temp/blog/store.js
Normal 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"];
|
14
docs/.vuepress/.temp/blog/type.js
Normal file
14
docs/.vuepress/.temp/blog/type.js
Normal 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);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
23
docs/.vuepress/.temp/internal/clientConfigs.js
Normal file
23
docs/.vuepress/.temp/internal/clientConfigs.js
Normal 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)
|
26
docs/.vuepress/.temp/internal/routes.js
Normal file
26
docs/.vuepress/.temp/internal/routes.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
14
docs/.vuepress/.temp/internal/siteData.js
Normal file
14
docs/.vuepress/.temp/internal/siteData.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
14
docs/.vuepress/.temp/internal/themeData.js
Normal file
14
docs/.vuepress/.temp/internal/themeData.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
16
docs/.vuepress/.temp/pages/404.html.js
Normal file
16
docs/.vuepress/.temp/pages/404.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
4
docs/.vuepress/.temp/pages/404.html.vue
Normal file
4
docs/.vuepress/.temp/pages/404.html.vue
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<template><div><p>404 Not Found</p>
|
||||||
|
</div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/article/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/article/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/article/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/article/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/category/categorya/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/category/categorya/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/category/categoryb/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/category/categoryb/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/category/categoryc/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/category/categoryc/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/category/history/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/category/history/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/category/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/category/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/category/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/category/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/en/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/en/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
90
docs/.vuepress/.temp/pages/en/index.html.vue
Normal file
90
docs/.vuepress/.temp/pages/en/index.html.vue
Normal 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&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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/eng/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/eng/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
90
docs/.vuepress/.temp/pages/eng/index.html.vue
Normal file
90
docs/.vuepress/.temp/pages/eng/index.html.vue
Normal 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&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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/eng/works.html.js
Normal file
16
docs/.vuepress/.temp/pages/eng/works.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
67
docs/.vuepress/.temp/pages/eng/works.html.vue
Normal file
67
docs/.vuepress/.temp/pages/eng/works.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/get-started.html.js
Normal file
16
docs/.vuepress/.temp/pages/get-started.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
23
docs/.vuepress/.temp/pages/get-started.html.vue
Normal file
23
docs/.vuepress/.temp/pages/get-started.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
92
docs/.vuepress/.temp/pages/index.html.vue
Normal file
92
docs/.vuepress/.temp/pages/index.html.vue
Normal 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&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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/archive1.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/archive1.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/archive1.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/archive1.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/archive2.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/archive2.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/archive2.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/archive2.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article1.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article1.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article1.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article1.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article10.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article10.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article10.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article10.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article11.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article11.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article11.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article11.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article12.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article12.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article12.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article12.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article2.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article2.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article2.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article2.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article3.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article3.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article3.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article3.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article4.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article4.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article4.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article4.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article5.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article5.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article5.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article5.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article6.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article6.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article6.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article6.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article7.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article7.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article7.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article7.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article8.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article8.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article8.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article8.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/article9.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/article9.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
8
docs/.vuepress/.temp/pages/posts/article9.html.vue
Normal file
8
docs/.vuepress/.temp/pages/posts/article9.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/sticky.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/sticky.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
56
docs/.vuepress/.temp/pages/posts/sticky.html.vue
Normal file
56
docs/.vuepress/.temp/pages/posts/sticky.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/posts/sticky2.html.js
Normal file
16
docs/.vuepress/.temp/pages/posts/sticky2.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
10
docs/.vuepress/.temp/pages/posts/sticky2.html.vue
Normal file
10
docs/.vuepress/.temp/pages/posts/sticky2.html.vue
Normal 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>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/tag-a/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/tag-a/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/tag-a/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/tag-a/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/tag-b/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/tag-b/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/tag-b/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/tag-b/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/tag-c/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/tag-c/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/tag-c/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/tag-c/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/tag-d/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/tag-d/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/tag-d/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/tag-d/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/tag-e/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/tag-e/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/tag-e/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/tag-e/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/wwi/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/wwi/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/wwi/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/wwi/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/tag/wwii/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/tag/wwii/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/tag/wwii/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/tag/wwii/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/timeline/index.html.js
Normal file
16
docs/.vuepress/.temp/pages/timeline/index.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/timeline/index.html.vue
Normal file
3
docs/.vuepress/.temp/pages/timeline/index.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/work.html.js
Normal file
16
docs/.vuepress/.temp/pages/work.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
3
docs/.vuepress/.temp/pages/work.html.vue
Normal file
3
docs/.vuepress/.temp/pages/work.html.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template><div></div></template>
|
||||||
|
|
||||||
|
|
16
docs/.vuepress/.temp/pages/works.html.js
Normal file
16
docs/.vuepress/.temp/pages/works.html.js
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
69
docs/.vuepress/.temp/pages/works.html.vue
Normal file
69
docs/.vuepress/.temp/pages/works.html.vue
Normal 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
Loading…
Reference in a new issue