diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4942ae3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/target/
+/public/
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..3a07023
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "themes/terminimal"]
+ path = themes/terminimal
+ url = https://github.com/pawroman/zola-theme-terminimal.git
diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644
index 0000000..549d65d
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,7 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ortem_xyz"
+version = "0.1.0"
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..5e60e19
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,43 @@
+# The URL the site will be built for
+base_url = "https://ortem.xyz"
+
+# Whether to automatically compile all Sass files in the sass directory
+compile_sass = true
+
+theme = "terminimal"
+
+# Whether to build a search index to be used later on by a JavaScript library
+build_search_index = true
+
+taxonomies = [
+ {name = "tags"},
+]
+
+[markdown]
+# Whether to do syntax highlighting
+# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
+highlight_code = true
+highlight_theme = "kronuz"
+
+[extra]
+accent_color = "red"
+background_color = "dark"
+
+logo_text = "Ortem's kennel"
+#author = "Artёm Sidorenko"
+copyright_html = "© 2022 Artёm Sidorenko
fuck copyrights btw"
+
+menu_items = [
+ {name = "blog", url = "$BASE_URL/blog"},
+ {name = "about me", url = "$BASE_URL/about"},
+
+ # set newtab to true to make the link open in new tab
+ #{name = "github", url = "https://github.com/plazmoid", newtab = true},
+
+ {name = "projects", url = "$BASE_URL/projects"},
+ {name = "links", url = "$BASE_URL/links"},
+ {name = "tags", url = "$BASE_URL/tags"},
+
+ # just a placeholder to satisfy zola
+ {name = "", url = "$BASE_URL/"},
+]
\ No newline at end of file
diff --git a/content/about/cv.md b/content/about/cv.md
new file mode 100644
index 0000000..cfd3b2c
--- /dev/null
+++ b/content/about/cv.md
@@ -0,0 +1,3 @@
++++
++++
+CV placeholder
\ No newline at end of file
diff --git a/content/about/index.md b/content/about/index.md
new file mode 100644
index 0000000..722f000
--- /dev/null
+++ b/content/about/index.md
@@ -0,0 +1,7 @@
++++
++++
+
+
+Are you an employer and looking for a Middle Rust Developer? Don't hesitate to check out my [CV](/about/cv) and [portfolio](/projects)!
+
+Not enough? You wanna dig into my mind [deeper](/about/mind)?
\ No newline at end of file
diff --git a/content/about/mind.md b/content/about/mind.md
new file mode 100644
index 0000000..1179865
--- /dev/null
+++ b/content/about/mind.md
@@ -0,0 +1,3 @@
++++
++++
+Where is my mind?
\ No newline at end of file
diff --git a/content/blog/_index.md b/content/blog/_index.md
new file mode 100644
index 0000000..84da851
--- /dev/null
+++ b/content/blog/_index.md
@@ -0,0 +1,3 @@
++++
+sort_by = "date"
++++
\ No newline at end of file
diff --git a/content/blog/rust-tricky-quiz.md b/content/blog/rust-tricky-quiz.md
new file mode 100644
index 0000000..284290b
--- /dev/null
+++ b/content/blog/rust-tricky-quiz.md
@@ -0,0 +1,23 @@
++++
+title = "Tricky questions for any rust interview"
+date = "2022-08-18"
+
+[taxonomies]
+tags = ["rust"]
++++
+
+Which type has variable `result`?
+```rust
+fn count_uppercase(s: &str) -> usize {
+ let result = {
+ let upper = s.chars().filter(|c| c.is_uppercase()).collect::();
+ return upper.len();
+ };
+}
+```
+
+Answer
+
+`result` has '!' type or 'never type'. . [Read more](https://doc.rust-lang.org/book/ch19-04-advanced-types.html#the-never-type-that-never-returns)
+
+
\ No newline at end of file
diff --git a/content/index.md b/content/index.md
new file mode 100644
index 0000000..715d0b1
--- /dev/null
+++ b/content/index.md
@@ -0,0 +1,3 @@
++++
++++
+You're on ortem's website! Use top menu to navigate.
\ No newline at end of file
diff --git a/content/projects.md b/content/projects.md
new file mode 100644
index 0000000..a846c88
--- /dev/null
+++ b/content/projects.md
@@ -0,0 +1,17 @@
++++
++++
+
+* [Source code of ortem.xyz](https://git.ortem.xyz/root/ortem.xyz)
+
+
+* [Yet another one brainfuck interpreter](https://github.com/plazmoid/brainfuck-rust)
+
+
+* [unki](https://git.ortem.xyz/root/unki): cross-platform remote admin tool for not enough smart house
+
+
+* [sockser](https://git.ortem.xyz/root/sockser): small program to establish and maintain SOCKS5-tunnel via ssh client
+
+* [Teeworlds](https://github.com/plazmoid/teeworlds): rough clone of original [game](https://www.teeworlds.com/) written in python+pygame
+
+* [bind-it](https://github.com/plazmoid/bind_it): small nightly-rust crate that allows to write `let n: impl Trait = 1;`
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index e7a11a9..ac225a2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,3 +1,10 @@
fn main() {
- println!("Hello, world!");
+ println!("{}", count_uppercase("Lol PiDor"));
+}
+
+fn count_uppercase(str: &str) -> usize {
+ let result = {
+ let upper = str.chars().filter(|c| c.is_uppercase()).collect::();
+ return upper.len();
+ };
}
diff --git a/templates/section.html b/templates/section.html
new file mode 100644
index 0000000..b535a0f
--- /dev/null
+++ b/templates/section.html
@@ -0,0 +1,7 @@
+{% extends "index.html" %}
+
+{% block content %}
+{% for post in section.pages %}
+
+{% endfor %}
+{% endblock content %}
\ No newline at end of file