Thu, 08 Mar 2007

:: [hack3]定制entry文本格式

[hack3]定制entry文本格式

1. 分析

http://pyblosxom.sourceforge.net/1.3/manual/c651.html
默许提供:: txt(html),genericwiki,moin,py,txtl,rst文本格式来Blogging!
  • 标记签文本:
    1. .txt(html) 不用说,麻烦!不用!
  • 自然文本:
    1. .py 咳咳咳,只能代码引用时哪!而且没有行号也要修改
  • 结构化文本:
    1. .rst 丰富!强大!但是复杂!难用,内存也占的大
    2. .txtl 很好,但是依赖很多系统工具
    3. .moin 赞!但是不支持MoinMoin 1.3.x 以后的不会hack ,问了,也没人回复,呜乎哀哉
    4. .genericwiki 用过MoinMoin 的人,绝对不想这种原始 wiki 格式的! 怎么办,什么都不顺手! 那未就自个儿DIY!

2. 尝试

安装 txt2tags 先:

  1. 在FreeBSD 中有内含的!
    #cd /usr/ports/textproc/txt2tags
    #make install clean
    
  2. 需要按照说明,将 txt2tags 执行文件复制到 /usr/bin

2.1. t2t all!

保持是我的本意

发布流程
我设想的Blogging flow:
  1. 本地撰写
  2. 上传系统
  3. 自动生成多格式文件
  4. PyBlosxom 发布 .xhtml 的
  5. 同时提供 .t2t 原件和 .moin 格式的下载
对应支持
已经可以进行的:
  1. 本地撰写 -- Leo
  2. 上传系统 -- 透过 SVNhookscript自动从服务端检出到对应目录
  3. 自动生成多格式文件 -- ?是SVN hooks 还是创建 t2t.py 预格式化处理?
  4. PyBlosxom 发布 .xhtml 的 -- 设置默许格式就好!
  5. 同时提供 .t2t 原件和 .moin 格式的下载 -- 模板的处理

2.1.1. 八股化写作

嗯哪…… 这样一来,格式漂亮的文章, 根本就"八股化" 了! 在 Leo 中,仅仅保持固定的几个预定义节点, 其它的就不用理会,随便写,怎么样都会自动组织成非常规范的文章, 比在各种Blog 系统中,所谓WYSIWYG编辑环境中,反复调整不得, 结构化文本的WYTIWYG是绝对快感的!

3. TODO

Blog 不同于静态文章,需要有一些SNS配合的输出,t2t 没有进行专门的支持,要进行深入hack:

technorati支持
链接要类似
<a href="http://technorati.com/tag/nomeans" rel="tag">nomeans</a>

rel="tag" 声明! t2t 输出的链接没有! hacking!

xhtml 的输出:
每篇Blog的原文通过 Leo 的节点共用统一的格式声明:
%%date(%Y-%m-%d %I:%M:%S)

%! Target  : xhtml
%! Encoding: UTF-8
%! Options : --toc --css-sugar --enum-title

要求 t2t 输出为 xhtml格式,以utf-8 编码, 要整理出章节索引,并以CSS样式友好的形式组织,并数字式列表之!
  • 要fixed的问题:
    1. 完整的 xhtml 输出含有 head标签内容, 这样一来PyBlosxom输出时一页会含有多个head,不利于搜索,也浪费数据! 但是--no-headers参数的输出 却没有了主副标题的组织,两难哪!
    2. 索引链接的 anchor 输出,太简单!如果一页内含了多个t2t 输出页面的话一定有冲突! 需要学习MoinMoin 的索引锚点,加入hash的混淆区分!

动力源自::txt2tags

OpenSource ,PyBlosxom ,hacking

::名:Name
::邮:Mail
::址:URL.
注:Comment::

The Magic Word(防Spamer问答)::
Pythonic!What is the 1st word in this sentence?回答本句第一个单词是什么?



::Thu, 08 Mar 2007 10:13 GMT
[PyBlosxom]1.4.3 01/10/2008 | [Python] | [FreeBSD] | [Apache]
一切内容使用
Creative Commons License
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .