├── .gitignore ├── .travis.yml ├── README.md ├── assets ├── 你不知道的 JavaScript(下).pdf ├── 你不知道的JavaScript(上).pdf └── 你不知道的JavaScript(中).pdf ├── k_grunt ├── README.md └── package.json └── k_gulp ├── README.md ├── app.js ├── dist ├── css │ ├── all.min.css │ └── style.css └── js │ ├── all.min.js │ ├── chart.js │ ├── core.js │ └── person.js ├── gulpfile.js ├── out ├── Author.html ├── Book.html ├── Core.html ├── Person.html ├── chart.js.html ├── chat.html ├── chat_channel.html ├── core.js.html ├── index.html ├── person.js.html ├── scripts │ ├── linenumber.js │ └── prettify │ │ ├── Apache-License-2.0.txt │ │ ├── lang-css.js │ │ └── prettify.js └── styles │ ├── jsdoc-default.css │ ├── prettify-jsdoc.css │ └── prettify-tomorrow.css ├── package.json ├── routes ├── index.js └── user.js ├── src ├── css │ └── style.less └── js │ ├── chart.js │ ├── core.js │ └── person.js └── views └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # fe-space 2 | ----- 3 | 本项目整理一系列前端学习资源、前端参考特效及其它可能有用的东西,将会不定时更新。 4 | 5 | ## 学习篇 6 | 7 | ### Javascript篇 8 | - [JavaScript 秘密花园](http://bonsaiden.github.io/JavaScript-Garden/zh/),JavaScript中的基础和重点,建议一口气看完。 9 | - [数据结构](https://github.com/davidshariff/computer-science ),JavaScript版二叉树、链表等。 10 | - [图解JavaScript](https://github.com/coodict/javascript-in-one-pic),把JavaScript知识点用一张脑图展现。 11 | - [你不知道的JavaScript](https://github.com/getify/You-Dont-Know-JS),深入仔细地阅读,直面JS中的重难点,`assets`目录下有三册高清原版中文版pdf(资源来源于网络搜索,侵删),不过建议你购买实体书阅读效果更佳。 12 | - [大型 JavaScript 应用架构中的模式](http://nuysoft.com/2013/08/13/large-scale-javascript/) 13 | - [You Don't Need jQuery!](http://blog.garstasio.com/),这个博客内容教会你如何拜托jQuery,很值得一看! 14 | - [JavaScript设计模式](http://www.codingserf.com/),非常通俗易懂,建议也看看原文下面的问答。 15 | - [JavaScript Quiz](http://zxhfighter.github.io/blog/javascript/2013/03/15/javascript-quiz-remark.html),JavaScript难题。 16 | - [JavaScript Promise](https://developers.google.com/web/fundamentals/primers/promises)。 17 | - [JavaScript和事件](http://yujiangshui.com/javascript-event/),JavaScript 和事件的基础知识。 18 | - [JavaScript标准参考教程](http://javascript.ruanyifeng.com/),如题所示,基础,作者阮一峰。 19 | 20 | ### 综合 21 | - [Feenan's blog](http://www.ifeenan.com/),包含Angular源码、ES6等。 22 | - [免费的编程中文书籍索引](https://github.com/justjavac/free-programming-books-zh_CN#javascript) 23 | - [前端面试题](https://github.com/darcyclarke/Front-end-Developer-Interview-Questions) 24 | 25 | ## 效果及copy篇 26 | - [单DIV使用CSS画LOGO](http://lynnandtonic.github.io/a-single-div/),这个炫爆了。 27 | - [全屏背景图](http://cdn.sixrevisions.com/0431-01_responsive_background_image_demo/responsive-full-background-image-demo.html) 28 | - [placeholder效果](http://blog.circleci.com/adaptive-placeholders/),css写出的placeholder用法,不过有些属性IE9及以下实现不太好。 29 | - [输入框效果](http://tympanus.net/Development/TextInputEffects/),就看想象力了,你可以在这个网站搜到令人惊讶的特效,比如按钮、输入框、页面。 30 | - [CSS抖动](https://github.com/elrumordelaluz/csshake)效果集合。 31 | - [YUI CSS RESET](http://yuilibrary.com/yui/docs/cssreset/) 32 | - [CSS全屏背景图](http://sixrevisions.com/css/responsive-background-image/?utm_source=CSS-Weekly&utm_campaign=Issue-117&utm_medium=email) 33 | - [CSS Animate](https://github.com/daneden/animate.css),CSS动画。 34 | - [CSS Loading Gif](https://github.com/ConnorAtherton/loaders.css),CSS加载动画效果。 35 | - 在线脑图编辑[kityminder](https://github.com/fex-team/kityminder),百度FEX出品(作者已不再维护,但是学习还是可以的)。 36 | - [rainyday.js](https://github.com/maroslaw/rainyday.js),逼真的雨滴效果,做全屏页面非常赞。 37 | 38 | ## 其它 39 | - [Markdown-Syntax](https://gitcafe.com/riku/Markdown-Syntax-CN/blob/master/syntax.md ),想要编辑这份文档,这个当然是首要需要学习的。 40 | - [Sublime text主题](https://github.com/kkga/spacegray) 41 | - [JSDoc3](https://github.com/jsdoc3/jsdoc),生成JavaScript API文档工具。 42 | - [Google全球IP地址库](https://github.com/justjavac/Google-IPs),这个不说都懂。 43 | - [各开源库CDN](http://open.bootcss.com/) 44 | - [nproxy](https://github.com/goddyZhao/nproxy),web文件替换cli代理工具,通俗说,就是把web访问的请求文件映射到本地文件。例如,当你本地开发完成后,离上线还有一段时间,可是线下又看不到线上出的问题,怎么才知道自己的修改是否生效了?临时上线显然是不科学的,这时你就可以把线上请求的文件映射为本地路径文件,查问题妥妥的。 45 | 46 | ## 联系我 ### 47 | 您可以通过下面的方式联系到我。 48 | 49 | Name | Value 50 | ------------ | ------------- 51 | Email | 52 | Github | [@natee](https://github.com/natee) 53 | WeChart | zkShare 54 | -------------------------------------------------------------------------------- /assets/你不知道的 JavaScript(下).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natee/fe-space/f765c51ecb08d47e4911d9d0321a15f4ff37fad5/assets/你不知道的 JavaScript(下).pdf -------------------------------------------------------------------------------- /assets/你不知道的JavaScript(上).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natee/fe-space/f765c51ecb08d47e4911d9d0321a15f4ff37fad5/assets/你不知道的JavaScript(上).pdf -------------------------------------------------------------------------------- /assets/你不知道的JavaScript(中).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natee/fe-space/f765c51ecb08d47e4911d9d0321a15f4ff37fad5/assets/你不知道的JavaScript(中).pdf -------------------------------------------------------------------------------- /k_grunt/README.md: -------------------------------------------------------------------------------- 1 | #grunt学习,常用的grunt任务 2 | 3 | ##目录 4 | 5 | 1. [开始grunt](#开始grunt) 6 | 1. [安装CLI](#安装cli) 7 | 1. [准备一个新的Grunt项目](#准备一个新的grunt项目) 8 | 1. [package.json](#packagejson) 9 | 1. [安装Grunt和grunt插件](#安装grunt和grunt插件) 10 | 1. [Gruntfile](#gruntfile) 11 | 1. [grunt插件](#grunt插件) 12 | 1. [grunt-contrib-concat](#grunt-contrib-concat) 13 | 1. [grunt-contrib-watch](#grunt-contrib-watch) 14 | 1. [grunt-contrib-uglify](#grunt-contrib-uglify) 15 | 1. [grunt-connect-proxy](#grunt-connect-proxy) 16 | 17 | 18 | ##开始grunt 19 | Grunt和Grunt的插件都是通过Node.js的包管理器npm来安装和管理的。 20 | 21 | Grunt 0.4.x要求Node.js的版本>=0.8.0(也就是0.8.0及以上版本的Node.js才能很好的运行Grunt)。 22 | ###安装CLI 23 | 为了方便使用Grunt,你应该在全局范围内安装Grunt的命令行接口(CLI)。要做到这一点,你可能需要使用sudo(OS X,*nix,BSD等平台中)权限或者作为超级管理员(Windows平台)来运行shell命令。 24 | 25 | ``` 26 | npm install -g grunt-cli 27 | ``` 28 | ###准备一个新的Grunt项目 29 | 一个典型的配置过程通常只涉及到两个文件:`package.json`和`Gruntfile`。 30 | 31 | **package.json**:这个文件被用来存储已经作为npm模块发布的项目元数据(也就是依赖模块)。你将在这个文件中列出你的项目所[依赖](https://www.npmjs.org/doc/files/package.json.html#devDependencies)的Grunt(通常我们在这里配置Grunt版本)和Grunt插件(相应版本的插件)。 32 | 33 | **Gruntfile**:通常这个文件被命名为Gruntfile.js或者Gruntfile.coffee,它用于配置或者定义Grunt任务和加载Grunt插件。 34 | 35 | ###package.json 36 | `package.json`与`Gruntfile`相邻,它们都应该归属于项目的根目录中,并且应该与项目的源代码一起被提交。在上述目录(`package.json`所在目录)中运行`npm install`将依据`package.json`文件中所列出的每个依赖来自动安装适当版本的依赖。 37 | 38 | 创建`package.json`的方式: 39 | 40 | - 大多数的[grunt-init](http://gruntjs.com/project-scaffolding)模板都会自动创建一个项目特定的`package.json`文件。 41 | - [npm init](https://www.npmjs.org/doc/cli/npm-init.html)命令会自动创建一个基本的`package.json`文件。 42 | - 从下面的例子开始并根据[规范](https://www.npmjs.org/doc/files/package.json.html)来按需扩展。 43 | 44 | ``` 45 | { 46 | "name": "my-project-name", // 项目名称 47 | "version": "0.1.0", // 项目版本 48 | "devDependencies": { // 项目依赖 49 | "grunt": "~0.4.1", // Grunt库 50 | "grunt-contrib-jshint": "~0.6.0", //以下三个是Grunt内置任务 51 | "grunt-contrib-nodeunit": "~0.2.0", 52 | "grunt-contrib-uglify": "~0.2.2" 53 | } 54 | } 55 | ``` 56 | 57 | ###安装Grunt和grunt插件 58 | `npm install --save-dev` 59 | 60 | 上述命令也可以用于Grunt插件和其他的node模块的安装。当完成操作后请确保更新后的`package.json`文件也要与你的项目一起提交。 61 | 62 | ###Gruntfile 63 | `Gruntfile.js`或者`Gruntfile.coffee`文件都是归属于你项目根目录中的一个有效的JavaScript或者CoffeeScript文件(和`package.json`文件一样都在根目录中),并且它(Gruntfile)也应该与你的项目源文件一起提交。 64 | 65 | 一个Gruntfile由下面几部分组成: 66 | 67 | - "wrapper"函数(包装函数) 68 | 69 | ``` 70 | module.exports = function(grunt) { 71 | require('load-grunt-tasks')(grunt); //加载所有的任务 72 | // 配置Grunt各种模块的参数 73 | grunt.initConfig({ 74 | // 下文所有内容均为此处补充 75 | }); 76 | } 77 | ``` 78 | 79 | - 项目和任务配置 80 | - 加载的Grunt插件和任务 81 | - 自定义任务 82 | 83 | **[返回顶部](#目录)** 84 | 85 | ##grunt插件 86 | 87 | ### grunt-contrib-concat 88 | 89 | 作用:合并文件。 90 | 91 | `npm install grunt-contrib-concat --save-dev` 92 | 93 | ``` 94 | grunt.initConfig({ 95 | concat: { 96 | options: { 97 | separator: ';', 98 | }, 99 | dist: { 100 | src: ['src/intro.js', 'src/project.js', 'src/outro.js'], 101 | dest: 'dist/built.js', 102 | }, 103 | }, 104 | }); 105 | grunt.loadNpmTasks('grunt-contrib-concat'); 106 | grunt.registerTask('concat',['concat']); 107 | ``` 108 | 109 | **[返回顶部](#目录)** 110 | 111 | ### grunt-contrib-watch 112 | 113 | 作用:监视文件是否发生改变。 114 | 115 | `npm install grunt-contrib-watch --save-dev` 116 | 117 | ``` 118 | grunt.initConfig({ 119 | watch: { 120 | scripts: { 121 | files: '**/*.js', 122 | tasks: ['youtaskname'], 123 | options: { 124 | debounceDelay: 250, 125 | }, 126 | }, 127 | }, 128 | }); 129 | grunt.loadNpmTasks('grunt-contrib-watch'); 130 | ``` 131 | 132 | **[返回顶部](#目录)** 133 | 134 | ### grunt-contrib-uglify 135 | 136 | 作用:压缩文件。 137 | 138 | `npm install grunt-contrib-uglify --save-dev` 139 | 140 | ``` 141 | grunt.initConfig({ 142 | uglify: { 143 | my_target: { 144 | files: { 145 | 'dest/output.min.js': ['src/input1.js', 'src/input2.js'] 146 | } 147 | } 148 | } 149 | }); 150 | ``` 151 | 152 | **[返回顶部](#目录)** 153 | 154 | ### grunt-connect-proxy 155 | 156 | 作用:代理转发。前端http请求需要后端服务支持,当前端没有后端服务环境时,可以搭建一个本地server,通过proxy配置请求地址,就可以做到本地开发。 157 | 158 | `npm install grunt-contrib-connect --save-dev` 159 | `npm install grunt-contrib-proxy --save-dev` 160 | 161 | ``` 162 | grunt.initConfig({ 163 | dirs: { 164 | global_dir1: 'folder/dir1', 165 | global_dir2: 'folder/dir2' 166 | }, 167 | connect: { 168 | options: { 169 | // hostname:'192.168.2.100', // 本机IP,可以通过这个IP跨机访问 170 | // hostname:'0.0.0.0', // Windows失败,Mac正常且可跨机访问 171 | hostname:'127.0.0.1', // 均正常,但无法实现跨机访问 172 | keepalive:true, 173 | open:true 174 | }, 175 | proxies: [ 176 | { 177 | 178 | // 通过域名,grunt-connect-proxy必须是0.1.10版本 179 | // host: 'www.zhangsan.com', // 网址 180 | // port:80, // 端口 181 | // https:true, // 是否启用https,注意和host实际使用策略对应 182 | // headers:{ 183 | // "host":"www.zhangsan.com" 184 | // }, 185 | 186 | // 通过IP 187 | context: '/api', 188 | host: 'xxx.xxx.xxx.xxx', // API服务端IP地址 189 | port: 9987, 190 | changeOrigin: true 191 | } 192 | ], 193 | name1: { // 调用connect:name执行相应任务 194 | options: { 195 | port:9000, 196 | middleware: function (connect) { 197 | return [ 198 | require('grunt-connect-proxy/lib/utils').proxyRequest, 199 | connect.static('app') // 前端index.html所在位置 200 | ]; 201 | } 202 | } 203 | } 204 | } 205 | }); 206 | // 从node_modules目录加载模块文件 207 | grunt.loadNpmTasks('grunt-contrib-connect'); 208 | grunt.loadNpmTasks('grunt-connect-proxy'); 209 | // mc转发 210 | grunt.registerTask('localserver1',['configureProxies','connect:name1']); 211 | // 默认启动mc,合并 212 | grunt.registerTask('default', '默认的任务', function() { 213 | grunt.task.run(localserver1') 214 | // grunt.task.run('concatdev','localserver1') // 如果有多任务,那么启动代理转发的任务必须在最后,因为启动connect后会一直处于waiting状态 215 | }); 216 | ``` 217 | 这里用到了middleware属性,其中connect.static需要填写index.html所在路径,但是index.html不能和Gruntfile.js同级。 218 | 此种情况应该是`connect.static('app')`。 219 | ``` 220 | /app 221 | /app/index.html 222 | /Gruntfile.js 223 | ``` 224 | 下面的情况用`connect.static('/')`会失败。 225 | ``` 226 | /assets 227 | /index.html 228 | /Gruntfile.js 229 | ``` 230 | [这里](http://www.ngnice.com/posts/76c4bd0f7a4cdc)也有一篇讲解的文章。 231 | 232 | **[返回顶部](#目录)** 233 | 234 | 235 | -------------------------------------------------------------------------------- /k_grunt/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "k_grunt", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "natee", 10 | "license": "MIT" 11 | } 12 | -------------------------------------------------------------------------------- /k_gulp/README.md: -------------------------------------------------------------------------------- 1 | ## gulp学习,常用的gulp plugins ## 2 | 默认你已经会安装gulp和gulp plugins,并且知道配置文件是怎么回事。 3 | ### gulp-less(使用less) ### 4 | ```js 5 | var less = require('gulp-less'); 6 | var path = require('path'); 7 | 8 | gulp.task('less', function () { 9 | gulp.src('./less/**/*.less') 10 | .pipe(less({ 11 | paths: [ path.join(__dirname, 'less', 'includes') ] 12 | })) 13 | .pipe(gulp.dest('./public/css')); 14 | }); 15 | 16 | gulp.task('default', ['less']); 17 | ``` 18 | 参考[gulp-less](https://www.npmjs.org/package/gulp-less) 19 | 20 | ------ 21 | ### gulp-ugfily(压缩js) ### 22 | ```js 23 | var minifyJS = require('gulp-uglify'); 24 | 25 | gulp.task('compress', function() { 26 | gulp.src('lib/*.js') 27 | .pipe(minifyJS()) 28 | .pipe(gulp.dest('dist')) 29 | }); 30 | gulp.task('default', ['minifiJS']); 31 | ``` 32 | 参考[gulp-ugfily](https://www.npmjs.org/package/gulp-ugfily) 33 | 34 | ------ 35 | ### gulp-minify-css(压缩css) ### 36 | ```js 37 | var minifyCSS = require('gulp-minify-css'); 38 | 39 | gulp.task('minify-css', function() { 40 | gulp.src('./static/css/*.css') 41 | .pipe(minifyCSS({keepBreaks:true})) 42 | .pipe(gulp.dest('./dist/')) 43 | }); 44 | gulp.task('default', ['minifiCSS']); 45 | ``` 46 | 参考[gulp-minify-css](https://www.npmjs.org/package/gulp-minify-css) 47 | 48 | ------ 49 | ### gulp-concat(合并文件) ### 50 | ```js 51 | var concat = require('gulp-concat'); 52 | 53 | gulp.task('scripts', function() { 54 | gulp.src('./lib/*.js') 55 | .pipe(concat('all.js')) 56 | .pipe(gulp.dest('./dist/')) 57 | }); 58 | gulp.task('default', ['concat']); 59 | ``` 60 | 参考[gulp-concat](https://www.npmjs.org/package/gulp-concat) 61 | 62 | ### gulp-jsdoc(JS文档API) ### 63 | ```js 64 | var jsdoc = require("gulp-jsdoc"); 65 | 66 | gulp.task('jsdoc', function() { 67 | gulp.src("./src/*.js") 68 | .pipe(jsdoc('./documentation-output')) 69 | }); 70 | gulp.task('default', ['jsdoc']); 71 | ``` 72 | 参考[gulp-jsdoc](https://www.npmjs.org/package/gulp-jsdoc) 73 | 74 | ------- 75 | -------------------------------------------------------------------------------- /k_gulp/app.js: -------------------------------------------------------------------------------- 1 | 2 | var express = require('express'); 3 | var routes = require('./routes'); 4 | var user = require('./routes/user'); 5 | var http = require('http'); 6 | var path = require('path'); 7 | var ejs = require('ejs'); 8 | 9 | var app = express(); 10 | 11 | // all environments 12 | app.engine('.html',ejs.__express); 13 | app.set('view engine', 'html'); 14 | app.set('port', process.env.PORT || 3000); 15 | app.set('views', path.join(__dirname, 'views')); 16 | app.use(express.static(path.join(__dirname, 'dist'))); 17 | 18 | app.get('/', routes.index); 19 | app.get('/users', user.list); 20 | 21 | app.listen(app.get('port'), function(){ 22 | console.log('Express server listening on port ' + app.get('port')); 23 | }); 24 | -------------------------------------------------------------------------------- /k_gulp/dist/css/all.min.css: -------------------------------------------------------------------------------- 1 | body{padding:50px;font:14px "Lucida Grande",Helvetica,Arial,sans-serif}a{color:#00B7FF} -------------------------------------------------------------------------------- /k_gulp/dist/css/style.css: -------------------------------------------------------------------------------- 1 | body{padding:50px;font:14px "Lucida Grande",Helvetica,Arial,sans-serif}a{color:#00B7FF} -------------------------------------------------------------------------------- /k_gulp/dist/js/all.min.js: -------------------------------------------------------------------------------- 1 | function Book(){} 2 | var Core={};Core.util={},Core.util.trim=function(r){return r.replace(/^\s*|\s*$/g,"")}; 3 | function Author(t,h){this.name=t,this.age=h} -------------------------------------------------------------------------------- /k_gulp/dist/js/chart.js: -------------------------------------------------------------------------------- 1 | function Book(){} -------------------------------------------------------------------------------- /k_gulp/dist/js/core.js: -------------------------------------------------------------------------------- 1 | var Core={};Core.util={},Core.util.trim=function(r){return r.replace(/^\s*|\s*$/g,"")}; -------------------------------------------------------------------------------- /k_gulp/dist/js/person.js: -------------------------------------------------------------------------------- 1 | function Author(t,h){this.name=t,this.age=h} -------------------------------------------------------------------------------- /k_gulp/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var path = require('path'); 3 | var less = require('gulp-less');//LESS 4 | var minifyJS = require('gulp-uglify');//压缩JS 5 | var minifyCSS = require('gulp-minify-css');//压缩CSS 6 | var concat = require('gulp-concat');//合并 7 | var jsdoc = require('gulp-jsdoc');//生成JSDOC 8 | 9 | var paths = { 10 | src_js: 'src/js/*.js', 11 | src_css: 'src/css/*.less', 12 | dist_js:'dist/js', 13 | dist_css:'dist/css' 14 | }; 15 | 16 | /** 17 | * 源文件目录为/src/css/*.less 18 | * 先通过gulp-less把.less文件编译成.css文件 19 | * 通过gulp-minify-css把.css文件压缩 20 | * 再通过gulp-concat把压缩后的.css文件合并到all.min.css中 21 | * 发布到/dist/css目录下 22 | */ 23 | gulp.task('css', function() { 24 | gulp.src(paths.src_css) 25 | .pipe(less({ 26 | paths: [ path.join(__dirname, 'less', 'includes') ] 27 | })) 28 | .pipe(minifyCSS()) 29 | .pipe(gulp.dest(paths.dist_css)) 30 | .pipe(concat('all.min.css')) 31 | .pipe(gulp.dest(paths.dist_css)) 32 | }); 33 | 34 | /** 35 | * 源文件目录为/src/js/*.js 36 | * 通过gulp-uglify把.js文件压缩 37 | * 再通过gulp-concat把压缩后的.js文件合并到all.min.js中 38 | * 发布到/dist/js目录下 39 | */ 40 | gulp.task('scripts', function() { 41 | gulp.src(paths.src_js) 42 | .pipe(minifyJS()) 43 | .pipe(gulp.dest(paths.dist_js)) 44 | .pipe(concat('all.min.js')) 45 | .pipe(gulp.dest(paths.dist_js)) 46 | }); 47 | 48 | /** 49 | * 生成JS API文档 50 | */ 51 | gulp.task('jsdoc',function(){ 52 | gulp.src(paths.src_js) 53 | .pipe(jsdoc('out/')) 54 | }); 55 | 56 | /** 57 | * 监听文件变化,执行相应的任务 58 | */ 59 | gulp.task('watch', function() { 60 | gulp.watch(paths.src_js, ['scripts']); 61 | gulp.watch(paths.src_css, ['css']); 62 | gulp.watch(paths.src_js, ['jsdoc']); 63 | }); 64 | 65 | gulp.task('default', ['scripts', 'css', 'jsdoc', 'watch']); -------------------------------------------------------------------------------- /k_gulp/out/Author.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Class: Author 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Class: Author

