一门简洁、清晰、规范、易转译、用于流式渲染的标记语言。
TinML具有如下特性:
2020年,为了练手,创建了一个名为TinReader的项目。起初是为了练习tkinter界面、python文本处理、python网络处理等等,但是希望项目有那么一点点实用性,所以就以渲染一个新的标记文本为背景,创建了这个项目。
Tin标记语言,就是TinReader需要处理的一种自创标记语言,所有的标准与解释,都被直接内置在TinReader之中。
想法非常简单,就是单纯练习。Tin标记语言整体框架取自HTML,但是几乎没有嵌套,也没有计划进行嵌套支持,而是像markdown一样方便编写。现在来看,当时的Tin标记语言的标签还是复杂了一点,够清晰但不够简洁,而且没必要的参数太多了,花里胡哨的。
花里胡哨的有html支持、文件下载占用单独标签、自动打开网页等等。
2020年末,TinReader改名(非正式)TinGroup,由我们几个同学维护,也会自己使用,包括但不限于:
学校拓展班的学期末活动方案、文案、说明文档等
传递校园岁月史书(以tinx集成格式传递,包含加密,当时还没有tinp格式)
传递我们重点班的传奇与尘封的秘密(同上传播格式)
私下里放在班级电脑、群文件的一些包含好玩内容的文件(有的没有设置密码)
到了2021年夏天,我们参加中考,相当一部分人也算是分道扬镳了,那些tin文件则一直存放在我们的班级文件夹里,留下的还有当时的tinreader应用程序文件。
到了高中,我们几个初中同学给TinGroup写下了最后几行代码,2022年初,TinGroup维护团队解散,团队的每个人都要在新的环境里劈荆斩浪。
2022年中,我算是在新的班级混熟了,这是省属学校的重点班,有几个同学也对此感兴趣,一直再给TinGroup贴补丁,却几乎没有添加新的东西。不过,2023年中,即将进入高三,就没有人再管这个项目了,TinGroup的故事(当时是TinReader-2.5版本,TinEngine为V3版本)到此结束。
2024年,高考考完,考得不错,闲来无事,抛弃原有框架,直接重写。
这次,Tin标记语言不再作为“tkinter渲染标记语言”中的一环,而是被定义为一门真正的标记语言,从格式、语法、具体标签、解释、转译等方面重新定义TinML。新的TinText应用只是TinML的一种实现。本次练习项目是基于python.tkinter语法解析、多线程与多进程操作、标记语言转译等等。
……
见TinML语法。
见TinML标签。
根据新版TinML标准,Tin标记文本可存储在以下格式文件中。
文件格式 | 后缀名 | 说明 |
---|---|---|
TIN | *.tin | TinML将以源码的形式储存在TIN文件中,适用于编写、长期更新修改、绝大部分阅读情景。 |
TINP | *.tinp | TinML通过XOR加密后存储在TINP文件中,适用于保密阅读情景、文本中包含有意义保密片段。 |
TINX | *.tinx | TinML经过加密与依赖文件打包后储存在TINX文件中,适用于保密阅读、无网络需求阅读与本地直接呈现等场景。 |