├── .dockerignore ├── .gitattributes ├── .gitignore ├── Dockerfile ├── README.md ├── app ├── __init__.py ├── config.py ├── extensions.py ├── factory.py ├── index.py ├── logging.json ├── model │ ├── __init__.py │ ├── menu.py │ ├── post.py │ ├── userrole.py │ └── vo.py ├── sessions.py ├── test.py ├── util │ ├── Constant.py │ ├── __init__.py │ ├── backup.py │ ├── captcha.py │ ├── dokuwiki2md.py │ ├── exceptions.py │ ├── globalshare.py │ ├── searchutil.py │ ├── tasks.py │ ├── utilRedis.py │ ├── utilpost.py │ └── walkdir.py └── views │ ├── __init__.py │ ├── admin.py │ ├── errors.py │ ├── forms.py │ ├── pages.py │ ├── security.py │ ├── sidebar.py │ └── tags.py ├── build ├── webpack.base.config.js ├── webpack.dev.config.js └── webpack.product.config.js ├── conf ├── fabfile.py ├── gulp-version-number │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── jsonToQuery.js │ │ ├── leadZero.js │ │ ├── md5.js │ │ ├── parseURL.js │ │ ├── queryToJson.js │ │ ├── randomString.js │ │ ├── renderingURL.js │ │ └── trim.js │ ├── node_modules │ │ ├── graceful-fs │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── fs.js │ │ │ ├── graceful-fs.js │ │ │ ├── node_modules │ │ │ │ └── natives │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ ├── package.json │ │ │ ├── polyfills.js │ │ │ └── test │ │ │ │ ├── max-open.js │ │ │ │ ├── open.js │ │ │ │ ├── readdir-sort.js │ │ │ │ └── write-then-read.js │ │ ├── gulp-util │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── PluginError.js │ │ │ │ ├── buffer.js │ │ │ │ ├── combine.js │ │ │ │ ├── env.js │ │ │ │ ├── isBuffer.js │ │ │ │ ├── isNull.js │ │ │ │ ├── isStream.js │ │ │ │ ├── log.js │ │ │ │ ├── noop.js │ │ │ │ └── template.js │ │ │ ├── node_modules │ │ │ │ ├── .bin │ │ │ │ │ ├── dateformat │ │ │ │ │ └── dateformat.cmd │ │ │ │ ├── array-differ │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ │ ├── array-uniq │ │ │ │ │ ├── index.js │ │ │ │ │ ├── license │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ │ ├── beeper │ │ │ │ │ ├── index.js │ │ │ │ │ ├── license │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ │ ├── chalk │ │ │ │ │ ├── index.js │ │ │ │ │ ├── license │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── ansi-styles │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── escape-string-regexp │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── has-ansi │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── ansi-regex │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── strip-ansi │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── ansi-regex │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── supports-color │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ │ ├── dateformat │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── bin │ │ │ │ │ │ └── cli.js │ │ │ │ │ ├── lib │ │ │ │ │ │ └── dateformat.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── get-stdin │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── meow │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ ├── camelcase-keys │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ └── camelcase │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── decamelize │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── loud-rejection │ │ │ │ │ │ │ │ ├── api.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ ├── currently-unhandled │ │ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ └── array-find-index │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ └── signal-exit │ │ │ │ │ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── signals.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ │ │ └── register.js │ │ │ │ │ │ │ ├── map-obj │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── normalize-package-data │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ ├── extract_description.js │ │ │ │ │ │ │ │ │ ├── fixer.js │ │ │ │ │ │ │ │ │ ├── make_warning.js │ │ │ │ │ │ │ │ │ ├── normalize.js │ │ │ │ │ │ │ │ │ ├── safe_format.js │ │ │ │ │ │ │ │ │ ├── typos.json │ │ │ │ │ │ │ │ │ └── warning_messages.json │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ ├── .bin │ │ │ │ │ │ │ │ │ │ ├── semver │ │ │ │ │ │ │ │ │ │ └── semver.cmd │ │ │ │ │ │ │ │ │ ├── hosted-git-info │ │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── git-host-info.js │ │ │ │ │ │ │ │ │ │ ├── git-host.js │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ │ ├── is-builtin-module │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ └── builtin-modules │ │ │ │ │ │ │ │ │ │ │ │ ├── builtin-modules.json │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ │ │ │ │ │ │ └── static.js │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ ├── semver │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── bin │ │ │ │ │ │ │ │ │ │ │ └── semver │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ ├── range.bnf │ │ │ │ │ │ │ │ │ │ └── semver.js │ │ │ │ │ │ │ │ │ └── validate-npm-package-license │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ ├── spdx-correct │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ │ │ └── spdx-expression-parse │ │ │ │ │ │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ └── parser.js │ │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ ├── basic.js │ │ │ │ │ │ │ │ │ ├── consistency.js │ │ │ │ │ │ │ │ │ ├── dependencies.js │ │ │ │ │ │ │ │ │ ├── fixtures │ │ │ │ │ │ │ │ │ ├── async.json │ │ │ │ │ │ │ │ │ ├── badscripts.json │ │ │ │ │ │ │ │ │ ├── bcrypt.json │ │ │ │ │ │ │ │ │ ├── coffee-script.json │ │ │ │ │ │ │ │ │ ├── http-server.json │ │ │ │ │ │ │ │ │ ├── movefile.json │ │ │ │ │ │ │ │ │ ├── no-description.json │ │ │ │ │ │ │ │ │ ├── node-module_exist.json │ │ │ │ │ │ │ │ │ ├── npm.json │ │ │ │ │ │ │ │ │ ├── read-package-json.json │ │ │ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ │ │ │ └── underscore.json │ │ │ │ │ │ │ │ │ ├── github-urls.js │ │ │ │ │ │ │ │ │ ├── mixedcase-names.js │ │ │ │ │ │ │ │ │ ├── normalize.js │ │ │ │ │ │ │ │ │ ├── normalize.js~ │ │ │ │ │ │ │ │ │ ├── scoped.js │ │ │ │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ │ │ │ ├── strict.js │ │ │ │ │ │ │ │ │ └── typo.js │ │ │ │ │ │ │ ├── object-assign │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── read-pkg-up │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ ├── find-up │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ ├── path-exists │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ └── pinkie-promise │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ └── pinkie │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ └── read-pkg │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ ├── load-json-file │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ ├── graceful-fs │ │ │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ │ ├── fs.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── graceful-fs.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── legacy-streams.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── polyfills.js │ │ │ │ │ │ │ │ │ │ │ │ ├── parse-json │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── error-ex │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ │ │ │ │ │ │ │ └── vendor │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── parse.js │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── unicode.js │ │ │ │ │ │ │ │ │ │ │ │ ├── pify │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ │ ├── pinkie-promise │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ │ └── strip-bom │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ │ └── is-utf8 │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── is-utf8.js │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ └── path-type │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ ├── graceful-fs │ │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ ├── fs.js │ │ │ │ │ │ │ │ │ │ │ │ ├── graceful-fs.js │ │ │ │ │ │ │ │ │ │ │ │ ├── legacy-streams.js │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── polyfills.js │ │ │ │ │ │ │ │ │ │ │ ├── pify │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ └── pinkie-promise │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ └── pinkie │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── redent │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ ├── .bin │ │ │ │ │ │ │ │ │ │ ├── strip-indent │ │ │ │ │ │ │ │ │ │ └── strip-indent.cmd │ │ │ │ │ │ │ │ │ ├── indent-string │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ └── repeating │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ └── is-finite │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ │ │ │ └── number-is-nan │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ │ └── strip-indent │ │ │ │ │ │ │ │ │ │ ├── cli.js │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ └── trim-newlines │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── license │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ ├── test_dayofweek.js │ │ │ │ │ │ ├── test_formats.js │ │ │ │ │ │ ├── test_isoutcdatetime.js │ │ │ │ │ │ └── weekofyear │ │ │ │ │ │ ├── test_weekofyear.js │ │ │ │ │ │ └── test_weekofyear.sh │ │ │ │ ├── fancy-log │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── time-stamp │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── gulplog │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── glogg │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── sparkles │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── has-gulplog │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── sparkles │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── lodash._reescape │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── lodash._reevaluate │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── lodash._reinterpolate │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── lodash.template │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── lodash._basecopy │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── lodash._basetostring │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── lodash._basevalues │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── lodash._isiterateecall │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── lodash.escape │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── lodash._root │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── lodash.keys │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ ├── lodash._getnative │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ ├── lodash.isarguments │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ └── lodash.isarray │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── lodash.restparam │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── lodash.templatesettings │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── minimist │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── example │ │ │ │ │ │ └── parse.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── readme.markdown │ │ │ │ │ └── test │ │ │ │ │ │ ├── all_bool.js │ │ │ │ │ │ ├── bool.js │ │ │ │ │ │ ├── dash.js │ │ │ │ │ │ ├── default_bool.js │ │ │ │ │ │ ├── dotted.js │ │ │ │ │ │ ├── kv_short.js │ │ │ │ │ │ ├── long.js │ │ │ │ │ │ ├── num.js │ │ │ │ │ │ ├── parse.js │ │ │ │ │ │ ├── parse_modified.js │ │ │ │ │ │ ├── short.js │ │ │ │ │ │ ├── stop_early.js │ │ │ │ │ │ ├── unknown.js │ │ │ │ │ │ └── whitespace.js │ │ │ │ ├── multipipe │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── duplexer2 │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── example.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── readable-stream │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── duplex.js │ │ │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ │ │ │ └── _stream_writable.js │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ ├── core-util-is │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ ├── isarray │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ │ │ │ └── build.js │ │ │ │ │ │ │ │ │ ├── component.json │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ └── string_decoder │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ ├── passthrough.js │ │ │ │ │ │ │ │ ├── readable.js │ │ │ │ │ │ │ │ ├── transform.js │ │ │ │ │ │ │ │ └── writable.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ └── tests.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ └── multipipe.js │ │ │ │ ├── object-assign │ │ │ │ │ ├── index.js │ │ │ │ │ ├── license │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ │ ├── replace-ext │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ └── main.js │ │ │ │ ├── through2 │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── readable-stream │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── .zuul.yml │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── doc │ │ │ │ │ │ │ │ ├── stream.markdown │ │ │ │ │ │ │ │ └── wg-meetings │ │ │ │ │ │ │ │ │ └── 2015-01-30.md │ │ │ │ │ │ │ ├── duplex.js │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ │ │ │ └── _stream_writable.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ ├── core-util-is │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ ├── isarray │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── component.json │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ ├── process-nextick-args │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── license.md │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ ├── string_decoder │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ └── util-deprecate │ │ │ │ │ │ │ │ │ ├── History.md │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ │ ├── node.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── passthrough.js │ │ │ │ │ │ │ ├── readable.js │ │ │ │ │ │ │ ├── transform.js │ │ │ │ │ │ │ └── writable.js │ │ │ │ │ │ └── xtend │ │ │ │ │ │ │ ├── .jshintrc │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENCE │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── immutable.js │ │ │ │ │ │ │ ├── mutable.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── through2.js │ │ │ │ └── vinyl │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── cloneBuffer.js │ │ │ │ │ ├── inspectStream.js │ │ │ │ │ ├── isBuffer.js │ │ │ │ │ ├── isNull.js │ │ │ │ │ └── isStream.js │ │ │ │ │ ├── node_modules │ │ │ │ │ ├── clone-stats │ │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test.js │ │ │ │ │ └── clone │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── clone.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── test-apart-ctx.html │ │ │ │ │ │ ├── test.html │ │ │ │ │ │ └── test.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── map-stream │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENCE │ │ │ ├── examples │ │ │ │ └── pretty.js │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── readme.markdown │ │ │ └── test │ │ │ │ └── simple-map.asynct.js │ │ ├── temp-write │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── node_modules │ │ │ │ ├── .bin │ │ │ │ │ ├── mkdirp │ │ │ │ │ └── mkdirp.cmd │ │ │ │ ├── graceful-fs │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── fs.js │ │ │ │ │ ├── graceful-fs.js │ │ │ │ │ ├── legacy-streams.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── polyfills.js │ │ │ │ ├── mkdirp │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── bin │ │ │ │ │ │ ├── cmd.js │ │ │ │ │ │ └── usage.txt │ │ │ │ │ ├── examples │ │ │ │ │ │ └── pow.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── minimist │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ └── parse.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── readme.markdown │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── dash.js │ │ │ │ │ │ │ ├── default_bool.js │ │ │ │ │ │ │ ├── dotted.js │ │ │ │ │ │ │ ├── long.js │ │ │ │ │ │ │ ├── parse.js │ │ │ │ │ │ │ ├── parse_modified.js │ │ │ │ │ │ │ ├── short.js │ │ │ │ │ │ │ └── whitespace.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── readme.markdown │ │ │ │ │ └── test │ │ │ │ │ │ ├── chmod.js │ │ │ │ │ │ ├── clobber.js │ │ │ │ │ │ ├── mkdirp.js │ │ │ │ │ │ ├── opts_fs.js │ │ │ │ │ │ ├── opts_fs_sync.js │ │ │ │ │ │ ├── perm.js │ │ │ │ │ │ ├── perm_sync.js │ │ │ │ │ │ ├── race.js │ │ │ │ │ │ ├── rel.js │ │ │ │ │ │ ├── return.js │ │ │ │ │ │ ├── return_sync.js │ │ │ │ │ │ ├── root.js │ │ │ │ │ │ ├── sync.js │ │ │ │ │ │ ├── umask.js │ │ │ │ │ │ └── umask_sync.js │ │ │ │ ├── os-tmpdir │ │ │ │ │ ├── index.js │ │ │ │ │ ├── license │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ │ └── uuid │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── benchmark │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bench.gnu │ │ │ │ │ ├── bench.sh │ │ │ │ │ ├── benchmark-native.c │ │ │ │ │ ├── benchmark.js │ │ │ │ │ └── package.json │ │ │ │ │ ├── misc │ │ │ │ │ ├── compare.js │ │ │ │ │ └── perf.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── rng-browser.js │ │ │ │ │ ├── rng.js │ │ │ │ │ ├── test │ │ │ │ │ ├── mocha.opts │ │ │ │ │ └── test.js │ │ │ │ │ └── uuid.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── util │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── .zuul.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── node_modules │ │ │ └── inherits │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── inherits.js │ │ │ │ ├── inherits_browser.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── package.json │ │ │ ├── support │ │ │ ├── isBuffer.js │ │ │ └── isBufferBrowser.js │ │ │ ├── test │ │ │ ├── browser │ │ │ │ ├── inspect.js │ │ │ │ └── is.js │ │ │ └── node │ │ │ │ ├── debug.js │ │ │ │ ├── format.js │ │ │ │ ├── inspect.js │ │ │ │ ├── log.js │ │ │ │ └── util.js │ │ │ └── util.js │ └── package.json ├── gunicorn.conf.py ├── nginx.conf ├── prod │ ├── gunicorn.conf.py │ ├── nginx.conf │ └── supervisor.conf ├── setup-ubuntu.sh └── supervisor-mdwiki.conf ├── data └── sidebar.md ├── docker-compose.debug.yml ├── docker-compose.yml ├── gulpfile.js ├── home.png ├── migrations ├── README ├── alembic.ini ├── env.py ├── script.py.mako └── versions │ ├── 83f36c1ea613_.py │ ├── 8645016bd6da_.py │ └── 92d8727bbbb5_.py ├── package.json ├── package.json.bak ├── requirements.txt ├── run.py ├── sources.list ├── test └── proj │ ├── __init__.py │ ├── __pycache__ │ └── email_task.cpython-34.pyc.45310768 │ ├── email_task.py │ └── main.py └── websrc ├── static ├── animate.min.css ├── app.css ├── bootstrap-custom.css ├── editor.js ├── fonts │ └── DroidSansMono.ttf ├── images │ ├── favicon.ico │ └── placeholder.png ├── lib │ ├── Autolinker.min.js │ ├── additional-methods.js │ ├── additional-methods.min.js │ ├── bg.png │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-material-design.css │ │ │ ├── bootstrap-material-design.css.map │ │ │ ├── bootstrap-material-design.min.css │ │ │ ├── bootstrap-material-design.min.css.map │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── ripples.css │ │ │ ├── ripples.css.map │ │ │ ├── ripples.min.css │ │ │ └── ripples.min.css.map │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ ├── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ ├── material.js │ │ │ ├── material.min.js │ │ │ ├── material.min.js.map │ │ │ ├── npm.js │ │ │ ├── ripples.js │ │ │ ├── ripples.min.js │ │ │ └── ripples.min.js.map │ │ └── test.html │ ├── clipboard.min.js │ ├── fancyBox │ │ ├── blank.gif │ │ ├── fancybox_loading.gif │ │ ├── fancybox_loading@2x.gif │ │ ├── fancybox_overlay.png │ │ ├── fancybox_sprite.png │ │ ├── fancybox_sprite@2x.png │ │ ├── helpers │ │ │ ├── fancybox_buttons.png │ │ │ ├── jquery.fancybox-buttons.css │ │ │ ├── jquery.fancybox-buttons.js │ │ │ ├── jquery.fancybox-media.js │ │ │ ├── jquery.fancybox-thumbs.css │ │ │ └── jquery.fancybox-thumbs.js │ │ ├── jquery.fancybox.min.css │ │ └── jquery.fancybox.min.js │ ├── jqplugin │ │ ├── backup │ │ │ ├── jquery-ui.min.css1 │ │ │ ├── jquery-ui.min.js1 │ │ │ ├── jquery.scrollbar.css │ │ │ └── jquery.scrollbar.min.js │ │ ├── images │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_75_ffffff_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-bg_inset-soft_95_fef1ec_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ ├── ui-icons_cd0a0a_256x240.png │ │ │ └── ui-icons_f6cf3b_256x240.png │ │ ├── jquery-ui.min.css │ │ ├── jquery-ui.min.js │ │ ├── jquery.mCustomScrollbar.concat.min.js │ │ ├── jquery.mCustomScrollbar.min.css │ │ ├── toastr.min.css │ │ └── toastr.min.js │ ├── jquery.min.js │ ├── jquery.validate.js │ ├── jquery.validate.min.js │ ├── moment-with-locales.min.js │ ├── simplemde │ │ ├── androidstudio.css │ │ ├── darcula.css │ │ ├── highlight.min.css │ │ ├── highlight.min.js │ │ ├── index.html │ │ ├── jquery.min.js │ │ ├── simplemde.min.css │ │ ├── simplemde.min.js │ │ └── simplemde.min.js.bak │ ├── taggle.min.css │ ├── taggle.min.css1 │ ├── taggle.min.js │ └── webuploader │ │ ├── Uploader.swf │ │ ├── webuploader.min.css │ │ └── webuploader.min.js ├── login.js ├── main.js ├── manage.js ├── navbar-fixed-side.css ├── page.js ├── prettify.css ├── prettify.js ├── pygments.css └── responsive.css └── templates ├── 401.html ├── 404.html ├── 405.html ├── base.html ├── create.html ├── editor.html ├── helpers.html ├── hintInfo.html ├── home.html ├── index.html ├── macros.html ├── manage.html ├── move.html ├── navmenu.html ├── page.html ├── pagination.html ├── picManager.html ├── search.html ├── searchResult.html ├── security ├── .DS_Store ├── _macros.html ├── _menu.html ├── _messages.html ├── change_password.html ├── email │ ├── change_notice.html │ ├── change_notice.txt │ ├── confirmation_instructions.html │ ├── confirmation_instructions.txt │ ├── login_instructions.html │ ├── login_instructions.txt │ ├── reset_instructions.html │ ├── reset_instructions.txt │ ├── reset_notice.html │ ├── reset_notice.txt │ ├── welcome.html │ └── welcome.txt ├── forgot_password.html ├── login_user.html ├── register_user.html ├── reset_password.html ├── send_confirmation.html └── send_login.html ├── sidebar.html ├── tags.html └── tagsPostList.html /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | Dockerfile* 4 | docker-compose* 5 | .dockerignore 6 | .git 7 | .gitignore 8 | README.md 9 | LICENSE 10 | .vscode -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=python 2 | *.py linguist-language=python -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | app.db 3 | ./tmp 4 | ./build/* 5 | ./.idea 6 | ./.idea/* 7 | env 8 | venv 9 | *.sublime* 10 | /data 11 | /node_modules 12 | /app/static 13 | /app/templates 14 | /info.log 15 | /errors.log 16 | /.idea 17 | /set_env.bat 18 | -------------------------------------------------------------------------------- /app/extensions.py: -------------------------------------------------------------------------------- 1 | from flask.ext.security import Security 2 | from flask_sqlalchemy import SQLAlchemy 3 | from flask_wtf import CsrfProtect 4 | # from flask_bootstrap import Bootstrap 5 | from flask_moment import Moment 6 | from flask_cache import Cache 7 | # from flask_restful import Resource, Api 8 | from flask_babel import Babel 9 | # from flask_security import Security 10 | from flask_mail import Mail 11 | 12 | babel = Babel() 13 | # api=Api() 14 | db = SQLAlchemy() 15 | # Bootstrap() 16 | moment = Moment() 17 | cache = Cache() 18 | security = Security() 19 | mail = Mail() 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/factory.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | from flask_wtf import CsrfProtect 3 | from redis import StrictRedis 4 | 5 | from app.extensions import db,babel,moment,cache,security,mail 6 | from .sessions import RedisSessionInterface 7 | from app.util import utilRedis 8 | def create_app(): 9 | from app import config 10 | app = Flask(__name__) 11 | app.config.from_object(config) 12 | #set server-side session if redis is valid 13 | if utilRedis.isValid(): 14 | app.session_interface=RedisSessionInterface(redis=utilRedis.redis_pickle_client) 15 | # csrf ajax 16 | CsrfProtect(app) 17 | 18 | db.init_app(app) 19 | babel.init_app(app) 20 | moment.init_app(app) 21 | cache.init_app(app) 22 | mail.init_app(app) 23 | 24 | 25 | 26 | return app 27 | -------------------------------------------------------------------------------- /app/model/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/model/menu.py: -------------------------------------------------------------------------------- 1 | from app.extensions import db 2 | import uuid 3 | 4 | class Menu(db.Model): 5 | """ 菜单实体 """ 6 | id=db.Column(db.String(100),primary_key=True) 7 | name=db.Column(db.String(25),unique=True) 8 | link=db.Column(db.String(50)) 9 | icon=db.Column(db.String(10)) 10 | active=db.Column(db.String(10)) 11 | type=db.Column(db.Integer,default=0) 12 | 13 | def __init__(self): 14 | id=str(uuid.uuid1()) 15 | def __repr__(self, *args, **kwargs): 16 | return ''%self.name 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/model/vo.py: -------------------------------------------------------------------------------- 1 | from app import util 2 | from datetime import datetime 3 | # class PostMeta(dict): 4 | # __allowList=['title','author','createAt','location'] 5 | 6 | # def __init__(self): 7 | # self['createAt']=util.getNowFmtDate() 8 | # def __getattr__(self,name): 9 | # if name in __allowList: 10 | # return self[name] 11 | # def __setattr__(self,name,value): 12 | # if name in __allowList: 13 | # self[name]=value 14 | # else: 15 | # return AttributeError(name+" not found") 16 | 17 | class SearchPostVo(): 18 | def __init__(self,location,title='',content='',summary='',createAt=None,modifyAt=None,author=''): 19 | self.location=location 20 | self.title=title 21 | self.content=content 22 | self.summary=summary 23 | self.createAt=datetime.strptime(createAt or util.getNowFmtDate(),'%Y-%m-%d %H:%M:%S') 24 | self.modifyAt=datetime.strptime(modifyAt or util.getNowFmtDate(),'%Y-%m-%d %H:%M:%S') 25 | self.author=author 26 | def __repr__(self): 27 | return "" % self.title 28 | 29 | -------------------------------------------------------------------------------- /app/test.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | 3 | from flask import Flask 4 | from flask_testing import TestCase 5 | 6 | 7 | class MyTest(TestCase): 8 | def create_app(self): 9 | app = Flask(__name__) 10 | app.config['TESTING'] = True 11 | return app 12 | 13 | # your test cases 14 | if __name__ == '__main__': 15 | unittest.main() -------------------------------------------------------------------------------- /app/util/Constant.py: -------------------------------------------------------------------------------- 1 | from app import config 2 | import os 3 | 4 | DATA_SEARCH_INDEX='searchIndex' 5 | DATA_PAGES='pages' 6 | DATA_UPLOAD='upload' 7 | 8 | SIDEBAR_PATH = os.path.join(config.DATA_DIR, 'sidebar.md') 9 | md_ext = ['markdown.extensions.extra', 'markdown.extensions.abbr', 'markdown.extensions.attr_list', 10 | 'markdown.extensions.def_list', 'markdown.extensions.fenced_code', 'markdown.extensions.footnotes', 11 | 'markdown.extensions.tables', 'markdown.extensions.smart_strong', 'markdown.extensions.admonition', 12 | 'markdown.extensions.codehilite', 'markdown.extensions.headerid', 'markdown.extensions.meta', 13 | 'markdown.extensions.nl2br', 'markdown.extensions.sane_lists', 'markdown.extensions.smarty', 14 | 'markdown.extensions.toc', 15 | 'markdown.extensions.wikilinks'] 16 | 17 | class RedisStore(object): 18 | G_SHARE='gshare:' 19 | -------------------------------------------------------------------------------- /app/util/exceptions.py: -------------------------------------------------------------------------------- 1 | class ArgsErrorException(Exception): 2 | status_code=400 3 | def __init__(self,msg,status_code=400): 4 | super(ArgsErrorException,self).__init__(msg) 5 | self.msg=msg 6 | self.status_code=status_code 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/views/__init__.py: -------------------------------------------------------------------------------- 1 | """ this is a BluePrint for views """ 2 | from flask import Blueprint 3 | import logging as log 4 | import os 5 | # from functools import wraps 6 | # from app.extensions import db 7 | 8 | 9 | # def route(app_or_sub,rule,**options): 10 | # def decorator(f): 11 | # @wraps(f) 12 | # def decorated_view(*args,**kwargs): 13 | # res=f(*args,**kwargs) 14 | # db.session.commit() 15 | # return res 16 | # endpoint = options.pop('endpoint', None) 17 | # app_or_sub.add_url_rule(rule, endpoint, decorated_view, **options) 18 | # return decorated_view 19 | # return decorator 20 | 21 | 22 | ######blueprints######################## 23 | views=Blueprint('views',__name__) 24 | from .pages import pages as pages_blueprint 25 | from .admin import admin as admin_blueprint 26 | all_blueprint=[views,pages_blueprint,admin_blueprint] 27 | 28 | from . import sidebar,errors,pages,admin,security,tags 29 | -------------------------------------------------------------------------------- /app/views/errors.py: -------------------------------------------------------------------------------- 1 | from flask import render_template 2 | from flask.helpers import flash 3 | 4 | from app.factory import cache 5 | 6 | from . import views 7 | 8 | 9 | @views.app_errorhandler(404) 10 | @cache.cached(key_prefix='404') 11 | def page_not_found(e): 12 | return render_template('404.html'),404 13 | 14 | 15 | @views.app_errorhandler(401) 16 | @cache.cached(timeout=36000,key_prefix='401') 17 | def unathorized_error(e): 18 | return render_template('401.html'),401 19 | 20 | 21 | @views.app_errorhandler(405) 22 | @cache.cached(timeout=36000,key_prefix='405') 23 | def unathorized_method_error(e): 24 | return render_template('405.html'),405 25 | 26 | @views.app_errorhandler(400) 27 | def page_400(): 28 | flash('发生未知错误,通常情况下可能是您的会话已经失效!') 29 | return render_template('hintInfo.html') -------------------------------------------------------------------------------- /app/views/tags.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from flask import redirect, request, jsonify 3 | from app.model.post import Tag 4 | 5 | 6 | @views.route('/tags/input') 7 | def tagsInput(): 8 | """文章编辑页,标签自动完成获取列表。 9 | Returns: 10 | TYPE: Description 11 | """ 12 | all_tags = Tag.query.all(); 13 | return jsonify([tag.name for tag in all_tags]) 14 | 15 | 16 | @views.route('/tags/') 17 | def tagsView(name): 18 | tag=Tag.query.filter_by(name=name).first() 19 | # tag.pages 20 | # return tag_name 21 | pass -------------------------------------------------------------------------------- /build/webpack.dev.config.js: -------------------------------------------------------------------------------- 1 | var config = require('./webpack.base.config') 2 | config.devtool = 'eval-source-map' //'cheap-module-eval-source-map'构建速度更快,但是不利于调试,推荐在大型项目考虑da时间成本是使用。 3 | module.exports = config 4 | -------------------------------------------------------------------------------- /build/webpack.product.config.js: -------------------------------------------------------------------------------- 1 | var webpack = require('webpack') 2 | var config = require('./webpack.base.config') 3 | var path = require('path'); 4 | //此处先判断是否为null,然后用concat拼接数组,为什么不用push? , push 与 concat 区别:push()方法会修改原有数组,这就会影响其他环境。concat不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 5 | config.plugins = (config.plugins || []).concat([ 6 | // this allows uglify to strip all warnings 7 | // from Vue.js source code. 8 | new webpack.DefinePlugin({ 9 | 'process.env': { 10 | NODE_ENV: '"production"' 11 | } 12 | }), 13 | // This minifies not only JavaScript, but also 14 | // the templates (with html-minifier) and CSS (with cssnano)! 15 | new webpack.optimize.UglifyJsPlugin({ 16 | compress: { 17 | warnings: false 18 | } 19 | }) 20 | ]) 21 | module.exports = config -------------------------------------------------------------------------------- /conf/gulp-version-number/lib/leadZero.js: -------------------------------------------------------------------------------- 1 | /** 2 | * leadZero 3 | */ 4 | module.exports = function(val, len) { 5 | return new Array((len || 10) - val.toString().length + 1).join('0') + val; 6 | }; -------------------------------------------------------------------------------- /conf/gulp-version-number/lib/randomString.js: -------------------------------------------------------------------------------- 1 | module.exports = function(len) { 2 | var x = "0123456789POIUYTREWQLKJHGFDSAMNBVCXZpoiuytrewqlkjhgfdsamnbvcxz"; 3 | var tmp = []; 4 | for (var i = 0; i < len; i++) { 5 | tmp.push(x.charAt(Math.ceil(Math.random() * 100000000) % x.length)); 6 | } 7 | return tmp.join(''); 8 | }; -------------------------------------------------------------------------------- /conf/gulp-version-number/lib/renderingURL.js: -------------------------------------------------------------------------------- 1 | module.exports = function(config){ 2 | return (config['scheme'] ? config.scheme + ':' + config.slash : '') + (config['host'] ? config.host : '') + (config['port'] ? ':' + config.port : '') + (config['path'] ? '/' + config.path : '') + ( config['query'] ? '?' + config.query : '') + (config['hash'] ? '#' + config.hash : '');; 3 | }; 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/lib/trim.js: -------------------------------------------------------------------------------- 1 | /** 2 | * delete the space at the beginning and end of the string 3 | * @param {String} str 4 | * @return {String} str 5 | */ 6 | module.exports = function(str) { 7 | if ( typeof str !== 'string') { 8 | throw 'trim parameter must be a string!'; 9 | } 10 | var len = str.length; 11 | var s = 0; 12 | var reg = /(\u3000|\s|\t|\u00A0)/; 13 | 14 | while (s < len) { 15 | if (!reg.test(str.charAt(s))) { 16 | break; 17 | } 18 | s += 1; 19 | } 20 | while (len > s) { 21 | if (!reg.test(str.charAt(len - 1))) { 22 | break; 23 | } 24 | len -= 1; 25 | } 26 | return str.slice(s, len); 27 | }; 28 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/graceful-fs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | coverage/ 3 | .nyc_output/ 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/graceful-fs/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - '0.10' 5 | - '0.12' 6 | - '4' 7 | - '6' 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/graceful-fs/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/graceful-fs/fs.js: -------------------------------------------------------------------------------- 1 | module.exports = require('natives').require('fs', ['stream']) 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/graceful-fs/test/readdir-sort.js: -------------------------------------------------------------------------------- 1 | var test = require("tap").test 2 | var fs = require("../fs.js") 3 | 4 | var readdir = fs.readdir 5 | fs.readdir = function(path, cb) { 6 | process.nextTick(function() { 7 | cb(null, ["b", "z", "a"]) 8 | }) 9 | } 10 | 11 | var g = require("../") 12 | 13 | test("readdir reorder", function (t) { 14 | g.readdir("whatevers", function (er, files) { 15 | if (er) 16 | throw er 17 | t.same(files, [ "a", "b", "z" ]) 18 | t.end() 19 | }) 20 | }) 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | File: require('vinyl'), 3 | replaceExtension: require('replace-ext'), 4 | colors: require('chalk'), 5 | date: require('dateformat'), 6 | log: require('./lib/log'), 7 | template: require('./lib/template'), 8 | env: require('./lib/env'), 9 | beep: require('beeper'), 10 | noop: require('./lib/noop'), 11 | isStream: require('./lib/isStream'), 12 | isBuffer: require('./lib/isBuffer'), 13 | isNull: require('./lib/isNull'), 14 | linefeed: '\n', 15 | combine: require('./lib/combine'), 16 | buffer: require('./lib/buffer'), 17 | PluginError: require('./lib/PluginError') 18 | }; 19 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/buffer.js: -------------------------------------------------------------------------------- 1 | var through = require('through2'); 2 | 3 | module.exports = function(fn) { 4 | var buf = []; 5 | var end = function(cb) { 6 | this.push(buf); 7 | cb(); 8 | if(fn) fn(null, buf); 9 | }; 10 | var push = function(data, enc, cb) { 11 | buf.push(data); 12 | cb(); 13 | }; 14 | return through.obj(push, end); 15 | }; 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/combine.js: -------------------------------------------------------------------------------- 1 | var pipeline = require('multipipe'); 2 | 3 | module.exports = function(){ 4 | var args = arguments; 5 | if (args.length === 1 && Array.isArray(args[0])) { 6 | args = args[0]; 7 | } 8 | return function(){ 9 | return pipeline.apply(pipeline, args); 10 | }; 11 | }; 12 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/env.js: -------------------------------------------------------------------------------- 1 | var parseArgs = require('minimist'); 2 | var argv = parseArgs(process.argv.slice(2)); 3 | 4 | module.exports = argv; 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/isBuffer.js: -------------------------------------------------------------------------------- 1 | var buf = require('buffer'); 2 | var Buffer = buf.Buffer; 3 | 4 | // could use Buffer.isBuffer but this is the same exact thing... 5 | module.exports = function(o) { 6 | return typeof o === 'object' && o instanceof Buffer; 7 | }; 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/isNull.js: -------------------------------------------------------------------------------- 1 | module.exports = function(v) { 2 | return v === null; 3 | }; 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/isStream.js: -------------------------------------------------------------------------------- 1 | var Stream = require('stream').Stream; 2 | 3 | module.exports = function(o) { 4 | return !!o && o instanceof Stream; 5 | }; 6 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/log.js: -------------------------------------------------------------------------------- 1 | var hasGulplog = require('has-gulplog'); 2 | 3 | module.exports = function(){ 4 | if(hasGulplog()){ 5 | // specifically deferring loading here to keep from registering it globally 6 | var gulplog = require('gulplog'); 7 | gulplog.info.apply(gulplog, arguments); 8 | } else { 9 | // specifically defering loading because it might not be used 10 | var fancylog = require('fancy-log'); 11 | fancylog.apply(null, arguments); 12 | } 13 | return this; 14 | }; 15 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/noop.js: -------------------------------------------------------------------------------- 1 | var through = require('through2'); 2 | 3 | module.exports = function () { 4 | return through.obj(); 5 | }; 6 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/lib/template.js: -------------------------------------------------------------------------------- 1 | var template = require('lodash.template'); 2 | var reEscape = require('lodash._reescape'); 3 | var reEvaluate = require('lodash._reevaluate'); 4 | var reInterpolate = require('lodash._reinterpolate'); 5 | 6 | var forcedSettings = { 7 | escape: reEscape, 8 | evaluate: reEvaluate, 9 | interpolate: reInterpolate 10 | }; 11 | 12 | module.exports = function(tmpl, data) { 13 | var fn = template(tmpl, forcedSettings); 14 | 15 | var wrapped = function(o) { 16 | if (typeof o === 'undefined' || typeof o.file === 'undefined') { 17 | throw new Error('Failed to provide the current file as "file" to the template'); 18 | } 19 | return fn(o); 20 | }; 21 | 22 | return (data ? wrapped(data) : wrapped); 23 | }; 24 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/.bin/dateformat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../dateformat/bin/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../dateformat/bin/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/.bin/dateformat.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\dateformat\bin\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\dateformat\bin\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/array-differ/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (arr) { 3 | var rest = [].concat.apply([], [].slice.call(arguments, 1)); 4 | return arr.filter(function (el) { 5 | return rest.indexOf(el) === -1; 6 | }); 7 | }; 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/array-differ/readme.md: -------------------------------------------------------------------------------- 1 | # array-differ [![Build Status](https://travis-ci.org/sindresorhus/array-differ.svg?branch=master)](https://travis-ci.org/sindresorhus/array-differ) 2 | 3 | > Create an array with values that are present in the first input array but not additional ones 4 | 5 | 6 | ## Install 7 | 8 | ```sh 9 | $ npm install --save array-differ 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var arrayDiffer = require('array-differ'); 17 | 18 | arrayDiffer([2, 3, 4], [3, 50]); 19 | //=> [2, 4] 20 | ``` 21 | 22 | ## API 23 | 24 | ### arrayDiffer(input, values, [values, ...]) 25 | 26 | Returns the new array. 27 | 28 | #### input 29 | 30 | Type: `array` 31 | 32 | #### values 33 | 34 | Type: `array` 35 | 36 | Arrays of values to exclude. 37 | 38 | 39 | ## License 40 | 41 | MIT © [Sindre Sorhus](http://sindresorhus.com) 42 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/array-uniq/readme.md: -------------------------------------------------------------------------------- 1 | # array-uniq [![Build Status](https://travis-ci.org/sindresorhus/array-uniq.svg?branch=master)](https://travis-ci.org/sindresorhus/array-uniq) 2 | 3 | > Create an array without duplicates 4 | 5 | It's already pretty fast, but will be much faster when [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) becomes available in V8 (especially with large arrays). 6 | 7 | 8 | ## Install 9 | 10 | ``` 11 | $ npm install --save array-uniq 12 | ``` 13 | 14 | 15 | ## Usage 16 | 17 | ```js 18 | const arrayUniq = require('array-uniq'); 19 | 20 | arrayUniq([1, 1, 2, 3, 3]); 21 | //=> [1, 2, 3] 22 | 23 | arrayUniq(['foo', 'foo', 'bar', 'foo']); 24 | //=> ['foo', 'bar'] 25 | ``` 26 | 27 | 28 | ## License 29 | 30 | MIT © [Sindre Sorhus](https://sindresorhus.com) 31 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/escape-string-regexp/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; 4 | 5 | module.exports = function (str) { 6 | if (typeof str !== 'string') { 7 | throw new TypeError('Expected a string'); 8 | } 9 | 10 | return str.replace(matchOperatorsRe, '\\$&'); 11 | }; 12 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/escape-string-regexp/readme.md: -------------------------------------------------------------------------------- 1 | # escape-string-regexp [![Build Status](https://travis-ci.org/sindresorhus/escape-string-regexp.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-string-regexp) 2 | 3 | > Escape RegExp special characters 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save escape-string-regexp 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | const escapeStringRegexp = require('escape-string-regexp'); 17 | 18 | const escapedString = escapeStringRegexp('how much $ for a unicorn?'); 19 | //=> 'how much \$ for a unicorn\?' 20 | 21 | new RegExp(escapedString); 22 | ``` 23 | 24 | 25 | ## License 26 | 27 | MIT © [Sindre Sorhus](http://sindresorhus.com) 28 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/has-ansi/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ansiRegex = require('ansi-regex'); 3 | var re = new RegExp(ansiRegex().source); // remove the `g` flag 4 | module.exports = re.test.bind(re); 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function () { 3 | return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g; 4 | }; 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md: -------------------------------------------------------------------------------- 1 | # ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex) 2 | 3 | > Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save ansi-regex 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var ansiRegex = require('ansi-regex'); 17 | 18 | ansiRegex().test('\u001b[4mcake\u001b[0m'); 19 | //=> true 20 | 21 | ansiRegex().test('cake'); 22 | //=> false 23 | 24 | '\u001b[4mcake\u001b[0m'.match(ansiRegex()); 25 | //=> ['\u001b[4m', '\u001b[0m'] 26 | ``` 27 | 28 | 29 | ## License 30 | 31 | MIT © [Sindre Sorhus](http://sindresorhus.com) 32 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/strip-ansi/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ansiRegex = require('ansi-regex')(); 3 | 4 | module.exports = function (str) { 5 | return typeof str === 'string' ? str.replace(ansiRegex, '') : str; 6 | }; 7 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function () { 3 | return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g; 4 | }; 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md: -------------------------------------------------------------------------------- 1 | # ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex) 2 | 3 | > Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save ansi-regex 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var ansiRegex = require('ansi-regex'); 17 | 18 | ansiRegex().test('\u001b[4mcake\u001b[0m'); 19 | //=> true 20 | 21 | ansiRegex().test('cake'); 22 | //=> false 23 | 24 | '\u001b[4mcake\u001b[0m'.match(ansiRegex()); 25 | //=> ['\u001b[4m', '\u001b[0m'] 26 | ``` 27 | 28 | 29 | ## License 30 | 31 | MIT © [Sindre Sorhus](http://sindresorhus.com) 32 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/chalk/node_modules/strip-ansi/readme.md: -------------------------------------------------------------------------------- 1 | # strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) 2 | 3 | > Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save strip-ansi 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var stripAnsi = require('strip-ansi'); 17 | 18 | stripAnsi('\u001b[4mcake\u001b[0m'); 19 | //=> 'cake' 20 | ``` 21 | 22 | 23 | ## Related 24 | 25 | - [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module 26 | - [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes 27 | - [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes 28 | - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right 29 | 30 | 31 | ## License 32 | 33 | MIT © [Sindre Sorhus](http://sindresorhus.com) 34 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/.npmignore: -------------------------------------------------------------------------------- 1 | # .gitignore 2 | # 3 | # Copyright (c) 2014 Charlike Mike Reagent, contributors. 4 | # Released under the MIT license. 5 | # 6 | 7 | # Always-ignore dirs # 8 | # #################### 9 | _gh_pages 10 | node_modules 11 | bower_components 12 | components 13 | vendor 14 | build 15 | dest 16 | dist 17 | src 18 | lib-cov 19 | coverage 20 | nbproject 21 | cache 22 | temp 23 | tmp 24 | 25 | # Packages # 26 | # ########## 27 | *.7z 28 | *.dmg 29 | *.gz 30 | *.iso 31 | *.jar 32 | *.rar 33 | *.tar 34 | *.zip 35 | 36 | # OS, Logs and databases # 37 | # ######################### 38 | *.pid 39 | *.dat 40 | *.log 41 | *.sql 42 | *.sqlite 43 | *~ 44 | ~* 45 | 46 | # Another files # 47 | # ############### 48 | Icon? 49 | .DS_Store* 50 | Thumbs.db 51 | ehthumbs.db 52 | Desktop.ini 53 | npm-debug.log 54 | .directory 55 | ._* 56 | 57 | koa-better-body -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/get-stdin/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function (cb) { 4 | var stdin = process.stdin; 5 | var ret = ''; 6 | 7 | if (stdin.isTTY) { 8 | setImmediate(cb, ''); 9 | return; 10 | } 11 | 12 | stdin.setEncoding('utf8'); 13 | 14 | stdin.on('readable', function () { 15 | var chunk; 16 | 17 | while (chunk = stdin.read()) { 18 | ret += chunk; 19 | } 20 | }); 21 | 22 | stdin.on('end', function () { 23 | cb(ret); 24 | }); 25 | }; 26 | 27 | module.exports.buffer = function (cb) { 28 | var stdin = process.stdin; 29 | var ret = []; 30 | var len = 0; 31 | 32 | if (stdin.isTTY) { 33 | setImmediate(cb, new Buffer('')); 34 | return; 35 | } 36 | 37 | stdin.on('readable', function () { 38 | var chunk; 39 | 40 | while (chunk = stdin.read()) { 41 | ret.push(chunk); 42 | len += chunk.length; 43 | } 44 | }); 45 | 46 | stdin.on('end', function () { 47 | cb(Buffer.concat(ret, len)); 48 | }); 49 | }; 50 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/get-stdin/readme.md: -------------------------------------------------------------------------------- 1 | # get-stdin [![Build Status](https://travis-ci.org/sindresorhus/get-stdin.svg?branch=master)](https://travis-ci.org/sindresorhus/get-stdin) 2 | 3 | > Easier stdin 4 | 5 | 6 | ## Install 7 | 8 | ```sh 9 | $ npm install --save get-stdin 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | // example.js 17 | var stdin = require('get-stdin'); 18 | 19 | stdin(function (data) { 20 | console.log(data); 21 | //=> unicorns 22 | }); 23 | ``` 24 | 25 | ```sh 26 | $ echo unicorns | node example.js 27 | unicorns 28 | ``` 29 | 30 | 31 | ## API 32 | 33 | ### stdin(callback) 34 | 35 | Get `stdin` as a string. 36 | 37 | ### stdin.buffer(callback) 38 | 39 | Get `stdin` as a buffer. 40 | 41 | 42 | ## License 43 | 44 | MIT © [Sindre Sorhus](http://sindresorhus.com) 45 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var mapObj = require('map-obj'); 3 | var camelCase = require('camelcase'); 4 | 5 | module.exports = function (input, options) { 6 | options = options || {}; 7 | var exclude = options.exclude || []; 8 | return mapObj(input, function (key, val) { 9 | key = exclude.indexOf(key) === -1 ? camelCase(key) : key; 10 | return [key, val]; 11 | }); 12 | }; 13 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/decamelize/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (str, sep) { 3 | if (typeof str !== 'string') { 4 | throw new TypeError('Expected a string'); 5 | } 6 | 7 | sep = typeof sep === 'undefined' ? '_' : sep; 8 | 9 | return str 10 | .replace(/([a-z\d])([A-Z])/g, '$1' + sep + '$2') 11 | .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + sep + '$2') 12 | .toLowerCase(); 13 | }; 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/api.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var util = require('util'); 3 | var currentlyUnhandled = require('currently-unhandled'); 4 | 5 | // WARNING: This undocumented API is subject to change. 6 | 7 | module.exports = util.deprecate(function (process) { 8 | return { 9 | currentlyUnhandled: currentlyUnhandled(process) 10 | }; 11 | }, 'loudRejection/api is deprecated. Use the currently-unhandled module instead.'); 12 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var util = require('util'); 3 | var onExit = require('signal-exit'); 4 | var currentlyUnhandled = require('currently-unhandled'); 5 | 6 | var installed = false; 7 | 8 | module.exports = function (log) { 9 | if (installed) { 10 | return; 11 | } 12 | 13 | installed = true; 14 | 15 | log = log || console.error; 16 | 17 | var listUnhandled = currentlyUnhandled(); 18 | 19 | onExit(function () { 20 | var unhandledRejections = listUnhandled(); 21 | 22 | if (unhandledRejections.length > 0) { 23 | unhandledRejections.forEach(function (x) { 24 | var err = x.reason; 25 | 26 | if (!(err instanceof Error)) { 27 | err = new Error('Promise rejected with value: ' + util.inspect(err)); 28 | } 29 | 30 | log(err.stack); 31 | }); 32 | 33 | process.exitCode = 1; 34 | } 35 | }); 36 | }; 37 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/currently-unhandled/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var core = require('./core'); 3 | 4 | function unwrapEvent(event) { 5 | if (event && event.detail && event.detail.promise) { 6 | return event.detail; 7 | } 8 | 9 | return event; 10 | } 11 | 12 | module.exports = function (w) { 13 | w = w || window; 14 | var c = core(); 15 | 16 | w.addEventListener('unhandledrejection', function (event) { 17 | event = unwrapEvent(event); 18 | c.onUnhandledRejection(event.reason, event.promise); 19 | }); 20 | 21 | w.addEventListener('rejectionhandled', function (event) { 22 | event = unwrapEvent(event); 23 | c.onRejectionHandled(event.promise); 24 | }); 25 | 26 | return c.currentlyUnhandled; 27 | }; 28 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/currently-unhandled/core.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var arrayFindIndex = require('array-find-index'); 3 | 4 | module.exports = function () { 5 | var unhandledRejections = []; 6 | 7 | function onUnhandledRejection(reason, promise) { 8 | unhandledRejections.push({reason: reason, promise: promise}); 9 | } 10 | 11 | function onRejectionHandled(promise) { 12 | var index = arrayFindIndex(unhandledRejections, function (x) { 13 | return x.promise === promise; 14 | }); 15 | 16 | unhandledRejections.splice(index, 1); 17 | } 18 | 19 | function currentlyUnhandled() { 20 | return unhandledRejections.map(function (entry) { 21 | return { 22 | reason: entry.reason, 23 | promise: entry.promise 24 | }; 25 | }); 26 | } 27 | 28 | return { 29 | onUnhandledRejection: onUnhandledRejection, 30 | onRejectionHandled: onRejectionHandled, 31 | currentlyUnhandled: currentlyUnhandled 32 | }; 33 | }; 34 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/currently-unhandled/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var core = require('./core'); 3 | 4 | module.exports = function (p) { 5 | p = p || process; 6 | var c = core(); 7 | 8 | p.on('unhandledRejection', c.onUnhandledRejection); 9 | p.on('rejectionHandled', c.onRejectionHandled); 10 | 11 | return c.currentlyUnhandled; 12 | }; 13 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/currently-unhandled/node_modules/array-find-index/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (arr, predicate, ctx) { 3 | if (typeof Array.prototype.findIndex === 'function') { 4 | return arr.findIndex(predicate, ctx); 5 | } 6 | 7 | if (typeof predicate !== 'function') { 8 | throw new TypeError('predicate must be a function'); 9 | } 10 | 11 | var list = Object(arr); 12 | var len = list.length; 13 | 14 | if (len === 0) { 15 | return -1; 16 | } 17 | 18 | for (var i = 0; i < len; i++) { 19 | if (predicate.call(ctx, list[i], i, list)) { 20 | return i; 21 | } 22 | } 23 | 24 | return -1; 25 | }; 26 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/currently-unhandled/node_modules/array-find-index/readme.md: -------------------------------------------------------------------------------- 1 | # array-find-index [![Build Status](https://travis-ci.org/sindresorhus/array-find-index.svg?branch=master)](https://travis-ci.org/sindresorhus/array-find-index) 2 | 3 | > ES2015 [`Array#findIndex()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex) [ponyfill](https://ponyfill.com) 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save array-find-index 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | const arrayFindIndex = require('array-find-index'); 17 | 18 | arrayFindIndex(['rainbow', 'unicorn', 'pony'], x => x === 'unicorn'); 19 | //=> 1 20 | ``` 21 | 22 | 23 | ## API 24 | 25 | Same as `Array#findIndex()`, but with the input array as the first argument. 26 | 27 | 28 | ## License 29 | 30 | MIT © [Sindre Sorhus](https://sindresorhus.com) 31 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) 2015, Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software 6 | for any purpose with or without fee is hereby granted, provided 7 | that the above copyright notice and this permission notice 8 | appear in all copies. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 12 | OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE 13 | LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES 14 | OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 15 | WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 16 | ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/register.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | require('./')(); 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/map-obj/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (obj, cb) { 3 | var ret = {}; 4 | var keys = Object.keys(obj); 5 | 6 | for (var i = 0; i < keys.length; i++) { 7 | var key = keys[i]; 8 | var res = cb(key, obj[key], obj); 9 | ret[res[0]] = res[1]; 10 | } 11 | 12 | return ret; 13 | }; 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/map-obj/readme.md: -------------------------------------------------------------------------------- 1 | # map-obj [![Build Status](https://travis-ci.org/sindresorhus/map-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/map-obj) 2 | 3 | > Map object keys and values into a new object 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save map-obj 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var mapObj = require('map-obj'); 17 | 18 | var newObject = mapObj({foo: 'bar'}, function (key, value, object) { 19 | // first element is the new key and second is the new value 20 | // here we reverse the order 21 | return [value, key]; 22 | }); 23 | //=> {bar: 'foo'} 24 | ``` 25 | 26 | 27 | ## License 28 | 29 | MIT © [Sindre Sorhus](http://sindresorhus.com) 30 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules/ -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names sorted by how much code was originally theirs. 2 | Isaac Z. Schlueter 3 | Meryn Stol 4 | Robert Kowalski -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/extract_description.js: -------------------------------------------------------------------------------- 1 | module.exports = extractDescription 2 | 3 | // Extracts description from contents of a readme file in markdown format 4 | function extractDescription (d) { 5 | if (!d) return; 6 | if (d === "ERROR: No README data found!") return; 7 | // the first block of text before the first heading 8 | // that isn't the first line heading 9 | d = d.trim().split('\n') 10 | for (var s = 0; d[s] && d[s].trim().match(/^(#|$)/); s ++); 11 | var l = d.length 12 | for (var e = s + 1; e < l && d[e].trim(); e ++); 13 | return d.slice(s, e).join(' ').trim() 14 | } 15 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/make_warning.js: -------------------------------------------------------------------------------- 1 | var util = require("util") 2 | var messages = require("./warning_messages.json") 3 | 4 | module.exports = function() { 5 | var args = Array.prototype.slice.call(arguments, 0) 6 | var warningName = args.shift() 7 | if (warningName == "typo") { 8 | return makeTypoWarning.apply(null,args) 9 | } 10 | else { 11 | var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'" 12 | args.unshift(msgTemplate) 13 | return util.format.apply(null, args) 14 | } 15 | } 16 | 17 | function makeTypoWarning (providedName, probableName, field) { 18 | if (field) { 19 | providedName = field + "['" + providedName + "']" 20 | probableName = field + "['" + probableName + "']" 21 | } 22 | return util.format(messages.typo, providedName, probableName) 23 | } -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/safe_format.js: -------------------------------------------------------------------------------- 1 | var util = require('util') 2 | 3 | module.exports = function() { 4 | var args = Array.prototype.slice.call(arguments, 0) 5 | args.forEach(function(arg) { 6 | if (!arg) throw new TypeError('Bad arguments.') 7 | }) 8 | return util.format.apply(null, arguments) 9 | } -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/typos.json: -------------------------------------------------------------------------------- 1 | { 2 | "topLevel": { 3 | "dependancies": "dependencies" 4 | ,"dependecies": "dependencies" 5 | ,"depdenencies": "dependencies" 6 | ,"devEependencies": "devDependencies" 7 | ,"depends": "dependencies" 8 | ,"dev-dependencies": "devDependencies" 9 | ,"devDependences": "devDependencies" 10 | ,"devDepenencies": "devDependencies" 11 | ,"devdependencies": "devDependencies" 12 | ,"repostitory": "repository" 13 | ,"repo": "repository" 14 | ,"prefereGlobal": "preferGlobal" 15 | ,"hompage": "homepage" 16 | ,"hampage": "homepage" 17 | ,"autohr": "author" 18 | ,"autor": "author" 19 | ,"contributers": "contributors" 20 | ,"publicationConfig": "publishConfig" 21 | ,"script": "scripts" 22 | }, 23 | "bugs": { "web": "url", "name": "url" }, 24 | "script": { "server": "start", "tests": "test" } 25 | } 26 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../semver/bin/semver" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../semver/bin/semver" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/.bin/semver.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\semver\bin\semver" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\semver\bin\semver" %* 7 | ) -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .travis.yml 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Rebecca Turner 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 9 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 11 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 12 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 13 | PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var builtinModules = require('builtin-modules'); 3 | 4 | module.exports = function (str) { 5 | if (typeof str !== 'string') { 6 | throw new TypeError('Expected a string'); 7 | } 8 | 9 | return builtinModules.indexOf(str) !== -1; 10 | }; 11 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/builtin-modules.json: -------------------------------------------------------------------------------- 1 | [ 2 | "assert", 3 | "buffer", 4 | "child_process", 5 | "cluster", 6 | "console", 7 | "constants", 8 | "crypto", 9 | "dgram", 10 | "dns", 11 | "domain", 12 | "events", 13 | "fs", 14 | "http", 15 | "https", 16 | "module", 17 | "net", 18 | "os", 19 | "path", 20 | "process", 21 | "punycode", 22 | "querystring", 23 | "readline", 24 | "repl", 25 | "stream", 26 | "string_decoder", 27 | "timers", 28 | "tls", 29 | "tty", 30 | "url", 31 | "util", 32 | "v8", 33 | "vm", 34 | "zlib" 35 | ] 36 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var blacklist = [ 4 | 'freelist', 5 | 'sys' 6 | ]; 7 | 8 | module.exports = Object.keys(process.binding('natives')).filter(function (el) { 9 | return !/^_|^internal|\//.test(el) && blacklist.indexOf(el) === -1; 10 | }).sort(); 11 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/static.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./builtin-modules.json'); 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/readme.md: -------------------------------------------------------------------------------- 1 | # is-builtin-module [![Build Status](https://travis-ci.org/sindresorhus/is-builtin-module.svg?branch=master)](https://travis-ci.org/sindresorhus/is-builtin-module) 2 | 3 | > Check if a string matches the name of a Node.js builtin module 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save is-builtin-module 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var isBuiltinModule = require('is-builtin-module'); 17 | 18 | isBuiltinModule('fs'); 19 | //=> true 20 | 21 | isBuiltinModule('unicorn'); 22 | //=> false :( 23 | ``` 24 | 25 | 26 | ## Related 27 | 28 | - [builtin-modules](https://github.com/sindresorhus/builtin-modules) - List of the Node.js builtin modules 29 | 30 | 31 | ## License 32 | 33 | MIT © [Sindre Sorhus](http://sindresorhus.com) 34 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/semver/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/semver/range.bnf: -------------------------------------------------------------------------------- 1 | range-set ::= range ( logical-or range ) * 2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) * 3 | range ::= hyphen | simple ( ' ' simple ) * | '' 4 | hyphen ::= partial ' - ' partial 5 | simple ::= primitive | partial | tilde | caret 6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial 7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? 8 | xr ::= 'x' | 'X' | '*' | nr 9 | nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * 10 | tilde ::= '~' partial 11 | caret ::= '^' partial 12 | qualifier ::= ( '-' pre )? ( '+' build )? 13 | pre ::= parts 14 | build ::= parts 15 | parts ::= part ( '.' part ) * 16 | part ::= nr | [-0-9A-Za-z]+ 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/README.md: -------------------------------------------------------------------------------- 1 | ```javascript 2 | var correct = require('spdx-correct'); 3 | var assert = require('assert'); 4 | 5 | assert.equal(correct('mit'), 'MIT') 6 | 7 | assert.equal(correct('Apache 2'), 'Apache-2.0') 8 | 9 | assert(correct('No idea what license') === null) 10 | ``` 11 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/AUTHORS: -------------------------------------------------------------------------------- 1 | C. Scott Ananian (http://cscott.net) 2 | Kyle E. Mitchell (https://kemitchell.com) 3 | Shinnosuke Watanabe 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js: -------------------------------------------------------------------------------- 1 | var parser = require('./parser').parser 2 | 3 | module.exports = function (argument) { 4 | return parser.parse(argument) 5 | } 6 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/badscripts.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bad-scripts-package", 3 | "version": "0.0.1", 4 | "scripts": "foo" 5 | } 6 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/movefile.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "movefile", 3 | "description": "rename implementation working over devices", 4 | "version": "0.2.0", 5 | "author": "yazgazan ", 6 | "main": "./build/Release/movefile", 7 | "keywords": ["move", "file", "rename"], 8 | "repository": "git://github.com/yazgazan/movefile.git", 9 | "directories": { 10 | "lib": "./build/Release/" 11 | }, 12 | "scripts": { 13 | "install": "./node_modules/node-gyp/bin/node-gyp.js configure && ./node_modules/node-gyp/bin/node-gyp.js build" 14 | }, 15 | "engines": { 16 | "node": "*" 17 | }, 18 | "dependencies": { 19 | "node-gyp": "~0.9.1" 20 | } 21 | } -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/no-description.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foo-bar-package", 3 | "version": "0.0.1" 4 | } -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/node-module_exist.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-module_exist", 3 | "description": "Find if a NodeJS module is available to require or not", 4 | "version": "0.0.1", 5 | "main": "module_exist.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git@gist.github.com:3135914.git" 12 | }, 13 | "homepage": "https://github.com/FGRibreau", 14 | "author": { 15 | "name": "Francois-Guillaume Ribreau", 16 | "url": "http://fgribreau.com.com/" 17 | }, 18 | "devDependencies": { 19 | "nodeunit": "~0.7.4" 20 | }, 21 | "keywords": [ 22 | "core", 23 | "modules" 24 | ], 25 | "license": "MIT" 26 | } -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/read-package-json.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "read-package-json", 3 | "version": "0.1.1", 4 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 5 | "description": "The thing npm uses to read package.json files with semantics and defaults and validation", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/isaacs/read-package-json.git" 9 | }, 10 | "license": "MIT", 11 | "main": "read-json.js", 12 | "scripts": { 13 | "test": "tap test/*.js" 14 | }, 15 | "dependencies": { 16 | "glob": "~3.1.9", 17 | "lru-cache": "~1.1.0", 18 | "semver": "~1.0.14", 19 | "slide": "~1.1.3" 20 | }, 21 | "devDependencies": { 22 | "tap": "~0.2.5" 23 | }, 24 | "optionalDependencies": { 25 | "npmlog": "0", 26 | "graceful-fs": "~1.1.8" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/underscore.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "underscore", 3 | "description" : "JavaScript's functional programming helper library.", 4 | "homepage" : "http://underscorejs.org", 5 | "keywords" : ["util", "functional", "server", "client", "browser"], 6 | "author" : "Jeremy Ashkenas ", 7 | "repository" : {"type": "git", "url": "git://github.com/documentcloud/underscore.git"}, 8 | "main" : "underscore.js", 9 | "version" : "1.4.4", 10 | "devDependencies": { 11 | "phantomjs": "1.9.0-1" 12 | }, 13 | "scripts": { 14 | "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true" 15 | }, 16 | "license" : "MIT" 17 | } -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/mixedcase-names.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | 3 | var normalize = require('../') 4 | var fixer = normalize.fixer 5 | 6 | test('mixedcase', function (t) { 7 | t.doesNotThrow(function () { 8 | fixer.fixNameField({name: 'foo'}, true) 9 | }) 10 | 11 | t.doesNotThrow(function () { 12 | fixer.fixNameField({name: 'foo'}, false) 13 | }) 14 | 15 | t.doesNotThrow(function () { 16 | fixer.fixNameField({name: 'foo'}) 17 | }) 18 | 19 | t.throws(function () { 20 | fixer.fixNameField({name: 'Foo'}, true) 21 | }, new Error('Invalid name: "Foo"'), 'should throw an error') 22 | 23 | t.throws(function () { 24 | fixer.fixNameField({name: 'Foo'}, {strict: true}) 25 | }, new Error('Invalid name: "Foo"'), 'should throw an error') 26 | 27 | t.doesNotThrow(function () { 28 | fixer.fixNameField({name: 'Foo'}, {strict: true, allowLegacyCase: true}) 29 | }) 30 | 31 | t.end() 32 | }) 33 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/scripts.js: -------------------------------------------------------------------------------- 1 | var tap = require("tap") 2 | var normalize = require("../lib/normalize") 3 | var path = require("path") 4 | var fs = require("fs") 5 | 6 | tap.test("bad scripts", function (t) { 7 | var p = path.resolve(__dirname, "./fixtures/badscripts.json") 8 | fs.readFile (p, function (err, contents) { 9 | if (err) throw err 10 | var originalData = JSON.parse(contents.toString()) 11 | var data = JSON.parse(contents.toString()) 12 | normalize(data) 13 | t.ok(data) 14 | verifyFields(t, data, originalData) 15 | t.end() 16 | }) 17 | }) 18 | 19 | function verifyFields (t, normalized, original) { 20 | t.equal(normalized.version, original.version, "Version field stays same") 21 | t.equal(normalized.name, original.name, "Name stays the same.") 22 | // scripts is not an object, so it should be deleted 23 | t.notOk(normalized.scripts) 24 | } 25 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var findUp = require('find-up'); 3 | var readPkg = require('read-pkg'); 4 | 5 | module.exports = function (opts) { 6 | return findUp('package.json', opts).then(function (fp) { 7 | if (!fp) { 8 | return {}; 9 | } 10 | 11 | return readPkg(fp, opts).then(function (pkg) { 12 | return { 13 | pkg: pkg, 14 | path: fp 15 | }; 16 | }); 17 | }); 18 | }; 19 | 20 | module.exports.sync = function (opts) { 21 | var fp = findUp.sync('package.json', opts); 22 | 23 | if (!fp) { 24 | return {}; 25 | } 26 | 27 | return { 28 | pkg: readPkg.sync(fp, opts), 29 | path: fp 30 | }; 31 | }; 32 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/path-exists/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var fs = require('fs'); 3 | var Promise = require('pinkie-promise'); 4 | 5 | module.exports = function (fp) { 6 | var fn = typeof fs.access === 'function' ? fs.access : fs.stat; 7 | 8 | return new Promise(function (resolve) { 9 | fn(fp, function (err) { 10 | resolve(!err); 11 | }); 12 | }); 13 | }; 14 | 15 | module.exports.sync = function (fp) { 16 | var fn = typeof fs.accessSync === 'function' ? fs.accessSync : fs.statSync; 17 | 18 | try { 19 | fn(fp); 20 | return true; 21 | } catch (err) { 22 | return false; 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = typeof Promise === 'function' ? Promise : require('pinkie'); 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/readme.md: -------------------------------------------------------------------------------- 1 | # pinkie-promise [![Build Status](https://travis-ci.org/floatdrop/pinkie-promise.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie-promise) 2 | 3 | > [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) ponyfill 4 | 5 | Module exports global Promise object (if available) or [`pinkie`](http://github.com/floatdrop/pinkie) Promise polyfill. 6 | 7 | ## Install 8 | 9 | ``` 10 | $ npm install --save pinkie-promise 11 | ``` 12 | 13 | ## Usage 14 | 15 | ```js 16 | var Promise = require('pinkie-promise'); 17 | 18 | new Promise(function (resolve) { resolve('unicorns'); }); 19 | //=> Promise { 'unicorns' } 20 | ``` 21 | 22 | ## Related 23 | 24 | - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function 25 | 26 | ## License 27 | 28 | MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop) 29 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var path = require('path'); 3 | var fs = require('graceful-fs'); 4 | var stripBom = require('strip-bom'); 5 | var parseJson = require('parse-json'); 6 | var Promise = require('pinkie-promise'); 7 | var pify = require('pify'); 8 | 9 | function parse(x, fp) { 10 | return parseJson(stripBom(x), path.relative(process.cwd(), fp)); 11 | } 12 | 13 | module.exports = function (fp) { 14 | return pify(fs.readFile, Promise)(fp, 'utf8').then(function (data) { 15 | return parse(data, fp); 16 | }); 17 | }; 18 | 19 | module.exports.sync = function (fp) { 20 | return parse(fs.readFileSync(fp, 'utf8'), fp); 21 | }; 22 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/fs.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var fs = require('fs') 4 | 5 | module.exports = clone(fs) 6 | 7 | function clone (obj) { 8 | if (obj === null || typeof obj !== 'object') 9 | return obj 10 | 11 | if (obj instanceof Object) 12 | var copy = { __proto__: obj.__proto__ } 13 | else 14 | var copy = Object.create(null) 15 | 16 | Object.getOwnPropertyNames(obj).forEach(function (key) { 17 | Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) 18 | }) 19 | 20 | return copy 21 | } 22 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var errorEx = require('error-ex'); 3 | var fallback = require('./vendor/parse'); 4 | 5 | var JSONError = errorEx('JSONError', { 6 | fileName: errorEx.append('in %s') 7 | }); 8 | 9 | module.exports = function (x, reviver, filename) { 10 | if (typeof reviver === 'string') { 11 | filename = reviver; 12 | reviver = null; 13 | } 14 | 15 | try { 16 | try { 17 | return JSON.parse(x, reviver); 18 | } catch (err) { 19 | fallback.parse(x, { 20 | mode: 'json', 21 | reviver: reviver 22 | }); 23 | 24 | throw err; 25 | } 26 | } catch (err) { 27 | var jsonErr = new JSONError(err); 28 | 29 | if (filename) { 30 | jsonErr.fileName = filename; 31 | } 32 | 33 | throw jsonErr; 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = typeof Promise === 'function' ? Promise : require('pinkie'); 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/readme.md: -------------------------------------------------------------------------------- 1 | # pinkie-promise [![Build Status](https://travis-ci.org/floatdrop/pinkie-promise.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie-promise) 2 | 3 | > [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) ponyfill 4 | 5 | Module exports global Promise object (if available) or [`pinkie`](http://github.com/floatdrop/pinkie) Promise polyfill. 6 | 7 | ## Install 8 | 9 | ``` 10 | $ npm install --save pinkie-promise 11 | ``` 12 | 13 | ## Usage 14 | 15 | ```js 16 | var Promise = require('pinkie-promise'); 17 | 18 | new Promise(function (resolve) { resolve('unicorns'); }); 19 | //=> Promise { 'unicorns' } 20 | ``` 21 | 22 | ## Related 23 | 24 | - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function 25 | 26 | ## License 27 | 28 | MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop) 29 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var isUtf8 = require('is-utf8'); 3 | 4 | module.exports = function (x) { 5 | // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string 6 | // conversion translates it to FEFF (UTF-16 BOM) 7 | if (typeof x === 'string' && x.charCodeAt(0) === 0xFEFF) { 8 | return x.slice(1); 9 | } 10 | 11 | if (Buffer.isBuffer(x) && isUtf8(x) && 12 | x[0] === 0xEF && x[1] === 0xBB && x[2] === 0xBF) { 13 | return x.slice(3); 14 | } 15 | 16 | return x; 17 | }; 18 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/README.md: -------------------------------------------------------------------------------- 1 | #utf8 detector 2 | 3 | Detect if a Buffer is utf8 encoded. 4 | It need The minimum amount of bytes is 4. 5 | 6 | 7 | ```javascript 8 | var fs = require('fs'); 9 | var isUtf8 = require('is-utf8'); 10 | var ansi = fs.readFileSync('ansi.txt'); 11 | var utf8 = fs.readFileSync('utf8.txt'); 12 | 13 | console.log('ansi.txt is utf8: '+isUtf8(ansi)); //false 14 | console.log('utf8.txt is utf8: '+isUtf8(utf8)); //true 15 | ``` 16 | 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/fs.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var fs = require('fs') 4 | 5 | module.exports = clone(fs) 6 | 7 | function clone (obj) { 8 | if (obj === null || typeof obj !== 'object') 9 | return obj 10 | 11 | if (obj instanceof Object) 12 | var copy = { __proto__: obj.__proto__ } 13 | else 14 | var copy = Object.create(null) 15 | 16 | Object.getOwnPropertyNames(obj).forEach(function (key) { 17 | Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) 18 | }) 19 | 20 | return copy 21 | } 22 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = typeof Promise === 'function' ? Promise : require('pinkie'); 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/readme.md: -------------------------------------------------------------------------------- 1 | # pinkie-promise [![Build Status](https://travis-ci.org/floatdrop/pinkie-promise.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie-promise) 2 | 3 | > [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) ponyfill 4 | 5 | Module exports global Promise object (if available) or [`pinkie`](http://github.com/floatdrop/pinkie) Promise polyfill. 6 | 7 | ## Install 8 | 9 | ``` 10 | $ npm install --save pinkie-promise 11 | ``` 12 | 13 | ## Usage 14 | 15 | ```js 16 | var Promise = require('pinkie-promise'); 17 | 18 | new Promise(function (resolve) { resolve('unicorns'); }); 19 | //=> Promise { 'unicorns' } 20 | ``` 21 | 22 | ## Related 23 | 24 | - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function 25 | 26 | ## License 27 | 28 | MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop) 29 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var stripIndent = require('strip-indent'); 3 | var indentString = require('indent-string'); 4 | 5 | module.exports = function (str, count, indent) { 6 | return indentString(stripIndent(str), indent || ' ', count || 0); 7 | }; 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/.bin/strip-indent: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../strip-indent/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../strip-indent/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/.bin/strip-indent.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\strip-indent\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\strip-indent\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var repeating = require('repeating'); 3 | 4 | module.exports = function (str, indent, count) { 5 | if (typeof str !== 'string' || typeof indent !== 'string') { 6 | throw new TypeError('`string` and `indent` should be strings'); 7 | } 8 | 9 | if (count != null && typeof count !== 'number') { 10 | throw new TypeError('`count` should be a number'); 11 | } 12 | 13 | if (count === 0) { 14 | return str; 15 | } 16 | 17 | indent = count > 1 ? repeating(indent, count) : indent; 18 | 19 | return str.replace(/^(?!\s*$)/mg, indent); 20 | }; 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var isFinite = require('is-finite'); 3 | 4 | module.exports = function (str, n) { 5 | if (typeof str !== 'string') { 6 | throw new TypeError('Expected `input` to be a string'); 7 | } 8 | 9 | if (n < 0 || !isFinite(n)) { 10 | throw new TypeError('Expected `count` to be a positive finite number'); 11 | } 12 | 13 | var ret = ''; 14 | 15 | do { 16 | if (n & 1) { 17 | ret += str; 18 | } 19 | 20 | str += str; 21 | } while ((n >>= 1)); 22 | 23 | return ret; 24 | }; 25 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var numberIsNan = require('number-is-nan'); 3 | 4 | module.exports = Number.isFinite || function (val) { 5 | return !(typeof val !== 'number' || numberIsNan(val) || val === Infinity || val === -Infinity); 6 | }; 7 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = Number.isNaN || function (x) { 3 | return x !== x; 4 | }; 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan/readme.md: -------------------------------------------------------------------------------- 1 | # number-is-nan [![Build Status](https://travis-ci.org/sindresorhus/number-is-nan.svg?branch=master)](https://travis-ci.org/sindresorhus/number-is-nan) 2 | 3 | > ES2015 [`Number.isNaN()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN) [ponyfill](https://ponyfill.com) 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save number-is-nan 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var numberIsNan = require('number-is-nan'); 17 | 18 | numberIsNan(NaN); 19 | //=> true 20 | 21 | numberIsNan('unicorn'); 22 | //=> false 23 | ``` 24 | 25 | 26 | ## License 27 | 28 | MIT © [Sindre Sorhus](http://sindresorhus.com) 29 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/readme.md: -------------------------------------------------------------------------------- 1 | # is-finite [![Build Status](https://travis-ci.org/sindresorhus/is-finite.svg?branch=master)](https://travis-ci.org/sindresorhus/is-finite) 2 | 3 | > ES2015 [`Number.isFinite()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite) [ponyfill](https://ponyfill.com) 4 | 5 | 6 | ## Install 7 | 8 | ```sh 9 | $ npm install --save is-finite 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var numIsFinite = require('is-finite'); 17 | 18 | numIsFinite(4); 19 | //=> true 20 | 21 | numIsFinite(Infinity); 22 | //=> false 23 | ``` 24 | 25 | 26 | ## License 27 | 28 | MIT © [Sindre Sorhus](http://sindresorhus.com) 29 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (str) { 3 | var match = str.match(/^[ \t]*(?=\S)/gm); 4 | 5 | if (!match) { 6 | return str; 7 | } 8 | 9 | var indent = Math.min.apply(Math, match.map(function (el) { 10 | return el.length; 11 | })); 12 | 13 | var re = new RegExp('^[ \\t]{' + indent + '}', 'gm'); 14 | 15 | return indent > 0 ? str.replace(re, '') : str; 16 | }; 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/trim-newlines/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var fn = module.exports = function (x) { 4 | return fn.end(fn.start(x)); 5 | }; 6 | 7 | fn.start = function (x) { 8 | return x.replace(/^[\r\n]+/, ''); 9 | }; 10 | 11 | fn.end = function (x) { 12 | return x.replace(/[\r\n]+$/, ''); 13 | }; 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/test/test_dayofweek.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | 3 | var dateFormat = require('./../lib/dateformat'); 4 | 5 | describe('dayOfWeek', function() { 6 | it('should correctly format the timezone part', function(done) { 7 | var start = 10; // the 10 of March 2013 is a Sunday 8 | for(var dow = 1; dow <= 7; dow++){ 9 | var date = new Date('2013-03-' + (start + dow)); 10 | var N = dateFormat(date, 'N'); 11 | assert.strictEqual(N, String(dow)); 12 | } 13 | done(); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/test/test_isoutcdatetime.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | 3 | var dateFormat = require('./../lib/dateformat'); 4 | 5 | describe('isoUtcDateTime', function() { 6 | it('should correctly format the timezone part', function(done) { 7 | var actual = dateFormat('2014-06-02T13:23:21-08:00', 'isoUtcDateTime'); 8 | assert.strictEqual(actual, '2014-06-02T21:23:21Z'); 9 | done(); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/test/weekofyear/test_weekofyear.js: -------------------------------------------------------------------------------- 1 | var dateFormat = require('../lib/dateformat.js'); 2 | 3 | var val = process.argv[2] || new Date(); 4 | console.log(dateFormat(val, 'W')); 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/dateformat/test/weekofyear/test_weekofyear.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # this just takes php's date() function as a reference to check if week of year 4 | # is calculated correctly in the range from 1970 .. 2038 by brute force... 5 | 6 | SEQ="seq" 7 | SYSTEM=`uname` 8 | if [ "$SYSTEM" = "Darwin" ]; then 9 | SEQ="jot" 10 | fi 11 | 12 | for YEAR in {1970..2038}; do 13 | for MONTH in {1..12}; do 14 | DAYS=$(cal $MONTH $YEAR | egrep "28|29|30|31" |tail -1 |awk '{print $NF}') 15 | for DAY in $( $SEQ $DAYS ); do 16 | DATE=$YEAR-$MONTH-$DAY 17 | echo -n $DATE ... 18 | NODEVAL=$(node test_weekofyear.js $DATE) 19 | PHPVAL=$(php -r "echo intval(date('W', strtotime('$DATE')));") 20 | if [ "$NODEVAL" -ne "$PHPVAL" ]; then 21 | echo "MISMATCH: node: $NODEVAL vs php: $PHPVAL for date $DATE" 22 | else 23 | echo " OK" 24 | fi 25 | done 26 | done 27 | done 28 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/fancy-log/README.md: -------------------------------------------------------------------------------- 1 | # fancy-log 2 | 3 | [![Travis Build Status](https://img.shields.io/travis/js-cli/fancy-log.svg?branch=master&label=travis&style=flat-square)](https://travis-ci.org/js-cli/fancy-log) 4 | 5 | Log things, prefixed with a timestamp 6 | 7 | __This module was pulled out of gulp-util for use inside the CLI__ 8 | 9 | ## Usage 10 | 11 | ```js 12 | var log = require('fancy-log'); 13 | 14 | log('a message'); 15 | // [16:27:02] a message 16 | 17 | log.error('oh no!'); 18 | // [16:27:02] oh no! 19 | ``` 20 | 21 | ## API 22 | 23 | ### `log(msg...)` 24 | 25 | Logs the message as if you called `console.log` but prefixes the output with the 26 | current time in HH:MM:ss format. 27 | 28 | ### `log.error(msg...)` 29 | 30 | Logs ths message as if you called `console.error` but prefixes the output with the 31 | current time in HH:MM:ss format. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/fancy-log/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | Initial code from https://github.com/gulpjs/gulp-util/blob/v3.0.6/lib/log.js 4 | */ 5 | var chalk = require('chalk'); 6 | var timestamp = require('time-stamp'); 7 | 8 | function getTimestamp(){ 9 | return '['+chalk.grey(timestamp('HH:mm:ss'))+']'; 10 | } 11 | 12 | function log(){ 13 | var time = getTimestamp(); 14 | process.stdout.write(time + ' '); 15 | console.log.apply(console, arguments); 16 | return this; 17 | } 18 | 19 | function error(){ 20 | var time = getTimestamp(); 21 | process.stderr.write(time + ' '); 22 | console.error.apply(console, arguments); 23 | return this; 24 | } 25 | 26 | module.exports = log; 27 | module.exports.error = error; 28 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/gulplog/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # gulplog changelog 2 | 3 | ## 1.0.0 4 | 5 | - Initial release 6 | - No implementation changed since initial commit 7 | 8 | ## 0.0.0 9 | 10 | - Experimentation 11 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/gulplog/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var getLogger = require('glogg'); 4 | 5 | var logger = getLogger('gulplog'); 6 | 7 | module.exports = logger; 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var format = require('util').format; 4 | 5 | var sparkles = require('sparkles'); 6 | 7 | var levels = [ 8 | 'debug', 9 | 'info', 10 | 'warn', 11 | 'error' 12 | ]; 13 | 14 | function getLogger(namespace){ 15 | var logger = sparkles(namespace); 16 | 17 | levels.forEach(function(level){ 18 | logger[level] = makeLogLevel(level); 19 | }); 20 | 21 | return logger; 22 | } 23 | 24 | function makeLogLevel(level){ 25 | return function(msg){ 26 | if(typeof msg === 'string'){ 27 | msg = format.apply(null, arguments); 28 | } 29 | 30 | this.emit(level, msg); 31 | }; 32 | } 33 | 34 | module.exports = getLogger; 35 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/has-gulplog/README.md: -------------------------------------------------------------------------------- 1 | # has-gulplog 2 | Check if gulplog is available before attempting to use it 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/has-gulplog/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var sparkles = require('sparkles'); 4 | 5 | function hasGulplog(){ 6 | return sparkles.exists('gulplog'); 7 | } 8 | 9 | module.exports = hasGulplog; 10 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash._reescape/README.md: -------------------------------------------------------------------------------- 1 | # lodash._reescape v3.0.0 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `reEscape` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._reescape 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var reEscape = require('lodash._reescape'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._reescape) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash._reescape/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * lodash 3.0.0 (Custom Build) 3 | * Build: `lodash modern modularize exports="npm" -o ./` 4 | * Copyright 2012-2015 The Dojo Foundation 5 | * Based on Underscore.js 1.7.0 6 | * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 7 | * Available under MIT license 8 | */ 9 | 10 | /** Used to match template delimiters. */ 11 | var reEscape = /<%-([\s\S]+?)%>/g; 12 | 13 | module.exports = reEscape; 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash._reevaluate/README.md: -------------------------------------------------------------------------------- 1 | # lodash._reevaluate v3.0.0 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `reEvaluate` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._reevaluate 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var reEvaluate = require('lodash._reevaluate'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._reevaluate) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash._reevaluate/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * lodash 3.0.0 (Custom Build) 3 | * Build: `lodash modern modularize exports="npm" -o ./` 4 | * Copyright 2012-2015 The Dojo Foundation 5 | * Based on Underscore.js 1.7.0 6 | * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 7 | * Available under MIT license 8 | */ 9 | 10 | /** Used to match template delimiters. */ 11 | var reEvaluate = /<%([\s\S]+?)%>/g; 12 | 13 | module.exports = reEvaluate; 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash._reinterpolate/README.md: -------------------------------------------------------------------------------- 1 | # lodash._reinterpolate v3.0.0 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `reInterpolate` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._reinterpolate 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var reInterpolate = require('lodash._reinterpolate'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._reinterpolate) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash._reinterpolate/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * lodash 3.0.0 (Custom Build) 3 | * Build: `lodash modern modularize exports="npm" -o ./` 4 | * Copyright 2012-2015 The Dojo Foundation 5 | * Based on Underscore.js 1.7.0 6 | * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 7 | * Available under MIT license 8 | */ 9 | 10 | /** Used to match template delimiters. */ 11 | var reInterpolate = /<%=([\s\S]+?)%>/g; 12 | 13 | module.exports = reInterpolate; 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/README.md: -------------------------------------------------------------------------------- 1 | # lodash.template v3.6.2 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.template` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash.template 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var template = require('lodash.template'); 18 | ``` 19 | 20 | See the [documentation](https://lodash.com/docs#template) or [package source](https://github.com/lodash/lodash/blob/3.6.2-npm-packages/lodash.template) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basecopy/README.md: -------------------------------------------------------------------------------- 1 | # lodash._basecopy v3.0.1 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseCopy` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._basecopy 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var baseCopy = require('lodash._basecopy'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash._basecopy) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basetostring/README.md: -------------------------------------------------------------------------------- 1 | # lodash._basetostring v3.0.1 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseToString` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._basetostring 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var baseToString = require('lodash._basetostring'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash._basetostring) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basetostring/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * lodash 3.0.1 (Custom Build) 3 | * Build: `lodash modern modularize exports="npm" -o ./` 4 | * Copyright 2012-2015 The Dojo Foundation 5 | * Based on Underscore.js 1.8.3 6 | * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 7 | * Available under MIT license 8 | */ 9 | 10 | /** 11 | * Converts `value` to a string if it's not one. An empty string is returned 12 | * for `null` or `undefined` values. 13 | * 14 | * @private 15 | * @param {*} value The value to process. 16 | * @returns {string} Returns the string. 17 | */ 18 | function baseToString(value) { 19 | return value == null ? '' : (value + ''); 20 | } 21 | 22 | module.exports = baseToString; 23 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basevalues/README.md: -------------------------------------------------------------------------------- 1 | # lodash._basevalues v3.0.0 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseValues` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._basevalues 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var baseValues = require('lodash._basevalues'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._basevalues) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._isiterateecall/README.md: -------------------------------------------------------------------------------- 1 | # lodash._isiterateecall v3.0.9 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `isIterateeCall` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._isiterateecall 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var isIterateeCall = require('lodash._isiterateecall'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.0.9-npm-packages/lodash._isiterateecall) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/README.md: -------------------------------------------------------------------------------- 1 | # lodash.escape v3.2.0 2 | 3 | The [lodash](https://lodash.com/) method `_.escape` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.escape 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var escape = require('lodash.escape'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#escape) or [package source](https://github.com/lodash/lodash/blob/3.2.0-npm-packages/lodash.escape) for more details. 19 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/node_modules/lodash._root/README.md: -------------------------------------------------------------------------------- 1 | # lodash._root v3.0.1 2 | 3 | The internal [lodash](https://lodash.com/) function `root` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash._root 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var root = require('lodash._root'); 16 | ``` 17 | 18 | See the [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash._root) for more details. 19 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/README.md: -------------------------------------------------------------------------------- 1 | # lodash.keys v3.1.2 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.keys` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash.keys 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var keys = require('lodash.keys'); 18 | ``` 19 | 20 | See the [documentation](https://lodash.com/docs#keys) or [package source](https://github.com/lodash/lodash/blob/3.1.2-npm-packages/lodash.keys) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash._getnative/README.md: -------------------------------------------------------------------------------- 1 | # lodash._getnative v3.9.1 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `getNative` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash._getnative 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var getNative = require('lodash._getnative'); 18 | ``` 19 | 20 | See the [package source](https://github.com/lodash/lodash/blob/3.9.1-npm-packages/lodash._getnative) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarguments/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isarguments v3.1.0 2 | 3 | The [lodash](https://lodash.com/) method `_.isArguments` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isarguments 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isArguments = require('lodash.isarguments'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isArguments) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.isarguments) for more details. 19 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarray/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isarray v3.0.4 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isArray` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash.isarray 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var isArray = require('lodash.isarray'); 18 | ``` 19 | 20 | See the [documentation](https://lodash.com/docs#isArray) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isarray) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.restparam/README.md: -------------------------------------------------------------------------------- 1 | # lodash.restparam v3.6.1 2 | 3 | The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.restParam` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | 9 | ```bash 10 | $ {sudo -H} npm i -g npm 11 | $ npm i --save lodash.restparam 12 | ``` 13 | 14 | In Node.js/io.js: 15 | 16 | ```js 17 | var restParam = require('lodash.restparam'); 18 | ``` 19 | 20 | See the [documentation](https://lodash.com/docs#restParam) or [package source](https://github.com/lodash/lodash/blob/3.6.1-npm-packages/lodash.restparam) for more details. 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.templatesettings/README.md: -------------------------------------------------------------------------------- 1 | # lodash.templatesettings v3.1.1 2 | 3 | The [lodash](https://lodash.com/) method `_.templateSettings` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.templatesettings 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var templateSettings = require('lodash.templatesettings'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#templateSettings) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.templatesettings) for more details. 19 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.12" 6 | - "iojs" 7 | before_install: 8 | - npm install -g npm@~1.4.6 9 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | var argv = require('../')(process.argv.slice(2)); 2 | console.dir(argv); 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/all_bool.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('flag boolean true (default all --args to boolean)', function (t) { 5 | var argv = parse(['moo', '--honk', 'cow'], { 6 | boolean: true 7 | }); 8 | 9 | t.deepEqual(argv, { 10 | honk: true, 11 | _: ['moo', 'cow'] 12 | }); 13 | 14 | t.deepEqual(typeof argv.honk, 'boolean'); 15 | t.end(); 16 | }); 17 | 18 | test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { 19 | var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { 20 | boolean: true 21 | }); 22 | 23 | t.deepEqual(argv, { 24 | honk: true, 25 | tacos: 'good', 26 | p: 55, 27 | _: ['moo', 'cow'] 28 | }); 29 | 30 | t.deepEqual(typeof argv.honk, 'boolean'); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/default_bool.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('boolean default true', function (t) { 5 | var argv = parse([], { 6 | boolean: 'sometrue', 7 | default: { sometrue: true } 8 | }); 9 | t.equal(argv.sometrue, true); 10 | t.end(); 11 | }); 12 | 13 | test('boolean default false', function (t) { 14 | var argv = parse([], { 15 | boolean: 'somefalse', 16 | default: { somefalse: false } 17 | }); 18 | t.equal(argv.somefalse, false); 19 | t.end(); 20 | }); 21 | 22 | test('boolean default to null', function (t) { 23 | var argv = parse([], { 24 | boolean: 'maybe', 25 | default: { maybe: null } 26 | }); 27 | t.equal(argv.maybe, null); 28 | var argv = parse(['--maybe'], { 29 | boolean: 'maybe', 30 | default: { maybe: null } 31 | }); 32 | t.equal(argv.maybe, true); 33 | t.end(); 34 | 35 | }) 36 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('dotted alias', function (t) { 5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 6 | t.equal(argv.a.b, 22); 7 | t.equal(argv.aa.bb, 22); 8 | t.end(); 9 | }); 10 | 11 | test('dotted default', function (t) { 12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 13 | t.equal(argv.a.b, 11); 14 | t.equal(argv.aa.bb, 11); 15 | t.end(); 16 | }); 17 | 18 | test('dotted default with no alias', function (t) { 19 | var argv = parse('', {default: {'a.b': 11}}); 20 | t.equal(argv.a.b, 11); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/kv_short.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('short -k=v' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b=123' ]); 8 | t.deepEqual(argv, { b: 123, _: [] }); 9 | }); 10 | 11 | test('multi short -k=v' , function (t) { 12 | t.plan(1); 13 | 14 | var argv = parse([ '-a=whatever', '-b=robots' ]); 15 | t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); 16 | }); 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('long opts', function (t) { 5 | t.deepEqual( 6 | parse([ '--bool' ]), 7 | { bool : true, _ : [] }, 8 | 'long boolean' 9 | ); 10 | t.deepEqual( 11 | parse([ '--pow', 'xixxle' ]), 12 | { pow : 'xixxle', _ : [] }, 13 | 'long capture sp' 14 | ); 15 | t.deepEqual( 16 | parse([ '--pow=xixxle' ]), 17 | { pow : 'xixxle', _ : [] }, 18 | 'long capture eq' 19 | ); 20 | t.deepEqual( 21 | parse([ '--host', 'localhost', '--port', '555' ]), 22 | { host : 'localhost', port : 555, _ : [] }, 23 | 'long captures sp' 24 | ); 25 | t.deepEqual( 26 | parse([ '--host=localhost', '--port=555' ]), 27 | { host : 'localhost', port : 555, _ : [] }, 28 | 'long captures eq' 29 | ); 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b', '123' ], { boolean: 'b' }); 8 | t.deepEqual(argv, { b: true, _: [123] }); 9 | }); 10 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/stop_early.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('stops parsing on the first non-option when stopEarly is set', function (t) { 5 | var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { 6 | stopEarly: true 7 | }); 8 | 9 | t.deepEqual(argv, { 10 | aaa: 'bbb', 11 | _: ['ccc', '--ddd'] 12 | }); 13 | 14 | t.end(); 15 | }); 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.1.1 / 2014-06-01 3 | ================== 4 | 5 | * update duplexer2 dep 6 | 7 | 0.1.0 / 2014-05-24 8 | ================== 9 | 10 | * add optional callback 11 | 12 | 0.0.2 / 2014-02-20 13 | ================== 14 | 15 | * fix infinite loop 16 | 17 | 0.0.1 / 2014-01-15 18 | ================== 19 | 20 | * fix error bubbling 21 | 22 | 0.0.0 / 2014-01-13 23 | ================== 24 | 25 | * initial release 26 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/Makefile: -------------------------------------------------------------------------------- 1 | 2 | node_modules: package.json 3 | @npm install 4 | 5 | test: 6 | @./node_modules/.bin/mocha \ 7 | --reporter spec \ 8 | --timeout 100 9 | 10 | .PHONY: test -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/.npmignore: -------------------------------------------------------------------------------- 1 | build/ 2 | test/ 3 | examples/ 4 | fs.js 5 | zlib.js -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_duplex.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/.npmignore: -------------------------------------------------------------------------------- 1 | build 2 | test 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/README.md: -------------------------------------------------------------------------------- 1 | **string_decoder.js** (`require('string_decoder')`) from Node.js core 2 | 3 | Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. 4 | 5 | Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** 6 | 7 | The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_passthrough.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/readable.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = require('stream'); 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | if (!process.browser && process.env.READABLE_STREAM === 'disable') { 9 | module.exports = require('stream'); 10 | } 11 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_transform.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_writable.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/object-assign/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var propIsEnumerable = Object.prototype.propertyIsEnumerable; 3 | 4 | function ToObject(val) { 5 | if (val == null) { 6 | throw new TypeError('Object.assign cannot be called with null or undefined'); 7 | } 8 | 9 | return Object(val); 10 | } 11 | 12 | function ownEnumerableKeys(obj) { 13 | var keys = Object.getOwnPropertyNames(obj); 14 | 15 | if (Object.getOwnPropertySymbols) { 16 | keys = keys.concat(Object.getOwnPropertySymbols(obj)); 17 | } 18 | 19 | return keys.filter(function (key) { 20 | return propIsEnumerable.call(obj, key); 21 | }); 22 | } 23 | 24 | module.exports = Object.assign || function (target, source) { 25 | var from; 26 | var keys; 27 | var to = ToObject(target); 28 | 29 | for (var s = 1; s < arguments.length; s++) { 30 | from = arguments[s]; 31 | keys = ownEnumerableKeys(Object(from)); 32 | 33 | for (var i = 0; i < keys.length; i++) { 34 | to[keys[i]] = from[keys[i]]; 35 | } 36 | } 37 | 38 | return to; 39 | }; 40 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/replace-ext/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | node_modules 4 | build 5 | *.node 6 | components -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/replace-ext/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.7" 4 | - "0.8" 5 | - "0.9" 6 | - "0.10" 7 | after_script: 8 | - npm run coveralls -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/replace-ext/index.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | 3 | module.exports = function(npath, ext) { 4 | if (typeof npath !== 'string') return npath; 5 | if (npath.length === 0) return npath; 6 | 7 | var nFileName = path.basename(npath, path.extname(npath))+ext; 8 | return path.join(path.dirname(npath), nFileName); 9 | }; -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .jshintrc 3 | .travis.yml -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/.npmignore: -------------------------------------------------------------------------------- 1 | build/ 2 | test/ 3 | examples/ 4 | fs.js 5 | zlib.js -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: tape 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_duplex.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js: -------------------------------------------------------------------------------- 1 | // a passthrough stream. 2 | // basically just the most minimal sort of Transform stream. 3 | // Every written chunk gets output as-is. 4 | 5 | 'use strict'; 6 | 7 | module.exports = PassThrough; 8 | 9 | var Transform = require('./_stream_transform'); 10 | 11 | /**/ 12 | var util = require('core-util-is'); 13 | util.inherits = require('inherits'); 14 | /**/ 15 | 16 | util.inherits(PassThrough, Transform); 17 | 18 | function PassThrough(options) { 19 | if (!(this instanceof PassThrough)) return new PassThrough(options); 20 | 21 | Transform.call(this, options); 22 | } 23 | 24 | PassThrough.prototype._transform = function (chunk, encoding, cb) { 25 | cb(null, chunk); 26 | }; -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @node_modules/.bin/tape test.js 4 | 5 | .PHONY: test 6 | 7 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | var toString = {}.toString; 2 | 3 | module.exports = Array.isArray || function (arr) { 4 | return toString.call(arr) == '[object Array]'; 5 | }; 6 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/test.js: -------------------------------------------------------------------------------- 1 | var isArray = require('./'); 2 | var test = require('tape'); 3 | 4 | test('is array', function(t){ 5 | t.ok(isArray([])); 6 | t.notOk(isArray({})); 7 | t.notOk(isArray(null)); 8 | t.notOk(isArray(false)); 9 | 10 | var obj = {}; 11 | obj[0] = true; 12 | t.notOk(isArray(obj)); 13 | 14 | var arr = []; 15 | arr.foo = 'bar'; 16 | t.ok(isArray(arr)); 17 | 18 | t.end(); 19 | }); 20 | 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | - "0.12" 7 | - "1.7.1" 8 | - 1 9 | - 2 10 | - 3 11 | - 4 12 | - 5 13 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/readme.md: -------------------------------------------------------------------------------- 1 | process-nextick-args 2 | ===== 3 | 4 | [![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args) 5 | 6 | ```bash 7 | npm install --save process-nextick-args 8 | ``` 9 | 10 | Always be able to pass arguments to process.nextTick, no matter the platform 11 | 12 | ```js 13 | var nextTick = require('process-nextick-args'); 14 | 15 | nextTick(function (a, b, c) { 16 | console.log(a, b, c); 17 | }, 'step', 3, 'profit'); 18 | ``` 19 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/test.js: -------------------------------------------------------------------------------- 1 | var test = require("tap").test; 2 | var nextTick = require('./'); 3 | 4 | test('should work', function (t) { 5 | t.plan(5); 6 | nextTick(function (a) { 7 | t.ok(a); 8 | nextTick(function (thing) { 9 | t.equals(thing, 7); 10 | }, 7); 11 | }, true); 12 | nextTick(function (a, b, c) { 13 | t.equals(a, 'step'); 14 | t.equals(b, 3); 15 | t.equals(c, 'profit'); 16 | }, 'step', 3, 'profit'); 17 | }); 18 | 19 | test('correct number of arguments', function (t) { 20 | t.plan(1); 21 | nextTick(function () { 22 | t.equals(2, arguments.length, 'correct number'); 23 | }, 1, 2); 24 | }); 25 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/.npmignore: -------------------------------------------------------------------------------- 1 | build 2 | test 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/README.md: -------------------------------------------------------------------------------- 1 | **string_decoder.js** (`require('string_decoder')`) from Node.js core 2 | 3 | Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. 4 | 5 | Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** 6 | 7 | The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.2 / 2015-10-07 3 | ================== 4 | 5 | * use try/catch when checking `localStorage` (#3, @kumavis) 6 | 7 | 1.0.1 / 2014-11-25 8 | ================== 9 | 10 | * browser: use `console.warn()` for deprecation calls 11 | * browser: more jsdocs 12 | 13 | 1.0.0 / 2014-04-30 14 | ================== 15 | 16 | * initial commit 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/node.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * For Node.js, simply re-export the core `util.deprecate` function. 4 | */ 5 | 6 | module.exports = require('util').deprecate; 7 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_passthrough.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/readable.js: -------------------------------------------------------------------------------- 1 | var Stream = (function (){ 2 | try { 3 | return require('st' + 'ream'); // hack to fix a circular dependency issue when used with browserify 4 | } catch(_){} 5 | }()); 6 | exports = module.exports = require('./lib/_stream_readable.js'); 7 | exports.Stream = Stream || exports; 8 | exports.Readable = exports; 9 | exports.Writable = require('./lib/_stream_writable.js'); 10 | exports.Duplex = require('./lib/_stream_duplex.js'); 11 | exports.Transform = require('./lib/_stream_transform.js'); 12 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 13 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_transform.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_writable.js") 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/xtend/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxdepth": 4, 3 | "maxstatements": 200, 4 | "maxcomplexity": 12, 5 | "maxlen": 80, 6 | "maxparams": 5, 7 | 8 | "curly": true, 9 | "eqeqeq": true, 10 | "immed": true, 11 | "latedef": false, 12 | "noarg": true, 13 | "noempty": true, 14 | "nonew": true, 15 | "undef": true, 16 | "unused": "vars", 17 | "trailing": true, 18 | 19 | "quotmark": true, 20 | "expr": true, 21 | "asi": true, 22 | 23 | "browser": false, 24 | "esnext": true, 25 | "devel": false, 26 | "node": false, 27 | "nonstandard": false, 28 | 29 | "predef": ["require", "module", "__dirname", "__filename"] 30 | } 31 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/xtend/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/xtend/Makefile: -------------------------------------------------------------------------------- 1 | browser: 2 | node ./support/compile 3 | 4 | .PHONY: browser -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/xtend/README.md: -------------------------------------------------------------------------------- 1 | # xtend 2 | 3 | [![browser support][3]][4] 4 | 5 | [![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) 6 | 7 | Extend like a boss 8 | 9 | xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. 10 | 11 | ## Examples 12 | 13 | ```js 14 | var extend = require("xtend") 15 | 16 | // extend returns a new object. Does not mutate arguments 17 | var combination = extend({ 18 | a: "a", 19 | b: 'c' 20 | }, { 21 | b: "b" 22 | }) 23 | // { a: "a", b: "b" } 24 | ``` 25 | 26 | ## Stability status: Locked 27 | 28 | ## MIT Licenced 29 | 30 | 31 | [3]: http://ci.testling.com/Raynos/xtend.png 32 | [4]: http://ci.testling.com/Raynos/xtend 33 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/xtend/immutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | var hasOwnProperty = Object.prototype.hasOwnProperty; 4 | 5 | function extend() { 6 | var target = {} 7 | 8 | for (var i = 0; i < arguments.length; i++) { 9 | var source = arguments[i] 10 | 11 | for (var key in source) { 12 | if (hasOwnProperty.call(source, key)) { 13 | target[key] = source[key] 14 | } 15 | } 16 | } 17 | 18 | return target 19 | } 20 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/through2/node_modules/xtend/mutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | var hasOwnProperty = Object.prototype.hasOwnProperty; 4 | 5 | function extend(target) { 6 | for (var i = 1; i < arguments.length; i++) { 7 | var source = arguments[i] 8 | 9 | for (var key in source) { 10 | if (hasOwnProperty.call(source, key)) { 11 | target[key] = source[key] 12 | } 13 | } 14 | } 15 | 16 | return target 17 | } 18 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/lib/cloneBuffer.js: -------------------------------------------------------------------------------- 1 | var Buffer = require('buffer').Buffer; 2 | 3 | module.exports = function(buf) { 4 | var out = new Buffer(buf.length); 5 | buf.copy(out); 6 | return out; 7 | }; 8 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/lib/inspectStream.js: -------------------------------------------------------------------------------- 1 | var isStream = require('./isStream'); 2 | 3 | module.exports = function(stream) { 4 | if (!isStream(stream)) return; 5 | 6 | var streamType = stream.constructor.name; 7 | // avoid StreamStream 8 | if (streamType === 'Stream') streamType = ''; 9 | 10 | return '<'+streamType+'Stream>'; 11 | }; 12 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/lib/isBuffer.js: -------------------------------------------------------------------------------- 1 | module.exports = require('buffer').Buffer.isBuffer; 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/lib/isNull.js: -------------------------------------------------------------------------------- 1 | module.exports = function(v) { 2 | return v === null; 3 | }; 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/lib/isStream.js: -------------------------------------------------------------------------------- 1 | var Stream = require('stream').Stream; 2 | 3 | module.exports = function(o) { 4 | return !!o && o instanceof Stream; 5 | }; -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/index.js: -------------------------------------------------------------------------------- 1 | var Stat = require('fs').Stats 2 | 3 | module.exports = cloneStats 4 | 5 | function cloneStats(stats) { 6 | var replacement = new Stat 7 | 8 | Object.keys(stats).forEach(function(key) { 9 | replacement[key] = stats[key] 10 | }) 11 | 12 | return replacement 13 | } 14 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/test.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var clone = require('./') 3 | var fs = require('fs') 4 | 5 | test('file', function(t) { 6 | compare(t, fs.statSync(__filename)) 7 | t.end() 8 | }) 9 | 10 | test('directory', function(t) { 11 | compare(t, fs.statSync(__dirname)) 12 | t.end() 13 | }) 14 | 15 | function compare(t, stat) { 16 | var copy = clone(stat) 17 | 18 | t.deepEqual(stat, copy, 'clone has equal properties') 19 | t.ok(stat instanceof fs.Stats, 'original is an fs.Stat') 20 | t.ok(copy instanceof fs.Stats, 'copy is an fs.Stat') 21 | 22 | ;['isDirectory' 23 | , 'isFile' 24 | , 'isBlockDevice' 25 | , 'isCharacterDevice' 26 | , 'isSymbolicLink' 27 | , 'isFIFO' 28 | , 'isSocket' 29 | ].forEach(function(method) { 30 | t.equal( 31 | stat[method].call(stat) 32 | , copy[method].call(copy) 33 | , 'equal value for stat.' + method + '()' 34 | ) 35 | }) 36 | } 37 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/test-apart-ctx.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Clone Test-Suite (Browser) 5 | 6 | 7 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/map-stream/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | node_modules/* 3 | npm_debug.log 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/map-stream/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/map-stream/examples/pretty.js: -------------------------------------------------------------------------------- 1 | 2 | var inspect = require('util').inspect 3 | 4 | if(!module.parent) { 5 | var map = require('..') //load map-stream 6 | var es = require('event-stream') //load event-stream 7 | es.pipe( //pipe joins streams together 8 | process.openStdin(), //open stdin 9 | es.split(), //split stream to break on newlines 10 | map(function (data, callback) { //turn this async function into a stream 11 | var j 12 | try { 13 | j = JSON.parse(data) //try to parse input into json 14 | } catch (err) { 15 | return callback(null, data) //if it fails just pass it anyway 16 | } 17 | callback(null, inspect(j)) //render it nicely 18 | }), 19 | process.stdout // pipe it to stdout ! 20 | ) 21 | } 22 | 23 | // run this 24 | // 25 | // curl -sS registry.npmjs.org/event-stream | node pretty.js 26 | // 27 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var path = require('path'); 3 | var osTmpdir = require('os-tmpdir'); 4 | var fs = require('graceful-fs'); 5 | var mkdirp = require('mkdirp'); 6 | var uuid = require('uuid'); 7 | var TMP_DIR = osTmpdir(); 8 | 9 | function tempfile(filepath) { 10 | return path.join(TMP_DIR, uuid.v4(), (filepath || '')); 11 | } 12 | 13 | module.exports = function (str, filepath, cb) { 14 | if (typeof filepath === 'function') { 15 | cb = filepath; 16 | filepath = null; 17 | } 18 | 19 | var fullpath = tempfile(filepath); 20 | 21 | mkdirp(path.dirname(fullpath), function (err) { 22 | fs.writeFile(fullpath, str, function (err) { 23 | cb(err, fullpath); 24 | }); 25 | }); 26 | }; 27 | 28 | module.exports.sync = function (str, filepath) { 29 | var fullpath = tempfile(filepath); 30 | 31 | mkdirp.sync(path.dirname(fullpath)); 32 | fs.writeFileSync(fullpath, str); 33 | 34 | return fullpath; 35 | }; 36 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/.bin/mkdirp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../mkdirp/bin/cmd.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/.bin/mkdirp.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\mkdirp\bin\cmd.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\mkdirp\bin\cmd.js" %* 7 | ) -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/graceful-fs/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/graceful-fs/fs.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var fs = require('fs') 4 | 5 | module.exports = clone(fs) 6 | 7 | function clone (obj) { 8 | if (obj === null || typeof obj !== 'object') 9 | return obj 10 | 11 | if (obj instanceof Object) 12 | var copy = { __proto__: obj.__proto__ } 13 | else 14 | var copy = Object.create(null) 15 | 16 | Object.getOwnPropertyNames(obj).forEach(function (key) { 17 | Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) 18 | }) 19 | 20 | return copy 21 | } 22 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.12" 6 | - "iojs" 7 | before_install: 8 | - npm install -g npm@~1.4.6 9 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/bin/cmd.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mkdirp = require('../'); 4 | var minimist = require('minimist'); 5 | var fs = require('fs'); 6 | 7 | var argv = minimist(process.argv.slice(2), { 8 | alias: { m: 'mode', h: 'help' }, 9 | string: [ 'mode' ] 10 | }); 11 | if (argv.help) { 12 | fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout); 13 | return; 14 | } 15 | 16 | var paths = argv._.slice(); 17 | var mode = argv.mode ? parseInt(argv.mode, 8) : undefined; 18 | 19 | (function next () { 20 | if (paths.length === 0) return; 21 | var p = paths.shift(); 22 | 23 | if (mode === undefined) mkdirp(p, cb) 24 | else mkdirp(p, mode, cb) 25 | 26 | function cb (err) { 27 | if (err) { 28 | console.error(err.message); 29 | process.exit(1); 30 | } 31 | else next(); 32 | } 33 | })(); 34 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/bin/usage.txt: -------------------------------------------------------------------------------- 1 | usage: mkdirp [DIR1,DIR2..] {OPTIONS} 2 | 3 | Create each supplied directory including any necessary parent directories that 4 | don't yet exist. 5 | 6 | If the directory already exists, do nothing. 7 | 8 | OPTIONS are: 9 | 10 | -m, --mode If a directory needs to be created, set the mode as an octal 11 | permission string. 12 | 13 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | var argv = require('../')(process.argv.slice(2)); 2 | console.dir(argv); 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/test/dash.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('-', function (t) { 5 | t.plan(5); 6 | t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); 7 | t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); 8 | t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); 9 | t.deepEqual( 10 | parse([ '-b', '-' ], { boolean: 'b' }), 11 | { b: true, _: [ '-' ] } 12 | ); 13 | t.deepEqual( 14 | parse([ '-s', '-' ], { string: 's' }), 15 | { s: '-', _: [] } 16 | ); 17 | }); 18 | 19 | test('-a -- b', function (t) { 20 | t.plan(3); 21 | t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 22 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 23 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 24 | }); 25 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/test/default_bool.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('boolean default true', function (t) { 5 | var argv = parse([], { 6 | boolean: 'sometrue', 7 | default: { sometrue: true } 8 | }); 9 | t.equal(argv.sometrue, true); 10 | t.end(); 11 | }); 12 | 13 | test('boolean default false', function (t) { 14 | var argv = parse([], { 15 | boolean: 'somefalse', 16 | default: { somefalse: false } 17 | }); 18 | t.equal(argv.somefalse, false); 19 | t.end(); 20 | }); 21 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('dotted alias', function (t) { 5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 6 | t.equal(argv.a.b, 22); 7 | t.equal(argv.aa.bb, 22); 8 | t.end(); 9 | }); 10 | 11 | test('dotted default', function (t) { 12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 13 | t.equal(argv.a.b, 11); 14 | t.equal(argv.aa.bb, 11); 15 | t.end(); 16 | }); 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('long opts', function (t) { 5 | t.deepEqual( 6 | parse([ '--bool' ]), 7 | { bool : true, _ : [] }, 8 | 'long boolean' 9 | ); 10 | t.deepEqual( 11 | parse([ '--pow', 'xixxle' ]), 12 | { pow : 'xixxle', _ : [] }, 13 | 'long capture sp' 14 | ); 15 | t.deepEqual( 16 | parse([ '--pow=xixxle' ]), 17 | { pow : 'xixxle', _ : [] }, 18 | 'long capture eq' 19 | ); 20 | t.deepEqual( 21 | parse([ '--host', 'localhost', '--port', '555' ]), 22 | { host : 'localhost', port : 555, _ : [] }, 23 | 'long captures sp' 24 | ); 25 | t.deepEqual( 26 | parse([ '--host=localhost', '--port=555' ]), 27 | { host : 'localhost', port : 555, _ : [] }, 28 | 'long captures eq' 29 | ); 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b', '123' ], { boolean: 'b' }); 8 | t.deepEqual(argv, { b: true, _: ['123'] }); 9 | }); 10 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/test/opts_fs_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var test = require('tap').test; 4 | var mockfs = require('mock-fs'); 5 | var _0777 = parseInt('0777', 8); 6 | var _0755 = parseInt('0755', 8); 7 | 8 | test('opts.fs sync', function (t) { 9 | t.plan(4); 10 | 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/beep/boop/' + [x,y,z].join('/'); 16 | var xfs = mockfs.fs(); 17 | 18 | mkdirp.sync(file, { fs: xfs, mode: _0755 }); 19 | xfs.exists(file, function (ex) { 20 | t.ok(ex, 'created file'); 21 | xfs.stat(file, function (err, stat) { 22 | t.ifError(err); 23 | t.equal(stat.mode & _0777, _0755); 24 | t.ok(stat.isDirectory(), 'target not a directory'); 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/test/return.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(4); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | mkdirp(file, function (err, made) { 18 | t.ifError(err); 19 | t.equal(made, '/tmp/' + x); 20 | mkdirp(file, function (err, made) { 21 | t.ifError(err); 22 | t.equal(made, null); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/test/return_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | // Note that this will throw on failure, which will fail the test. 18 | var made = mkdirp.sync(file); 19 | t.equal(made, '/tmp/' + x); 20 | 21 | // making the same file again should have no effect. 22 | made = mkdirp.sync(file); 23 | t.equal(made, null); 24 | }); 25 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/mkdirp/test/root.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | var _0755 = parseInt('0755', 8); 6 | 7 | test('root', function (t) { 8 | // '/' on unix, 'c:/' on windows. 9 | var file = path.resolve('/'); 10 | 11 | mkdirp(file, _0755, function (err) { 12 | if (err) throw err 13 | fs.stat(file, function (er, stat) { 14 | if (er) throw er 15 | t.ok(stat.isDirectory(), 'target is a directory'); 16 | t.end(); 17 | }) 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/os-tmpdir/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var isWindows = process.platform === 'win32'; 3 | var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/; 4 | 5 | // https://github.com/nodejs/node/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43 6 | module.exports = function () { 7 | var path; 8 | 9 | if (isWindows) { 10 | path = process.env.TEMP || 11 | process.env.TMP || 12 | (process.env.SystemRoot || process.env.windir) + '\\temp'; 13 | } else { 14 | path = process.env.TMPDIR || 15 | process.env.TMP || 16 | process.env.TEMP || 17 | '/tmp'; 18 | } 19 | 20 | if (trailingSlashRe.test(path)) { 21 | path = path.slice(0, -1); 22 | } 23 | 24 | return path; 25 | }; 26 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/os-tmpdir/readme.md: -------------------------------------------------------------------------------- 1 | # os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir) 2 | 3 | > Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) [ponyfill](https://ponyfill.com) 4 | 5 | Use this instead of `require('os').tmpdir()` to get a consistent behavior on different Node.js versions (even 0.8). 6 | 7 | 8 | ## Install 9 | 10 | ``` 11 | $ npm install --save os-tmpdir 12 | ``` 13 | 14 | 15 | ## Usage 16 | 17 | ```js 18 | const osTmpdir = require('os-tmpdir'); 19 | 20 | osTmpdir(); 21 | //=> '/var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T' 22 | ``` 23 | 24 | 25 | ## API 26 | 27 | See the [`os.tmpdir()` docs](https://nodejs.org/api/os.html#os_os_tmpdir). 28 | 29 | 30 | ## License 31 | 32 | MIT © [Sindre Sorhus](https://sindresorhus.com) 33 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.6" 4 | - "0.8" 5 | - "0.10" 6 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2012 Robert Kieffer 2 | MIT License - http://opensource.org/licenses/mit-license.php 3 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/benchmark/benchmark-native.c: -------------------------------------------------------------------------------- 1 | /* 2 | Test performance of native C UUID generation 3 | 4 | To Compile: cc -luuid benchmark-native.c -o benchmark-native 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | int main() { 13 | uuid_t myid; 14 | char buf[36+1]; 15 | int i; 16 | struct timeval t; 17 | double start, finish; 18 | 19 | gettimeofday(&t, NULL); 20 | start = t.tv_sec + t.tv_usec/1e6; 21 | 22 | int n = 2e5; 23 | for (i = 0; i < n; i++) { 24 | uuid_generate(myid); 25 | uuid_unparse(myid, buf); 26 | } 27 | 28 | gettimeofday(&t, NULL); 29 | finish = t.tv_sec + t.tv_usec/1e6; 30 | double dur = finish - start; 31 | 32 | printf("%d uuids/sec", (int)(n/dur)); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/benchmark/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "benchmark-uuid", 3 | "private": true, 4 | "description": "Benchmarks for node-uuid", 5 | "dependencies": { 6 | "uuid": "1.4.1", 7 | "uuid-js": "0.7.4" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/rng-browser.js: -------------------------------------------------------------------------------- 1 | 2 | var rng; 3 | 4 | var crypto = global.crypto || global.msCrypto; // for IE 11 5 | if (crypto && crypto.getRandomValues) { 6 | // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto 7 | // Moderately fast, high quality 8 | var _rnds8 = new Uint8Array(16); 9 | rng = function whatwgRNG() { 10 | crypto.getRandomValues(_rnds8); 11 | return _rnds8; 12 | }; 13 | } 14 | 15 | if (!rng) { 16 | // Math.random()-based (RNG) 17 | // 18 | // If all else fails, use Math.random(). It's fast, but is of unspecified 19 | // quality. 20 | var _rnds = new Array(16); 21 | rng = function() { 22 | for (var i = 0, r; i < 16; i++) { 23 | if ((i & 0x03) === 0) r = Math.random() * 0x100000000; 24 | _rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; 25 | } 26 | 27 | return _rnds; 28 | }; 29 | } 30 | 31 | module.exports = rng; 32 | 33 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/rng.js: -------------------------------------------------------------------------------- 1 | var rb = require('crypto').randomBytes; 2 | module.exports = function() { 3 | return rb(16); 4 | }; 5 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/temp-write/node_modules/uuid/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --ui qunit 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.8' 4 | - '0.10' 5 | env: 6 | global: 7 | - secure: AdUubswCR68/eGD+WWjwTHgFbelwQGnNo81j1IOaUxKw+zgFPzSnFEEtDw7z98pWgg7p9DpCnyzzSnSllP40wq6AG19OwyUJjSLoZK57fp+r8zwTQwWiSqUgMu2YSMmKJPIO/aoSGpRQXT+L1nRrHoUJXgFodyIZgz40qzJeZjc= 8 | - secure: heQuxPVsQ7jBbssoVKimXDpqGjQFiucm6W5spoujmspjDG7oEcHD9ANo9++LoRPrsAmNx56SpMK5fNfVmYediw6SvhXm4Mxt56/fYCrLDBtgGG+1neCeffAi8z1rO8x48m77hcQ6YhbUL5R9uBimUjMX92fZcygAt8Rg804zjFo= 9 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: mocha-qunit 2 | browsers: 3 | - name: chrome 4 | version: 27..latest 5 | - name: firefox 6 | version: latest 7 | - name: safari 8 | version: latest 9 | - name: ie 10 | version: 9..latest 11 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/README.md: -------------------------------------------------------------------------------- 1 | # util 2 | 3 | [![Build Status](https://travis-ci.org/defunctzombie/node-util.png?branch=master)](https://travis-ci.org/defunctzombie/node-util) 4 | 5 | node.js [util](http://nodejs.org/api/util.html) module as a module 6 | 7 | ## install via [npm](npmjs.org) 8 | 9 | ```shell 10 | npm install util 11 | ``` 12 | 13 | ## browser support 14 | 15 | This module also works in modern browsers. If you need legacy browser support you will need to polyfill ES5 features. 16 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inherits 2 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/node_modules/inherits/test.js: -------------------------------------------------------------------------------- 1 | var inherits = require('./inherits.js') 2 | var assert = require('assert') 3 | 4 | function test(c) { 5 | assert(c.constructor === Child) 6 | assert(c.constructor.super_ === Parent) 7 | assert(Object.getPrototypeOf(c) === Child.prototype) 8 | assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) 9 | assert(c instanceof Child) 10 | assert(c instanceof Parent) 11 | } 12 | 13 | function Child() { 14 | Parent.call(this) 15 | test(this) 16 | } 17 | 18 | function Parent() {} 19 | 20 | inherits(Child, Parent) 21 | 22 | var c = new Child 23 | test(c) 24 | 25 | console.log('ok') 26 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/support/isBuffer.js: -------------------------------------------------------------------------------- 1 | module.exports = function isBuffer(arg) { 2 | return arg instanceof Buffer; 3 | } 4 | -------------------------------------------------------------------------------- /conf/gulp-version-number/node_modules/util/support/isBufferBrowser.js: -------------------------------------------------------------------------------- 1 | module.exports = function isBuffer(arg) { 2 | return arg && typeof arg === 'object' 3 | && typeof arg.copy === 'function' 4 | && typeof arg.fill === 'function' 5 | && typeof arg.readUInt8 === 'function'; 6 | } -------------------------------------------------------------------------------- /conf/gunicorn.conf.py: -------------------------------------------------------------------------------- 1 | import multiprocessing 2 | 3 | bind = "127.0.0.1:4000" 4 | workers = multiprocessing.cpu_count() * 2 + 1 5 | worker_class='gevent' 6 | proc_name = "mdwiki" 7 | user = "www-data" 8 | chdir='/opt/www/mdwiki' 9 | #daemon=False 10 | #group = "nginx" 11 | loglevel = "info" 12 | #errorlog = chdir+"/log/gunicorn/error.log" 13 | #accesslog= chdir+"/log/gunicorn/access.log" 14 | raw_env = [ 15 | r'aliyun_api_key=value', 16 | r'aliyun_secret_key=value', 17 | r'MAIL_PASSWORD=value', 18 | r'SECRET_KEY=mysecretkey' 19 | ] 20 | #ssl 21 | #keyfile= 22 | #certfile= 23 | #ca_certs= -------------------------------------------------------------------------------- /conf/prod/gunicorn.conf.py: -------------------------------------------------------------------------------- 1 | import multiprocessing 2 | 3 | bind = "127.0.0.1:4000" 4 | workers = multiprocessing.cpu_count() * 2 + 1 5 | worker_class='gevent' 6 | proc_name = "mdwiki" 7 | user = "www-data" 8 | chdir='/opt/www/mdwiki' 9 | #daemon=False 10 | #group = "nginx" 11 | loglevel = "info" 12 | #errorlog = chdir+"/log/gunicorn/error.log" 13 | #accesslog= chdir+"/log/gunicorn/access.log" 14 | #raw_env = [ 15 | # r'aliyun_api_key=value', 16 | # r'aliyun_secret_key=value', 17 | # r'MAIL_PASSWORD=value', 18 | # r'SECRET_KEY=mysecretkey' 19 | #] 20 | #ssl 21 | #keyfile= 22 | #certfile= 23 | #ca_certs= -------------------------------------------------------------------------------- /conf/prod/nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name localhost; 4 | 5 | charset utf-8; 6 | client_max_body_size 20M; 7 | #access_log logs/host.access.log main; 8 | set $projdir "/opt/www/mdwiki"; 9 | location / { 10 | proxy_set_header Host $host; 11 | proxy_set_header X-Real-IP $remote_addr; 12 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 13 | proxy_redirect off; 14 | proxy_pass http://127.0.0.1:4000; 15 | } 16 | location ~ ^/[^static].*\.(jpg|png|gif|bmp|zip|docx)$ { 17 | expires 30d; 18 | root $projdir; 19 | } 20 | location ~ ^/static.*\.(js|css|png|jpg|gif|bmp|map|ico|eot|svg|ttf|woff)$ { 21 | expires 30d; 22 | root $projdir/app; 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /conf/prod/supervisor.conf: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command=/usr/sbin/nginx -g "daemon off;" 3 | stopsignal=QUIT 4 | priority=1 5 | ;user=www-data 6 | 7 | [program:mdwiki] 8 | ;environment=SECRET_KEY=value,aliyun_api_key=value,aliyun_secret_key=value,MAIL_PASSWORD=value 9 | ;command=/usr/bin/gunicorn -n mdwiki -w 4 -b 127.0.0.1:4000 -k gevent app:app 10 | environment=LANG="en_US.utf8", LC_ALL="en_US.UTF-8", LC_LANG="en_US.UTF-8" 11 | command=/usr/local/bin/gunicorn app:app -c /opt/www/mdwiki/conf/prod/gunicorn.conf.py 12 | directory=/opt/www/mdwiki 13 | ;user=www-data 14 | autostart=true 15 | autorestart=true 16 | priority=10 17 | redirect_stderr = true 18 | ;stdout_logfile_maxbytes = 20MB 19 | ;stdout_logfile_backups = 20 20 | ;stdout_logfile = mdwiki.log 21 | 22 | ; environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere -------------------------------------------------------------------------------- /data/sidebar.md: -------------------------------------------------------------------------------- 1 | # http://wiki.xby1993.net:wiki:cloud 2 | # /pages/dokuwiki/index:dokuwiki备份 3 | # /pages/server:服务器 4 | # /pages/db:数据库 5 | # /pages/test:test 6 | ## /pages/test1:test1 -------------------------------------------------------------------------------- /docker-compose.debug.yml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | dockerimgvol: 5 | image: dockerimgvol 6 | build: 7 | context: . 8 | dockerfile: Dockerfile 9 | ports: 10 | - 3000:3000 11 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | dockerimgvol: 5 | image: dockerimgvol 6 | build: . 7 | ports: 8 | - 3000:3000 -------------------------------------------------------------------------------- /home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/home.png -------------------------------------------------------------------------------- /migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /migrations/alembic.ini: -------------------------------------------------------------------------------- 1 | # A generic, single database configuration. 2 | 3 | [alembic] 4 | # template used to generate migration files 5 | # file_template = %%(rev)s_%%(slug)s 6 | 7 | # set to 'true' to run the environment during 8 | # the 'revision' command, regardless of autogenerate 9 | # revision_environment = false 10 | 11 | 12 | # Logging configuration 13 | [loggers] 14 | keys = root,sqlalchemy,alembic 15 | 16 | [handlers] 17 | keys = console 18 | 19 | [formatters] 20 | keys = generic 21 | 22 | [logger_root] 23 | level = WARN 24 | handlers = console 25 | qualname = 26 | 27 | [logger_sqlalchemy] 28 | level = WARN 29 | handlers = 30 | qualname = sqlalchemy.engine 31 | 32 | [logger_alembic] 33 | level = INFO 34 | handlers = 35 | qualname = alembic 36 | 37 | [handler_console] 38 | class = StreamHandler 39 | args = (sys.stderr,) 40 | level = NOTSET 41 | formatter = generic 42 | 43 | [formatter_generic] 44 | format = %(levelname)-5.5s [%(name)s] %(message)s 45 | datefmt = %H:%M:%S 46 | -------------------------------------------------------------------------------- /migrations/script.py.mako: -------------------------------------------------------------------------------- 1 | """${message} 2 | 3 | Revision ID: ${up_revision} 4 | Revises: ${down_revision} 5 | Create Date: ${create_date} 6 | 7 | """ 8 | 9 | # revision identifiers, used by Alembic. 10 | revision = ${repr(up_revision)} 11 | down_revision = ${repr(down_revision)} 12 | 13 | from alembic import op 14 | import sqlalchemy as sa 15 | ${imports if imports else ""} 16 | 17 | def upgrade(): 18 | ${upgrades if upgrades else "pass"} 19 | 20 | 21 | def downgrade(): 22 | ${downgrades if downgrades else "pass"} 23 | -------------------------------------------------------------------------------- /migrations/versions/83f36c1ea613_.py: -------------------------------------------------------------------------------- 1 | """empty message 2 | 3 | Revision ID: 83f36c1ea613 4 | Revises: 92d8727bbbb5 5 | Create Date: 2016-12-14 00:07:28.726517 6 | 7 | """ 8 | 9 | # revision identifiers, used by Alembic. 10 | revision = '83f36c1ea613' 11 | down_revision = '92d8727bbbb5' 12 | 13 | from alembic import op 14 | import sqlalchemy as sa 15 | 16 | 17 | def upgrade(): 18 | ### commands auto generated by Alembic - please adjust! ### 19 | with op.batch_alter_table('user', schema=None) as batch_op: 20 | batch_op.create_unique_constraint(None, ['username']) 21 | 22 | ### end Alembic commands ### 23 | 24 | 25 | def downgrade(): 26 | ### commands auto generated by Alembic - please adjust! ### 27 | with op.batch_alter_table('user', schema=None) as batch_op: 28 | batch_op.drop_constraint(None, type_='unique') 29 | 30 | ### end Alembic commands ### 31 | -------------------------------------------------------------------------------- /migrations/versions/8645016bd6da_.py: -------------------------------------------------------------------------------- 1 | """empty message 2 | 3 | Revision ID: 8645016bd6da 4 | Revises: None 5 | Create Date: 2016-11-13 15:20:39.128673 6 | 7 | """ 8 | 9 | # revision identifiers, used by Alembic. 10 | revision = '8645016bd6da' 11 | down_revision = None 12 | 13 | from alembic import op 14 | import sqlalchemy as sa 15 | 16 | 17 | def upgrade(): 18 | ### commands auto generated by Alembic - please adjust! ### 19 | op.add_column('user', sa.Column('username', sa.String(length=50), nullable=True)) 20 | op.create_unique_constraint(None, 'user', ['username']) 21 | ### end Alembic commands ### 22 | 23 | 24 | def downgrade(): 25 | ### commands auto generated by Alembic - please adjust! ### 26 | op.drop_constraint(None, 'user', type_='unique') 27 | op.drop_column('user', 'username') 28 | ### end Alembic commands ### 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mdwiki", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "xbynet", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "del": "^2.2.2", 13 | "gulp": "^3.9.1", 14 | "gulp-autoprefixer": "^3.1.1", 15 | "gulp-clean": "^0.3.2", 16 | "gulp-concat": "^2.6.1", 17 | "gulp-flatten": "^0.3.1", 18 | "gulp-imagemin": "^3.1.1", 19 | "gulp-minify-css": "^1.2.4", 20 | "gulp-rev": "^7.1.2", 21 | "gulp-sourcemaps": "^1.9.1", 22 | "gulp-uglify": "^2.0.0", 23 | "gulp-version-number": "^0.1.5", 24 | "imagemin-pngquant": "^5.0.0", 25 | "jpegtran-bin": "^3.1.0", 26 | "pngquant-bin": "^3.1.1", 27 | "pump": "^1.0.1", 28 | "run-sequence": "^1.2.2" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /sources.list: -------------------------------------------------------------------------------- 1 | deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 2 | deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 3 | deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 4 | deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 5 | deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 6 | deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 7 | deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 8 | deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 9 | deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 10 | deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse -------------------------------------------------------------------------------- /test/proj/__init__.py: -------------------------------------------------------------------------------- 1 | import sys,os 2 | sys.path.append(os.path.abspath(os.path.dirname(__file__))) -------------------------------------------------------------------------------- /test/proj/__pycache__/email_task.cpython-34.pyc.45310768: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/test/proj/__pycache__/email_task.cpython-34.pyc.45310768 -------------------------------------------------------------------------------- /websrc/static/bootstrap-custom.css: -------------------------------------------------------------------------------- 1 | .form-group { 2 | /*padding-bottom: 0;*/ 3 | /*margin: 0 0 0 0; */ 4 | } 5 | .btn{ 6 | /*margin:1px 1px ;*/ 7 | } 8 | .alert{ 9 | /*padding: 10px;*/ 10 | margin-bottom: 5px; 11 | padding-bottom: 5px; 12 | padding-top:5px; 13 | width: 80%; 14 | } 15 | .navbar.navbar-default .dropdown-menu li>a{ 16 | padding: 5px 0 5px 10px; 17 | } 18 | .navbar.navbar-inverse .dropdown-menu li>a{ 19 | padding: 5px 0 5px 10px; 20 | } 21 | .sidebar .nav>li>a{ 22 | padding:6px; 23 | } 24 | .sidebar .nav .open ul.dropdown-menu a{ 25 | padding:6px; 26 | } 27 | .sidebar .nav .open ul.dropdown-menu{ 28 | padding:2; 29 | } 30 | .sidebar{ 31 | /*margin-top: 30px;*/ 32 | } -------------------------------------------------------------------------------- /websrc/static/fonts/DroidSansMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/fonts/DroidSansMono.ttf -------------------------------------------------------------------------------- /websrc/static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/images/favicon.ico -------------------------------------------------------------------------------- /websrc/static/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/images/placeholder.png -------------------------------------------------------------------------------- /websrc/static/lib/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/bg.png -------------------------------------------------------------------------------- /websrc/static/lib/bootstrap/css/ripples.min.css: -------------------------------------------------------------------------------- 1 | .withripple{position:relative}.ripple-container{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none}.ripple{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:100%;background-color:#000;background-color:rgba(0,0,0,.05);-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transform-origin:50%;-ms-transform-origin:50%;-o-transform-origin:50%;transform-origin:50%;opacity:0;pointer-events:none}.ripple.ripple-on{-webkit-transition:opacity .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;-o-transition:opacity .15s ease-in 0s,-o-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;opacity:.1}.ripple.ripple-out{-webkit-transition:opacity .1s linear 0s!important;-o-transition:opacity .1s linear 0s!important;transition:opacity .1s linear 0s!important;opacity:0} 2 | /*# sourceMappingURL=ripples.min.css.map */ -------------------------------------------------------------------------------- /websrc/static/lib/bootstrap/css/ripples.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["less/ripples.less"],"names":[],"mappings":"AAAA,YACI,SAAA,SAEJ,kBACI,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,EACA,MAAA,KACA,OAAA,KACA,SAAA,OACA,cAAA,QACA,eAAA,KAEJ,QACI,SAAA,SACA,MAAA,KACA,OAAA,KACA,YAAA,MACA,WAAA,MACA,cAAA,KACA,iBAAA,KACA,iBAAA,gBACA,kBAAA,SAAA,cAAA,SAAA,aAAA,SAAA,UAAA,SACA,yBAAA,IAAA,qBAAA,IAAA,oBAAA,IAAA,iBAAA,IACA,QAAA,EACA,eAAA,KAEJ,kBACI,mBAAA,QAAA,KAAA,QAAA,GAAA,kBAAA,IAAA,wBAAA,IAAA,cAAA,QAAA,KAAA,QAAA,GAAA,aAAA,IAAA,wBAAA,IAAA,WAAA,QAAA,KAAA,QAAA,GAAA,UAAA,IAAA,wBAAA,IACA,QAAA,GAEJ,mBACI,mBAAA,QAAA,IAAA,OAAA,aAAA,cAAA,QAAA,IAAA,OAAA,aAAA,WAAA,QAAA,IAAA,OAAA,aACA,QAAA"} -------------------------------------------------------------------------------- /websrc/static/lib/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /websrc/static/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /websrc/static/lib/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /websrc/static/lib/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/blank.gif -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/fancybox_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/fancybox_loading.gif -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/fancybox_loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/fancybox_loading@2x.gif -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/fancybox_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/fancybox_overlay.png -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/fancybox_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/fancybox_sprite.png -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/fancybox_sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/fancybox_sprite@2x.png -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/helpers/fancybox_buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/fancyBox/helpers/fancybox_buttons.png -------------------------------------------------------------------------------- /websrc/static/lib/fancyBox/helpers/jquery.fancybox-thumbs.css: -------------------------------------------------------------------------------- 1 | #fancybox-thumbs { 2 | position: fixed; 3 | left: 0; 4 | width: 100%; 5 | overflow: hidden; 6 | z-index: 8050; 7 | } 8 | 9 | #fancybox-thumbs.bottom { 10 | bottom: 2px; 11 | } 12 | 13 | #fancybox-thumbs.top { 14 | top: 2px; 15 | } 16 | 17 | #fancybox-thumbs ul { 18 | position: relative; 19 | list-style: none; 20 | margin: 0; 21 | padding: 0; 22 | } 23 | 24 | #fancybox-thumbs ul li { 25 | float: left; 26 | padding: 1px; 27 | opacity: 0.5; 28 | } 29 | 30 | #fancybox-thumbs ul li.active { 31 | opacity: 0.75; 32 | padding: 0; 33 | border: 1px solid #fff; 34 | } 35 | 36 | #fancybox-thumbs ul li:hover { 37 | opacity: 1; 38 | } 39 | 40 | #fancybox-thumbs ul li a { 41 | display: block; 42 | position: relative; 43 | overflow: hidden; 44 | border: 1px solid #222; 45 | background: #111; 46 | outline: none; 47 | } 48 | 49 | #fancybox-thumbs ul li img { 50 | display: block; 51 | position: relative; 52 | border: 0; 53 | padding: 0; 54 | max-width: none; 55 | } -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_glass_75_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_glass_75_ffffff_1x400.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-bg_inset-soft_95_fef1ec_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-bg_inset-soft_95_fef1ec_1x100.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /websrc/static/lib/jqplugin/images/ui-icons_f6cf3b_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/jqplugin/images/ui-icons_f6cf3b_256x240.png -------------------------------------------------------------------------------- /websrc/static/lib/simplemde/androidstudio.css: -------------------------------------------------------------------------------- 1 | .hljs{color:#a9b7c6;background:#282b2e;display:block;overflow-x:auto;padding:0.5em}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet{color:#6897BB}.hljs-keyword,.hljs-selector-tag,.hljs-deletion{color:#cc7832}.hljs-variable,.hljs-template-variable,.hljs-link{color:#629755}.hljs-comment,.hljs-quote{color:#808080}.hljs-meta{color:#bbb529}.hljs-string,.hljs-attribute,.hljs-addition{color:#6A8759}.hljs-section,.hljs-title,.hljs-type{color:#ffc66d}.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#e8bf6a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold} -------------------------------------------------------------------------------- /websrc/static/lib/simplemde/darcula.css: -------------------------------------------------------------------------------- 1 | .hljs{display:block;overflow-x:auto;padding:0.5em;background:#2b2b2b}.hljs{color:#bababa}.hljs-strong,.hljs-emphasis{color:#a8a8a2}.hljs-bullet,.hljs-quote,.hljs-link,.hljs-number,.hljs-regexp,.hljs-literal{color:#6896ba}.hljs-code,.hljs-selector-class{color:#a6e22e}.hljs-emphasis{font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-section,.hljs-attribute,.hljs-name,.hljs-variable{color:#cb7832}.hljs-params{color:#b9b9b9}.hljs-string{color:#6a8759}.hljs-subst,.hljs-type,.hljs-built_in,.hljs-builtin-name,.hljs-symbol,.hljs-selector-id,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-template-tag,.hljs-template-variable,.hljs-addition{color:#e0c46c}.hljs-comment,.hljs-deletion,.hljs-meta{color:#7f7f7f} -------------------------------------------------------------------------------- /websrc/static/lib/simplemde/highlight.min.css: -------------------------------------------------------------------------------- 1 | .hljs{display:block;overflow-x:auto;padding:0.5em;background:#F0F0F0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888888}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:#BC6060}.hljs-literal{color:#78A960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold} -------------------------------------------------------------------------------- /websrc/static/lib/webuploader/Uploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/static/lib/webuploader/Uploader.swf -------------------------------------------------------------------------------- /websrc/static/lib/webuploader/webuploader.min.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #00b7ee; 14 | padding: 10px 15px; 15 | color: #fff; 16 | text-align: center; 17 | border-radius: 3px; 18 | overflow: hidden; 19 | } 20 | .webuploader-pick-hover { 21 | background: #00a2d4; 22 | } 23 | 24 | .webuploader-pick-disable { 25 | opacity: 0.6; 26 | pointer-events:none; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /websrc/static/prettify.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .prettyprint .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 20px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /websrc/templates/401.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title -%} 3 | 未授权的访问! 4 | {% endblock title %} 5 | 6 | {% block content %} 7 |

