jekyll-theme-shikhalev 0.1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +14 -0
- data/_includes/allejo/jekyll-toc.liquid +182 -0
- data/_includes/backlinks.liquid +58 -0
- data/_includes/google/ads.html +11 -0
- data/_includes/google/analytics.html +10 -0
- data/_includes/google/search.html +4 -0
- data/_includes/iframe.liquid +41 -0
- data/_includes/image.liquid +61 -0
- data/_includes/link.liquid +30 -0
- data/_includes/nova/aside/feeds.liquid +25 -0
- data/_includes/nova/aside/last_comments.liquid +28 -0
- data/_includes/nova/aside/navy.liquid +26 -0
- data/_includes/nova/comments/form.liquid +57 -0
- data/_includes/nova/comments/item.liquid +31 -0
- data/_includes/nova/comments/section.liquid +22 -0
- data/_includes/nova/footer.liquid +38 -0
- data/_includes/nova/stream/comment_count.liquid +19 -0
- data/_includes/nova/stream/subcategories.liquid +19 -0
- data/_includes/nova/stream/timeline.liquid +78 -0
- data/_includes/nova/utils/announcement.liquid +82 -0
- data/_includes/nova/utils/breadcrumbs.liquid +16 -0
- data/_includes/nova/utils/categories.liquid +18 -0
- data/_includes/nova/utils/categories_pane.html +8 -0
- data/_includes/nova/utils/chain.liquid +8 -0
- data/_includes/nova/utils/feed_link.liquid +11 -0
- data/_includes/nova/utils/recommendations.liquid +67 -0
- data/_includes/nova/utils/share_buttons.liquid +12 -0
- data/_includes/nova/utils/tags.liquid +8 -0
- data/_includes/yandex/metrica.html +18 -0
- data/_includes/yoomoney/form.html +4 -0
- data/_layouts/nova/calendar.html +79 -0
- data/_layouts/nova/default.html +185 -0
- data/_layouts/nova/page.html +7 -0
- data/_layouts/nova/post.html +34 -0
- data/_layouts/nova/stream.html +21 -0
- data/_layouts/nova/tags.html +30 -0
- data/_layouts/nova/verse.html +34 -0
- data/_sass/fonts/awesome.scss +69 -0
- data/_sass/fonts/pt-from-google.scss +252 -0
- data/_sass/highlight/autumn.scss +60 -0
- data/_sass/nova/backlinks.scss +19 -0
- data/_sass/nova/base.scss +52 -0
- data/_sass/nova/content/code.scss +39 -0
- data/_sass/nova/content/comments.scss +256 -0
- data/_sass/nova/content/content.scss +210 -0
- data/_sass/nova/content/footnotes.scss +44 -0
- data/_sass/nova/content/images.scss +108 -0
- data/_sass/nova/content/meta.scss +59 -0
- data/_sass/nova/content/randoms.scss +46 -0
- data/_sass/nova/content/share.scss +25 -0
- data/_sass/nova/content/tables.scss +56 -0
- data/_sass/nova/content/verse.scss +46 -0
- data/_sass/nova/dyn/topper.scss +38 -0
- data/_sass/nova/dyn/watermark.scss +35 -0
- data/_sass/nova/icons.scss +340 -0
- data/_sass/nova/layout.scss +645 -0
- data/_sass/nova/pages/calendar.scss +74 -0
- data/_sass/nova/pages/stream.scss +153 -0
- data/_sass/nova/pages/tags.scss +58 -0
- data/_sass/nova/preset.scss +35 -0
- data/_sass/nova/utils.scss +10 -0
- data/_sass/nova.scss +26 -0
- data/assets/fa/webfonts/fa-brands-400.eot +0 -0
- data/assets/fa/webfonts/fa-brands-400.svg +3717 -0
- data/assets/fa/webfonts/fa-brands-400.ttf +0 -0
- data/assets/fa/webfonts/fa-brands-400.woff +0 -0
- data/assets/fa/webfonts/fa-brands-400.woff2 +0 -0
- data/assets/fa/webfonts/fa-regular-400.eot +0 -0
- data/assets/fa/webfonts/fa-regular-400.svg +801 -0
- data/assets/fa/webfonts/fa-regular-400.ttf +0 -0
- data/assets/fa/webfonts/fa-regular-400.woff +0 -0
- data/assets/fa/webfonts/fa-regular-400.woff2 +0 -0
- data/assets/fa/webfonts/fa-solid-900.eot +0 -0
- data/assets/fa/webfonts/fa-solid-900.svg +5034 -0
- data/assets/fa/webfonts/fa-solid-900.ttf +0 -0
- data/assets/fa/webfonts/fa-solid-900.woff +0 -0
- data/assets/fa/webfonts/fa-solid-900.woff2 +0 -0
- data/assets/img/ico/analytics.svg +1 -0
- data/assets/img/ico/camera.svg +1 -0
- data/assets/img/ico/csharp.svg +1 -0
- data/assets/img/ico/css3.svg +1 -0
- data/assets/img/ico/darktable.png +0 -0
- data/assets/img/ico/darktable.svg +1 -0
- data/assets/img/ico/fontawesome.svg +1 -0
- data/assets/img/ico/gbif.svg +1 -0
- data/assets/img/ico/gce.png +0 -0
- data/assets/img/ico/gentoo.svg +1 -0
- data/assets/img/ico/giscus.svg +9 -0
- data/assets/img/ico/git.svg +1 -0
- data/assets/img/ico/github.svg +1 -0
- data/assets/img/ico/gitlab.svg +1 -0
- data/assets/img/ico/gmail.svg +1 -0
- data/assets/img/ico/google-fonts.svg +1 -0
- data/assets/img/ico/gpsbabel.png +0 -0
- data/assets/img/ico/gpxlab.png +0 -0
- data/assets/img/ico/heroku.svg +1 -0
- data/assets/img/ico/html5.svg +1 -0
- data/assets/img/ico/hugin-ru.svg +101 -0
- data/assets/img/ico/hugin.svg +1 -0
- data/assets/img/ico/imagemagick.png +0 -0
- data/assets/img/ico/imagemagick.svg +1 -0
- data/assets/img/ico/inaturalist.svg +1 -0
- data/assets/img/ico/instagram.svg +1 -0
- data/assets/img/ico/javascript.svg +1 -0
- data/assets/img/ico/jekyll.svg +1 -0
- data/assets/img/ico/kde-neon.svg +1 -0
- data/assets/img/ico/kde.svg +1 -0
- data/assets/img/ico/kdeconnect.svg +1 -0
- data/assets/img/ico/linux-mint.svg +1 -0
- data/assets/img/ico/liquid.png +0 -0
- data/assets/img/ico/locus-map.png +0 -0
- data/assets/img/ico/luminance-hdr.png +0 -0
- data/assets/img/ico/luminance-hdr.svg +1 -0
- data/assets/img/ico/metrika.svg +1 -0
- data/assets/img/ico/paratype.png +0 -0
- data/assets/img/ico/phil-harvey.svg +1 -0
- data/assets/img/ico/ruby.svg +1 -0
- data/assets/img/ico/rust.png +0 -0
- data/assets/img/ico/staticman.svg +1 -0
- data/assets/img/ico/webmaster.svg +1 -0
- data/assets/img/ico/wikipedia.svg +1 -0
- data/assets/img/ico/yoomoney.png +0 -0
- data/assets/js/comments.js +116 -0
- data/assets/js/topper.js +32 -0
- data/assets/styles.scss +3 -0
- metadata +205 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
{%- assign first_post = site.posts | last -%}
|
2
|
+
{%- assign last_post = site.posts | first -%}
|
3
|
+
|
4
|
+
{%- if first_post and first_post.date -%}
|
5
|
+
{%- assign start_date = first_post.date | date: "%Y" -%}
|
6
|
+
{%- else -%}
|
7
|
+
{%- assign start_date = site.started | default: site.time | date: "%Y" -%}
|
8
|
+
{%- endif -%}
|
9
|
+
{%- if last_post and last_post.date -%}
|
10
|
+
{%- assign end_date = last_post.date | date: "%Y" -%}
|
11
|
+
{%- else -%}
|
12
|
+
{%- assign end_date = site.time | date: "%Y" -%}
|
13
|
+
{%- endif -%}
|
14
|
+
{%- if start_date == end_date -%}
|
15
|
+
{%- assign copy_date = start_date -%}
|
16
|
+
{%- else -%}
|
17
|
+
{%- assign copy_date = start_date | append: "–" | append: end_date -%}
|
18
|
+
{%- endif -%}
|
19
|
+
|
20
|
+
<!-- Yandex.Metrika informer -->
|
21
|
+
<a href="https://metrika.yandex.ru/stat/?id={{- site.yandex.metrika -}}&from=informer"
|
22
|
+
target="_blank" rel="nofollow"><img src="https://metrika-informer.com/informer/{{- site.yandex.metrika -}}/3_0_FFFFFFFF_EFEFEFFF_0_pageviews"
|
23
|
+
style="width:88px; height:31px; border:0;float:right;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" class="ym-advanced-informer" data-cid="{{- site.yandex.metrika -}}" data-lang="ru" /></a>
|
24
|
+
<!-- /Yandex.Metrika informer -->
|
25
|
+
|
26
|
+
<p style="font-weight: bold;">© {{ copy_date }} <a href="/about/">{{- site.author -}}</a></p>
|
27
|
+
|
28
|
+
<p>Материалы сайта опубликованы под лицензией
|
29
|
+
<a style="font-weight: bold;" href="{{- site.license.content.url -}}">{{- site.license.content.name -}}</a>,
|
30
|
+
если не оговорено иное. <a href="https://github.com/shikhalev/jekyll-theme">Программный код</a> непосредственно сайта — под лицензией
|
31
|
+
<a style="font-weight: bold;" href="https://opensource.org/licenses/MIT">MIT</a>.</p>
|
32
|
+
|
33
|
+
<p>Сайт сформирован статическим генератором <a style="font-weight: bold;" href="https://jekyllrb.com/">Jekyll</a>
|
34
|
+
{%- if site.staticman_url -%}
|
35
|
+
, комментарии —
|
36
|
+
<a style="font-weight: bold;" href="https://staticman.net/">Staticman</a>
|
37
|
+
{%- endif -%}
|
38
|
+
. Отдельная благодарность автору <a style="font-weight: bold;" href="https://github.com/allejo/jekyll-toc">allejo/jekyll-toc</a>.</p>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{%- assign count = site.data.comments[include.slug].size -%}
|
2
|
+
{%- if count == nil or count == 0 -%}
|
3
|
+
<span class="fa-icon-comment">Нет комментариев</span>
|
4
|
+
{%- else -%}
|
5
|
+
<a href="{{- include.url -}}#comments" class="fa-icon-comments">
|
6
|
+
{%- assign check = count | modulo: 100 -%}
|
7
|
+
{%-if check < 10 or check > 20 -%}
|
8
|
+
{%- assign sign = count | modulo: 10 -%}
|
9
|
+
{%- if sign >= 1 and sign <= 4 -%}
|
10
|
+
{{- count -}} комментария
|
11
|
+
{%- else -%}
|
12
|
+
{{- count -}} комментариев
|
13
|
+
{%- endif -%}
|
14
|
+
{%- else -%}
|
15
|
+
{{- count -}} комментариев
|
16
|
+
{%- endif -%}
|
17
|
+
</a>
|
18
|
+
{%- endif -%}
|
19
|
+
<a href="{{- include.url -}}#add-comment" class="fa-icon-comment-dots">Добавить комментарий</a>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{%- assign subs = site.streams | where: 'parent', include.category_id | sort: 'order_no', 'last' -%}
|
2
|
+
{%- if page.category_id == 'home' -%}
|
3
|
+
{%- assign subs = subs | where_exp: 'item', 'item.small != true' -%}
|
4
|
+
{%- endif -%}
|
5
|
+
{%- for sub in subs -%}
|
6
|
+
{%- if forloop.first -%}
|
7
|
+
<ul>
|
8
|
+
{%- endif -%}
|
9
|
+
<li class="fa-icon-li-{{- sub.icon -}}">
|
10
|
+
<a href="{{- sub.url | relative_url -}}" title="{{- sub.description -}}">
|
11
|
+
{{- sub.title | escape -}}
|
12
|
+
{%- if site.categories[sub.category_id] and site.categories[sub.category_id].size > 0 -%} ({{- site.categories[sub.category_id].size -}}){%- endif -%}
|
13
|
+
</a>
|
14
|
+
{%- include nova/stream/subcategories.liquid category_id=sub.category_id -%}
|
15
|
+
</li>
|
16
|
+
{%- if forloop.last -%}
|
17
|
+
</ul>
|
18
|
+
{%- endif -%}
|
19
|
+
{%- endfor -%}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
{%- if page.category_id -%}
|
2
|
+
{%- if page.category_id == 'home' -%}
|
3
|
+
{%- assign source = site.posts -%}
|
4
|
+
{%- assign limit = page.limit | default: site.home_page_limit -%}
|
5
|
+
{%- assign maximum = page.maximum | default: site.home_page_maximum -%}
|
6
|
+
{%- else -%}
|
7
|
+
{%- assign source = site.categories[page.category_id] -%}
|
8
|
+
{%- assign limit = page.limit | default: site.category_page_limit -%}
|
9
|
+
{%- assign maximum = page.maximum | default: site.category_page_maximum -%}
|
10
|
+
{%- endif -%}
|
11
|
+
{%- else -%}
|
12
|
+
{%- assign source = 'ERROR' -%}
|
13
|
+
{%- assign limit = 'ERROR' -%}
|
14
|
+
{%- assign maximum = 'ERROR' -%}
|
15
|
+
{%- endif -%}
|
16
|
+
|
17
|
+
{%- if source.size > maximum -%}
|
18
|
+
{%- assign flag = true -%}
|
19
|
+
{%- else -%}
|
20
|
+
{%- assign flag = false -%}
|
21
|
+
{%- assign limit = source.size -%}
|
22
|
+
{%- endif -%}
|
23
|
+
|
24
|
+
{%- if source.size > 0 -%}
|
25
|
+
<h2 id="last_entries">{{ page.list_title | default: "Последние записи" }}</h2>
|
26
|
+
{%- for item in source limit: limit -%}
|
27
|
+
<section class="stream-item stream-item-{{ item.layout | split: '/' | last }}">
|
28
|
+
{% include nova/utils/share_buttons.liquid item=item %}
|
29
|
+
|
30
|
+
{% assign check_streams = site.streams | first %}
|
31
|
+
{% if check_streams %}{% comment %} TODO: обязательно при рефакторинге не оставить этот ad-hoc {% endcomment %}
|
32
|
+
<p class="meta">{% include nova/utils/categories.liquid item=item %}</p>
|
33
|
+
{% endif %}
|
34
|
+
<p class="meta">{{ item.date | date: site.date_format }} • {{ item.author | default: site.author }}</p>
|
35
|
+
|
36
|
+
{%- if jekyll.environment == 'development' and item.recommend -%}
|
37
|
+
{%- assign h_cls = ' class="fa-icon-star"' -%}
|
38
|
+
{%- else -%}
|
39
|
+
{%- assign h_cls = '' -%}
|
40
|
+
{%- endif -%}
|
41
|
+
|
42
|
+
<h3 id="{{- item.url | relative_url | slugify -}}"><a href="{{- item.url | relative_url -}}" title="{{- item.description -}}"{{- h_cls -}}>{{- item.title -}}</a></h3>
|
43
|
+
|
44
|
+
<div class="no_toc_section">
|
45
|
+
|
46
|
+
{{ item.excerpt | replace: '<h5', '<h6' | replace: '</h5', '</h6'
|
47
|
+
| replace: '<h4', '<h6' | replace: '</h4', '</h6'
|
48
|
+
| replace: '<h3', '<h5' | replace: '</h3', '</h5'
|
49
|
+
| replace: '<h2', '<h4' | replace: '</h2', '</h4' }}
|
50
|
+
|
51
|
+
</div>
|
52
|
+
{%- if item.content contains site.excerpt_separator -%}
|
53
|
+
<hr>
|
54
|
+
<p class="small"><a href="{{- item.url | relative_url -}}">Читать далее »</a></p>
|
55
|
+
{%- endif -%}
|
56
|
+
|
57
|
+
{%- if item.tags and item.tags.size > 0 -%}
|
58
|
+
<p class="meta">{%- include nova/utils/tags.liquid item=item -%}</p>
|
59
|
+
{%- endif -%}
|
60
|
+
|
61
|
+
{%- if item.comments != false -%}
|
62
|
+
{%- assign slug = item.url | slugify -%}
|
63
|
+
<p class="meta">{%- include nova/stream/comment_count.liquid slug=slug url=item.url -%}</p>
|
64
|
+
{%- endif -%}
|
65
|
+
|
66
|
+
</section>
|
67
|
+
{%- endfor -%}
|
68
|
+
{%- endif -%}
|
69
|
+
|
70
|
+
{%- if flag -%}
|
71
|
+
{%- assign calendar = site.calendars | where: 'category_id', page.category_id | first -%}
|
72
|
+
{%- if calendar.url -%}
|
73
|
+
<div id="calendar-link-box">
|
74
|
+
<p>Показаны {{limit}} записей из <a href="{{ calendar.url | relative_url }}">{{source.size}}</a></p>
|
75
|
+
<h2 id="calendar-link"><a href="{{ calendar.url | relative_url }}">Читать далее »</a></h2>
|
76
|
+
</div>
|
77
|
+
{%- endif -%}
|
78
|
+
{%- endif -%}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
<details style="margin-top:10px;" class="announcement">
|
2
|
+
<summary style="padding: 5px;cursor: pointer;background-color: #DDD;">Генерировать встройку</summary>
|
3
|
+
|
4
|
+
{% capture embed %}
|
5
|
+
<section style="display: table; margin-top: 10px; border: 1px solid #c5d3da; box-shadow: 1px 1px 3px #c5d3da; padding: 10px; color: #444; font-family: 'PT Sans', Arial, Helvetica, sans-serif;font-size:16px;">
|
6
|
+
<header style="padding: 5px; border: 1px solid #c5d3da; background-color: #edf2f4; font-size: 90%; color: #3e5662;">
|
7
|
+
<p style="margin:0px;">Рубрики: {% include nova/utils/categories.liquid item=page %}</p>
|
8
|
+
<p style="margin:0px;">{{ page.date | date: site.date_format }} • {{ page.author | default: site.author }}</p>
|
9
|
+
</header>
|
10
|
+
|
11
|
+
<h3 id="{{- page.url | relative_url | slugify -}}">
|
12
|
+
<a
|
13
|
+
href="{{- page.url | relative_url -}}"
|
14
|
+
title="{{- page.description -}}"
|
15
|
+
>{{- page.title -}}</a
|
16
|
+
>
|
17
|
+
</h3>
|
18
|
+
|
19
|
+
<style>
|
20
|
+
a.footnote::after { content: ")"; }
|
21
|
+
</style>
|
22
|
+
|
23
|
+
{{- page.excerpt -}}
|
24
|
+
|
25
|
+
<hr style="width:90%;border:1px dotted #c5d3da;" />
|
26
|
+
<p class="small">
|
27
|
+
{%- if page.content contains site.excerpt_separator -%}
|
28
|
+
<a href="{{- page.url | relative_url -}}">Читать далее на <b>shikhalev.org</b> »</a>
|
29
|
+
{%- else -%}
|
30
|
+
<a href="{{- page.url | relative_url -}}">Перейти на <b>shikhalev.org</b> »</a>
|
31
|
+
{%- endif -%}
|
32
|
+
</p>
|
33
|
+
{%- if page.tags and page.tags.size > 0 -%}
|
34
|
+
<footer style="padding: 5px; border: 1px solid #c5d3da; background-color: #edf2f4; font-size: 90%; color: #3e5662;clear: both;">
|
35
|
+
<p style="margin:0px;">Теги: {% include nova/utils/tags.liquid item=page %}</p>
|
36
|
+
</footer>
|
37
|
+
{%- endif -%}
|
38
|
+
</section>
|
39
|
+
{% endcapture %}
|
40
|
+
|
41
|
+
{% assign embed2 = embed | replace: '</a><a', '</a>, <a style="color: #3e5662;"' %}
|
42
|
+
{% assign embed2 = embed2 | replace: '>Рубрики: <a', '>Рубрики: <a style="color: #3e5662;"' | replace: '>Теги: <a', '>Теги: <a style="color: #3e5662;"' %}
|
43
|
+
{% assign embed2 = embed2 | replace: 'href="/', 'href="https://shikhalev.org/' %}
|
44
|
+
{% assign embed2 = embed2 | replace: 'src="/', 'src="https://shikhalev.org/' %}
|
45
|
+
{% assign embed2 = embed2 | replace: 'class="strict-', 'class="' %}
|
46
|
+
{% assign embed2 = embed2 | replace: '<div class="right"', '<div style="float:right;margin:10px 0px 10px 10px;"' %}
|
47
|
+
{% assign embed2 = embed2 | replace: 'class="right"', 'style="float:right;margin:10px 0px 10px 10px;border: 1px solid #c5d3da; box-shadow: 1px 1px 3px #c5d3da;"' %}
|
48
|
+
{% assign embed2 = embed2 | replace: 'class="right logo"', 'style="float:right;margin:10px 0px 10px 10px;"' %}
|
49
|
+
{% assign embed2 = embed2 | replace: 'class="left"', 'style="float:left;margin:10px 10px 10px 0px;border: 1px solid #c5d3da; box-shadow: 1px 1px 3px #c5d3da;"' %}
|
50
|
+
{% assign embed2 = embed2 | replace: 'class="left logo"', 'style="float:left;margin:10px 10px 10px 0px;"' %}
|
51
|
+
{% assign embed2 = embed2 | replace: 'class="center"', 'style="float:none;margin:10px auto;border: 1px solid #c5d3da; box-shadow: 1px 1px 3px #c5d3da;"' %}
|
52
|
+
{% assign embed2 = embed2 | replace: 'class="center logo"', 'style="float:none;margin:10px auto;"' %}
|
53
|
+
{% assign embed2 = embed2 | replace: 'class="square"', 'style="aspect-ratio:1/1;display: block;border: 0px; margin: 0px;padding: 0px;width: 100%;"' %}
|
54
|
+
{% assign embed2 = embed2 | replace: '<h3', '<h3 style="font-size:27px;font-weight:normal;margin:10px 0px;"' %}
|
55
|
+
{% assign layout = page.layout | split: '/' | last %}
|
56
|
+
{% if layout == 'verse' %}
|
57
|
+
{% assign embed2 = embed2 | replace: '<p>', '<p style="margin: 5px 0px;text-align:left; hyphens:manual;white-space:pre;">' %}
|
58
|
+
{% else %}
|
59
|
+
{% assign embed2 = embed2 | replace: '<p>', '<p style="margin: 5px 0px;text-align: justify; hyphens:auto;">' %}
|
60
|
+
{%endif%}
|
61
|
+
{% assign embed2 = embed2 | replace: '<pre', '<pre style="margin:0px;"' %}
|
62
|
+
{% assign embed2 = embed2 | replace: '<code', '<code style="font-size:85%;"' %}
|
63
|
+
{% assign embed2 = embed2 | replace: '<sup', '<sup style="font-size:70%;"' %}
|
64
|
+
{% assign embed2 = embed2 | replace: '<img', '<img style="width:100%;display:block;"' %}
|
65
|
+
{% assign embed2 = embed2 | replace: '<figcaption', '<figcaption style="text-align:center;font-style:italic;padding:0px;margin:2px;0px;5px;"' %}
|
66
|
+
{% assign embed2 = embed2 | replace: 'class="note"', 'style="font-size:90%;margin:5px 2em;text-align: justify; hyphens:auto;"' %}
|
67
|
+
{% assign embed2 = embed2 | replace: 'class="abstract"', 'style="margin:5px 2em;text-align: justify; hyphens:auto;"' %}
|
68
|
+
{% assign embed2 = embed2 | replace: 'class="note italic"', 'style="font-size:90%;margin:5px 2em;font-style: italic;text-align: justify; hyphens:auto;"' %}
|
69
|
+
{% assign embed2 = embed2 | replace: 'class="footnotes"', 'style="font-size:80%"' %}
|
70
|
+
{% assign embed2 = embed2 | replace: 'class="image-box"', 'style="display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; column-gap: 20px; row-gap: 10px; margin: 10px 0px;"' %}
|
71
|
+
{% assign embed2 = embed2 | replace: 'class="inner"', 'style="padding:0px;margin:0px;"' %}
|
72
|
+
{% assign embed2 = embed2 | replace: 'class="highlight"', 'style="border: 1px solid #c5d3da; box-shadow: 1px 1px 3px #c5d3da;margin:5px 0px 5px 10px;padding:5px;"' %}
|
73
|
+
{% assign embed2 = embed2 | replace: ';" style="', ';' %}
|
74
|
+
{% assign embed2 = embed2 | replace: 'fn:', 'e-fn:' %}
|
75
|
+
{% assign embed2 = embed2 | replace: 'fnref:', 'e-fnref:' %}
|
76
|
+
|
77
|
+
<iframe id="embed-result" style="width: 100%;aspect-ratio: 3/2;border:none;" srcdoc="{{embed2 | xml_escape}}"></iframe>
|
78
|
+
|
79
|
+
<textarea readonly style="width: 100%; height: 600px;">
|
80
|
+
{{ embed2 | xml_escape }}
|
81
|
+
</textarea>
|
82
|
+
</details>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{%- assign url = include.url | default: page.url -%}
|
2
|
+
{%- assign next_url = url | split: '/' | pop | join: '/' | append: '/' -%}
|
3
|
+
{%- if next_url != '/' -%}
|
4
|
+
{%- include nova/utils/breadcrumbs.liquid url = next_url collection = include.collection -%}
|
5
|
+
{%- endif -%}
|
6
|
+
{%- if include.url -%}
|
7
|
+
{%- if include.collection -%}
|
8
|
+
{%- assign col = site.collections | where: 'label', include.collection | first -%}
|
9
|
+
{%- assign pg = col.docs | where: 'url', include.url | first -%}
|
10
|
+
{%- else -%}
|
11
|
+
{%- assign pg = site.pages | where: 'url', include.url | first -%}
|
12
|
+
{%- endif -%}
|
13
|
+
{%- if pg -%}
|
14
|
+
<a class="fa-icon-{{- pg.icon | default: 'folder-open-black' -}}" href="{{- pg.url | relative_url -}}" title="{{ pg.description | default: pg.title }}">{{- pg.short | default: pg.title -}}</a>
|
15
|
+
{%- endif -%}
|
16
|
+
{%- endif -%}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{%- if include.item -%}
|
2
|
+
{%- assign item = include.item -%}
|
3
|
+
{%- else -%}
|
4
|
+
{%- assign item = page -%}
|
5
|
+
{%- endif -%}
|
6
|
+
{%- assign cats = '' | split: '///' -%}
|
7
|
+
{%- if item.categories and item.categories.size > 0 -%}
|
8
|
+
{%- assign cats = item.categories -%}
|
9
|
+
{%- elsif item.category_id -%}
|
10
|
+
{%- capture list -%}
|
11
|
+
{%- include nova/utils/chain.liquid item=page -%}
|
12
|
+
{%- endcapture -%}
|
13
|
+
{%- assign cats = list | strip | split: '///' -%}
|
14
|
+
{%- endif -%}
|
15
|
+
{%- for cat in cats -%}
|
16
|
+
{%- assign category_page = site.streams | where: 'category_id', cat | first -%}
|
17
|
+
<a class="fa-icon-{{- category_page.icon | default: 'folder-open' -}}" href="{{- category_page.url | relative_url -}}" title="{{- category_page.description -}}">{{- category_page.short | default: category_page.title -}}</a>
|
18
|
+
{%- endfor -%}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<aside class="categories">
|
2
|
+
<a class="fa-icon-home" href="/" title="Главная страница сайта"></a>
|
3
|
+
{%- if layout.navigation == 'plain' -%}
|
4
|
+
{%- include nova/utils/breadcrumbs.liquid collection = page.collection -%}
|
5
|
+
{%- else -%}
|
6
|
+
{%- include nova/utils/categories.liquid item=page -%}
|
7
|
+
{%- endif -%}
|
8
|
+
</aside>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{%- if include.item.parent and include.item.parent != 'blank' and include.item.parent != 'home' -%}
|
2
|
+
{%- assign parent = site.streams | where: 'category_id', include.item.parent | first -%}
|
3
|
+
{%- include nova/utils/chain.liquid item=parent -%}
|
4
|
+
///
|
5
|
+
{%- endif -%}
|
6
|
+
{%- if include.item.category_id and include.item.category_id != 'blank' and include.item.category_id != 'home' -%}
|
7
|
+
{{- include.item.category_id -}}
|
8
|
+
{%- endif -%}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
{%- assign url = nil -%}
|
2
|
+
{%- if page.category_id -%}
|
3
|
+
{%- if page.category_id == 'home' -%}
|
4
|
+
{%- assign url = "/feed.xml" -%}
|
5
|
+
{%- elsif site.feed.categories contains page.category_id -%}
|
6
|
+
{%- assign url = "/feed/" | append: page.category_id | append: ".xml" -%}
|
7
|
+
{%- endif -%}
|
8
|
+
{%- endif -%}
|
9
|
+
{%- if url -%}
|
10
|
+
<aside class="feed-box"><a href="{{- url -}}">Atom</a></aside>
|
11
|
+
{%- endif -%}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
{%- if page.recommendations != false -%}
|
2
|
+
|
3
|
+
{%- comment -%} Выясняем, откуда брать {%- endcomment -%}
|
4
|
+
{%- if page.recommendations -%}
|
5
|
+
{%- assign random_source_id = page.recommendations -%}
|
6
|
+
{%- else -%}
|
7
|
+
{%- if page.category_id -%}
|
8
|
+
{%- assign random_category_id = page.category_id -%}
|
9
|
+
{%- elsif page.categories -%}
|
10
|
+
{%- assign random_category_id = page.categories | first -%}
|
11
|
+
{%- else -%}
|
12
|
+
{%- assign random_category_id = nil -%}
|
13
|
+
{%- assign random_source_id = 'all' -%}
|
14
|
+
{%- endif -%}
|
15
|
+
{%- if random_category_id -%}
|
16
|
+
{%- assign random_category_page = site.streams | where: 'category_id', random_category_id | first -%}
|
17
|
+
{%- if random_category_page.recommendations == false -%}
|
18
|
+
{%- assign random_source_id = false -%}
|
19
|
+
{%- elsif random_category_page.recommendations -%}
|
20
|
+
{%- assign random_source_id = random_category_page.recommendations -%}
|
21
|
+
{%- else -%}
|
22
|
+
{%- assign random_source_id = random_category_id -%}
|
23
|
+
{%- endif -%}
|
24
|
+
{%- else -%}
|
25
|
+
{%- assign random_source_id = 'all' -%}
|
26
|
+
{%- endif -%}
|
27
|
+
{%- endif -%}
|
28
|
+
|
29
|
+
{%- comment -%} Получаем список подходящих {%- endcomment -%}
|
30
|
+
{%- if random_source_id -%}
|
31
|
+
{%- if random_source_id == 'all' -%}
|
32
|
+
{%- assign random_source = site.posts | where: 'recommend', true | where_exp: 'item', 'item.path != page.path' -%}
|
33
|
+
{%- elsif random_source_id == 'best' -%}
|
34
|
+
{%- comment -%} Сама категория подразумевает избранное {%- endcomment -%}
|
35
|
+
{%- assign random_source = site.categories['best'] | where_exp: 'item', 'item.path != page.path' -%}
|
36
|
+
{%- else -%}
|
37
|
+
{%- assign random_source = site.categories[random_source_id] | where: 'recommend', true | where_exp: 'item', 'item.path != page.path' -%}
|
38
|
+
{%- endif -%}
|
39
|
+
{%- else -%}
|
40
|
+
{%- assign random_source = nil -%}
|
41
|
+
{%- endif -%}
|
42
|
+
|
43
|
+
{%- comment -%} Получаем три случайных и формируем HTML {%- endcomment -%}
|
44
|
+
{%- if random_source and random_source.size >= 3 -%}
|
45
|
+
|
46
|
+
{%- assign randoms = random_source | sample: 3 -%}
|
47
|
+
|
48
|
+
<aside class="recommendations">
|
49
|
+
{%- for random_post in randoms -%}
|
50
|
+
<div class="random-item">
|
51
|
+
<dl>
|
52
|
+
<dt>
|
53
|
+
<span class="meta">{{- random_post.date | date: '%Y.%m.%d' -}} |</span>
|
54
|
+
<a href="{{- random_post.url | relative_url -}}" title="{{- random_post.description -}}">{{- random_post.title -}}</a>
|
55
|
+
</dt>
|
56
|
+
<dd class="meta">
|
57
|
+
{%- for random_post_category in random_post.categories -%}
|
58
|
+
{%- assign category_page = site.streams | where: 'category_id', random_post_category | first -%}
|
59
|
+
<a class="fa-icon-{{- category_page.icon | default: 'folder-open' -}}" href="{{- category_page.url | relative_url -}}" title="{{- category_page.description -}}">{{- category_page.short | default: category_page.title -}}</a>
|
60
|
+
{%- endfor -%}
|
61
|
+
</dd>
|
62
|
+
</dl>
|
63
|
+
</div>
|
64
|
+
{%- endfor -%}
|
65
|
+
</aside>
|
66
|
+
{%- endif -%}
|
67
|
+
{%- endif -%}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{%- if include.item -%}
|
2
|
+
{%- assign item = include.item -%}
|
3
|
+
{%- else -%}
|
4
|
+
{%- assign item = page -%}
|
5
|
+
{%- endif -%}
|
6
|
+
<aside class="share">
|
7
|
+
<a class="fab" target="_blank" title="Поделиться во ВКонтакте" href="https://vk.com/share.php?url={{- item.url | absolute_url | url_encode -}}"></a>
|
8
|
+
<a class="fab" target="_blank" title="Поделиться в Фейсбуке" href="https://www.facebook.com/sharer.php?u={{- item.url | absolute_url | url_encode -}}"></a>
|
9
|
+
<a class="fab" target="_blank" title="Поделиться в Телеграме" href="https://t.me/share/url?url={{- item.url | absolute_url | url_encode -}}"></a>
|
10
|
+
<a class="fab" target="_blank" title="Поделиться в Твиттере" href="https://twitter.com/intent/tweet?url={{- item.url | absolute_url | url_encode -}}&text={{- item.title | url_encode -}}"></a>
|
11
|
+
<a class="fab" target="_blank" title="Сохранить ссылку в Evernote" href="https://www.evernote.com/clip.action?title={{- item.title | url_encode -}}&url={{ item.url | absolute_url | url_encode -}}"></a>
|
12
|
+
</aside>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{%- if include.item -%}
|
2
|
+
{%- assign tags = include.item.tags | sort -%}
|
3
|
+
{%- else -%}
|
4
|
+
{%- assign tags = page.tags | sort -%}
|
5
|
+
{%- endif -%}
|
6
|
+
{%- for tag in tags -%}
|
7
|
+
<a class="tag" href="{%- link pages/tags.md -%}#{{- tag -}}">{{- tag -}}</a>
|
8
|
+
{%- endfor -%}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{%- if site.yandex.metrika -%}
|
2
|
+
<!-- Yandex.Metrika counter -->
|
3
|
+
<script type="text/javascript" >
|
4
|
+
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
5
|
+
m[i].l=1*new Date();
|
6
|
+
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
7
|
+
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
|
8
|
+
(window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym");
|
9
|
+
|
10
|
+
ym({{- site.yandex.metrika -}}, "init", {
|
11
|
+
clickmap:true,
|
12
|
+
trackLinks:true,
|
13
|
+
accurateTrackBounce:true
|
14
|
+
});
|
15
|
+
</script>
|
16
|
+
<noscript><div><img src="https://mc.yandex.ru/watch/{{- site.yandex.metrika -}}" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
17
|
+
<!-- /Yandex.Metrika counter -->
|
18
|
+
{%- endif -%}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<iframe loading="lazy" src="https://yoomoney.ru/quickpay/shop-widget?writer=seller&targets=%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0%20%D1%81%D0%B0%D0%B9%D1%82%D0%B0&targets-hint=&default-sum=314&button-text=14&comment=on&hint=%D1%82%D0%B5%D0%BC%D1%8B%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D0%B2%20%D0%B7%D0%B0%D0%BC%D0%B5%D1%87%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BF%D1%80%D0%BE%D1%87%D0%B5%D0%B5&successURL=https%3A%2F%2Fshikhalev.org%2F&quickpay=shop&account=410012630934713" width="100%" height="323" frameborder="0" allowtransparency="true" scrolling="no"></iframe>
|
2
|
+
{% comment %}
|
3
|
+
<iframe src="https://yoomoney.ru/quickpay/fundraise/button?billNumber=pmWtuwKTZmA.221213&" width="256" height="36" frameborder="0" allowtransparency="true" scrolling="no"></iframe>
|
4
|
+
{% endcomment %}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
---
|
2
|
+
layout: nova/default
|
3
|
+
toc: true
|
4
|
+
description: true
|
5
|
+
---
|
6
|
+
{{ content }}
|
7
|
+
|
8
|
+
{%- if page.category_id and page.category_id != 'home' -%}
|
9
|
+
{%- assign source = site.categories[page.category_id] -%}
|
10
|
+
{%- else -%}
|
11
|
+
{%- assign source = site.posts -%}
|
12
|
+
{%- endif -%}
|
13
|
+
|
14
|
+
{% assign year = "" %}
|
15
|
+
{% assign month = "" %}
|
16
|
+
{% assign year_open = false %}
|
17
|
+
{% assign month_open = false %}
|
18
|
+
|
19
|
+
{% for item in source %}
|
20
|
+
{% assign item_year = item.date | date: "%Y" %}
|
21
|
+
{% if year != item_year %}
|
22
|
+
{% if month_open %}
|
23
|
+
</div>
|
24
|
+
{% assign month_open = false %}
|
25
|
+
{% endif %}
|
26
|
+
{% if year_open %}
|
27
|
+
</section>
|
28
|
+
{% assign year_open = false %}
|
29
|
+
{% endif %}
|
30
|
+
<h2 id="year-{{item_year}}">{{item_year}}</h2>
|
31
|
+
<section class="calendar-year">
|
32
|
+
{% assign year_open = true %}
|
33
|
+
{% assign year = item_year %}
|
34
|
+
{% assign month = "" %}
|
35
|
+
{% endif %}
|
36
|
+
{% assign item_month = item.date | date: "%m" %}
|
37
|
+
{% if month != item_month %}
|
38
|
+
{% if month_open %}
|
39
|
+
</div>
|
40
|
+
{% assign month_open = false %}
|
41
|
+
{% endif %}
|
42
|
+
<div class="box">
|
43
|
+
<h3 id="month-{{item_year}}-{{item_month}}">
|
44
|
+
{% case item_month %}
|
45
|
+
{% when '01' %}Январь
|
46
|
+
{% when '02' %}Февраль
|
47
|
+
{% when '03' %}Март
|
48
|
+
{% when '04' %}Апрель
|
49
|
+
{% when '05' %}Май
|
50
|
+
{% when '06' %}Июнь
|
51
|
+
{% when '07' %}Июль
|
52
|
+
{% when '08' %}Август
|
53
|
+
{% when '09' %}Сентябрь
|
54
|
+
{% when '10' %}Октябрь
|
55
|
+
{% when '11' %}Ноябрь
|
56
|
+
{% when '12' %}Декабрь
|
57
|
+
{% else %}Неизвестный месяц
|
58
|
+
{% endcase %}
|
59
|
+
</h3>
|
60
|
+
{% assign month = item_month %}
|
61
|
+
{% assign month_open = true %}
|
62
|
+
{% endif %}
|
63
|
+
{%- if jekyll.environment == 'development' and item.recommend -%}
|
64
|
+
{%- assign h_cls = ' fa-icon-star' -%}
|
65
|
+
{%- else -%}
|
66
|
+
{%- assign h_cls = '' -%}
|
67
|
+
{%- endif -%}
|
68
|
+
<p class="link-title">
|
69
|
+
<span class="meta">{{ item.date | date: "%Y.%m.%d" }} |</span>
|
70
|
+
<a href="{{ item.url | relative_url }}" title="{{ item.description }}" class="post-title{{- h_cls -}}">{{ item.title }}</a>
|
71
|
+
</p>
|
72
|
+
<p class="meta">{% include nova/utils/categories.liquid item=item %}</p>
|
73
|
+
{% endfor %}
|
74
|
+
{% if month_open %}
|
75
|
+
</div>
|
76
|
+
{% endif %}
|
77
|
+
{% if year_open %}
|
78
|
+
</section>
|
79
|
+
{% endif %}
|