Есть ли жизнь в org-mode
Тестируем ox-publish
Удивительная вещь, в основном я пользуюсь для управления заданиями GNOME GTG синхронизированный через Dropbox(бойся облаков) и моё желание покопаться в org-mode было чисто из-за того, что GNOME GTG неудобен для мелких заданий, скорее для крупных… в день длинной. Но чем больше я узнавал про org-mode тем больше в нем зависал, списки, код, чекбоксы, создание таблиц и графиков.
Главный принцип - никаких сложных форматов и бинарных частей, все в plain-text и это подкупает.
Многие вещи вроде разметки, и прочих фишках я рассказывал в предыдцщем посте.
Содержание
- 1. Проверка возможностей org-mode
- 2. Проверка возможностей org-mode
- 3. Заголовки Первый уровень
- 3.1. Второй
- 3.2. Выделение текста
- 3.3. DONE Списки
- 3.4. TODO Latex и прочее MathJS
- 3.5. Смущает отсутствие оглавления
- 3.6. Парсер нервно реагирует на TODO и DONE
- 3.7. Вставки кода
- 3.8. TODO Title with TODO
- 3.9. DONE Title with DONE
- 3.10. [A] Title with Priority
- 3.11. Title with Tag tag0 tag1
- 3.12. Miscellaneous
- 3.13. Поговорим как все плохо для генерации индекса
1 Проверка возможностей org-mode
1.1 Проверить возможности подуровневых списков
Ну тут и рассказывать, ставиш * в начале строки, после неё пишеш название, чем больше звездочек, тем больше глубина списка
* Главный уровень ** Подуровень *** Подподуровень
1.2 Назначение заданий
Всё делается комбинацией C-c C-t, с начала устанавливается TODO, после повторного нажатия, задача считается закрытой. Следующее нажатие C-c C-t вернет все на круги своя.
** DONE Проверить возможность назначения и выполнения заданий CLOSED: [2013-07-31 Ср. 22:40]
2 Проверка возможностей org-mode
Краткая справка по командам а также основной сайт со всеми инструкциями.
Статьи на русском:
3 Заголовки Первый уровень
3.1 Второй
3.2 Выделение текста
Org mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system cite:dominik2003-org.
Ну их довольно много жирный, курсив подчеркнутый , выровненный текст зачеркнутый
import кода текст
Итого подчеркнутый в минусе.
3.3 DONE Списки
Ненумерованные списки и подсписки:
- Раз
- Два
- Три
- Три Раз
- Три Два
- Три Три
Нумерованные списки:
- One
- Two
- Three
3.4 TODO Latex и прочее MathJS
Видимо через плагин.
3.5 Смущает отсутствие оглавления
А это крутая фишка , мне больше на сайте org-mode нравится как сделано.
3.6 Парсер нервно реагирует на TODO и DONE
Не знаю зачем это нужно при публикации, но TODE и DONE не парсяться и не отрисовываются плагином.
3.7 Вставки кода
Вставка EXAMPLE
ПРОВЕРКА РАЗ ДВА
Так так блок кода оно не очень может, добавлю позже, HTML_HEAD ругает.
Code syntax coloration with org-mode
The pygmentize tool is needed in order to have syntactic coloration with org-mode. It should have been installed within the virtual environment already, so no step should be needed.
You need to generate a custom css file in order to make the coloration being displayed on the html page. For this run the following commands:
$ mkdir -p files/assets/css/ $ pygmentize -S friendly -a .highlight -f html >> files/assets/css/custom.css
ВОТ ТУТ ДОЛЖЕН ПРИМЕР БЫТЬ НО ЕГО НЕТ КАК В ТЕМУ ЭТУ ПОДСВЕТКУ ДОБАВЛЯЮТ.
Then rebuild the website: the source codes should be highlighted now!
$ nikola build $ nikola serve
https://streakycobra.github.io/posts/blogging-in-org-mode-with-nikola/
3.8 TODO Title with TODO
3.9 DONE Title with DONE
3.10 [A] Title with Priority
3.11 Title with Tag tag0 tag1
3.12 Miscellaneous
3.12.1 Таблица
| \(N\) | \(N^2\) | \(N^3\) | \(N^4\) | \(\sqrt n\) | \(\sqrt[4]N\) |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 4 | 8 | 16 | 1.4142 | 1.1892 |
| 3 | 9 | 27 | 81 | 1.7321 | 1.3161 |
3.12.2 Математика
3.13 Поговорим как все плохо для генерации индекса
org-publish-collect-index работает с функцией org-publish-cache-get-file-property которая в свою очередь работает org-publish-cache-get т.е видимо кэшем всех файлов проекта, который генрится org-publish-initialize-cache
т.е. вроде свой велосипед с подсчетом и сортировкой файлов делать не надо…. с другой стороны как бы так вклиниться во все это чтобы написать свой makeindex makecategory maketags
Здесь мы видимм что кэш это хэш… таблица
(if cexists (load-file cache-file) (setq org-publish-cache (make-hash-table :test 'equal :weakness nil :size 100)) (org-publish-cache-set ":project:" project-name) (org-publish-cache-set ":cache-file:" cache-file))
Теперь рассмотрим функцию получения свойства из файла:
(defun org-publish-cache-get-file-property (filename property &optional default no-create project-name) "Return the value for a PROPERTY of file FILENAME in publishing cache. Use cache file of PROJECT-NAME. Return the value of that PROPERTY, or DEFAULT, if the value does not yet exist. Create the entry, if necessary, unless NO-CREATE is non-nil." (when project-name (org-publish-initialize-cache project-name)) (let ((properties (org-publish-cache-get filename))) (cond ((null properties) (unless no-create (org-publish-cache-set filename (list property default))) default) ((plist-member properties property) (plist-get properties property)) (t default))))
Вот и не понятно откуда там свойство.