21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |

30 | Author 31 |

32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 | 41 |
42 |

new Author(name, age)

43 | 44 | 45 |
46 |
47 | 48 | 49 |
50 | 定义作者的信息 51 |
52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
Parameters:
60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |
NameTypeDescription
name 88 | 89 | 90 | string 91 | 92 | 93 | 94 | 姓名
age 111 | 112 | 113 | string 114 | 115 | 116 | 117 | 年龄
129 | 130 | 131 | 132 |
133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 |
Source:
153 |
156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 |
164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 |
180 | 181 | 182 |
183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 |
202 | 203 |
204 | 205 | 206 | 207 | 208 |
209 | 210 | 213 | 214 |
215 | 216 |
217 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 218 |
219 | 220 | 221 | 222 | 223 | -------------------------------------------------------------------------------- /k_gulp/out/Book.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Class: Book 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Class: Book

21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |

30 | Book 31 |

32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 | 41 |
42 |

new Book(title, author)

43 | 44 | 45 |
46 |
47 | 48 | 49 |
50 | 定义图书的信息 51 |
52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
Parameters:
60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |
NameTypeDescription
title 88 | 89 | 90 | string 91 | 92 | 93 | 94 | 标题
author 111 | 112 | 113 | string 114 | 115 | 116 | 117 | 作者
129 | 130 | 131 | 132 |
133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 |
Source:
153 |
156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 |
164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 |
180 | 181 | 182 |
183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 |
202 | 203 |
204 | 205 | 206 | 207 | 208 |
209 | 210 | 213 | 214 |
215 | 216 |
217 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 218 |
219 | 220 | 221 | 222 | 223 | -------------------------------------------------------------------------------- /k_gulp/out/Core.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Class: Core 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Class: Core

