diff options
author | eug-vs <eugene@eug-vs.xyz> | 2022-04-21 21:46:43 +0300 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2022-04-21 21:46:49 +0300 |
commit | 9a38fed5f259db004e93746e432cd8cb7885e1ea (patch) | |
tree | b63e9b5658a152923a763db779096705e28f2ce3 | |
parent | 98d85738e0eb7f21669f78420d5e3a457117de66 (diff) | |
download | eug-vs-xyz-9a38fed5f259db004e93746e432cd8cb7885e1ea.tar.gz |
fix: add missing components
-rw-r--r-- | src/articles/taskwarrior.md | 74 | ||||
-rw-r--r-- | src/public/emoji/rss.png | bin | 0 -> 41021 bytes | |||
-rw-r--r-- | src/public/highlight.css | 74 | ||||
-rw-r--r-- | src/public/style.css | 1 | ||||
-rw-r--r-- | src/urls | 4 | ||||
-rw-r--r-- | templates/openring.html | 40 | ||||
-rw-r--r-- | templates/page.html | 4 | ||||
-rw-r--r-- | templates/rss.xml | 2 |
8 files changed, 188 insertions, 11 deletions
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 + +<p align="center"> +<img src="https://upload.wikimedia.org/wikipedia/en/5/59/Taskwarrior_logo.png"> +</p> + +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 Binary files differnew file mode 100644 index 0000000..65cb623 --- /dev/null +++ b/src/public/emoji/rss.png 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 @@ -<sectiong style="margin-top: 128px;"> +<section class="webring" style="margin-top: 128px;"> <h2>Articles from blogs I read</h2> - <section> + <section class="articles"> {{range .Articles}} - <div> - <h3> + <div class="article"> + <h3 class="title"> <a href="{{.Link}}" target="_blank" rel="noopener">{{.Title}}</a> </h3> - <p>{{.Summary}}</p> - <div> + <p class="summary">{{.Summary}}</p> + <div class="source"> via <a href="{{.SourceLink}}">{{.SourceTitle}}</a> </div> - <div>{{.Date | datef "January 2, 2006"}}</div> + <div class="date">{{.Date | datef "January 2, 2006"}}</div> </div> {{end}} </section> - <div> + <div class="attribution"> <small> Generated by <a href="https://git.sr.ht/~sircmpwn/openring">openring</a> </small> </div> </section> +<style> +.webring .articles { + display: flex; + flex-wrap: wrap; + margin: -0.5rem; +} +.webring .title { + margin: 0; +} +.webring .article { + flex: 1 1 0; + display: flex; + flex-direction: column; + margin: 0.5rem; + padding: 0.5rem; + min-width: 10rem; +} +.webring .summary { + flex: 1 1 0; +} +.webring .attribution { + text-align: right; +} +</style> 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 @@ <head> <link rel="shortcut icon" type="image/jpg" href="/public/icon-64.png"/> <link rel="stylesheet" href="/public/style.css" /> + <link rel="stylesheet" href="/public/highlight.css" /> </head> <body> <header class="display: inline"> <a href="/" style="text-decoration: none;"> - <img src="/public/eug-vs.png" alt="eug-vs" width="128px"> <h1 style="margin-top: 12px;">Eugene's Space</h1> + <img src="/public/eug-vs.png" alt="eug-vs" width="128px"> + <h1 style="margin-top: 12px;">Eugene's Space</h1> </a> </header> <main> 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 @@ -<rss> +<rss version="2.0"> <channel> </channel> </rss> |