跳转到内容

Oberon/ETH Oberon/Tutorial/教程

来自维基教科书,一个开放世界的开放书籍

这些教程页面由 André Fischer (afi) 编写,并得到了 Hannes Marais 的编辑协助,托管在 ETHZ,并保留在 ETH 许可证 下。相关内容可以通过 Book.Tool 在系统中找到。扩展内容也可以在 纸质版 中找到。一些教程页面位于 WayBack 档案 中。

HTML 教程开发者指南

学习创建可以机械地转换为 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:任何不包含 } 的文本,使用 "\}" 在字符串中包含 }

对于格式良好的文档文本,请遵循以下规则

  1. - 第一个命令必须是 "\Book"。
  2. - 在文档中,标签必须是唯一的。

\Book{docuname}{title}

[编辑 | 编辑源代码]

docuname:文档文件名(仅允许文件名中允许的字符)。扩展名 ".html" 将自动附加。
title:文档标题。它将在最终的 HTML 文档中出现两次,即一次在文档标题中作为标题:<TITLE> 标题 </TITLE>,另一次在文档正文中作为 <H1> 标题 </H1>。根据 HTML 的规则,标题不能包含嵌入的标签。此外,多个系统会自动分析 Web 文档的标题以创建索引。因此,标题应该具有表现力且比较简短(建议最大长度为 64 个字符)。

任何文档规范中的第一个命令必须是 "\Book"。

示例

\Book{Sample}{我的第一个文档}

此命令将生成一个名为 "Sample.html" 的文件。标题将为 "我的第一个文档"。

\Chapter[option]{title}

[编辑 | 编辑源代码]

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}

[编辑 | 编辑源代码]

label:稍后引用文本中该点的标签。在文档中,标签必须是唯一的。

示例: \Label{label1}

\Link{docuname.label}{string}

[编辑 | 编辑源代码]

label:在 Link{Label}{\Label} 命令中使用的标签,用于引用当前位置。要引用在另一个文档中定义的标签,请在标签前面加上该文档的名称。
string:要在文档文本中显示的字符串(蓝色)。

示例
假设在文档 "DocumentXY" 中定义了一个标签 "thispoint"。注意以下行为的区别:

\Link{thispoint}{敏感文本} 和
\Link{DocumentXY.thispoint}{敏感文本}

在第一个示例中,您将保留在 DocumentXY 中。在第二个示例中,将再次打开 DocumentXY。[后退] 可用于回溯。

\Index[-]{string}

[编辑 | 编辑源代码]

- : 当此选项存在时,string 将插入索引,但不显示在文档中 - 用于放置相对于字符串在文本中出现的位置偏移的锚点。

string:要添加到索引的字符串。索引将使用该命令提供的信息构建。索引是一个超文本文档,其中包含指向替换 \Index 命令的锚点的链接。

示例

\Index{这在索引和文本中}
\Index[-]{这仅在索引中}

\Call{string1} ... {stringN}

[编辑 | 编辑源代码]

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 标签可以根据标准 HTML 语法规则散布在文本中。每个标签前面必须有 "\"。

编译文档 - Text2HTML.Compile

[编辑 | 编辑源代码]

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

HTML 标签

T

Text2HTML.Compile
教程创作命令

\

\Book
\Call
\Chapter
\Index
\Label
\Link
\\


修改日期:1996 年 12 月 2 日,afi
安装日期:1997 年 5 月 30 日


华夏公益教科书