返回首页

8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /websrc/templates/404.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title -%} 3 |

页面不存在!

4 | {% endblock title %} 5 | 6 | {% block content %} 7 |

返回首页

8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /websrc/templates/405.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title -%} 3 | 方法未授权的访问! 4 | {% endblock title %} 5 | 6 | {% block content %} 7 |

返回首页

8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /websrc/templates/create.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}Create a new page{% endblock title %} 4 | {% block content %} 5 |
6 | {{ form.hidden_tag() }} 7 | {{ input(form.url, placeholder="URL of the new page") }} 8 | 9 |
10 | {% endblock content %} 11 | 12 | {% block sidebar %} 13 |

Thank you for creating new content!

14 | {% endblock sidebar %} -------------------------------------------------------------------------------- /websrc/templates/helpers.html: -------------------------------------------------------------------------------- 1 | {% macro input(field) -%} 2 |
3 | {% if field.type == 'BooleanField' %} 4 |
5 | 9 |
10 | {% else %} 11 | 12 |
13 | {{ field(**kwargs) }} 14 | {% if field.errors %} 15 |
16 | {% for error in field.errors %} 17 | 18 | {{ error }} 19 | 20 | {% endfor %} 21 |
22 | {% endif %} 23 |
24 | {% endif %} 25 |
26 | {%- endmacro %} -------------------------------------------------------------------------------- /websrc/templates/hintInfo.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title -%} 3 |

