TinEngine的标签拓展

引言

众所周知(?),TinEngine是解析并渲染Tin标记语言的原生解析器,并提供了能够呈现Tin标记渲染结果的TinText组件,适用于Python下的tkinter。TinEngine支持原生Tin语言的所有标签和解析规则,是最规范的Tin实现。

但是,Tin给出的原生标签是有限的,而且是实现文本渲染中最基础的标签。那么,如果我们想要自己基于现有的Tin原生标签编写新的渲染效果,亦或是确定一种新的渲染格式,而不是在最终文件中重复编写标签格式,我们该怎么做?

这一点,Tin借鉴了编译型语言和解释型语言共有的一个特点,那就是使用拓展概念

标记语言使用拓展,HTML就有,只不过不是直接调用,而是使用模板,Markdown也是。

不同于HTML和Markdown,Tin使用更直接的拓展调用。


tins拓展

说明

tins是一个文件拓展名,是纯文本格式的文件类型,并且遵循一定的规范,以便TinEngine能够调用。

tins文件就是Tin的拓展文件,关于Tin拓展标签的实现,在这一篇文章中已经阐述过,本篇文章将详细讲述Tin层面的tins文件使用。

概念

每一个tins拓展文件,实际上就是一个以文件名为名称的拓展标签,可以接受参数,同时根据这些参数进行格式化的渲染。tins拓展文件一般放置于TinEngine同目录下的 data\obj\ 文件夹中,也可以放在被渲染文件的同目录下(如果存在被渲染的文件)。

原生的Tin标签怎么使用,tins拓展标签就怎么使用。若果tins文件被放在文件夹的子目录下,那么tins拓展标签的名称就应该加上子目录的名称。接下来是编写标题与副标题格式的示范。

编写tins拓展

根据tins规范,将文件名称命名成为:test.tins,放置于 data\obj\test\ 目录下。

根据tins规范,tins拓展文件的第一行,必须是一个特殊标记行,以指明该tins拓展接受的参数。打开 test.tins 文件,在第一行输入以下内容:

<object>%参数1%;%参数2%
;根据tins规范,第一行使用<object>标签指明参数,且不能够缩进
;根据tins规范,每一个参数名称两边,必须使用“%”,否则报错
;参数名称应该是顾名思义的,这里只作为示范
;在接下来的例子中,将使用%主标题%和%副标题%

参数两旁的“%”必不可少!

接着,继续添加以下内容:

<object>%主标题%;%副标题%
;以下是简单的主标题和副标题格式

;参数使用时,也要带上“%”
<title>%主标题%
<title>%副标题%;right;grey;3

保存文件,一个简单的tins拓展完成了。

为了方便对比,复制该文件,粘贴到 data\obj\ 目录中。

使用tins拓展

我们可以使用<mode>标签调用tins拓展,就以上面的 test.tins 为例。编写如下标记:

<title>测试tins拓展
<main>tins拓展在Tin中有十分重要的地位,是保证Tin灵活且多样的基础。下面是对 test.tins 文件的调用测试。

;注意,test.tins 在data\obj\的test目录下
;第一种调用方式
<mode><test\test>test测试;tins拓展标签的简单测试

<main>第二种调用测试,会产生同样效果。
;这次的test.tins在data\obj\目录下
<mode><test>
test测试
tins拓展标签的简单测试
</mode>

<main>测试结束……

至此,一个简单的tins拓展调用完成。

实际上,一个优秀的tins拓展,远比这个复杂得多,功能也更加丰富。TinGroup提供了原生tins拓展,你也可以编写自己的拓展,并放入TinEngine的tins拓展目录下,就可以方便地使用了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值