Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Vitaliy Filippov | c853d18b49 |
|
@ -1 +1 @@
|
||||||
Subproject commit 8de8b467acbca50cfd8835c20e0e379110f3b32b
|
Subproject commit 45e6d1f13196a0824e2089a586c53b9de0283f17
|
|
@ -0,0 +1,55 @@
|
||||||
|
#!/usr/bin/nodejs
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
const yaml = require('yaml');
|
||||||
|
|
||||||
|
const L = {
|
||||||
|
en: {},
|
||||||
|
ru: {
|
||||||
|
Type: 'Тип',
|
||||||
|
Default: 'Значение по умолчанию',
|
||||||
|
Minimum: 'Минимальное значение',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const types = {
|
||||||
|
en: {
|
||||||
|
string: 'string',
|
||||||
|
bool: 'boolean',
|
||||||
|
int: 'integer',
|
||||||
|
sec: 'seconds',
|
||||||
|
ms: 'milliseconds',
|
||||||
|
us: 'microseconds',
|
||||||
|
},
|
||||||
|
ru: {
|
||||||
|
string: 'строка',
|
||||||
|
bool: 'булево (да/нет)',
|
||||||
|
int: 'целое число',
|
||||||
|
sec: 'секунды',
|
||||||
|
ms: 'миллисекунды',
|
||||||
|
us: 'микросекунды',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const params_files = fs.readdirSync(__dirname+'/params')
|
||||||
|
.filter(f => f.substr(-4) == '.yml')
|
||||||
|
.map(f => f.substr(0, f.length-4));
|
||||||
|
|
||||||
|
for (const file of params_files)
|
||||||
|
{
|
||||||
|
const cfg = yaml.parse(fs.readFileSync(__dirname+'/params/'+file+'.yml', { encoding: 'utf-8' }));
|
||||||
|
for (const lang in types)
|
||||||
|
{
|
||||||
|
let out = '\n\n{{< toc >}}';
|
||||||
|
for (const c of cfg)
|
||||||
|
{
|
||||||
|
out += `\n\n## ${c.name}\n\n`;
|
||||||
|
out += `- ${L[lang]['Type'] || 'Type'}: ${c["type_"+lang] || types[lang][c.type] || c.type}\n`;
|
||||||
|
if (c.default !== undefined)
|
||||||
|
out += `- ${L[lang]['Default'] || 'Default'}: ${c.default}\n`;
|
||||||
|
if (c.min !== undefined)
|
||||||
|
out += `- ${L[lang]['Minimum'] || 'Minimum'}: ${c.min}\n`;
|
||||||
|
out += `\n`+(c["info_"+lang] || c["info"]).replace(/\s+$/, '');
|
||||||
|
}
|
||||||
|
const head = fs.readFileSync(__dirname+'/params/head/'+file+'.'+lang+'.md', { encoding: 'utf-8' });
|
||||||
|
fs.writeFileSync(__dirname+'/hugo/content/config/'+file+'.'+lang+'.md', head.replace(/\s+$/, '')+out+"\n");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: Common Parameters
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
These are the most common parameters which apply to all components of Vitastor.
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: Общие параметры
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
Это наиболее общие параметры, используемые всеми компонентами Vitastor.
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Cluster-Wide Disk Layout Parameters
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
These parameters apply to clients and OSDs, are fixed at the moment of OSD drive
|
||||||
|
initialization and can't be changed after it without losing data.
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Дисковые параметры уровня кластера
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Данные параметры используются клиентами и OSD, задаются в момент инициализации
|
||||||
|
диска OSD и не могут быть изменены после этого без потери данных.
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: OSD Disk Layout Parameters
|
||||||
|
weight: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
These parameters apply to OSDs, are fixed at the moment of OSD drive
|
||||||
|
initialization and can't be changed after it without losing data.
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: Дисковые параметры OSD
|
||||||
|
weight: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
Данные параметры используются только OSD и, также как и общекластерные
|
||||||
|
дисковые параметры, задаются в момент инициализации дисков OSD и не могут быть
|
||||||
|
изменены после этого без потери данных.
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: Monitor Parameters
|
||||||
|
weight: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
These parameters only apply to Monitors.
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: Параметры мониторов
|
||||||
|
weight: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
Данные параметры используются только мониторами Vitastor.
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Network Protocol Parameters
|
||||||
|
weight: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
These parameters apply to clients and OSDs and affect network connection logic
|
||||||
|
between clients, OSDs and etcd.
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Параметры сетевого протокола
|
||||||
|
weight: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
Данные параметры используются клиентами и OSD и влияют на логику сетевого
|
||||||
|
взаимодействия между клиентами, OSD, а также etcd.
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Runtime OSD Parameters
|
||||||
|
weight: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
These parameters only apply to OSDs, are not fixed at the moment of OSD drive
|
||||||
|
initialization and can be changed with an OSD restart.
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: Изменяемые параметры OSD
|
||||||
|
weight: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
Данные параметры используются только OSD, но, в отличие от дисковых параметров,
|
||||||
|
не фиксируются в момент инициализации дисков OSD и могут быть изменены в любой
|
||||||
|
момент с перезапуском OSD.
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
baseURL: http://localhost
|
||||||
|
title: Vitastor
|
||||||
|
theme: hugo-geekdoc
|
||||||
|
#languageCode: en-us
|
||||||
|
|
||||||
|
pluralizeListTitles: false
|
||||||
|
|
||||||
|
# Geekdoc required configuration
|
||||||
|
pygmentsUseClasses: true
|
||||||
|
pygmentsCodeFences: true
|
||||||
|
disablePathToLower: true
|
||||||
|
|
||||||
|
# Required if you want to render robots.txt template
|
||||||
|
enableRobotsTXT: true
|
||||||
|
|
||||||
|
defaultContentLanguage: en
|
||||||
|
languages:
|
||||||
|
en:
|
||||||
|
weight: 1
|
||||||
|
languageName: English
|
||||||
|
ru:
|
||||||
|
weight: 1
|
||||||
|
languageName: Русский
|
||||||
|
|
||||||
|
markup:
|
||||||
|
goldmark:
|
||||||
|
renderer:
|
||||||
|
# Needed for mermaid shortcode
|
||||||
|
unsafe: true
|
||||||
|
tableOfContents:
|
||||||
|
startLevel: 1
|
||||||
|
endLevel: 9
|
||||||
|
|
||||||
|
taxonomies:
|
||||||
|
tag: tags
|
|
@ -0,0 +1,6 @@
|
||||||
|
## The Idea
|
||||||
|
|
||||||
|
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
||||||
|
architecturally similar to Ceph which means strong consistency, primary-replication,
|
||||||
|
symmetric clustering and automatic data distribution over any number of drives
|
||||||
|
of any size with configurable redundancy (replication or erasure codes/XOR).
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Parameter Reference
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Перечень настроек
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Pool configuration
|
||||||
|
weight: 100
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Packages
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Quick Start
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Building from Source
|
||||||
|
weight: 3
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: Introduction
|
||||||
|
weight: -1
|
||||||
|
---
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Architecture
|
||||||
|
weight: 3
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Author and License
|
||||||
|
weight: 3
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Features
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Example Comparison with Ceph
|
||||||
|
weight: 4
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Vitastor's Theoretical Maximum Performance
|
||||||
|
weight: 3
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Tuning
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Understanding Storage Performance
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Vitastor CLI
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
{{< toc >}}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: NBD
|
||||||
|
weight: 6
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: QEMU and qemu-img
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
nav_navigation: Навигация
|
||||||
|
nav_tags: Теги
|
||||||
|
nav_more: Подробнее
|
||||||
|
nav_top: К началу
|
||||||
|
|
||||||
|
form_placeholder_search: Поиск
|
||||||
|
|
||||||
|
error_page_title: Открыта несуществующая страница
|
||||||
|
error_message_title: Потерялись?
|
||||||
|
error_message_code: Ошибка 404
|
||||||
|
error_message_text: >
|
||||||
|
Похоже, страница, которую вы открыли, не существует. Попробуйте найти
|
||||||
|
нужную информацию с <a class="gdoc-error__link" href="{{ . }}">главной страницы</a>.
|
||||||
|
|
||||||
|
button_toggle_dark: Переключить тёмный/светлый/авто режим
|
||||||
|
button_nav_open: Показать навигацию
|
||||||
|
button_nav_close: Скрыть навигацию
|
||||||
|
button_menu_open: Открыть меню
|
||||||
|
button_menu_close: Закрыть меню
|
||||||
|
button_homepage: На главную
|
||||||
|
|
||||||
|
title_anchor_prefix: "Ссылка на:"
|
||||||
|
|
||||||
|
posts_read_more: Читать подробнее
|
||||||
|
posts_read_time:
|
||||||
|
one: "Одна минута на чтение"
|
||||||
|
other: "{{ . }} минут(ы) на чтение"
|
||||||
|
posts_update_prefix: Обновлено
|
||||||
|
|
||||||
|
footer_build_with: >
|
||||||
|
Сделано на <a href="https://gohugo.io/" class="gdoc-footer__link">Hugo</a> с
|
||||||
|
<svg class="icon gdoc_heart"><use xlink:href="#gdoc_heart"></use></svg>
|
||||||
|
footer_legal_notice: Правовая информация
|
||||||
|
footer_privacy_policy: Приватность
|
||||||
|
|
||||||
|
language_switch_no_tranlation_prefix: "Страница не переведена:"
|
|
@ -0,0 +1,34 @@
|
||||||
|
<footer class="gdoc-footer">
|
||||||
|
<div class="container flex">
|
||||||
|
<div class="flex flex-wrap" style="flex: 1">
|
||||||
|
<span class="gdoc-footer__item gdoc-footer__item--row">
|
||||||
|
© Vitaliy Filippov, 2021+
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-wrap">
|
||||||
|
{{ with .Site.Params.GeekdocLegalNotice }}
|
||||||
|
<span class="gdoc-footer__item gdoc-footer__item--row">
|
||||||
|
<a href="{{ . | relURL }}" class="gdoc-footer__link">{{ i18n "footer_legal_notice" }}</a>
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Site.Params.GeekdocPrivacyPolicy }}
|
||||||
|
<span class="gdoc-footer__item gdoc-footer__item--row">
|
||||||
|
<a href="{{ . | relURL }}" class="gdoc-footer__link">{{ i18n "footer_privacy_policy" }}</a>
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ if (default true .Site.Params.GeekdocBackToTop) }}
|
||||||
|
<div class="flex flex-25 justify-end">
|
||||||
|
<span class="gdoc-footer__item gdoc-footer__item--row" style="margin-right: 50px">
|
||||||
|
{{ i18n "footer_build_with" | safeHTML }}
|
||||||
|
</span>
|
||||||
|
<span class="gdoc-footer__item">
|
||||||
|
<a class="gdoc-footer__link fake-link" href="#" aria-label="{{ i18n "nav_top" }}">
|
||||||
|
<svg class="icon gdoc_keyboard_arrow_up"><use xlink:href="#gdoc_keyboard_arrow_up"></use></svg>
|
||||||
|
<span class="hidden-mobile">{{ i18n "nav_top" }}</span>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</footer>
|
|
@ -0,0 +1,215 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
sodipodi:docname="logo_only2.svg"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
||||||
|
id="svg1340"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 100 86.80192"
|
||||||
|
height="86.801918mm"
|
||||||
|
width="100mm"
|
||||||
|
inkscape:export-filename="/var/home/vitali/SVN/vitastor/presentation/logos/logo_only.png"
|
||||||
|
inkscape:export-xdpi="92.889999"
|
||||||
|
inkscape:export-ydpi="92.889999">
|
||||||
|
<defs
|
||||||
|
id="defs1334">
|
||||||
|
<linearGradient
|
||||||
|
osb:paint="gradient"
|
||||||
|
id="linearGradient866">
|
||||||
|
<stop
|
||||||
|
id="stop862"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#c0c0c0;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
id="stop864"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#000000;stop-opacity:0" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient846"
|
||||||
|
osb:paint="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffd42a;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop842" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffa200;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop844" />
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient
|
||||||
|
r="50"
|
||||||
|
fy="159.11139"
|
||||||
|
fx="202.36813"
|
||||||
|
cy="159.11139"
|
||||||
|
cx="202.36813"
|
||||||
|
gradientTransform="matrix(1.2462942,-1.2279529,0.77712408,0.78873143,-190.96813,230.1331)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="radialGradient1530"
|
||||||
|
xlink:href="#linearGradient1352"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1352">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#00c9e6;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop1348" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5240d3;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1350" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
y2="62.555599"
|
||||||
|
x2="51.484566"
|
||||||
|
y1="62.555599"
|
||||||
|
x1="38.105473"
|
||||||
|
gradientTransform="rotate(-16.930773,271.11609,-412.42594)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="linearGradient1508"
|
||||||
|
xlink:href="#linearGradient1323"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1323">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#000000;stop-opacity:0.47178105"
|
||||||
|
offset="0"
|
||||||
|
id="stop1319" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeaaff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop1321" />
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient
|
||||||
|
r="21.541935"
|
||||||
|
fy="24.614815"
|
||||||
|
fx="45.312912"
|
||||||
|
cy="24.614815"
|
||||||
|
cx="45.312912"
|
||||||
|
gradientTransform="matrix(1.0933447,0.13113705,-0.12664108,1.0558599,-1.082187,93.974708)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="radialGradient1504"
|
||||||
|
xlink:href="#linearGradient846"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<filter
|
||||||
|
style="color-interpolation-filters:sRGB"
|
||||||
|
inkscape:label="Drop Shadow"
|
||||||
|
id="filter1497"
|
||||||
|
width="2"
|
||||||
|
height="2"
|
||||||
|
x="-0.5"
|
||||||
|
y="-0.5">
|
||||||
|
<feFlood
|
||||||
|
flood-opacity="0.498039"
|
||||||
|
flood-color="rgb(0,0,0)"
|
||||||
|
result="flood"
|
||||||
|
id="feFlood1487" />
|
||||||
|
<feComposite
|
||||||
|
in="flood"
|
||||||
|
in2="SourceGraphic"
|
||||||
|
operator="in"
|
||||||
|
result="composite1"
|
||||||
|
id="feComposite1489" />
|
||||||
|
<feGaussianBlur
|
||||||
|
in="composite1"
|
||||||
|
stdDeviation="6"
|
||||||
|
result="blur"
|
||||||
|
id="feGaussianBlur1491" />
|
||||||
|
<feOffset
|
||||||
|
dx="0"
|
||||||
|
dy="6"
|
||||||
|
result="offset"
|
||||||
|
id="feOffset1493" />
|
||||||
|
<feComposite
|
||||||
|
in="offset"
|
||||||
|
in2="offset"
|
||||||
|
operator="atop"
|
||||||
|
result="composite2"
|
||||||
|
id="feComposite1495" />
|
||||||
|
</filter>
|
||||||
|
<radialGradient
|
||||||
|
r="21.541935"
|
||||||
|
fy="24.614815"
|
||||||
|
fx="45.312912"
|
||||||
|
cy="24.614815"
|
||||||
|
cx="45.312912"
|
||||||
|
gradientTransform="matrix(1.0933447,0.13113705,-0.12664108,1.0558599,-1.082187,93.974708)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="radialGradient1506"
|
||||||
|
xlink:href="#linearGradient846"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-height="992"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-top="-30"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:cy="47.914558"
|
||||||
|
inkscape:cx="-103.69646"
|
||||||
|
inkscape:zoom="0.7"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#000000"
|
||||||
|
id="base" />
|
||||||
|
<metadata
|
||||||
|
id="metadata1337">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
transform="translate(-133.26969,-52.101187)"
|
||||||
|
id="layer1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
inkscape:label="Слой 1">
|
||||||
|
<path
|
||||||
|
style="fill:url(#radialGradient1530);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 133.26969,59.089473 50,75.000087 50,-75.000087 z"
|
||||||
|
id="path1528"
|
||||||
|
sodipodi:nodetypes="cccc" />
|
||||||
|
<path
|
||||||
|
d="m 194.29572,89.403603 -8.41706,2.562119 -2.50682,7.49308 7.17785,23.579008 9.60097,-14.40173 z"
|
||||||
|
style="fill:url(#linearGradient1508);fill-opacity:1;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.501961"
|
||||||
|
id="path1459" />
|
||||||
|
<g
|
||||||
|
transform="translate(135.70225,-49.385894)"
|
||||||
|
id="g1465">
|
||||||
|
<path
|
||||||
|
id="path1461"
|
||||||
|
style="fill:url(#radialGradient1504);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1497)"
|
||||||
|
d="m 28.817436,101.36529 c 3.112699,10.74423 6.225077,21.48892 9.333984,32.23438 2.519532,0 5.039063,0 7.558594,0 -0.985406,8.09729 -2.085815,16.18202 -2.951172,24.29297 -0.06053,0.88723 1.098131,1.61652 1.76,0.9155 1.007514,-1.05482 1.676008,-2.3829 2.528566,-3.56053 7.51538,-11.37722 14.987447,-22.78299 22.482919,-34.17333 -3.239584,0 -6.479167,0 -9.71875,0 2.887267,-6.79562 5.775365,-13.59088 8.662109,-20.38672 -13.284505,0 -26.56901,0 -39.853516,0 0.06576,0.22591 0.131511,0.45182 0.197266,0.67773 z" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
id="path1463"
|
||||||
|
d="m 30.735882,102.2764 h 35.342242 l -8.662729,20.3854 h 9.173783 l -22.106472,33.62346 3.027029,-24.27377 H 39.34604 Z"
|
||||||
|
style="fill:url(#radialGradient1506);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 7.4 KiB |
|
@ -0,0 +1,138 @@
|
||||||
|
/* Global customization */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--code-max-height: 60rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Light mode theming */
|
||||||
|
:root,
|
||||||
|
:root[color-mode="light"] {
|
||||||
|
--header-background: #404050;
|
||||||
|
--header-font-color: #ffffff;
|
||||||
|
|
||||||
|
--body-background: #ffffff;
|
||||||
|
--body-font-color: #343a40;
|
||||||
|
|
||||||
|
--button-background: #62cb97;
|
||||||
|
--button-border-color: #4ec58a;
|
||||||
|
|
||||||
|
--link-color: #c54e8a;
|
||||||
|
--link-color-visited: #c54e8a;
|
||||||
|
|
||||||
|
--code-background: #f5f6f8;
|
||||||
|
--code-accent-color: #e3e7eb;
|
||||||
|
--code-accent-color-lite: #eff1f3;
|
||||||
|
|
||||||
|
--accent-color: #e9ecef;
|
||||||
|
--accent-color-lite: #f8f9fa;
|
||||||
|
|
||||||
|
--control-icons: #b2bac1;
|
||||||
|
|
||||||
|
--footer-background: #606070;
|
||||||
|
--footer-font-color: #ffffff;
|
||||||
|
--footer-link-color: #ffcc5c;
|
||||||
|
--footer-link-color-visited: #ffcc5c;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
:root {
|
||||||
|
--header-background: #404050;
|
||||||
|
--header-font-color: #ffffff;
|
||||||
|
|
||||||
|
--body-background: #ffffff;
|
||||||
|
--body-font-color: #343a40;
|
||||||
|
|
||||||
|
--button-background: #62cb97;
|
||||||
|
--button-border-color: #4ec58a;
|
||||||
|
|
||||||
|
--link-color: #c54e8a;
|
||||||
|
--link-color-visited: #c54e8a;
|
||||||
|
|
||||||
|
--code-background: #f5f6f8;
|
||||||
|
--code-accent-color: #e3e7eb;
|
||||||
|
--code-accent-color-lite: #eff1f3;
|
||||||
|
|
||||||
|
--accent-color: #e9ecef;
|
||||||
|
--accent-color-lite: #f8f9fa;
|
||||||
|
|
||||||
|
--control-icons: #b2bac1;
|
||||||
|
|
||||||
|
--footer-background: #606070;
|
||||||
|
--footer-font-color: #ffffff;
|
||||||
|
--footer-link-color: #ffcc5c;
|
||||||
|
--footer-link-color-visited: #ffcc5c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Dark mode theming */
|
||||||
|
:root[color-mode="dark"] {
|
||||||
|
--header-background: #202830;
|
||||||
|
--header-font-color: #ffffff;
|
||||||
|
|
||||||
|
--body-background: #343a44;
|
||||||
|
--body-font-color: #ced3d8;
|
||||||
|
|
||||||
|
--button-background: #62cb97;
|
||||||
|
--button-border-color: #4ec58a;
|
||||||
|
|
||||||
|
--link-color: #7ac29e;
|
||||||
|
--link-color-visited: #7ac29e;
|
||||||
|
|
||||||
|
--code-background: #2f353a;
|
||||||
|
--code-accent-color: #262b2f;
|
||||||
|
--code-accent-color-lite: #2b3035;
|
||||||
|
|
||||||
|
--accent-color: #2b3035;
|
||||||
|
--accent-color-lite: #2f353a;
|
||||||
|
|
||||||
|
--control-icons: #b2bac1;
|
||||||
|
|
||||||
|
--footer-background: #2f333e;
|
||||||
|
--footer-font-color: #cccccc;
|
||||||
|
--footer-link-color: #7ac29e;
|
||||||
|
--footer-link-color-visited: #7ac29e;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--header-background: #404070;
|
||||||
|
--header-font-color: #ffffff;
|
||||||
|
|
||||||
|
--body-background: #343a40;
|
||||||
|
--body-font-color: #ced3d8;
|
||||||
|
|
||||||
|
--button-background: #62cb97;
|
||||||
|
--button-border-color: #4ec58a;
|
||||||
|
|
||||||
|
--link-color: #7ac29e;
|
||||||
|
--link-color-visited: #7ac29e;
|
||||||
|
|
||||||
|
--code-background: #2f353a;
|
||||||
|
--code-accent-color: #262b2f;
|
||||||
|
--code-accent-color-lite: #2b3035;
|
||||||
|
|
||||||
|
--accent-color: #2b3035;
|
||||||
|
--accent-color-lite: #2f353a;
|
||||||
|
|
||||||
|
--control-icons: #b2bac1;
|
||||||
|
|
||||||
|
--footer-background: #2f333e;
|
||||||
|
--footer-font-color: #cccccc;
|
||||||
|
--footer-link-color: #7ac29e;
|
||||||
|
--footer-link-color-visited: #7ac29e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-brand__img {
|
||||||
|
width: 48px;
|
||||||
|
height: auto;
|
||||||
|
margin-top: -4px;
|
||||||
|
margin-bottom: -4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-menu-header > span {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.gdoc-language {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 709 B |
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,196 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
sodipodi:docname="favicon.svg"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
||||||
|
id="svg1340"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 100 100"
|
||||||
|
height="100mm"
|
||||||
|
width="100mm"
|
||||||
|
inkscape:export-filename="/var/home/vitali/SVN/vitastor/docs/static/favicon/favicon-64x64.png"
|
||||||
|
inkscape:export-xdpi="16.26"
|
||||||
|
inkscape:export-ydpi="16.26">
|
||||||
|
<defs
|
||||||
|
id="defs1334">
|
||||||
|
<linearGradient
|
||||||
|
osb:paint="gradient"
|
||||||
|
id="linearGradient866">
|
||||||
|
<stop
|
||||||
|
id="stop862"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#c0c0c0;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
id="stop864"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#000000;stop-opacity:0" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient846"
|
||||||
|
osb:paint="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffd42a;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop842" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffa200;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop844" />
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient
|
||||||
|
r="50"
|
||||||
|
fy="159.11139"
|
||||||
|
fx="202.36813"
|
||||||
|
cy="159.11139"
|
||||||
|
cx="202.36813"
|
||||||
|
gradientTransform="matrix(1.2462942,-1.2279529,0.77712408,0.78873143,-190.96813,230.1331)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="radialGradient1530"
|
||||||
|
xlink:href="#linearGradient1352"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1352">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#00c9e6;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop1348" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5240d3;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1350" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
y2="62.555599"
|
||||||
|
x2="51.484566"
|
||||||
|
y1="62.555599"
|
||||||
|
x1="38.105473"
|
||||||
|
gradientTransform="rotate(-16.930773,271.11609,-412.42594)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="linearGradient1508"
|
||||||
|
xlink:href="#linearGradient1323"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1323">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#000000;stop-opacity:0.47178105"
|
||||||
|
offset="0"
|
||||||
|
id="stop1319" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeaaff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop1321" />
|
||||||
|
</linearGradient>
|
||||||
|
<filter
|
||||||
|
style="color-interpolation-filters:sRGB"
|
||||||
|
inkscape:label="Drop Shadow"
|
||||||
|
id="filter1497"
|
||||||
|
width="2"
|
||||||
|
height="2"
|
||||||
|
x="-0.5"
|
||||||
|
y="-0.5">
|
||||||
|
<feFlood
|
||||||
|
flood-opacity="0.498039"
|
||||||
|
flood-color="rgb(0,0,0)"
|
||||||
|
result="flood"
|
||||||
|
id="feFlood1487" />
|
||||||
|
<feComposite
|
||||||
|
in="flood"
|
||||||
|
in2="SourceGraphic"
|
||||||
|
operator="in"
|
||||||
|
result="composite1"
|
||||||
|
id="feComposite1489" />
|
||||||
|
<feGaussianBlur
|
||||||
|
in="composite1"
|
||||||
|
stdDeviation="6"
|
||||||
|
result="blur"
|
||||||
|
id="feGaussianBlur1491" />
|
||||||
|
<feOffset
|
||||||
|
dx="0"
|
||||||
|
dy="6"
|
||||||
|
result="offset"
|
||||||
|
id="feOffset1493" />
|
||||||
|
<feComposite
|
||||||
|
in="offset"
|
||||||
|
in2="offset"
|
||||||
|
operator="atop"
|
||||||
|
result="composite2"
|
||||||
|
id="feComposite1495" />
|
||||||
|
</filter>
|
||||||
|
<radialGradient
|
||||||
|
r="21.541935"
|
||||||
|
fy="24.614815"
|
||||||
|
fx="45.312912"
|
||||||
|
cy="24.614815"
|
||||||
|
cx="45.312912"
|
||||||
|
gradientTransform="matrix(1.6678615,0.20004527,-0.19318681,1.6106796,108.48083,22.966962)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="radialGradient1506"
|
||||||
|
xlink:href="#linearGradient846"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-height="992"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-top="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:cy="83.752268"
|
||||||
|
inkscape:cx="-103.69645"
|
||||||
|
inkscape:zoom="0.7"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#000000"
|
||||||
|
id="base" />
|
||||||
|
<metadata
|
||||||
|
id="metadata1337">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
transform="translate(-133.26969,-35.630924)"
|
||||||
|
id="layer1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
inkscape:label="Слой 1">
|
||||||
|
<path
|
||||||
|
style="fill:url(#radialGradient1530);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 133.26969,59.089473 50,75.000087 50,-75.000087 z"
|
||||||
|
id="path1528"
|
||||||
|
sodipodi:nodetypes="cccc" />
|
||||||
|
<path
|
||||||
|
d="m 194.29572,89.403603 -8.41706,2.562119 -2.50682,7.49308 7.17785,23.579008 9.60097,-14.40173 z"
|
||||||
|
style="fill:url(#linearGradient1508);fill-opacity:1;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.501961"
|
||||||
|
id="path1459" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
id="path1463"
|
||||||
|
d="m 157.01826,35.630924 h 53.91343 l -13.21471,31.09726 h 13.99432 l -33.7227,51.291496 4.61762,-37.02885 h -12.45344 z"
|
||||||
|
style="fill:url(#radialGradient1506);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.2 KiB |
2
json11
2
json11
|
@ -1 +1 @@
|
||||||
Subproject commit fd37016cf85075303de74bab9c61e5d13bf71f64
|
Subproject commit 52a3af664f40775426b189c85b6088d436d05df3
|
Loading…
Reference in New Issue