diff --git a/skins/9IPHP/archive-articles.ftl b/9IPHP/archive-articles.ftl similarity index 100% rename from skins/9IPHP/archive-articles.ftl rename to 9IPHP/archive-articles.ftl diff --git a/skins/9IPHP/archives.ftl b/9IPHP/archives.ftl similarity index 100% rename from skins/9IPHP/archives.ftl rename to 9IPHP/archives.ftl diff --git a/skins/9IPHP/article-list.ftl b/9IPHP/article-list.ftl similarity index 100% rename from skins/9IPHP/article-list.ftl rename to 9IPHP/article-list.ftl diff --git a/skins/9IPHP/article.ftl b/9IPHP/article.ftl similarity index 100% rename from skins/9IPHP/article.ftl rename to 9IPHP/article.ftl diff --git a/skins/9IPHP/category-articles.ftl b/9IPHP/category-articles.ftl similarity index 100% rename from skins/9IPHP/category-articles.ftl rename to 9IPHP/category-articles.ftl diff --git a/skins/9IPHP/common-comment.ftl b/9IPHP/common-comment.ftl similarity index 100% rename from skins/9IPHP/common-comment.ftl rename to 9IPHP/common-comment.ftl diff --git a/skins/9IPHP/css/base.css b/9IPHP/css/base.css similarity index 100% rename from skins/9IPHP/css/base.css rename to 9IPHP/css/base.css diff --git a/skins/9IPHP/css/base.min.css b/9IPHP/css/base.min.css similarity index 100% rename from skins/9IPHP/css/base.min.css rename to 9IPHP/css/base.min.css diff --git a/skins/9IPHP/css/fonts/icomoon.eot b/9IPHP/css/fonts/icomoon.eot similarity index 100% rename from skins/9IPHP/css/fonts/icomoon.eot rename to 9IPHP/css/fonts/icomoon.eot diff --git a/skins/9IPHP/css/fonts/icomoon.svg b/9IPHP/css/fonts/icomoon.svg similarity index 100% rename from skins/9IPHP/css/fonts/icomoon.svg rename to 9IPHP/css/fonts/icomoon.svg diff --git a/skins/9IPHP/css/fonts/icomoon.ttf b/9IPHP/css/fonts/icomoon.ttf similarity index 100% rename from skins/9IPHP/css/fonts/icomoon.ttf rename to 9IPHP/css/fonts/icomoon.ttf diff --git a/skins/9IPHP/css/fonts/icomoon.woff b/9IPHP/css/fonts/icomoon.woff similarity index 100% rename from skins/9IPHP/css/fonts/icomoon.woff rename to 9IPHP/css/fonts/icomoon.woff diff --git a/skins/9IPHP/css/selection.json b/9IPHP/css/selection.json similarity index 100% rename from skins/9IPHP/css/selection.json rename to 9IPHP/css/selection.json diff --git a/skins/9IPHP/dynamic.ftl b/9IPHP/dynamic.ftl similarity index 100% rename from skins/9IPHP/dynamic.ftl rename to 9IPHP/dynamic.ftl diff --git a/skins/9IPHP/footer.ftl b/9IPHP/footer.ftl similarity index 100% rename from skins/9IPHP/footer.ftl rename to 9IPHP/footer.ftl diff --git a/skins/9IPHP/header.ftl b/9IPHP/header.ftl similarity index 100% rename from skins/9IPHP/header.ftl rename to 9IPHP/header.ftl diff --git a/skins/9IPHP/images/code-bg.png b/9IPHP/images/code-bg.png similarity index 100% rename from skins/9IPHP/images/code-bg.png rename to 9IPHP/images/code-bg.png diff --git a/skins/9IPHP/index.ftl b/9IPHP/index.ftl similarity index 100% rename from skins/9IPHP/index.ftl rename to 9IPHP/index.ftl diff --git a/skins/9IPHP/js/common.js b/9IPHP/js/common.js similarity index 100% rename from skins/9IPHP/js/common.js rename to 9IPHP/js/common.js diff --git a/skins/9IPHP/js/common.min.js b/9IPHP/js/common.min.js similarity index 100% rename from skins/9IPHP/js/common.min.js rename to 9IPHP/js/common.min.js diff --git a/skins/9IPHP/js/isotope.pkgd.js b/9IPHP/js/isotope.pkgd.js similarity index 100% rename from skins/9IPHP/js/isotope.pkgd.js rename to 9IPHP/js/isotope.pkgd.js diff --git a/skins/9IPHP/js/isotope.pkgd.min.js b/9IPHP/js/isotope.pkgd.min.js similarity index 100% rename from skins/9IPHP/js/isotope.pkgd.min.js rename to 9IPHP/js/isotope.pkgd.min.js diff --git a/skins/9IPHP/lang/lang_en_US.properties b/9IPHP/lang/lang_en_US.properties similarity index 100% rename from skins/9IPHP/lang/lang_en_US.properties rename to 9IPHP/lang/lang_en_US.properties diff --git a/skins/9IPHP/lang/lang_zh_CN.properties b/9IPHP/lang/lang_zh_CN.properties similarity index 100% rename from skins/9IPHP/lang/lang_zh_CN.properties rename to 9IPHP/lang/lang_zh_CN.properties diff --git a/skins/9IPHP/links.ftl b/9IPHP/links.ftl similarity index 100% rename from skins/9IPHP/links.ftl rename to 9IPHP/links.ftl diff --git a/skins/9IPHP/macro-comments.ftl b/9IPHP/macro-comments.ftl similarity index 100% rename from skins/9IPHP/macro-comments.ftl rename to 9IPHP/macro-comments.ftl diff --git a/skins/9IPHP/macro-head.ftl b/9IPHP/macro-head.ftl similarity index 100% rename from skins/9IPHP/macro-head.ftl rename to 9IPHP/macro-head.ftl diff --git a/skins/9IPHP/page.ftl b/9IPHP/page.ftl similarity index 100% rename from skins/9IPHP/page.ftl rename to 9IPHP/page.ftl diff --git a/skins/9IPHP/preview.png b/9IPHP/preview.png similarity index 100% rename from skins/9IPHP/preview.png rename to 9IPHP/preview.png diff --git a/skins/9IPHP/side.ftl b/9IPHP/side.ftl similarity index 100% rename from skins/9IPHP/side.ftl rename to 9IPHP/side.ftl diff --git a/skins/9IPHP/skin.properties b/9IPHP/skin.properties similarity index 100% rename from skins/9IPHP/skin.properties rename to 9IPHP/skin.properties diff --git a/skins/9IPHP/tag-articles.ftl b/9IPHP/tag-articles.ftl similarity index 100% rename from skins/9IPHP/tag-articles.ftl rename to 9IPHP/tag-articles.ftl diff --git a/skins/9IPHP/tags.ftl b/9IPHP/tags.ftl similarity index 100% rename from skins/9IPHP/tags.ftl rename to 9IPHP/tags.ftl diff --git a/skins/Andrea/archive-articles.ftl b/Andrea/archive-articles.ftl similarity index 100% rename from skins/Andrea/archive-articles.ftl rename to Andrea/archive-articles.ftl diff --git a/skins/Andrea/article-list.ftl b/Andrea/article-list.ftl similarity index 100% rename from skins/Andrea/article-list.ftl rename to Andrea/article-list.ftl diff --git a/skins/Andrea/article.ftl b/Andrea/article.ftl similarity index 100% rename from skins/Andrea/article.ftl rename to Andrea/article.ftl diff --git a/skins/Andrea/author-articles.ftl b/Andrea/author-articles.ftl similarity index 100% rename from skins/Andrea/author-articles.ftl rename to Andrea/author-articles.ftl diff --git a/skins/Andrea/category-articles.ftl b/Andrea/category-articles.ftl similarity index 100% rename from skins/Andrea/category-articles.ftl rename to Andrea/category-articles.ftl diff --git a/skins/Andrea/common-comment.ftl b/Andrea/common-comment.ftl similarity index 100% rename from skins/Andrea/common-comment.ftl rename to Andrea/common-comment.ftl diff --git a/skins/Andrea/css/Andrea.css b/Andrea/css/Andrea.css similarity index 100% rename from skins/Andrea/css/Andrea.css rename to Andrea/css/Andrea.css diff --git a/skins/Andrea/css/Andrea.min.css b/Andrea/css/Andrea.min.css similarity index 100% rename from skins/Andrea/css/Andrea.min.css rename to Andrea/css/Andrea.min.css diff --git a/skins/Andrea/footer.ftl b/Andrea/footer.ftl similarity index 100% rename from skins/Andrea/footer.ftl rename to Andrea/footer.ftl diff --git a/skins/Andrea/header.ftl b/Andrea/header.ftl similarity index 100% rename from skins/Andrea/header.ftl rename to Andrea/header.ftl diff --git a/skins/Andrea/images/bg-blue.jpg b/Andrea/images/bg-blue.jpg similarity index 100% rename from skins/Andrea/images/bg-blue.jpg rename to Andrea/images/bg-blue.jpg diff --git a/skins/Andrea/images/bg-brown.jpg b/Andrea/images/bg-brown.jpg similarity index 100% rename from skins/Andrea/images/bg-brown.jpg rename to Andrea/images/bg-brown.jpg diff --git a/skins/Andrea/images/bg-grey.jpg b/Andrea/images/bg-grey.jpg similarity index 100% rename from skins/Andrea/images/bg-grey.jpg rename to Andrea/images/bg-grey.jpg diff --git a/skins/Andrea/images/bg-transparent.png b/Andrea/images/bg-transparent.png similarity index 100% rename from skins/Andrea/images/bg-transparent.png rename to Andrea/images/bg-transparent.png diff --git a/skins/Andrea/images/bgs.png b/Andrea/images/bgs.png similarity index 100% rename from skins/Andrea/images/bgs.png rename to Andrea/images/bgs.png diff --git a/skins/Andrea/images/footer.png b/Andrea/images/footer.png similarity index 100% rename from skins/Andrea/images/footer.png rename to Andrea/images/footer.png diff --git a/skins/Andrea/images/icon.png b/Andrea/images/icon.png similarity index 100% rename from skins/Andrea/images/icon.png rename to Andrea/images/icon.png diff --git a/skins/Andrea/images/paint.png b/Andrea/images/paint.png similarity index 100% rename from skins/Andrea/images/paint.png rename to Andrea/images/paint.png diff --git a/skins/Andrea/index.ftl b/Andrea/index.ftl similarity index 100% rename from skins/Andrea/index.ftl rename to Andrea/index.ftl diff --git a/skins/Andrea/lang/lang_en_US.properties b/Andrea/lang/lang_en_US.properties similarity index 100% rename from skins/Andrea/lang/lang_en_US.properties rename to Andrea/lang/lang_en_US.properties diff --git a/skins/Andrea/lang/lang_zh_CN.properties b/Andrea/lang/lang_zh_CN.properties similarity index 100% rename from skins/Andrea/lang/lang_zh_CN.properties rename to Andrea/lang/lang_zh_CN.properties diff --git a/skins/Andrea/macro-comments.ftl b/Andrea/macro-comments.ftl similarity index 100% rename from skins/Andrea/macro-comments.ftl rename to Andrea/macro-comments.ftl diff --git a/skins/Andrea/macro-head.ftl b/Andrea/macro-head.ftl similarity index 100% rename from skins/Andrea/macro-head.ftl rename to Andrea/macro-head.ftl diff --git a/skins/Andrea/page.ftl b/Andrea/page.ftl similarity index 100% rename from skins/Andrea/page.ftl rename to Andrea/page.ftl diff --git a/skins/Andrea/preview.png b/Andrea/preview.png similarity index 100% rename from skins/Andrea/preview.png rename to Andrea/preview.png diff --git a/skins/Andrea/side-tool.ftl b/Andrea/side-tool.ftl similarity index 100% rename from skins/Andrea/side-tool.ftl rename to Andrea/side-tool.ftl diff --git a/skins/Andrea/side.ftl b/Andrea/side.ftl similarity index 100% rename from skins/Andrea/side.ftl rename to Andrea/side.ftl diff --git a/skins/Andrea/skin.properties b/Andrea/skin.properties similarity index 100% rename from skins/Andrea/skin.properties rename to Andrea/skin.properties diff --git a/skins/Andrea/tag-articles.ftl b/Andrea/tag-articles.ftl similarity index 100% rename from skins/Andrea/tag-articles.ftl rename to Andrea/tag-articles.ftl diff --git a/skins/Andrea/tags.ftl b/Andrea/tags.ftl similarity index 100% rename from skins/Andrea/tags.ftl rename to Andrea/tags.ftl diff --git a/skins/Bruce/archive-articles.ftl b/Bruce/archive-articles.ftl similarity index 100% rename from skins/Bruce/archive-articles.ftl rename to Bruce/archive-articles.ftl diff --git a/skins/Bruce/archives.ftl b/Bruce/archives.ftl similarity index 100% rename from skins/Bruce/archives.ftl rename to Bruce/archives.ftl diff --git a/skins/Bruce/article-list.ftl b/Bruce/article-list.ftl similarity index 100% rename from skins/Bruce/article-list.ftl rename to Bruce/article-list.ftl diff --git a/skins/Bruce/article.ftl b/Bruce/article.ftl similarity index 100% rename from skins/Bruce/article.ftl rename to Bruce/article.ftl diff --git a/skins/Bruce/category-articles.ftl b/Bruce/category-articles.ftl similarity index 100% rename from skins/Bruce/category-articles.ftl rename to Bruce/category-articles.ftl diff --git a/skins/Bruce/common-comment.ftl b/Bruce/common-comment.ftl similarity index 100% rename from skins/Bruce/common-comment.ftl rename to Bruce/common-comment.ftl diff --git a/skins/Bruce/css/Bruce.css b/Bruce/css/Bruce.css similarity index 100% rename from skins/Bruce/css/Bruce.css rename to Bruce/css/Bruce.css diff --git a/skins/Bruce/css/Bruce.min.css b/Bruce/css/Bruce.min.css similarity index 100% rename from skins/Bruce/css/Bruce.min.css rename to Bruce/css/Bruce.min.css diff --git a/skins/Bruce/css/bootstrap-theme.css b/Bruce/css/bootstrap-theme.css similarity index 100% rename from skins/Bruce/css/bootstrap-theme.css rename to Bruce/css/bootstrap-theme.css diff --git a/skins/Bruce/css/bootstrap-theme.css.map b/Bruce/css/bootstrap-theme.css.map similarity index 100% rename from skins/Bruce/css/bootstrap-theme.css.map rename to Bruce/css/bootstrap-theme.css.map diff --git a/skins/Bruce/css/bootstrap-theme.min.css b/Bruce/css/bootstrap-theme.min.css similarity index 100% rename from skins/Bruce/css/bootstrap-theme.min.css rename to Bruce/css/bootstrap-theme.min.css diff --git a/skins/Bruce/css/bootstrap.css b/Bruce/css/bootstrap.css similarity index 100% rename from skins/Bruce/css/bootstrap.css rename to Bruce/css/bootstrap.css diff --git a/skins/Bruce/css/bootstrap.css.map b/Bruce/css/bootstrap.css.map similarity index 100% rename from skins/Bruce/css/bootstrap.css.map rename to Bruce/css/bootstrap.css.map diff --git a/skins/Bruce/css/bootstrap.min.css b/Bruce/css/bootstrap.min.css similarity index 100% rename from skins/Bruce/css/bootstrap.min.css rename to Bruce/css/bootstrap.min.css diff --git a/skins/Bruce/fonts/glyphicons-halflings-regular.eot b/Bruce/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from skins/Bruce/fonts/glyphicons-halflings-regular.eot rename to Bruce/fonts/glyphicons-halflings-regular.eot diff --git a/skins/Bruce/fonts/glyphicons-halflings-regular.svg b/Bruce/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from skins/Bruce/fonts/glyphicons-halflings-regular.svg rename to Bruce/fonts/glyphicons-halflings-regular.svg diff --git a/skins/Bruce/fonts/glyphicons-halflings-regular.ttf b/Bruce/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from skins/Bruce/fonts/glyphicons-halflings-regular.ttf rename to Bruce/fonts/glyphicons-halflings-regular.ttf diff --git a/skins/Bruce/fonts/glyphicons-halflings-regular.woff b/Bruce/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from skins/Bruce/fonts/glyphicons-halflings-regular.woff rename to Bruce/fonts/glyphicons-halflings-regular.woff diff --git a/skins/Bruce/footer.ftl b/Bruce/footer.ftl similarity index 100% rename from skins/Bruce/footer.ftl rename to Bruce/footer.ftl diff --git a/skins/Bruce/header.ftl b/Bruce/header.ftl similarity index 100% rename from skins/Bruce/header.ftl rename to Bruce/header.ftl diff --git a/skins/Bruce/index.ftl b/Bruce/index.ftl similarity index 100% rename from skins/Bruce/index.ftl rename to Bruce/index.ftl diff --git a/skins/Bruce/js/bootstrap.js b/Bruce/js/bootstrap.js similarity index 100% rename from skins/Bruce/js/bootstrap.js rename to Bruce/js/bootstrap.js diff --git a/skins/Bruce/js/bootstrap.min.js b/Bruce/js/bootstrap.min.js similarity index 100% rename from skins/Bruce/js/bootstrap.min.js rename to Bruce/js/bootstrap.min.js diff --git a/skins/Bruce/lang/lang_en_US.properties b/Bruce/lang/lang_en_US.properties similarity index 100% rename from skins/Bruce/lang/lang_en_US.properties rename to Bruce/lang/lang_en_US.properties diff --git a/skins/Bruce/lang/lang_zh_CN.properties b/Bruce/lang/lang_zh_CN.properties similarity index 100% rename from skins/Bruce/lang/lang_zh_CN.properties rename to Bruce/lang/lang_zh_CN.properties diff --git a/skins/Bruce/links.ftl b/Bruce/links.ftl similarity index 100% rename from skins/Bruce/links.ftl rename to Bruce/links.ftl diff --git a/skins/Bruce/macro-comments.ftl b/Bruce/macro-comments.ftl similarity index 100% rename from skins/Bruce/macro-comments.ftl rename to Bruce/macro-comments.ftl diff --git a/skins/Bruce/macro-head.ftl b/Bruce/macro-head.ftl similarity index 100% rename from skins/Bruce/macro-head.ftl rename to Bruce/macro-head.ftl diff --git a/skins/Bruce/page.ftl b/Bruce/page.ftl similarity index 100% rename from skins/Bruce/page.ftl rename to Bruce/page.ftl diff --git a/skins/Bruce/preview.png b/Bruce/preview.png similarity index 100% rename from skins/Bruce/preview.png rename to Bruce/preview.png diff --git a/skins/Bruce/skin.properties b/Bruce/skin.properties similarity index 100% rename from skins/Bruce/skin.properties rename to Bruce/skin.properties diff --git a/skins/Bruce/tag-articles.ftl b/Bruce/tag-articles.ftl similarity index 100% rename from skins/Bruce/tag-articles.ftl rename to Bruce/tag-articles.ftl diff --git a/skins/Bruce/tags.ftl b/Bruce/tags.ftl similarity index 100% rename from skins/Bruce/tags.ftl rename to Bruce/tags.ftl diff --git a/skins/Community/archive-articles.ftl b/Community/archive-articles.ftl similarity index 100% rename from skins/Community/archive-articles.ftl rename to Community/archive-articles.ftl diff --git a/skins/Community/article-list.ftl b/Community/article-list.ftl similarity index 100% rename from skins/Community/article-list.ftl rename to Community/article-list.ftl diff --git a/skins/Community/article.ftl b/Community/article.ftl similarity index 100% rename from skins/Community/article.ftl rename to Community/article.ftl diff --git a/skins/Community/author-articles.ftl b/Community/author-articles.ftl similarity index 100% rename from skins/Community/author-articles.ftl rename to Community/author-articles.ftl diff --git a/skins/Community/category-articles.ftl b/Community/category-articles.ftl similarity index 100% rename from skins/Community/category-articles.ftl rename to Community/category-articles.ftl diff --git a/skins/Community/common-comment.ftl b/Community/common-comment.ftl similarity index 100% rename from skins/Community/common-comment.ftl rename to Community/common-comment.ftl diff --git a/skins/Community/css/Community.css b/Community/css/Community.css similarity index 100% rename from skins/Community/css/Community.css rename to Community/css/Community.css diff --git a/skins/Community/css/Community.min.css b/Community/css/Community.min.css similarity index 100% rename from skins/Community/css/Community.min.css rename to Community/css/Community.min.css diff --git a/skins/Community/footer.ftl b/Community/footer.ftl similarity index 100% rename from skins/Community/footer.ftl rename to Community/footer.ftl diff --git a/skins/Community/header.ftl b/Community/header.ftl similarity index 100% rename from skins/Community/header.ftl rename to Community/header.ftl diff --git a/skins/Community/images/author-header.png b/Community/images/author-header.png similarity index 100% rename from skins/Community/images/author-header.png rename to Community/images/author-header.png diff --git a/skins/Community/images/icon.png b/Community/images/icon.png similarity index 100% rename from skins/Community/images/icon.png rename to Community/images/icon.png diff --git a/skins/Community/images/indentline-light.png b/Community/images/indentline-light.png similarity index 100% rename from skins/Community/images/indentline-light.png rename to Community/images/indentline-light.png diff --git a/skins/Community/images/indentline.png b/Community/images/indentline.png similarity index 100% rename from skins/Community/images/indentline.png rename to Community/images/indentline.png diff --git a/skins/Community/index.ftl b/Community/index.ftl similarity index 100% rename from skins/Community/index.ftl rename to Community/index.ftl diff --git a/skins/Community/lang/lang_en_US.properties b/Community/lang/lang_en_US.properties similarity index 100% rename from skins/Community/lang/lang_en_US.properties rename to Community/lang/lang_en_US.properties diff --git a/skins/Community/lang/lang_zh_CN.properties b/Community/lang/lang_zh_CN.properties similarity index 100% rename from skins/Community/lang/lang_zh_CN.properties rename to Community/lang/lang_zh_CN.properties diff --git a/skins/Community/macro-comments.ftl b/Community/macro-comments.ftl similarity index 100% rename from skins/Community/macro-comments.ftl rename to Community/macro-comments.ftl diff --git a/skins/Community/macro-head.ftl b/Community/macro-head.ftl similarity index 100% rename from skins/Community/macro-head.ftl rename to Community/macro-head.ftl diff --git a/skins/Community/page.ftl b/Community/page.ftl similarity index 100% rename from skins/Community/page.ftl rename to Community/page.ftl diff --git a/skins/Community/preview.png b/Community/preview.png similarity index 100% rename from skins/Community/preview.png rename to Community/preview.png diff --git a/skins/Community/side.ftl b/Community/side.ftl similarity index 100% rename from skins/Community/side.ftl rename to Community/side.ftl diff --git a/skins/Community/skin.properties b/Community/skin.properties similarity index 100% rename from skins/Community/skin.properties rename to Community/skin.properties diff --git a/skins/Community/tag-articles.ftl b/Community/tag-articles.ftl similarity index 100% rename from skins/Community/tag-articles.ftl rename to Community/tag-articles.ftl diff --git a/skins/Community/tags.ftl b/Community/tags.ftl similarity index 100% rename from skins/Community/tags.ftl rename to Community/tags.ftl diff --git a/skins/Finding/archive-articles.ftl b/Finding/archive-articles.ftl similarity index 100% rename from skins/Finding/archive-articles.ftl rename to Finding/archive-articles.ftl diff --git a/skins/Finding/archives.ftl b/Finding/archives.ftl similarity index 100% rename from skins/Finding/archives.ftl rename to Finding/archives.ftl diff --git a/skins/Finding/article-list.ftl b/Finding/article-list.ftl similarity index 100% rename from skins/Finding/article-list.ftl rename to Finding/article-list.ftl diff --git a/skins/Finding/article.ftl b/Finding/article.ftl similarity index 100% rename from skins/Finding/article.ftl rename to Finding/article.ftl diff --git a/skins/Finding/author-articles.ftl b/Finding/author-articles.ftl similarity index 100% rename from skins/Finding/author-articles.ftl rename to Finding/author-articles.ftl diff --git a/skins/Finding/category-articles.ftl b/Finding/category-articles.ftl similarity index 100% rename from skins/Finding/category-articles.ftl rename to Finding/category-articles.ftl diff --git a/skins/Finding/category.ftl b/Finding/category.ftl similarity index 100% rename from skins/Finding/category.ftl rename to Finding/category.ftl diff --git a/skins/Finding/common-comment.ftl b/Finding/common-comment.ftl similarity index 100% rename from skins/Finding/common-comment.ftl rename to Finding/common-comment.ftl diff --git a/skins/Finding/css/Finding.css b/Finding/css/Finding.css similarity index 100% rename from skins/Finding/css/Finding.css rename to Finding/css/Finding.css diff --git a/skins/Finding/css/Finding.min.css b/Finding/css/Finding.min.css similarity index 100% rename from skins/Finding/css/Finding.min.css rename to Finding/css/Finding.min.css diff --git a/skins/Finding/css/fonts/icomoon.eot b/Finding/css/fonts/icomoon.eot similarity index 100% rename from skins/Finding/css/fonts/icomoon.eot rename to Finding/css/fonts/icomoon.eot diff --git a/skins/Finding/css/fonts/icomoon.svg b/Finding/css/fonts/icomoon.svg similarity index 100% rename from skins/Finding/css/fonts/icomoon.svg rename to Finding/css/fonts/icomoon.svg diff --git a/skins/Finding/css/fonts/icomoon.ttf b/Finding/css/fonts/icomoon.ttf similarity index 100% rename from skins/Finding/css/fonts/icomoon.ttf rename to Finding/css/fonts/icomoon.ttf diff --git a/skins/Finding/css/fonts/icomoon.woff b/Finding/css/fonts/icomoon.woff similarity index 100% rename from skins/Finding/css/fonts/icomoon.woff rename to Finding/css/fonts/icomoon.woff diff --git a/skins/Finding/css/fonts/selection.json b/Finding/css/fonts/selection.json similarity index 100% rename from skins/Finding/css/fonts/selection.json rename to Finding/css/fonts/selection.json diff --git a/skins/Finding/dynamic.ftl b/Finding/dynamic.ftl similarity index 100% rename from skins/Finding/dynamic.ftl rename to Finding/dynamic.ftl diff --git a/skins/Finding/footer.ftl b/Finding/footer.ftl similarity index 100% rename from skins/Finding/footer.ftl rename to Finding/footer.ftl diff --git a/skins/Finding/header.ftl b/Finding/header.ftl similarity index 100% rename from skins/Finding/header.ftl rename to Finding/header.ftl diff --git a/skins/Finding/images/header-bg.jpg b/Finding/images/header-bg.jpg similarity index 100% rename from skins/Finding/images/header-bg.jpg rename to Finding/images/header-bg.jpg diff --git a/skins/Finding/images/next.jpg b/Finding/images/next.jpg similarity index 100% rename from skins/Finding/images/next.jpg rename to Finding/images/next.jpg diff --git a/skins/Finding/images/preview.jpg b/Finding/images/preview.jpg similarity index 100% rename from skins/Finding/images/preview.jpg rename to Finding/images/preview.jpg diff --git a/skins/Finding/index.ftl b/Finding/index.ftl similarity index 100% rename from skins/Finding/index.ftl rename to Finding/index.ftl diff --git a/skins/Finding/js/Finding.js b/Finding/js/Finding.js similarity index 100% rename from skins/Finding/js/Finding.js rename to Finding/js/Finding.js diff --git a/skins/Finding/js/Finding.min.js b/Finding/js/Finding.min.js similarity index 100% rename from skins/Finding/js/Finding.min.js rename to Finding/js/Finding.min.js diff --git a/skins/Finding/lang/lang_en_US.properties b/Finding/lang/lang_en_US.properties similarity index 100% rename from skins/Finding/lang/lang_en_US.properties rename to Finding/lang/lang_en_US.properties diff --git a/skins/Finding/lang/lang_zh_CN.properties b/Finding/lang/lang_zh_CN.properties similarity index 100% rename from skins/Finding/lang/lang_zh_CN.properties rename to Finding/lang/lang_zh_CN.properties diff --git a/skins/Finding/links.ftl b/Finding/links.ftl similarity index 100% rename from skins/Finding/links.ftl rename to Finding/links.ftl diff --git a/skins/Finding/macro-comments.ftl b/Finding/macro-comments.ftl similarity index 100% rename from skins/Finding/macro-comments.ftl rename to Finding/macro-comments.ftl diff --git a/skins/Finding/macro-head.ftl b/Finding/macro-head.ftl similarity index 100% rename from skins/Finding/macro-head.ftl rename to Finding/macro-head.ftl diff --git a/skins/Finding/page.ftl b/Finding/page.ftl similarity index 100% rename from skins/Finding/page.ftl rename to Finding/page.ftl diff --git a/skins/Finding/preview.png b/Finding/preview.png similarity index 100% rename from skins/Finding/preview.png rename to Finding/preview.png diff --git a/skins/Finding/side.ftl b/Finding/side.ftl similarity index 100% rename from skins/Finding/side.ftl rename to Finding/side.ftl diff --git a/skins/Finding/skin.properties b/Finding/skin.properties similarity index 100% rename from skins/Finding/skin.properties rename to Finding/skin.properties diff --git a/skins/Finding/tag-articles.ftl b/Finding/tag-articles.ftl similarity index 100% rename from skins/Finding/tag-articles.ftl rename to Finding/tag-articles.ftl diff --git a/skins/Finding/tags.ftl b/Finding/tags.ftl similarity index 100% rename from skins/Finding/tags.ftl rename to Finding/tags.ftl diff --git a/skins/Medium/archive-articles.ftl b/Medium/archive-articles.ftl similarity index 100% rename from skins/Medium/archive-articles.ftl rename to Medium/archive-articles.ftl diff --git a/skins/Medium/archives.ftl b/Medium/archives.ftl similarity index 100% rename from skins/Medium/archives.ftl rename to Medium/archives.ftl diff --git a/skins/Medium/article-list.ftl b/Medium/article-list.ftl similarity index 100% rename from skins/Medium/article-list.ftl rename to Medium/article-list.ftl diff --git a/skins/Medium/article.ftl b/Medium/article.ftl similarity index 100% rename from skins/Medium/article.ftl rename to Medium/article.ftl diff --git a/skins/Medium/bottom.ftl b/Medium/bottom.ftl similarity index 100% rename from skins/Medium/bottom.ftl rename to Medium/bottom.ftl diff --git a/skins/Medium/bottom2.ftl b/Medium/bottom2.ftl similarity index 100% rename from skins/Medium/bottom2.ftl rename to Medium/bottom2.ftl diff --git a/skins/Medium/category-articles.ftl b/Medium/category-articles.ftl similarity index 100% rename from skins/Medium/category-articles.ftl rename to Medium/category-articles.ftl diff --git a/skins/Medium/common-comment.ftl b/Medium/common-comment.ftl similarity index 100% rename from skins/Medium/common-comment.ftl rename to Medium/common-comment.ftl diff --git a/skins/Medium/css/base.css b/Medium/css/base.css similarity index 100% rename from skins/Medium/css/base.css rename to Medium/css/base.css diff --git a/skins/Medium/css/base.min.css b/Medium/css/base.min.css similarity index 100% rename from skins/Medium/css/base.min.css rename to Medium/css/base.min.css diff --git a/skins/Medium/css/selection.json b/Medium/css/selection.json similarity index 100% rename from skins/Medium/css/selection.json rename to Medium/css/selection.json diff --git a/skins/Medium/footer.ftl b/Medium/footer.ftl similarity index 100% rename from skins/Medium/footer.ftl rename to Medium/footer.ftl diff --git a/skins/Medium/header.ftl b/Medium/header.ftl similarity index 100% rename from skins/Medium/header.ftl rename to Medium/header.ftl diff --git a/skins/Medium/images/code-bg.png b/Medium/images/code-bg.png similarity index 100% rename from skins/Medium/images/code-bg.png rename to Medium/images/code-bg.png diff --git a/skins/Medium/index.ftl b/Medium/index.ftl similarity index 100% rename from skins/Medium/index.ftl rename to Medium/index.ftl diff --git a/skins/Medium/js/common.js b/Medium/js/common.js similarity index 100% rename from skins/Medium/js/common.js rename to Medium/js/common.js diff --git a/skins/Medium/js/common.min.js b/Medium/js/common.min.js similarity index 100% rename from skins/Medium/js/common.min.js rename to Medium/js/common.min.js diff --git a/skins/Medium/js/jquery.qrcode.js b/Medium/js/jquery.qrcode.js similarity index 100% rename from skins/Medium/js/jquery.qrcode.js rename to Medium/js/jquery.qrcode.js diff --git a/skins/Medium/js/jquery.qrcode.min.js b/Medium/js/jquery.qrcode.min.js similarity index 100% rename from skins/Medium/js/jquery.qrcode.min.js rename to Medium/js/jquery.qrcode.min.js diff --git a/skins/Medium/lang/lang_en_US.properties b/Medium/lang/lang_en_US.properties similarity index 100% rename from skins/Medium/lang/lang_en_US.properties rename to Medium/lang/lang_en_US.properties diff --git a/skins/Medium/lang/lang_zh_CN.properties b/Medium/lang/lang_zh_CN.properties similarity index 100% rename from skins/Medium/lang/lang_zh_CN.properties rename to Medium/lang/lang_zh_CN.properties diff --git a/skins/Medium/links.ftl b/Medium/links.ftl similarity index 100% rename from skins/Medium/links.ftl rename to Medium/links.ftl diff --git a/skins/Medium/macro-comments.ftl b/Medium/macro-comments.ftl similarity index 100% rename from skins/Medium/macro-comments.ftl rename to Medium/macro-comments.ftl diff --git a/skins/Medium/macro-head.ftl b/Medium/macro-head.ftl similarity index 100% rename from skins/Medium/macro-head.ftl rename to Medium/macro-head.ftl diff --git a/skins/Medium/nav.ftl b/Medium/nav.ftl similarity index 100% rename from skins/Medium/nav.ftl rename to Medium/nav.ftl diff --git a/skins/Medium/page.ftl b/Medium/page.ftl similarity index 100% rename from skins/Medium/page.ftl rename to Medium/page.ftl diff --git a/skins/Medium/preview.png b/Medium/preview.png similarity index 100% rename from skins/Medium/preview.png rename to Medium/preview.png diff --git a/skins/Medium/skin.properties b/Medium/skin.properties similarity index 100% rename from skins/Medium/skin.properties rename to Medium/skin.properties diff --git a/skins/Medium/tag-articles.ftl b/Medium/tag-articles.ftl similarity index 100% rename from skins/Medium/tag-articles.ftl rename to Medium/tag-articles.ftl diff --git a/skins/Medium/tags.ftl b/Medium/tags.ftl similarity index 100% rename from skins/Medium/tags.ftl rename to Medium/tags.ftl diff --git a/skins/NeoEase/archive-articles.ftl b/NeoEase/archive-articles.ftl similarity index 100% rename from skins/NeoEase/archive-articles.ftl rename to NeoEase/archive-articles.ftl diff --git a/skins/NeoEase/article-list.ftl b/NeoEase/article-list.ftl similarity index 100% rename from skins/NeoEase/article-list.ftl rename to NeoEase/article-list.ftl diff --git a/skins/NeoEase/article.ftl b/NeoEase/article.ftl similarity index 100% rename from skins/NeoEase/article.ftl rename to NeoEase/article.ftl diff --git a/skins/NeoEase/author-articles.ftl b/NeoEase/author-articles.ftl similarity index 100% rename from skins/NeoEase/author-articles.ftl rename to NeoEase/author-articles.ftl diff --git a/skins/NeoEase/category-articles.ftl b/NeoEase/category-articles.ftl similarity index 100% rename from skins/NeoEase/category-articles.ftl rename to NeoEase/category-articles.ftl diff --git a/skins/NeoEase/common-comment.ftl b/NeoEase/common-comment.ftl similarity index 100% rename from skins/NeoEase/common-comment.ftl rename to NeoEase/common-comment.ftl diff --git a/skins/NeoEase/css/NeoEase.css b/NeoEase/css/NeoEase.css similarity index 100% rename from skins/NeoEase/css/NeoEase.css rename to NeoEase/css/NeoEase.css diff --git a/skins/NeoEase/css/NeoEase.min.css b/NeoEase/css/NeoEase.min.css similarity index 100% rename from skins/NeoEase/css/NeoEase.min.css rename to NeoEase/css/NeoEase.min.css diff --git a/skins/NeoEase/footer.ftl b/NeoEase/footer.ftl similarity index 100% rename from skins/NeoEase/footer.ftl rename to NeoEase/footer.ftl diff --git a/skins/NeoEase/header.ftl b/NeoEase/header.ftl similarity index 100% rename from skins/NeoEase/header.ftl rename to NeoEase/header.ftl diff --git a/skins/NeoEase/images/404.png b/NeoEase/images/404.png similarity index 100% rename from skins/NeoEase/images/404.png rename to NeoEase/images/404.png diff --git a/skins/NeoEase/images/ajax-loader.gif b/NeoEase/images/ajax-loader.gif similarity index 100% rename from skins/NeoEase/images/ajax-loader.gif rename to NeoEase/images/ajax-loader.gif diff --git a/skins/NeoEase/images/icons.png b/NeoEase/images/icons.png similarity index 100% rename from skins/NeoEase/images/icons.png rename to NeoEase/images/icons.png diff --git a/skins/NeoEase/index.ftl b/NeoEase/index.ftl similarity index 100% rename from skins/NeoEase/index.ftl rename to NeoEase/index.ftl diff --git a/skins/NeoEase/js/NeoEase.js b/NeoEase/js/NeoEase.js similarity index 100% rename from skins/NeoEase/js/NeoEase.js rename to NeoEase/js/NeoEase.js diff --git a/skins/NeoEase/js/NeoEase.min.js b/NeoEase/js/NeoEase.min.js similarity index 100% rename from skins/NeoEase/js/NeoEase.min.js rename to NeoEase/js/NeoEase.min.js diff --git a/skins/NeoEase/lang/lang_en_US.properties b/NeoEase/lang/lang_en_US.properties similarity index 100% rename from skins/NeoEase/lang/lang_en_US.properties rename to NeoEase/lang/lang_en_US.properties diff --git a/skins/NeoEase/lang/lang_zh_CN.properties b/NeoEase/lang/lang_zh_CN.properties similarity index 100% rename from skins/NeoEase/lang/lang_zh_CN.properties rename to NeoEase/lang/lang_zh_CN.properties diff --git a/skins/NeoEase/macro-comments.ftl b/NeoEase/macro-comments.ftl similarity index 100% rename from skins/NeoEase/macro-comments.ftl rename to NeoEase/macro-comments.ftl diff --git a/skins/NeoEase/macro-head.ftl b/NeoEase/macro-head.ftl similarity index 100% rename from skins/NeoEase/macro-head.ftl rename to NeoEase/macro-head.ftl diff --git a/skins/NeoEase/page.ftl b/NeoEase/page.ftl similarity index 100% rename from skins/NeoEase/page.ftl rename to NeoEase/page.ftl diff --git a/skins/NeoEase/preview.png b/NeoEase/preview.png similarity index 100% rename from skins/NeoEase/preview.png rename to NeoEase/preview.png diff --git a/skins/NeoEase/side.ftl b/NeoEase/side.ftl similarity index 100% rename from skins/NeoEase/side.ftl rename to NeoEase/side.ftl diff --git a/skins/NeoEase/skin.properties b/NeoEase/skin.properties similarity index 100% rename from skins/NeoEase/skin.properties rename to NeoEase/skin.properties diff --git a/skins/NeoEase/tag-articles.ftl b/NeoEase/tag-articles.ftl similarity index 100% rename from skins/NeoEase/tag-articles.ftl rename to NeoEase/tag-articles.ftl diff --git a/skins/NeoEase/tags.ftl b/NeoEase/tags.ftl similarity index 100% rename from skins/NeoEase/tags.ftl rename to NeoEase/tags.ftl diff --git a/skins/classic/archive-articles.ftl b/classic/archive-articles.ftl similarity index 100% rename from skins/classic/archive-articles.ftl rename to classic/archive-articles.ftl diff --git a/skins/classic/article-list.ftl b/classic/article-list.ftl similarity index 100% rename from skins/classic/article-list.ftl rename to classic/article-list.ftl diff --git a/skins/classic/article.ftl b/classic/article.ftl similarity index 100% rename from skins/classic/article.ftl rename to classic/article.ftl diff --git a/skins/classic/author-articles.ftl b/classic/author-articles.ftl similarity index 100% rename from skins/classic/author-articles.ftl rename to classic/author-articles.ftl diff --git a/skins/classic/category-articles.ftl b/classic/category-articles.ftl similarity index 100% rename from skins/classic/category-articles.ftl rename to classic/category-articles.ftl diff --git a/skins/classic/common-comment.ftl b/classic/common-comment.ftl similarity index 100% rename from skins/classic/common-comment.ftl rename to classic/common-comment.ftl diff --git a/skins/classic/css/classic.css b/classic/css/classic.css similarity index 100% rename from skins/classic/css/classic.css rename to classic/css/classic.css diff --git a/skins/classic/css/classic.min.css b/classic/css/classic.min.css similarity index 100% rename from skins/classic/css/classic.min.css rename to classic/css/classic.min.css diff --git a/skins/classic/footer.ftl b/classic/footer.ftl similarity index 100% rename from skins/classic/footer.ftl rename to classic/footer.ftl diff --git a/skins/classic/header.ftl b/classic/header.ftl similarity index 100% rename from skins/classic/header.ftl rename to classic/header.ftl diff --git a/skins/classic/images/code-bg.png b/classic/images/code-bg.png similarity index 100% rename from skins/classic/images/code-bg.png rename to classic/images/code-bg.png diff --git a/skins/classic/index.ftl b/classic/index.ftl similarity index 100% rename from skins/classic/index.ftl rename to classic/index.ftl diff --git a/skins/classic/lang/lang_en_US.properties b/classic/lang/lang_en_US.properties similarity index 100% rename from skins/classic/lang/lang_en_US.properties rename to classic/lang/lang_en_US.properties diff --git a/skins/classic/lang/lang_zh_CN.properties b/classic/lang/lang_zh_CN.properties similarity index 100% rename from skins/classic/lang/lang_zh_CN.properties rename to classic/lang/lang_zh_CN.properties diff --git a/skins/classic/macro-comments.ftl b/classic/macro-comments.ftl similarity index 100% rename from skins/classic/macro-comments.ftl rename to classic/macro-comments.ftl diff --git a/skins/classic/macro-head.ftl b/classic/macro-head.ftl similarity index 100% rename from skins/classic/macro-head.ftl rename to classic/macro-head.ftl diff --git a/skins/classic/page.ftl b/classic/page.ftl similarity index 100% rename from skins/classic/page.ftl rename to classic/page.ftl diff --git a/skins/classic/preview.png b/classic/preview.png similarity index 100% rename from skins/classic/preview.png rename to classic/preview.png diff --git a/skins/classic/side.ftl b/classic/side.ftl similarity index 100% rename from skins/classic/side.ftl rename to classic/side.ftl diff --git a/skins/classic/skin.properties b/classic/skin.properties similarity index 100% rename from skins/classic/skin.properties rename to classic/skin.properties diff --git a/skins/classic/tag-articles.ftl b/classic/tag-articles.ftl similarity index 100% rename from skins/classic/tag-articles.ftl rename to classic/tag-articles.ftl diff --git a/skins/classic/tags.ftl b/classic/tags.ftl similarity index 100% rename from skins/classic/tags.ftl rename to classic/tags.ftl diff --git a/skins/ease/archive-articles.ftl b/ease/archive-articles.ftl similarity index 100% rename from skins/ease/archive-articles.ftl rename to ease/archive-articles.ftl diff --git a/skins/ease/archives.ftl b/ease/archives.ftl similarity index 100% rename from skins/ease/archives.ftl rename to ease/archives.ftl diff --git a/skins/ease/article-list.ftl b/ease/article-list.ftl similarity index 100% rename from skins/ease/article-list.ftl rename to ease/article-list.ftl diff --git a/skins/ease/article.ftl b/ease/article.ftl similarity index 100% rename from skins/ease/article.ftl rename to ease/article.ftl diff --git a/skins/ease/author-articles.ftl b/ease/author-articles.ftl similarity index 100% rename from skins/ease/author-articles.ftl rename to ease/author-articles.ftl diff --git a/skins/ease/category-articles.ftl b/ease/category-articles.ftl similarity index 100% rename from skins/ease/category-articles.ftl rename to ease/category-articles.ftl diff --git a/skins/ease/common-comment.ftl b/ease/common-comment.ftl similarity index 100% rename from skins/ease/common-comment.ftl rename to ease/common-comment.ftl diff --git a/skins/ease/css/ease.css b/ease/css/ease.css similarity index 100% rename from skins/ease/css/ease.css rename to ease/css/ease.css diff --git a/skins/ease/css/ease.min.css b/ease/css/ease.min.css similarity index 100% rename from skins/ease/css/ease.min.css rename to ease/css/ease.min.css diff --git a/skins/ease/dynamic.ftl b/ease/dynamic.ftl similarity index 100% rename from skins/ease/dynamic.ftl rename to ease/dynamic.ftl diff --git a/skins/ease/footer.ftl b/ease/footer.ftl similarity index 100% rename from skins/ease/footer.ftl rename to ease/footer.ftl diff --git a/skins/ease/header.ftl b/ease/header.ftl similarity index 100% rename from skins/ease/header.ftl rename to ease/header.ftl diff --git a/skins/ease/images/ajax-loader.gif b/ease/images/ajax-loader.gif similarity index 100% rename from skins/ease/images/ajax-loader.gif rename to ease/images/ajax-loader.gif diff --git a/skins/ease/images/icons.png b/ease/images/icons.png similarity index 100% rename from skins/ease/images/icons.png rename to ease/images/icons.png diff --git a/skins/ease/index.ftl b/ease/index.ftl similarity index 100% rename from skins/ease/index.ftl rename to ease/index.ftl diff --git a/skins/ease/js/ease.js b/ease/js/ease.js similarity index 100% rename from skins/ease/js/ease.js rename to ease/js/ease.js diff --git a/skins/ease/js/ease.min.js b/ease/js/ease.min.js similarity index 100% rename from skins/ease/js/ease.min.js rename to ease/js/ease.min.js diff --git a/skins/ease/lang/lang_en_US.properties b/ease/lang/lang_en_US.properties similarity index 100% rename from skins/ease/lang/lang_en_US.properties rename to ease/lang/lang_en_US.properties diff --git a/skins/ease/lang/lang_zh_CN.properties b/ease/lang/lang_zh_CN.properties similarity index 100% rename from skins/ease/lang/lang_zh_CN.properties rename to ease/lang/lang_zh_CN.properties diff --git a/skins/ease/links.ftl b/ease/links.ftl similarity index 100% rename from skins/ease/links.ftl rename to ease/links.ftl diff --git a/skins/ease/macro-comments.ftl b/ease/macro-comments.ftl similarity index 100% rename from skins/ease/macro-comments.ftl rename to ease/macro-comments.ftl diff --git a/skins/ease/macro-head.ftl b/ease/macro-head.ftl similarity index 100% rename from skins/ease/macro-head.ftl rename to ease/macro-head.ftl diff --git a/skins/ease/page.ftl b/ease/page.ftl similarity index 100% rename from skins/ease/page.ftl rename to ease/page.ftl diff --git a/skins/ease/preview.png b/ease/preview.png similarity index 100% rename from skins/ease/preview.png rename to ease/preview.png diff --git a/skins/ease/skin.properties b/ease/skin.properties similarity index 100% rename from skins/ease/skin.properties rename to ease/skin.properties diff --git a/skins/ease/tag-articles.ftl b/ease/tag-articles.ftl similarity index 100% rename from skins/ease/tag-articles.ftl rename to ease/tag-articles.ftl diff --git a/skins/ease/tags.ftl b/ease/tags.ftl similarity index 100% rename from skins/ease/tags.ftl rename to ease/tags.ftl diff --git a/skins/favourite/archive-articles.ftl b/favourite/archive-articles.ftl similarity index 100% rename from skins/favourite/archive-articles.ftl rename to favourite/archive-articles.ftl diff --git a/skins/favourite/article-list.ftl b/favourite/article-list.ftl similarity index 100% rename from skins/favourite/article-list.ftl rename to favourite/article-list.ftl diff --git a/skins/favourite/article.ftl b/favourite/article.ftl similarity index 100% rename from skins/favourite/article.ftl rename to favourite/article.ftl diff --git a/skins/favourite/author-articles.ftl b/favourite/author-articles.ftl similarity index 100% rename from skins/favourite/author-articles.ftl rename to favourite/author-articles.ftl diff --git a/skins/favourite/category-articles.ftl b/favourite/category-articles.ftl similarity index 100% rename from skins/favourite/category-articles.ftl rename to favourite/category-articles.ftl diff --git a/skins/favourite/common-comment.ftl b/favourite/common-comment.ftl similarity index 100% rename from skins/favourite/common-comment.ftl rename to favourite/common-comment.ftl diff --git a/skins/favourite/css/favourite.css b/favourite/css/favourite.css similarity index 100% rename from skins/favourite/css/favourite.css rename to favourite/css/favourite.css diff --git a/skins/favourite/css/favourite.min.css b/favourite/css/favourite.min.css similarity index 100% rename from skins/favourite/css/favourite.min.css rename to favourite/css/favourite.min.css diff --git a/skins/favourite/footer.ftl b/favourite/footer.ftl similarity index 100% rename from skins/favourite/footer.ftl rename to favourite/footer.ftl diff --git a/skins/favourite/header.ftl b/favourite/header.ftl similarity index 100% rename from skins/favourite/header.ftl rename to favourite/header.ftl diff --git a/skins/favourite/images/Guestbook.png b/favourite/images/Guestbook.png similarity index 100% rename from skins/favourite/images/Guestbook.png rename to favourite/images/Guestbook.png diff --git a/skins/favourite/images/about.png b/favourite/images/about.png similarity index 100% rename from skins/favourite/images/about.png rename to favourite/images/about.png diff --git a/skins/favourite/images/ads.png b/favourite/images/ads.png similarity index 100% rename from skins/favourite/images/ads.png rename to favourite/images/ads.png diff --git a/skins/favourite/images/anelli.png b/favourite/images/anelli.png similarity index 100% rename from skins/favourite/images/anelli.png rename to favourite/images/anelli.png diff --git a/skins/favourite/images/antefatto.png b/favourite/images/antefatto.png similarity index 100% rename from skins/favourite/images/antefatto.png rename to favourite/images/antefatto.png diff --git a/skins/favourite/images/archivio.png b/favourite/images/archivio.png similarity index 100% rename from skins/favourite/images/archivio.png rename to favourite/images/archivio.png diff --git a/skins/favourite/images/bg.jpg b/favourite/images/bg.jpg similarity index 100% rename from skins/favourite/images/bg.jpg rename to favourite/images/bg.jpg diff --git a/skins/favourite/images/blog.png b/favourite/images/blog.png similarity index 100% rename from skins/favourite/images/blog.png rename to favourite/images/blog.png diff --git a/skins/favourite/images/box.gif b/favourite/images/box.gif similarity index 100% rename from skins/favourite/images/box.gif rename to favourite/images/box.gif diff --git a/skins/favourite/images/categorie.png b/favourite/images/categorie.png similarity index 100% rename from skins/favourite/images/categorie.png rename to favourite/images/categorie.png diff --git a/skins/favourite/images/category.jpg b/favourite/images/category.jpg similarity index 100% rename from skins/favourite/images/category.jpg rename to favourite/images/category.jpg diff --git a/skins/favourite/images/classifiche.png b/favourite/images/classifiche.png similarity index 100% rename from skins/favourite/images/classifiche.png rename to favourite/images/classifiche.png diff --git a/skins/favourite/images/comment.gif b/favourite/images/comment.gif similarity index 100% rename from skins/favourite/images/comment.gif rename to favourite/images/comment.gif diff --git a/skins/favourite/images/comment.jpg b/favourite/images/comment.jpg similarity index 100% rename from skins/favourite/images/comment.jpg rename to favourite/images/comment.jpg diff --git a/skins/favourite/images/commentpoint.png b/favourite/images/commentpoint.png similarity index 100% rename from skins/favourite/images/commentpoint.png rename to favourite/images/commentpoint.png diff --git a/skins/favourite/images/cont-bg.png b/favourite/images/cont-bg.png similarity index 100% rename from skins/favourite/images/cont-bg.png rename to favourite/images/cont-bg.png diff --git a/skins/favourite/images/cont-bg_2.png b/favourite/images/cont-bg_2.png similarity index 100% rename from skins/favourite/images/cont-bg_2.png rename to favourite/images/cont-bg_2.png diff --git a/skins/favourite/images/corner.png b/favourite/images/corner.png similarity index 100% rename from skins/favourite/images/corner.png rename to favourite/images/corner.png diff --git a/skins/favourite/images/cuore.png b/favourite/images/cuore.png similarity index 100% rename from skins/favourite/images/cuore.png rename to favourite/images/cuore.png diff --git a/skins/favourite/images/default.png b/favourite/images/default.png similarity index 100% rename from skins/favourite/images/default.png rename to favourite/images/default.png diff --git a/skins/favourite/images/esclamativo.png b/favourite/images/esclamativo.png similarity index 100% rename from skins/favourite/images/esclamativo.png rename to favourite/images/esclamativo.png diff --git a/skins/favourite/images/footer-ico.png b/favourite/images/footer-ico.png similarity index 100% rename from skins/favourite/images/footer-ico.png rename to favourite/images/footer-ico.png diff --git a/skins/favourite/images/header.jpg b/favourite/images/header.jpg similarity index 100% rename from skins/favourite/images/header.jpg rename to favourite/images/header.jpg diff --git a/skins/favourite/images/home.png b/favourite/images/home.png similarity index 100% rename from skins/favourite/images/home.png rename to favourite/images/home.png diff --git a/skins/favourite/images/icons.gif b/favourite/images/icons.gif similarity index 100% rename from skins/favourite/images/icons.gif rename to favourite/images/icons.gif diff --git a/skins/favourite/images/info.png b/favourite/images/info.png similarity index 100% rename from skins/favourite/images/info.png rename to favourite/images/info.png diff --git a/skins/favourite/images/pl.png b/favourite/images/pl.png similarity index 100% rename from skins/favourite/images/pl.png rename to favourite/images/pl.png diff --git a/skins/favourite/images/roundbottom.png b/favourite/images/roundbottom.png similarity index 100% rename from skins/favourite/images/roundbottom.png rename to favourite/images/roundbottom.png diff --git a/skins/favourite/images/roundtop.png b/favourite/images/roundtop.png similarity index 100% rename from skins/favourite/images/roundtop.png rename to favourite/images/roundtop.png diff --git a/skins/favourite/images/tagsIcon.png b/favourite/images/tagsIcon.png similarity index 100% rename from skins/favourite/images/tagsIcon.png rename to favourite/images/tagsIcon.png diff --git a/skins/favourite/images/textfield.gif b/favourite/images/textfield.gif similarity index 100% rename from skins/favourite/images/textfield.gif rename to favourite/images/textfield.gif diff --git a/skins/favourite/images/thinks.png b/favourite/images/thinks.png similarity index 100% rename from skins/favourite/images/thinks.png rename to favourite/images/thinks.png diff --git a/skins/favourite/images/top-bg.jpg b/favourite/images/top-bg.jpg similarity index 100% rename from skins/favourite/images/top-bg.jpg rename to favourite/images/top-bg.jpg diff --git a/skins/favourite/images/twitter.png b/favourite/images/twitter.png similarity index 100% rename from skins/favourite/images/twitter.png rename to favourite/images/twitter.png diff --git a/skins/favourite/index.ftl b/favourite/index.ftl similarity index 100% rename from skins/favourite/index.ftl rename to favourite/index.ftl diff --git a/skins/favourite/lang/lang_en_US.properties b/favourite/lang/lang_en_US.properties similarity index 100% rename from skins/favourite/lang/lang_en_US.properties rename to favourite/lang/lang_en_US.properties diff --git a/skins/favourite/lang/lang_zh_CN.properties b/favourite/lang/lang_zh_CN.properties similarity index 100% rename from skins/favourite/lang/lang_zh_CN.properties rename to favourite/lang/lang_zh_CN.properties diff --git a/skins/favourite/macro-comments.ftl b/favourite/macro-comments.ftl similarity index 100% rename from skins/favourite/macro-comments.ftl rename to favourite/macro-comments.ftl diff --git a/skins/favourite/macro-head.ftl b/favourite/macro-head.ftl similarity index 100% rename from skins/favourite/macro-head.ftl rename to favourite/macro-head.ftl diff --git a/skins/favourite/nav.ftl b/favourite/nav.ftl similarity index 100% rename from skins/favourite/nav.ftl rename to favourite/nav.ftl diff --git a/skins/favourite/page.ftl b/favourite/page.ftl similarity index 100% rename from skins/favourite/page.ftl rename to favourite/page.ftl diff --git a/skins/favourite/preview.png b/favourite/preview.png similarity index 100% rename from skins/favourite/preview.png rename to favourite/preview.png diff --git a/skins/favourite/side.ftl b/favourite/side.ftl similarity index 100% rename from skins/favourite/side.ftl rename to favourite/side.ftl diff --git a/skins/favourite/skin.properties b/favourite/skin.properties similarity index 100% rename from skins/favourite/skin.properties rename to favourite/skin.properties diff --git a/skins/favourite/statistic.ftl b/favourite/statistic.ftl similarity index 100% rename from skins/favourite/statistic.ftl rename to favourite/statistic.ftl diff --git a/skins/favourite/tag-articles.ftl b/favourite/tag-articles.ftl similarity index 100% rename from skins/favourite/tag-articles.ftl rename to favourite/tag-articles.ftl diff --git a/skins/favourite/tags.ftl b/favourite/tags.ftl similarity index 100% rename from skins/favourite/tags.ftl rename to favourite/tags.ftl diff --git a/skins/i-nove/archive-articles.ftl b/i-nove/archive-articles.ftl similarity index 100% rename from skins/i-nove/archive-articles.ftl rename to i-nove/archive-articles.ftl diff --git a/skins/i-nove/article-list.ftl b/i-nove/article-list.ftl similarity index 100% rename from skins/i-nove/article-list.ftl rename to i-nove/article-list.ftl diff --git a/skins/i-nove/article.ftl b/i-nove/article.ftl similarity index 100% rename from skins/i-nove/article.ftl rename to i-nove/article.ftl diff --git a/skins/i-nove/author-articles.ftl b/i-nove/author-articles.ftl similarity index 100% rename from skins/i-nove/author-articles.ftl rename to i-nove/author-articles.ftl diff --git a/skins/i-nove/category-articles.ftl b/i-nove/category-articles.ftl similarity index 100% rename from skins/i-nove/category-articles.ftl rename to i-nove/category-articles.ftl diff --git a/skins/i-nove/common-comment.ftl b/i-nove/common-comment.ftl similarity index 100% rename from skins/i-nove/common-comment.ftl rename to i-nove/common-comment.ftl diff --git a/skins/i-nove/css/i-nove.css b/i-nove/css/i-nove.css similarity index 100% rename from skins/i-nove/css/i-nove.css rename to i-nove/css/i-nove.css diff --git a/skins/i-nove/css/i-nove.min.css b/i-nove/css/i-nove.min.css similarity index 100% rename from skins/i-nove/css/i-nove.min.css rename to i-nove/css/i-nove.min.css diff --git a/skins/i-nove/footer.ftl b/i-nove/footer.ftl similarity index 100% rename from skins/i-nove/footer.ftl rename to i-nove/footer.ftl diff --git a/skins/i-nove/header.ftl b/i-nove/header.ftl similarity index 100% rename from skins/i-nove/header.ftl rename to i-nove/header.ftl diff --git a/skins/i-nove/images/bg.jpg b/i-nove/images/bg.jpg similarity index 100% rename from skins/i-nove/images/bg.jpg rename to i-nove/images/bg.jpg diff --git a/skins/i-nove/images/box.gif b/i-nove/images/box.gif similarity index 100% rename from skins/i-nove/images/box.gif rename to i-nove/images/box.gif diff --git a/skins/i-nove/images/comment.gif b/i-nove/images/comment.gif similarity index 100% rename from skins/i-nove/images/comment.gif rename to i-nove/images/comment.gif diff --git a/skins/i-nove/images/commentpoint.png b/i-nove/images/commentpoint.png similarity index 100% rename from skins/i-nove/images/commentpoint.png rename to i-nove/images/commentpoint.png diff --git a/skins/i-nove/images/footer.jpg b/i-nove/images/footer.jpg similarity index 100% rename from skins/i-nove/images/footer.jpg rename to i-nove/images/footer.jpg diff --git a/skins/i-nove/images/header.jpg b/i-nove/images/header.jpg similarity index 100% rename from skins/i-nove/images/header.jpg rename to i-nove/images/header.jpg diff --git a/skins/i-nove/images/icons.gif b/i-nove/images/icons.gif similarity index 100% rename from skins/i-nove/images/icons.gif rename to i-nove/images/icons.gif diff --git a/skins/i-nove/images/light.gif b/i-nove/images/light.gif similarity index 100% rename from skins/i-nove/images/light.gif rename to i-nove/images/light.gif diff --git a/skins/i-nove/images/main_shadow.gif b/i-nove/images/main_shadow.gif similarity index 100% rename from skins/i-nove/images/main_shadow.gif rename to i-nove/images/main_shadow.gif diff --git a/skins/i-nove/images/menu.gif b/i-nove/images/menu.gif similarity index 100% rename from skins/i-nove/images/menu.gif rename to i-nove/images/menu.gif diff --git a/skins/i-nove/images/sidebar_shadow.gif b/i-nove/images/sidebar_shadow.gif similarity index 100% rename from skins/i-nove/images/sidebar_shadow.gif rename to i-nove/images/sidebar_shadow.gif diff --git a/skins/i-nove/images/sidesep.gif b/i-nove/images/sidesep.gif similarity index 100% rename from skins/i-nove/images/sidesep.gif rename to i-nove/images/sidesep.gif diff --git a/skins/i-nove/images/textfield.gif b/i-nove/images/textfield.gif similarity index 100% rename from skins/i-nove/images/textfield.gif rename to i-nove/images/textfield.gif diff --git a/skins/i-nove/images/widgetsep.png b/i-nove/images/widgetsep.png similarity index 100% rename from skins/i-nove/images/widgetsep.png rename to i-nove/images/widgetsep.png diff --git a/skins/i-nove/index.ftl b/i-nove/index.ftl similarity index 100% rename from skins/i-nove/index.ftl rename to i-nove/index.ftl diff --git a/skins/i-nove/lang/lang_en_US.properties b/i-nove/lang/lang_en_US.properties similarity index 100% rename from skins/i-nove/lang/lang_en_US.properties rename to i-nove/lang/lang_en_US.properties diff --git a/skins/i-nove/lang/lang_zh_CN.properties b/i-nove/lang/lang_zh_CN.properties similarity index 100% rename from skins/i-nove/lang/lang_zh_CN.properties rename to i-nove/lang/lang_zh_CN.properties diff --git a/skins/i-nove/macro-comments.ftl b/i-nove/macro-comments.ftl similarity index 100% rename from skins/i-nove/macro-comments.ftl rename to i-nove/macro-comments.ftl diff --git a/skins/i-nove/macro-head.ftl b/i-nove/macro-head.ftl similarity index 100% rename from skins/i-nove/macro-head.ftl rename to i-nove/macro-head.ftl diff --git a/skins/i-nove/page.ftl b/i-nove/page.ftl similarity index 100% rename from skins/i-nove/page.ftl rename to i-nove/page.ftl diff --git a/skins/i-nove/preview.png b/i-nove/preview.png similarity index 100% rename from skins/i-nove/preview.png rename to i-nove/preview.png diff --git a/skins/i-nove/side.ftl b/i-nove/side.ftl similarity index 100% rename from skins/i-nove/side.ftl rename to i-nove/side.ftl diff --git a/skins/i-nove/skin.properties b/i-nove/skin.properties similarity index 100% rename from skins/i-nove/skin.properties rename to i-nove/skin.properties diff --git a/skins/i-nove/tag-articles.ftl b/i-nove/tag-articles.ftl similarity index 100% rename from skins/i-nove/tag-articles.ftl rename to i-nove/tag-articles.ftl diff --git a/skins/i-nove/tags.ftl b/i-nove/tags.ftl similarity index 100% rename from skins/i-nove/tags.ftl rename to i-nove/tags.ftl diff --git a/skins/metro-hot/archive-articles.ftl b/metro-hot/archive-articles.ftl similarity index 100% rename from skins/metro-hot/archive-articles.ftl rename to metro-hot/archive-articles.ftl diff --git a/skins/metro-hot/archives.ftl b/metro-hot/archives.ftl similarity index 100% rename from skins/metro-hot/archives.ftl rename to metro-hot/archives.ftl diff --git a/skins/metro-hot/article-list.ftl b/metro-hot/article-list.ftl similarity index 100% rename from skins/metro-hot/article-list.ftl rename to metro-hot/article-list.ftl diff --git a/skins/metro-hot/article.ftl b/metro-hot/article.ftl similarity index 100% rename from skins/metro-hot/article.ftl rename to metro-hot/article.ftl diff --git a/skins/metro-hot/author-articles.ftl b/metro-hot/author-articles.ftl similarity index 100% rename from skins/metro-hot/author-articles.ftl rename to metro-hot/author-articles.ftl diff --git a/skins/metro-hot/category-articles.ftl b/metro-hot/category-articles.ftl similarity index 100% rename from skins/metro-hot/category-articles.ftl rename to metro-hot/category-articles.ftl diff --git a/skins/metro-hot/category.ftl b/metro-hot/category.ftl similarity index 100% rename from skins/metro-hot/category.ftl rename to metro-hot/category.ftl diff --git a/skins/metro-hot/common-comment.ftl b/metro-hot/common-comment.ftl similarity index 100% rename from skins/metro-hot/common-comment.ftl rename to metro-hot/common-comment.ftl diff --git a/skins/metro-hot/copyright.ftl b/metro-hot/copyright.ftl similarity index 100% rename from skins/metro-hot/copyright.ftl rename to metro-hot/copyright.ftl diff --git a/skins/metro-hot/css/font/IcoMoon.eot b/metro-hot/css/font/IcoMoon.eot similarity index 100% rename from skins/metro-hot/css/font/IcoMoon.eot rename to metro-hot/css/font/IcoMoon.eot diff --git a/skins/metro-hot/css/font/IcoMoon.svg b/metro-hot/css/font/IcoMoon.svg similarity index 100% rename from skins/metro-hot/css/font/IcoMoon.svg rename to metro-hot/css/font/IcoMoon.svg diff --git a/skins/metro-hot/css/font/IcoMoon.ttf b/metro-hot/css/font/IcoMoon.ttf similarity index 100% rename from skins/metro-hot/css/font/IcoMoon.ttf rename to metro-hot/css/font/IcoMoon.ttf diff --git a/skins/metro-hot/css/font/IcoMoon.woff b/metro-hot/css/font/IcoMoon.woff similarity index 100% rename from skins/metro-hot/css/font/IcoMoon.woff rename to metro-hot/css/font/IcoMoon.woff diff --git a/skins/metro-hot/css/metro-hot-responsive.css b/metro-hot/css/metro-hot-responsive.css similarity index 100% rename from skins/metro-hot/css/metro-hot-responsive.css rename to metro-hot/css/metro-hot-responsive.css diff --git a/skins/metro-hot/css/metro-hot-responsive.min.css b/metro-hot/css/metro-hot-responsive.min.css similarity index 100% rename from skins/metro-hot/css/metro-hot-responsive.min.css rename to metro-hot/css/metro-hot-responsive.min.css diff --git a/skins/metro-hot/css/metro-hot.css b/metro-hot/css/metro-hot.css similarity index 100% rename from skins/metro-hot/css/metro-hot.css rename to metro-hot/css/metro-hot.css diff --git a/skins/metro-hot/css/metro-hot.min.css b/metro-hot/css/metro-hot.min.css similarity index 100% rename from skins/metro-hot/css/metro-hot.min.css rename to metro-hot/css/metro-hot.min.css diff --git a/skins/metro-hot/dynamic.ftl b/metro-hot/dynamic.ftl similarity index 100% rename from skins/metro-hot/dynamic.ftl rename to metro-hot/dynamic.ftl diff --git a/skins/metro-hot/footer.ftl b/metro-hot/footer.ftl similarity index 100% rename from skins/metro-hot/footer.ftl rename to metro-hot/footer.ftl diff --git a/skins/metro-hot/header.ftl b/metro-hot/header.ftl similarity index 100% rename from skins/metro-hot/header.ftl rename to metro-hot/header.ftl diff --git a/skins/metro-hot/images/ajax-loader.gif b/metro-hot/images/ajax-loader.gif similarity index 100% rename from skins/metro-hot/images/ajax-loader.gif rename to metro-hot/images/ajax-loader.gif diff --git a/skins/metro-hot/images/icons.png b/metro-hot/images/icons.png similarity index 100% rename from skins/metro-hot/images/icons.png rename to metro-hot/images/icons.png diff --git a/skins/metro-hot/index.ftl b/metro-hot/index.ftl similarity index 100% rename from skins/metro-hot/index.ftl rename to metro-hot/index.ftl diff --git a/skins/metro-hot/js/metro-hot.js b/metro-hot/js/metro-hot.js similarity index 100% rename from skins/metro-hot/js/metro-hot.js rename to metro-hot/js/metro-hot.js diff --git a/skins/metro-hot/js/metro-hot.min.js b/metro-hot/js/metro-hot.min.js similarity index 100% rename from skins/metro-hot/js/metro-hot.min.js rename to metro-hot/js/metro-hot.min.js diff --git a/skins/metro-hot/lang/lang_en_US.properties b/metro-hot/lang/lang_en_US.properties similarity index 100% rename from skins/metro-hot/lang/lang_en_US.properties rename to metro-hot/lang/lang_en_US.properties diff --git a/skins/metro-hot/lang/lang_zh_CN.properties b/metro-hot/lang/lang_zh_CN.properties similarity index 100% rename from skins/metro-hot/lang/lang_zh_CN.properties rename to metro-hot/lang/lang_zh_CN.properties diff --git a/skins/metro-hot/links.ftl b/metro-hot/links.ftl similarity index 100% rename from skins/metro-hot/links.ftl rename to metro-hot/links.ftl diff --git a/skins/metro-hot/macro-comments.ftl b/metro-hot/macro-comments.ftl similarity index 100% rename from skins/metro-hot/macro-comments.ftl rename to metro-hot/macro-comments.ftl diff --git a/skins/metro-hot/macro-head.ftl b/metro-hot/macro-head.ftl similarity index 100% rename from skins/metro-hot/macro-head.ftl rename to metro-hot/macro-head.ftl diff --git a/skins/metro-hot/macro-side.ftl b/metro-hot/macro-side.ftl similarity index 100% rename from skins/metro-hot/macro-side.ftl rename to metro-hot/macro-side.ftl diff --git a/skins/metro-hot/page.ftl b/metro-hot/page.ftl similarity index 100% rename from skins/metro-hot/page.ftl rename to metro-hot/page.ftl diff --git a/skins/metro-hot/preview.png b/metro-hot/preview.png similarity index 100% rename from skins/metro-hot/preview.png rename to metro-hot/preview.png diff --git a/skins/metro-hot/skin.properties b/metro-hot/skin.properties similarity index 100% rename from skins/metro-hot/skin.properties rename to metro-hot/skin.properties diff --git a/skins/metro-hot/tag-articles.ftl b/metro-hot/tag-articles.ftl similarity index 100% rename from skins/metro-hot/tag-articles.ftl rename to metro-hot/tag-articles.ftl diff --git a/skins/metro-hot/tags.ftl b/metro-hot/tags.ftl similarity index 100% rename from skins/metro-hot/tags.ftl rename to metro-hot/tags.ftl diff --git a/skins/mobile/archive-articles.ftl b/mobile/archive-articles.ftl similarity index 100% rename from skins/mobile/archive-articles.ftl rename to mobile/archive-articles.ftl diff --git a/skins/mobile/article-list.ftl b/mobile/article-list.ftl similarity index 100% rename from skins/mobile/article-list.ftl rename to mobile/article-list.ftl diff --git a/skins/mobile/article.ftl b/mobile/article.ftl similarity index 100% rename from skins/mobile/article.ftl rename to mobile/article.ftl diff --git a/skins/mobile/author-articles.ftl b/mobile/author-articles.ftl similarity index 100% rename from skins/mobile/author-articles.ftl rename to mobile/author-articles.ftl diff --git a/skins/mobile/category-articles.ftl b/mobile/category-articles.ftl similarity index 100% rename from skins/mobile/category-articles.ftl rename to mobile/category-articles.ftl diff --git a/skins/mobile/common-comment.ftl b/mobile/common-comment.ftl similarity index 100% rename from skins/mobile/common-comment.ftl rename to mobile/common-comment.ftl diff --git a/skins/mobile/footer.ftl b/mobile/footer.ftl similarity index 100% rename from skins/mobile/footer.ftl rename to mobile/footer.ftl diff --git a/skins/mobile/header.ftl b/mobile/header.ftl similarity index 100% rename from skins/mobile/header.ftl rename to mobile/header.ftl diff --git a/skins/mobile/images/good.png b/mobile/images/good.png similarity index 100% rename from skins/mobile/images/good.png rename to mobile/images/good.png diff --git a/skins/mobile/images/icon-pool/Apps.png b/mobile/images/icon-pool/Apps.png similarity index 100% rename from skins/mobile/images/icon-pool/Apps.png rename to mobile/images/icon-pool/Apps.png diff --git a/skins/mobile/images/icon-pool/Archives.png b/mobile/images/icon-pool/Archives.png similarity index 100% rename from skins/mobile/images/icon-pool/Archives.png rename to mobile/images/icon-pool/Archives.png diff --git a/skins/mobile/images/icon-pool/Home.png b/mobile/images/icon-pool/Home.png similarity index 100% rename from skins/mobile/images/icon-pool/Home.png rename to mobile/images/icon-pool/Home.png diff --git a/skins/mobile/images/icon-pool/Mail.png b/mobile/images/icon-pool/Mail.png similarity index 100% rename from skins/mobile/images/icon-pool/Mail.png rename to mobile/images/icon-pool/Mail.png diff --git a/skins/mobile/images/icon-pool/Pages.png b/mobile/images/icon-pool/Pages.png similarity index 100% rename from skins/mobile/images/icon-pool/Pages.png rename to mobile/images/icon-pool/Pages.png diff --git a/skins/mobile/images/icon-pool/RSS.png b/mobile/images/icon-pool/RSS.png similarity index 100% rename from skins/mobile/images/icon-pool/RSS.png rename to mobile/images/icon-pool/RSS.png diff --git a/skins/mobile/images/icon-pool/Tags.png b/mobile/images/icon-pool/Tags.png similarity index 100% rename from skins/mobile/images/icon-pool/Tags.png rename to mobile/images/icon-pool/Tags.png diff --git a/skins/mobile/images/icon-pool/category.png b/mobile/images/icon-pool/category.png similarity index 100% rename from skins/mobile/images/icon-pool/category.png rename to mobile/images/icon-pool/category.png diff --git a/skins/mobile/index.ftl b/mobile/index.ftl similarity index 100% rename from skins/mobile/index.ftl rename to mobile/index.ftl diff --git a/skins/mobile/js/l10n.js b/mobile/js/l10n.js similarity index 100% rename from skins/mobile/js/l10n.js rename to mobile/js/l10n.js diff --git a/skins/mobile/js/l10n.min.js b/mobile/js/l10n.min.js similarity index 100% rename from skins/mobile/js/l10n.min.js rename to mobile/js/l10n.min.js diff --git a/skins/mobile/lang/lang_en_US.properties b/mobile/lang/lang_en_US.properties similarity index 100% rename from skins/mobile/lang/lang_en_US.properties rename to mobile/lang/lang_en_US.properties diff --git a/skins/mobile/lang/lang_zh_CN.properties b/mobile/lang/lang_zh_CN.properties similarity index 100% rename from skins/mobile/lang/lang_zh_CN.properties rename to mobile/lang/lang_zh_CN.properties diff --git a/skins/mobile/macro-comments.ftl b/mobile/macro-comments.ftl similarity index 100% rename from skins/mobile/macro-comments.ftl rename to mobile/macro-comments.ftl diff --git a/skins/mobile/macro-head.ftl b/mobile/macro-head.ftl similarity index 100% rename from skins/mobile/macro-head.ftl rename to mobile/macro-head.ftl diff --git a/skins/mobile/page.ftl b/mobile/page.ftl similarity index 100% rename from skins/mobile/page.ftl rename to mobile/page.ftl diff --git a/skins/mobile/preview.png b/mobile/preview.png similarity index 100% rename from skins/mobile/preview.png rename to mobile/preview.png diff --git a/skins/mobile/side.ftl b/mobile/side.ftl similarity index 100% rename from skins/mobile/side.ftl rename to mobile/side.ftl diff --git a/skins/mobile/skin.properties b/mobile/skin.properties similarity index 100% rename from skins/mobile/skin.properties rename to mobile/skin.properties diff --git a/skins/mobile/tag-articles.ftl b/mobile/tag-articles.ftl similarity index 100% rename from skins/mobile/tag-articles.ftl rename to mobile/tag-articles.ftl diff --git a/skins/mobile/tags.ftl b/mobile/tags.ftl similarity index 100% rename from skins/mobile/tags.ftl rename to mobile/tags.ftl diff --git a/skins/mobile/themes/core/core-images/arrow.png b/mobile/themes/core/core-images/arrow.png similarity index 100% rename from skins/mobile/themes/core/core-images/arrow.png rename to mobile/themes/core/core-images/arrow.png diff --git a/skins/mobile/themes/core/core-images/bookmarks/delicious.jpg b/mobile/themes/core/core-images/bookmarks/delicious.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/bookmarks/delicious.jpg rename to mobile/themes/core/core-images/bookmarks/delicious.jpg diff --git a/skins/mobile/themes/core/core-images/bookmarks/digg.jpg b/mobile/themes/core/core-images/bookmarks/digg.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/bookmarks/digg.jpg rename to mobile/themes/core/core-images/bookmarks/digg.jpg diff --git a/skins/mobile/themes/core/core-images/bookmarks/magnolia.jpg b/mobile/themes/core/core-images/bookmarks/magnolia.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/bookmarks/magnolia.jpg rename to mobile/themes/core/core-images/bookmarks/magnolia.jpg diff --git a/skins/mobile/themes/core/core-images/bookmarks/newsvine.jpg b/mobile/themes/core/core-images/bookmarks/newsvine.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/bookmarks/newsvine.jpg rename to mobile/themes/core/core-images/bookmarks/newsvine.jpg diff --git a/skins/mobile/themes/core/core-images/bookmarks/reddit.jpg b/mobile/themes/core/core-images/bookmarks/reddit.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/bookmarks/reddit.jpg rename to mobile/themes/core/core-images/bookmarks/reddit.jpg diff --git a/skins/mobile/themes/core/core-images/bookmarks/technorati.jpg b/mobile/themes/core/core-images/bookmarks/technorati.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/bookmarks/technorati.jpg rename to mobile/themes/core/core-images/bookmarks/technorati.jpg diff --git a/skins/mobile/themes/core/core-images/com_arrow.png b/mobile/themes/core/core-images/com_arrow.png similarity index 100% rename from skins/mobile/themes/core/core-images/com_arrow.png rename to mobile/themes/core/core-images/com_arrow.png diff --git a/skins/mobile/themes/core/core-images/comment-ajax-loader.gif b/mobile/themes/core/core-images/comment-ajax-loader.gif similarity index 100% rename from skins/mobile/themes/core/core-images/comment-ajax-loader.gif rename to mobile/themes/core/core-images/comment-ajax-loader.gif diff --git a/skins/mobile/themes/core/core-images/head-close.png b/mobile/themes/core/core-images/head-close.png similarity index 100% rename from skins/mobile/themes/core/core-images/head-close.png rename to mobile/themes/core/core-images/head-close.png diff --git a/skins/mobile/themes/core/core-images/head-fade-bk.png b/mobile/themes/core/core-images/head-fade-bk.png similarity index 100% rename from skins/mobile/themes/core/core-images/head-fade-bk.png rename to mobile/themes/core/core-images/head-fade-bk.png diff --git a/skins/mobile/themes/core/core-images/menu-sprite.png b/mobile/themes/core/core-images/menu-sprite.png similarity index 100% rename from skins/mobile/themes/core/core-images/menu-sprite.png rename to mobile/themes/core/core-images/menu-sprite.png diff --git a/skins/mobile/themes/core/core-images/onoff.jpg b/mobile/themes/core/core-images/onoff.jpg similarity index 100% rename from skins/mobile/themes/core/core-images/onoff.jpg rename to mobile/themes/core/core-images/onoff.jpg diff --git a/skins/mobile/themes/core/core-images/pinstripes-classic.gif b/mobile/themes/core/core-images/pinstripes-classic.gif similarity index 100% rename from skins/mobile/themes/core/core-images/pinstripes-classic.gif rename to mobile/themes/core/core-images/pinstripes-classic.gif diff --git a/skins/mobile/themes/core/core-images/post-arrow.png b/mobile/themes/core/core-images/post-arrow.png similarity index 100% rename from skins/mobile/themes/core/core-images/post-arrow.png rename to mobile/themes/core/core-images/post-arrow.png diff --git a/skins/mobile/themes/core/core-images/post-options.png b/mobile/themes/core/core-images/post-options.png similarity index 100% rename from skins/mobile/themes/core/core-images/post-options.png rename to mobile/themes/core/core-images/post-options.png diff --git a/skins/mobile/themes/core/core-images/push-icon.png b/mobile/themes/core/core-images/push-icon.png similarity index 100% rename from skins/mobile/themes/core/core-images/push-icon.png rename to mobile/themes/core/core-images/push-icon.png diff --git a/skins/mobile/themes/core/core-images/wptouch-menu-dropper.png b/mobile/themes/core/core-images/wptouch-menu-dropper.png similarity index 100% rename from skins/mobile/themes/core/core-images/wptouch-menu-dropper.png rename to mobile/themes/core/core-images/wptouch-menu-dropper.png diff --git a/skins/mobile/themes/core/core.js b/mobile/themes/core/core.js similarity index 100% rename from skins/mobile/themes/core/core.js rename to mobile/themes/core/core.js diff --git a/skins/mobile/themes/default/style.css b/mobile/themes/default/style.css similarity index 100% rename from skins/mobile/themes/default/style.css rename to mobile/themes/default/style.css diff --git a/skins/next/archive-articles.ftl b/next/archive-articles.ftl similarity index 100% rename from skins/next/archive-articles.ftl rename to next/archive-articles.ftl diff --git a/skins/next/archives.ftl b/next/archives.ftl similarity index 100% rename from skins/next/archives.ftl rename to next/archives.ftl diff --git a/skins/next/article-list.ftl b/next/article-list.ftl similarity index 100% rename from skins/next/article-list.ftl rename to next/article-list.ftl diff --git a/skins/next/article.ftl b/next/article.ftl similarity index 100% rename from skins/next/article.ftl rename to next/article.ftl diff --git a/skins/next/category-articles.ftl b/next/category-articles.ftl similarity index 100% rename from skins/next/category-articles.ftl rename to next/category-articles.ftl diff --git a/skins/next/common-comment.ftl b/next/common-comment.ftl similarity index 100% rename from skins/next/common-comment.ftl rename to next/common-comment.ftl diff --git a/skins/next/css/fonts/icomoon.eot b/next/css/fonts/icomoon.eot similarity index 100% rename from skins/next/css/fonts/icomoon.eot rename to next/css/fonts/icomoon.eot diff --git a/skins/next/css/fonts/icomoon.svg b/next/css/fonts/icomoon.svg similarity index 100% rename from skins/next/css/fonts/icomoon.svg rename to next/css/fonts/icomoon.svg diff --git a/skins/next/css/fonts/icomoon.ttf b/next/css/fonts/icomoon.ttf similarity index 100% rename from skins/next/css/fonts/icomoon.ttf rename to next/css/fonts/icomoon.ttf diff --git a/skins/next/css/fonts/icomoon.woff b/next/css/fonts/icomoon.woff similarity index 100% rename from skins/next/css/fonts/icomoon.woff rename to next/css/fonts/icomoon.woff diff --git a/skins/next/css/fonts/selection.json b/next/css/fonts/selection.json similarity index 100% rename from skins/next/css/fonts/selection.json rename to next/css/fonts/selection.json diff --git a/skins/next/css/next.css b/next/css/next.css similarity index 100% rename from skins/next/css/next.css rename to next/css/next.css diff --git a/skins/next/css/next.min.css b/next/css/next.min.css similarity index 100% rename from skins/next/css/next.min.css rename to next/css/next.min.css diff --git a/skins/next/dynamic.ftl b/next/dynamic.ftl similarity index 100% rename from skins/next/dynamic.ftl rename to next/dynamic.ftl diff --git a/skins/next/footer.ftl b/next/footer.ftl similarity index 100% rename from skins/next/footer.ftl rename to next/footer.ftl diff --git a/skins/next/header.ftl b/next/header.ftl similarity index 100% rename from skins/next/header.ftl rename to next/header.ftl diff --git a/skins/next/images/code-bg.png b/next/images/code-bg.png similarity index 100% rename from skins/next/images/code-bg.png rename to next/images/code-bg.png diff --git a/skins/next/index.ftl b/next/index.ftl similarity index 100% rename from skins/next/index.ftl rename to next/index.ftl diff --git a/skins/next/js/next.js b/next/js/next.js similarity index 100% rename from skins/next/js/next.js rename to next/js/next.js diff --git a/skins/next/js/next.min.js b/next/js/next.min.js similarity index 100% rename from skins/next/js/next.min.js rename to next/js/next.min.js diff --git a/skins/next/lang/lang_en_US.properties b/next/lang/lang_en_US.properties similarity index 100% rename from skins/next/lang/lang_en_US.properties rename to next/lang/lang_en_US.properties diff --git a/skins/next/lang/lang_zh_CN.properties b/next/lang/lang_zh_CN.properties similarity index 100% rename from skins/next/lang/lang_zh_CN.properties rename to next/lang/lang_zh_CN.properties diff --git a/skins/next/macro-comments.ftl b/next/macro-comments.ftl similarity index 100% rename from skins/next/macro-comments.ftl rename to next/macro-comments.ftl diff --git a/skins/next/macro-head.ftl b/next/macro-head.ftl similarity index 100% rename from skins/next/macro-head.ftl rename to next/macro-head.ftl diff --git a/skins/next/page.ftl b/next/page.ftl similarity index 100% rename from skins/next/page.ftl rename to next/page.ftl diff --git a/skins/next/preview.png b/next/preview.png similarity index 100% rename from skins/next/preview.png rename to next/preview.png diff --git a/skins/next/side.ftl b/next/side.ftl similarity index 100% rename from skins/next/side.ftl rename to next/side.ftl diff --git a/skins/next/skin.properties b/next/skin.properties similarity index 100% rename from skins/next/skin.properties rename to next/skin.properties diff --git a/skins/next/tag-articles.ftl b/next/tag-articles.ftl similarity index 100% rename from skins/next/tag-articles.ftl rename to next/tag-articles.ftl diff --git a/skins/next/tags.ftl b/next/tags.ftl similarity index 100% rename from skins/next/tags.ftl rename to next/tags.ftl diff --git a/nijigen/archive-articles.ftl b/nijigen/archive-articles.ftl new file mode 100644 index 0000000..c48b2e1 --- /dev/null +++ b/nijigen/archive-articles.ftl @@ -0,0 +1,53 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
+
+
+
+

