summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CNAME1
-rw-r--r--config.toml5
-rw-r--r--content/_index.md3
-rw-r--r--content/projects/_index.md5
-rw-r--r--content/projects/pomd/index.md31
-rw-r--r--content/projects/pomd/statusbar.pngbin0 -> 9883 bytes
-rw-r--r--sass/style.scss6
-rw-r--r--templates/project-page.html42
-rw-r--r--templates/projects.html19
9 files changed, 110 insertions, 2 deletions
diff --git a/CNAME b/CNAME
deleted file mode 100644
index 33864bf..0000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-exvacuum.dev \ No newline at end of file
diff --git a/config.toml b/config.toml
index 9c86351..f6740e7 100644
--- a/config.toml
+++ b/config.toml
@@ -7,6 +7,11 @@ compile_sass = true
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false
+taxonomies = [
+ { name = "categories", render = false },
+ { name = "languages", render = false },
+]
+
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
diff --git a/content/_index.md b/content/_index.md
index 0491e17..e8d7e25 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -1,10 +1,11 @@
+++
template = "index.html"
+title = "hello"
+++
# silas
-- ~~projects~~ (coming soon, see [github](https://github.com/exvacuum) for now)
+- [projects](@/projects/_index.md)
- [blog](@/blog/_index.md)
find me in other places
diff --git a/content/projects/_index.md b/content/projects/_index.md
new file mode 100644
index 0000000..8448ec5
--- /dev/null
+++ b/content/projects/_index.md
@@ -0,0 +1,5 @@
++++
+title = "projects"
+template = "projects.html"
+page_template = "project-page.html"
++++
diff --git a/content/projects/pomd/index.md b/content/projects/pomd/index.md
new file mode 100644
index 0000000..93ba0ff
--- /dev/null
+++ b/content/projects/pomd/index.md
@@ -0,0 +1,31 @@
++++
+title = "pomd"
+description = "pomodoro timer daemon"
+[taxonomies]
+categories = ["utility"]
+languages = ["rust"]
+[extra]
+finished = "november 2023"
+github = ["exvacuum/pomd", "exvacuum/pomc"]
+crates = ["pomd", "pomc"]
++++
+
+this was a pretty simple rust project i did over the course of a couple days
+
+i had been wanting to experiment with d-bus on linux for a while and figured that writing a pomodoro daemon and client would be a good way to understand the basics of how d-bus interfaces work
+
+luckily i found the wonderful [zbus](https://crates.io/crates/zbus) crate which made everything for hooking up interface super simple
+
+i think the hardest thing about this project was trying to figure out how to accurately keep the time left in the timer
+
+as with many problems in rust the solution ended up being to find a [crate](https://crates.io/crates/pausable_clock) that implemented a "pausable clock" that worked similarly to a normal rust `std::time::Instant`
+
+it's pretty configurable from what i remember
+
+i used this program when i was using [dwm](https://dwm.suckless.org) and wanted a daemon to integrate into my statusbar
+
+![pomd segment in my dwm statusbar](statusbar.png)
+
+now i use KDE plasma which has a pretty good pomodoro applet available, maybe in the future i could make some kind of widget that communicates with the daemon
+
+
diff --git a/content/projects/pomd/statusbar.png b/content/projects/pomd/statusbar.png
new file mode 100644
index 0000000..6ca820a
--- /dev/null
+++ b/content/projects/pomd/statusbar.png
Binary files differ
diff --git a/sass/style.scss b/sass/style.scss
index 65b7bae..cc2b935 100644
--- a/sass/style.scss
+++ b/sass/style.scss
@@ -8,3 +8,9 @@ body {
a {
color: everforest.$blue;
}
+
+.langcolor {
+ &-rust {
+ color: #CE412B;
+ }
+}
diff --git a/templates/project-page.html b/templates/project-page.html
new file mode 100644
index 0000000..3e8e2e4
--- /dev/null
+++ b/templates/project-page.html
@@ -0,0 +1,42 @@
+{% extends "base.html" %}
+
+{% block content %}
+<a href="{{ get_url(path='@/projects/_index.md') }}"> <- back to projects</a>
+<h1 class="title">
+ {{ page.title }}
+</h1>
+<p><strong>{{ page.description }}</strong></p>
+
+{% if page.taxonomies.categories %}
+<p>category: {{ page.taxonomies.categories[0] }}</p>
+{% endif %}
+{% if page.extra.finished %}
+<p>finished: {{ page.extra.finished }}</p>
+{% endif %}
+{% if page.taxonomies.languages %}
+<p>
+ languages:
+ {% for language in page.taxonomies.languages %}
+ <span class="langcolor-{{ language }}">{{ language }}</span>
+ {% endfor %}
+</p>
+{% endif %}
+{% if page.extra.github %}
+<p>
+ github:
+ {% for repo in page.extra.github %}
+ <a href="https://github.com/{{ repo }}" target="_blank">{{ repo }}</a>
+ {% endfor %}
+</p>
+{% endif %}
+{% if page.extra.crates %}
+<p>
+ crates.io:
+ {% for crate in page.extra.crates %}
+ <a href="https://crates.io/crates/{{ crate }}" target="_blank">{{ crate }}</a>
+ {% endfor %}
+</p>
+{% endif %}
+<br/>
+{{ page.content | safe }}
+{% endblock content %}
diff --git a/templates/projects.html b/templates/projects.html
index e69de29..8b01177 100644
--- a/templates/projects.html
+++ b/templates/projects.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block content %}
+<a href="{{ get_url(path='@/_index.md') }}"> <- back to landing</a>
+<h1 class="title">
+ {{ section.title }}
+</h1>
+{% set categories = get_taxonomy(kind="categories") %}
+
+{% for category in categories.items %}
+<b>{{category.name}}</b>
+<ul>
+ {% for page in category.pages %}
+ <li><a href="{{ page.permalink | safe }}">{{ page.title }}: {{ page.description }}</a></li>
+ {% endfor %}
+</ul>
+{% endfor %}
+
+{% endblock content %}