21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |

30 | Core 31 |

32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 | 41 |
42 |

new Core()

43 | 44 | 45 |
46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |
Source:
78 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
105 | 106 | 107 |
108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 |
127 | 128 |
129 | 130 | 131 | 132 | 133 |
134 | 135 | 138 | 139 |
140 | 141 |
142 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 143 |
144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /k_gulp/out/Person.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Class: Person 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Class: Person

21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |

30 | Person 31 |

32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 | 41 |
42 |

new Person()

43 | 44 | 45 |
46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |
Source:
78 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
105 | 106 | 107 |
108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 |
127 | 128 |
129 | 130 | 131 | 132 | 133 |
134 | 135 | 138 | 139 |
140 | 141 |
142 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 13:47:47 GMT+0800 (CST) 143 |
144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /k_gulp/out/chart.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Source: chart.js 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Source: chart.js

21 | 22 | 23 | 24 | 25 | 26 |
27 |
28 |
/**
29 |  * 定义图书的信息
30 |  * @constructor
31 |  * @param {string} title 标题
32 |  * @param {string} author 作者
33 |  */
34 | function Book(title, author) {
35 | }
36 |
37 |
38 | 39 | 40 | 41 | 42 |
43 | 44 | 47 | 48 |
49 | 50 |
51 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 52 |
53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /k_gulp/out/chat.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Namespace: chat 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Namespace: chat

21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |

30 | chat 31 |

32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 |
44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
Source:
64 |
67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 |
75 | 76 | 77 | 78 | 79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |

Namespaces

91 | 92 |
93 |
channel
94 |
95 |
96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 |
106 | 107 |
108 | 109 | 110 | 111 | 112 |
113 | 114 | 117 | 118 |
119 | 120 |
121 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 13:46:39 GMT+0800 (CST) 122 |
123 | 124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /k_gulp/out/chat_channel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Namespace: channel 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Namespace: channel

21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |

30 | chat# 31 | 32 | channel 33 |

34 | 35 |
36 | 37 |
38 |
39 | 40 | 41 | 42 | 43 |
Refer to this by chat."#channel".
44 | 45 | 46 | 47 |
48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
Source:
68 |
71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 | 80 | 81 | 82 | 83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 |

Members

97 | 98 |
99 | 100 |
101 |

<static> open :boolean

102 | 103 | 104 |
105 |
106 | 107 |
108 | Refer to this by chat."#channel".open. 109 |
110 | 111 | 112 | 113 |
Type:
114 |
    115 |
  • 116 | 117 | boolean 118 | 119 | 120 |
  • 121 |
122 | 123 | 124 | 125 |
126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |
Default Value:
144 |
    145 |
  • true
  • 146 |
