UNPKG

5.06 kBJavaScriptView Raw
1var cheerio = require('cheerio');
2var _ = require('underscore');
3var fs = require('fs');
4var path = require('path');
5
6module.exports = {
7 book: {
8 assets: ".",
9 },
10 hooks: {
11 "page": function (page) {
12 return page;
13 }
14 },
15 website: {
16 assets: './book',
17 js: [
18 'iuap-design.js'
19 ],
20 css: [
21 'iuap-design.css'
22 ],
23 html: {
24 /**
25 * head 内加载的资源
26 * @param {[type]} current [description]
27 * @return {[type]} [description]
28 */
29 "head:end": function(current) {
30
31 var pathStr = '';
32 var ctx = 'http://design.yyuap.com/static/';
33
34 // Polyfill
35 pathStr = '<!--[if lte IE 8]>' +
36 '<script src="//cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>\r\n' +
37 '<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>\r\n' +
38 '<script src="http://design.yyuap.com/static/uui/latest/js/u-polyfill.js"></script>\r\n' +
39 '<![endif]-->';
40
41 // Path Array
42 var pathArray=[
43 'uui/latest/css/font-awesome.css',
44 // 'uui/latest/css/u.css',
45 // 'uui/latest/u-extend.css',
46 'uui/latest/css/tree.css',
47 'uui/latest/css/grid.css',
48 'highlight/styles/atelier-plateau-light.css',
49 'scrollbar/jquery.mCustomScrollbar.css',
50 'nanoscroller/nanoscroller.css',
51 'jquery/jquery-1.9.1.min.js',
52 'raty/rating.js',
53 'knockout/knockout-3.2.0.debug.js',
54 'uui/latest/js/u.js'
55 ];
56
57 for(var i = 0, len = pathArray.length; i < len; i++){
58 if ( /\.css$/.test(pathArray[i]) ) {
59 pathStr += '<link rel="stylesheet" href="'
60 + ctx + pathArray[i] + '">\r\n';
61 } else if ( /\.js$/.test(pathArray[i]) ) {
62 pathStr += '<script src="' + ctx + pathArray[i] + '"></script>\r\n';
63 }
64 }
65
66 return pathStr;
67 },
68
69 /**
70 * body 内容体
71 * @param {[type]} current [description]
72 * @return {[type]} [description]
73 */
74 "body:start": function(current) {
75 var title = this.options.pluginsConfig['iuap-design']['title'] || "";
76 var desc = this.options.pluginsConfig['iuap-design']['desc'] || "";
77
78 var headPath = path.join('../../src/common/','header.html');
79 var headCont = fs.readFileSync(headPath, {encoding: "utf-8"});
80
81 var banner = [
82 '<div class="banner">',
83 ' <div class="container">',
84 ' <div class="banner-content">',
85 ' <h1>' + title + '</h1>',
86 ' <p class="info">' + desc + '</p>',
87 ' </div>',
88 ' </div>',
89 '</div>'
90 ]
91
92 var bannerHTML = banner.join('\r\n');
93
94 return headCont + bannerHTML;
95 },
96 /**
97 * body 尾部内容,gitbook插件之后加载
98 * @param {[type]} current [description]
99 * @return {[type]} [description]
100 */
101 "body:end": function(current) {
102
103 var jsStr = '';
104 var ctx = 'http://design.yyuap.com/static/';
105
106 var footPath = path.join('../../src/common/','footer.html');
107 var footCont = fs.readFileSync(footPath, {encoding: "utf-8"});
108
109 var LibArray = [
110 'knockout/knockout-3.2.0.debug.js',
111 'scrollbar/jquery.mCustomScrollbar.concat.min.js',
112 'nanoscroller/jquery.nanoscroller.js',
113 'highlight/highlight.min.js',
114 'uui/latest/js/u-polyfill.js',
115 'uui/latest/js/u-tree.js',
116 'uui/latest/js/u-grid.js'
117 ];
118
119 for ( var i = 0, len = LibArray.length; i < len; i++ ) {
120 jsStr += '<script src="'+ ctx + LibArray[i] + '"></script>\r\n';
121 }
122
123 return footCont + jsStr;
124 },
125 /**
126 * body 尾部后添加
127 * @param {[type]} argument [description]
128 * @return {[type]} [description]
129 */
130 "body:add": function (argument) {
131
132 var scriptStr = ''
133 var codeStr = [
134 '$(".nano").nanoScroller();',
135 'hljs.initHighlightingOnLoad();'
136 ]
137
138 scriptStr += '<script>';
139 for( var i=0, codeLen = codeStr.length; i < codeLen; i++ ) {
140 scriptStr += '\r\n' + codeStr[i];
141 }
142 scriptStr += '</script>';
143
144 return scriptStr;
145 }
146 }
147 }
148};