提示

4 | {% endblock title %} 5 | 6 | {% block content %} 7 | {{ msg }} 8 |
9 | {% if canCreate %} 10 | 创建新的 11 | {% endif %} 12 | 返回首页
13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /websrc/templates/home.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %} 3 |

欢迎来到{{ config.APP_NAME }}

4 | {% endblock title %} 5 | 6 | {% block content %} 7 | {% endblock content %} -------------------------------------------------------------------------------- /websrc/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}Page Index{% endblock title %} 4 | 5 | {% block content %} 6 | {% if pages %} 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | {% for page in pages %} 16 | 17 | 18 | 19 | 20 | {% endfor %} 21 | 22 |
TitleURL
{{ page.title }}{{ page.url }}
23 | {% else %} 24 |

There are no pages yet.

25 | {% endif %} 26 | {% endblock content %} 27 | 28 | {% block sidebar %} 29 | 34 | {% endblock sidebar %} -------------------------------------------------------------------------------- /websrc/templates/macros.html: -------------------------------------------------------------------------------- 1 | 2 | {% macro render_simple_dialog(id,msg) %} 3 | 6 | {% endmacro %} 7 | -------------------------------------------------------------------------------- /websrc/templates/move.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}Move a page{% endblock title %} 4 | {% block content %} 5 |
6 | {{ form.hidden_tag() }} 7 | {{ input(form.url, placeholder="New URL of the page") }} 8 | 9 |
10 | {% endblock content %} 11 | 12 | {% block sidebar %} 13 |

Be careful, the old url will be invalid immediately!

14 | {% endblock sidebar %} 15 | -------------------------------------------------------------------------------- /websrc/templates/search.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %} 4 | {% if search %} 5 | Results for "{{ search }}" 6 | {% else %} 7 | Search 8 | {% endif %} 9 | {% endblock title %} 10 | 11 | {% block content %} 12 |
13 |
14 |
15 | {{ form.hidden_tag() }} 16 | {{ form.term(placeholder='Search for.. (regex accepted)') }} 17 | {{ form.ignore_case() }} Ignore Case 18 | 19 |
20 |
21 |
22 | 23 | {% if search %} 24 | {% if results %} 25 | 30 | {% else %} 31 |

No results for your search.

32 | {% endif %} 33 | {% endif %} 34 | {% endblock content %} -------------------------------------------------------------------------------- /websrc/templates/security/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xbynet/mdwiki/cc31f925ff6d9a4a98583ef71419b6ea6535824e/websrc/templates/security/.DS_Store -------------------------------------------------------------------------------- /websrc/templates/security/_macros.html: -------------------------------------------------------------------------------- 1 | {% macro render_field_with_errors(field) %} 2 | 3 | {{ field(**kwargs)|safe }} 4 | {% if field.errors %} 5 | 6 | {{ ','.join(field.errors) }} 7 | 8 | {% endif %} 9 | 10 | {% endmacro %} 11 | {% macro render_field(field) %} 12 | {{ field(**kwargs)|safe }} 13 | {% endmacro %} -------------------------------------------------------------------------------- /websrc/templates/security/_menu.html: -------------------------------------------------------------------------------- 1 | {% if security.registerable or security.recoverable or security.confirmable %} 2 |

