From f28205ab7a409956d6a652c938ac33615ff7f2c9 Mon Sep 17 00:00:00 2001 From: h13i32maru Date: Sun, 19 Feb 2017 16:02:19 +0900 Subject: [PATCH] feat: split scripts and styles option to plugin --- src/BuiltinExternal/WebAPIExternal.js | 33 ---------------------- src/ESDoc.js | 4 --- src/Publisher/Builder/DocBuilder.js | 11 -------- src/Publisher/Builder/StaticFileBuilder.js | 15 ---------- src/Publisher/Builder/template/layout.html | 2 -- src/Publisher/publish.js | 8 +++++- test/fixture/config/esdoc-scripts.json | 8 ------ test/fixture/config/esdoc-styles.json | 8 ------ test/src/ConfigTest/ScriptsTest.js | 15 ---------- test/src/ConfigTest/StylesTest.js | 15 ---------- 10 files changed, 7 insertions(+), 112 deletions(-) delete mode 100644 src/BuiltinExternal/WebAPIExternal.js delete mode 100644 test/fixture/config/esdoc-scripts.json delete mode 100644 test/fixture/config/esdoc-styles.json delete mode 100644 test/src/ConfigTest/ScriptsTest.js delete mode 100644 test/src/ConfigTest/StylesTest.js diff --git a/src/BuiltinExternal/WebAPIExternal.js b/src/BuiltinExternal/WebAPIExternal.js deleted file mode 100644 index 8d427ede..00000000 --- a/src/BuiltinExternal/WebAPIExternal.js +++ /dev/null @@ -1,33 +0,0 @@ -// https://developer.mozilla.org/en-US/docs/Web/API - -/** - * @external {CanvasRenderingContext2D} https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D - */ - -/** - * @external {DocumentFragment} https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment - */ - -/** - * @external {Element} https://developer.mozilla.org/en-US/docs/Web/API/Element - */ - -/** - * @external {Event} https://developer.mozilla.org/en-US/docs/Web/API/Event - */ - -/** - * @external {Node} https://developer.mozilla.org/en-US/docs/Web/API/Node - */ - -/** - * @external {NodeList} https://developer.mozilla.org/en-US/docs/Web/API/NodeList - */ - -/** - * @external {XMLHttpRequest} https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest - */ - - /** - * @external {AudioContext} https://developer.mozilla.org/en/docs/Web/API/AudioContext - */ diff --git a/src/ESDoc.js b/src/ESDoc.js index 59b93593..7822bf4f 100644 --- a/src/ESDoc.js +++ b/src/ESDoc.js @@ -153,10 +153,6 @@ export default class ESDoc { if (!config.package) config.package = './package.json'; - if (!config.styles) config.styles = []; - - if (!config.scripts) config.scripts = []; - if (config.test) { assert(config.test.type); assert(config.test.source); diff --git a/src/Publisher/Builder/DocBuilder.js b/src/Publisher/Builder/DocBuilder.js index 34318746..2f0af8ed 100644 --- a/src/Publisher/Builder/DocBuilder.js +++ b/src/Publisher/Builder/DocBuilder.js @@ -158,17 +158,6 @@ export default class DocBuilder { ice.drop('testLink', !this._config.test); - // see StaticFileBuilder#exec - ice.loop('userScript', this._config.scripts || [], (i, userScript, ice)=>{ - const name = `user/script/${i}-${path.basename(userScript)}`; - ice.attr('userScript', 'src', name); - }); - - ice.loop('userStyle', this._config.styles || [], (i, userStyle, ice)=>{ - const name = `user/css/${i}-${path.basename(userStyle)}`; - ice.attr('userStyle', 'href', name); - }); - ice.drop('manualHeaderLink', !this._config.manual); if (this._config.manual && this._config.manual.globalIndex) { diff --git a/src/Publisher/Builder/StaticFileBuilder.js b/src/Publisher/Builder/StaticFileBuilder.js index 5f5b26e0..aaa9b10a 100644 --- a/src/Publisher/Builder/StaticFileBuilder.js +++ b/src/Publisher/Builder/StaticFileBuilder.js @@ -13,20 +13,5 @@ export default class StaticFileBuilder extends DocBuilder { callback(path.resolve(__dirname, './template/css'), './css'); callback(path.resolve(__dirname, './template/script'), './script'); callback(path.resolve(__dirname, './template/image'), './image'); - - // see DocBuilder#_buildLayoutDoc - const scripts = this._config.scripts || []; - for (let i = 0; i < scripts.length; i++) { - const userScript = scripts[i]; - const name = `./user/script/${i}-${path.basename(userScript)}`; - callback(userScript, name); - } - - const styles = this._config.styles || []; - for (let i = 0; i < styles.length; i++) { - const userStyle = styles[i]; - const name = `./user/css/${i}-${path.basename(userStyle)}`; - callback(userStyle, name); - } } } diff --git a/src/Publisher/Builder/template/layout.html b/src/Publisher/Builder/template/layout.html index c9dd95a7..e24336cb 100644 --- a/src/Publisher/Builder/template/layout.html +++ b/src/Publisher/Builder/template/layout.html @@ -7,8 +7,6 @@ - - diff --git a/src/Publisher/publish.js b/src/Publisher/publish.js index a2c46657..b1ac3370 100644 --- a/src/Publisher/publish.js +++ b/src/Publisher/publish.js @@ -41,6 +41,12 @@ export default function publish(values, asts, config) { fs.outputFileSync(filePath, html, {encoding: 'utf8'}); } + function writeJS(js, fileName) { + log(`output: ${fileName}`); + const filePath = path.resolve(config.destination, fileName); + fs.outputFileSync(filePath, js, {encoding: 'utf8'}); + } + function writeBadge(badge, fileName) { log(`output: ${fileName}`); const filePath = path.resolve(config.destination, fileName); @@ -72,7 +78,7 @@ export default function publish(values, asts, config) { new SingleDocBuilder(data, config).exec(writeHTML); new FileDocBuilder(data, config).exec(writeHTML); new StaticFileBuilder(data, config).exec(copy); - new SearchIndexBuilder(data, config).exec(writeHTML); + new SearchIndexBuilder(data, config).exec(writeJS); new ASTDocBuilder(data, asts, config).exec(writeAST); new SourceDocBuilder(data, config, coverage).exec(writeHTML); new ManualDocBuilder(data, config).exec(writeHTML, copy, writeBadge); diff --git a/test/fixture/config/esdoc-scripts.json b/test/fixture/config/esdoc-scripts.json deleted file mode 100644 index 86274166..00000000 --- a/test/fixture/config/esdoc-scripts.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "source": "./test/fixture/package/src", - "destination": "./test/fixture/dest/esdoc-scripts", - "includes": ["Desc/.*\\.js"], - "scripts": ["./test/fixture/package/script/custom.js"], - "index": "./test/fixture/package/README.md", - "package": "./test/fixture/package/package.json" -} diff --git a/test/fixture/config/esdoc-styles.json b/test/fixture/config/esdoc-styles.json deleted file mode 100644 index 28f67015..00000000 --- a/test/fixture/config/esdoc-styles.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "source": "./test/fixture/package/src", - "destination": "./test/fixture/dest/esdoc-styles", - "includes": ["Desc/.*\\.js"], - "styles": ["./test/fixture/package/style/custom.css"], - "index": "./test/fixture/package/README.md", - "package": "./test/fixture/package/package.json" -} diff --git a/test/src/ConfigTest/ScriptsTest.js b/test/src/ConfigTest/ScriptsTest.js deleted file mode 100644 index a852ba96..00000000 --- a/test/src/ConfigTest/ScriptsTest.js +++ /dev/null @@ -1,15 +0,0 @@ -import {readDoc as _readDoc, assert, cli} from '../util.js'; - -/** @test {DocBuilder#_buildLayoutDoc} */ -describe('test config.scripts: ["./test/fixture/script/custom.js"]', ()=>{ - cli('./test/fixture/config/esdoc-scripts.json'); - - function readDoc(filePath) { - return _readDoc(filePath, './test/fixture/dest/esdoc-scripts'); - } - - it('has custom script', ()=>{ - const doc = readDoc('index.html'); - assert.includes(doc, '[data-ice="userScript"]', 'user/script/0-custom.js', 'src'); - }); -}); diff --git a/test/src/ConfigTest/StylesTest.js b/test/src/ConfigTest/StylesTest.js deleted file mode 100644 index 6b56a0c4..00000000 --- a/test/src/ConfigTest/StylesTest.js +++ /dev/null @@ -1,15 +0,0 @@ -import {readDoc as _readDoc, assert, cli} from '../util.js'; - -/** @test {DocBuilder#_buildLayoutDoc} */ -describe('test config.styles: ["./test/fixture/style/custom.css"]', ()=>{ - cli('./test/fixture/config/esdoc-styles.json'); - - function readDoc(filePath) { - return _readDoc(filePath, './test/fixture/dest/esdoc-styles'); - } - - it('has custom style', ()=>{ - const doc = readDoc('index.html'); - assert.includes(doc, '[data-ice="userStyle"]', 'user/css/0-custom.css', 'href'); - }); -});