From 9a38fed5f259db004e93746e432cd8cb7885e1ea Mon Sep 17 00:00:00 2001 From: eug-vs Date: Thu, 21 Apr 2022 21:46:43 +0300 Subject: fix: add missing components --- src/articles/taskwarrior.md | 74 ++++++++++++++++++++++++++++++++++++++++++++ src/public/emoji/rss.png | Bin 0 -> 41021 bytes src/public/highlight.css | 74 ++++++++++++++++++++++++++++++++++++++++++++ src/public/style.css | 1 - src/urls | 4 +++ templates/openring.html | 40 +++++++++++++++++++----- templates/page.html | 4 ++- templates/rss.xml | 2 +- 8 files changed, 188 insertions(+), 11 deletions(-) create mode 100644 src/articles/taskwarrior.md create mode 100644 src/public/emoji/rss.png create mode 100644 src/public/highlight.css create mode 100644 src/urls diff --git a/src/articles/taskwarrior.md b/src/articles/taskwarrior.md new file mode 100644 index 0000000..02681d9 --- /dev/null +++ b/src/articles/taskwarrior.md @@ -0,0 +1,74 @@ +# TaskWarrior :taskwarrior: is all you need to be productive + +Nowadays there is an **ocean** of different productivity tools, systems and methodologies. The secret is - you only need one! + +# The problem +I always wanted to come up with a standartized system to manage my life. I bet you too! + +## TickTick +I've tried different approaches and tools and finally ended up with [TickTick](https://ticktick.com) (*and even bought a premium subscription*). + +It provided me with many features, including: + - *Calendar* - this was a must-have to me, I wanted to be able to see top-down view of my week and be able to do "time blocking" + - *Disctinction between tasks and notes* - that was important because back then I already wanted to start accumulating my knowledge somewhere + - *Markdown support* - plaintext is good, but `Markdown` is just so much better for notetaking + - *Arbitrary folder hierarchy* - allowed me to have full control over the structure + - *Tags and complex filtering system* + +It has even more cool stuff, like reminding you about tasks when you arrive at their location, voice input and excellent UI/UX. + +## So why did I switch? +`TickTick` covered all my use-cases (*and even more*), so why did I switch? + +Well, there are a couple reasons for that: + - They have all your data. Ideally I want my management system to be **private** and available offline. + - Keeping notes there just felt like it's too much. The question is: how is it different from writing in plaintext `Markdown` files on mobile phone or laptop? + +# Discovering Vimwiki +At this point I was already using `Vim` a lot and when I learned about [vimwiki](https://githbu.com/vimwiki/vimwiki) I immediately migrated all my notes into the local folder on my computer. +It provides you with much broader functionality than just keeping notes - well, this website is build using `vimwiki`, but I won't go into details here, because I plan to do a separate article about it. + +Also, vimwiki provides you with folder hierarchy for free! Why overuse any other software when your filesystem has it covered? + + +# Discovering TaskWarrior +After using `TickTick` for two years, I finally discovered [TaskWarrior](https://taskwarrior.org): + - Terminal application (*but it has frontends if you can't live without it*) + - Deadly simple + - Data is stored locally + - Scriptable and hackable + - Methodology-agnostic + - Focused on doing one thing + +

+ +

