Відстеження дієти за допомогою Emacs

Опубліковано: 18 липня 2020 р. О 11:05

emacs

Я використовую Emacs в організаційному режимі для відстеження дієти з 2012 року. У мене були перерви на шляху, загальна настройка залишилася незмінною.

Я використовую цю систему, щоб відстежувати, скільки я важу, а також скільки калорій я споживаю за один день. Існує безліч програм та онлайн-сервісів, які надають цю функцію, але я вважаю за краще володіти своїми даними у відкритому форматі, який я можу використовувати деінде.

Бачачи, як я працюю вдома і завжди маю відкритий сеанс Emacs, мені було сенсом спробувати якось використовувати Emacs.

Моє налаштування використовує такі функції Emacs та організаційний режим:

  • Індивідуальні заголовки в організаційному режимі на кожен день
  • властивості режиму організації для зберігання моєї ваги
  • таблиці в органічному режимі та формули електронних таблиць
  • орг-захоплення для зважування
  • Деякі функції elisp для додавання окремих записів про їжу

Давайте детальніше розглянемо, як все це поєднується.

Налаштування дієтичного файлу

Файл моєї дієти виглядає так (із загорнутими заголовками):

Я намагався максимально спростити формат файлу. Кожен день має свій власний запис під головним заголовком "Щоденні журнали". Основний заголовок "Щоденні журнали" використовується органом-захопленням, щоб знайти, де розмістити нові елементи.

Властивість SEQ_TODO верхнього рівня використовується для встановлення стану "готово" для кожного заголовка. Я використовую три різні типи заголовків:

CAL-IN протягом днів, коли я не вводив всю інформацію про свій раціон. Зазвичай там відкрито лише одне з них. CAL-OUT Для закінчених днів, коли всі дані остаточні. CAL-CANCEL На дні, коли я відстежую вагу, але не інформацію про калорії. Я використовую це у неділю, дні, коли я виходжу їсти, або коли у мене заплановані світські заходи.

Щоденні записи

Щоденний запис виглядає приблизно так: