diff --git a/src/pages/about.html b/src/pages/about.html
index 01b1af1..f936f72 100644
--- a/src/pages/about.html
+++ b/src/pages/about.html
@@ -4,7 +4,7 @@ layout: post
lang: 'en'
title: 'about'
-description: 'General info about this website and the author'
+description: 'General info about this website and the author.'
---
diff --git a/src/pages/about/keys.md b/src/pages/about/keys.md
index e5145cc..910b8e8 100644
--- a/src/pages/about/keys.md
+++ b/src/pages/about/keys.md
@@ -2,12 +2,13 @@
layout: post
lang: 'en'
-date: '2026-04-05'
-section: 'about'
title: 'keys'
description: 'Public keys and fingerprints.'
+section: 'about'
+date: '2026-04-05'
+
---
# Public Keys and Fingerprints
diff --git a/src/pages/index.ejs b/src/pages/index.ejs
index 336d045..a30b27a 100644
--- a/src/pages/index.ejs
+++ b/src/pages/index.ejs
@@ -1,6 +1,7 @@
---
-description: 'My own private fanzine'
+description: 'My own private fanzine.'
+
css:
- index
diff --git a/src/pages/posts.md b/src/pages/posts.md
index e6cbe7e..498cd8c 100644
--- a/src/pages/posts.md
+++ b/src/pages/posts.md
@@ -4,7 +4,7 @@ layout: post
lang: 'en'
title: 'posts'
-description: 'Сomplete list of posts'
+description: 'Сomplete list of posts.'
---
diff --git a/src/pages/posts/2020/initial_post.md b/src/pages/posts/2020/initial_post.md
index 42075d6..e56ee0b 100644
--- a/src/pages/posts/2020/initial_post.md
+++ b/src/pages/posts/2020/initial_post.md
@@ -1,16 +1,15 @@
---
layout: post
-
lang: 'ru'
-date: '2020-11-08'
-
-year: '2020'
-section: 'posts'
title: 'initial post'
description: 'Первый пост в этом фэнзине, рассказывающий о его внутреннем устойстве.'
+section: 'posts'
+year: '2020'
+date: '2020-11-08'
+
---
# Initial Post
diff --git a/src/pages/posts/2020/typographic_linter.md b/src/pages/posts/2020/typographic_linter.md
index be94f32..245e55a 100644
--- a/src/pages/posts/2020/typographic_linter.md
+++ b/src/pages/posts/2020/typographic_linter.md
@@ -1,16 +1,15 @@
---
layout: post
-
lang: 'ru'
-date: '2020-11-18'
-
-year: '2020'
-section: 'posts'
title: 'typographic linter'
description: 'Prettier для текста. Автоматизация рутинной типографики.'
+section: 'posts'
+year: '2020'
+date: '2020-11-18'
+
---
# Типографика как code style
diff --git a/src/pages/posts/2024.md b/src/pages/posts/2024.md
index d1b54b3..ecca402 100644
--- a/src/pages/posts/2024.md
+++ b/src/pages/posts/2024.md
@@ -4,4 +4,3 @@ layout: redirect
redirectTarget: '/posts/#2024'
---
-
diff --git a/src/pages/posts/2024/selfhosted_llm.md b/src/pages/posts/2024/selfhosted_llm.md
index 1b6cdb1..3952ce4 100644
--- a/src/pages/posts/2024/selfhosted_llm.md
+++ b/src/pages/posts/2024/selfhosted_llm.md
@@ -1,16 +1,15 @@
---
layout: post
-
lang: 'ru'
-date: '2024-01-15'
-
-year: '2024'
-section: 'posts'
title: 'selfhosted LLM'
description: 'Персональные LLM в docker-контейнере на твоём компьютере.'
+section: 'posts'
+year: '2024'
+date: '2024-01-15'
+
---
# Your Own Private Large Language Models
diff --git a/src/pages/posts/2024/wrapped_bw_ru.md b/src/pages/posts/2024/wrapped_bw_ru.md
index db685e9..f55b5b7 100644
--- a/src/pages/posts/2024/wrapped_bw_ru.md
+++ b/src/pages/posts/2024/wrapped_bw_ru.md
@@ -1,15 +1,15 @@
---
layout: post
-
lang: 'ru'
-date: '2024-07-27'
-
-year: '2024'
-section: 'posts'
title: 'wrapped bw'
description: 'Превращаем fully-featured Bitwarden command-line interface в удобный.'
+
+section: 'posts'
+year: '2024'
+date: '2024-07-27'
+
---
# Интеграция Bitwarden CLI с fzf и буфером обмена
diff --git a/src/pages/posts/2026.md b/src/pages/posts/2026.md
new file mode 100644
index 0000000..cf8324c
--- /dev/null
+++ b/src/pages/posts/2026.md
@@ -0,0 +1,6 @@
+---
+
+layout: redirect
+redirectTarget: '/posts/#2026'
+
+---
diff --git a/src/pages/posts/2026/encrypted_XMPP.md b/src/pages/posts/2026/encrypted_XMPP.md
index 5950d81..d3ddbc9 100644
--- a/src/pages/posts/2026/encrypted_XMPP.md
+++ b/src/pages/posts/2026/encrypted_XMPP.md
@@ -2,12 +2,13 @@
layout: post
lang: 'en'
+
+title: 'encrypted XMPP'
+description: 'Secure and private messaging with XMPP and OMEMO encryption.'
+
+section: 'posts'
year: '2026'
date: '2026-04-07'
-section: 'posts'
-
-title: 'encrypted_XMPP'
-description: 'Secure and private messaging with XMPP and OMEMO encryption.'
---
diff --git a/src/pages/posts/2026/ugly_keyboards_ru.md b/src/pages/posts/2026/ugly_keyboards_ru.md
index 3b3adb6..9a72747 100644
--- a/src/pages/posts/2026/ugly_keyboards_ru.md
+++ b/src/pages/posts/2026/ugly_keyboards_ru.md
@@ -2,12 +2,13 @@
layout: post
lang: 'ru'
+
+title: 'ugly keyboards'
+description: 'Почему нас окружают уродливые клавиатуры и что с этим можно сделать.'
+
+section: 'posts'
year: '2026'
date: '2026-03-18'
-section: 'posts'
-
-title: 'ugly_keyboards'
-description: 'Почему нас окружают уродливые клавиатуры и что с этим можно сделать.'
---
diff --git a/src/pages/test.md b/src/pages/test.md
index 727d8fb..7066777 100644
--- a/src/pages/test.md
+++ b/src/pages/test.md
@@ -1,16 +1,15 @@
---
layout: post
-
lang: 'en'
-date: '2020-10-30'
-
-year: '2020'
-section: 'posts'
title: 'markdown test page'
description: 'A test document written using the Markdown language.'
+section: 'posts'
+year: '2020'
+date: '2020-10-30'
+
---
# Markdown: Syntax