diff options
| author | 2026-02-02 00:35:54 +0300 | |
|---|---|---|
| committer | 2026-02-02 00:35:54 +0300 | |
| commit | bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 (patch) | |
| tree | 27fff9c802dcdd22960bb2e776e58278000d0364 /content/posts/2025-11-23-org.md | |
| parent | Поправил шаблон (diff) | |
| download | blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.gz blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.bz2 blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.xz blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.zip | |
Большая чистка блога
Diffstat (limited to 'content/posts/2025-11-23-org.md')
| -rw-r--r-- | content/posts/2025-11-23-org.md | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/content/posts/2025-11-23-org.md b/content/posts/2025-11-23-org.md deleted file mode 100644 index 95b54ee..0000000 --- a/content/posts/2025-11-23-org.md +++ /dev/null @@ -1,253 +0,0 @@ ---- -comments: true -date: '2025-11-23' -tags: -- гиковское -- моё -title: Личный органайзер ---- - -Пришло в голову, почему бы не рассказать как у меня организован личный -органайзер. - -Для начала стоит очертить то, какие у меня потребности от органайзера: - -- Вести список ежедневных, еженедельных, ежегодных, а так же, одноразовых - событий -- Вести быстрый список ближайших задач (ToDo список). Под быстрым, я - подразумеваю то, что внести новый пункт в него я могу не дольше, чем за пару - десятков секунд. Если это будет требовать бо́льших усилий, то я себя знаю: я - это быстро заброшу, т.к. это станет для меня не помощью, а повинностью. -- Место для быстрых заметок в формате «бесконечного текстовика». Аналогично, - это должно быть под рукой в быстром доступе. Obsidian себя показал _слишком_ - медленным. Настолько, что мне стало проще запоминать, чем испытывать свои - нервы каждый раз, наблюдая его длительный запуск. Да, звучит на первый взгляд - глупо, но у меня так: запуск Obsidian длительностью в десяток секунд - окончательно отбил у меня желание вовсе запускать его. - -Что же делать? Искать идеальный для себя инструмент? Идеального для _себя_ -точно не найду. Написать самому, ведь «яжпрограммист»? Можно, но откровенно -жаль время. Что же делать-то? - -<!--more--> - -К счастью, я вспомнил что у меня же unix-подобная операционная система, в -поставке которой огромное количество небольших программ, которые прекрасно -выполняют какую-то небольшую функцию и при этом отлично стыкуются друг с другом -через стандартный текстовый поток! Грешно не воспользоваться наработками -гораздо более умных, чем я, программистов! - -# ToDo - -Проще всего оказалось с этим. Просто поставил себе -[todo.txt](https://github.com/todotxt/todo.txt-cli). Хоть я и говорил выше, что -идеального инструмента я не найду, но я тогда немного слукавил. Для ToDo этот -инструмент _почти_ идеален. Всё что мне надо, кроме одного нюанса, там есть. А -вот тот самый нюанс, я когда-нибудь исправлю. Возможно. - -Для удобства я себе в zsh добавил следующие alias: - -```zsh -alias t=todo.sh -``` - -Таким образом, чтобы добавить задачку я просто пишу `t add текст задачи`. Куда -уж проще и быстрее? - -# Календарь - -Идею организации календаря я подсмотрел в программе calendar, которая идёт в -комплекте с BSD системами, но не идёт в конкретно моей ОС. Да, наверняка, можно -и к себе притащить, но я из спортивного интереса хотел решить задачу -максимально встроенными и стандартными инструментами. - -Лонг стори шорт: - -~/calendar.txt - -``` -01-28 ДР Лены -10-18 ДР Мамы -05-24 Годовщина свадьбы -11-23 Ежегодное событие - -Пн 15 Еженедельный мит -Пн 20-21 Чтение - -Вт 13 Архком -Вт 15 Грумминг -Вт 20-21 Чтение - -Ср 13 Техразвитие -Ср 20-21 Чтение - -Чт 15 Грумминг -Чт 20-21 Чтение - -Пт 20-21 Чтение -Сб 20-21 Чтение -Вс 20-21 Чтение - -2025-11-19 10 клуб амбассадоров -2025-11-17 16:30-17:30 Встреча c 16:30 до 17:30 -2025-11-24 10:15 Golang Техком -2025-11-24 11-12 Анализ логики состояния -2025-11-23 21 Написать в блог о своём календаре -``` - -Пояснения: - -- `mm-dd\t\tСобытие` - некие ежегодные события, у которых указаны только месяц - и день месяца -- `Пн\tвремя\tСобытие` - еженедельное событие. Про формат времени - будет ниже. -- `yyyy-mm-dd\tвремя\tсобытие` - разовые события в конкретную дату и время. - -Формат времени: его я подсмотрел у формата -[calendar.txt](https://terokarvinen.com/2021/calendar-txt/), то есть, запись -формата `15` - это означает что событие начнётся в 15 часов, `20-21` - событие -длится с 20 до 21 часа вечера. С минутами, которые не обязательны, думаю, всё -понятно из примера. - -Формат сам по себе абсолютно не жёсткий, допускает много вольностей. Главное, -всё сводится к тому, что у него 1 строка - 1 событие и сама строка состоит из 3 -полей разделённых табом (в формате calendar.txt предлагается точка, для меня -это показалось неприемлемым, т.к. я записываю в события и ссылки на созвоны, а -ссылка включает в себя минимум одну точку) - -В принципе, тут уже можно было бы и остановиться и жить с просто текстовиком, -но так было бы не интересно. Я написал на языке оболочки несколько полезных -скриптов. Они настолько маленькие, что я просто приведу их здесь: - -~/.local/bin/calendar - -```sh -#! /bin/sh - -cur=${2:-`date +%Y-%m-%d`} -file=${1:-~/calendar.txt} -grep \ - -e "^$(date +%Y-%m-%d -d $cur)"\ - -e "^$(date +%a -d $cur)"\ - -e "^$(date +%m-%d -d $cur)" $file |\ -sort -n -k 2 |\ -cut -f2- | fold -w 80 -s -``` - -Собственно, это главный скрипт, который собирает для текущей (или явно -указанной) даты все релевантные события, сортирует их по времени и выводит -форматированным списком. Примерно так: - -``` -% calendar - Ежегодное событие -20-21 Чтение -21 Написать в блог о своём календаре -``` - -На этом я не остановился, но сделал ещё парочку вспомогательных скриптов, -использующих его за основу: - -~/.local/bin/today - -```sh -#!/bin/sh -echo "Календарь:" -echo -e ''$_{1..80}'\b-' -cal -echo -e ''$_{1..80}'\b-' -echo "События дня:" -echo -e ''$_{1..80}'\b-' - -calendar - -echo -e ''$_{1..80}'\b-' - -echo "ToDo:" -todo.sh ls -``` - -Делает по сути тоже самое что и просто calendar, только ещё и рисует красивый -графический календарик и показывает список ToDo задач. - -~/.local/bin/week - -```sh -#!/bin/sh - -echo "На 7 дней:" -for i in {0..6} -do - d=`date +%Y-%m-%d -d "+ $i day"` - echo -e ''$_{1..80}'\b-' - echo $d - echo -e ''$_{1..80}'\b-' - calendar ~/calendar.txt $d -done -echo -e ''$_{1..80}'\b-' -echo "ToDo:" -todo.sh ls -``` - -Выводит план на 7 дней вперёд. - -## Редактирование календаря - -Здесь тоже предельно просто: добавил в zshrc такой алиас: - -```zsh -alias ev='nvim +/`date +"%Y-%m-%d"` ~/calendar.txt' -``` - -и просто по команде `ev` открывается neovim и готов принимать новое событие. -Хотя это и не самая частая операция. - -# Быстрые заметки - -Тут тоже всё просто: - -```zsh -alias qn='nvim "+normal G" ~/quicknote.txt' -``` - -Соответственно, по команде `qn` открывается мой текстовик для заметок на самой -последней строке. Можно дописать или поискать что-то с конца. На самом деле -очень удобно! - -# Мобильный? - -Я бы хотел все эти мои текстовики иметь и на мобильном устройстве. Даже не для -редактирования, а например, свериться со списком задач / событий. - -Тут чуть сложнее. Для синхронизации с мобильным устройством я сделал такой финт: - -1. Все текстовики у меня лежат не в домашней директории, на самом деле, а в - некой директории из которой симлинками уже прокинуты в корень домашней - директории. -2. Директория эта добавлена в Syncthing который синхронизирует её с NAS и - мобильным устройством. -3. На мобильном устройстве стоит замечательная программа - [Markor](https://f-droid.org/packages/net.gsantner.markor/) которая нативно - понимает формат todo.txt, ну и достаточно неплохо позволяет смотреть - редактировать файлы calendar.txt и quicknote.txt. - -# Чтобы хотелось ещё? - -- Как я упоминал, в todo.txt для меня есть неприятный нюанс который я бы хотел - исправить, а именно, вложенные задачи, когда у одной задачи может быть - сколько угодно дочерних, у которых, так же могут быть дочерние. Пока думаю, - расширить формат табуляцией в начале строки. Количество \t - уровень - вложенности. Но тогда придётся модифицировать todo.txt-cli который я - использую. И непонятно как это проглотит Markor. Можно конечно использовать - встроенную возможность задавать key-value значения. Тогда будет что-то типа - `Подзадача parent:2`. Это, как будто, самый правильный способ, который и - рекомендуется разработчиками формата, но получается слишком многословно, а - даже если сократить до `p:2` - всё равно надо в голове держать номер - родительской задачи. Так себе. Не знаю ещё как поступлю, но как-то поступлю. -- Было бы неплохо прикрутить парсинг ICS файлов из почты для автоматического - добавления событий в календарь. Это сто́ит сделать однозначно! -- Ну и очень желательно сделать скрипт который по крону за 15 минут до события - напомнит о нём, через какой-нибудь `notify-send`. Это, на самом деле, из всех - хотелок самая приоритетная для меня сейчас. - -Если будет интересно, я могу здесь рассказывать о том, что сделал из этих -хотелок. |