Menu

3 |
    4 |
  • Login
  • 5 | {% if security.registerable %} 6 |
  • Register
  • 7 | {% endif %} 8 | {% if security.recoverable %} 9 |
  • Forgot password
  • 10 | {% endif %} 11 | {% if security.confirmable %} 12 |
  • Confirm account
  • 13 | {% endif %} 14 |
15 | {% endif %} 16 | -------------------------------------------------------------------------------- /websrc/templates/security/_messages.html: -------------------------------------------------------------------------------- 1 | {%- with messages = get_flashed_messages(with_categories=true) -%} 2 | {% if messages %} 3 |
    4 | {% for category, message in messages %} 5 |
  • {{ message }}
  • 6 | {% endfor %} 7 |
8 | {% endif %} 9 | {%- endwith %} -------------------------------------------------------------------------------- /websrc/templates/security/change_password.html: -------------------------------------------------------------------------------- 1 | {% from "security/_macros.html" import render_field_with_errors, render_field %} 2 | {% include "security/_messages.html" %} 3 |

Change password

4 |
5 | {{ change_password_form.hidden_tag() }} 6 | {{ render_field_with_errors(change_password_form.password) }} 7 | {{ render_field_with_errors(change_password_form.new_password) }} 8 | {{ render_field_with_errors(change_password_form.new_password_confirm) }} 9 | {{ render_field(change_password_form.submit) }} 10 |
11 | 12 | -------------------------------------------------------------------------------- /websrc/templates/security/email/change_notice.html: -------------------------------------------------------------------------------- 1 |

