Compare commits

...

3 commits

Author SHA1 Message Date
ImgBotApp
0db1da5763 [ImgBot] Optimize images
/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress.png -- 157.92kb -> 94.11kb (40.41%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2024-07-09 15:21:58 +03:00
4aa094956c
Update information about me and my projects
Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev>
2024-07-07 17:36:29 +03:00
afbcb70963
Redesign website + participate in webring
Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev>
2024-07-07 15:17:37 +03:00
21 changed files with 328 additions and 244 deletions

View file

@ -6,9 +6,7 @@ gem 'jekyll-seo-tag'
gem 'kramdown-parser-gfm' gem 'kramdown-parser-gfm'
gem 'jekyll-watch' gem 'jekyll-watch'
gem 'webrick' gem 'webrick'
gem 'jekyll-toc'
gem 'jekyll-feed' gem 'jekyll-feed'
gem 'jekyll-minifier' gem 'jekyll-minifier'
gem 'rouge' gem 'rouge'
gem 'jekyll-paginate'
gem 'execjs' gem 'execjs'

View file

@ -1,24 +1,27 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
addressable (2.8.5) addressable (2.8.7)
public_suffix (>= 2.0.2, < 6.0) public_suffix (>= 2.0.2, < 7.0)
bigdecimal (3.1.8)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.2.2) concurrent-ruby (1.3.3)
cssminify2 (2.0.1) cssminify2 (2.0.1)
em-websocket (0.5.3) em-websocket (0.5.3)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0) http_parser.rb (~> 0)
eventmachine (1.2.7) eventmachine (1.2.7)
execjs (2.9.1) execjs (2.9.1)
ffi (1.16.3) ffi (1.17.0)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
google-protobuf (3.25.1) google-protobuf (4.27.2)
bigdecimal
rake (>= 13)
htmlcompressor (0.4.0) htmlcompressor (0.4.0)
http_parser.rb (0.8.0) http_parser.rb (0.8.0)
i18n (1.14.1) i18n (1.14.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.3.2) jekyll (4.3.3)
addressable (~> 2.4) addressable (~> 2.4)
colorator (~> 1.0) colorator (~> 1.0)
em-websocket (~> 0.5) em-websocket (~> 0.5)
@ -42,19 +45,15 @@ GEM
jekyll (>= 3.5) jekyll (>= 3.5)
json-minify (~> 0.0.3) json-minify (~> 0.0.3)
uglifier (~> 4.1) uglifier (~> 4.1)
jekyll-paginate (1.1.0)
jekyll-sass-converter (3.0.0) jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54) sass-embedded (~> 1.54)
jekyll-seo-tag (2.8.0) jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0) jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0) jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-toc (0.18.0)
jekyll (>= 3.9)
nokogiri (~> 1.12)
jekyll-watch (2.2.1) jekyll-watch (2.2.1)
listen (~> 3.0) listen (~> 3.0)
json (2.7.1) json (2.7.2)
json-minify (0.0.3) json-minify (0.0.3)
json (> 0) json (> 0)
kramdown (2.4.0) kramdown (2.4.0)
@ -62,28 +61,25 @@ GEM
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
liquid (4.0.4) liquid (4.0.4)
listen (3.8.0) listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0) mercenary (0.4.0)
mini_portile2 (2.8.5)
nokogiri (1.15.5)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
pathutil (0.16.2) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
public_suffix (5.0.4) public_suffix (6.0.0)
racc (1.7.3) rake (13.2.1)
rake (13.1.0)
rb-fsevent (0.11.2) rb-fsevent (0.11.2)
rb-inotify (0.10.1) rb-inotify (0.11.1)
ffi (~> 1.0) ffi (~> 1.0)
rexml (3.2.6) rexml (3.3.1)
rouge (4.2.0) strscan
rouge (4.3.0)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sass-embedded (1.69.5) sass-embedded (1.77.5)
google-protobuf (~> 3.23) google-protobuf (>= 3.25, < 5.0)
rake (>= 13.0.0) rake (>= 13)
strscan (3.1.0)
terminal-table (3.0.2) terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3) unicode-display_width (>= 1.1.1, < 3)
uglifier (4.2.0) uglifier (4.2.0)
@ -99,14 +95,12 @@ DEPENDENCIES
jekyll jekyll
jekyll-feed jekyll-feed
jekyll-minifier jekyll-minifier
jekyll-paginate
jekyll-seo-tag jekyll-seo-tag
jekyll-sitemap jekyll-sitemap
jekyll-toc
jekyll-watch jekyll-watch
kramdown-parser-gfm kramdown-parser-gfm
rouge rouge
webrick webrick
BUNDLED WITH BUNDLED WITH
2.4.22 2.4.20

