hexo-adsense 1.0.26 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/LICENSE +0 -0
- package/dist/index.cjs +757 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +740 -0
- package/dist/index.mjs +740 -0
- package/dist/source/adblock.css +2 -0
- package/{lib → dist}/source/adblock.js +0 -0
- package/{lib → dist}/source/article-ads.css +0 -0
- package/dist/source/article-ads.js +1 -0
- package/{lib/source/article-ads.js → dist/source/article-ads.old.js} +0 -0
- package/{lib → dist}/source/blogger-redirect.html +0 -0
- package/{lib → dist}/source/https.js +0 -0
- package/{lib → dist}/source/in_article_ads_test.html +0 -0
- package/package.json +122 -37
- package/{README.md → readme.md} +29 -11
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -85
- package/lib/packages/hexo-cli-extras/lib/env.d.ts +0 -3
- package/lib/packages/hexo-cli-extras/lib/env.js +0 -49
- package/lib/packages/hexo-extend-injector2/index.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/index.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -64
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -28
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -32
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -8
- package/lib/packages/hexo-extend-injector2/lib/default-config.d.ts +0 -39
- package/lib/packages/hexo-extend-injector2/lib/default-config.js +0 -46
- package/lib/packages/hexo-extend-injector2/lib/filter.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/filter.js +0 -22
- package/lib/packages/hexo-extend-injector2/lib/helper/injector.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/helper/injector.js +0 -5
- package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/injector.d.ts +0 -29
- package/lib/packages/hexo-extend-injector2/lib/injector.js +0 -125
- package/lib/packages/hexo-extend-injector2/lib/load.d.ts +0 -3
- package/lib/packages/hexo-extend-injector2/lib/load.js +0 -37
- package/lib/packages/hexo-extend-injector2/lib/next-point.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/next-point.js +0 -18
- package/lib/packages/hexo-extend-injector2/lib/next.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/next.js +0 -99
- package/lib/packages/hexo-extend-injector2/lib/order.d.ts +0 -5
- package/lib/packages/hexo-extend-injector2/lib/order.js +0 -8
- package/lib/source/adblock.css +0 -2
- package/lib/src/article-ads.d.ts +0 -20
- package/lib/src/article-ads.js +0 -304
- package/lib/src/checkLocalHost.d.ts +0 -10
- package/lib/src/checkLocalHost.js +0 -37
- package/lib/src/config.d.ts +0 -13
- package/lib/src/config.js +0 -42
- package/lib/src/html-parser.d.ts +0 -9
- package/lib/src/html-parser.js +0 -26
- package/lib/src/log.d.ts +0 -1
- package/lib/src/log.js +0 -11
- package/lib/src/logger.d.ts +0 -3
- package/lib/src/logger.js +0 -25
- package/lib/src/md5.d.ts +0 -2
- package/lib/src/md5.js +0 -165
- package/lib/src/safestringify.d.ts +0 -2
- package/lib/src/safestringify.js +0 -125
- package/lib/src/utils.d.ts +0 -31
- package/lib/src/utils.js +0 -159
- package/lib/src/versionParser.d.ts +0 -27
- package/lib/src/versionParser.js +0 -40
- package/packages/hexo-cli-extras/.eslintrc +0 -13
- package/packages/hexo-cli-extras/LICENSE.md +0 -20
- package/packages/hexo-cli-extras/README.md +0 -146
- package/packages/hexo-cli-extras/docs/basic.gif +0 -0
- package/packages/hexo-cli-extras/docs/gui.gif +0 -0
- package/packages/hexo-cli-extras/docs/remove.png +0 -0
- package/packages/hexo-cli-extras/docs/rename.png +0 -0
- package/packages/hexo-cli-extras/index.js +0 -48
- package/packages/hexo-cli-extras/lib/edit.js +0 -209
- package/packages/hexo-cli-extras/lib/env.js +0 -52
- package/packages/hexo-cli-extras/lib/extensions.js +0 -23
- package/packages/hexo-cli-extras/lib/integrate.js +0 -87
- package/packages/hexo-cli-extras/lib/isolate.js +0 -179
- package/packages/hexo-cli-extras/lib/remove.js +0 -145
- package/packages/hexo-cli-extras/lib/rename.js +0 -171
- package/packages/hexo-cli-extras/package.json +0 -34
- package/packages/hexo-extend-injector2/.eslintrc +0 -4
- package/packages/hexo-extend-injector2/.github/workflows/linter.yml +0 -27
- package/packages/hexo-extend-injector2/.github/workflows/tester.yml +0 -24
- package/packages/hexo-extend-injector2/.vscode/settings.json +0 -10
- package/packages/hexo-extend-injector2/LICENSE +0 -165
- package/packages/hexo-extend-injector2/README-ZH.md +0 -189
- package/packages/hexo-extend-injector2/README.md +0 -191
- package/packages/hexo-extend-injector2/USAGE.md +0 -38
- package/packages/hexo-extend-injector2/index.js +0 -14
- package/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -79
- package/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -13
- package/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -29
- package/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -42
- package/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -10
- package/packages/hexo-extend-injector2/lib/default-config.js +0 -52
- package/packages/hexo-extend-injector2/lib/filter.js +0 -24
- package/packages/hexo-extend-injector2/lib/helper/injector.js +0 -6
- package/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -14
- package/packages/hexo-extend-injector2/lib/injector.js +0 -128
- package/packages/hexo-extend-injector2/lib/load.js +0 -45
- package/packages/hexo-extend-injector2/lib/next-point.js +0 -19
- package/packages/hexo-extend-injector2/lib/next.js +0 -87
- package/packages/hexo-extend-injector2/lib/order.js +0 -9
- package/packages/hexo-extend-injector2/package.json +0 -49
- package/packages/hexo-extend-injector2/renovate.json +0 -6
- package/packages/hexo-extend-injector2/test/.eslintrc +0 -3
- package/packages/hexo-extend-injector2/test/index.js +0 -18
- package/packages/hexo-extend-injector2/test/lib/bundle/bundle-css.js +0 -86
- package/packages/hexo-extend-injector2/test/lib/bundle/bundle-js.js +0 -36
- package/packages/hexo-extend-injector2/test/lib/bundle/test.css +0 -3
- package/packages/hexo-extend-injector2/test/lib/bundle/test.js +0 -5
- package/packages/hexo-extend-injector2/test/lib/helper/injector.js +0 -45
- package/packages/hexo-extend-injector2/test/lib/helper/next-inject.js +0 -69
- package/packages/hexo-extend-injector2/test/lib/hexo-compatible.js +0 -250
- package/packages/hexo-extend-injector2/test/lib/hexo-injector.js +0 -37
- package/packages/hexo-extend-injector2/test/lib/injector.js +0 -93
- package/packages/memoize/CHANGELOG.md +0 -82
- package/packages/memoize/CHANGES +0 -124
- package/packages/memoize/LICENSE +0 -15
- package/packages/memoize/README.md +0 -503
- package/packages/memoize/ext/async.js +0 -154
- package/packages/memoize/ext/dispose.js +0 -33
- package/packages/memoize/ext/max-age.js +0 -90
- package/packages/memoize/ext/max.js +0 -27
- package/packages/memoize/ext/promise.js +0 -147
- package/packages/memoize/ext/ref-counter.js +0 -48
- package/packages/memoize/index.js +0 -34
- package/packages/memoize/lib/configure-map.js +0 -182
- package/packages/memoize/lib/methods.js +0 -32
- package/packages/memoize/lib/registered-extensions.js +0 -1
- package/packages/memoize/lib/resolve-length.js +0 -15
- package/packages/memoize/lib/resolve-normalize.js +0 -17
- package/packages/memoize/lib/resolve-resolve.js +0 -21
- package/packages/memoize/lib/weak.js +0 -134
- package/packages/memoize/methods-plain.js +0 -3
- package/packages/memoize/methods.js +0 -3
- package/packages/memoize/normalizers/get-1.js +0 -29
- package/packages/memoize/normalizers/get-fixed.js +0 -71
- package/packages/memoize/normalizers/get-primitive-fixed.js +0 -16
- package/packages/memoize/normalizers/get.js +0 -90
- package/packages/memoize/normalizers/primitive.js +0 -9
- package/packages/memoize/package.json +0 -60
- package/packages/memoize/plain.js +0 -37
- package/packages/memoize/profile.js +0 -107
- package/packages/memoize/repository.md +0 -1
- package/packages/memoize/weak-plain.js +0 -3
- package/packages/memoize/weak.js +0 -3
- package/unused.md +0 -12
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Injector = require('./injector');
|
|
4
|
-
const { join } = require('path');
|
|
5
|
-
const { readFileSync } = require('fs');
|
|
6
|
-
|
|
7
|
-
const loadInjector = ctx => {
|
|
8
|
-
const { filter } = ctx.extend;
|
|
9
|
-
|
|
10
|
-
// Init injector
|
|
11
|
-
const injector = new Injector(ctx);
|
|
12
|
-
ctx.extend.injector2 = injector;
|
|
13
|
-
ctx.on('generateBefore', () => {
|
|
14
|
-
injector.clean();
|
|
15
|
-
});
|
|
16
|
-
injector.registerHelper();
|
|
17
|
-
|
|
18
|
-
const { order, config } = injector;
|
|
19
|
-
|
|
20
|
-
if (!config.disable_default_point) {
|
|
21
|
-
injector.registerDefaultPoint();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Load next plugin
|
|
25
|
-
const themeD = JSON.parse(readFileSync(join(ctx.theme_dir, 'package.json'), 'utf-8'));
|
|
26
|
-
if (themeD.name === 'hexo-theme-next') {
|
|
27
|
-
if (config.load_next_compatible) {
|
|
28
|
-
filter.register('after_init', () => {
|
|
29
|
-
injector.registerNexTHelper();
|
|
30
|
-
}, order.REGISTER_NEXT_HELPER);
|
|
31
|
-
}
|
|
32
|
-
} else {
|
|
33
|
-
if (config.load_next_plugin) {
|
|
34
|
-
require('./next')(ctx, injector);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Build js and css bundler
|
|
39
|
-
require('./bundle/js-bundle')(ctx, injector);
|
|
40
|
-
require('./bundle/css-bundle')(ctx, injector);
|
|
41
|
-
|
|
42
|
-
return injector;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
module.exports = loadInjector;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Compatible with next theme injector
|
|
5
|
-
*/
|
|
6
|
-
const points = require('./next-point');
|
|
7
|
-
const fs = require('fs');
|
|
8
|
-
const path = require('path');
|
|
9
|
-
const defaultExtname = '.swig';
|
|
10
|
-
|
|
11
|
-
// Defining stylus types
|
|
12
|
-
class StylusInject {
|
|
13
|
-
constructor(base_dir) {
|
|
14
|
-
this.base_dir = base_dir;
|
|
15
|
-
this.files = [];
|
|
16
|
-
}
|
|
17
|
-
push(file) {
|
|
18
|
-
// Get absolute path base on hexo dir
|
|
19
|
-
this.files.push(path.resolve(this.base_dir, file));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Defining view types
|
|
24
|
-
class ViewInject {
|
|
25
|
-
constructor(base_dir) {
|
|
26
|
-
this.base_dir = base_dir;
|
|
27
|
-
this.raws = [];
|
|
28
|
-
}
|
|
29
|
-
raw(name, raw, ...args) {
|
|
30
|
-
// Set default extname
|
|
31
|
-
if (path.extname(name) === '') {
|
|
32
|
-
name += defaultExtname;
|
|
33
|
-
}
|
|
34
|
-
this.raws.push({name, raw, args});
|
|
35
|
-
}
|
|
36
|
-
file(name, file, ...args) {
|
|
37
|
-
// Set default extname from file's extname
|
|
38
|
-
if (path.extname(name) === '') {
|
|
39
|
-
name += path.extname(file);
|
|
40
|
-
}
|
|
41
|
-
// Get absolute path base on hexo dir
|
|
42
|
-
this.raw(name, fs.readFileSync(path.resolve(this.base_dir, file), 'utf8'), ...args);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Init injects
|
|
47
|
-
function initInject(base_dir) {
|
|
48
|
-
const injects = {};
|
|
49
|
-
points.styles.forEach(item => {
|
|
50
|
-
injects[item] = new StylusInject(base_dir);
|
|
51
|
-
});
|
|
52
|
-
points.views.forEach(item => {
|
|
53
|
-
injects[item] = new ViewInject(base_dir);
|
|
54
|
-
});
|
|
55
|
-
return injects;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
module.exports = (ctx, injector) => {
|
|
60
|
-
|
|
61
|
-
ctx.on('generateBefore', () => {
|
|
62
|
-
const injects = initInject(ctx.base_dir);
|
|
63
|
-
ctx.execFilterSync('theme_inject', injects);
|
|
64
|
-
// stylus
|
|
65
|
-
points.styles.forEach(type => {
|
|
66
|
-
injects[type].files.forEach(file => injector.register(type, file, () => true, 10, true));
|
|
67
|
-
});
|
|
68
|
-
// view
|
|
69
|
-
points.views.forEach(type => {
|
|
70
|
-
injects[type].raws
|
|
71
|
-
.map((injectObj, index) => {
|
|
72
|
-
const name = injectObj.name;
|
|
73
|
-
const layout = `inject/${type}/${name}`;
|
|
74
|
-
if (!ctx.theme.getView(layout)) {
|
|
75
|
-
ctx.theme.setView(layout, injectObj.raw);
|
|
76
|
-
}
|
|
77
|
-
const locals = injectObj.args[0];
|
|
78
|
-
const options = injectObj.args[1];
|
|
79
|
-
const order = injectObj.args[2] || index;
|
|
80
|
-
const value = ctx => ctx.partial(layout, locals, options);
|
|
81
|
-
return { value, priority: order, name, layout, locals, options, isRun: true };
|
|
82
|
-
})
|
|
83
|
-
.sort((a, b) => b.priority - a.priority)
|
|
84
|
-
.forEach(data => injector.register(type, data));
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "hexo-extend-injector2",
|
|
3
|
-
"version": "0.3.1",
|
|
4
|
-
"description": "🍀 a hexo extend to inject any code into theme.",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"eslint": "eslint .",
|
|
8
|
-
"test": "mocha test/index.js",
|
|
9
|
-
"p": "yarn --proxy=http://localhost:1080"
|
|
10
|
-
},
|
|
11
|
-
"directories": {
|
|
12
|
-
"lib": "./lib"
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"lib",
|
|
16
|
-
"index.js"
|
|
17
|
-
],
|
|
18
|
-
"repository": {
|
|
19
|
-
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/jiangtj/hexo-extend-injector2.git"
|
|
21
|
-
},
|
|
22
|
-
"keywords": [
|
|
23
|
-
"hexo",
|
|
24
|
-
"hexo-plugin"
|
|
25
|
-
],
|
|
26
|
-
"author": "Mr.J",
|
|
27
|
-
"license": "LGPL-3.0",
|
|
28
|
-
"bugs": {
|
|
29
|
-
"url": "https://github.com/jiangtj/hexo-extend-injector2/issues"
|
|
30
|
-
},
|
|
31
|
-
"homepage": "https://github.com/jiangtj/hexo-extend-injector2#readme",
|
|
32
|
-
"dependencies": {
|
|
33
|
-
"clean-css": "^5.1.1",
|
|
34
|
-
"hexo-util": "^2.0.0",
|
|
35
|
-
"lodash": "^4.17.15",
|
|
36
|
-
"terser": "^5.0.0"
|
|
37
|
-
},
|
|
38
|
-
"devDependencies": {
|
|
39
|
-
"chai": "^4.2.0",
|
|
40
|
-
"eslint": "^7.0.0",
|
|
41
|
-
"eslint-config-hexo": "^4.1.0",
|
|
42
|
-
"hexo": "^5.0.0",
|
|
43
|
-
"hexo-renderer-stylus": "^2.0.0",
|
|
44
|
-
"mocha": "^8.0.1"
|
|
45
|
-
},
|
|
46
|
-
"publishConfig": {
|
|
47
|
-
"registry": "https://registry.npmjs.org"
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Hexo = require('hexo');
|
|
4
|
-
// eslint-disable-next-line no-unused-vars
|
|
5
|
-
const hexo = new Hexo(__dirname, { silent: true });
|
|
6
|
-
|
|
7
|
-
describe('main', () => {
|
|
8
|
-
require('./lib/injector');
|
|
9
|
-
describe('helper', () => {
|
|
10
|
-
require('./lib/helper/injector');
|
|
11
|
-
require('./lib/helper/next-inject');
|
|
12
|
-
});
|
|
13
|
-
describe('bundler', () => {
|
|
14
|
-
require('./lib/bundle/bundle-js');
|
|
15
|
-
require('./lib/bundle/bundle-css');
|
|
16
|
-
});
|
|
17
|
-
require('./lib/hexo-compatible');
|
|
18
|
-
});
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('chai').should();
|
|
4
|
-
const Hexo = require('hexo');
|
|
5
|
-
const Injector = require('../../../lib/injector');
|
|
6
|
-
const cssGenerator = require('../../../lib/bundle/css-generator');
|
|
7
|
-
const { resolve } = require('path');
|
|
8
|
-
|
|
9
|
-
describe('CSS Bundler', () => {
|
|
10
|
-
it('basic', () => {
|
|
11
|
-
const hexo = new Hexo();
|
|
12
|
-
const injector = new Injector(hexo);
|
|
13
|
-
require('../../../lib/bundle/css-bundle')(hexo, injector);
|
|
14
|
-
injector.register('css', 'a{--color: #6f42c1;}');
|
|
15
|
-
injector.register('css', 'body {\n color: #abc;\n}\n');
|
|
16
|
-
|
|
17
|
-
injector.get('headend').text().should.eql('<link rel="stylesheet" type="text/css" href="/css/injector/main.css" />');
|
|
18
|
-
|
|
19
|
-
const exec = cssGenerator(injector, 'default');
|
|
20
|
-
return exec()
|
|
21
|
-
.then(result => {
|
|
22
|
-
result.should.eql('a{--color:#6f42c1}body{color:#abc}');
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('v0.2 scheme', () => {
|
|
27
|
-
const hexo = new Hexo();
|
|
28
|
-
const injector = new Injector(hexo);
|
|
29
|
-
require('../../../lib/bundle/css-bundle')(hexo, injector);
|
|
30
|
-
injector.register('css', { path: resolve(__dirname, 'test.css') });
|
|
31
|
-
injector.register('css', { text: () => 'body {\n color: #abc;\n}\n' });
|
|
32
|
-
|
|
33
|
-
const exec = cssGenerator(injector, 'default');
|
|
34
|
-
return exec()
|
|
35
|
-
.then(result => {
|
|
36
|
-
result.should.eql('.book1{color:#0ff}body{color:#abc}');
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('dark mode', () => {
|
|
41
|
-
const hexo = new Hexo();
|
|
42
|
-
const injector = new Injector(hexo);
|
|
43
|
-
require('../../../lib/bundle/css-bundle')(hexo, injector);
|
|
44
|
-
injector.register('css', 'a{--color: #6f42c1;}');
|
|
45
|
-
injector.register('css', 'body {\n color: #abc;\n}\n');
|
|
46
|
-
injector.register('css', {env: 'dark', value: 'a{--color: #bbb;}'});
|
|
47
|
-
injector.register('css', {env: 'dark', value: 'book{--color: #aaa;}'});
|
|
48
|
-
|
|
49
|
-
injector.get('headend').text().should.eql('<link rel="stylesheet" type="text/css" href="/css/injector/main.css" /><link rel="preload" as="style" href="/css/injector/dark.css" />');
|
|
50
|
-
|
|
51
|
-
let exec = cssGenerator(injector, 'default');
|
|
52
|
-
return exec()
|
|
53
|
-
.then(result => {
|
|
54
|
-
result.should.eql('a{--color:#6f42c1}body{color:#abc}');
|
|
55
|
-
exec = cssGenerator(injector, 'dark');
|
|
56
|
-
return exec();
|
|
57
|
-
})
|
|
58
|
-
.then(result => {
|
|
59
|
-
result.should.eql('a{--color:#bbb}book{--color:#aaa}');
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it('light mode', () => {
|
|
64
|
-
const hexo = new Hexo();
|
|
65
|
-
const injector = new Injector(hexo);
|
|
66
|
-
require('../../../lib/bundle/css-bundle')(hexo, injector);
|
|
67
|
-
injector.register('css', 'a{--color: #6f42c1;}');
|
|
68
|
-
injector.register('css', 'body {\n color: #abc;\n}\n');
|
|
69
|
-
injector.register('css', {env: 'light', value: 'a{--color: #bbb;}'});
|
|
70
|
-
injector.register('css', {env: 'light', value: 'book{--color: #aaa;}'});
|
|
71
|
-
|
|
72
|
-
injector.get('headend').text().should.eql('<link rel="stylesheet" type="text/css" href="/css/injector/main.css" /><link rel="preload" as="style" href="/css/injector/light.css" />');
|
|
73
|
-
|
|
74
|
-
let exec = cssGenerator(injector, 'default');
|
|
75
|
-
return exec()
|
|
76
|
-
.then(result => {
|
|
77
|
-
result.should.eql('a{--color:#6f42c1}body{color:#abc}');
|
|
78
|
-
exec = cssGenerator(injector, 'light');
|
|
79
|
-
return exec();
|
|
80
|
-
})
|
|
81
|
-
.then(result => {
|
|
82
|
-
result.should.eql('a{--color:#bbb}book{--color:#aaa}');
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('chai').should();
|
|
4
|
-
const Hexo = require('hexo');
|
|
5
|
-
const Injector = require('../../../lib/injector');
|
|
6
|
-
const jsGenerator = require('../../../lib/bundle/js-generator');
|
|
7
|
-
const { resolve } = require('path');
|
|
8
|
-
|
|
9
|
-
describe('JS Bundler', () => {
|
|
10
|
-
it('basic', () => {
|
|
11
|
-
const hexo = new Hexo();
|
|
12
|
-
const injector = new Injector(hexo);
|
|
13
|
-
require('../../../lib/bundle/js-bundle')(hexo, injector);
|
|
14
|
-
injector.register('js', 'var a=1;');
|
|
15
|
-
injector.register('js', 'var b=1;');
|
|
16
|
-
|
|
17
|
-
injector.get('bodyend').text().should.eql('<script src="/js/injector.js"></script>');
|
|
18
|
-
const exec = jsGenerator(injector);
|
|
19
|
-
return exec().then(result => {
|
|
20
|
-
result.should.eql('var a=1,b=1;');
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it('v0.2 scheme', () => {
|
|
25
|
-
const hexo = new Hexo();
|
|
26
|
-
const injector = new Injector(hexo);
|
|
27
|
-
require('../../../lib/bundle/js-bundle')(hexo, injector);
|
|
28
|
-
injector.register('js', { path: resolve(__dirname, 'test.js') });
|
|
29
|
-
injector.register('js', { text: () => 'var b=1;' });
|
|
30
|
-
const exec = jsGenerator(injector);
|
|
31
|
-
return exec().then(result => {
|
|
32
|
-
result.should.eql('var a=1,b=1;');
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('chai').should();
|
|
4
|
-
const Injector = require('../../../lib/injector');
|
|
5
|
-
const Hexo = require('hexo');
|
|
6
|
-
const hexo = new Hexo();
|
|
7
|
-
const injectorHelper = require('../../../lib/helper/injector');
|
|
8
|
-
|
|
9
|
-
describe('injector', () => {
|
|
10
|
-
|
|
11
|
-
it('injector(point).text()', () => {
|
|
12
|
-
const injector = new Injector(hexo);
|
|
13
|
-
injector.register('body-start', 'xx');
|
|
14
|
-
injector.register('head-start', 'ww');
|
|
15
|
-
injector.register('head-end', 'cc');
|
|
16
|
-
injector.register('body-end', 'a');
|
|
17
|
-
injector.register('body end', 'b');
|
|
18
|
-
injector.register('bodyend', 'c');
|
|
19
|
-
injector.register('body_end', 'd');
|
|
20
|
-
const result = injectorHelper(injector)('body-end').text();
|
|
21
|
-
injector.config.injector_point_bodyend.should.be.true;
|
|
22
|
-
result.should.eql('abcd');
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('use injector(point).text() in home', () => {
|
|
26
|
-
const injector = new Injector(hexo);
|
|
27
|
-
injector.register('body-end', 'a');
|
|
28
|
-
injector.register('body-end', 'b', 'home');
|
|
29
|
-
injector.register('body-end', 'v', injector.is('post'));
|
|
30
|
-
const result = injectorHelper(injector, {page: {__index: true}})('body-end').text();
|
|
31
|
-
injector.config.injector_point_bodyend.should.be.true;
|
|
32
|
-
result.should.eql('ab');
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it('use injector(point).text() in post', () => {
|
|
36
|
-
const injector = new Injector(hexo);
|
|
37
|
-
injector.register('body-end', 'a');
|
|
38
|
-
injector.register('body-end', 'b', 'home');
|
|
39
|
-
injector.register('body-end', 'v', injector.is('post'));
|
|
40
|
-
const result = injectorHelper(injector, {page: {__post: true}})('body-end').text();
|
|
41
|
-
injector.config.injector_point_bodyend.should.be.true;
|
|
42
|
-
result.should.eql('av');
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
});
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('chai').should();
|
|
4
|
-
const Injector = require('../../../lib/injector');
|
|
5
|
-
const Hexo = require('hexo');
|
|
6
|
-
const hexo = new Hexo();
|
|
7
|
-
const nextInjectHelper = require('../../../lib/helper/next-inject');
|
|
8
|
-
|
|
9
|
-
hexo.theme.config = {
|
|
10
|
-
injects: {
|
|
11
|
-
'head': [],
|
|
12
|
-
'header': [],
|
|
13
|
-
'sidebar': [],
|
|
14
|
-
'postMeta': [],
|
|
15
|
-
'postBodyEnd': [],
|
|
16
|
-
'footer': [],
|
|
17
|
-
'bodyEnd': [],
|
|
18
|
-
'comment': []
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
describe('next-inject', () => {
|
|
23
|
-
|
|
24
|
-
it('next_inject(point)', () => {
|
|
25
|
-
const injector = new Injector(hexo);
|
|
26
|
-
injector.register('body-start', 'xx');
|
|
27
|
-
injector.register('head-start', 'ww');
|
|
28
|
-
injector.register('head-end', 'cc');
|
|
29
|
-
injector.register('body-end', 'a');
|
|
30
|
-
injector.register('body end', 'b');
|
|
31
|
-
injector.register('bodyend', 'c');
|
|
32
|
-
injector.register('body_end', 'd');
|
|
33
|
-
const result = nextInjectHelper(injector, hexo)('bodyEnd');
|
|
34
|
-
injector.config.injector_point_bodyend.should.be.true;
|
|
35
|
-
result.should.eql('abcd');
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('use next_inject(point) in home', () => {
|
|
39
|
-
const injector = new Injector(hexo);
|
|
40
|
-
injector.register('body-end', 'a');
|
|
41
|
-
injector.register('body-end', 'b', 'home');
|
|
42
|
-
injector.register('body-end', 'v', injector.is('post'));
|
|
43
|
-
const result = nextInjectHelper(injector, Object.assign({page: {__index: true}}, hexo))('bodyEnd');
|
|
44
|
-
injector.config.injector_point_bodyend.should.be.true;
|
|
45
|
-
result.should.eql('ab');
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
it('use next_inject(point) in post', () => {
|
|
49
|
-
const injector = new Injector(hexo);
|
|
50
|
-
injector.register('body-end', 'a');
|
|
51
|
-
injector.register('body-end', 'b', 'home');
|
|
52
|
-
injector.register('body-end', 'v', injector.is('post'));
|
|
53
|
-
const result = nextInjectHelper(injector, Object.assign({page: {__post: true}}, hexo))('bodyEnd');
|
|
54
|
-
injector.config.injector_point_bodyend.should.be.true;
|
|
55
|
-
result.should.eql('av');
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
it('next_inject(head) include head and head-end', () => {
|
|
59
|
-
const injector = new Injector(hexo);
|
|
60
|
-
injector.register('head', 'a');
|
|
61
|
-
injector.register('body-end', 'b');
|
|
62
|
-
injector.register('head-end', 'c');
|
|
63
|
-
const result = nextInjectHelper(injector, Object.assign({page: {__post: true}}, hexo))('head');
|
|
64
|
-
injector.config.injector_point_head.should.be.true;
|
|
65
|
-
injector.config.injector_point_headend.should.be.true;
|
|
66
|
-
result.should.eql('ac');
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
});
|