Примечание. Этот вопрос очень специфичен для исследования языков компьютерных наук. Сообщество Comp Sci SE сочло за лучшее публиковать здесь, а не там.
Мне нравится делать заметки в родной среде программирования, но я устал от простого белого текста с нечеткой структурой. Я ищу язык или формат обмена данными, а не уценку или хитрые трюки с emacs.
Меня интересует новое решение для ведения заметок, которое включает в себя легкий аспект программирования. Это может быть DSL, но я действительно не ищу ничего похожего на git markdown. То, что я себе представляю, выглядит примерно так, как показано ниже. Подсветка синтаксиса может помочь визуально разделить аспекты заметок, и я могу представить себе забавное связывание и структурирование на этапе компиляции.
Создание этого языка было бы для меня забавной темой исследования, но я хочу посмотреть, было ли это сделано раньше. Это выглядит немного python'ish, но я представляю что-то вроде этого (или может быть скомпилировано к этому):
topic
an elementary intro to fruit
concept
fruit exists in many different colors, shapes, and sizes
list:[colors, shape, size]
orange
colors: orange, green, yellow
size: small
shape: round
banana
colors: yellow, green
shape: long
terms
fructose: something to do with sugar
hue: a form of color
related
trees > tree-fruits.txt
humans > ../human-notes/
farms > ../../farms
Если вы ищете удобный для записи формат для указания структурированных данных (в отличие от просто удобочитаемых форматов, таких как JSON и XML), взгляните на YAML . Это не относится к ведению заметок, но я думаю, что здесь это может сработать.
Используя его, ваш пример можно было бы написать так:
topic:
an elementary intro to fruit
concept:
fruit exists in many different colors, shapes, and sizes
list:
orange:
colors: [ orange, green, yellow ]
size: small
shape: round
banana:
colors: [ yellow, green ]
shape: long
terms:
fructose: something to do with sugar
hue: a form of color
related:
trees: tree-fruits.txt
humans: ../human-notes/
farms: ../../farms
Я думаю, что вам стоит потратить время на то, чтобы взглянуть на инструмент генерации документов Sphinx python. Первоначально он был создан для новой документации Python и сильно зависит от реструктурированного текста .
С сайта.
свик
Джош Хибшман
свик
Шон Оллред
Алекс