View file

@ -1,4 +1,4 @@
name: "Ivan Bushchik" name: "ivabus"
description: ivabus's site/blog description: ivabus's site/blog
url: https://ivabus.dev url: https://ivabus.dev
lang: en lang: en
@ -15,11 +15,9 @@ exclude: ['README.md', 'Gemfile.lock', 'Gemfile', 'Rakefile', 'LICENSE', 'shell.
plugins: plugins:
- jekyll-seo-tag - jekyll-seo-tag
- jekyll-sitemap - jekyll-sitemap
- jekyll-toc
- jekyll-feed - jekyll-feed
- jekyll-minifier - jekyll-minifier
- rouge - rouge
- jekyll-paginate
markdown: kramdown markdown: kramdown
@ -27,7 +25,6 @@ social:
name: Ivan Bushchik name: Ivan Bushchik
links: links:
- https://github.com/ivabus - https://github.com/ivabus
- https://social.treehouse.systems/@ivabus
- https://vk.com/ivabus - https://vk.com/ivabus
kramdown: kramdown:
@ -40,8 +37,5 @@ kramdown:
line_numbers: false line_numbers: false
wrap: true wrap: true
paginate: 5
paginate_path: "/blog/page:num/"
jekyll-minifier: jekyll-minifier:
preserve_line_breaks: true preserve_line_breaks: true

5
_includes/webring.html Normal file
View file

@ -0,0 +1,5 @@
<div class="webring">
<a href="//otomir23.me/webring/14/prev"><</a>
<a href="//otomir23.me/webring">webring</a>
<a href="//otomir23.me/webring/14/next">></a>
</div>

View file

@ -2,4 +2,4 @@
layout: default layout: default
--- ---
{{ content | toc }} {{ content }}

View file

@ -1,19 +1,24 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="preload" href="/assets/fonts/JetBrainsMono-VariableFont_wght.ttf" as="font" type="font/ttf" crossorigin="anonymous"> <link rel="preload" href="/assets/fonts/JetBrainsMono-VariableFont_wght.ttf" as="font" type="font/ttf"
crossorigin="anonymous">
<meta name="viewport" content="width=device-width"> <meta name="viewport" content="width=device-width">
<link rel="preload" href="/assets/images/background.webp" as="image">
<link href="/assets/css/style.css" rel="stylesheet"> <link href="/assets/css/style.css" rel="stylesheet">
{% seo title=false %} {% seo title=false %}
<title>{% if page.name != "index.md" %}{{page.title}} | {% endif %}{{site.name}}</title> <title>{% if page.name != "index.md" %}{{page.title}} | {% endif %}{{site.name}}</title>
</head> </head>
<body> <body>
<header id="header">
<a href="/"><h1>{{ site.name }}</h1></a>
</header>
<div id="page"> <div id="page">
<header id="header_top">
<a href="/">
<h1>{{ site.name }}</h1>
</a>
</header>
<div id="sidebar"> <div id="sidebar">
<nav class="menu"> <nav class="menu">
<ul class="menu"> <ul class="menu">
@ -22,40 +27,57 @@
<li class="menu"><a href="/about.html">About</a></li> <li class="menu"><a href="/about.html">About</a></li>
</ul> </ul>
</nav> </nav>
</div>
<div id="content">
{{ content }}
</div>
<footer id="footer">
<details>
<summary>GPG key info</summary>
<br>
<p>
<a href="/key.asc">key.asc</a><br>
Key ID (sign): <code>2F16FBF3262E090C</code><br>
Key ID (encrypt): <code>75D13F197C64C9B2</code><br>
Key ID (sign) (revoked): <code>9F6DDABE11A2674D</code><br>
Key ID (encrypt) (revoked): <code>F2D682FB55D16001</code><br>
Fingerprint: <code>5F8E 8C32 261C 2CA7 D680 792D D146 2CE6 C2FF 77CE</code></p>
<ul>
<li><a href="http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5f8e8c32261c2ca7d680792dd1462ce6c2ff77ce">keyserver.ubuntu.com</a></li>
<li><a href="https://keys.openpgp.org/vks/v1/by-fingerprint/5F8E8C32261C2CA7D680792DD1462CE6C2FF77CE">keys.openpgp.org</a></li>
</ul>
<details>
<summary>Revoked key <code>3E4E9C7D66E44BF7</code></summary>
Key ID: <code>3E4E9C7D66E44BF7</code><br>
Fingerprint: <code>77F2 CF96 4D0A 9F5B A3DE 3D31 3E4E 9C7D 66E4 4BF7</code>
<ul>
<li><a href="http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x77f2cf964d0a9f5ba3de3d313e4e9c7d66e44bf7">keyserver.ubuntu.com</a></li>
</ul>
</details>
</details>
<br>
<p class="copyright">All content copyright Ivan Bushchik. Powered by <a href="https://github.com/ivabus/nixos">NixOS</a> and <a href="http://jekyllrb.com">Jekyll</a></p>
<!-- commit_id may be filled during build -->
{% if site.commit_id %}<p class="copyright">Built from <a href="https://github.com/ivabus/website/commit/{{ site.commit_id }}">{{ site.commit_id | slice: 0,7 }}</a></p>{% endif %}
</footer>
</div> <footer id="footer_top">
{% include webring.html %}
<details>
<summary>GPG key info</summary>
<br>
<p>
<a href="/key.asc">key.asc</a><br>
Key ID (sign): <code>2F16FBF3262E090C</code><br>
Key ID (encrypt): <code>75D13F197C64C9B2</code><br>
Fingerprint: <code>5F8E 8C32 261C 2CA7 D680 792D D146 2CE6 C2FF 77CE</code>
</p>
<br>
</details>
<p class="copyright">All content copyright Ivan Bushchik.</p>
<!-- commit_id may be filled during build -->
{% if site.commit_id %}<p class="copyright">Built from <a
href="https://github.com/ivabus/website/commit/{{ site.commit_id }}">{{ site.commit_id | slice: 0,7 }}</a>
</p>
{% endif %}
</footer>
</div>
<header id="header_bottom">
<a href="/">
<h1>{{ site.name }}</h1>
</a>
</header>
<div id="content">
{{ content }}
</div>
<footer id="footer_bottom">
<div style="text-align: center">{% include webring.html %}</div>
<details>
<summary>GPG key info</summary>
<br>
<p>
<a href="/key.asc">key.asc</a><br>
Key ID (sign): <code>2F16FBF3262E090C</code><br>
Key ID (encrypt): <code>75D13F197C64C9B2</code><br>
Fingerprint: <code>5F8E 8C32 261C 2CA7 D680 792D D146 2CE6 C2FF 77CE</code>
</p>
<br>
</details>
<p class="copyright">All content copyright Ivan Bushchik.</p>
<!-- commit_id may be filled during build -->
{% if site.commit_id %}<p class="copyright">Built from <a
href="https://github.com/ivabus/website/commit/{{ site.commit_id }}">{{ site.commit_id | slice: 0,7 }}</a></p>
{% endif %}
</footer>
</div>
</body> </body>
</html>
</html>

View file

@ -3,7 +3,6 @@ layout: post
summary: "I tried out NixOS this month and it was the best Linux experience I've ever had" summary: "I tried out NixOS this month and it was the best Linux experience I've ever had"
title: "NixOS encounter" title: "NixOS encounter"
img: /posts_media/2023-07-28-nixos-encounter/screenshot.webp img: /posts_media/2023-07-28-nixos-encounter/screenshot.webp
toc: true
--- ---
## What is NixOS? ## What is NixOS?

View file

@ -2,7 +2,6 @@
layout: post layout: post
summary: "Up to 1.8 GHz without throttling" summary: "Up to 1.8 GHz without throttling"
title: "Overclocking StarFive VisionFive 2" title: "Overclocking StarFive VisionFive 2"
toc: true
--- ---
# TL;DR # TL;DR
@ -13,7 +12,7 @@ Apply a [patch](/posts_media/2023-10-21-overclocking-starfive-vf2/overclock_vf2.
StarFive VisionFive 2 is a second generation of RISC-V boards from StarFive, which is based on StarFive JH7110 SoC with 4 of SiFive's U74 cores. StarFive VisionFive 2 is a second generation of RISC-V boards from StarFive, which is based on StarFive JH7110 SoC with 4 of SiFive's U74 cores.
The SiFive U74 max frequency in StarFive JH7110 is 1.5 GHz by default, but it can work much better, because even under load the temperature never exceeds 50ºC, so overclocking is worth it. The JH110 can be overclocked to 1.8 GHz, which will be done in this article. The SiFive U74 max frequency in StarFive JH7110 is 1.5 GHz by default, but it can perform much better, because even under load the temperature never exceeds 60ºC, so overclocking is worth it. The JH110 can be overclocked to 1.8 GHz, which will be done in this article.
Warning: You are responsible for the safety of your board. Warning: You are responsible for the safety of your board.
@ -83,7 +82,7 @@ All tests were performed out at an ambient temperature of 21ºC.
25-minute `stress -c 8` run. [Raw data (without heatsink) (timestamp, temp * 1000)](/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress_data), [raw data (with heatsink)](/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress_data_heatsink). 25-minute `stress -c 8` run. [Raw data (without heatsink) (timestamp, temp * 1000)](/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress_data), [raw data (with heatsink)](/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress_data_heatsink).
![Stress test graph](/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress.jpeg) ![Stress test graph](/posts_media/2023-10-21-overclocking-starfive-vf2/vf2_stress.png)
# Known issues # Known issues

View file

@ -2,7 +2,6 @@
layout: post layout: post
summary: "This post is hosted on NixOS" summary: "This post is hosted on NixOS"
title: "Hosting Jekyll websites on NixOS" title: "Hosting Jekyll websites on NixOS"
toc: true
--- ---
## Preamble ## Preamble

View file

View file

@ -0,0 +1,17 @@
---
layout: project
title: "urouter & aliurl"
description: "Aliaser for URLs"
project-url: "https://github.com/ivabus/urouter"
participant: false
---
[urouter](https://github.com/ivabus/urouter) is "static" URL router, that reads route list at from file once.
urouter is built on top of the [Rocket.rs](https://rocket.rs) framework.
urouter powers [iva.bz](https://iva.bz)
urouter successfully replaced [aliurl](https://github.com/ivabus/aliurl), which was a dynamic HTTP router.
[aliurl](https://github.com/ivabus/aliurl) is a "dynamic" HTTP router (with API to modify routes) that has been deprecatred and replaced by urouter.

View file

@ -1,13 +0,0 @@
---
layout: project
title: "urouter"
description: "Aliaser for URLs"
project-url: "https://github.com/ivabus/urouter"
participant: false
---
[urouter](https://github.com/ivabus/urouter) is "static" URL router, that reads route list at from file once.
urouter is built on top of the [Rocket.rs](https://rocket.rs) framework.
urouter powers [iva.bz](https://iva.bz)

View file

@ -5,13 +5,14 @@ title: About
toc: true toc: true
--- ---
{% include_relative abouttext.md %}
## Skills ## Skills
- Linux administration
- Rust - Rust
- Linux administration
- Git - Git
- pacman, [tea](https://tea.xyz) and (basic) RPM packaging - pacman, [pkgx](https://pkgx.sh) and (basic) RPM packaging
- Shell scripting - Shell scripting
## Certifications ## Certifications
@ -24,7 +25,6 @@ I'm usually known as `ivabus` online. Below are some of the accounts where I pub
- [GitHub](https://github.com/ivabus) - [GitHub](https://github.com/ivabus)
- [Self-hosted Gitea instance (mirror of GitHub)](https://git.ivabus.dev) - [Self-hosted Gitea instance (mirror of GitHub)](https://git.ivabus.dev)
- [Mastodon](https://social.treehouse.systems/@ivabus)
- [Linux.org.ru](https://www.linux.org.ru/people/ivabus/profile) - [Linux.org.ru](https://www.linux.org.ru/people/ivabus/profile)
## Contact me ## Contact me

View file

@ -1,4 +1,4 @@
Hi, I'm Ivan Bushchik. I live in Saint Petersburg, Russia. Currently, besides learning, I'm developing small projects and administrating homelab-like environment. Hi there! My name is Ivan Bushchik and I'm 17 years old. I live in Saint Petersburg, Russia and I study system programming. In addition to studying, I also develop small projects and manage my homelab environment.
You can find some projects that I consider something important on the page [Projects](/projects). Or, if you want to see all the projects I've worked on, you should visit my [GitHub](https://github.com/ivabus). You can find some projects that I consider something important on the page [Projects](/projects). Or, if you want to see all the projects I've worked on, you should visit my [GitHub](https://github.com/ivabus).

View file

@ -16,7 +16,7 @@ a, abbr, acronym, address, applet, article, aside, audio, big, canvas, caption,
body { body {
line-height: 1; line-height: 1;
font: 14px/1.7"JetBrains Mono", monospace font: 14px/1.7"JetBrains Mono", monospace;
} }
h1, h2, h3, h4, h5, h6, p, pre { h1, h2, h3, h4, h5, h6, p, pre {
@ -122,7 +122,7 @@ code {
} }
.highlight { .highlight {
background-color: #073642; background-color: #2b2b2b;
border-radius: 6px; border-radius: 6px;
padding: 10px 5px 5px 10px; padding: 10px 5px 5px 10px;
overflow: auto; overflow: auto;
@ -221,36 +221,56 @@ blockquote, h4, h5, h6 {
} }
#page { #page {
width: 600px; padding-top: 32px;
display: flex;
flex-direction: row;
width: 900px;
margin: 0 auto; margin: 0 auto;
position: relative transform: translateX(-75px);
} }
#footer, #header { #sidebar {
margin-right: 0;
height: fit-content;
}
/*footer, #header {
width: 600px; width: 600px;
margin: 20px auto 0 margin: 20px auto 0
}*/
header {
transform: rotate(-90deg) translateX(-107%);
width: 64px;
height: 32px;
flex: none;
} }
#header h1 { header h1 {
font-size: 32px; font-size: 32px;
margin-bottom: 4px margin-bottom: 4px;
text-wrap: nowrap;
text-align: end;
} }
#header h1 a, article h1 a, body { header h1 a, article h1 a, body {
border: 0 border: 0
} }
#footer { footer {
margin: 10px auto 20px; margin: 10px auto 20px;
padding-top: 10px; padding-top: 5px;
font-size: .85em; font-size: .85em;
border-top: 1px solid #073642 border-top: 1px solid #073642
} }
#sidebar a { #sidebar a {
border: 0; border: 0;
display: inline; /* padding: 0 4px;*/
padding: 0 4px; padding: 4px;
font: 1.2em"JetBrains Mono", monospace font: 1.2em"JetBrains Mono", monospace
} }
@ -321,19 +341,29 @@ img.center {
margin: 0 auto 1em margin: 0 auto 1em
} }
#header, #sidebar, img.center { img.center {
text-align: center text-align: center
} }
#sidebar { #content, #sidebar {
position: relative; border-radius: 16px;
backdrop-filter: blur(24px);
padding: 16px;
box-shadow: 0 0 8px #eee8d5;
}
#content {
max-width: 600px;
min-width: 600px;
margin-bottom: 32px;
}
.webring {
margin-bottom: 16px;
}
.webring a {
display: inline; display: inline;
left: 0;
display: flex;
justify-content: center;
width: auto;
top: 0;
margin-bottom: 20px
} }
.menu { .menu {
@ -354,27 +384,94 @@ img.center {
#sidebar li { #sidebar li {
list-style: none; list-style: none;
display: inline
} }
@media all and (max-width:660px) { #footer_bottom, #header_top {
#content, #footer, #header, #page { display: none;
width: auto; }
padding-left: 10.5px;
padding-right: 10.5px
#sidebar {
text-align: end;
/*position: relative;*/
/*display: inline;*/
margin-right: 0;
/*display: flex;*/
flex: none;
justify-content: center;
width: 150px;
/*top: 0;*/
/*margin-bottom: 20px*/
}
@media all and (max-width:1080px) {
header {
transform: none;
text-align: start;
}
#header {
text-align: start;
margin: 10px;
}
.menu {
display: inline;
text-align: start;
justify-self: unset;
}
#sidebar {
justify-items: center;
display: flex;
margin-top: 10px;
margin-bottom: 10px;
}
#header_top {
text-align: center;
height: auto;
}
#footer_bottom, #header_top {
display: block;
}
#footer_top, #header_bottom {
display: none;
}
#content, #header, #page, #sidebar {
transform: none;
display: block;
width: 90%;
min-width: 0;
max-width: 800px;
padding-left: 5%;
padding-right: 5%;
margin: 0 auto;
}
#sidebar {
margin-bottom: 16px;
text-align: center;
} }
} }
body, html { body {
color: #839496 color: #839496;
} min-height: 100vh;
background: url("/assets/images/background.webp"), linear-gradient(#ddd, #555);
body, html { background-position: -10%;
background-color: #002a35 background-blend-mode: multiply;
background-repeat: repeat;
} }
a:hover { a:hover {
color: #b58900 color: #b58900;
transition: 0.166s;
} }
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
@ -382,11 +479,17 @@ h1, h2, h3, h4, h5, h6 {
} }
h1 a, h1 a:active, h1 a:visited { h1 a, h1 a:active, h1 a:visited {
color: #cb4b16 color: #cb4b16;
padding: 4px;
transform: translateX(-4px);
}
#sidebar a, h1 a {
border-radius: 8px;
} }
#sidebar a:hover, h1 a:hover { #sidebar a:hover, h1 a:hover {
background-color: #002a35; background-color: #464646;
color: #cb4b16 color: #cb4b16
} }
@ -398,10 +501,14 @@ article h1 a.anchor {
color: #b58900 color: #b58900
} }
#footer { footer {
border-color: transparent; border-color: transparent;
} }
.blog {
margin-top: 10px;
}
/* width */ /* width */
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 10px; width: 10px;
@ -472,7 +579,7 @@ article h1 a.anchor {
.highlight .gh { .highlight .gh {
color: #268bd2; color: #268bd2;
background-color: #002b36; background-color: #2b2b2b;
font-weight: bold; font-weight: bold;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -6,7 +6,7 @@ title: "Blog"
<h1 style="font-size: 24px; margin-bottom: 0;">Blog</h1> <h1 style="font-size: 24px; margin-bottom: 0;">Blog</h1>
<a href="/feed.xml" style="margin-top: 0;">RSS feed</a> <a href="/feed.xml" style="margin-top: 0;">RSS feed</a>
<div id="blog-archives"> <div id="blog-archives">
{% for post in paginator.posts %} {% for post in site.posts %}
<article class="post" style="margin-top: 15px;"> <article class="post" style="margin-top: 15px;">
<h2 style="font-size: 14pt; margin: 0 0 0 0;"><a href="{{ post.url }}">{{ post.title }}</a></h2> <h2 style="font-size: 14pt; margin: 0 0 0 0;"><a href="{{ post.url }}">{{ post.title }}</a></h2>
<p class="meta"><span class="postdate">{{ post.date | date: "%b %d, %Y" }}</span></p> <p class="meta"><span class="postdate">{{ post.date | date: "%b %d, %Y" }}</span></p>
@ -19,29 +19,4 @@ title: "Blog"
</article> </article>
{% endfor %} {% endfor %}
</div> </div>
{% if paginator.total_pages > 1 %}
<div class="pagination" align="center">
{% if paginator.previous_page %}
<a href="{{ paginator.previous_page_path | relative_url }}">&laquo; Prev</a>
{% else %}
<span>&laquo; Prev</span>
{% endif %}
{% for page in (1..paginator.total_pages) %}
{% if page == paginator.page %}
<span>{{ page }}</span>
{% elsif page == 1 %}
<a href="{{ '/blog' | relative_url }}">{{ page }}</a>
{% else %}
<a href="{{ site.paginate_path | relative_url | replace: ':num', page }}">{{ page }}</a>
{% endif %}
{% endfor %}
{% if paginator.next_page %}
<a href="{{ paginator.next_page_path | relative_url }}">Next &raquo;</a>
{% else %}
<span>Next &raquo;</span>
{% endif %}
</div>
{% endif %}
</div> </div>

View file

@ -5,10 +5,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem"; type = "gem";
}; };
version = "2.8.5"; version = "2.8.7";
};
bigdecimal = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558";
type = "gem";
};
version = "3.1.8";
}; };
colorator = { colorator = {
groups = ["default"]; groups = ["default"];
@ -25,10 +35,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g";
type = "gem"; type = "gem";
}; };
version = "1.2.2"; version = "1.3.3";
}; };
cssminify2 = { cssminify2 = {
groups = ["default"]; groups = ["default"];
@ -76,10 +86,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
type = "gem"; type = "gem";
}; };
version = "1.16.3"; version = "1.17.0";
}; };
forwardable-extended = { forwardable-extended = {
groups = ["default"]; groups = ["default"];
@ -92,14 +102,15 @@
version = "2.6.0"; version = "2.6.0";
}; };
google-protobuf = { google-protobuf = {
dependencies = ["bigdecimal" "rake"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "18yiqq657lbqbrbdfbxfspdrkiynd0wf49l3cgdw939z36cy0h77"; sha256 = "0vwnr6fmxig4pkag86yzbznpxk8ii7rhjz0rrprkqvnymhhfnscz";
type = "gem"; type = "gem";
}; };
version = "3.25.1"; version = "4.27.2";
}; };
htmlcompressor = { htmlcompressor = {
groups = ["default"]; groups = ["default"];
@ -127,10 +138,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16";
type = "gem"; type = "gem";
}; };
version = "1.14.1"; version = "1.14.5";
}; };
jekyll = { jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"]; dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"];
@ -138,10 +149,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0wbp9xjnjv832ksqs816napy6amp5fh8v4wbrxlpxvgakqz6scsx"; sha256 = "0638cvpmk3py1w2dxpav6l0c854y6l94b6gyc2aa16i7r897z64a";
type = "gem"; type = "gem";
}; };
version = "4.3.2"; version = "4.3.3";
}; };
jekyll-feed = { jekyll-feed = {
dependencies = ["jekyll"]; dependencies = ["jekyll"];
@ -165,16 +176,6 @@
}; };
version = "0.1.10"; version = "0.1.10";
}; };
jekyll-paginate = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8";
type = "gem";
};
version = "1.1.0";
};
jekyll-sass-converter = { jekyll-sass-converter = {
dependencies = ["sass-embedded"]; dependencies = ["sass-embedded"];
groups = ["default"]; groups = ["default"];
@ -208,17 +209,6 @@
}; };
version = "1.4.0"; version = "1.4.0";
}; };
jekyll-toc = {
dependencies = ["jekyll" "nokogiri"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gczpbfkyswy5dwpq0lcssf15l0g0z6zy4zifc5d6pwmiqyxq8mk";
type = "gem";
};
version = "0.18.0";
};
jekyll-watch = { jekyll-watch = {
dependencies = ["listen"]; dependencies = ["listen"];
groups = ["default"]; groups = ["default"];
@ -235,10 +225,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q";
type = "gem"; type = "gem";
}; };
version = "2.7.1"; version = "2.7.2";
}; };
json-minify = { json-minify = {
dependencies = ["json"]; dependencies = ["json"];
@ -289,10 +279,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn"; sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv";
type = "gem"; type = "gem";
}; };
version = "3.8.0"; version = "3.9.0";
}; };
mercenary = { mercenary = {
groups = ["default"]; groups = ["default"];
@ -304,27 +294,6 @@
}; };
version = "0.4.0"; version = "0.4.0";
}; };
mini_portile2 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
type = "gem";
};
version = "2.8.5";
};
nokogiri = {
dependencies = ["mini_portile2" "racc"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
type = "gem";
};
version = "1.15.5";
};
pathutil = { pathutil = {
dependencies = ["forwardable-extended"]; dependencies = ["forwardable-extended"];
groups = ["default"]; groups = ["default"];
@ -341,30 +310,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; sha256 = "17m8q2dzm7a74amnab5rf3f3m466i300awihl3ygh4v80wpf3j6j";
type = "gem"; type = "gem";
}; };
version = "5.0.4"; version = "6.0.0";
};
racc = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
type = "gem";
};
version = "1.7.3";
}; };
rake = { rake = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy"; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem"; type = "gem";
}; };
version = "13.1.0"; version = "13.2.1";
}; };
rb-fsevent = { rb-fsevent = {
groups = ["default"]; groups = ["default"];
@ -382,30 +341,31 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
type = "gem"; type = "gem";
}; };
version = "0.10.1"; version = "0.11.1";
}; };
rexml = { rexml = {
dependencies = ["strscan"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; sha256 = "09f3sw7f846fpcpwdm362ylqldwqxpym6z0qpld4av7zisrrzbrl";
type = "gem"; type = "gem";
}; };
version = "3.2.6"; version = "3.3.1";
}; };
rouge = { rouge = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fkfa0iq3r9b0zzrxpxha17avmyzci3kidzmfbf6fd1279mndpb0"; sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy";
type = "gem"; type = "gem";
}; };
version = "4.2.0"; version = "4.3.0";
}; };
safe_yaml = { safe_yaml = {
groups = ["default"]; groups = ["default"];
@ -423,10 +383,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10f04wvgca22lynvy4pycabkf55p4jf3a3bhmmscjmxv89g9khpg"; sha256 = "1nmy052pm46781s7ca6x3l4yb5p3glh8sf201xwcwpk9rv2av9m2";
type = "gem"; type = "gem";
}; };
version = "1.69.5"; version = "1.77.5";
};
strscan = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
type = "gem";
};
version = "3.1.0";
}; };
terminal-table = { terminal-table = {
dependencies = ["unicode-display_width"]; dependencies = ["unicode-display_width"];

View file

@ -4,3 +4,21 @@ title: Ivan Bushchik
--- ---
{% include_relative abouttext.md %} {% include_relative abouttext.md %}
<div>
<h1 style="font-size: 24px; margin-bottom: 0;">Recent posts</h1>
<div id="blog-archives">
{% for post in site.posts limit:5 %}
<article class="post" style="margin-top: 5px;">
<h2 style="font-size: 14pt; margin: 0 0 0 0;"><a href="{{ post.url }}">{{ post.title }}</a></h2>
<p class="meta"><span class="postdate">{{ post.date | date: "%b %d, %Y" }}</span></p>
{% if post.summary %}
<p>{{ post.summary }}</p>
{% endif %}
{% if post.img %}
<img src="{{ post.img }}" width=600 />
{% endif %}
</article>
{% endfor %}
</div>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB