Skip to content

medotkato/ptsm

Repository files navigation

Plain Text Self Management (PTSM)

Система хранения информации, управления задачами и собой на основе простых текстовых файлов - списков, заметок, чек-листов - в формате Markdown (.md), обернутых рядом идей Максима Дорофеева из книги "Путь джедая" и моих мыслей (из книги, которой нет):

  1. Plain text обеспечивает возможность быстро вносить новые задачи и менять старые, редактировать их в любом текстовом редакторе (VS Code, Sublime, Atom, Typora или даже Блокнот), удобно искать по содержимому всех файлов системы и манипулировать ими с помощью скриптов на python или консольных команд. Markdown используется ванильный или слегка обогащенный GitHub-flavored синтаксисом, а также привычным синтаксисом мессенджеров / систем управления задачами (например, @ для указания на персону).

  2. Принципы и техники из "Пути джедая" помогают делать задачи, завершать проекты и меньше париться из-за ерунды.

  3. Принципы и техники из моей головы склеивают части PTSM в одно целое и объясняют, в чем удобство этого добра.

Quick Start

  1. Скачать содержимое репозитория PTSM или выполнить в консоли:

    git clone https://github.com/medotkato/ptsm.git
  2. Установить Visual Studio Code

  3. Запустить VS Code, выбрать File-> Open Folder и указать папку с PTSM

  4. Когда VS Code после открытия папки предложит (в правом нижнем углу) установить расширения, нажать Install All

  5. Выбрать README.md слева в списке файлов и внимательно его прочитать (разделы "Содержимое" и "Рекомендации" ниже)

  6. Переделать все под себя и have fun

Еще можно добавить путь к папке /tools в PATH, тогда будут в любом каталоге работать скрипты сборки из .md в .docx и .pdf (надо настроить пути для складывания выходных файлов и для забора css стилей в tools/ptsm.ini)

Опциональный пункт: написать в Issues, что и как можно улучшить

Содержимое PTSM

Иногда содержимое PTSM в этом репозитории обновляется, меняется, дополняется.

Основные файлы и папки в репозитории:

  • /notes - папка с системой текстовых файлов

  • /tools - папка для скриптов обработки файлов и файла настроек ptsm.ini (см. /tools/README.md)

  • /out_no_git - папка, в которую складывают свои результаты скрипты из /tools

  • /licenses - папка для хранения текстов лицензий, под которыми лицензируется содержимое PTSM

  • ptsm.code-workspace - конфигурация для VS Code, которая позволяет получить такое же окружение, как у меня (настройки и плагины)

  • keybindings.json - настройки горячих клавиш под некоторые удобные элементы системы (скопировать в пользовательский файл настроек, который открывается по команде ctrl+shift+p -> preferences: open keyboard shortcuts (json))

  • README.md (в каждой из папок) - описание системы (или ее компонента - в зависимости от места хранения) и рекомендации по ведению

  • LICENSE.md - файл с коротким описанием того, как все это добро лицензируется (если коротко - открытый copyleft: CC BY-SA & GPLv3)

  • CHANGELOG.md - журнал изменений репозитория

В корень также имеет смысл класть файлы, применимые ко всему содержимому системы - например, файлы workspace для текстовых редакторов (VS Code).

Для примера в папках уже лежат какие-то файлы, например, каких-то условных проектов с каким-то условным содержимым, иллюстрирующим идею того или иного компонента системы.

Основные файлы в /notes

  • Tasks.md - перечень задач (которые надо делать)
  • Projects.md - перечень проектов (над которыми надо думать и откалывать от них задачи в Tasks)
  • Ideas.md - перечень идей, на которые надо иногда смотреть и думать, а надо ли вообще с ними что-то делать или сливать в архив / небытие
  • Done.md - сюда переезжают задачи, которые сделаны за день - и копятся год (в конце года содержимое сливается в архив)
  • Inbox.md - место размещения входящей информации, которую нужно разбирать на ежедневном/еженедельном обзоре
  • Learn.md - список ресурсов, статей, которые надо читать для повышения образованности
  • Info.md - место для первичного размещения информации для постоянного хранения (возможно, в будущем агрегатор для /info)
  • Procrastination.md - ссылки на полезные статьи/видео, которые нужно смотреть во время прокрастинации вместо котиков
  • Read_or_Watch.md - список книг, которые нужно прочитать, и фильмов, которые нужно посмотреть
  • Someday.md - список задач или сущностей, которые теряют актуальность и являются кандидатами на удаление на ежемесячном ревью
  • Control.md - список задач и обязательств других людей, результаты которых нужны мне (для контроля и пинга)
  • Why.md - объяснение, как я дошел до жизни такой и почему это кажется мне удобным

Основные папки в /notes

  • /projects и вложенные в нее директории - файлы проектов
  • /archive - файлы, потерявшие актуальность, но хранение которых еще имеет смысл
  • /checklists - чек-листы на разные случаи жизни
  • /etc - все остальное, до чего пока не добралась рука классификации
  • /log - папка для хранения файлов дневника (1 день - 1 файл вида YYMMDD_ShortDescription.md)

Рекомендации

По системе

  1. Не страдать перфекционизмом.

    Главное - просто вести систему, она не обязана быть идеальной в каждую секунду своего существования. Чтобы система приносила пользу, систематичность ее использования должна быть важнее качества ее заполнения. Качество можно подтягивать в свободное время.

    Лучше записать на скорую руку и потом когда-то разобрать, чем не записать вообще. Например, если появляется что-то для еженедельной проработки, запиши это как-то в чек-лист еженедельный и потом, когда до него дойдешь на ревью, тогда и подумаешь, поправишь и перенесешь в нужное место. Когда сделал невнесенную ранее в список задачу - запиши коротко, о чем это было. Подробное описание задачи (в формате "Команда: Проект: Задача", который помогает думать после выполнения задачи) можно будет добить на ежедневном (еженедельном ревью).

  2. Использовать для оперативных заметок что-то мобильное с синхронизацией - например, Simplenote на телефоне. В этом случае на ходу в Simplenote пишется идея, а потом при доступе к ноуту открывается десктопный клиент Simplenote и оттуда заметки переезжают в Inbox.md

  3. Для записи проектов и задач использовать формат "Команда: Проект" и "Команда: Проект: Задача". Здесь я когда-нибудь напишу об этом подробнее. Но мне так зашло лучше всего (от общего к частному). И сортировать потом удобнее: например, вешаем на кнопку команду Sort Lines Ascending, выделяем пачку задач за день или задач в списке "на потом", жмем эту кнопку и получаем список задач, отсортированный по командам и проектам - сразу видно, над чем мы сегодня трудились больше всего или какие направления у нас наполнены (или недозаполнены) задачами. Скажем, если в списке Upcoming маловато строчек, начинающихся с "Me:" (я сам лично, что-то для меня, родного) или "Family:" (семья и семейные проекты), то это тревожный звоночек - похоже, нас переклинивает в работу (кончится это плохо).

По технике

  1. Использовать Visual Studio Code - он из коробки умеет в такие классные штуки, как быстрый нечеткий поиск по именам файлов (Ctrl+P), содержимому всех файлов проекта (Ctrl+Shift+F), подсветка для Markdown, переход по ссылкам на другие документы системы по Ctrl+click (что крайне удобно для обеспечения связи файлов системы между собой), отображение Outline (автосборка оглавления файла по заголовкам), работа с вкладками и консолью (не выходя из редактора) и кастомизация функционала плагинами. Sublime это тоже все вроде как может, но я его с PTSM не пробовал.

    Для VS Code (это по-умолчанию включено у меня в настройках проекта) советую:

    • включить автодополнение - так быстрее вводить заметки
    • использовать markdownlint - сначала он дико бесит (как и любой корректор), но потом помогает сделать текст чище (привыкаешь писать валидный md)
    • установить расширения, указанные в перечне рекомендованных расширений - при открытии VS Code сам предложит это сделать на основе данного списка (либо можно зайти в Extension и, нажав на кнопку "...", выбрать ‘Show recommended extensions’)

    Плагины, которые я сам использую:

    • Markdown All in One (переходы по внутренним ссылкам, синтаксис жирного выделения по Ctrl+b и т.д.)
    • Markdownlint (линтер для корректного и красивого md)
    • Replace Rules (чтобы создавать правила замены на основе регулярных выражений и вешать их на сочетания клавиш (в моем случае - ctrl+d для смены минуса на плюс в начале строки у задачи ("не выполненная" на "выполненная")).
    • Simple New File (для создания нового файла из command palette с автодополнением пути)
  2. Установить Pandoc - это консольная утилита, которая позволяет форматировать одни документы в другие, например, .md в .docx. На нее завязан скрипт /tools/md2docx.bat, который конвертирует заданный .md файл в вордовский документ со всем нужным форматированием (заголовками). Мне такое часто нужно - например, для оформления статей, документации и аналитических материалов (не все коллеги готовы потреблять чистый .md).

  3. Внести путь к папке /tools в системную переменную PATH (чтобы запускать лежащие там скрипты без указания полного пути к ним).

  4. Для обеспечения бэкапа и возможности работы с PTSM из разных мест синхронизировать папку системы с облачным хранилищем: OneDrive, Dropbox, Box, Яндекс.Диск, MEGA и т.д. Для обеспечения двойного резервирования, можно еще и на github коммитить изменения (например, скриптом)

May the Force be with you, друг.

About

Plain Text Self Management Framework (rus)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published