среда, 20 ноября 2013 г.

Еще одни микрозаметки из django и md файлов.


Заметил(в последние три года), что blogger не самая удобная платформа для мелких заметок для себя. Хранить их в локальных файлах тоже не очень хочется, чтобы не терять возможности посмотреть их с другого компьютера. Есть много онлайн сервисов для этого, но с текстовым редактором они интегрируются слабо, да еще и временами перестают существовать(я пользовался catch.com, пока он не закрылся). Поэтому решил поднять какую-нибудь простенькую штуку на своём сервере. Вот что получилось.
За основу я взял django, и к шаблону проекта дописал буквально пару строк.
django-admin.py startproject myblog
cd myblog
python manage.py startapp blog
myblog/urls.py
from django.conf.urls import patterns, include, url

urlpatterns = patterns('',                                                      
     url(r'^$', 'interface.views.post'),                                        
     url(r'^(?P<post_id>\w+)/$', 'interface.views.post'),                       
)
blog/views.py
import markdown                                                                 
import interface.static as s
from django.http import HttpResponse

def post(request, post_id='index'):
    f = open(s.POST_PATH % post_id, 'r')
    result = s.PAGE_TEMPLATE % markdown.markdown(f.read().decode('utf-8'))
    f.close()
return HttpResponse(result)
И еще вам пригодится css файл
На всякий случай вот еще репозиторий целиком. Теперь я пишу свой поток сознания прямо в sublime в markdown разметке, нажимаю "сохранить", SFTP плагин загружает файл в папку на сервере и он тут же правильно отображается в браузере. Понятно, что это не продакшен решение для миллионов пользователей, но такой задачи у меня и не было. Если кто-то увидел в этом страшный велосипедизм и знает разумные способы, как добиться такого же результата, делитесь.

Продолжение...