+ +   + <#if "en" == localeString?substring(0, 2)> + ${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} + <#else> + ${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} + + - ${archiveDate.archiveDatePublishedArticleCount} ${articleLabel} +

+
+ <#include "article-list.ftl"> +
+ <#include "side.ftl"> +
+
+ <#include "footer.ftl"> + + diff --git a/nijigen/archives.ftl b/nijigen/archives.ftl new file mode 100644 index 0000000..24b18d7 --- /dev/null +++ b/nijigen/archives.ftl @@ -0,0 +1,61 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + <#include "header.ftl"> +
+
+
+ +

+  ${statistic.statisticPublishedBlogArticleCount} ${articleLabel}

+
+ <#if 0 != archiveDates?size> + + +
+ <#include "side.ftl"> +
+
+ <#include "footer.ftl"> + + diff --git a/nijigen/article-list.ftl b/nijigen/article-list.ftl new file mode 100644 index 0000000..f162666 --- /dev/null +++ b/nijigen/article-list.ftl @@ -0,0 +1,94 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +
+ <#list articles as article> +
+ + +

+ + ${article.articleTitle} + + <#if article.articlePutTop> + + ${topArticleLabel} + + + <#if article.hasUpdated> + + ${updatedLabel} + + +

+
+ + ${article.articleCreateDate?string("yyy-MM-DD")} +
+ + +
+ <#list article.articleTags?split(",") as articleTag> + + + + ${article.articleCommentCount} ${commentLabel} + + + + ${article.articleViewCount} ${viewLabel} + +
+ +
+ ${article.articleAbstract} +
+
+ + + + <#if 0 != paginationPageCount> +
+ +
+ +
\ No newline at end of file diff --git a/nijigen/article.ftl b/nijigen/article.ftl new file mode 100644 index 0000000..02e56b7 --- /dev/null +++ b/nijigen/article.ftl @@ -0,0 +1,161 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${article.articleTitle} - ${blogTitle}"> + + + + <#if previousArticlePermalink??> + + + <#if nextArticlePermalink??> + + + + + + + + + + + + + + + + + + + + + <#include "header.ftl"> +
+
+
+
+
+

