希望是标记语言的替代方法

2020-12-05 04:33:43

Hope是标记语言的替代方案,它是目前的概念证明原型,旨在了解Ted Nelson的思想可以带给我们什么.Ted Nelson提出了超文本一词,并著名地定义了超文本系统应遵循的17条规则。他试图在自己的Xanadu系统中实现这些目标的尝试并未形成完整的系统。但是,如果有呢?希望是实现Ted Xanadu梦想的一小部分的尝试:基于注释的标记。 Hope不会将标记与内容混合在一起,而是将它们严格分开。内容不过是纯文本。标记位于单独的文本文件中,仅使用字符范围引用内容。内容和标记必须保持同步。这是我到目前为止发现的主要缺点:您将需要特定的编辑程序来编辑内容和标记,而不能仅使用文本编辑器。所以我正在制作一个,你现在正在看它。在左边你可以编辑内容,在它下面的标记。右边是渲染的输出,下面是html源。鼠标暂时被忽略,但跟随键盘光标的移动。目前唯一实现的命令是ctrl-b(粗体)和ctrl-i(斜体)。不过,您可以在标记文本区域中添加所需的任何标记,只要它是有效的HTML标记即可,而<和>一旦您接受了编辑工具的需求,我便发现使用此方法的好处。不可能进行跨站点脚本攻击,所有内容都必须分离为安全的纯文本内容或不安全的标记。他们不能混在一起。解析标记非常简单,它只是一维列表。解析内容甚至更简单,它只是纯文本。您可以针对不同的上下文有许多不同的标记文件,包括完整的html或简化的e -mail,甚至是完全不同的标记语言(而不是html)。修订内容的跟踪并显示差异变得更加容易。这也使诸如协作编辑之类的事情变得更加简单。创建wysiwym html编辑器变得容易,在这里见证这一点。标记列表没有树结构的概念,标记可以重叠。这使得捕获人工编辑器的意图变得更加容易,而不是将其分解以适合树的嵌套结构。如果您有兴趣研究此概念,请从github获取代码并开始实验。