Your password has been changed.

2 | {% if security.recoverable %} 3 |

If you did not change your password, click here to reset it.

4 | {% endif %} 5 | -------------------------------------------------------------------------------- /websrc/templates/security/email/change_notice.txt: -------------------------------------------------------------------------------- 1 | Your password has been changed 2 | {% if security.recoverable %} 3 | If you did not change your password, click the link below to reset it. 4 | {{ url_for_security('forgot_password', _external=True) }} 5 | {% endif %} 6 | -------------------------------------------------------------------------------- /websrc/templates/security/email/confirmation_instructions.html: -------------------------------------------------------------------------------- 1 |

Please confirm your email through the link below:

2 | 3 |

Confirm my account

-------------------------------------------------------------------------------- /websrc/templates/security/email/confirmation_instructions.txt: -------------------------------------------------------------------------------- 1 | Please confirm your email through the link below: 2 | 3 | {{ confirmation_link }} -------------------------------------------------------------------------------- /websrc/templates/security/email/login_instructions.html: -------------------------------------------------------------------------------- 1 |

Welcome {{ user.email }}!

2 | 3 |

You can log into your through the link below:

4 | 5 |

Login now

-------------------------------------------------------------------------------- /websrc/templates/security/email/login_instructions.txt: -------------------------------------------------------------------------------- 1 | Welcome {{ user.email }}! 2 | 3 | You can log into your through the link below: 4 | 5 | {{ login_link }} -------------------------------------------------------------------------------- /websrc/templates/security/email/reset_instructions.html: -------------------------------------------------------------------------------- 1 |