147 | 148 | 149 | 150 |
Source:
151 |
154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 |
162 | 163 | 164 | 165 | 166 | 167 |
168 | 169 |
170 | 171 | 172 | 173 |

Methods

174 | 175 |
176 | 177 |
178 |

<static> say-"hello"()

179 | 180 | 181 |
182 |
183 | 184 | 185 |
186 | Internal quotes have to be escaped by backslash. This is 187 | chat."#channel"."say-\"hello\"". 188 |
189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 |
199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 |
Source:
219 |
222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 |
230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 |
246 | 247 |
248 | 249 | 250 | 251 | 252 | 253 |
254 | 255 |
256 | 257 | 258 | 259 | 260 |
261 | 262 | 265 | 266 |
267 | 268 |
269 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 13:46:39 GMT+0800 (CST) 270 |
271 | 272 | 273 | 274 | 275 | -------------------------------------------------------------------------------- /k_gulp/out/core.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Source: core.js 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Source: core.js

21 | 22 | 23 | 24 | 25 | 26 |
27 |
28 |
/**
29 |  * @constructor
30 |  * @type {Object} 核心库
31 |  */
32 | var Core = {};
33 | Core.util = {};
34 | 
35 | /**
36 |  * 去掉字符串首位空格
37 |  * @param  {String} str
38 |  * @return {String}
39 |  */
40 | Core.util.trim = function(str){
41 | 	return str.replace(/^\s*|\s*$/g,"");
42 | }
43 | 
44 |
45 |
46 | 47 | 48 | 49 | 50 |
51 | 52 | 55 | 56 |
57 | 58 |
59 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 60 |
61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /k_gulp/out/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Index 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Index

