英语原文见http://www.wowwiki.com/TOC_format,这里翻译了部分,由于刚开始学习wow插件开发,TOC里面的很多东西没有亲自用过,所以翻译的不见得准确,我会在后续的学习过程中逐步完善该文档。
TOC文件内定义了当前插件的相关信息,如哪些.XML或者.LUA文件需要加载。同时,他也被WOW用来识别一个插件,被显示在WOW的插件列表中并根据他里面的内容加载资源。TOC文件的名称必须和插件所在文件夹的名称相同,否则无法被WOW识别。除了TOC文件以外,其它文件的名称可以随便命名,只要他们的后缀正确并且和TOC里面或者XML文件中<Script> or <Include>节点里列出的文件名称相同就行。
WOW只会读取文件中每行的前1024个字节,如果文件中有超过1024字节的行,WOW不会报错,但那些多余的字节将被忽略。
规范的标签选项
TOC文件中的每个标签以##开头,部分标签会带有本地化区域环境后缀。每个标签占用一行,标题(Title)和注意事项(Notes)标签可以用其他语言表示。如果想要获取一个完全的本地化区域环境列表,请参考API中GetLocale函数
接口(Interface)
接口数字用来标识本插件支持哪个版本的WOW,如果这里的版本号和WOW的版本号不一致,则WOW默认不会启动该插件。但是如果你强制关掉版本验证(“加载版本不一致的插件”),WOW将忽略掉TOC文件中的接口数字,继续启用该插件。如何获取当前客户端的版本号,请参考http://takewii.com/index.php?q=uggc%3A%2F%2Fjjj.jbjjvxv.pbz%2FUBJGB%3A_Trg_Pheerag_Vagresnpr_Ahzore
## Interface: 30100
表示插件适合的版本号为3.1.0
注意:如果TOC文件中的版本号相对于WOW客户端版本号过低,就算选中了强制加载选项,客户端也不会加载该插件。当出现这种情况的时候,在角色选择界面中的插件管理窗口里面,当前插件会被标注为“Incompatible”
标题(Title)
标题文本用来显示在插件选择界面。当你鼠标移动到插件列表中的当前插件时,标题文本也会显示。在Title后面可以加上一个横线,再在后面跟上区域标识,这样WOW就可以根据当前的语言选项来显示对应语言的标题。
## Title: My Addon
## Title-deDE: Titel
## Title-frFR: Titre
Title同时也支持颜色选项,与我们常见的一段文字中嵌入特殊颜色标识的链接一样,可以将Title中的某些字母用特殊颜色表示。下面这个将会将"-Ace2-"显示成绿色。
## Title: ag_UnitFrames |cff7fff7f -Ace2-|r
注释(Notes)
当你鼠标移动到插件列表中的当前插件时,注释会显示在标题文本的下面。同标题一样,也可以通过在后面加上区域选项来是WOW在不同的环境下加载不同的NOTES.
## Notes: This is my first AddOn.
## Notes-deDE: Informationen
## Notes-frFR: Texte
Notes: Like 同标题(Title)一样, Notes里面也可以指定颜色.
依赖插件(RequiredDeps)
有些插件使用了第三方插件的一些东西,这个标签是强制要求WOW客户端在加载该插件的时候,先判断指定的插件是否都已经加载,如果其中任何一个没有加载,那么该插件将不被启用。依赖多个插件时,插件之间用逗号隔开。
## Dependencies: someAddOn, someOtherAddOn
你也可以用下面的这种方法表达同样的意思
## RequiredDeps: someAddOn, someOtherAddOn
注意: Dependencies, RequiredDeps, and Dependancies [sic] 都表达同一个意思.
可选依赖模块(OptionalDeps)
可选依赖模块是当前插件用来实现某些特定功能时用到的扩展库或者其他插件。如果WOW在加载插件的时候没有找到它的可选依赖插件模块,那么当前插件依然可以运行,但依赖于可选依赖模块(OptionalDeps)的功能将不能使用。因此,插件必须被设计成在没有可选依赖模块的时候也能正常运行,只是部分功能不能使用。
## OptionalDeps: someAddOn, someOtherAddOn
延迟加载(LoadOnDemand)
在早些版本的时候,当用户登陆WOW的时候,插件就一次性的全部加载了。从1.7版本后,插件可以在使用到的时候再加载,这样避免了一些很少使用的插件在WOW启动时就加载带来的内存浪费。
## LoadOnDemand: 1
## LoadOnDemand: 0
伴随加载(LoadWith)
从1.9版本开始. 当某些插件加载时(这些通常是暴雪公司的UI模块,比如Blizzard_AuctionUI),当前插件也随着加载. 该功能只有在延迟加载(LoadOnDemand)为1的时候才有作用。
## LoadWith: someAddOn, someOtherAddOn
LoadManagers
这个选项从2.1版本开始加入. 如果这里列出的插件有任何一个被加载, 那么你的插件将会被当作延迟加载(LoadOnDemand) (这里可以认为别的插件会在需要的时候负责你的插件的加载). 如果这里列出的插件没有在WOW中出现,那么当前插件将会按照常规形式启动。在AddonLoader中,有关于这个选项的应用实例介绍.
## LoadManagers: someAddOn, someOtherAddOn
存储变量(SavedVariables)
从2150版本接口开始,存储变量成为最新的保存会话间数据的一种方式。这些存储的变量将会在客户端启动或者界面重新加载的时候加载进来。 从现在开始,对插件开发者来说,函数RegisterForSave已经失效,存储变量(SavedVariables) 元标记将代替它. 要注意的是存储变量(SavedVariables) 并不是在OnLoad事件的时候全部加载,因此在将插件文件夹名称作为ADDON_LOADED事件处理的第一个参数传入之前,存储变量的值可能为空。
标记中存储变量的名称以逗号隔开
保存存储变量的文件位置在 /WTF/Account/<account name>/SavedVariables/<addon name>.lua
## SavedVariables: someVariable, someOtherVariable
这个比在脚本中注册变量更强大。即使你的插件被界面禁止、插件发生错误或者版本不匹配,这种方式也能起作用。
SavedVariablesPerCharacter
This tag behaves exactly like SavedVariables except that the variables are saved on a Per-Character basis. This tag only used to use character names to differentiate between characters, but now uses both the realm name and the character name.
The file that stores SavedVariables is
/WTF/Account/<account name>/<realm name>/<character name>/SavedVariables/<addon name>.lua
## SavedVariablesPerCharacter: somePercharVariable
Note: SavedVariablesPerCharacter are not available to any other character. If you need them to be, then use SavedVariables instead.
默认状态(DefaultState)
该选项定义插件安装后是否默认启用。如果设置为disabled,用户必须在角色选择界面那里将插件手动设置成启动。如果没有设置该选项,默认为enabled。
## DefaultState: enabled
## DefaultState: disabled
所有已安装插件的enabled/disabled状态都将被写到文件WTF\Account\{youraccount}\AddOns.txt中, WOW客户端会优先加载该文件,然后再加载老的DisabledAddOns.txt文件, DisabledAddOns.txt仍然被加载是为了保持向后兼容.
安全(Secure)
这个选项从1.11版本开始作为默认UI添加到Blizzard_ AddOns中来. 还不清楚他的确切目的, 有一种可能是告诉客户端是否需要检查插件的签名。
## Secure: 1
不规范的标签选项
It is possible to add more information using the ## directive, and some 3rd party programs even make use of some information provided. Below are some commonly used in addons.
AddOn Metadata Tags
These fields, along with Title and Notes can be retreived using GetAddOnMetadata.
作者(Author)
作者的名字或者电子邮件地址.
## Author: MyName
版本(Version)
插件版本可以是任何字符串,但是由于很多工具自动更新时都将版本号当作数字解析,所以最好至少以数字开头。
## Version: 1.0
X前缀(X-<data>)
所有以'X-'开头的选项
## X-email: Author@Domain.com
## X-Foo: I love pancakes
## X-Foo-esES: Te quiero, mi esposa
一般公认的X-<data>标签
等有空的时候再弄
.toc文件范例
## Interface: 30100
## Title : My AddOn
## Notes: This AddOn does nothing but display a frame with a button
## Author: My Name
## eMail: Author@Domain.com
## URL: http://www.wowwiki.com/
## Version: 1.0
## Dependencies: Sea
## OptionalDeps: Chronos
## DefaultState: enabled
## SavedVariables: settingName, otherSettingName
MyScript.lua
MyAddOn.xml
MyFrame.xml
MyButton.xml
分享到:
相关推荐
在IT行业中,尤其是在软件开发和自动化处理中,经常会遇到需要对文档目录(Table of Contents,简称TOC)进行自定义和修改的需求。本示例主要关注如何通过编程方式实现这一功能,具体涉及到Adobe After Effects(AE...
TOC(Total Organic Carbon)分析仪主要用于测定水样中的有机碳含量,是评估水质污染程度的重要工具。本文件是一份关于TA-1.0型总有机碳分析仪的验证报告,涵盖了验证的全过程,包括文档管理、仪器校准、安装检查、...
提示和toc文件解析器和实用程序 版权所有(C)2004、2005、2006、2007、2013 Svend Sorensen cuetools是用于处理提示表(cue)和目录(toc)文件的一组实用程序。 这包括: cueconvert在cue和toc格式之间转换 ...
然而,随着Darwin Information Typing Architecture (DITA)的普及,开发者开始寻找将Eclipse TOC文件转换为DITA格式的方法。DITA是一种XML-based的架构,专为技术内容的管理和重用设计,它支持更灵活的内容集成,...
vim-markdown-toc, 用于生成 Markdown 文件目录的vim 7.4 插件 vim-markdown-toc用于生成 Markdown 文件目录的vim 7.4 插件。中文版使用指南目录特性安装工具使用情况生成内容目录。更新现有目录删除目录选项屏幕...
“TicToc+Tutorial+for+OMNeT[creator].pdf”文件是这个教程的详细指南,它会逐步引导你完成上述所有步骤,从创建第一个NED文件到运行并分析仿真结果。通过实践这个教程,你将能够熟练掌握OMNeT++的基础,并具备...
批量执行cmd命令实现对.md文件转HTML
cmd调用i5ting_toc批量生成HTML文件python代码
自顶向下是从一个主TOC文件链接到更具体的子TOC文件,而自底向上则提供了在运行时集成其他TOC文件的锚点。 在DITA中,映射文件(map)是组织内容的关键,早期版本使用元素来集成其他DITA映射。然而,OASIS DITA 1.0...
在讨论在线分析仪器TOC...综上所述,文件中提供的内容涉及了在线TOC分析仪器的关键技术指标和操作特性,展示了德国拉尔公司生产的仪器在设计和功能上的先进性和专业性,以及在工业过程监测和环境监测方面的广泛适用性。
Smart TOC v0.9.4.0.crx文件是一个Chrome浏览器扩展程序的包,用于在Chrome中安装Smart TOC插件。CRX文件是Chrome浏览器的插件或应用的打包格式,用户可以通过将这个文件拖放到Chrome的扩展管理页面来安装。不过,...
这种文件格式使得用户能够方便地管理和播放多音轨的音频内容。 2. cdrdao:cdrdao是一个开源的光盘镜像刻录工具,支持DAO(Disk-At-Once)模式,可以用来创建不含任何CD控制信息的无损CD映像。它接受TOC文件作为...
3. **GitHub友好**:由于许多开源项目在GitHub上托管,`toc-org` 能生成适合GitHub Markdown格式的目录,使README文件更加整洁、易读。 4. **Emacs Lisp支持**:`toc-org` 是用Emacs Lisp(Elisp)编写的,这意味着...
网络描述文件`tictoc1.ned`定义了这两个模块的连接方式,其中tic模块的输出与toc模块的输入通过100毫秒的延迟链路相连,反之亦然。这意味着消息会从tic到toc,然后返回tic,形成一个循环。 在`txc1.cc`中,Txc1类...
例如,你可能需要指定TOC文件的位置,并决定如何在生成的HTML或其它格式的文档中插入这个TOC。配置可能类似以下: ```python extensions = ['sphinx_external_toc'] external_toc_path = 'path/to/your/toc.yml' ``...
Markdown TOC(目录)生成器是一款用于在Markdown文档中自动生成目录的工具,它极大地提升了Markdown文件的可读性和导航效率。Markdown是一种轻量级的标记语言,常用于编写博客、文档、README等,它的语法简洁明了,...
这个压缩包"Atom-atom-markdown-toc-auto.zip"包含了一个名为"atom-markdown-toc-auto-master"的项目,该项目是一个专门为Atom编辑器设计的插件,用于Markdown文档的处理。 Markdown是一种轻量级的标记语言,它允许...
Git-Markdown-Toc 是一个方便的工具,用于从Markdown文件自动生成目录(Table of Contents,TOC),尤其适用于GitHub仓库中的文档管理。这个工具基于Perl编写,它能够解析Markdown语法,提取标题,并生成结构化的...