Click here to reset your password

-------------------------------------------------------------------------------- /websrc/templates/security/email/reset_instructions.txt: -------------------------------------------------------------------------------- 1 | Click the link below to reset your password: 2 | 3 | {{ reset_link }} -------------------------------------------------------------------------------- /websrc/templates/security/email/reset_notice.html: -------------------------------------------------------------------------------- 1 |

Your password has been reset

-------------------------------------------------------------------------------- /websrc/templates/security/email/reset_notice.txt: -------------------------------------------------------------------------------- 1 | Your password has been reset -------------------------------------------------------------------------------- /websrc/templates/security/email/welcome.html: -------------------------------------------------------------------------------- 1 |

Welcome {{ user.email }}!

2 | 3 | {% if security.confirmable %} 4 |

You can confirm your email through the link below:

5 | 6 |

Confirm my account

7 | {% endif %} -------------------------------------------------------------------------------- /websrc/templates/security/email/welcome.txt: -------------------------------------------------------------------------------- 1 | Welcome {{ user.email }}! 2 | 3 | {% if security.confirmable %} 4 | You can confirm your email through the link below: 5 | 6 | {{ confirmation_link }} 7 | {% endif %} -------------------------------------------------------------------------------- /websrc/templates/security/forgot_password.html: -------------------------------------------------------------------------------- 1 | {% from "security/_macros.html" import render_field_with_errors, render_field %} 2 | {% include "security/_messages.html" %} 3 |