21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |

29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
49 | 50 | 53 | 54 |
55 | 56 |
57 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 58 |
59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /k_gulp/out/person.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JSDoc: Source: person.js 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 |

Source: person.js

21 | 22 | 23 | 24 | 25 | 26 |
27 |
28 |
/**
29 |  * 定义作者的信息
30 |  * @constructor
31 |  * @param {string} name 姓名
32 |  * @param {string} age 年龄
33 |  */
34 | function Author(name,age){
35 | 	this.name = name;
36 | 	this.age = age;
37 | }
38 | 
39 | 
40 |
41 |
42 | 43 | 44 | 45 | 46 |
47 | 48 | 51 | 52 |
53 | 54 |
55 | Documentation generated by JSDoc 3.3.0-alpha5 on Fri Jun 13 2014 16:30:50 GMT+0800 (CST) 56 |
57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /k_gulp/out/scripts/linenumber.js: -------------------------------------------------------------------------------- 1 | /*global document */ 2 | (function() { 3 | var source = document.getElementsByClassName('prettyprint source linenums'); 4 | var i = 0; 5 | var lineNumber = 0; 6 | var lineId; 7 | var lines; 8 | var totalLines; 9 | var anchorHash; 10 | 11 | if (source && source[0]) { 12 | anchorHash = document.location.hash.substring(1); 13 | lines = source[0].getElementsByTagName('li'); 14 | totalLines = lines.length; 15 | 16 | for (; i < totalLines; i++) { 17 | lineNumber++; 18 | lineId = 'line' + lineNumber; 19 | lines[i].id = lineId; 20 | if (lineId === anchorHash) { 21 | lines[i].className += ' selected'; 22 | } 23 | } 24 | } 25 | })(); 26 | -------------------------------------------------------------------------------- /k_gulp/out/scripts/prettify/Apache-License-2.0.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /k_gulp/out/scripts/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", 2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /k_gulp/out/scripts/prettify/prettify.js: -------------------------------------------------------------------------------- 1 | var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; 2 | (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= 3 | [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), 9 | l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, 10 | q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, 11 | q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, 12 | "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), 13 | a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} 14 | for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], 18 | "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], 19 | H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], 20 | J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ 21 | I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), 22 | ["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", 23 | /^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), 24 | ["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", 25 | hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= 26 | !k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p p:first-child 321 | { 322 | margin-top: 0; 323 | padding-top: 0; 324 | } 325 | 326 | .params td.description > p:last-child 327 | { 328 | margin-bottom: 0; 329 | padding-bottom: 0; 330 | } 331 | 332 | .disabled { 333 | color: #454545; 334 | } 335 | -------------------------------------------------------------------------------- /k_gulp/out/styles/prettify-jsdoc.css: -------------------------------------------------------------------------------- 1 | /* JSDoc prettify.js theme */ 2 | 3 | /* plain text */ 4 | .pln { 5 | color: #000000; 6 | font-weight: normal; 7 | font-style: normal; 8 | } 9 | 10 | /* string content */ 11 | .str { 12 | color: #006400; 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | 17 | /* a keyword */ 18 | .kwd { 19 | color: #000000; 20 | font-weight: bold; 21 | font-style: normal; 22 | } 23 | 24 | /* a comment */ 25 | .com { 26 | font-weight: normal; 27 | font-style: italic; 28 | } 29 | 30 | /* a type name */ 31 | .typ { 32 | color: #000000; 33 | font-weight: normal; 34 | font-style: normal; 35 | } 36 | 37 | /* a literal value */ 38 | .lit { 39 | color: #006400; 40 | font-weight: normal; 41 | font-style: normal; 42 | } 43 | 44 | /* punctuation */ 45 | .pun { 46 | color: #000000; 47 | font-weight: bold; 48 | font-style: normal; 49 | } 50 | 51 | /* lisp open bracket */ 52 | .opn { 53 | color: #000000; 54 | font-weight: bold; 55 | font-style: normal; 56 | } 57 | 58 | /* lisp close bracket */ 59 | .clo { 60 | color: #000000; 61 | font-weight: bold; 62 | font-style: normal; 63 | } 64 | 65 | /* a markup tag name */ 66 | .tag { 67 | color: #006400; 68 | font-weight: normal; 69 | font-style: normal; 70 | } 71 | 72 | /* a markup attribute name */ 73 | .atn { 74 | color: #006400; 75 | font-weight: normal; 76 | font-style: normal; 77 | } 78 | 79 | /* a markup attribute value */ 80 | .atv { 81 | color: #006400; 82 | font-weight: normal; 83 | font-style: normal; 84 | } 85 | 86 | /* a declaration */ 87 | .dec { 88 | color: #000000; 89 | font-weight: bold; 90 | font-style: normal; 91 | } 92 | 93 | /* a variable name */ 94 | .var { 95 | color: #000000; 96 | font-weight: normal; 97 | font-style: normal; 98 | } 99 | 100 | /* a function name */ 101 | .fun { 102 | color: #000000; 103 | font-weight: bold; 104 | font-style: normal; 105 | } 106 | 107 | /* Specify class=linenums on a pre to get line numbering */ 108 | ol.linenums { 109 | margin-top: 0; 110 | margin-bottom: 0; 111 | } 112 | -------------------------------------------------------------------------------- /k_gulp/out/styles/prettify-tomorrow.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* Pretty printing styles. Used with prettify.js. */ 4 | /* SPAN elements with the classes below are added by prettyprint. */ 5 | /* plain text */ 6 | .pln { 7 | color: #4d4d4c; } 8 | 9 | @media screen { 10 | /* string content */ 11 | .str { 12 | color: #718c00; } 13 | 14 | /* a keyword */ 15 | .kwd { 16 | color: #8959a8; } 17 | 18 | /* a comment */ 19 | .com { 20 | color: #8e908c; } 21 | 22 | /* a type name */ 23 | .typ { 24 | color: #4271ae; } 25 | 26 | /* a literal value */ 27 | .lit { 28 | color: #f5871f; } 29 | 30 | /* punctuation */ 31 | .pun { 32 | color: #4d4d4c; } 33 | 34 | /* lisp open bracket */ 35 | .opn { 36 | color: #4d4d4c; } 37 | 38 | /* lisp close bracket */ 39 | .clo { 40 | color: #4d4d4c; } 41 | 42 | /* a markup tag name */ 43 | .tag { 44 | color: #c82829; } 45 | 46 | /* a markup attribute name */ 47 | .atn { 48 | color: #f5871f; } 49 | 50 | /* a markup attribute value */ 51 | .atv { 52 | color: #3e999f; } 53 | 54 | /* a declaration */ 55 | .dec { 56 | color: #f5871f; } 57 | 58 | /* a variable name */ 59 | .var { 60 | color: #c82829; } 61 | 62 | /* a function name */ 63 | .fun { 64 | color: #4271ae; } } 65 | /* Use higher contrast and text-weight for printable form. */ 66 | @media print, projection { 67 | .str { 68 | color: #060; } 69 | 70 | .kwd { 71 | color: #006; 72 | font-weight: bold; } 73 | 74 | .com { 75 | color: #600; 76 | font-style: italic; } 77 | 78 | .typ { 79 | color: #404; 80 | font-weight: bold; } 81 | 82 | .lit { 83 | color: #044; } 84 | 85 | .pun, .opn, .clo { 86 | color: #440; } 87 | 88 | .tag { 89 | color: #006; 90 | font-weight: bold; } 91 | 92 | .atn { 93 | color: #404; } 94 | 95 | .atv { 96 | color: #060; } } 97 | /* Style */ 98 | /* 99 | pre.prettyprint { 100 | background: white; 101 | font-family: Menlo, Monaco, Consolas, monospace; 102 | font-size: 12px; 103 | line-height: 1.5; 104 | border: 1px solid #ccc; 105 | padding: 10px; } 106 | */ 107 | 108 | /* Specify class=linenums on a pre to get line numbering */ 109 | ol.linenums { 110 | margin-top: 0; 111 | margin-bottom: 0; } 112 | 113 | /* IE indents via margin-left */ 114 | li.L0, 115 | li.L1, 116 | li.L2, 117 | li.L3, 118 | li.L4, 119 | li.L5, 120 | li.L6, 121 | li.L7, 122 | li.L8, 123 | li.L9 { 124 | /* */ } 125 | 126 | /* Alternate shading for lines */ 127 | li.L1, 128 | li.L3, 129 | li.L5, 130 | li.L7, 131 | li.L9 { 132 | /* */ } 133 | -------------------------------------------------------------------------------- /k_gulp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "k_gulp", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node app.js" 7 | }, 8 | "description": "null", 9 | "main": "app.js", 10 | "author": "kerncink", 11 | "license": "BSD-2-Clause", 12 | "dependencies": { 13 | "express": "~4.4.3", 14 | "gulp-less": "~1.2.3", 15 | "ejs": "~2.5.5", 16 | "gulp": "~3.8.0", 17 | "gulp-uglify": "~0.3.0", 18 | "gulp-minify-css": "~0.3.4", 19 | "gulp-concat": "~2.2.0", 20 | "gulp-jsdoc": "~0.1.4" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /k_gulp/routes/index.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * GET home page. 4 | */ 5 | 6 | exports.index = function(req, res){ 7 | res.render('index', { title: 'Express' }); 8 | }; -------------------------------------------------------------------------------- /k_gulp/routes/user.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * GET users listing. 4 | */ 5 | 6 | exports.list = function(req, res){ 7 | res.send("respond with a resource"); 8 | }; -------------------------------------------------------------------------------- /k_gulp/src/css/style.less: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 50px; 3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; 4 | } 5 | 6 | a { 7 | color: #00B7FF; 8 | } -------------------------------------------------------------------------------- /k_gulp/src/js/chart.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 定义图书的信息 3 | * @constructor 4 | * @param {string} title 标题 5 | * @param {string} author 作者 6 | */ 7 | function Book(title, author) { 8 | } -------------------------------------------------------------------------------- /k_gulp/src/js/core.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @constructor 3 | * @type {Object} 核心库 4 | */ 5 | var Core = {}; 6 | Core.util = {}; 7 | 8 | /** 9 | * 去掉字符串首位空格 10 | * @param {String} str 11 | * @return {String} 12 | */ 13 | Core.util.trim = function(str){ 14 | return str.replace(/^\s*|\s*$/g,""); 15 | } 16 | -------------------------------------------------------------------------------- /k_gulp/src/js/person.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 定义作者的信息 3 | * @constructor 4 | * @param {string} name 姓名 5 | * @param {string} age 年龄 6 | */ 7 | function Author(name,age){ 8 | this.name = name; 9 | this.age = age; 10 | } 11 | 12 | -------------------------------------------------------------------------------- /k_gulp/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%= title %> 5 | 6 | 7 | 8 | 9 |

<%= title %>

10 |

Welcome to <%= title %>

11 | 12 | --------------------------------------------------------------------------------