/* * さわるなきけん! * DO NOT USE! * */ (function(){ let pluginDirPath = liberator.globalVariables.pmwriter_plugin_dir; let outputDir = liberator.globalVariables.pmwriter_output_dir; if (!(pluginDirPath && outputDir)) return; let AUTHORS = { Trapezoid: 'http://unsigned.g.hatena.ne.jp/Trapezoid/', anekos: 'http://d.hatena.ne.jp/nokturnalmortum/', "halt feits": 'http://project-p.jp/halt/', hogelog: 'http://d.hatena.ne.jp/hogelog/', janus_wel: 'http://d.hatena.ne.jp/janus_wel/', mattn: 'http://mattn.kaoriya.net', pekepeke: 'http://d.hatena.ne.jp/pekepekesamurai/', pekepekesamurai: 'http://d.hatena.ne.jp/pekepekesamurai/', suVene: 'http://d.zeromemory.info/', teramako: 'http://d.hatena.ne.jp/teramako/', }; function action () { liberator.plugins.pmwriter = {}; let U = liberator.plugins.libly.$U; let myname = __context__.NAME; let otags = liberator.eval('tags', liberator.plugins.pluginManager.list); let template = liberator.eval('template', liberator.plugins.pluginManager.list); // makeLink を無理矢理修正 let makeLink = liberator.eval('makeLink', liberator.plugins.pluginManager.list); liberator.plugins.pmwriter.makeLink = function (str) makeLink(str, true); liberator.log(makeLink) liberator.eval('makeLink = liberator.plugins.pmwriter.makeLink ', liberator.plugins.pluginManager.list); let linkTo; let tags = { __proto__: otags, name: function () {otags.name.apply(otags, arguments)} }; let ioService = services.get("io"); let files = io.readDirectory(pluginDirPath); let i = 0; let xml_index = <>>; files.forEach(function (file) { if (!/\.js$/.test(file.path)) return; let src = io.readFile(file.path); if (!/PLUGIN_INFO/.test(src)) return; //if (i++ > 0) return; let uri = ioService.newFileURI(file); function Context (file) { this.NAME = file.leafName.replace(/\..*/, "").replace(/-([a-z])/g, function (m, n1) n1.toUpperCase()); }; let context = new Context(file); let PLUGIN_INFO; let detailFilename = context.NAME + '.html'; if (context.NAME == myname) return; context.watch('PLUGIN_INFO', function (n,N,O) { PLUGIN_INFO = O; throw 'STOP';}); try { services.get("subscriptLoader").loadSubScript(uri.spec, context); } catch (e) {} let info = PLUGIN_INFO; tags.name = function () {otags.name.apply(otags, arguments)}; let plugin = [ ]; plugin['name'] = context.NAME; plugin['info'] = {}; plugin['orgInfo'] = {}; for (let tag in tags){ plugin.orgInfo[tag] = info[tag]; let value = tags[tag](info); if (value && value.toString().length > 0){ plugin.push([tag, value]); plugin.info[tag] = value; } } let xml =
Name | Description | Author |
---|