Send password reset instructions

4 |
5 | {{ forgot_password_form.hidden_tag() }} 6 | {{ render_field_with_errors(forgot_password_form.email) }} 7 | {{ render_field(forgot_password_form.submit) }} 8 |
9 | {% include "security/_menu.html" %} -------------------------------------------------------------------------------- /websrc/templates/security/register_user.html: -------------------------------------------------------------------------------- 1 | {% from "security/_macros.html" import render_field_with_errors, render_field %} 2 | {% include "security/_messages.html" %} 3 |

Register

4 |
5 | {{ register_user_form.hidden_tag() }} 6 | {{ render_field_with_errors(register_user_form.email) }} 7 | {{ render_field_with_errors(register_user_form.password) }} 8 | {% if register_user_form.password_confirm %} 9 | {{ render_field_with_errors(register_user_form.password_confirm) }} 10 | {% endif %} 11 | {{ render_field(register_user_form.submit) }} 12 |
13 | {% include "security/_menu.html" %} -------------------------------------------------------------------------------- /websrc/templates/security/reset_password.html: -------------------------------------------------------------------------------- 1 | {% from "security/_macros.html" import render_field_with_errors, render_field %} 2 | {% include "security/_messages.html" %} 3 |

Reset password

4 |
5 | {{ reset_password_form.hidden_tag() }} 6 | {{ render_field_with_errors(reset_password_form.password) }} 7 | {{ render_field_with_errors(reset_password_form.password_confirm) }} 8 | {{ render_field(reset_password_form.submit) }} 9 |
10 | {% include "security/_menu.html" %} -------------------------------------------------------------------------------- /websrc/templates/security/send_confirmation.html: -------------------------------------------------------------------------------- 1 | {% from "security/_macros.html" import render_field_with_errors, render_field %} 2 | {% include "security/_messages.html" %} 3 |

Resend confirmation instructions

4 |
5 | {{ send_confirmation_form.hidden_tag() }} 6 | {{ render_field_with_errors(send_confirmation_form.email) }} 7 | {{ render_field(send_confirmation_form.submit) }} 8 |
9 | {% include "security/_menu.html" %} -------------------------------------------------------------------------------- /websrc/templates/security/send_login.html: -------------------------------------------------------------------------------- 1 | {% from "security/_macros.html" import render_field_with_errors, render_field %} 2 | {% include "security/_messages.html" %} 3 |

Login

4 |
5 | {{ send_login_form.hidden_tag() }} 6 | {{ render_field_with_errors(send_login_form.email) }} 7 | {{ render_field(send_login_form.submit) }} 8 |
9 | {% include "security/_menu.html" %} -------------------------------------------------------------------------------- /websrc/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %} 3 |

标签列表

4 |
5 | {% endblock title %} 6 | {% block content %} 7 | {% if tags %} 8 |
    9 | {% for tag in tags -%} 10 | {% if tag -%} 11 |
  • {{ tag.name }}
  • 12 | {%- endif %} 13 | {%- endfor %} 14 |
15 | {% else %} 16 |

还没有任何标签呢

17 | {% endif %} 18 | {% endblock content %} 19 | {% block postscripts %} 20 | $(function(){ 21 | testOneAnim('.taglist-inline a,.colorgraph','bounceInDown'); 22 | $('.taglist-inline a,.colorgraph').on('mouseenter',function(e){ 23 | testOneAnim(this,'pulse'); 24 | }); 25 | }); 26 | 27 | {% endblock postscripts %} --------------------------------------------------------------------------------