Преди няколко седмици/u/jamJam20 попита за "най-използваните свойства на организационния режим". Използвам свойства като част от проследяването на диетата си в организационен режим и най-накрая стигнах до това как да напиша как работи системата ми:
Включвам първата част тук, тъй като тя обяснява организационната страна на нещата.
Използвам тази система, за да проследя колко тежа, както и колко калории консумирам за един ден. Има много приложения и онлайн услуги, които предоставят тази функционалност, но предпочитам да притежавам данните си в отворен формат, който мога да използвам другаде.
Тъй като работя от вкъщи и винаги имам отворена сесия на Emacs, имаше смисъл за мен да се опитам да използвам Emacs по някакъв начин.
Моята настройка използва следните функционалности на Emacs и org-режим:
- Индивидуални заглавия в организационен режим за всеки ден
- свойства на организационния режим за съхраняване на теглото ми
- таблици в организационен режим и формули за електронни таблици
- улавяне на организацията за претегляне
- Някои функции elisp за добавяне на отделни записи за храна
Нека разгледаме по-отблизо как всичко това се вписва.
Настройка на диетичен файл
Файлът ми за диета изглежда така (със свити заглавия):
Опитах се форматът на файла да бъде възможно най-опростен. Всеки ден има свой собствен запис под главния заглавие "Daily Logs". Основният заглавие "Daily Logs" се използва от org-capture, за да намери къде да поставите нови елементи.
Свойството SEQ_TODO от най-високо ниво се използва за задаване на състояние „готово“ за всяко заглавие. Използвам три различни типа заглавия:
- CAL-IN: За дни, в които не съм въвел цялата информация за диетата си. Обикновено има само един от тях отворен в даден момент.
- CAL-OUT: За завършени дни, когато всички данни са окончателни.
- CAL-CANCEL: За дни, в които проследявам теглото, но не и информацията за калориите. Използвам това за неделя, дни, в които излизам да ям или когато имам планирани социални събития.
Ежедневни записи
Ежедневният запис изглежда по следния начин:
Това е доста проста таблица, която използва някаква магия в организационен режим за изчисляване на суми. Графата "Калории" обикновено е "калории на грам", но за някои елементи това е "калории на елемент". По същия начин колоната за количество или се отнася до теглото в грамове или броя на консумираните артикули.
Частта # + TBFLM: под таблицата е формула за електронна таблица в режим на организация. Той използва две формули:
- $ 5 = $ 3 * $ 4: Задава колона 5 (колоната "Общо") на Калории x Количество. индексите на колоните в организационен режим започват от 1, а не от 0.
- $ LR5 = vsum (@ 2 $ 5 . @ - I $ 5): Изчислява общото количество консумирани калории през деня. Той използва относителни препратки, така че да работи, без значение колко реда.
Разделът за електронни таблици в ръководството за организационен режим навлиза подробно в формулите. Отне ми известно време, за да го хвана, но това е наистина мощна система.
Претегляне
Използвам org-capture-template за моите претегляния. Претеглям се всяка сутрин, в зависимост от графика си.
org-capture е обвързан с C-c o r, а след това моят шаблон за претегляне е обвързан с w. Затова всеки ден пускам C-c o r w, въвеждам теглото си, след което използвам C-c C-c, за да го запиша в диетичния си файл. И това е.
Моят шаблон за заснемане е по-долу:
Добавяне на нови записи за храна
Имам няколко elisp функции, които използвам за добавяне на нови данни. Основната функция е org-diet-copy, която е свързана с C-c C-C .
org-diet-copy се използва на ред от друга таблица. Той копира името на храната, количеството калории и количеството в горната таблица и заменя клеймото с текущата дата и час.
Процесът на добавяне на нов запис обикновено протича по следния начин:
Натиснете C-s, за да потърсите храната, която искам да добавя. Ако исках да добавя нов запис за „пържени картофи“, вероятно щях да направя нещо като „C-s fren“, за да намеря първия запис „пържени картофи“.
Натиснете C-c C-C, за да копирате записа в моя активен ден.
Заменете количеството с каквото и да е количество, което съм изял. Опитвам се да запазвам същия размер на порциите за закуска и закуски, така че това не винаги е необходимо.
Изпълнете M-x org-table-kalculate, за да актуализирате таблицата.
Това е проста система, но работи достатъчно добре. В крайна сметка мога да добавя функция, която подканва за храна и количество и след това автоматично попълва количеството калории.
Всички функции, които използвам, са по-долу:
Част втора съдържа рубиновия код, който използвам за конвертиране на моя файл в организационен режим в json.
- Reddit - веган - Наистина ли е възможно да промените цвета на очите си, като ядете сурова веганска диета или е така
- Reddit - windowsphone - Най-добрите фитнес приложения за проследяване на тренировки и диета на Windows Phone Fitness bands
- Любимата диета на Reddit е ужасно остаряла, казват диетолозите - Los Angeles Times
- Reddit - Вегетарианство - Списък на вегетарианската диета
- Reddit - коктейли; Истинските пиячи не; смесете шотландско уиски с диетична кола