Відстеження дієти за допомогою Emacs
Опубліковано: 18 липня 2020 р. О 11:05

Я використовую Emacs в організаційному режимі для відстеження дієти з 2012 року. У мене були перерви на шляху, загальна настройка залишилася незмінною.
Я використовую цю систему, щоб відстежувати, скільки я важу, а також скільки калорій я споживаю за один день. Існує безліч програм та онлайн-сервісів, які надають цю функцію, але я вважаю за краще володіти своїми даними у відкритому форматі, який я можу використовувати деінде.
Бачачи, як я працюю вдома і завжди маю відкритий сеанс Emacs, мені було сенсом спробувати якось використовувати Emacs.
Моє налаштування використовує такі функції Emacs та організаційний режим:
- Індивідуальні заголовки в організаційному режимі на кожен день
- властивості режиму організації для зберігання моєї ваги
- таблиці в органічному режимі та формули електронних таблиць
- орг-захоплення для зважування
- Деякі функції elisp для додавання окремих записів про їжу
Давайте детальніше розглянемо, як все це поєднується.
Налаштування дієтичного файлу
Файл моєї дієти виглядає так (із загорнутими заголовками):
Я намагався максимально спростити формат файлу. Кожен день має свій власний запис під головним заголовком "Щоденні журнали". Основний заголовок "Щоденні журнали" використовується органом-захопленням, щоб знайти, де розмістити нові елементи.
Властивість SEQ_TODO верхнього рівня використовується для встановлення стану "готово" для кожного заголовка. Я використовую три різні типи заголовків:
CAL-IN протягом днів, коли я не вводив всю інформацію про свій раціон. Зазвичай там відкрито лише одне з них. CAL-OUT Для закінчених днів, коли всі дані остаточні. CAL-CANCEL На дні, коли я відстежую вагу, але не інформацію про калорії. Я використовую це у неділю, дні, коли я виходжу їсти, або коли у мене заплановані світські заходи.
Щоденні записи
Щоденний запис виглядає приблизно так: