TESのモジュールは、「uotes-module-」から始まるnpmのモジュールとなっています。
モジュールは以下のような構造で記述します。
(function(definition) { // モジュールのロード部分 if (typeof exports === 'object') { // CommonJS module.exports = definition(); } else { // <script> if (Tes.module == null) Tes.module = {}; // xx→モジュール名へ変更(mv等) Tes.module.xx = definition(); } })(function() { // TESオブジェクトの注入 var Tes; if (typeof exports === 'object') { // CommonJS Tes = require('uotes-core'); } else { // <script> Tes = window.Tes; } // モジュールオブジェクト作成 var module = { splitFuncs: {}, validates: {}, validateFuncs: {}, convertFuncs: {}, preProcessors: {}, processors: {}, postProcessors: {}, stringResourceData: {}, deconvertFuncs: {}, linkFuncs: {} }; // 以下、モジュールの定義 // 定義したモジュールをローダへ返す return module; });
モジュールには、以下の関数や定義を実装します。
作成したモジュールをコアエンジンへ読み込ませることで、コンパイル処理で新たなタグの解析を行ったり、特殊な解析処理を実装することができるようになります。