自然,方便的开发管理环境!

-- ZoomQuiet [2005-01-05 12:32:39]

<<- <-  2005 / 10 ->  ->>
Mon Tue Wed Thu Fri Sat Sun
          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            

学习日志

1. 文学编程

2. Leo

2.1. 开发体验

通常的界面

  • 可以发现,Leo 仅仅使用了Tk 来实现GUI ,可以说是Python 中最轻巧,通用的GUI组织方式!

  • File encoding: UTF-8 所有的文件是以 UTF-8 编码管理的!

  • Leo 文件本身却是标准的XML文件!

:leo0-snap.jpg

我喜欢的形式:
通过菜单命令:"Window/Toggle Split Direction" 设置

:leo1-snap.jpg

  • Leo 4.0 以后,由于文章化编程的发展,已经实现了很多方便的功能!

  • 不过在下仅仅学会了其中几种就感觉有些离不开了!

  • 这种有强烈快感的杀手级工具,近日来就发现了 [WWW] Scrapbook! FireFox 的资料管理插件!

  • Leo 知道已经有两年了,可是一直没有使用起来....后悔!

    • 仅仅用作分类记事本:

:leo-regbook.gif

2.1.1. @file

2.1.1.1. @ignore
2.1.1.2. @others
2.1.1.3. 自动导入

2.1.2. @root

2.1.2.1. <<section>>
2.1.2.2. Tangle & Untangle
2.1.2.3. @silent


什么东西?研究之!

2.1.2.4. @thin

大多数情况中 @thin 如同 @file 一样的工作. 实际上,你可以简单的将 @file 替换为 @thin 进行正常的 outline 操作.

这里是主要几点 @file 与 @thin 不同之处:

对于类似 LeoPy.leo 中的 @thin leoProjects.txt 文件,@all 指示符 是必须的. leoProjects.txt 文件包含所谓"工程节点" . 即,非程序文件:仅仅是些无关数据的简单收集.这时,@others 决不会工作: Leo 会抱怨有太多的 孤节点

比如说, 代替直接使用 LeoPyRef.leo , 我利用叫 LeoPy.leo 的复制品. 通过 @thin 节点指引所有本地工作文件.

2.1.3. @root vs. @file 树

@file 树比 @root 树使用起来方便很多:

  1. @file 树需要的指示符支持比 @root 树要少; 所有 @root 树中的章节都需要声明(而且不能重名,在同一文件中!), 而 @file 树常常包含很多非命名的章节节点. 在 @file 树中, @others 指示符 行为就象关联起所有非常命名的章节.

  2. 工作在 @root 树中,用户必须明确调用 Tangle 和 Untangle 命令. 而 Leo 会自动混入/出 @file 树 , 保存时混出所有变动到 outline, 重新打开 .loe 文件时自动混入所有修改从 outline.

但是, @root 树比 @file 树要 柔韧很多:

  1. 在 @file 树中, 章节必须是包含在子节点中的,而且引用点也是固定的.

  2. 在 @root 树中一个被声明的章节, 并不限制其可以在哪里被引用. 此外,@unit 指示符命令甚至于扩展了章节的引用, 可以不限制在一个 @root 树中! 即,你可以在一个 @root 中命名一个章节, 而在另一个 @root 树中引用(可以看作 节点的 clone 操作,只是在引用处看不到全部内容,除非混出为文件)

  3. 在 @root 中的章节声明,也不限制声明的地点.

@root 树与 @file 树不同之处在于:

  1. 只有 @root 树可以包含章节定义行(不过 @file 中可以使用 "<< class declarations >>"类声明的专用章节)

  2. 只有 @file 树可以包含 @others 指示符.

  3. @c 指示符 需要章节名出现在 @root 的节点标题树中.

  4. @c 指示符仅仅可以工作在 @file 树的体文本起始处.所谓 体文本是在 @root 中没有标记会被忽略,而在 @file 树是作为无命名的代码章节内容处理的节点正文文本.

2.1.4. 更多节点控制

还是我找资料贴出来吧。是和@file相关的,不是和@root相关的。 by tomz

Users Guide-->Chapter 4: Writing Programs in Leo-->Appendix 1 to Chapter 4: Using @asis, @noref and @nosent trees

节点树类型

生成文件是否含结构标记注释?
Derived files contain sentinels?

章节或是@others 支持?
Sections and @others expanded?

@file

yes

yes

@nosent

no

yes

@noref

yes

no

@asis

no

no

2.2. 反馈

2.2.1. Leo 安装

2.2.2. 缺陷

2.2.3. 技巧

last edited 2005-06-19 06:36:22 by ZoomQuiet