+ + ${article.articleTitle} + + <#if article.articlePutTop> + + ${topArticleLabel} + + + <#if article.hasUpdated> + + ${updatedLabel} + + +

+
+ + + + +   |   + + + + ${article.articleCommentCount} ${commentLabel} + +   |   + + + ${article.articleViewCount} ${viewLabel} + +
+
+ +
+ ${article.articleContent} + <#if "" != article.articleSign.signHTML?trim> +
+ ${article.articleSign.signHTML} +
+ +
+ +
+ +
+ <#if previousArticlePermalink??> + + + <#if nextArticlePermalink??> + + +
+ + <@comments commentList=articleComments article=article> +
+
+
+ + + <#include "side.ftl"> +
+ + <#include "footer.ftl"> + <@comment_script oId=article.oId> + page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}"; + <#if 0 != randomArticlesDisplayCount> + page.loadRandomArticles(); + + <#if 0 != externalRelevantArticlesDisplayCount> + page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>," + , "

${externalRelevantArticlesLabel}

"); + + <#if 0 != relevantArticlesDisplayCount> + page.loadRelevantArticles('${article.oId}', '

${relevantArticlesLabel}

'); + + + + diff --git a/nijigen/category-articles.ftl b/nijigen/category-articles.ftl new file mode 100644 index 0000000..9cc78a6 --- /dev/null +++ b/nijigen/category-articles.ftl @@ -0,0 +1,48 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${category.categoryTitle} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
+
+
+
+

+  ${category.categoryTitle} + ${category.categoryDescription} +

+ +
+ <#include "article-list.ftl"> +
+ <#include "side.ftl"> +
+
+ <#include "footer.ftl"> + + diff --git a/nijigen/common-comment.ftl b/nijigen/common-comment.ftl new file mode 100644 index 0000000..f084ec3 --- /dev/null +++ b/nijigen/common-comment.ftl @@ -0,0 +1,48 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +
  • +
    +
    +
    +
    + <#if "http://" == comment.commentURL> + ${comment.commentName} + <#else> + ${comment.commentName} + + <#if comment.isReply> + @${comment.commentOriginalCommentName} + + + + <#if article.commentable> + ${replyLabel} + +
    +
    + ${comment.commentContent} +
    +
    +
    +
  • \ No newline at end of file diff --git a/nijigen/css/_icon.scss b/nijigen/css/_icon.scss new file mode 100644 index 0000000..c301932 --- /dev/null +++ b/nijigen/css/_icon.scss @@ -0,0 +1,111 @@ +/** + * Solo - A small and beautiful blogging system written in Java. + * Copyright (c) 2010-2018, b3log.org & hacpai.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +@font-face { + font-family: 'icomoon'; + src: url('fonts/icomoon.eot?oyqnlj'); + src: url('fonts/icomoon.eot?oyqnlj#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?oyqnlj') format('truetype'), + url('fonts/icomoon.woff?oyqnlj') format('woff'), + url('fonts/icomoon.svg?oyqnlj#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon__"], [class*=" icon__"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon__list:before { + content: "\f0ca"; +} + +.icon__home:before { + content: "\f015"; +} + +.icon__comments:before { + content: "\f0e6"; +} + +.icon__date:before { + content: "\f073"; +} + +.icon__search:before { + content: "\f002"; +} + +.icon__up:before { + content: "\f077"; +} + +.icon__inbox:before { + content: "\f01c"; +} + +.icon__tags:before { + content: "\f02c"; +} + +.icon__link:before { + content: "\f0c1"; +} + +.icon__refresh:before { + content: "\f021"; +} + +.icon__category:before { + content: "\e9bc"; +} + +.icon__logout:before { + content: "\ea14"; +} + +.icon__views:before { + content: "\e900"; +} + +.icon__register:before { + content: "\e973"; +} + +.icon__setting:before { + content: "\e994"; +} + +.icon__login:before { + content: "\ea13"; +} + +.icon__rss:before { + content: "\e901"; +} diff --git a/nijigen/css/base.css b/nijigen/css/base.css new file mode 100644 index 0000000..262e4b8 --- /dev/null +++ b/nijigen/css/base.css @@ -0,0 +1 @@ +html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;height:100%}body{margin:0;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size:14px;background-color:#fff;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}::-moz-selection{text-shadow:none;background:rgba(65,131,196,0.4)}::selection{text-shadow:none;background:rgba(66,133,244,0.4)}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6,dl,dd,p{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}a{outline:0;text-decoration:none}a:hover{text-decoration:underline}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;height:auto;-ms-interpolation-mode:bicubic;overflow:hidden;font-size:12px}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;outline:none}button,input{line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}blockquote{margin:0}.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:0.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(252,41,41,0.12);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset li.task-list-item{list-style:none}.content-reset li.task-list-item>input{margin-left:-2em;vertical-align:middle}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}.fn__flex{display:flex}.fn__flex-center{align-self:center}.fn__flex-inline{display:inline-flex;align-items:center}.fn__flex-1{flex:1;min-width:1px}.fn__flex-column{min-height:100%;display:flex;flex-direction:column}.fn__pointer{cursor:pointer}.fn__clear:before,.fn__clear:after{display:table;content:""}.fn__clear:after{clear:both}.fn__left{float:left}.fn__right{float:right}.fn__none{display:none}.fn__hidden{visibility:hidden}.fn__ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.ft__13{font-size:13px}.ft__smaller{font-size:12px}.ft__center{text-align:center}.ft__nowrap{white-space:nowrap}@-webkit-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.tooltipped{position:relative;cursor:pointer}.tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.tooltipped--hover::before,.tooltipped--hover::after,.tooltipped:hover::before,.tooltipped:hover::after,.tooltipped:active::before,.tooltipped:active::after,.tooltipped:focus::before,.tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.tooltipped__s::after,.tooltipped__se::after,.tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.tooltipped__s::before,.tooltipped__se::before,.tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.tooltipped__sw::after{margin-right:-15px}.tooltipped__n::after,.tooltipped__ne::after,.tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped__n::before,.tooltipped__ne::before,.tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.tooltipped__nw::after{margin-right:-15px}.tooltipped__s::after,.tooltipped__n::after{transform:translateX(50%)}.tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}@font-face{font-family:'icomoon';src:url("fonts/icomoon.eot?oyqnlj");src:url("fonts/icomoon.eot?oyqnlj#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?oyqnlj") format("truetype"),url("fonts/icomoon.woff?oyqnlj") format("woff"),url("fonts/icomoon.svg?oyqnlj#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon__"],[class*=" icon__"]{font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon__list:before{content:"\f0ca"}.icon__home:before{content:"\f015"}.icon__comments:before{content:"\f0e6"}.icon__date:before{content:"\f073"}.icon__search:before{content:"\f002"}.icon__up:before{content:"\f077"}.icon__inbox:before{content:"\f01c"}.icon__tags:before{content:"\f02c"}.icon__link:before{content:"\f0c1"}.icon__refresh:before{content:"\f021"}.icon__category:before{content:"\e9bc"}.icon__logout:before{content:"\ea14"}.icon__views:before{content:"\e900"}.icon__register:before{content:"\e973"}.icon__setting:before{content:"\e994"}.icon__login:before{content:"\ea13"}.icon__rss:before{content:"\e901"}body{cursor:url(../images/cursor.cur),url(../images/cursor.cur),auto}a{transition:all .3s;cursor:url(../images/pointer.cur),url(../images/pointer.cur),auto}.module{border-radius:5px;overflow:hidden;margin-bottom:30px;box-shadow:1px 1px 3px 1px rgba(0,0,0,0.2);transition:all .3s}.module:hover{box-shadow:0px 0px 20px 0px rgba(0,0,0,0.8)}.module__content{background-color:rgba(255,255,255,0.8);padding:15px;color:#3d4450}.module__content:hover{background-color:#fff}.module__content--three{padding-bottom:0}.module__header{background-color:rgba(10,10,0,0.7);padding:15px;color:#fff}.module__header a{color:#fff}.module__header:hover{background-color:rgba(10,10,0,0.9)}.module__list li{border-bottom:1px solid #ddd;background-color:rgba(255,255,255,0.8);line-height:20px}.module__list li a{padding:15px 15px;display:block;color:#3d4450}.module__list li a:hover{text-decoration:none;color:#b94a48;background-color:#fff}.form{position:relative}.form__input{border:1px solid #7266BA;height:30px;line-height:30px;padding:0 15px;border-radius:15px;width:100%;box-sizing:border-box}.bg{height:100%;width:100%;position:fixed;top:0;left:0;background-image:url(../images/background1.jpg);background-size:cover;background-position:center center;z-index:-1;animation:imageAnimation 36s linear infinite 0s;opacity:0}.bg--1{background-image:url(../images/background2.jpg);animation-delay:6s}.bg--2{background-image:url(../images/background3.jpg);animation-delay:12s}.bg--3{background-image:url(../images/background4.jpg);animation-delay:18s}.bg--4{background-image:url(../images/background5.jpg);animation-delay:24s}.bg--5{background-image:url(../images/background6.jpg);animation-delay:30s}@keyframes imageAnimation{0%{opacity:0;animation-timing-function:ease-in}8%{opacity:1;transform:scale(1.05);animation-timing-function:ease-out}17%{opacity:1;transform:scale(1.1) rotate(0deg)}25%{opacity:0;transform:scale(1.1) rotate(0deg)}100%{opacity:0}}.header{background-color:rgba(10,10,0,0.7);height:50px;line-height:50px;color:#fff;transition:all .3s;box-shadow:0 0 8px black}.header:hover{background-color:rgba(10,10,0,0.9)}.header a{color:#fff;padding:0 15px;display:inline-block}.header a:hover{text-decoration:none;background-color:rgba(102,88,184,0.8)}.header__logo{position:absolute;left:30px}.header__nav{text-align:center}.header__login{position:absolute;right:30px;top:0}.main{max-width:1170px;padding:30px;margin:auto;display:flex}.side{width:280px;min-width:280px;margin-left:30px}.side__btn{background-color:transparent;border:0;top:5px;position:absolute;right:10px}.side__avatar{border-radius:50%;height:100px;width:100px;display:block;margin:0 auto;margin-bottom:15px;transition:transform .3s;margin-top:10px}.side__avatar:hover{transform:rotate(360deg) scale(1.2);border:5px solid rgba(114,102,186,0.36);margin-top:0}.tag{float:left;color:#fff;padding:2px 5px;border:1px solid transparent;height:20px;white-space:nowrap;word-wrap:normal;background-color:rgba(10,10,0,0.7);border-radius:3px 3px 3px 3px;line-height:21px;margin:0 15px 15px 0}.tag a{color:#fff}.tag:hover{background-color:#b94a48;box-shadow:0 1px 1px rgba(0,0,0,0.2);text-decoration:none}.footer{text-align:center;color:#fff;padding:15px;margin-bottom:30px}.footer a{color:#3d4450}.article-list .item{border-radius:5px;margin-bottom:30px;box-shadow:1px 1px 3px 1px rgba(0,0,0,0.2);padding:15px;background-color:rgba(255,255,255,0.8);position:relative;transition:all .3s}.article-list .item:hover{background-color:#fff;box-shadow:0px 0px 20px 0px rgba(0,0,0,0.8)}.article-list .item .tag{float:none;display:inline-block}.article-list .item__title{text-align:center;font-size:24px;font-weight:500}.article-list .item__title a{color:rgba(10,10,0,0.7);padding:0 15px;border-radius:5px;display:inline-block;margin-bottom:15px;line-height:36px}.article-list .item__title a:hover{color:#fff;text-decoration:none;background-color:#6658b8}.article-list .item__title>sup{color:#b94a48}.article-list .item__date{position:absolute;background-color:#7266BA;color:#fff;height:70px;width:70px;font-size:12px;top:-20px;border-radius:35px;left:-20px;text-align:center;padding-top:9px;box-sizing:border-box}.article-list .item__day{font-size:30px;display:block}.pagination__item{color:#fff;border-radius:3px;padding:0 10px;line-height:24px;display:inline-block;margin-left:10px;background-color:rgba(114,102,186,0.58)}.pagination__item--text{background-color:rgba(255,255,255,0.8);color:#7266BA}.pagination__item--current{background-color:#6658b8}.pagination a.pagination__item:hover{text-decoration:none;background-color:#6658b8}@media (max-width: 768px){.header__nav{display:none}.main{display:block;margin:15px;padding:0}.side{margin:0;width:auto}.article-list .item__date{display:none}.article-list .item,.module{margin-bottom:15px}.footer{margin:0 15px 15px;background-color:rgba(255,255,255,0.8);border-radius:5px;color:#3d4450;line-height:20px}.footer a{text-decoration:underline}.footer .fn__none--m{display:none}.footer .fn__none{display:block}.article-list .item__date--m{text-align:center;margin-bottom:10px;color:#3d4450}.tag{margin:0 5px 10px 0;font-size:12px}.header__logo{left:0}.header__login{display:none}.header__m{display:block;position:absolute;width:100%;z-index:1}.header__m .icon__list{position:absolute;top:-35px;right:15px;font-size:20px;color:#fff}.header__m .module__list{display:none}.header__m .module__list li{background-color:#fff}} diff --git a/nijigen/css/base.scss b/nijigen/css/base.scss new file mode 100644 index 0000000..09734a2 --- /dev/null +++ b/nijigen/css/base.scss @@ -0,0 +1,476 @@ +/** + * Solo - A small and beautiful blogging system written in Java. + * Copyright (c) 2010-2018, b3log.org & hacpai.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +/* + * skin style + * + * @author Liyuan Li + * @version 0.1.0.0, Aug 31, 2018 +*/ +@import "../../../scss/reset"; +@import "../../../scss/reset-content"; +@import "../../../scss/function"; +@import "../../../scss/tooltipped"; +@import "icon"; + +$purple: #7266BA !default; +$purple-dark: #6658b8 !default; +$red: #b94a48 !default; +$black: #3d4450 !default; + +// reset +body { + cursor: url(../images/cursor.cur), url(../images/cursor.cur), auto +} + +a { + transition: all .3s; + cursor: url(../images/pointer.cur), url(../images/pointer.cur), auto +} + +// module +.module { + border-radius: 5px; + overflow: hidden; + margin-bottom: 30px; + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); + transition: all .3s; + + &:hover { + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.8); + } + + &__content { + background-color: rgba(255, 255, 255, 0.8); + padding: 15px; + color: $black; + &:hover { + background-color: #fff; + } + + &--three { + padding-bottom: 0; + } + } + + &__header { + background-color: rgba(10, 10, 0, 0.7); + padding: 15px; + color: #fff; + + a { + color: #fff; + } + + &:hover { + background-color: rgba(10, 10, 0, 0.9); + } + } + + &__list { + li { + border-bottom: 1px solid #ddd; + background-color: rgba(255, 255, 255, 0.8); + line-height: 20px; + a { + padding: 15px 15px; + display: block; + color: $black; + + &:hover { + text-decoration: none; + color: $red; + background-color: #fff; + } + } + } + } +} + +// form +.form { + position: relative; + &__input { + border: 1px solid $purple; + height: 30px; + line-height: 30px; + padding: 0 15px; + border-radius: 15px; + width: 100%; + box-sizing: border-box; + } +} + +// bg +.bg { + height: 100%; + width: 100%; + position: fixed; + top: 0; + left: 0; + background-image: url(../images/background1.jpg); + background-size: cover; + background-position: center center; + z-index: -1; + animation: imageAnimation 36s linear infinite 0s; + opacity: 0; + + &--1 { + background-image: url(../images/background2.jpg); + animation-delay: 6s; + } + &--2 { + background-image: url(../images/background3.jpg); + animation-delay: 12s; + } + &--3 { + background-image: url(../images/background4.jpg); + animation-delay: 18s; + } + &--4 { + background-image: url(../images/background5.jpg); + animation-delay: 24s; + } + &--5 { + background-image: url(../images/background6.jpg); + animation-delay: 30s; + } +} + +@keyframes imageAnimation { + 0% { + opacity: 0; + animation-timing-function: ease-in + } + + 8% { + opacity: 1; + transform: scale(1.05); + animation-timing-function: ease-out + } + + 17% { + opacity: 1; + transform: scale(1.1) rotate(0deg) + } + + 25% { + opacity: 0; + transform: scale(1.1) rotate(0deg) + } + + 100% { + opacity: 0 + } +} + +// header +.header { + background-color: rgba(10, 10, 0, 0.7); + height: 50px; + line-height: 50px; + color: #fff; + transition: all .3s; + box-shadow: 0 0 8px black; + + &:hover { + background-color: rgba(10, 10, 0, 0.9); + } + + a { + color: #fff; + padding: 0 15px; + display: inline-block; + &:hover { + text-decoration: none; + background-color: rgba($purple-dark, 0.8); + } + } + + &__logo { + position: absolute; + left: 30px; + } + + &__nav { + text-align: center; + } + + &__login { + position: absolute; + right: 30px; + top: 0; + } +} + +// framework +.main { + max-width: 1170px; + padding: 30px; + margin: auto; + display: flex; +} + +// side +.side { + width: 280px; + min-width: 280px; + margin-left: 30px; + + &__btn { + background-color: transparent; + border: 0; + top: 5px; + position: absolute; + right: 10px; + } + + &__avatar { + border-radius: 50%; + height: 100px; + width: 100px; + display: block; + margin: 0 auto; + margin-bottom: 15px; + transition: transform .3s; + margin-top: 10px; + + &:hover { + transform: rotate(360deg) scale(1.2); + border: 5px solid rgba($purple, 0.36); + margin-top: 0; + } + } +} + +// tag +.tag { + float: left; + color: #fff; + padding: 2px 5px; + border: 1px solid transparent; + height: 20px; + white-space: nowrap; + word-wrap: normal; + background-color: rgba(10, 10, 0, 0.7); + border-radius: 3px 3px 3px 3px; + line-height: 21px; + margin: 0 15px 15px 0; + + a { + color: #fff; + } + + &:hover { + background-color: $red; + box-shadow: 0 1px 1px rgba(0, 0, 0, .2); + text-decoration: none; + } +} + +// footer +.footer { + text-align: center; + color: #fff; + padding: 15px; + margin-bottom: 30px; + a { + color: $black; + } +} + +// article list +.article-list { + .item { + border-radius: 5px; + margin-bottom: 30px; + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); + padding: 15px; + background-color: rgba(255, 255, 255, 0.8); + position: relative; + transition: all .3s; + + &:hover { + background-color: #fff; + box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.8); + } + + .tag { + float: none; + display: inline-block; + } + + &__title { + text-align: center; + font-size: 24px; + font-weight: 500; + a { + color: rgba(10, 10, 0, 0.7); + padding: 0 15px; + border-radius: 5px; + display: inline-block; + margin-bottom: 15px; + line-height: 36px; + + &:hover { + color: #fff; + text-decoration: none; + background-color: $purple-dark; + } + } + + & > sup { + color: $red; + } + } + + &__date { + position: absolute; + background-color: $purple; + color: #fff; + height: 70px; + width: 70px; + font-size: 12px; + top: -20px; + border-radius: 35px; + left: -20px; + text-align: center; + padding-top: 9px; + box-sizing: border-box; + } + + &__day { + font-size: 30px; + display: block; + } + } +} + +// pagination +.pagination { + &__item { + color: #fff; + border-radius: 3px; + padding: 0 10px; + line-height: 24px; + display: inline-block; + margin-left: 10px; + background-color: rgba($purple, 0.58); + + &--text { + background-color: rgba(255, 255, 255, 0.8); + color: $purple; + } + + &--current { + background-color: $purple-dark; + } + } + + a.pagination__item:hover { + text-decoration: none; + background-color: $purple-dark; + } +} + +@media (max-width: 768px) { + .header__nav { + display: none; + } + + .main { + display: block; + margin: 15px; + padding: 0; + } + + .side { + margin: 0; + width: auto; + } + + .article-list .item__date { + display: none; + } + + .article-list .item, + .module { + margin-bottom: 15px; + } + + .footer { + margin: 0 15px 15px; + background-color: rgba(255, 255, 255, 0.8); + border-radius: 5px; + color: $black; + line-height: 20px; + + a { + text-decoration: underline; + } + + .fn__none--m { + display: none; + } + + .fn__none { + display: block; + } + } + + .article-list .item__date--m { + text-align: center; + margin-bottom: 10px; + color: $black; + } + + .tag { + margin: 0 5px 10px 0; + font-size: 12px; + } + + .header__logo { + left: 0; + } + + .header__login { + display: none; + } + + .header__m { + display: block; + position: absolute; + width: 100%; + z-index: 1; + + .icon__list { + position: absolute; + top: -35px; + right: 15px; + font-size: 20px; + color: #fff; + } + + .module__list { + display: none; + + li { + background-color: #fff; + } + } + } +} \ No newline at end of file diff --git a/nijigen/css/fonts/icomoon.eot b/nijigen/css/fonts/icomoon.eot new file mode 100755 index 0000000..49c2fa8 Binary files /dev/null and b/nijigen/css/fonts/icomoon.eot differ diff --git a/nijigen/css/fonts/icomoon.svg b/nijigen/css/fonts/icomoon.svg new file mode 100755 index 0000000..19b377d --- /dev/null +++ b/nijigen/css/fonts/icomoon.svg @@ -0,0 +1,27 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nijigen/css/fonts/icomoon.ttf b/nijigen/css/fonts/icomoon.ttf new file mode 100755 index 0000000..13145f1 Binary files /dev/null and b/nijigen/css/fonts/icomoon.ttf differ diff --git a/nijigen/css/fonts/icomoon.woff b/nijigen/css/fonts/icomoon.woff new file mode 100755 index 0000000..8da4cca Binary files /dev/null and b/nijigen/css/fonts/icomoon.woff differ diff --git a/nijigen/dynamic.ftl b/nijigen/dynamic.ftl new file mode 100644 index 0000000..e32967b --- /dev/null +++ b/nijigen/dynamic.ftl @@ -0,0 +1,74 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +
    + <#if 0 != recentComments?size> +
      + <#list recentComments as comment> +
    • +
      +
      +
      +
      + <#if "http://" == comment.commentURL> + ${comment.commentName} + <#else> + ${comment.commentName} + + + ${viewLabel}» +
      +
      + ${comment.commentContent} +
      +
      +
      +
    • + +
    + +
    + <#include "side.ftl"> +
    +
    + <#include "footer.ftl"> + + + + diff --git a/nijigen/footer.ftl b/nijigen/footer.ftl new file mode 100644 index 0000000..076235e --- /dev/null +++ b/nijigen/footer.ftl @@ -0,0 +1,66 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> + +
    + + + + + +${plugins} diff --git a/nijigen/header.ftl b/nijigen/header.ftl new file mode 100644 index 0000000..aecadaa --- /dev/null +++ b/nijigen/header.ftl @@ -0,0 +1,135 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +
    +
    +
    +
    +
    +
    +
    + +
    + \ No newline at end of file diff --git a/nijigen/images/background1.jpg b/nijigen/images/background1.jpg new file mode 100644 index 0000000..2abe1f2 Binary files /dev/null and b/nijigen/images/background1.jpg differ diff --git a/nijigen/images/background2.jpg b/nijigen/images/background2.jpg new file mode 100644 index 0000000..7a0cb59 Binary files /dev/null and b/nijigen/images/background2.jpg differ diff --git a/nijigen/images/background3.jpg b/nijigen/images/background3.jpg new file mode 100644 index 0000000..359c76d Binary files /dev/null and b/nijigen/images/background3.jpg differ diff --git a/nijigen/images/background4.jpg b/nijigen/images/background4.jpg new file mode 100644 index 0000000..58a8d42 Binary files /dev/null and b/nijigen/images/background4.jpg differ diff --git a/nijigen/images/background5.jpg b/nijigen/images/background5.jpg new file mode 100644 index 0000000..8608523 Binary files /dev/null and b/nijigen/images/background5.jpg differ diff --git a/nijigen/images/background6.jpg b/nijigen/images/background6.jpg new file mode 100644 index 0000000..0f5250a Binary files /dev/null and b/nijigen/images/background6.jpg differ diff --git a/skins/yilia/images/code-bg.png b/nijigen/images/code-bg.png similarity index 100% rename from skins/yilia/images/code-bg.png rename to nijigen/images/code-bg.png diff --git a/nijigen/images/cursor.cur b/nijigen/images/cursor.cur new file mode 100644 index 0000000..4042edc Binary files /dev/null and b/nijigen/images/cursor.cur differ diff --git a/nijigen/images/pointer.cur b/nijigen/images/pointer.cur new file mode 100644 index 0000000..e18f093 Binary files /dev/null and b/nijigen/images/pointer.cur differ diff --git a/nijigen/index.ftl b/nijigen/index.ftl new file mode 100644 index 0000000..4b087e5 --- /dev/null +++ b/nijigen/index.ftl @@ -0,0 +1,43 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + <#if metaKeywords??> + + + <#if metaDescription??> + + + + + +<#include "header.ftl"> +
    +
    + <#include "article-list.ftl"> +
    + <#include "side.ftl"> +
    +<#include "footer.ftl"> + + \ No newline at end of file diff --git a/nijigen/js/common.js b/nijigen/js/common.js new file mode 100644 index 0000000..13cdaa8 --- /dev/null +++ b/nijigen/js/common.js @@ -0,0 +1,140 @@ +/* + * Solo - A small and beautiful blogging system written in Java. + * Copyright (c) 2010-2018, b3log.org & hacpai.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +/** + * @fileoverview util and every page should be used. + * + * @author Liyuan Li + * @version 0.1.0.0, Feb 17, 2017 + */ + +/** + * @description 皮肤脚本 + * @static + */ +var Skin = { + _initCommon: function ($goTop) { + $('body').on('click', '.content-reset img', function () { + window.open(this.src); + }); + + var $banner = $('header .banner'), + $navbar = $('header .navbar'); + + $(window).scroll(function () { + if ($(window).scrollTop() > 125) { + $goTop.show(); + } else { + $goTop.hide(); + } + + if ($(window).width() < 701) { + return false; + } + + if ($(window).scrollTop() > $banner.height()) { + $navbar.addClass('pin'); + $('.main-wrap').parent().css('margin-top', '86px') + } else { + $navbar.removeClass('pin'); + $('.main-wrap').parent().css('margin-top', '0') + } + }); + }, + init: function () { + this._initCommon($('.icon-up')); + + $('.navbar nav a').each(function () { + if (this.href === location.href) { + this.className = 'current' + } + }); + + $('.responsive .list a').each(function () { + if (this.href === location.href) { + $(this).parent().addClass('current'); + } + }); + + $('.responsive .icon-list').click(function () { + $('.responsive .list').slideToggle(); + }); + }, + _initArticleCommon: function (tocLabel, siteViewLabel) { + // TOC + if ($('.b3-solo-list li').length > 0 && $(window).width() > 1000) { + // add color to sidebar menu + $('aside').addClass('has-toc'); + + // append toc to sidebar menu + var articleTocHTML = '
    • ' + tocLabel + + '
    • ' + siteViewLabel + '
    '; + $('aside').prepend(articleTocHTML); + var $sectionF = $('aside section:first').html($('.b3-solo-list')), + $sectionL = $('aside section:last'); + $sectionF.height($(window).height() - 154).css({ 'overflow': 'auto', 'width': $('aside').width() + 'px'}); + $sectionL.hide(); + // 切换 tab + $('aside > ul > li').click(function () { + if ($(this).data('tab') === 'toc') { + $sectionL.animate({ + "opacity": '0', + "top": '-50px' + }, 300, function () { + $sectionF.show().css('top', '-50px'); + $sectionF.animate({ + "opacity": '1', + "top": '0' + }, 300).show(); + }); + } else { + $sectionF.animate({ + "opacity": '0', + "top": '-50px' + }, 300, function () { + $sectionF.hide().css('top', '-50px'); + $sectionL.animate({ + "opacity": '1', + "top": '0' + }, 300).show(); + }).hide(); + } + $('aside > ul > li').removeClass('current'); + $(this).addClass('current'); + }); + + $(window).scroll(function () { + if ($(window).scrollTop() > 125) { + $('aside section:eq(0)').css({ + position: "fixed", + top: "51px", + backgroundColor: "#fff" + }) + } else { + $('aside section:eq(0)').css({ + position: "inherit", + borderLeft: 0 + }) + } + }); + } + }, + initArticle: function (tocLabel, siteViewLabel) { + this._initArticleCommon(tocLabel, siteViewLabel); + } +}; +Skin.init(); \ No newline at end of file diff --git a/nijigen/js/common.min.js b/nijigen/js/common.min.js new file mode 100644 index 0000000..c7a4047 --- /dev/null +++ b/nijigen/js/common.min.js @@ -0,0 +1,18 @@ +/* + * Solo - A small and beautiful blogging system written in Java. + * Copyright (c) 2010-2018, b3log.org & hacpai.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +var Skin={_initCommon:function(i){$("body").on("click",".content-reset img",function(){window.open(this.src)});var t=$("header .banner"),n=$("header .navbar");$(window).scroll(function(){if($(window).scrollTop()>125?i.show():i.hide(),$(window).width()<701)return!1;$(window).scrollTop()>t.height()?(n.addClass("pin"),$(".main-wrap").parent().css("margin-top","86px")):(n.removeClass("pin"),$(".main-wrap").parent().css("margin-top","0"))})},init:function(){this._initCommon($(".icon-up")),$(".navbar nav a").each(function(){this.href===location.href&&(this.className="current")}),$(".responsive .list a").each(function(){this.href===location.href&&$(this).parent().addClass("current")}),$(".responsive .icon-list").click(function(){$(".responsive .list").slideToggle()})},_initArticleCommon:function(i,t){if($(".b3-solo-list li").length>0&&$(window).width()>1e3){$("aside").addClass("has-toc");var n='
    • '+i+'
    • '+t+"
    ";$("aside").prepend(n);var o=$("aside section:first").html($(".b3-solo-list")),s=$("aside section:last");o.height($(window).height()-154).css({overflow:"auto",width:$("aside").width()+"px"}),s.hide(),$("aside > ul > li").click(function(){"toc"===$(this).data("tab")?s.animate({opacity:"0",top:"-50px"},300,function(){o.show().css("top","-50px"),o.animate({opacity:"1",top:"0"},300).show()}):o.animate({opacity:"0",top:"-50px"},300,function(){o.hide().css("top","-50px"),s.animate({opacity:"1",top:"0"},300).show()}).hide(),$("aside > ul > li").removeClass("current"),$(this).addClass("current")}),$(window).scroll(function(){$(window).scrollTop()>125?$("aside section:eq(0)").css({position:"fixed",top:"51px",backgroundColor:"#fff"}):$("aside section:eq(0)").css({position:"inherit",borderLeft:0})})}},initArticle:function(i,t){this._initArticleCommon(i,t)}};Skin.init(); \ No newline at end of file diff --git a/nijigen/lang/lang_en_US.properties b/nijigen/lang/lang_en_US.properties new file mode 100644 index 0000000..9b93099 --- /dev/null +++ b/nijigen/lang/lang_en_US.properties @@ -0,0 +1,33 @@ +# +# Solo - A small and beautiful blogging system written in Java. +# Copyright (c) 2010-2018, b3log.org & hacpai.com +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# +# Description: Solo language configurations(en_US). +# Version: 1.2.0.0, Apr 8, 2017 +# Author: Liyuan Li +# + +siteViewLabel=Site +onlineVisitorLabel=Visitor +tocLabel=Article ToC +readLabel=Read More +nextArticleLabel=Next +previousArticleLabel=Previous +articleCP1Label=Please indicate the source: +viewCountLabel=View Count +cntLabel= \ No newline at end of file diff --git a/nijigen/lang/lang_zh_CN.properties b/nijigen/lang/lang_zh_CN.properties new file mode 100644 index 0000000..c89866a --- /dev/null +++ b/nijigen/lang/lang_zh_CN.properties @@ -0,0 +1,33 @@ +# +# Solo - A small and beautiful blogging system written in Java. +# Copyright (c) 2010-2018, b3log.org & hacpai.com +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# +# Description: Solo default language configurations(zh_CN). +# Version: 1.2.0.0, Apr 8, 2017 +# Author: Liyuan Li +# + +siteViewLabel=\u7AD9\u70B9\u6982\u8981 +onlineVisitorLabel=\u8BBF\u5BA2 +tocLabel=\u6587\u7AE0\u76EE\u5F55 +readLabel=\u9605\u8BFB\u5168\u6587 +nextArticleLabel=\u65B0\u4E00\u7BC7 +previousArticleLabel=\u65E7\u4E00\u7BC7 +articleCP1Label=\u8F6C\u8F7D\u8BF7\u6CE8\u660E\u6765\u6E90\uFF1A +viewCountLabel=\u6D4F\u89C8\u6570 +cntLabel=\u4E2A \ No newline at end of file diff --git a/nijigen/links.ftl b/nijigen/links.ftl new file mode 100644 index 0000000..677d9fb --- /dev/null +++ b/nijigen/links.ftl @@ -0,0 +1,55 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +
    +
    +

    +  ${linkLabel}

    +
    + <#if 0 != links?size> + + +
    + <#include "side.ftl"> +
    +
    + <#include "footer.ftl"> + + diff --git a/nijigen/macro-comments.ftl b/nijigen/macro-comments.ftl new file mode 100644 index 0000000..2dabfdc --- /dev/null +++ b/nijigen/macro-comments.ftl @@ -0,0 +1,119 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#macro comments commentList article> +

    ${commentLabel}

    +
      + <#list commentList as comment> + <#include 'common-comment.ftl'/> + +
    +<#if article.commentable> +

    ${postCommentsLabel}

    + + + <#if !isLoggedIn> + + + + + + + + + + + + + + + + + <#if !isLoggedIn> + + + + + + + + +
    + +
    + +
    + +
    + + + + + + + + + + + + + + + +
    + +
    + + validate +
    + + +
    + + + +<#macro comment_script oId> + + + \ No newline at end of file diff --git a/nijigen/macro-head.ftl b/nijigen/macro-head.ftl new file mode 100644 index 0000000..f16a049 --- /dev/null +++ b/nijigen/macro-head.ftl @@ -0,0 +1,37 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#macro head title> + +${title} +<#nested> + + + + + + + + + + + + +${htmlHead} + \ No newline at end of file diff --git a/nijigen/page.ftl b/nijigen/page.ftl new file mode 100644 index 0000000..4732f05 --- /dev/null +++ b/nijigen/page.ftl @@ -0,0 +1,48 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${page.pageTitle} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +
    +
    +
    + ${page.pageContent} +
    + <@comments commentList=pageComments article=page> +
    +
    + <#include "side.ftl"> +
    +
    + <#include "footer.ftl"> + <@comment_script oId=page.oId> + + diff --git a/nijigen/preview.png b/nijigen/preview.png new file mode 100644 index 0000000..cd53e4e Binary files /dev/null and b/nijigen/preview.png differ diff --git a/nijigen/side.ftl b/nijigen/side.ftl new file mode 100644 index 0000000..c350f7f --- /dev/null +++ b/nijigen/side.ftl @@ -0,0 +1,138 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> + \ No newline at end of file diff --git a/nijigen/skin.properties b/nijigen/skin.properties new file mode 100644 index 0000000..b6edb5a --- /dev/null +++ b/nijigen/skin.properties @@ -0,0 +1,26 @@ +# +# Solo - A small and beautiful blogging system written in Java. +# Copyright (c) 2010-2018, b3log.org & hacpai.com +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# +# Description: Spaces skin. +# Version: 1.0.0.0, Feb 17, 2017 +# Author: Liyuan Li +# + +name=9IPHP +memo=https://github.com/9IPHP diff --git a/nijigen/tag-articles.ftl b/nijigen/tag-articles.ftl new file mode 100644 index 0000000..f4ae0d1 --- /dev/null +++ b/nijigen/tag-articles.ftl @@ -0,0 +1,46 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${tag.tagTitle} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +
    +
    +

    +  ${tag.tagTitle} + ${tagLabel} +

    + <#include "article-list.ftl"> +
    + <#include "side.ftl"> +
    +
    + <#include "footer.ftl"> + + diff --git a/nijigen/tags.ftl b/nijigen/tags.ftl new file mode 100644 index 0000000..2372cf6 --- /dev/null +++ b/nijigen/tags.ftl @@ -0,0 +1,64 @@ +<#-- + + Solo - A small and beautiful blogging system written in Java. + Copyright (c) 2010-2018, b3log.org & hacpai.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +--> +<#include "macro-head.ftl"> + + + + <@head title="${allTagsLabel} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +
    +
    +

    +   ${sumLabel} ${tags?size} ${tagLabel} +

    + +
    + <#include "side.ftl"> +
    +
    + <#include "footer.ftl"> + + + + diff --git a/skins/owmx-3.0/archive-articles.ftl b/owmx-3.0/archive-articles.ftl similarity index 100% rename from skins/owmx-3.0/archive-articles.ftl rename to owmx-3.0/archive-articles.ftl diff --git a/skins/owmx-3.0/article-list.ftl b/owmx-3.0/article-list.ftl similarity index 100% rename from skins/owmx-3.0/article-list.ftl rename to owmx-3.0/article-list.ftl diff --git a/skins/owmx-3.0/article.ftl b/owmx-3.0/article.ftl similarity index 100% rename from skins/owmx-3.0/article.ftl rename to owmx-3.0/article.ftl diff --git a/skins/owmx-3.0/author-articles.ftl b/owmx-3.0/author-articles.ftl similarity index 100% rename from skins/owmx-3.0/author-articles.ftl rename to owmx-3.0/author-articles.ftl diff --git a/skins/owmx-3.0/category-articles.ftl b/owmx-3.0/category-articles.ftl similarity index 100% rename from skins/owmx-3.0/category-articles.ftl rename to owmx-3.0/category-articles.ftl diff --git a/skins/owmx-3.0/common-comment.ftl b/owmx-3.0/common-comment.ftl similarity index 100% rename from skins/owmx-3.0/common-comment.ftl rename to owmx-3.0/common-comment.ftl diff --git a/skins/owmx-3.0/css/owmx-3.0.css b/owmx-3.0/css/owmx-3.0.css similarity index 100% rename from skins/owmx-3.0/css/owmx-3.0.css rename to owmx-3.0/css/owmx-3.0.css diff --git a/skins/owmx-3.0/css/owmx-3.0.min.css b/owmx-3.0/css/owmx-3.0.min.css similarity index 100% rename from skins/owmx-3.0/css/owmx-3.0.min.css rename to owmx-3.0/css/owmx-3.0.min.css diff --git a/skins/owmx-3.0/footer.ftl b/owmx-3.0/footer.ftl similarity index 100% rename from skins/owmx-3.0/footer.ftl rename to owmx-3.0/footer.ftl diff --git a/skins/owmx-3.0/header.ftl b/owmx-3.0/header.ftl similarity index 100% rename from skins/owmx-3.0/header.ftl rename to owmx-3.0/header.ftl diff --git a/skins/owmx-3.0/images/ai1.png b/owmx-3.0/images/ai1.png similarity index 100% rename from skins/owmx-3.0/images/ai1.png rename to owmx-3.0/images/ai1.png diff --git a/skins/owmx-3.0/images/ai2.png b/owmx-3.0/images/ai2.png similarity index 100% rename from skins/owmx-3.0/images/ai2.png rename to owmx-3.0/images/ai2.png diff --git a/skins/owmx-3.0/images/ai3.png b/owmx-3.0/images/ai3.png similarity index 100% rename from skins/owmx-3.0/images/ai3.png rename to owmx-3.0/images/ai3.png diff --git a/skins/owmx-3.0/images/ai4.png b/owmx-3.0/images/ai4.png similarity index 100% rename from skins/owmx-3.0/images/ai4.png rename to owmx-3.0/images/ai4.png diff --git a/skins/owmx-3.0/images/ai5.png b/owmx-3.0/images/ai5.png similarity index 100% rename from skins/owmx-3.0/images/ai5.png rename to owmx-3.0/images/ai5.png diff --git a/skins/owmx-3.0/images/ai6.png b/owmx-3.0/images/ai6.png similarity index 100% rename from skins/owmx-3.0/images/ai6.png rename to owmx-3.0/images/ai6.png diff --git a/skins/owmx-3.0/images/ai7.png b/owmx-3.0/images/ai7.png similarity index 100% rename from skins/owmx-3.0/images/ai7.png rename to owmx-3.0/images/ai7.png diff --git a/skins/owmx-3.0/images/ai8.png b/owmx-3.0/images/ai8.png similarity index 100% rename from skins/owmx-3.0/images/ai8.png rename to owmx-3.0/images/ai8.png diff --git a/skins/owmx-3.0/images/comment.gif b/owmx-3.0/images/comment.gif similarity index 100% rename from skins/owmx-3.0/images/comment.gif rename to owmx-3.0/images/comment.gif diff --git a/skins/owmx-3.0/images/commentpoint.png b/owmx-3.0/images/commentpoint.png similarity index 100% rename from skins/owmx-3.0/images/commentpoint.png rename to owmx-3.0/images/commentpoint.png diff --git a/skins/owmx-3.0/images/hd.jpg b/owmx-3.0/images/hd.jpg similarity index 100% rename from skins/owmx-3.0/images/hd.jpg rename to owmx-3.0/images/hd.jpg diff --git a/skins/owmx-3.0/images/icons.gif b/owmx-3.0/images/icons.gif similarity index 100% rename from skins/owmx-3.0/images/icons.gif rename to owmx-3.0/images/icons.gif diff --git a/skins/owmx-3.0/images/textfield.gif b/owmx-3.0/images/textfield.gif similarity index 100% rename from skins/owmx-3.0/images/textfield.gif rename to owmx-3.0/images/textfield.gif diff --git a/skins/owmx-3.0/index.ftl b/owmx-3.0/index.ftl similarity index 100% rename from skins/owmx-3.0/index.ftl rename to owmx-3.0/index.ftl diff --git a/skins/owmx-3.0/lang/lang_en_US.properties b/owmx-3.0/lang/lang_en_US.properties similarity index 100% rename from skins/owmx-3.0/lang/lang_en_US.properties rename to owmx-3.0/lang/lang_en_US.properties diff --git a/skins/owmx-3.0/lang/lang_zh_CN.properties b/owmx-3.0/lang/lang_zh_CN.properties similarity index 100% rename from skins/owmx-3.0/lang/lang_zh_CN.properties rename to owmx-3.0/lang/lang_zh_CN.properties diff --git a/skins/owmx-3.0/macro-comments.ftl b/owmx-3.0/macro-comments.ftl similarity index 100% rename from skins/owmx-3.0/macro-comments.ftl rename to owmx-3.0/macro-comments.ftl diff --git a/skins/owmx-3.0/macro-head.ftl b/owmx-3.0/macro-head.ftl similarity index 100% rename from skins/owmx-3.0/macro-head.ftl rename to owmx-3.0/macro-head.ftl diff --git a/skins/owmx-3.0/page.ftl b/owmx-3.0/page.ftl similarity index 100% rename from skins/owmx-3.0/page.ftl rename to owmx-3.0/page.ftl diff --git a/skins/owmx-3.0/preview.png b/owmx-3.0/preview.png similarity index 100% rename from skins/owmx-3.0/preview.png rename to owmx-3.0/preview.png diff --git a/skins/owmx-3.0/side.ftl b/owmx-3.0/side.ftl similarity index 100% rename from skins/owmx-3.0/side.ftl rename to owmx-3.0/side.ftl diff --git a/skins/owmx-3.0/skin.properties b/owmx-3.0/skin.properties similarity index 100% rename from skins/owmx-3.0/skin.properties rename to owmx-3.0/skin.properties diff --git a/skins/owmx-3.0/tag-articles.ftl b/owmx-3.0/tag-articles.ftl similarity index 100% rename from skins/owmx-3.0/tag-articles.ftl rename to owmx-3.0/tag-articles.ftl diff --git a/skins/owmx-3.0/tags.ftl b/owmx-3.0/tags.ftl similarity index 100% rename from skins/owmx-3.0/tags.ftl rename to owmx-3.0/tags.ftl diff --git a/skin-preview/9IPHP.jpg b/skin-preview/9IPHP.jpg deleted file mode 100644 index ad8f334..0000000 Binary files a/skin-preview/9IPHP.jpg and /dev/null differ diff --git a/skin-preview/Andrea.jpg b/skin-preview/Andrea.jpg deleted file mode 100644 index e77ad9a..0000000 Binary files a/skin-preview/Andrea.jpg and /dev/null differ diff --git a/skin-preview/Bruce.jpg b/skin-preview/Bruce.jpg deleted file mode 100644 index 1c130d2..0000000 Binary files a/skin-preview/Bruce.jpg and /dev/null differ diff --git a/skin-preview/Community.jpg b/skin-preview/Community.jpg deleted file mode 100644 index a49488b..0000000 Binary files a/skin-preview/Community.jpg and /dev/null differ diff --git a/skin-preview/Finding.jpg b/skin-preview/Finding.jpg deleted file mode 100644 index 97f9acc..0000000 Binary files a/skin-preview/Finding.jpg and /dev/null differ diff --git a/skin-preview/Medium.png b/skin-preview/Medium.png deleted file mode 100644 index 341a460..0000000 Binary files a/skin-preview/Medium.png and /dev/null differ diff --git a/skin-preview/NeoEase.jpg b/skin-preview/NeoEase.jpg deleted file mode 100644 index 2d62640..0000000 Binary files a/skin-preview/NeoEase.jpg and /dev/null differ diff --git a/skin-preview/README.md b/skin-preview/README.md deleted file mode 100644 index ac3f345..0000000 --- a/skin-preview/README.md +++ /dev/null @@ -1,64 +0,0 @@ -存放皮肤效果图 ------------------------------------------------------- -命名方式:皮肤目录.jpg - ----------------------------- -平等,自由,奔放 - -Equality, Freedom, Passion - -;-) - - ----------------------------- -* [9IPHP](https://github.com/b3log/solo-skins/tree/master/9IPHP) -![9IPHP](https://github.com/b3log/solo-skins/blob/master/skin-preview/9IPHP.jpg?raw=true) - - -* [next](https://github.com/b3log/solo-skins/tree/master/next) -![next](https://github.com/b3log/solo-skins/blob/master/skin-preview/next.jpg?raw=true) - -* [yilia](https://github.com/b3log/solo-skins/tree/master/yilia) -![yilia](https://github.com/b3log/solo-skins/blob/master/skin-preview/yilia.jpg?raw=true) - -* [Finding](https://github.com/b3log/solo-skins/tree/master/Finding) -![Finding](https://github.com/b3log/solo-skins/blob/master/skin-preview/Finding.jpg?raw=true) - -* [metro-hot](https://github.com/b3log/solo-skins/tree/master/metro-hot) -![metro-hot](https://github.com/b3log/solo-skins/blob/master/skin-preview/metro-hot.jpg?raw=true) - -* [timeline](https://github.com/b3log/solo-skins/tree/master/timeline) -![timeline](https://github.com/b3log/solo-skins/blob/master/skin-preview/timeline.jpg?raw=true) - -* [ease](https://github.com/b3log/solo-skins/tree/master/ease) -![ease](https://github.com/b3log/solo-skins/blob/master/skin-preview/ease.jpg?raw=true) - -* [mobile](https://github.com/b3log/solo-skins/tree/master/mobile)
    -![mobile](https://github.com/b3log/solo-skins/blob/master/skin-preview/mobile.jpg?raw=true) - -* [Andrea](https://github.com/b3log/solo-skins/tree/master/Andrea) -![Andrea](https://github.com/b3log/solo-skins/blob/master/skin-preview/Andrea.jpg?raw=true) - -* [classic](https://github.com/b3log/solo-skins/tree/master/classic) -![classic](https://github.com/b3log/solo-skins/blob/master/skin-preview/classic.jpg?raw=true) - -* [Community](https://github.com/b3log/solo-skins/tree/master/Community) -![Community](https://github.com/b3log/solo-skins/blob/master/skin-preview/Community.jpg?raw=true) - -* [favourite](https://github.com/b3log/solo-skins/tree/master/favourite) -![favourite](https://github.com/b3log/solo-skins/blob/master/skin-preview/favourite.jpg?raw=true) - -* [tree-house](https://github.com/b3log/solo-skins/tree/master/tree-house) -![tree-house](https://github.com/b3log/solo-skins/blob/master/skin-preview/tree-house.jpg?raw=true) - -* [i-nove](https://github.com/b3log/solo-skins/tree/master/i-nove) -![i-nove](https://github.com/b3log/solo-skins/blob/master/skin-preview/i-nove.jpg?raw=true) - -* [NeoEase](https://github.com/b3log/solo-skins/tree/master/NeoEase) -![NeoEase](https://github.com/b3log/solo-skins/blob/master/skin-preview/NeoEase.jpg?raw=true) - -* [owmx-3.0](https://github.com/b3log/solo-skins/tree/master/owmx-3.0) -![owmx-3.0](https://github.com/b3log/solo-skins/blob/master/skin-preview/owmx-3.0.jpg?raw=true) - -* [bruce](https://github.com/b3log/solo-skins/tree/master/bruce) -![bruce](https://github.com/b3log/solo-skins/blob/master/skin-preview/bruce.jpg?raw=true) diff --git a/skin-preview/classic.jpg b/skin-preview/classic.jpg deleted file mode 100644 index 79b3d19..0000000 Binary files a/skin-preview/classic.jpg and /dev/null differ diff --git a/skin-preview/ease.jpg b/skin-preview/ease.jpg deleted file mode 100644 index 2c30e5d..0000000 Binary files a/skin-preview/ease.jpg and /dev/null differ diff --git a/skin-preview/favourite.jpg b/skin-preview/favourite.jpg deleted file mode 100644 index 4210609..0000000 Binary files a/skin-preview/favourite.jpg and /dev/null differ diff --git a/skin-preview/i-nove.jpg b/skin-preview/i-nove.jpg deleted file mode 100644 index 58afa58..0000000 Binary files a/skin-preview/i-nove.jpg and /dev/null differ diff --git a/skin-preview/metro-hot.jpg b/skin-preview/metro-hot.jpg deleted file mode 100644 index e07bdec..0000000 Binary files a/skin-preview/metro-hot.jpg and /dev/null differ diff --git a/skin-preview/mobile.jpg b/skin-preview/mobile.jpg deleted file mode 100644 index b0c3817..0000000 Binary files a/skin-preview/mobile.jpg and /dev/null differ diff --git a/skin-preview/next.jpg b/skin-preview/next.jpg deleted file mode 100644 index a7db2b3..0000000 Binary files a/skin-preview/next.jpg and /dev/null differ diff --git a/skin-preview/owmx-3.0.jpg b/skin-preview/owmx-3.0.jpg deleted file mode 100644 index 2b7d91a..0000000 Binary files a/skin-preview/owmx-3.0.jpg and /dev/null differ diff --git a/skin-preview/timeline.jpg b/skin-preview/timeline.jpg deleted file mode 100644 index a778dc4..0000000 Binary files a/skin-preview/timeline.jpg and /dev/null differ diff --git a/skin-preview/tree-house.jpg b/skin-preview/tree-house.jpg deleted file mode 100644 index 7ea7778..0000000 Binary files a/skin-preview/tree-house.jpg and /dev/null differ diff --git a/skin-preview/yilia.jpg b/skin-preview/yilia.jpg deleted file mode 100644 index 580e87c..0000000 Binary files a/skin-preview/yilia.jpg and /dev/null differ diff --git a/skins/timeline/article-list.ftl b/timeline/article-list.ftl similarity index 100% rename from skins/timeline/article-list.ftl rename to timeline/article-list.ftl diff --git a/skins/timeline/article.ftl b/timeline/article.ftl similarity index 100% rename from skins/timeline/article.ftl rename to timeline/article.ftl diff --git a/skins/timeline/author-articles.ftl b/timeline/author-articles.ftl similarity index 100% rename from skins/timeline/author-articles.ftl rename to timeline/author-articles.ftl diff --git a/skins/timeline/category-articles.ftl b/timeline/category-articles.ftl similarity index 100% rename from skins/timeline/category-articles.ftl rename to timeline/category-articles.ftl diff --git a/skins/timeline/common-comment.ftl b/timeline/common-comment.ftl similarity index 100% rename from skins/timeline/common-comment.ftl rename to timeline/common-comment.ftl diff --git a/skins/timeline/css/timeline.css b/timeline/css/timeline.css similarity index 100% rename from skins/timeline/css/timeline.css rename to timeline/css/timeline.css diff --git a/skins/timeline/css/timeline.min.css b/timeline/css/timeline.min.css similarity index 100% rename from skins/timeline/css/timeline.min.css rename to timeline/css/timeline.min.css diff --git a/skins/timeline/dynamic.ftl b/timeline/dynamic.ftl similarity index 100% rename from skins/timeline/dynamic.ftl rename to timeline/dynamic.ftl diff --git a/skins/timeline/footer.ftl b/timeline/footer.ftl similarity index 100% rename from skins/timeline/footer.ftl rename to timeline/footer.ftl diff --git a/skins/timeline/header.ftl b/timeline/header.ftl similarity index 100% rename from skins/timeline/header.ftl rename to timeline/header.ftl diff --git a/skins/timeline/images/ajax-loader.gif b/timeline/images/ajax-loader.gif similarity index 100% rename from skins/timeline/images/ajax-loader.gif rename to timeline/images/ajax-loader.gif diff --git a/skins/timeline/images/bg.png b/timeline/images/bg.png similarity index 100% rename from skins/timeline/images/bg.png rename to timeline/images/bg.png diff --git a/skins/timeline/images/icons.png b/timeline/images/icons.png similarity index 100% rename from skins/timeline/images/icons.png rename to timeline/images/icons.png diff --git a/skins/timeline/images/nav-bg.png b/timeline/images/nav-bg.png similarity index 100% rename from skins/timeline/images/nav-bg.png rename to timeline/images/nav-bg.png diff --git a/skins/timeline/index.ftl b/timeline/index.ftl similarity index 100% rename from skins/timeline/index.ftl rename to timeline/index.ftl diff --git a/skins/timeline/js/timeline.js b/timeline/js/timeline.js similarity index 100% rename from skins/timeline/js/timeline.js rename to timeline/js/timeline.js diff --git a/skins/timeline/js/timeline.min.js b/timeline/js/timeline.min.js similarity index 100% rename from skins/timeline/js/timeline.min.js rename to timeline/js/timeline.min.js diff --git a/skins/timeline/lang/lang_en_US.properties b/timeline/lang/lang_en_US.properties similarity index 100% rename from skins/timeline/lang/lang_en_US.properties rename to timeline/lang/lang_en_US.properties diff --git a/skins/timeline/lang/lang_zh_CN.properties b/timeline/lang/lang_zh_CN.properties similarity index 100% rename from skins/timeline/lang/lang_zh_CN.properties rename to timeline/lang/lang_zh_CN.properties diff --git a/skins/timeline/macro-comments.ftl b/timeline/macro-comments.ftl similarity index 100% rename from skins/timeline/macro-comments.ftl rename to timeline/macro-comments.ftl diff --git a/skins/timeline/macro-head.ftl b/timeline/macro-head.ftl similarity index 100% rename from skins/timeline/macro-head.ftl rename to timeline/macro-head.ftl diff --git a/skins/timeline/page.ftl b/timeline/page.ftl similarity index 100% rename from skins/timeline/page.ftl rename to timeline/page.ftl diff --git a/skins/timeline/preview.png b/timeline/preview.png similarity index 100% rename from skins/timeline/preview.png rename to timeline/preview.png diff --git a/skins/timeline/skin.properties b/timeline/skin.properties similarity index 100% rename from skins/timeline/skin.properties rename to timeline/skin.properties diff --git a/skins/timeline/tag-articles.ftl b/timeline/tag-articles.ftl similarity index 100% rename from skins/timeline/tag-articles.ftl rename to timeline/tag-articles.ftl diff --git a/skins/timeline/tags.ftl b/timeline/tags.ftl similarity index 100% rename from skins/timeline/tags.ftl rename to timeline/tags.ftl diff --git a/toolers/Gulpfile.js b/toolers/Gulpfile.js deleted file mode 100644 index 25df285..0000000 --- a/toolers/Gulpfile.js +++ /dev/null @@ -1,36 +0,0 @@ -var gulp = require ('gulp'), -minifycss = require('gulp-minify-css'), -rename = require('gulp-rename'), -uglify = require ('gulp-uglify'), -clean = require('gulp-clean'), -license = require('gulp-header-license'), -fs = require('fs'); - -gulp.task ('clean', function (cb) { - var stream = gulp.src('../skins/*/css/*.min.css').pipe(clean({force: true})); - gulp.src('../skins/*/js/*.min.js').pipe(clean({force: true})); - - return stream; -}); - -gulp.task ('build', ['clean'], function (cb) { - var stream = gulp.src ('../skins/*/css/*.css') - .pipe(rename({ suffix: '.min' })) - .pipe(minifycss()) - .pipe(gulp.dest ('../skins/')); - - gulp.src ('../skins/*/js/*.js') - .pipe(rename({ suffix: '.min' })) - .pipe(uglify({preserveComments: 'license'})) - .pipe(gulp.dest ('../skins/')); - - return stream; -}); - -gulp.task ('license', ['clean', 'build'], function () { - gulp.src('../skins/*/css/*.css') - .pipe(license(fs.readFileSync('header.txt', 'utf8'), {year: (new Date()).getFullYear()}, 0.8)) - .pipe(gulp.dest('../skins/')); -}); - -gulp.task('default', ['clean', 'build', 'license']); \ No newline at end of file diff --git a/toolers/header.txt b/toolers/header.txt deleted file mode 100644 index c9f73b6..0000000 --- a/toolers/header.txt +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Solo - A small and beautiful blogging system written in Java. - * Copyright (c) 2010-<%= year %>, b3log.org & hacpai.com - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ \ No newline at end of file diff --git a/toolers/package-lock.json b/toolers/package-lock.json deleted file mode 100644 index b60b7dd..0000000 --- a/toolers/package-lock.json +++ /dev/null @@ -1,3320 +0,0 @@ -{ - "name": "solo-skins", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "bufferstreams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz", - "integrity": "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=", - "dev": true, - "requires": { - "readable-stream": "^1.0.33" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", - "dev": true, - "requires": { - "commander": "2.8.x", - "source-map": "0.4.x" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "deprecated": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", - "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9" - } - }, - "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", - "dev": true, - "requires": { - "once": "~1.3.0" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "fancy-log": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", - "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", - "dev": true, - "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-index": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", - "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "fined": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", - "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, - "flagged-respawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", - "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "~0.1.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", - "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^2.0.1", - "once": "^1.3.0" - } - }, - "glob-stream": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", - "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", - "dev": true, - "requires": { - "glob": "^4.3.1", - "glob2base": "^0.0.12", - "minimatch": "^2.0.1", - "ordered-read-streams": "^0.1.0", - "through2": "^0.6.1", - "unique-stream": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "glob-watcher": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", - "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", - "dev": true, - "requires": { - "gaze": "^0.5.1" - } - }, - "glob2base": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", - "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", - "dev": true, - "requires": { - "find-index": "^0.1.1" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", - "dev": true, - "requires": { - "glob": "~3.1.21", - "lodash": "~1.0.1", - "minimatch": "~0.2.11" - }, - "dependencies": { - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, - "requires": { - "graceful-fs": "~1.2.0", - "inherits": "1", - "minimatch": "~0.2.11" - } - }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - } - } - } - }, - "glogg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", - "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "graceful-fs": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", - "dev": true, - "requires": { - "natives": "^1.1.0" - } - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "gulp": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", - "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", - "dev": true, - "requires": { - "archy": "^1.0.0", - "chalk": "^1.0.0", - "deprecated": "^0.0.1", - "gulp-util": "^3.0.0", - "interpret": "^1.0.0", - "liftoff": "^2.1.0", - "minimist": "^1.1.0", - "orchestrator": "^0.3.0", - "pretty-hrtime": "^1.0.0", - "semver": "^4.1.0", - "tildify": "^1.0.0", - "v8flags": "^2.0.2", - "vinyl-fs": "^0.3.0" - } - }, - "gulp-clean": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz", - "integrity": "sha1-o0fUc6zqQBgvk1WHpFGUFnGSgQI=", - "dev": true, - "requires": { - "gulp-util": "^2.2.14", - "rimraf": "^2.2.8", - "through2": "^0.4.2" - }, - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", - "dev": true - }, - "ansi-styles": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", - "dev": true - }, - "chalk": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", - "dev": true, - "requires": { - "ansi-styles": "^1.1.0", - "escape-string-regexp": "^1.0.0", - "has-ansi": "^0.1.0", - "strip-ansi": "^0.3.0", - "supports-color": "^0.2.0" - } - }, - "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" - } - }, - "gulp-util": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", - "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=", - "dev": true, - "requires": { - "chalk": "^0.5.0", - "dateformat": "^1.0.7-1.2.3", - "lodash._reinterpolate": "^2.4.1", - "lodash.template": "^2.4.1", - "minimist": "^0.2.0", - "multipipe": "^0.1.0", - "through2": "^0.5.0", - "vinyl": "^0.2.1" - }, - "dependencies": { - "through2": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", - "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", - "dev": true, - "requires": { - "readable-stream": "~1.0.17", - "xtend": "~3.0.0" - } - } - } - }, - "has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", - "dev": true, - "requires": { - "ansi-regex": "^0.2.0" - } - }, - "lodash._reinterpolate": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", - "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=", - "dev": true - }, - "lodash.escape": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", - "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=", - "dev": true, - "requires": { - "lodash._escapehtmlchar": "~2.4.1", - "lodash._reunescapedhtml": "~2.4.1", - "lodash.keys": "~2.4.1" - } - }, - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - }, - "lodash.template": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", - "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=", - "dev": true, - "requires": { - "lodash._escapestringchar": "~2.4.1", - "lodash._reinterpolate": "~2.4.1", - "lodash.defaults": "~2.4.1", - "lodash.escape": "~2.4.1", - "lodash.keys": "~2.4.1", - "lodash.templatesettings": "~2.4.1", - "lodash.values": "~2.4.1" - } - }, - "lodash.templatesettings": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", - "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~2.4.1", - "lodash.escape": "~2.4.1" - } - }, - "minimist": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz", - "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "strip-ansi": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", - "dev": true, - "requires": { - "ansi-regex": "^0.2.1" - } - }, - "supports-color": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", - "dev": true - }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", - "dev": true, - "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - }, - "dependencies": { - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "vinyl": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", - "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=", - "dev": true, - "requires": { - "clone-stats": "~0.0.1" - } - }, - "xtend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", - "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", - "dev": true - } - } - }, - "gulp-header-license": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/gulp-header-license/-/gulp-header-license-1.0.9.tgz", - "integrity": "sha1-9CIrZ3qkUdqt2EdhTbWA5JqjU2k=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "through2": "^2.0.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "gulp-minify-css": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/gulp-minify-css/-/gulp-minify-css-1.2.4.tgz", - "integrity": "sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY=", - "dev": true, - "requires": { - "clean-css": "^3.3.3", - "gulp-util": "^3.0.5", - "object-assign": "^4.0.1", - "readable-stream": "^2.0.0", - "vinyl-bufferstream": "^1.0.1", - "vinyl-sourcemaps-apply": "^0.2.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "gulp-rename": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.3.tgz", - "integrity": "sha512-CmdPM0BjJ105QCX1fk+j7NGhiN/1rCl9HLGss+KllBS/tdYadpjTxqdKyh/5fNV+M3yjT1MFz5z93bXdrTyzAw==", - "dev": true - }, - "gulp-uglify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-2.1.2.tgz", - "integrity": "sha1-bbhbHQ7mPRgFhZK2WGSdZcLsRUE=", - "dev": true, - "requires": { - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash": "^4.13.1", - "make-error-cause": "^1.1.1", - "through2": "^2.0.0", - "uglify-js": "~2.8.10", - "uglify-save-license": "^0.4.1", - "vinyl-sourcemaps-apply": "^0.2.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "^1.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "dev": true, - "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", - "dev": true - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true - }, - "lodash._escapehtmlchar": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", - "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=", - "dev": true, - "requires": { - "lodash._htmlescapes": "~2.4.1" - } - }, - "lodash._escapestringchar": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", - "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._htmlescapes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash._isnative": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=", - "dev": true - }, - "lodash._objecttypes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", - "dev": true - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash._reunescapedhtml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", - "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=", - "dev": true, - "requires": { - "lodash._htmlescapes": "~2.4.1", - "lodash.keys": "~2.4.1" - }, - "dependencies": { - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - } - } - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true - }, - "lodash._shimkeys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.4.1" - } - }, - "lodash.defaults": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.4.1", - "lodash.keys": "~2.4.1" - }, - "dependencies": { - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - } - } - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, - "requires": { - "lodash._root": "^3.0.0" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isobject": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.4.1" - } - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - }, - "lodash.values": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", - "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=", - "dev": true, - "requires": { - "lodash.keys": "~2.4.1" - }, - "dependencies": { - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - } - } - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "make-error": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", - "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", - "dev": true - }, - "make-error-cause": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", - "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", - "dev": true, - "requires": { - "make-error": "^1.2.0" - } - }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "^1.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, - "requires": { - "duplexer2": "0.0.2" - } - }, - "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natives": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz", - "integrity": "sha512-BZGSYV4YOLxzoTK73l0/s/0sH9l8SHs2ocReMH1f8JYSh5FUWu4ZrKCpJdRkWXV6HFR/pZDz7bwWOVAY07q77g==", - "dev": true - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "orchestrator": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", - "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", - "dev": true, - "requires": { - "end-of-stream": "~0.1.5", - "sequencify": "~0.0.7", - "stream-consume": "~0.1.0" - } - }, - "ordered-read-streams": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", - "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "sequencify": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", - "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", - "dev": true - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stream-consume": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", - "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", - "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", - "dev": true, - "requires": { - "first-chunk-stream": "^1.0.0", - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0" - } - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - } - }, - "uglify-save-license": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz", - "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=", - "dev": true - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "unique-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "^1.1.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - }, - "vinyl-bufferstream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz", - "integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=", - "dev": true, - "requires": { - "bufferstreams": "1.0.1" - } - }, - "vinyl-fs": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", - "dev": true, - "requires": { - "defaults": "^1.0.0", - "glob-stream": "^3.1.5", - "glob-watcher": "^0.0.6", - "graceful-fs": "^3.0.0", - "mkdirp": "^0.5.0", - "strip-bom": "^1.0.0", - "through2": "^0.6.1", - "vinyl": "^0.4.0" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", - "dev": true, - "requires": { - "source-map": "^0.5.1" - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - } - } - } - } -} diff --git a/toolers/package.json b/toolers/package.json deleted file mode 100644 index edced6e..0000000 --- a/toolers/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "solo-skins", - "version": "1.0.0", - "homepage": "https://hacpai.com", - "author": "Vanesse (https://vanesse.b3log.org)", - "scripts": { - "build": "gulp" - }, - "devDependencies": { - "gulp": "^3.9.1", - "gulp-clean": "^0.3.2", - "gulp-header-license": "^1.0.9", - "gulp-minify-css": "^1.2.4", - "gulp-rename": "^1.2.2", - "gulp-uglify": "^2.0.0" - } -} diff --git a/toolers/update-version.js b/toolers/update-version.js deleted file mode 100644 index 14bafab..0000000 --- a/toolers/update-version.js +++ /dev/null @@ -1,42 +0,0 @@ -var version = "1.9.0", -newVersion = "2.0.0"; - -process.argv.forEach(function (val, index) { - if (index === 2) { - version = val; - } - - if (index === 3) { - newVersion = val; - } -}); - -var fs = require("fs"), -path = require('path'); -var getPropertiesFiles = function (root) { - var res = [], - files = fs.readdirSync(root); - - files.forEach(function (file) { - var pathname = root + '/' + file, - stat = fs.lstatSync(pathname); - - if (!stat.isDirectory()) { - if (path.basename(pathname) === "skin.properties") { - res.push(pathname); - } - } else { - res = res.concat(getPropertiesFiles(pathname)); - } - }); - return res; -}; - -(function () { - var skins = getPropertiesFiles(".."); - - for (var i = 0; i < skins.length; i++) { - var file = fs.readFileSync(skins[i], "UTF-8"); - fs.writeFileSync(skins[i], file.replace("forSolo=" + version, "forSolo=" + newVersion), "UTF-8"); - } -})(); diff --git a/toolers/yarn.lock b/toolers/yarn.lock deleted file mode 100644 index 1f98973..0000000 --- a/toolers/yarn.lock +++ /dev/null @@ -1,1629 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-regex@^0.2.0, ansi-regex@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -archy@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/archy/download/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" - -array-differ@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-uniq@^1.0.2: - version "1.0.3" - resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -beeper@^1.0.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/beeper/download/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - -brace-expansion@^1.0.0: - version "1.1.7" - resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -buffer-shims@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/buffer-shims/download/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -bufferstreams@1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/bufferstreams/download/bufferstreams-1.0.1.tgz#cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a" - dependencies: - readable-stream "^1.0.33" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -center-align@^0.1.1: - version "0.1.3" - resolved "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^0.5.0: - version "0.5.1" - resolved "http://registry.npm.taobao.org/chalk/download/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" - dependencies: - ansi-styles "^1.1.0" - escape-string-regexp "^1.0.0" - has-ansi "^0.1.0" - strip-ansi "^0.3.0" - supports-color "^0.2.0" - -chalk@^1.0.0, chalk@^1.1.1: - version "1.1.3" - resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -clean-css@^3.3.3: - version "3.4.25" - resolved "http://registry.npm.taobao.org/clean-css/download/clean-css-3.4.25.tgz#9e9a52d5c1e6bc5123e1b2783fa65fe958946ede" - dependencies: - commander "2.8.x" - source-map "0.4.x" - -cliui@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -clone-stats@^0.0.1, clone-stats@~0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" - -clone@^1.0.0, clone@^1.0.2: - version "1.0.2" - resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" - -commander@2.8.x: - version "2.8.1" - resolved "http://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -dateformat@^1.0.7-1.2.3: - version "1.0.12" - resolved "http://registry.npm.taobao.org/dateformat/download/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - -dateformat@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/dateformat/download/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" - -decamelize@^1.0.0, decamelize@^1.1.2: - version "1.2.0" - resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -defaults@^1.0.0: - version "1.0.3" - resolved "http://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - dependencies: - clone "^1.0.2" - -deprecated@^0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/deprecated/download/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" - -detect-file@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/detect-file/download/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - dependencies: - fs-exists-sync "^0.1.0" - -duplexer2@0.0.2: - version "0.0.2" - resolved "http://registry.npm.taobao.org/duplexer2/download/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - -end-of-stream@~0.1.5: - version "0.1.5" - resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" - dependencies: - once "~1.3.0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -expand-tilde@^1.2.1, expand-tilde@^1.2.2: - version "1.2.2" - resolved "http://registry.npm.taobao.org/expand-tilde/download/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - dependencies: - os-homedir "^1.0.1" - -extend@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" - -extglob@^0.3.1: - version "0.3.2" - resolved "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -fancy-log@^1.1.0: - version "1.3.0" - resolved "http://registry.npm.taobao.org/fancy-log/download/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" - dependencies: - chalk "^1.1.1" - time-stamp "^1.0.0" - -filename-regex@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" - -fill-range@^2.1.0: - version "2.2.3" - resolved "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -find-index@^0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/find-index/download/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" - -find-up@^1.0.0: - version "1.1.2" - resolved "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -findup-sync@^0.4.2: - version "0.4.3" - resolved "http://registry.npm.taobao.org/findup-sync/download/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" - dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" - -fined@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/fined/download/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" - dependencies: - expand-tilde "^1.2.1" - lodash.assignwith "^4.0.7" - lodash.isempty "^4.2.1" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.pick "^4.2.1" - parse-filepath "^1.0.1" - -first-chunk-stream@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/first-chunk-stream/download/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" - -flagged-respawn@^0.3.2: - version "0.3.2" - resolved "http://registry.npm.taobao.org/flagged-respawn/download/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" - -for-in@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/fs-exists-sync/download/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -gaze@^0.5.1: - version "0.5.2" - resolved "http://registry.npm.taobao.org/gaze/download/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" - dependencies: - globule "~0.1.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -glob-base@^0.3.0: - version "0.3.0" - resolved "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob-stream@^3.1.5: - version "3.1.18" - resolved "http://registry.npm.taobao.org/glob-stream/download/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" - dependencies: - glob "^4.3.1" - glob2base "^0.0.12" - minimatch "^2.0.1" - ordered-read-streams "^0.1.0" - through2 "^0.6.1" - unique-stream "^1.0.0" - -glob-watcher@^0.0.6: - version "0.0.6" - resolved "http://registry.npm.taobao.org/glob-watcher/download/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" - dependencies: - gaze "^0.5.1" - -glob2base@^0.0.12: - version "0.0.12" - resolved "http://registry.npm.taobao.org/glob2base/download/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - dependencies: - find-index "^0.1.1" - -glob@^4.3.1: - version "4.5.3" - resolved "http://registry.npm.taobao.org/glob/download/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "^2.0.1" - once "^1.3.0" - -glob@^7.0.5: - version "7.1.1" - resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@~3.1.21: - version "3.1.21" - resolved "http://registry.npm.taobao.org/glob/download/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" - dependencies: - graceful-fs "~1.2.0" - inherits "1" - minimatch "~0.2.11" - -global-modules@^0.2.3: - version "0.2.3" - resolved "http://registry.npm.taobao.org/global-modules/download/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - -global-prefix@^0.1.4: - version "0.1.5" - resolved "http://registry.npm.taobao.org/global-prefix/download/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - -globule@~0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/globule/download/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" - dependencies: - glob "~3.1.21" - lodash "~1.0.1" - minimatch "~0.2.11" - -glogg@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/glogg/download/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" - dependencies: - sparkles "^1.0.0" - -graceful-fs@^3.0.0: - version "3.0.11" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - dependencies: - natives "^1.1.0" - -graceful-fs@^4.1.2: - version "4.1.11" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -graceful-fs@~1.2.0: - version "1.2.3" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -gulp-clean@^0.3.2: - version "0.3.2" - resolved "http://registry.npm.taobao.org/gulp-clean/download/gulp-clean-0.3.2.tgz#a347d473acea40182f935587a451941671928102" - dependencies: - gulp-util "^2.2.14" - rimraf "^2.2.8" - through2 "^0.4.2" - -gulp-header-license@^1.0.9: - version "1.0.9" - resolved "http://registry.npm.taobao.org/gulp-header-license/download/gulp-header-license-1.0.9.tgz#f4222b677aa451daadd847614db580e49aa35369" - dependencies: - object-assign "^4.1.0" - through2 "^2.0.1" - -gulp-minify-css@^1.2.4: - version "1.2.4" - resolved "http://registry.npm.taobao.org/gulp-minify-css/download/gulp-minify-css-1.2.4.tgz#b6164957602ea27f9e5ad88227695dd205778c06" - dependencies: - clean-css "^3.3.3" - gulp-util "^3.0.5" - object-assign "^4.0.1" - readable-stream "^2.0.0" - vinyl-bufferstream "^1.0.1" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-rename@^1.2.2: - version "1.2.2" - resolved "http://registry.npm.taobao.org/gulp-rename/download/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" - -gulp-uglify@^2.0.0: - version "2.1.2" - resolved "http://registry.npm.taobao.org/gulp-uglify/download/gulp-uglify-2.1.2.tgz#6db85b1d0ee63d18058592b658649d65c2ec4541" - dependencies: - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash "^4.13.1" - make-error-cause "^1.1.1" - through2 "^2.0.0" - uglify-js "~2.8.10" - uglify-save-license "^0.4.1" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-util@^2.2.14: - version "2.2.20" - resolved "http://registry.npm.taobao.org/gulp-util/download/gulp-util-2.2.20.tgz#d7146e5728910bd8f047a6b0b1e549bc22dbd64c" - dependencies: - chalk "^0.5.0" - dateformat "^1.0.7-1.2.3" - lodash._reinterpolate "^2.4.1" - lodash.template "^2.4.1" - minimist "^0.2.0" - multipipe "^0.1.0" - through2 "^0.5.0" - vinyl "^0.2.1" - -gulp-util@^3.0.0, gulp-util@^3.0.5: - version "3.0.8" - resolved "http://registry.npm.taobao.org/gulp-util/download/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulp@^3.9.1: - version "3.9.1" - resolved "http://registry.npm.taobao.org/gulp/download/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" - dependencies: - archy "^1.0.0" - chalk "^1.0.0" - deprecated "^0.0.1" - gulp-util "^3.0.0" - interpret "^1.0.0" - liftoff "^2.1.0" - minimist "^1.1.0" - orchestrator "^0.3.0" - pretty-hrtime "^1.0.0" - semver "^4.1.0" - tildify "^1.0.0" - v8flags "^2.0.2" - vinyl-fs "^0.3.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/gulplog/download/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - dependencies: - glogg "^1.0.0" - -has-ansi@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" - dependencies: - ansi-regex "^0.2.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-gulplog@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/has-gulplog/download/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - dependencies: - sparkles "^1.0.0" - -homedir-polyfill@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.4.1" - resolved "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.4.1.tgz#4b0445e41c004a8bd1337773a4ff790ca40318c8" - -indent-string@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/inherits/download/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - -inherits@2, inherits@~2.0.1: - version "2.0.3" - resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.4: - version "1.3.4" - resolved "http://registry.npm.taobao.org/ini/download/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -interpret@^1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/interpret/download/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d" - -is-absolute@^0.2.3: - version "0.2.6" - resolved "http://registry.npm.taobao.org/is-absolute/download/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" - dependencies: - is-relative "^0.2.1" - is-windows "^0.2.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-buffer@^1.0.2: - version "1.1.5" - resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-dotfile@^1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-relative@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/is-relative/download/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" - dependencies: - is-unc-path "^0.1.1" - -is-unc-path@^0.1.1: - version "0.1.2" - resolved "http://registry.npm.taobao.org/is-unc-path/download/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - dependencies: - unc-path-regex "^0.1.0" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-windows@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/is-windows/download/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - -isarray@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -kind-of@^3.0.2: - version "3.1.0" - resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" - dependencies: - is-buffer "^1.0.2" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -liftoff@^2.1.0: - version "2.3.0" - resolved "http://registry.npm.taobao.org/liftoff/download/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" - dependencies: - extend "^3.0.0" - findup-sync "^0.4.2" - fined "^1.0.1" - flagged-respawn "^0.3.2" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.mapvalues "^4.4.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/lodash._basetostring/download/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._basevalues/download/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - -lodash._escapehtmlchar@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._escapehtmlchar/download/lodash._escapehtmlchar-2.4.1.tgz#df67c3bb6b7e8e1e831ab48bfa0795b92afe899d" - dependencies: - lodash._htmlescapes "~2.4.1" - -lodash._escapestringchar@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._escapestringchar/download/lodash._escapestringchar-2.4.1.tgz#ecfe22618a2ade50bfeea43937e51df66f0edb72" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._htmlescapes@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._htmlescapes/download/lodash._htmlescapes-2.4.1.tgz#32d14bf0844b6de6f8b62a051b4f67c228b624cb" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash._isnative@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._isnative/download/lodash._isnative-2.4.1.tgz#3ea6404b784a7be836c7b57580e1cdf79b14832c" - -lodash._objecttypes@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._objecttypes/download/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" - -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._reescape/download/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._reevaluate/download/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - -lodash._reinterpolate@^2.4.1, lodash._reinterpolate@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-2.4.1.tgz#4f1227aa5a8711fc632f5b07a1f4607aab8b3222" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash._reunescapedhtml@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._reunescapedhtml/download/lodash._reunescapedhtml-2.4.1.tgz#747c4fc40103eb3bb8a0976e571f7a2659e93ba7" - dependencies: - lodash._htmlescapes "~2.4.1" - lodash.keys "~2.4.1" - -lodash._root@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/lodash._root/download/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - -lodash._shimkeys@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash._shimkeys/download/lodash._shimkeys-2.4.1.tgz#6e9cc9666ff081f0b5a6c978b83e242e6949d203" - dependencies: - lodash._objecttypes "~2.4.1" - -lodash.assignwith@^4.0.7: - version "4.2.0" - resolved "http://registry.npm.taobao.org/lodash.assignwith/download/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" - -lodash.defaults@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.defaults/download/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54" - dependencies: - lodash._objecttypes "~2.4.1" - lodash.keys "~2.4.1" - -lodash.escape@^3.0.0: - version "3.2.0" - resolved "http://registry.npm.taobao.org/lodash.escape/download/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - dependencies: - lodash._root "^3.0.0" - -lodash.escape@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.escape/download/lodash.escape-2.4.1.tgz#2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4" - dependencies: - lodash._escapehtmlchar "~2.4.1" - lodash._reunescapedhtml "~2.4.1" - lodash.keys "~2.4.1" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.isempty@^4.2.1: - version "4.4.0" - resolved "http://registry.npm.taobao.org/lodash.isempty/download/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - -lodash.isobject@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.isobject/download/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" - dependencies: - lodash._objecttypes "~2.4.1" - -lodash.isplainobject@^4.0.4: - version "4.0.6" - resolved "http://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.keys@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-2.4.1.tgz#48dea46df8ff7632b10d706b8acb26591e2b3727" - dependencies: - lodash._isnative "~2.4.1" - lodash._shimkeys "~2.4.1" - lodash.isobject "~2.4.1" - -lodash.mapvalues@^4.4.0: - version "4.6.0" - resolved "http://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" - -lodash.pick@^4.2.1: - version "4.4.0" - resolved "http://registry.npm.taobao.org/lodash.pick/download/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "http://registry.npm.taobao.org/lodash.restparam/download/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - -lodash.template@^2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.template/download/lodash.template-2.4.1.tgz#9e611007edf629129a974ab3c48b817b3e1cf20d" - dependencies: - lodash._escapestringchar "~2.4.1" - lodash._reinterpolate "~2.4.1" - lodash.defaults "~2.4.1" - lodash.escape "~2.4.1" - lodash.keys "~2.4.1" - lodash.templatesettings "~2.4.1" - lodash.values "~2.4.1" - -lodash.template@^3.0.0: - version "3.6.2" - resolved "http://registry.npm.taobao.org/lodash.template/download/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" - -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "http://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - -lodash.templatesettings@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-2.4.1.tgz#ea76c75d11eb86d4dbe89a83893bb861929ac699" - dependencies: - lodash._reinterpolate "~2.4.1" - lodash.escape "~2.4.1" - -lodash.values@~2.4.1: - version "2.4.1" - resolved "http://registry.npm.taobao.org/lodash.values/download/lodash.values-2.4.1.tgz#abf514436b3cb705001627978cbcf30b1280eea4" - dependencies: - lodash.keys "~2.4.1" - -lodash@^4.13.1: - version "4.17.4" - resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@~1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/lodash/download/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" - -longest@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lru-cache@2: - version "2.7.3" - resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - -make-error-cause@^1.1.1: - version "1.2.2" - resolved "http://registry.npm.taobao.org/make-error-cause/download/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d" - dependencies: - make-error "^1.2.0" - -make-error@^1.2.0: - version "1.2.3" - resolved "http://registry.npm.taobao.org/make-error/download/make-error-1.2.3.tgz#6c4402df732e0977ac6faf754a5074b3d2b1d19d" - -map-cache@^0.2.0: - version "0.2.2" - resolved "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -meow@^3.3.0: - version "3.7.0" - resolved "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -micromatch@^2.3.7: - version "2.3.11" - resolved "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -minimatch@^2.0.1: - version "2.0.10" - resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" - dependencies: - brace-expansion "^1.0.0" - -minimatch@^3.0.2: - version "3.0.3" - resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" - -minimatch@~0.2.11: - version "0.2.14" - resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -minimist@0.0.8: - version "0.0.8" - resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce" - -minimist@^1.1.0, minimist@^1.1.3: - version "1.2.0" - resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@^0.5.0: - version "0.5.1" - resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -multipipe@^0.1.0, multipipe@^0.1.2: - version "0.1.2" - resolved "http://registry.npm.taobao.org/multipipe/download/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - dependencies: - duplexer2 "0.0.2" - -natives@^1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/natives/download/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.3.6" - resolved "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.1: - version "2.1.1" - resolved "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -object-assign@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-keys@~0.4.0: - version "0.4.0" - resolved "http://registry.npm.taobao.org/object-keys/download/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - -object.omit@^2.0.0: - version "2.0.1" - resolved "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -once@~1.3.0: - version "1.3.3" - resolved "http://registry.npm.taobao.org/once/download/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -orchestrator@^0.3.0: - version "0.3.8" - resolved "http://registry.npm.taobao.org/orchestrator/download/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" - dependencies: - end-of-stream "~0.1.5" - sequencify "~0.0.7" - stream-consume "~0.1.0" - -ordered-read-streams@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -parse-filepath@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/parse-filepath/download/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" - dependencies: - is-absolute "^0.2.3" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -path-exists@^2.0.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-parse@^1.0.5: - version "1.0.5" - resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "http://registry.npm.taobao.org/path-root-regex/download/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - -path-root@^0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/path-root/download/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - dependencies: - path-root-regex "^0.1.0" - -path-type@^1.0.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pify@^2.0.0: - version "2.3.0" - resolved "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -preserve@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "http://registry.npm.taobao.org/pretty-hrtime/download/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -randomatic@^1.1.3: - version "1.1.6" - resolved "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" - dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@^1.0.33, readable-stream@~1.0.17: - version "1.0.34" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.1.5: - version "2.2.9" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" - dependencies: - buffer-shims "~1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - -readable-stream@~1.1.9: - version "1.1.14" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -rechoir@^0.6.2: - version "0.6.2" - resolved "http://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -replace-ext@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - -resolve-dir@^0.1.0: - version "0.1.1" - resolved "http://registry.npm.taobao.org/resolve-dir/download/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - -resolve@^1.1.6, resolve@^1.1.7: - version "1.3.2" - resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235" - dependencies: - path-parse "^1.0.5" - -right-align@^0.1.1: - version "0.1.3" - resolved "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@^2.2.8: - version "2.6.1" - resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" - -"semver@2 || 3 || 4 || 5", semver@^4.1.0: - version "4.3.6" - resolved "http://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - -sequencify@~0.0.7: - version "0.0.7" - resolved "http://registry.npm.taobao.org/sequencify/download/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" - -sigmund@~1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -source-map@0.4.x: - version "0.4.4" - resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.1, source-map@~0.5.1: - version "0.5.6" - resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - -sparkles@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/sparkles/download/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -stream-consume@~0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/stream-consume/download/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" - dependencies: - buffer-shims "~1.0.0" - -strip-ansi@^0.3.0: - version "0.3.0" - resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" - dependencies: - ansi-regex "^0.2.1" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-bom@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" - dependencies: - first-chunk-stream "^1.0.0" - is-utf8 "^0.2.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -supports-color@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" - -supports-color@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -through2@^0.4.2: - version "0.4.2" - resolved "http://registry.npm.taobao.org/through2/download/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" - dependencies: - readable-stream "~1.0.17" - xtend "~2.1.1" - -through2@^0.5.0: - version "0.5.1" - resolved "http://registry.npm.taobao.org/through2/download/through2-0.5.1.tgz#dfdd012eb9c700e2323fd334f38ac622ab372da7" - dependencies: - readable-stream "~1.0.17" - xtend "~3.0.0" - -through2@^0.6.1: - version "0.6.5" - resolved "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" - dependencies: - readable-stream ">=1.0.33-1 <1.1.0-0" - xtend ">=4.0.0 <4.1.0-0" - -through2@^2.0.0, through2@^2.0.1: - version "2.0.3" - resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -tildify@^1.0.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/tildify/download/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - dependencies: - os-homedir "^1.0.0" - -time-stamp@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/time-stamp/download/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -uglify-js@~2.8.10: - version "2.8.22" - resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-save-license@^0.4.1: - version "0.4.1" - resolved "http://registry.npm.taobao.org/uglify-save-license/download/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -unc-path-regex@^0.1.0: - version "0.1.2" - resolved "http://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - -unique-stream@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/unique-stream/download/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" - -user-home@^1.1.1: - version "1.1.1" - resolved "http://registry.npm.taobao.org/user-home/download/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -v8flags@^2.0.2: - version "2.0.12" - resolved "http://registry.npm.taobao.org/v8flags/download/v8flags-2.0.12.tgz#73235d9f7176f8e8833fb286795445f7938d84e5" - dependencies: - user-home "^1.1.1" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -vinyl-bufferstream@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/vinyl-bufferstream/download/vinyl-bufferstream-1.0.1.tgz#0537869f580effa4ca45acb47579e4b9fe63081a" - dependencies: - bufferstreams "1.0.1" - -vinyl-fs@^0.3.0: - version "0.3.14" - resolved "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" - dependencies: - defaults "^1.0.0" - glob-stream "^3.1.5" - glob-watcher "^0.0.6" - graceful-fs "^3.0.0" - mkdirp "^0.5.0" - strip-bom "^1.0.0" - through2 "^0.6.1" - vinyl "^0.4.0" - -vinyl-sourcemaps-apply@^0.2.0: - version "0.2.1" - resolved "http://registry.npm.taobao.org/vinyl-sourcemaps-apply/download/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" - dependencies: - source-map "^0.5.1" - -vinyl@^0.2.1: - version "0.2.3" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.2.3.tgz#bca938209582ec5a49ad538a00fa1f125e513252" - dependencies: - clone-stats "~0.0.1" - -vinyl@^0.4.0: - version "0.4.6" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" - dependencies: - clone "^0.2.0" - clone-stats "^0.0.1" - -vinyl@^0.5.0: - version "0.5.3" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -which@^1.2.12: - version "1.2.14" - resolved "http://registry.npm.taobao.org/which/download/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - dependencies: - isexe "^2.0.0" - -window-size@0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wrappy@1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -xtend@~2.1.1: - version "2.1.2" - resolved "http://registry.npm.taobao.org/xtend/download/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - dependencies: - object-keys "~0.4.0" - -xtend@~3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/xtend/download/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" - -yargs@~3.10.0: - version "3.10.0" - resolved "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" diff --git a/skins/tree-house/archive-articles.ftl b/tree-house/archive-articles.ftl similarity index 100% rename from skins/tree-house/archive-articles.ftl rename to tree-house/archive-articles.ftl diff --git a/skins/tree-house/article-list.ftl b/tree-house/article-list.ftl similarity index 100% rename from skins/tree-house/article-list.ftl rename to tree-house/article-list.ftl diff --git a/skins/tree-house/article.ftl b/tree-house/article.ftl similarity index 100% rename from skins/tree-house/article.ftl rename to tree-house/article.ftl diff --git a/skins/tree-house/author-articles.ftl b/tree-house/author-articles.ftl similarity index 100% rename from skins/tree-house/author-articles.ftl rename to tree-house/author-articles.ftl diff --git a/skins/tree-house/category-articles.ftl b/tree-house/category-articles.ftl similarity index 100% rename from skins/tree-house/category-articles.ftl rename to tree-house/category-articles.ftl diff --git a/skins/tree-house/common-comment.ftl b/tree-house/common-comment.ftl similarity index 100% rename from skins/tree-house/common-comment.ftl rename to tree-house/common-comment.ftl diff --git a/skins/tree-house/css/tree-house.css b/tree-house/css/tree-house.css similarity index 100% rename from skins/tree-house/css/tree-house.css rename to tree-house/css/tree-house.css diff --git a/skins/tree-house/css/tree-house.min.css b/tree-house/css/tree-house.min.css similarity index 100% rename from skins/tree-house/css/tree-house.min.css rename to tree-house/css/tree-house.min.css diff --git a/skins/tree-house/footer.ftl b/tree-house/footer.ftl similarity index 100% rename from skins/tree-house/footer.ftl rename to tree-house/footer.ftl diff --git a/skins/tree-house/header.ftl b/tree-house/header.ftl similarity index 100% rename from skins/tree-house/header.ftl rename to tree-house/header.ftl diff --git a/skins/tree-house/images/balloons.png b/tree-house/images/balloons.png similarity index 100% rename from skins/tree-house/images/balloons.png rename to tree-house/images/balloons.png diff --git a/skins/tree-house/images/bg-branch-small.png b/tree-house/images/bg-branch-small.png similarity index 100% rename from skins/tree-house/images/bg-branch-small.png rename to tree-house/images/bg-branch-small.png diff --git a/skins/tree-house/images/bg-branch.png b/tree-house/images/bg-branch.png similarity index 100% rename from skins/tree-house/images/bg-branch.png rename to tree-house/images/bg-branch.png diff --git a/skins/tree-house/images/bg-comments-body.png b/tree-house/images/bg-comments-body.png similarity index 100% rename from skins/tree-house/images/bg-comments-body.png rename to tree-house/images/bg-comments-body.png diff --git a/skins/tree-house/images/bg-comments-bottom.png b/tree-house/images/bg-comments-bottom.png similarity index 100% rename from skins/tree-house/images/bg-comments-bottom.png rename to tree-house/images/bg-comments-bottom.png diff --git a/skins/tree-house/images/bg-comments-top.png b/tree-house/images/bg-comments-top.png similarity index 100% rename from skins/tree-house/images/bg-comments-top.png rename to tree-house/images/bg-comments-top.png diff --git a/skins/tree-house/images/bg-comments.png b/tree-house/images/bg-comments.png similarity index 100% rename from skins/tree-house/images/bg-comments.png rename to tree-house/images/bg-comments.png diff --git a/skins/tree-house/images/bg-footer2.jpg b/tree-house/images/bg-footer2.jpg similarity index 100% rename from skins/tree-house/images/bg-footer2.jpg rename to tree-house/images/bg-footer2.jpg diff --git a/skins/tree-house/images/bg-header.jpg b/tree-house/images/bg-header.jpg similarity index 100% rename from skins/tree-house/images/bg-header.jpg rename to tree-house/images/bg-header.jpg diff --git a/skins/tree-house/images/bg-heading-about-us.png b/tree-house/images/bg-heading-about-us.png similarity index 100% rename from skins/tree-house/images/bg-heading-about-us.png rename to tree-house/images/bg-heading-about-us.png diff --git a/skins/tree-house/images/bg-heading-categories.png b/tree-house/images/bg-heading-categories.png similarity index 100% rename from skins/tree-house/images/bg-heading-categories.png rename to tree-house/images/bg-heading-categories.png diff --git a/skins/tree-house/images/bg-heading-portfolio.png b/tree-house/images/bg-heading-portfolio.png similarity index 100% rename from skins/tree-house/images/bg-heading-portfolio.png rename to tree-house/images/bg-heading-portfolio.png diff --git a/skins/tree-house/images/bg-heading-resources.png b/tree-house/images/bg-heading-resources.png similarity index 100% rename from skins/tree-house/images/bg-heading-resources.png rename to tree-house/images/bg-heading-resources.png diff --git a/skins/tree-house/images/bg-heading.png b/tree-house/images/bg-heading.png similarity index 100% rename from skins/tree-house/images/bg-heading.png rename to tree-house/images/bg-heading.png diff --git a/skins/tree-house/images/bg-menu-active-tags.png b/tree-house/images/bg-menu-active-tags.png similarity index 100% rename from skins/tree-house/images/bg-menu-active-tags.png rename to tree-house/images/bg-menu-active-tags.png diff --git a/skins/tree-house/images/bg-menu-active.png b/tree-house/images/bg-menu-active.png similarity index 100% rename from skins/tree-house/images/bg-menu-active.png rename to tree-house/images/bg-menu-active.png diff --git a/skins/tree-house/images/bg-tree.jpg b/tree-house/images/bg-tree.jpg similarity index 100% rename from skins/tree-house/images/bg-tree.jpg rename to tree-house/images/bg-tree.jpg diff --git a/skins/tree-house/index.ftl b/tree-house/index.ftl similarity index 100% rename from skins/tree-house/index.ftl rename to tree-house/index.ftl diff --git a/skins/tree-house/lang/lang_en_US.properties b/tree-house/lang/lang_en_US.properties similarity index 100% rename from skins/tree-house/lang/lang_en_US.properties rename to tree-house/lang/lang_en_US.properties diff --git a/skins/tree-house/lang/lang_zh_CN.properties b/tree-house/lang/lang_zh_CN.properties similarity index 100% rename from skins/tree-house/lang/lang_zh_CN.properties rename to tree-house/lang/lang_zh_CN.properties diff --git a/skins/tree-house/macro-comments.ftl b/tree-house/macro-comments.ftl similarity index 100% rename from skins/tree-house/macro-comments.ftl rename to tree-house/macro-comments.ftl diff --git a/skins/tree-house/macro-head.ftl b/tree-house/macro-head.ftl similarity index 100% rename from skins/tree-house/macro-head.ftl rename to tree-house/macro-head.ftl diff --git a/skins/tree-house/page.ftl b/tree-house/page.ftl similarity index 100% rename from skins/tree-house/page.ftl rename to tree-house/page.ftl diff --git a/skins/tree-house/preview.png b/tree-house/preview.png similarity index 100% rename from skins/tree-house/preview.png rename to tree-house/preview.png diff --git a/skins/tree-house/side.ftl b/tree-house/side.ftl similarity index 100% rename from skins/tree-house/side.ftl rename to tree-house/side.ftl diff --git a/skins/tree-house/skin.properties b/tree-house/skin.properties similarity index 100% rename from skins/tree-house/skin.properties rename to tree-house/skin.properties diff --git a/skins/tree-house/tag-articles.ftl b/tree-house/tag-articles.ftl similarity index 100% rename from skins/tree-house/tag-articles.ftl rename to tree-house/tag-articles.ftl diff --git a/skins/tree-house/tags.ftl b/tree-house/tags.ftl similarity index 100% rename from skins/tree-house/tags.ftl rename to tree-house/tags.ftl diff --git a/skins/yilia/archive-articles.ftl b/yilia/archive-articles.ftl similarity index 100% rename from skins/yilia/archive-articles.ftl rename to yilia/archive-articles.ftl diff --git a/skins/yilia/archives.ftl b/yilia/archives.ftl similarity index 100% rename from skins/yilia/archives.ftl rename to yilia/archives.ftl diff --git a/skins/yilia/article-list.ftl b/yilia/article-list.ftl similarity index 100% rename from skins/yilia/article-list.ftl rename to yilia/article-list.ftl diff --git a/skins/yilia/article.ftl b/yilia/article.ftl similarity index 100% rename from skins/yilia/article.ftl rename to yilia/article.ftl diff --git a/skins/yilia/author-articles.ftl b/yilia/author-articles.ftl similarity index 100% rename from skins/yilia/author-articles.ftl rename to yilia/author-articles.ftl diff --git a/skins/yilia/category-articles.ftl b/yilia/category-articles.ftl similarity index 100% rename from skins/yilia/category-articles.ftl rename to yilia/category-articles.ftl diff --git a/skins/yilia/common-comment.ftl b/yilia/common-comment.ftl similarity index 100% rename from skins/yilia/common-comment.ftl rename to yilia/common-comment.ftl diff --git a/skins/yilia/css/fonts/icomoon.eot b/yilia/css/fonts/icomoon.eot similarity index 100% rename from skins/yilia/css/fonts/icomoon.eot rename to yilia/css/fonts/icomoon.eot diff --git a/skins/yilia/css/fonts/icomoon.svg b/yilia/css/fonts/icomoon.svg similarity index 100% rename from skins/yilia/css/fonts/icomoon.svg rename to yilia/css/fonts/icomoon.svg diff --git a/skins/yilia/css/fonts/icomoon.ttf b/yilia/css/fonts/icomoon.ttf similarity index 100% rename from skins/yilia/css/fonts/icomoon.ttf rename to yilia/css/fonts/icomoon.ttf diff --git a/skins/yilia/css/fonts/icomoon.woff b/yilia/css/fonts/icomoon.woff similarity index 100% rename from skins/yilia/css/fonts/icomoon.woff rename to yilia/css/fonts/icomoon.woff diff --git a/skins/yilia/css/fonts/selection.json b/yilia/css/fonts/selection.json similarity index 100% rename from skins/yilia/css/fonts/selection.json rename to yilia/css/fonts/selection.json diff --git a/skins/yilia/css/yilia.css b/yilia/css/yilia.css similarity index 100% rename from skins/yilia/css/yilia.css rename to yilia/css/yilia.css diff --git a/skins/yilia/css/yilia.min.css b/yilia/css/yilia.min.css similarity index 100% rename from skins/yilia/css/yilia.min.css rename to yilia/css/yilia.min.css diff --git a/skins/yilia/dynamic.ftl b/yilia/dynamic.ftl similarity index 100% rename from skins/yilia/dynamic.ftl rename to yilia/dynamic.ftl diff --git a/skins/yilia/footer.ftl b/yilia/footer.ftl similarity index 100% rename from skins/yilia/footer.ftl rename to yilia/footer.ftl diff --git a/yilia/images/code-bg.png b/yilia/images/code-bg.png new file mode 100644 index 0000000..ea1d136 Binary files /dev/null and b/yilia/images/code-bg.png differ diff --git a/skins/yilia/index.ftl b/yilia/index.ftl similarity index 100% rename from skins/yilia/index.ftl rename to yilia/index.ftl diff --git a/skins/yilia/js/yilia.js b/yilia/js/yilia.js similarity index 100% rename from skins/yilia/js/yilia.js rename to yilia/js/yilia.js diff --git a/skins/yilia/js/yilia.min.js b/yilia/js/yilia.min.js similarity index 100% rename from skins/yilia/js/yilia.min.js rename to yilia/js/yilia.min.js diff --git a/skins/yilia/lang/lang_en_US.properties b/yilia/lang/lang_en_US.properties similarity index 100% rename from skins/yilia/lang/lang_en_US.properties rename to yilia/lang/lang_en_US.properties diff --git a/skins/yilia/lang/lang_zh_CN.properties b/yilia/lang/lang_zh_CN.properties similarity index 100% rename from skins/yilia/lang/lang_zh_CN.properties rename to yilia/lang/lang_zh_CN.properties diff --git a/skins/yilia/links.ftl b/yilia/links.ftl similarity index 100% rename from skins/yilia/links.ftl rename to yilia/links.ftl diff --git a/skins/yilia/macro-comments.ftl b/yilia/macro-comments.ftl similarity index 100% rename from skins/yilia/macro-comments.ftl rename to yilia/macro-comments.ftl diff --git a/skins/yilia/macro-head.ftl b/yilia/macro-head.ftl similarity index 100% rename from skins/yilia/macro-head.ftl rename to yilia/macro-head.ftl diff --git a/skins/yilia/page.ftl b/yilia/page.ftl similarity index 100% rename from skins/yilia/page.ftl rename to yilia/page.ftl diff --git a/skins/yilia/preview.png b/yilia/preview.png similarity index 100% rename from skins/yilia/preview.png rename to yilia/preview.png diff --git a/skins/yilia/side.ftl b/yilia/side.ftl similarity index 100% rename from skins/yilia/side.ftl rename to yilia/side.ftl diff --git a/skins/yilia/skin.properties b/yilia/skin.properties similarity index 100% rename from skins/yilia/skin.properties rename to yilia/skin.properties diff --git a/skins/yilia/tag-articles.ftl b/yilia/tag-articles.ftl similarity index 100% rename from skins/yilia/tag-articles.ftl rename to yilia/tag-articles.ftl diff --git a/skins/yilia/tags.ftl b/yilia/tags.ftl similarity index 100% rename from skins/yilia/tags.ftl rename to yilia/tags.ftl