Oberon/ETH Oberon/Tutorial/教程
这些教程页面由 André Fischer (afi) 编写,并得到了 Hannes Marais 的编辑协助,托管在 ETHZ,并保留在 ETH 许可证 下。相关内容可以通过 Book.Tool 在系统中找到。扩展内容也可以在 纸质版 中找到。一些教程页面位于 WayBack 档案 中。
学习创建可以机械地转换为 HTML 文档的文档的规则,该文档将用作在线 Oberon 教程。
预计时间:< 10 分钟。
原则上,传统的文本编辑器,即使是非常简单的文本编辑器,也是您在标准 ASCII 格式下编辑 HTML 页面所需的一切。但是,如果您想要更多的舒适度,或者想要重复使用已经存在的文本,您必须寻找另一种解决方案。第一个愿望的答案已经存在于众多商业和免费 HTML 编辑器中。目前,Oberon 中还没有这样的编辑器。第二个愿望的答案开发成本较低,并在此提供。转换器的原始材料是可呈现的、大致格式化的文本,具有最终文档的外观。 转换器的职责是实现描述完整文档的 HTML 标签(<HTML>、<HEAD>、<TITLE> 等)以及文本结构标签,如 <Hn>、<P> 和 <BR>。原始文本也可以用许多 HTML 标签中的任何一个进行装饰。
通过提供特殊标签,转换器还提供自动构建目录和索引的功能。
编写命令的形式为
- \command[option]"{"argument 1"}" ... "{"argument n"}"
某些命令没有 [option] 部分。
有不同类型的参数
- docuname:任何合法的文件名
- label:字母 {字母 | 数字}
- title、string:任何不包含 } 的文本,使用 "\}" 在字符串中包含 }
对于格式良好的文档文本,请遵循以下规则
- - 第一个命令必须是 "\Book"。
- - 在文档中,标签必须是唯一的。
docuname:文档文件名(仅允许文件名中允许的字符)。扩展名 ".html" 将自动附加。
title:文档标题。它将在最终的 HTML 文档中出现两次,即一次在文档标题中作为标题:<TITLE> 标题 </TITLE>,另一次在文档正文中作为 <H1> 标题 </H1>。根据 HTML 的规则,标题不能包含嵌入的标签。此外,多个系统会自动分析 Web 文档的标题以创建索引。因此,标题应该具有表现力且比较简短(建议最大长度为 64 个字符)。
任何文档规范中的第一个命令必须是 "\Book"。
示例
- \Book{Sample}{我的第一个文档}
此命令将生成一个名为 "Sample.html" 的文件。标题将为 "我的第一个文档"。
option:默认值为 [0]
- 章节级别的绝对编号
- 0:章节
- 1:小节
- ...
- 章节级别的相对编号
- =:与当前章节相同的级别
- +:当前章节级别 + 1
- -:当前章节级别 - 1
title:章节标题
开始一个新的章节。目录将使用文档中出现的 \Chapter 命令提供的信息构建。
示例
- 绝对编号
- \Book{Sample}{我的第一个文档}
- \Chapter[0]{关于}
- \Chapter[1]{关于 A}
- \Chapter[2]{关于 AA}
- \Chapter[1]{关于 B}
- 相对编号
- \Book{Sample}{我的第一个文档}
- \Chapter{关于}
- \Chapter[+]{关于 A}
- \Chapter[+]{关于 AA}
- \Chapter[-]{关于 B}
label:稍后引用文本中该点的标签。在文档中,标签必须是唯一的。
示例: \Label{label1}
label:在 Link{Label}{\Label} 命令中使用的标签,用于引用当前位置。要引用在另一个文档中定义的标签,请在标签前面加上该文档的名称。
string:要在文档文本中显示的字符串(蓝色)。
示例
假设在文档 "DocumentXY" 中定义了一个标签 "thispoint"。注意以下行为的区别:
- \Link{thispoint}{敏感文本} 和
- \Link{DocumentXY.thispoint}{敏感文本}
在第一个示例中,您将保留在 DocumentXY 中。在第二个示例中,将再次打开 DocumentXY。[后退] 可用于回溯。
- : 当此选项存在时,string 将插入索引,但不显示在文档中 - 用于放置相对于字符串在文本中出现的位置偏移的锚点。
string:要添加到索引的字符串。索引将使用该命令提供的信息构建。索引是一个超文本文档,其中包含指向替换 \Index 命令的锚点的链接。
示例
- \Index{这在索引和文本中}
- \Index[-]{这仅在索引中}
string1 ... stringN-1:Oberon 命令序列 stringN:要在文档文本中显示的字符串
如果指定单个字符串,它将用作命令和文本。单击以红色显示的文本将执行 Oberon 命令序列。
示例
- \Call{System.Time}
- \Call{Backup.ReadFiles My.Tool}{Edit.Open My.Tool}{从磁盘读取 "My.Tool" 并打开它。}
反斜杠字符 "\" 由编译器用作转义字符,以识别命令的开始,如 \Chapter ... 。要在书籍中生成单个 "\",请在文本中写入两个 "\"。
示例: \\Label - 将生成:\Label
HTML 标签可以根据标准 HTML 语法规则散布在文本中。每个标签前面必须有 "\"。
Text2HTML.Compile [\I=indexName] [\M=modelName] ( {fileName}~ | * ) 将列表中命名的带标签的文本文件转换为 HTML 文档。对于每个源文本文件,编译器都会创建
- 一个主要的 HTML 文档
- 一个 GIF 文件,用于每个浮动在源文本中的视觉小工具
- 一个公共库,其中包含所有视觉小工具
- 一个目录 HTML 文档
- 一个索引 HTML 文档(包括开头的一个快速索引)
如果使用了 \I 选项,也会创建一个主索引 HTML 文档。它包含在同一个编译过程中处理的所有文档。
最后,将创建一个 FTP 工具 FTPCommands.Tool,其中包含用于将这些文件上传到 Web 服务器的一组 FTPTool 命令。除了编译标记文本时,还会包含一个用于上传(备份)源文本文件的 FTP 传输命令。该工具还包含用于从本地 PC 删除 GIF 文件的系统命令。然后可以通过执行单个命令来启动大量文件的传输:Configuration.Do FTPCommands.Tool ~
所有这些文件都存储在当前目录中。具有相同名称的现有文件将被覆盖。
假设 Sample 是文档名称(使用 \Book{Sample} 指定),则 HTML 文件将命名为 Sample.html。目录表是使用章节标题 \Chapter{...} 中提供的信息自动构建的。该文件将命名为 Sample.Contents.html。索引也是使用 \Index{...} 命令提供的信息自动构建的。它存储在一个名为 Sample.Index.html 的文件中。
H
T
\
\Book
\Call
\Chapter
\Index
\Label
\Link
\\
修改日期:1996 年 12 月 2 日,afi
安装日期:1997 年 5 月 30 日