+ +When I saw it first time - I knew that was it. You see, since I was already not keeping notes in `TickTick`, I was only using it only to keep track of my tasks. And `TaskWarrior` actually does a better job in managing tasks - it's the software that follows *Unix philosophy* - **it does one thing and does it well**. + +I won't do a guide about `TaskWarrior` here, because they have an amazing documentation on their website. I suggest you go ahead and [learn this powerful tool](https://taskwarrior.org/docs/30second.html) in 30 seconds! + +# Choosing methodology +Having `TaskWarrior` ready, you may get stunned by the amount of choice you have in managing your tasks. It's time to choose a methodology and stick to it. I prefer [Getting Things Done](https://hamberg.no/gtd) (or **GTD**) - it has a very precise set of rules that you have to follow and they acutally make sense. + +**GTD** is focused, well, on *getting things done*. It's a general approach to organizing tasks and projects. I'd say it's an **interface** which can have multiple **implementations** (like in `TickTick`, `Google Calendar`, `TaskWarrior` etc.). +It's aim is to make you have 100% trust in a system for collecting tasks, ideas, and projects. + +Main advantage of **GTD** is that it only works with **actionable** visible items. E.g. you don't keep a task `Get a driver lisence` - it's stupid from such point of view. "Do I get it right now or what?" Instead you create a project `driver-lisence` with following tasks: + - Ask Michael to recommend a driving course + - Assign to driving course + - Pass rules exam + - Pass driving exam + - Pass final exam + +Hopefully you get the point. Learn more about GTD [here](https://hamberg.no/gtd). + +# Putting it all together +`TaskWarrior` + `vimwiki` is an ultimate replacement for `TickTick` or any other productivity tool you can imagine. **GTD** eliminates the problem with calendar - according to **GTD**, you only assign deadlines to the tasks that actually have them. With that considered, TaskWarrior's built-in calendar works perfectly. + +And the good thing is: you don't need be using `vimwiki` for it to work - you can write your notes any way you like (*I actually suggest pen & paper*). The same for methodology - if you don't like *GTD* - choose any system that fits you (or adapt already existing one). The point is: **TaskWarrior will play nicely with everything**. It's an ultimate tool that you only have to learn once in your life. + +# PS +There's also **TimeWarrior**, but I recommend getting familliar with **TaskWarrior** first. The main difference - TaskWarrior focuses on the tasks you have to do in future, while TimeWarrior analyzes the past. + +I will do an artcile focused specifically on my productivity workflow later, stay tuned! diff --git a/src/public/emoji/rss.png b/src/public/emoji/rss.png new file mode 100644 index 0000000..65cb623 Binary files /dev/null and b/src/public/emoji/rss.png differ diff --git a/src/public/highlight.css b/src/public/highlight.css new file mode 100644 index 0000000..fa5ceb1 --- /dev/null +++ b/src/public/highlight.css @@ -0,0 +1,74 @@ +/* Automatically generated by Pandoc */ +code{white-space: pre-wrap;} +span.smallcaps{font-variant: small-caps;} +span.underline{text-decoration: underline;} +div.column{display: inline-block; vertical-align: top; width: 50%;} +div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} +ul.task-list{list-style: none;} +pre > code.sourceCode { white-space: pre; position: relative; } +pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } +pre > code.sourceCode > span:empty { height: 1.2em; } +.sourceCode { overflow: visible; } +code.sourceCode > span { color: inherit; text-decoration: inherit; } +div.sourceCode { margin: 1em 0; } +pre.sourceCode { margin: 0; } +@media screen { +div.sourceCode { overflow: auto; } +} +@media print { +pre > code.sourceCode { white-space: pre-wrap; } +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code + { counter-reset: source-line 0; } +pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } +pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + background-color: #232629; + color: #7a7c7d; + } +pre.numberSource { margin-left: 3em; border-left: 1px solid #7a7c7d; padding-left: 4px; } +div.sourceCode + { color: #ebdbb2; background-color: #1d2021; } +@media screen { +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } +} +code span { color: #cfcfc2; } /* Normal */ +code span.al { color: #95da4c; background-color: #4d1f24; font-weight: bold; } /* Alert */ +code span.an { color: #3f8058; } /* Annotation */ +code span.at { color: #2980b9; } /* Attribute */ +code span.bn { color: #f67400; } /* BaseN */ +code span.bu { color: #7f8c8d; } /* BuiltIn */ +code span.cf { color: #fdbc4b; font-weight: bold; } /* ControlFlow */ +code span.ch { color: #b16286; } /* Char */ +code span.cn { color: #fabd2f; font-weight: bold; } /* Constant */ +code span.co { color: #928374; } /* Comment */ +code span.cv { color: #7a7c7d; } /* CommentVar */ +code span.do { color: #a43340; } /* Documentation */ +code span.dt { color: #d3869b; } /* DataType */ +code span.dv { color: #f67400; } /* DecVal */ +code span.er { color: #da4453; text-decoration: underline; } /* Error */ +code span.ex { color: #c45b00; font-weight: bold; } /* Extension */ +code span.fl { color: #d79921; } /* Float */ +code span.fu { color: #d79921; } /* Function */ +code span.im { color: #689d6a; } /* Import */ +code span.in { color: #c45b00; } /* Information */ +code span.kw { color: #cfcfc2; font-weight: bold; } /* Keyword */ +code span.op { color: #ffffff; } /* Operator */ +code span.ot { color: #27ae60; } /* Other */ +code span.pp { color: #27ae60; } /* Preprocessor */ +code span.re { color: #2980b9; background-color: #153042; } /* RegionMarker */ +code span.sc { color: #b16286; } /* SpecialChar */ +code span.ss { color: #da4453; } /* SpecialString */ +code span.st { color: #fabd2f; } /* String */ +code span.va { color: #27aeae; } /* Variable */ +code span.vs { color: #da4453; } /* VerbatimString */ +code span.wa { color: #da4453; } /* Warning */ +.display.math{display: block; text-align: center; margin: 0.5rem auto;} diff --git a/src/public/style.css b/src/public/style.css index b6f5b7d..db40b6a 100644 --- a/src/public/style.css +++ b/src/public/style.css @@ -141,4 +141,3 @@ div.column{display: inline-block; vertical-align: top; width: 50%;} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} ul.task-list{list-style: none;} .display.math{display: block; text-align: center; margin: 0.5rem auto;} - diff --git a/src/urls b/src/urls new file mode 100644 index 0000000..e7d6fb2 --- /dev/null +++ b/src/urls @@ -0,0 +1,4 @@ +https://lukesmith.xyz/rss.xml +https://drewdevault.com/blog/index.xml +https://blog.codinghorror.com/rss/ +https://100r.co/links/rss.xml diff --git a/templates/openring.html b/templates/openring.html index be91912..675c623 100644 --- a/templates/openring.html +++ b/templates/openring.html @@ -1,23 +1,47 @@ - +

Articles from blogs I read

-
+
{{range .Articles}} -
-

+
+

{{.Title}}

-

{{.Summary}}

-
+

{{.Summary}}

+ -
{{.Date | datef "January 2, 2006"}}
+
{{.Date | datef "January 2, 2006"}}
{{end}}

-
+
Generated by openring
+ diff --git a/templates/page.html b/templates/page.html index a839e46..cb78f85 100644 --- a/templates/page.html +++ b/templates/page.html @@ -2,11 +2,13 @@ +
- eug-vs

Eugene's Space

+ eug-vs +

Eugene's Space

diff --git a/templates/rss.xml b/templates/rss.xml index 683bdb2..88a2536 100644 --- a/templates/rss.xml +++ b/templates/rss.xml @@ -1,4 +1,4 @@ - + -- cgit v1.2.3