Есть ли жизнь в org-mode
Тестируем ox-publish

Удивительная вещь, в основном я пользуюсь для управления заданиями GNOME GTG синхронизированный через Dropbox(бойся облаков) и моё желание покопаться в org-mode было чисто из-за того, что GNOME GTG неудобен для мелких заданий, скорее для крупных… в день длинной. Но чем больше я узнавал про org-mode тем больше в нем зависал, списки, код, чекбоксы, создание таблиц и графиков.

Главный принцип - никаких сложных форматов и бинарных частей, все в plain-text и это подкупает.

Многие вещи вроде разметки, и прочих фишках я рассказывал в предыдцщем посте.

Содержание

1 Проверка возможностей org-mode

Краткая справка по командам а также основной сайт со всеми инструкциями.

Статьи на русском:

org-mode.png

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.1.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 Списки

Ненумерованные списки и подсписки:

  • Раз
  • Два
  • Три
    • Три Раз
    • Три Два
    • Три Три

Нумерованные списки:

  1. One
  2. Two
  3. 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 Таблица

Таблица 1.: Table Caption
\(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 Математика

\begin{align} \mathcal{F}(a) &= \frac{1}{2\pi i}\oint_\gamma \frac{f(z)}{z - a}\,dz\\ \int_D (\nabla\cdot \mathcal{F})\,dV &=\int_{\partial D}\mathcal{F}\cdot n\, dS \end{align}

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))))

Вот и не понятно откуда там свойство.

Автор: valber

Created: 2019-08-26 Пн 00:07

Validate