Немного не по основной теме
OAuth я пока временно отодвинул, т.к.1) немного начал плыть мозг; 2) появилось ощущение, что поиски я веду в несколько неверном направлении и всё намного проще, чем кажется. В связи с чем стоит временно отвлечься от темы и вернуться к ней уже со свежим взглядом; 3) это, по сути, довольно непростое решение не самой, в общем-то, раздражающей меня вещи.
По поводу последнего имеет смысл пояснить: в отправке поста через форму меня лично очень напрягает, что приходится отдельно пихать тело поста (к тому же требуется предварительно открыть вкладку html), отдельно - заголовок и отдельно же вбивать теги. Последнее почему-то раздражает как-то особенно сильно в связи с тем, что они находятся на отдельной панельке сбоку и называются, *, ярлыки.
Но всё равно даже суммарно это всё пока, мне кажется, того не стоит. Пока что есть куча маленьких хотелок, которые спокойно решаются и более простыми и красивыми средствами.
Markdown2
Теперь непосредственно по теме. Я нашёл и уже почти успел полюбить пакет python-markdown2.Что зацепило
Первое, что приглянулось - это очень простой синтаксис обычного непривередливого использования:>>> import markdown2
>>> text = '''
... Header 1
... ========
... Header 2
... --------
... ### Header 3
...
... and list above:
...
... 1. first
... 2. second
... 1. and third =)
... '''
>>> print markdown2.markdown(text)
<h1>Header 1</h1>
<h2>Header 2</h2>
<h3>Header 3</h3>
<p>and list above:</p>
<ol>
<li>first</li>
<li>second</li>
<li>and third =)</li>
</ol>
В обычном режиме всё это дело максимально поддерживает оригинальный
синтаксис MD.Но это именно для непривередливых. Для тех, кто не относит себя к числу последних, у модуля присутствуют приятные добавления (т.н. 'extras'), позволяющие несколько изменить синтаксис посредством более-менее стандартных юзкейсов.
Например, при написании прошлого поста меня очень расстроило, что для того, чтобы список был отображен как список, нужно отделить его от предшествующего ему абзаца пустой строкой. По-моему, это не есть очень удобно. Здесь же всё рашается тем, что вместо
markdown2.markdown(text)
можно воспользоватьсяmarkdown2.markdown(text, extras=['cuddled-lists'])
и всё. И сразу всё чудесно работает.Таких приятностей немного (если быть конкретным, то 7), но они довольно функциональны, выше был приведён пример самой простой и незамысловатой из них. Ещё одна, которая мне прямо заранее нравится, называется link_patterns.
Суть её в том, что можно прокинуть регулярку, которая, при нахождении, будет автоматически прикреплять ссылку к тексту. Самый простой вариант, который я явно реализую первым делом - это вешать ссылку на юзверя, если к его нику прикреплёна собачка (@). Да, в блогспоте эта фишка есть, но она работает только если изначально набивать ник в их форме, а я изначально отказался от этого варианта. Так что буду думать, как это всё сделать покрасивее.
Что буду делать
- Прикручу нормально обработку MD
- Хочу ссылки на юзеров и, может быть, какие-то ещё, пока не совсем понял, какие именно
- Хочу автоматическое копирование html без заголовка в clipboard
Upd.: понял, что хочу ещё - замещение нормального ката [cut] на местный убогонький, чтобы всё более-менее адекватно отображалось. А то посты уже получаются немаленькие.
Комментариев нет:
Отправить комментарий