Вот думаю написать такой блог. Сразу собственно вопрос не боян ли? Я не нашёл аналогов...
Буду рад любым идеям и готовности помочь.
Сам блог - RoR. CLI клиент - Ruby... Емакс клиент понятно emacs lisp. Гуи скорее всего Ruby+Tk.
Основные особенности:
* Предельная простота * Мощные клиенты для CLI, emacs и GUI (последние два используют первый) ** для CLI clienta продвинутая система автодополнений для zsh и bash ** Интерфейс CLI клиент на манер систем контроля версий * \LaTeX-like разметка (причём основных команд несколько (5-7) остальные базируются на них, соотвественно язык легко расширяеться пользователем. * Поддержка \TeX-овских формул * Такие вещи как Title, Разделы, Upload новых файлов включаються прямо в файл раметки, и только потом заносяться отдельно в БД, а для файлов соотвестенно спрашиваеться приглашение для ввода. Т.е. необходимо создать только один текстовый файл * Подсветка кода для большинства ЯП и языков разметки
Пример:
$ hblog login crazypit@crazypit.org.ru/blog/ pass: $ hblog list -n 3 124. Date: 10.06.2006 Как я сходил в лес. 123. Date: 7.06.2006 Тесты 122. Date: 5.06.2006 Тест 2 $ hblog list -t Development -n 2 // после -t работает автокомплит 123. Date: 7.06.2006 Тесты 118. Date: 1.06.2006 Flex-abbrev-mode $ hblog delete 124 Are you sure? y $ hblog edit -N "Тесты" // здесь работает автокомлит [Открываеться $EDITOR] $ hblog new "Ура!" -t Life,Misc // здесь работает автокомлит [Открываеться $EDITOR] $ hblog comments 122 1123. Макс <********@mail.ru> Круто;)
1224. Тест Ещё как! $ hblog ans 1123 [Открываеться $EDITOR] Ага $ hblog dump > myblog.dump $ hblog recover < myblog.dump $ hblog status 77 public $ hblog set-status 77 private $ hblog list --computer-friendly 127:Hisad asd:2006/10/10 ..... $ hblog cal 5 2006 Mo Tu We Th Fr Sa Su 1 2 *3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 *25 26 27 28 29 30 31 $ hblog -l 2006/5/25 92. Date: 2006/5/25 Смотрел новый сауспарк:)) $ hblog logout ------------------
Разметка:
\title{Новый пост} \tags{Жизнь,Всё такое}
\makeindex
\img[Небо]{sky.jpg}
\newimage{Я} // перед посыланием это конвертирутся в запрос файла и потом уже хранится ввиде \img[Я]{me.jpg}
\section{surprise}
Сегодня ходил по \link[лесу]{http://forest.org} и увидил там медведя:)))
\subsubsection{Вот написал}
\begin{lisp} ME> (listp '(take-this)) t \end{lisp}
\section{НУ?}
\begin{html} <p> HI </p> <a href="bas/i.html">Здесь</a> \end{html}
\@{a}{href="bas/ii.html"}{Тута}
\subsection{Математика} $\fact{A_t}{\Omega^{17}}$
\begin{math} \fact{A_t}{\Omega^{17}} \end{math}
%%%% Команды и их определнение
% Встроенные \newcommand
\begin{html}
\end{html}
\newenvironment
\runruby
\getruby
%%%%%%%%%%% \newcommand{\html}[1]{ \begin{html} #1 \end{html} }
\newcommand{@}[2]{ \html{<#1>#2</#1>} }
\newcommand{section}[1]{ \@[h1]{#1} \runruby{reg_section('section', #1)} }
\newcommand{subsection}[1]{ \@[h2]{#1} \runruby{reg_section('subsection', #1)} }
\newcommand{hightlight}[2]{ \getruby{highlight_source(#1, #2)} }
\newenvironment{lisp}{\highlight[lisp]{#1d}}