diff --git a/9IPHP/archive-articles.ftl b/skins/9IPHP/archive-articles.ftl
similarity index 100%
rename from 9IPHP/archive-articles.ftl
rename to skins/9IPHP/archive-articles.ftl
diff --git a/9IPHP/archives.ftl b/skins/9IPHP/archives.ftl
similarity index 100%
rename from 9IPHP/archives.ftl
rename to skins/9IPHP/archives.ftl
diff --git a/9IPHP/article-list.ftl b/skins/9IPHP/article-list.ftl
similarity index 100%
rename from 9IPHP/article-list.ftl
rename to skins/9IPHP/article-list.ftl
diff --git a/9IPHP/article.ftl b/skins/9IPHP/article.ftl
similarity index 100%
rename from 9IPHP/article.ftl
rename to skins/9IPHP/article.ftl
diff --git a/9IPHP/category-articles.ftl b/skins/9IPHP/category-articles.ftl
similarity index 100%
rename from 9IPHP/category-articles.ftl
rename to skins/9IPHP/category-articles.ftl
diff --git a/9IPHP/common-comment.ftl b/skins/9IPHP/common-comment.ftl
similarity index 100%
rename from 9IPHP/common-comment.ftl
rename to skins/9IPHP/common-comment.ftl
diff --git a/9IPHP/css/base.css b/skins/9IPHP/css/base.css
similarity index 100%
rename from 9IPHP/css/base.css
rename to skins/9IPHP/css/base.css
diff --git a/9IPHP/css/base.min.css b/skins/9IPHP/css/base.min.css
similarity index 100%
rename from 9IPHP/css/base.min.css
rename to skins/9IPHP/css/base.min.css
diff --git a/9IPHP/css/fonts/icomoon.eot b/skins/9IPHP/css/fonts/icomoon.eot
similarity index 100%
rename from 9IPHP/css/fonts/icomoon.eot
rename to skins/9IPHP/css/fonts/icomoon.eot
diff --git a/9IPHP/css/fonts/icomoon.svg b/skins/9IPHP/css/fonts/icomoon.svg
similarity index 100%
rename from 9IPHP/css/fonts/icomoon.svg
rename to skins/9IPHP/css/fonts/icomoon.svg
diff --git a/9IPHP/css/fonts/icomoon.ttf b/skins/9IPHP/css/fonts/icomoon.ttf
similarity index 100%
rename from 9IPHP/css/fonts/icomoon.ttf
rename to skins/9IPHP/css/fonts/icomoon.ttf
diff --git a/9IPHP/css/fonts/icomoon.woff b/skins/9IPHP/css/fonts/icomoon.woff
similarity index 100%
rename from 9IPHP/css/fonts/icomoon.woff
rename to skins/9IPHP/css/fonts/icomoon.woff
diff --git a/9IPHP/css/selection.json b/skins/9IPHP/css/selection.json
similarity index 100%
rename from 9IPHP/css/selection.json
rename to skins/9IPHP/css/selection.json
diff --git a/9IPHP/dynamic.ftl b/skins/9IPHP/dynamic.ftl
similarity index 100%
rename from 9IPHP/dynamic.ftl
rename to skins/9IPHP/dynamic.ftl
diff --git a/9IPHP/footer.ftl b/skins/9IPHP/footer.ftl
similarity index 100%
rename from 9IPHP/footer.ftl
rename to skins/9IPHP/footer.ftl
diff --git a/9IPHP/header.ftl b/skins/9IPHP/header.ftl
similarity index 100%
rename from 9IPHP/header.ftl
rename to skins/9IPHP/header.ftl
diff --git a/9IPHP/images/code-bg.png b/skins/9IPHP/images/code-bg.png
similarity index 100%
rename from 9IPHP/images/code-bg.png
rename to skins/9IPHP/images/code-bg.png
diff --git a/9IPHP/index.ftl b/skins/9IPHP/index.ftl
similarity index 100%
rename from 9IPHP/index.ftl
rename to skins/9IPHP/index.ftl
diff --git a/9IPHP/js/common.js b/skins/9IPHP/js/common.js
similarity index 100%
rename from 9IPHP/js/common.js
rename to skins/9IPHP/js/common.js
diff --git a/9IPHP/js/common.min.js b/skins/9IPHP/js/common.min.js
similarity index 100%
rename from 9IPHP/js/common.min.js
rename to skins/9IPHP/js/common.min.js
diff --git a/9IPHP/js/isotope.pkgd.js b/skins/9IPHP/js/isotope.pkgd.js
similarity index 100%
rename from 9IPHP/js/isotope.pkgd.js
rename to skins/9IPHP/js/isotope.pkgd.js
diff --git a/9IPHP/js/isotope.pkgd.min.js b/skins/9IPHP/js/isotope.pkgd.min.js
similarity index 100%
rename from 9IPHP/js/isotope.pkgd.min.js
rename to skins/9IPHP/js/isotope.pkgd.min.js
diff --git a/9IPHP/lang/lang_en_US.properties b/skins/9IPHP/lang/lang_en_US.properties
similarity index 100%
rename from 9IPHP/lang/lang_en_US.properties
rename to skins/9IPHP/lang/lang_en_US.properties
diff --git a/9IPHP/lang/lang_zh_CN.properties b/skins/9IPHP/lang/lang_zh_CN.properties
similarity index 100%
rename from 9IPHP/lang/lang_zh_CN.properties
rename to skins/9IPHP/lang/lang_zh_CN.properties
diff --git a/9IPHP/links.ftl b/skins/9IPHP/links.ftl
similarity index 100%
rename from 9IPHP/links.ftl
rename to skins/9IPHP/links.ftl
diff --git a/9IPHP/macro-comments.ftl b/skins/9IPHP/macro-comments.ftl
similarity index 100%
rename from 9IPHP/macro-comments.ftl
rename to skins/9IPHP/macro-comments.ftl
diff --git a/9IPHP/macro-head.ftl b/skins/9IPHP/macro-head.ftl
similarity index 100%
rename from 9IPHP/macro-head.ftl
rename to skins/9IPHP/macro-head.ftl
diff --git a/9IPHP/page.ftl b/skins/9IPHP/page.ftl
similarity index 100%
rename from 9IPHP/page.ftl
rename to skins/9IPHP/page.ftl
diff --git a/9IPHP/preview.png b/skins/9IPHP/preview.png
similarity index 100%
rename from 9IPHP/preview.png
rename to skins/9IPHP/preview.png
diff --git a/9IPHP/side.ftl b/skins/9IPHP/side.ftl
similarity index 100%
rename from 9IPHP/side.ftl
rename to skins/9IPHP/side.ftl
diff --git a/9IPHP/skin.properties b/skins/9IPHP/skin.properties
similarity index 100%
rename from 9IPHP/skin.properties
rename to skins/9IPHP/skin.properties
diff --git a/9IPHP/tag-articles.ftl b/skins/9IPHP/tag-articles.ftl
similarity index 100%
rename from 9IPHP/tag-articles.ftl
rename to skins/9IPHP/tag-articles.ftl
diff --git a/9IPHP/tags.ftl b/skins/9IPHP/tags.ftl
similarity index 100%
rename from 9IPHP/tags.ftl
rename to skins/9IPHP/tags.ftl
diff --git a/Andrea/archive-articles.ftl b/skins/Andrea/archive-articles.ftl
similarity index 100%
rename from Andrea/archive-articles.ftl
rename to skins/Andrea/archive-articles.ftl
diff --git a/Andrea/article-list.ftl b/skins/Andrea/article-list.ftl
similarity index 100%
rename from Andrea/article-list.ftl
rename to skins/Andrea/article-list.ftl
diff --git a/Andrea/article.ftl b/skins/Andrea/article.ftl
similarity index 100%
rename from Andrea/article.ftl
rename to skins/Andrea/article.ftl
diff --git a/Andrea/author-articles.ftl b/skins/Andrea/author-articles.ftl
similarity index 100%
rename from Andrea/author-articles.ftl
rename to skins/Andrea/author-articles.ftl
diff --git a/Andrea/category-articles.ftl b/skins/Andrea/category-articles.ftl
similarity index 100%
rename from Andrea/category-articles.ftl
rename to skins/Andrea/category-articles.ftl
diff --git a/Andrea/common-comment.ftl b/skins/Andrea/common-comment.ftl
similarity index 100%
rename from Andrea/common-comment.ftl
rename to skins/Andrea/common-comment.ftl
diff --git a/Andrea/css/Andrea.css b/skins/Andrea/css/Andrea.css
similarity index 100%
rename from Andrea/css/Andrea.css
rename to skins/Andrea/css/Andrea.css
diff --git a/Andrea/css/Andrea.min.css b/skins/Andrea/css/Andrea.min.css
similarity index 100%
rename from Andrea/css/Andrea.min.css
rename to skins/Andrea/css/Andrea.min.css
diff --git a/Andrea/footer.ftl b/skins/Andrea/footer.ftl
similarity index 100%
rename from Andrea/footer.ftl
rename to skins/Andrea/footer.ftl
diff --git a/Andrea/header.ftl b/skins/Andrea/header.ftl
similarity index 100%
rename from Andrea/header.ftl
rename to skins/Andrea/header.ftl
diff --git a/Andrea/images/bg-blue.jpg b/skins/Andrea/images/bg-blue.jpg
similarity index 100%
rename from Andrea/images/bg-blue.jpg
rename to skins/Andrea/images/bg-blue.jpg
diff --git a/Andrea/images/bg-brown.jpg b/skins/Andrea/images/bg-brown.jpg
similarity index 100%
rename from Andrea/images/bg-brown.jpg
rename to skins/Andrea/images/bg-brown.jpg
diff --git a/Andrea/images/bg-grey.jpg b/skins/Andrea/images/bg-grey.jpg
similarity index 100%
rename from Andrea/images/bg-grey.jpg
rename to skins/Andrea/images/bg-grey.jpg
diff --git a/Andrea/images/bg-transparent.png b/skins/Andrea/images/bg-transparent.png
similarity index 100%
rename from Andrea/images/bg-transparent.png
rename to skins/Andrea/images/bg-transparent.png
diff --git a/Andrea/images/bgs.png b/skins/Andrea/images/bgs.png
similarity index 100%
rename from Andrea/images/bgs.png
rename to skins/Andrea/images/bgs.png
diff --git a/Andrea/images/footer.png b/skins/Andrea/images/footer.png
similarity index 100%
rename from Andrea/images/footer.png
rename to skins/Andrea/images/footer.png
diff --git a/Andrea/images/icon.png b/skins/Andrea/images/icon.png
similarity index 100%
rename from Andrea/images/icon.png
rename to skins/Andrea/images/icon.png
diff --git a/Andrea/images/paint.png b/skins/Andrea/images/paint.png
similarity index 100%
rename from Andrea/images/paint.png
rename to skins/Andrea/images/paint.png
diff --git a/Andrea/index.ftl b/skins/Andrea/index.ftl
similarity index 100%
rename from Andrea/index.ftl
rename to skins/Andrea/index.ftl
diff --git a/Andrea/lang/lang_en_US.properties b/skins/Andrea/lang/lang_en_US.properties
similarity index 100%
rename from Andrea/lang/lang_en_US.properties
rename to skins/Andrea/lang/lang_en_US.properties
diff --git a/Andrea/lang/lang_zh_CN.properties b/skins/Andrea/lang/lang_zh_CN.properties
similarity index 100%
rename from Andrea/lang/lang_zh_CN.properties
rename to skins/Andrea/lang/lang_zh_CN.properties
diff --git a/Andrea/macro-comments.ftl b/skins/Andrea/macro-comments.ftl
similarity index 100%
rename from Andrea/macro-comments.ftl
rename to skins/Andrea/macro-comments.ftl
diff --git a/Andrea/macro-head.ftl b/skins/Andrea/macro-head.ftl
similarity index 100%
rename from Andrea/macro-head.ftl
rename to skins/Andrea/macro-head.ftl
diff --git a/Andrea/page.ftl b/skins/Andrea/page.ftl
similarity index 100%
rename from Andrea/page.ftl
rename to skins/Andrea/page.ftl
diff --git a/Andrea/preview.png b/skins/Andrea/preview.png
similarity index 100%
rename from Andrea/preview.png
rename to skins/Andrea/preview.png
diff --git a/Andrea/side-tool.ftl b/skins/Andrea/side-tool.ftl
similarity index 100%
rename from Andrea/side-tool.ftl
rename to skins/Andrea/side-tool.ftl
diff --git a/Andrea/side.ftl b/skins/Andrea/side.ftl
similarity index 100%
rename from Andrea/side.ftl
rename to skins/Andrea/side.ftl
diff --git a/Andrea/skin.properties b/skins/Andrea/skin.properties
similarity index 100%
rename from Andrea/skin.properties
rename to skins/Andrea/skin.properties
diff --git a/Andrea/tag-articles.ftl b/skins/Andrea/tag-articles.ftl
similarity index 100%
rename from Andrea/tag-articles.ftl
rename to skins/Andrea/tag-articles.ftl
diff --git a/Andrea/tags.ftl b/skins/Andrea/tags.ftl
similarity index 100%
rename from Andrea/tags.ftl
rename to skins/Andrea/tags.ftl
diff --git a/Bruce/archive-articles.ftl b/skins/Bruce/archive-articles.ftl
similarity index 100%
rename from Bruce/archive-articles.ftl
rename to skins/Bruce/archive-articles.ftl
diff --git a/Bruce/archives.ftl b/skins/Bruce/archives.ftl
similarity index 100%
rename from Bruce/archives.ftl
rename to skins/Bruce/archives.ftl
diff --git a/Bruce/article-list.ftl b/skins/Bruce/article-list.ftl
similarity index 100%
rename from Bruce/article-list.ftl
rename to skins/Bruce/article-list.ftl
diff --git a/Bruce/article.ftl b/skins/Bruce/article.ftl
similarity index 100%
rename from Bruce/article.ftl
rename to skins/Bruce/article.ftl
diff --git a/Bruce/category-articles.ftl b/skins/Bruce/category-articles.ftl
similarity index 100%
rename from Bruce/category-articles.ftl
rename to skins/Bruce/category-articles.ftl
diff --git a/Bruce/common-comment.ftl b/skins/Bruce/common-comment.ftl
similarity index 100%
rename from Bruce/common-comment.ftl
rename to skins/Bruce/common-comment.ftl
diff --git a/Bruce/css/Bruce.css b/skins/Bruce/css/Bruce.css
similarity index 100%
rename from Bruce/css/Bruce.css
rename to skins/Bruce/css/Bruce.css
diff --git a/Bruce/css/Bruce.min.css b/skins/Bruce/css/Bruce.min.css
similarity index 100%
rename from Bruce/css/Bruce.min.css
rename to skins/Bruce/css/Bruce.min.css
diff --git a/Bruce/css/bootstrap-theme.css b/skins/Bruce/css/bootstrap-theme.css
similarity index 100%
rename from Bruce/css/bootstrap-theme.css
rename to skins/Bruce/css/bootstrap-theme.css
diff --git a/Bruce/css/bootstrap-theme.css.map b/skins/Bruce/css/bootstrap-theme.css.map
similarity index 100%
rename from Bruce/css/bootstrap-theme.css.map
rename to skins/Bruce/css/bootstrap-theme.css.map
diff --git a/Bruce/css/bootstrap-theme.min.css b/skins/Bruce/css/bootstrap-theme.min.css
similarity index 100%
rename from Bruce/css/bootstrap-theme.min.css
rename to skins/Bruce/css/bootstrap-theme.min.css
diff --git a/Bruce/css/bootstrap.css b/skins/Bruce/css/bootstrap.css
similarity index 100%
rename from Bruce/css/bootstrap.css
rename to skins/Bruce/css/bootstrap.css
diff --git a/Bruce/css/bootstrap.css.map b/skins/Bruce/css/bootstrap.css.map
similarity index 100%
rename from Bruce/css/bootstrap.css.map
rename to skins/Bruce/css/bootstrap.css.map
diff --git a/Bruce/css/bootstrap.min.css b/skins/Bruce/css/bootstrap.min.css
similarity index 100%
rename from Bruce/css/bootstrap.min.css
rename to skins/Bruce/css/bootstrap.min.css
diff --git a/Bruce/fonts/glyphicons-halflings-regular.eot b/skins/Bruce/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from Bruce/fonts/glyphicons-halflings-regular.eot
rename to skins/Bruce/fonts/glyphicons-halflings-regular.eot
diff --git a/Bruce/fonts/glyphicons-halflings-regular.svg b/skins/Bruce/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from Bruce/fonts/glyphicons-halflings-regular.svg
rename to skins/Bruce/fonts/glyphicons-halflings-regular.svg
diff --git a/Bruce/fonts/glyphicons-halflings-regular.ttf b/skins/Bruce/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from Bruce/fonts/glyphicons-halflings-regular.ttf
rename to skins/Bruce/fonts/glyphicons-halflings-regular.ttf
diff --git a/Bruce/fonts/glyphicons-halflings-regular.woff b/skins/Bruce/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from Bruce/fonts/glyphicons-halflings-regular.woff
rename to skins/Bruce/fonts/glyphicons-halflings-regular.woff
diff --git a/Bruce/footer.ftl b/skins/Bruce/footer.ftl
similarity index 100%
rename from Bruce/footer.ftl
rename to skins/Bruce/footer.ftl
diff --git a/Bruce/header.ftl b/skins/Bruce/header.ftl
similarity index 100%
rename from Bruce/header.ftl
rename to skins/Bruce/header.ftl
diff --git a/Bruce/index.ftl b/skins/Bruce/index.ftl
similarity index 100%
rename from Bruce/index.ftl
rename to skins/Bruce/index.ftl
diff --git a/Bruce/js/bootstrap.js b/skins/Bruce/js/bootstrap.js
similarity index 100%
rename from Bruce/js/bootstrap.js
rename to skins/Bruce/js/bootstrap.js
diff --git a/Bruce/js/bootstrap.min.js b/skins/Bruce/js/bootstrap.min.js
similarity index 100%
rename from Bruce/js/bootstrap.min.js
rename to skins/Bruce/js/bootstrap.min.js
diff --git a/Bruce/lang/lang_en_US.properties b/skins/Bruce/lang/lang_en_US.properties
similarity index 100%
rename from Bruce/lang/lang_en_US.properties
rename to skins/Bruce/lang/lang_en_US.properties
diff --git a/Bruce/lang/lang_zh_CN.properties b/skins/Bruce/lang/lang_zh_CN.properties
similarity index 100%
rename from Bruce/lang/lang_zh_CN.properties
rename to skins/Bruce/lang/lang_zh_CN.properties
diff --git a/Bruce/links.ftl b/skins/Bruce/links.ftl
similarity index 100%
rename from Bruce/links.ftl
rename to skins/Bruce/links.ftl
diff --git a/Bruce/macro-comments.ftl b/skins/Bruce/macro-comments.ftl
similarity index 100%
rename from Bruce/macro-comments.ftl
rename to skins/Bruce/macro-comments.ftl
diff --git a/Bruce/macro-head.ftl b/skins/Bruce/macro-head.ftl
similarity index 100%
rename from Bruce/macro-head.ftl
rename to skins/Bruce/macro-head.ftl
diff --git a/Bruce/page.ftl b/skins/Bruce/page.ftl
similarity index 100%
rename from Bruce/page.ftl
rename to skins/Bruce/page.ftl
diff --git a/Bruce/preview.png b/skins/Bruce/preview.png
similarity index 100%
rename from Bruce/preview.png
rename to skins/Bruce/preview.png
diff --git a/Bruce/skin.properties b/skins/Bruce/skin.properties
similarity index 100%
rename from Bruce/skin.properties
rename to skins/Bruce/skin.properties
diff --git a/Bruce/tag-articles.ftl b/skins/Bruce/tag-articles.ftl
similarity index 100%
rename from Bruce/tag-articles.ftl
rename to skins/Bruce/tag-articles.ftl
diff --git a/Bruce/tags.ftl b/skins/Bruce/tags.ftl
similarity index 100%
rename from Bruce/tags.ftl
rename to skins/Bruce/tags.ftl
diff --git a/Community/archive-articles.ftl b/skins/Community/archive-articles.ftl
similarity index 100%
rename from Community/archive-articles.ftl
rename to skins/Community/archive-articles.ftl
diff --git a/Community/article-list.ftl b/skins/Community/article-list.ftl
similarity index 100%
rename from Community/article-list.ftl
rename to skins/Community/article-list.ftl
diff --git a/Community/article.ftl b/skins/Community/article.ftl
similarity index 100%
rename from Community/article.ftl
rename to skins/Community/article.ftl
diff --git a/Community/author-articles.ftl b/skins/Community/author-articles.ftl
similarity index 100%
rename from Community/author-articles.ftl
rename to skins/Community/author-articles.ftl
diff --git a/Community/category-articles.ftl b/skins/Community/category-articles.ftl
similarity index 100%
rename from Community/category-articles.ftl
rename to skins/Community/category-articles.ftl
diff --git a/Community/common-comment.ftl b/skins/Community/common-comment.ftl
similarity index 100%
rename from Community/common-comment.ftl
rename to skins/Community/common-comment.ftl
diff --git a/Community/css/Community.css b/skins/Community/css/Community.css
similarity index 100%
rename from Community/css/Community.css
rename to skins/Community/css/Community.css
diff --git a/Community/css/Community.min.css b/skins/Community/css/Community.min.css
similarity index 100%
rename from Community/css/Community.min.css
rename to skins/Community/css/Community.min.css
diff --git a/Community/footer.ftl b/skins/Community/footer.ftl
similarity index 100%
rename from Community/footer.ftl
rename to skins/Community/footer.ftl
diff --git a/Community/header.ftl b/skins/Community/header.ftl
similarity index 100%
rename from Community/header.ftl
rename to skins/Community/header.ftl
diff --git a/Community/images/author-header.png b/skins/Community/images/author-header.png
similarity index 100%
rename from Community/images/author-header.png
rename to skins/Community/images/author-header.png
diff --git a/Community/images/icon.png b/skins/Community/images/icon.png
similarity index 100%
rename from Community/images/icon.png
rename to skins/Community/images/icon.png
diff --git a/Community/images/indentline-light.png b/skins/Community/images/indentline-light.png
similarity index 100%
rename from Community/images/indentline-light.png
rename to skins/Community/images/indentline-light.png
diff --git a/Community/images/indentline.png b/skins/Community/images/indentline.png
similarity index 100%
rename from Community/images/indentline.png
rename to skins/Community/images/indentline.png
diff --git a/Community/index.ftl b/skins/Community/index.ftl
similarity index 100%
rename from Community/index.ftl
rename to skins/Community/index.ftl
diff --git a/Community/lang/lang_en_US.properties b/skins/Community/lang/lang_en_US.properties
similarity index 100%
rename from Community/lang/lang_en_US.properties
rename to skins/Community/lang/lang_en_US.properties
diff --git a/Community/lang/lang_zh_CN.properties b/skins/Community/lang/lang_zh_CN.properties
similarity index 100%
rename from Community/lang/lang_zh_CN.properties
rename to skins/Community/lang/lang_zh_CN.properties
diff --git a/Community/macro-comments.ftl b/skins/Community/macro-comments.ftl
similarity index 100%
rename from Community/macro-comments.ftl
rename to skins/Community/macro-comments.ftl
diff --git a/Community/macro-head.ftl b/skins/Community/macro-head.ftl
similarity index 100%
rename from Community/macro-head.ftl
rename to skins/Community/macro-head.ftl
diff --git a/Community/page.ftl b/skins/Community/page.ftl
similarity index 100%
rename from Community/page.ftl
rename to skins/Community/page.ftl
diff --git a/Community/preview.png b/skins/Community/preview.png
similarity index 100%
rename from Community/preview.png
rename to skins/Community/preview.png
diff --git a/Community/side.ftl b/skins/Community/side.ftl
similarity index 100%
rename from Community/side.ftl
rename to skins/Community/side.ftl
diff --git a/Community/skin.properties b/skins/Community/skin.properties
similarity index 100%
rename from Community/skin.properties
rename to skins/Community/skin.properties
diff --git a/Community/tag-articles.ftl b/skins/Community/tag-articles.ftl
similarity index 100%
rename from Community/tag-articles.ftl
rename to skins/Community/tag-articles.ftl
diff --git a/Community/tags.ftl b/skins/Community/tags.ftl
similarity index 100%
rename from Community/tags.ftl
rename to skins/Community/tags.ftl
diff --git a/Finding/archive-articles.ftl b/skins/Finding/archive-articles.ftl
similarity index 100%
rename from Finding/archive-articles.ftl
rename to skins/Finding/archive-articles.ftl
diff --git a/Finding/archives.ftl b/skins/Finding/archives.ftl
similarity index 100%
rename from Finding/archives.ftl
rename to skins/Finding/archives.ftl
diff --git a/Finding/article-list.ftl b/skins/Finding/article-list.ftl
similarity index 100%
rename from Finding/article-list.ftl
rename to skins/Finding/article-list.ftl
diff --git a/Finding/article.ftl b/skins/Finding/article.ftl
similarity index 100%
rename from Finding/article.ftl
rename to skins/Finding/article.ftl
diff --git a/Finding/author-articles.ftl b/skins/Finding/author-articles.ftl
similarity index 100%
rename from Finding/author-articles.ftl
rename to skins/Finding/author-articles.ftl
diff --git a/Finding/category-articles.ftl b/skins/Finding/category-articles.ftl
similarity index 100%
rename from Finding/category-articles.ftl
rename to skins/Finding/category-articles.ftl
diff --git a/Finding/category.ftl b/skins/Finding/category.ftl
similarity index 100%
rename from Finding/category.ftl
rename to skins/Finding/category.ftl
diff --git a/Finding/common-comment.ftl b/skins/Finding/common-comment.ftl
similarity index 100%
rename from Finding/common-comment.ftl
rename to skins/Finding/common-comment.ftl
diff --git a/Finding/css/Finding.css b/skins/Finding/css/Finding.css
similarity index 100%
rename from Finding/css/Finding.css
rename to skins/Finding/css/Finding.css
diff --git a/Finding/css/Finding.min.css b/skins/Finding/css/Finding.min.css
similarity index 100%
rename from Finding/css/Finding.min.css
rename to skins/Finding/css/Finding.min.css
diff --git a/Finding/css/fonts/icomoon.eot b/skins/Finding/css/fonts/icomoon.eot
similarity index 100%
rename from Finding/css/fonts/icomoon.eot
rename to skins/Finding/css/fonts/icomoon.eot
diff --git a/Finding/css/fonts/icomoon.svg b/skins/Finding/css/fonts/icomoon.svg
similarity index 100%
rename from Finding/css/fonts/icomoon.svg
rename to skins/Finding/css/fonts/icomoon.svg
diff --git a/Finding/css/fonts/icomoon.ttf b/skins/Finding/css/fonts/icomoon.ttf
similarity index 100%
rename from Finding/css/fonts/icomoon.ttf
rename to skins/Finding/css/fonts/icomoon.ttf
diff --git a/Finding/css/fonts/icomoon.woff b/skins/Finding/css/fonts/icomoon.woff
similarity index 100%
rename from Finding/css/fonts/icomoon.woff
rename to skins/Finding/css/fonts/icomoon.woff
diff --git a/Finding/css/fonts/selection.json b/skins/Finding/css/fonts/selection.json
similarity index 100%
rename from Finding/css/fonts/selection.json
rename to skins/Finding/css/fonts/selection.json
diff --git a/Finding/dynamic.ftl b/skins/Finding/dynamic.ftl
similarity index 100%
rename from Finding/dynamic.ftl
rename to skins/Finding/dynamic.ftl
diff --git a/Finding/footer.ftl b/skins/Finding/footer.ftl
similarity index 100%
rename from Finding/footer.ftl
rename to skins/Finding/footer.ftl
diff --git a/Finding/header.ftl b/skins/Finding/header.ftl
similarity index 100%
rename from Finding/header.ftl
rename to skins/Finding/header.ftl
diff --git a/Finding/images/header-bg.jpg b/skins/Finding/images/header-bg.jpg
similarity index 100%
rename from Finding/images/header-bg.jpg
rename to skins/Finding/images/header-bg.jpg
diff --git a/Finding/images/next.jpg b/skins/Finding/images/next.jpg
similarity index 100%
rename from Finding/images/next.jpg
rename to skins/Finding/images/next.jpg
diff --git a/Finding/images/preview.jpg b/skins/Finding/images/preview.jpg
similarity index 100%
rename from Finding/images/preview.jpg
rename to skins/Finding/images/preview.jpg
diff --git a/Finding/index.ftl b/skins/Finding/index.ftl
similarity index 100%
rename from Finding/index.ftl
rename to skins/Finding/index.ftl
diff --git a/Finding/js/Finding.js b/skins/Finding/js/Finding.js
similarity index 100%
rename from Finding/js/Finding.js
rename to skins/Finding/js/Finding.js
diff --git a/Finding/js/Finding.min.js b/skins/Finding/js/Finding.min.js
similarity index 100%
rename from Finding/js/Finding.min.js
rename to skins/Finding/js/Finding.min.js
diff --git a/Finding/lang/lang_en_US.properties b/skins/Finding/lang/lang_en_US.properties
similarity index 100%
rename from Finding/lang/lang_en_US.properties
rename to skins/Finding/lang/lang_en_US.properties
diff --git a/Finding/lang/lang_zh_CN.properties b/skins/Finding/lang/lang_zh_CN.properties
similarity index 100%
rename from Finding/lang/lang_zh_CN.properties
rename to skins/Finding/lang/lang_zh_CN.properties
diff --git a/Finding/links.ftl b/skins/Finding/links.ftl
similarity index 100%
rename from Finding/links.ftl
rename to skins/Finding/links.ftl
diff --git a/Finding/macro-comments.ftl b/skins/Finding/macro-comments.ftl
similarity index 100%
rename from Finding/macro-comments.ftl
rename to skins/Finding/macro-comments.ftl
diff --git a/Finding/macro-head.ftl b/skins/Finding/macro-head.ftl
similarity index 100%
rename from Finding/macro-head.ftl
rename to skins/Finding/macro-head.ftl
diff --git a/Finding/page.ftl b/skins/Finding/page.ftl
similarity index 100%
rename from Finding/page.ftl
rename to skins/Finding/page.ftl
diff --git a/Finding/preview.png b/skins/Finding/preview.png
similarity index 100%
rename from Finding/preview.png
rename to skins/Finding/preview.png
diff --git a/Finding/side.ftl b/skins/Finding/side.ftl
similarity index 100%
rename from Finding/side.ftl
rename to skins/Finding/side.ftl
diff --git a/Finding/skin.properties b/skins/Finding/skin.properties
similarity index 100%
rename from Finding/skin.properties
rename to skins/Finding/skin.properties
diff --git a/Finding/tag-articles.ftl b/skins/Finding/tag-articles.ftl
similarity index 100%
rename from Finding/tag-articles.ftl
rename to skins/Finding/tag-articles.ftl
diff --git a/Finding/tags.ftl b/skins/Finding/tags.ftl
similarity index 100%
rename from Finding/tags.ftl
rename to skins/Finding/tags.ftl
diff --git a/NeoEase/archive-articles.ftl b/skins/NeoEase/archive-articles.ftl
similarity index 100%
rename from NeoEase/archive-articles.ftl
rename to skins/NeoEase/archive-articles.ftl
diff --git a/NeoEase/article-list.ftl b/skins/NeoEase/article-list.ftl
similarity index 100%
rename from NeoEase/article-list.ftl
rename to skins/NeoEase/article-list.ftl
diff --git a/NeoEase/article.ftl b/skins/NeoEase/article.ftl
similarity index 100%
rename from NeoEase/article.ftl
rename to skins/NeoEase/article.ftl
diff --git a/NeoEase/author-articles.ftl b/skins/NeoEase/author-articles.ftl
similarity index 100%
rename from NeoEase/author-articles.ftl
rename to skins/NeoEase/author-articles.ftl
diff --git a/NeoEase/category-articles.ftl b/skins/NeoEase/category-articles.ftl
similarity index 100%
rename from NeoEase/category-articles.ftl
rename to skins/NeoEase/category-articles.ftl
diff --git a/NeoEase/common-comment.ftl b/skins/NeoEase/common-comment.ftl
similarity index 100%
rename from NeoEase/common-comment.ftl
rename to skins/NeoEase/common-comment.ftl
diff --git a/NeoEase/css/NeoEase.css b/skins/NeoEase/css/NeoEase.css
similarity index 100%
rename from NeoEase/css/NeoEase.css
rename to skins/NeoEase/css/NeoEase.css
diff --git a/NeoEase/css/NeoEase.min.css b/skins/NeoEase/css/NeoEase.min.css
similarity index 100%
rename from NeoEase/css/NeoEase.min.css
rename to skins/NeoEase/css/NeoEase.min.css
diff --git a/NeoEase/footer.ftl b/skins/NeoEase/footer.ftl
similarity index 100%
rename from NeoEase/footer.ftl
rename to skins/NeoEase/footer.ftl
diff --git a/NeoEase/header.ftl b/skins/NeoEase/header.ftl
similarity index 100%
rename from NeoEase/header.ftl
rename to skins/NeoEase/header.ftl
diff --git a/NeoEase/images/404.png b/skins/NeoEase/images/404.png
similarity index 100%
rename from NeoEase/images/404.png
rename to skins/NeoEase/images/404.png
diff --git a/NeoEase/images/ajax-loader.gif b/skins/NeoEase/images/ajax-loader.gif
similarity index 100%
rename from NeoEase/images/ajax-loader.gif
rename to skins/NeoEase/images/ajax-loader.gif
diff --git a/NeoEase/images/icons.png b/skins/NeoEase/images/icons.png
similarity index 100%
rename from NeoEase/images/icons.png
rename to skins/NeoEase/images/icons.png
diff --git a/NeoEase/index.ftl b/skins/NeoEase/index.ftl
similarity index 100%
rename from NeoEase/index.ftl
rename to skins/NeoEase/index.ftl
diff --git a/NeoEase/js/NeoEase.js b/skins/NeoEase/js/NeoEase.js
similarity index 100%
rename from NeoEase/js/NeoEase.js
rename to skins/NeoEase/js/NeoEase.js
diff --git a/NeoEase/js/NeoEase.min.js b/skins/NeoEase/js/NeoEase.min.js
similarity index 100%
rename from NeoEase/js/NeoEase.min.js
rename to skins/NeoEase/js/NeoEase.min.js
diff --git a/NeoEase/lang/lang_en_US.properties b/skins/NeoEase/lang/lang_en_US.properties
similarity index 100%
rename from NeoEase/lang/lang_en_US.properties
rename to skins/NeoEase/lang/lang_en_US.properties
diff --git a/NeoEase/lang/lang_zh_CN.properties b/skins/NeoEase/lang/lang_zh_CN.properties
similarity index 100%
rename from NeoEase/lang/lang_zh_CN.properties
rename to skins/NeoEase/lang/lang_zh_CN.properties
diff --git a/NeoEase/macro-comments.ftl b/skins/NeoEase/macro-comments.ftl
similarity index 100%
rename from NeoEase/macro-comments.ftl
rename to skins/NeoEase/macro-comments.ftl
diff --git a/NeoEase/macro-head.ftl b/skins/NeoEase/macro-head.ftl
similarity index 100%
rename from NeoEase/macro-head.ftl
rename to skins/NeoEase/macro-head.ftl
diff --git a/NeoEase/page.ftl b/skins/NeoEase/page.ftl
similarity index 100%
rename from NeoEase/page.ftl
rename to skins/NeoEase/page.ftl
diff --git a/NeoEase/preview.png b/skins/NeoEase/preview.png
similarity index 100%
rename from NeoEase/preview.png
rename to skins/NeoEase/preview.png
diff --git a/NeoEase/side.ftl b/skins/NeoEase/side.ftl
similarity index 100%
rename from NeoEase/side.ftl
rename to skins/NeoEase/side.ftl
diff --git a/NeoEase/skin.properties b/skins/NeoEase/skin.properties
similarity index 100%
rename from NeoEase/skin.properties
rename to skins/NeoEase/skin.properties
diff --git a/NeoEase/tag-articles.ftl b/skins/NeoEase/tag-articles.ftl
similarity index 100%
rename from NeoEase/tag-articles.ftl
rename to skins/NeoEase/tag-articles.ftl
diff --git a/NeoEase/tags.ftl b/skins/NeoEase/tags.ftl
similarity index 100%
rename from NeoEase/tags.ftl
rename to skins/NeoEase/tags.ftl
diff --git a/classic/archive-articles.ftl b/skins/classic/archive-articles.ftl
similarity index 97%
rename from classic/archive-articles.ftl
rename to skins/classic/archive-articles.ftl
index 3f9d16f..81ed52d 100644
--- a/classic/archive-articles.ftl
+++ b/skins/classic/archive-articles.ftl
@@ -1,39 +1,39 @@
-<#include "macro-head.ftl">
-
-
-
-readmoreLabel=Read more\u00BB
-readmore2Label=Read more
-replyLabel=Reply\u00BB
-homeLabel=Home
-enableArticleUpdateHint1Label=Enable Article Update Hint:
-allowVisitDraftViaPermalink1Label=Allow Visit Draft Via Link:
-author1Label=Author:
-authorLabel=Author
-keyOfSolo1Label=Solo Key:
-articleLabel=Article
-tagArticlesLabel=Tag Articles
-dateArticlesLabel=Archive Date Articles
-authorArticlesLabel=Author Articles
-indexArticleLabel=Index Articles
-allTagsLabel=Tag Cloud
-customizedPageLabel=Customized Page
-killBrowserPageLabel=Kill Browser Page
-pageNumLabel=Page Number
-####
-forbiddenLabel=Forbidden Access!
-sorryLabel=Sorry!
-notFoundLabel=Not Found!
-unPulbishSuccLabel=Un Publish Successfully
-unPulbishFailLabel=Un Publish Fail
-removeSuccLabel=Remove Successfully
-removeFailLabel=Remove Fail
-removeUserFailSkinNeedMulUsersLabel=Remove Fail, the current skin need multiple users!
-putTopSuccLabel=Put Top Successfully
-putTopFailLabel=Put Top Fail
-cancelTopSuccLabel=Cancel Top Successfully
-cancelTopFailLabel=Cancel Top Fail
-addSuccLabel=Add Successfully
-addFailLabel=Add Fail
-updateSuccLabel=Update Successfully
-updateFailLabel=Update Fail
-updatePreferenceFailNeedMulUsersLabel=Update Fail, the selected skin need multiple users!
-setFailLabel=Set Fail
-setSuccLabel=Set Successfully
-getFailLabel=Get Fail
-noSettingLabel=No Setting
-getSuccLabel=Get Successfully
-importSuccLabel=Import Successfully :-)
-importFailLabel=Some Import Fail %>_<%
-noCommentLabel=No Comment
-captchaErrorLabel=Captcha Error
-inputErrorLabel=Input Error!
-gotoLabel=Go
-nameEmptyLabel=Username is empty
-passwordEmptyLabel=Password is empty
-blogEmptyLabel=Blogging service is empty
-blogArticleEmptyLabel=Please select articles
-nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long.
-mailCannotEmptyLabel=Mail is empty
-mailInvalidLabel=Mail is invalid
-commentContentCannotEmptyLabel=Sorry, your content must be between 2 and 500 characters long.
-captchaCannotEmptyLabel=Captcha is empty
-loadingLabel=Loading....
-titleEmptyLabel=Title is empty
-contentEmptyLabel=Content is empty
-orderEmptyLabel=Order is empty
-abstractEmptyLabel=Abstract is empty
-tagsEmptyLabel=Tags is empty
-addressEmptyLabel=Address is empty
-noAuthorizationURLLabel=Can not retrieve authorization URL from Google, please \
-make sure the Consumer Secret you typed in and then try again.
-duplicatedPermalinkLabel=Duplicated permalink!
-invalidPermalinkFormatLabel=Invalid permalink format!
-duplicatedEmailLabel=Duplicated email!
-refreshAndRetryLabel=Please refresh and try again!
-editorLeaveLabel=Content is not null, Do you leave\uFF1F
-editorPostLabel=Content is not null, Do you clear\uFF1F
-####
-confirmRemoveLabel=Are You Sure?
-confirmInitLabel=Are You Sure?
+#
+# Copyright (c) 2010-2017, b3log.org & hacpai.com
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# Description: Solo language configurations(en_US).
+# Version: 1.1.6.5, Mar 14, 2017
+# Author: Liang Ding
+# Author: Liyuan Li
+#
+
+tocLabel=Article ToC
+siteViewLabel=Site
+adminConsoleLabel=Admin
+adminIndexLabel=Admin Index
+postArticleLabel=Post
+articleListLabel=Articles
+commentListLabel=Comments
+draftListLabel=Drafts
+userManageLabel=Users
+commonUserLabel=Common User
+addUserLabel=Add User
+updateUserLabel=Update User
+linkManagementLabel=Links
+pluginMgmtLabel=Plugins
+pluginNameLabel=Name
+versionLabel=Version
+statusLabel=Status
+enabledLabel=Enabled
+disabledLabel=Disabled
+enableLabel=Enable
+disableLabel=Disable
+preferenceLabel=Preference
+localeString1Label=Language:
+timeZoneId1Label=Time Zone:
+adminLabel=Admin
+administratorLabel=Administrator
+loginLabel=Login
+logoutLabel=Logout
+initLabel=Initial
+popTagsLabel=Popular Tags
+tag1Label=Tag:
+tags1Label=Tags:
+recentArticlesLabel=Recent Articles
+recentCommentsLabel=Recent Comments
+postCommentsLabel=Post Comment
+mostCommentArticlesLabel=Most Comment Articles
+mostViewCountArticlesLabel=Most View Articles
+linkLabel=Friend Links
+sumLabel=
+pageLabel=Page
+commentLabel=Comment
+linkTitleLabel=Link Title
+linkTitle1Label=Title:
+updateLabel=Update
+removeLabel=Remove
+putTopLabel=Put Top
+cancelPutTopLabel=Cancel Put Top
+downloadCountLabel=Count
+sizeLabel=Size
+uploadDateLabel=Upload Date
+downloadURLLabel=Download URL
+downloadLabel=Download
+createDateLabel=Create Date
+updateDateLabel=Update Date
+titleLabel=Title
+title1Label=Title:
+content1Label=Content:
+abstract1Label=Summary:
+publishLabel=Publish
+unPublishLabel=Un Publish
+urlLabel=URL
+url1Label=URL (start protocol, e.g.: http://):
+addLinkLabel=Add Link
+updateLinkLabel=Update Link
+archiveLabel=Archive
+archive1Label=archive:
+yearLabel=
+monthLabel=
+pageLabel=Page
+pageMgmtLabel=Pages
+othersLabel=Others
+fileListLabel=Files
+submitUploadLabel=Upload
+fileNameLabel=File Name
+paramSettingsLabel=Parameters
+skinLabel=Skins
+signLabel=Signs
+sign1Label=Signs:
+noSignLabel=No Signs
+signIsNullLabel=This Sign is Null
+statisticLabel=Blog Statistic
+viewLabel=View
+countLabel=Posts
+viewCount1Label=View Count:
+articleCount1Label=Article Count:
+commentCountLabel=Comment Count
+commentCount1Label=Comment Count:
+commentEmotions1Label=Emotions:
+commentEmotionsLabel=Emotions
+commentName1Label=Name:
+commentNameLabel=Name
+commentEmail1Label=Email:
+commentEmailLabel=Email
+commentURL1Label=URL:
+commentURLLabel=URL
+commentContent1Label=Content:
+commentContentLabel=Content
+getDateLabel=Get Date
+getArticleLabel=Get Article
+selectDateLabel=Select Date
+selectDate1Label=Select Date:
+importLabel=Import
+chooseBlog1Label=Choose Blog:
+blogArticleImportLabel=Article Import
+userName1Label=Username:
+userPassword1Label=Password:
+categoryLabel=Category
+noticeBoard1Label=Notice Board:
+noticeBoardLabel=Notice Board
+htmlhead1Label=HTML head:
+indexTagDisplayCnt1Label=Index Tag Display Count:
+indexRecentArticleDisplayCnt1Label=Recent Article Display Count:
+indexRecentCommentDisplayCnt1Label=Recent Comment Display Count:
+indexMostCommentArticleDisplayCnt1Label=Most Comment Article Display Count:
+indexMostViewArticleDisplayCnt1Label=Most View Article Display Count:
+relevantArticlesDisplayCnt1Label=Relevant Article Display Count:
+randomArticlesDisplayCnt1Label=Random Article Display Count:
+externalRelevantArticlesDisplayCnt1Label=External Relevant Article Display Count:
+windowSize1Label=Pagination Window Size:
+pageSize1Label=Pagination Page Size:
+blogTitle1Label=Blog Title:
+blogSubtitle1Label=Blog Subtitle:
+blogHost1Label=Blog Host:
+submmitCommentLabel=Commit Comment
+saveLabel=Save
+tagLabel=Tag
+tagsLabel=Tags
+importedLabel=Imported
+captcha1Label=Captcha:
+captchaLabel=Captcha
+indexLabel=Index
+nextArticle1Label=Next:
+previousArticle1Label=Previous:
+updatedLabel=Updated!
+topArticleLabel=Top!
+CSDNBlogLabel=CSDN Blog
+BlogJavaLabel=BlogJava
+CnBlogsLabel=CnBlogs
+previousPageLabel=Previous Page
+nextPagePabel=Next Page
+firstPageLabel=First Page
+lastPageLabel=Last Page
+returnTo1Label=Return to:
+tencentLabel=Tencent
+appKey1Label=App Key:
+appSecret1Label=App Secret:
+postToTencentMicroblogWhilePublishArticleLabel=Post to Tencent microblog while publish an article:
+postToCommunityLabel=Post to Community:
+authorizeTencentMicroblog1Label=Click to authorize:
+googleLabel=Google
+OAuthConsumerSecret1Label=OAuth Consumer Secret:
+atomLabel=Atom
+relevantArticles1Label=Relevant Articles:
+randomArticles1Label=Random Articles:
+externalRelevantArticles1Label=External Relevant Articles:
+metaKeywords1Label=Meta Keywords:
+metaDescription1Label=Meta Description:
+removeUnusedTagsLabel=Remove Unused Tags
+goTopLabel=Top
+permalink1Label=Permalink:
+permalinkLabel=Permalink
+b3logLabel=B3LOG
+killBrowserLabel=
Let's kill outdated and insecure browser!
Let's kill outdated and insecure browser for browser evolution, human progress and better experience.
';
+ }
+
+ $(".article-last").removeClass("article-last");
+ $(".main>.wrapper>ul").append(articlesHTML);
+
+ // 最后一页处理
+ if (pagination.paginationPageCount === currentPage) {
+ $more.remove();
+ } else {
+ $more.css("background", "none");
+ }
+ }
+ });
+};
+
+var ease = {
+ $header: $(".header"),
+ headerH: 103,
+ $body: $(".main > .wrapper"),
+ $nav: $(".nav"),
+ getCurrentPage: function () {
+ var $next = $(".article-next");
+ if ($next.length > 0) {
+ window.currentPage = $next.data("page");
+ }
+ },
+
+ setNavCurrent: function () {
+ $(".nav ul a").each(function () {
+ var $this = $(this);
+ if ($this.attr("href") === location.href) {
+ $this.addClass("current");
+ } else if (/\/[0-9]+$/.test(location.pathname)) {
+ $(".nav ul li")[0].className = "current";
+ }
+ });
+ },
+
+ initCommon: function () {
+ Util.init();
+ Util.replaceSideEm($(".recent-comments-content"));
+ Util.buildTags("tagsSide");
+ },
+
+ initArchives: function () {
+ var $archives = $(".archives");
+ if ($archives.length < 1) {
+ return;
+ }
+
+ $(".footer").css("marginTop", "30px");
+ var years = [],
+ $archiveList = $archives.find("span").each(function () {
+ var year = $(this).data("year"),
+ tag = true;
+ for (var i = 0; i < years.length; i++) {
+ if (year === years[i]) {
+ tag = false;
+ break;
+ }
+ }
+ if (tag) {
+ years.push(year);
+ }
+ });
+
+ var yearsHTML = "";
+ for (var j = 0; j < years.length; j++) {
+ var monthsHTML = "";
+ for (var l = 0; l < $archiveList.length; l++) {
+ var $month = $($archiveList[l]);
+ if ($month.data("year") === years[j]) {
+ monthsHTML += $month.html();
+ }
+ }
+
+ yearsHTML += "
" + years[j] + "
" + monthsHTML + "
";
+ }
+
+ $archives.html(yearsHTML);
+
+ // position
+ var $items = $(".archives>div"),
+ line = 0,
+ top = 0,
+ heights = [];
+
+ for (var m = 0; m < $items.length; m++) {
+ for (var n = 0; n < 3; n++) {
+ if (m >= $items.length) {
+ break;
+ }
+
+ $items[m].style.left = (n * 310) + "px";
+
+ if (line > 0) {
+ if ($items[m - 3].style.top !== "") {
+ top = parseInt($items[m - 3].style.top);
+ }
+ $items[m].style.top = $($items[m - 3]).height() + 60 + top + "px";
+
+ heights[n] = parseInt($items[m].style.top) + $($items[m]).height() + 60;
+ } else {
+ heights[n] = $($items[m]).height() + 60;
+ }
+
+ if (n < 2) {
+ m += 1;
+ }
+ }
+ line += 1;
+ }
+
+ // archive height
+ $archives.height(heights.sort()[heights.length - 1]);
+ },
+
+ scrollEvent: function () {
+ var _it = this;
+ $(window).scroll(function () {
+ var y = $(window).scrollTop();
+
+ // go top icon show or hide
+ if (y > _it.headerH) {
+ var bodyH = $(window).height();
+ var top = y + bodyH - 21;
+ if ($("body").height() - 58 <= y + bodyH) {
+ top = $(".footer").offset().top - 21;
+ }
+ $("#goTop").fadeIn("slow").css("top", top);
+ } else {
+ $("#goTop").hide();
+ }
+ });
+ },
+
+ setDynamic: function () {
+ var $dynamic = $(".dynamic");
+ if ($(".dynamic").length < 1) {
+ return;
+ }
+
+ var $comments = $dynamic.find(".side-comments"),
+ $tags = $dynamic.find(".side-tags"),
+ $mostComment = $dynamic.find(".side-most-comment"),
+ $mostView = $dynamic.find(".side-most-view");
+
+ if ($comments.height() > $tags.height()) {
+ $tags.height($comments.height());
+ } else {
+ $comments.height($tags.height());
+ }
+
+ if ($mostComment.height() > $mostView.height()) {
+ $mostView.height($mostComment.height());
+ } else {
+ $mostComment.height($mostView.height());
+ }
+
+ // emotions
+ $(".article-body").each(function () {
+ this.innerHTML = Util.replaceEmString($(this).html());
+ });
+ }
+};
+
+(function () {
+ ease.getCurrentPage();
+ ease.initCommon();
+ ease.scrollEvent();
+ ease.setNavCurrent();
+
+ ease.initArchives();
+ ease.setDynamic();
})();
\ No newline at end of file
diff --git a/ease/js/ease.min.js b/skins/ease/js/ease.min.js
similarity index 100%
rename from ease/js/ease.min.js
rename to skins/ease/js/ease.min.js
diff --git a/ease/lang/lang_en_US.properties b/skins/ease/lang/lang_en_US.properties
similarity index 96%
rename from ease/lang/lang_en_US.properties
rename to skins/ease/lang/lang_en_US.properties
index e1ee025..5461d1e 100644
--- a/ease/lang/lang_en_US.properties
+++ b/skins/ease/lang/lang_en_US.properties
@@ -1,76 +1,76 @@
-#
-# Copyright (c) 2010-2017, b3log.org & hacpai.com
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# Description: Language configurations(en_US) for skin "ease".
-# Version: 1.0.0.5, May 22, 2012
-# Author: Liyuan Li
-#
-dynamicLabel=Dynamic
-moreLabel=More
-contentLabel=More...
-abstractLabel=Abstract
-viewCount1Label=View Count:
-articleCount1Label=Article Count:
-commentCount1Label=Comment Count:
-allTagsLabel=Tags
-archiveLabel=Archive
-yearLabel=
-monthLabel=
-recentArticlesLabel=Recent Articles
-recentCommentsLabel=Recent Comments
-mostCommentArticlesLabel=Most Comment Articles
-mostViewCountArticlesLabel=Most View Articles
-popTagsLabel=Popular Tags
-linkLabel=Friend Links
-indexLabel=Home
-sumLabel=
-pageLabel=Page
-adminLabel=Admin
-logoutLabel=Logout
-loginLabel=Login
-commentLabel=Comment
-viewLabel=View
-authorLabel=Author
-previousPageLabel=Previous Page
-nextPagePabel=Next Page
-firstPageLabel=First Page
-lastPageLabel=Last Page
-archive1Label=Archive:
-author1Label=Author:
-tag1Label=Tags:
-sorryLabel=Sorry!
-notFoundLabel=Not Found!
-returnTo1Label=Return:
-updatedLabel=Updated!
-topArticleLabel=Top!
-replyLabel=Reply
-commentNameLabel=Name
-commentEmailLabel=Email
-commentURLLabel=URL
-submmitCommentLabel=Commit Comment
-nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long!
-mailCannotEmptyLabel=Mail is empty!
-mailInvalidLabel=Mail is invalid!
-commentContentCannotEmptyLabel=Sorry, your content must be between 2 and 500 characters long!
-captchaCannotEmptyLabel=Captcha is empty!
-loadingLabel=loading....
-relevantArticlesLabel=Relevant Articles
-randomArticlesLabel=Random Articles
-externalRelevantArticlesLabel=External Relevant Articles:
-captchaErrorLabel=Captcha Error
-b3logLabel=B3LOG
+#
+# Copyright (c) 2010-2017, b3log.org & hacpai.com
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# Description: Language configurations(en_US) for skin "ease".
+# Version: 1.0.0.5, May 22, 2012
+# Author: Liyuan Li
+#
+dynamicLabel=Dynamic
+moreLabel=More
+contentLabel=More...
+abstractLabel=Abstract
+viewCount1Label=View Count:
+articleCount1Label=Article Count:
+commentCount1Label=Comment Count:
+allTagsLabel=Tags
+archiveLabel=Archive
+yearLabel=
+monthLabel=
+recentArticlesLabel=Recent Articles
+recentCommentsLabel=Recent Comments
+mostCommentArticlesLabel=Most Comment Articles
+mostViewCountArticlesLabel=Most View Articles
+popTagsLabel=Popular Tags
+linkLabel=Friend Links
+indexLabel=Home
+sumLabel=
+pageLabel=Page
+adminLabel=Admin
+logoutLabel=Logout
+loginLabel=Login
+commentLabel=Comment
+viewLabel=View
+authorLabel=Author
+previousPageLabel=Previous Page
+nextPagePabel=Next Page
+firstPageLabel=First Page
+lastPageLabel=Last Page
+archive1Label=Archive:
+author1Label=Author:
+tag1Label=Tags:
+sorryLabel=Sorry!
+notFoundLabel=Not Found!
+returnTo1Label=Return:
+updatedLabel=Updated!
+topArticleLabel=Top!
+replyLabel=Reply
+commentNameLabel=Name
+commentEmailLabel=Email
+commentURLLabel=URL
+submmitCommentLabel=Commit Comment
+nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long!
+mailCannotEmptyLabel=Mail is empty!
+mailInvalidLabel=Mail is invalid!
+commentContentCannotEmptyLabel=Sorry, your content must be between 2 and 500 characters long!
+captchaCannotEmptyLabel=Captcha is empty!
+loadingLabel=loading....
+relevantArticlesLabel=Relevant Articles
+randomArticlesLabel=Random Articles
+externalRelevantArticlesLabel=External Relevant Articles:
+captchaErrorLabel=Captcha Error
+b3logLabel=B3LOG
killBrowserLabel=
Let's kill outdated and insecure browser!
Let's kill outdated and insecure browser for browser evolution, human progress and better experience.
\ No newline at end of file
diff --git a/ease/lang/lang_zh_CN.properties b/skins/ease/lang/lang_zh_CN.properties
similarity index 98%
rename from ease/lang/lang_zh_CN.properties
rename to skins/ease/lang/lang_zh_CN.properties
index 7084762..255108d 100644
--- a/ease/lang/lang_zh_CN.properties
+++ b/skins/ease/lang/lang_zh_CN.properties
@@ -1,76 +1,76 @@
-#
-# Copyright (c) 2010-2017, b3log.org & hacpai.com
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# Description: Language configurations(zh_CN) for skin "ease".
-# Version: 1.0.0.5, May 22, 2012
-# Author: Liyuan Li
-#
-dynamicLabel=\u52A8\u6001
-moreLabel=\u66F4\u591A
-contentLabel=\u5168\u6587
-abstractLabel=\u6458\u8981
-viewCount1Label=\u6D4F\u89C8\u6B21\u6570\uFF1A
-articleCount1Label=\u6587\u7AE0\u603B\u6570\uFF1A
-commentCount1Label=\u8BC4\u8BBA\u603B\u6570\uFF1A
-allTagsLabel=\u6807\u7B7E\u5899
-updatedLabel=\u6709\u66F4\u65B0\uFF01
-topArticleLabel=\u7F6E\u9876\uFF01
-archiveLabel=\u5B58\u6863
-yearLabel=\u5E74
-monthLabel=\u6708
-recentArticlesLabel=\u6700\u65B0\u6587\u7AE0
-recentCommentsLabel=\u6700\u65B0\u8BC4\u8BBA
-mostCommentArticlesLabel=\u8BC4\u8BBA\u6700\u591A\u7684\u6587\u7AE0
-mostViewCountArticlesLabel=\u8BBF\u95EE\u6700\u591A\u7684\u6587\u7AE0
-popTagsLabel=\u5206\u7C7B\u6807\u7B7E
-linkLabel=\u53CB\u60C5\u94FE\u63A5
-indexLabel=\u9996\u9875
-sumLabel=\u5171
-pageLabel=\u9875
-adminLabel=\u7BA1\u7406
-logoutLabel=\u767B\u51FA
-loginLabel=\u767B\u5F55
-commentLabel=\u8BC4\u8BBA
-viewLabel=\u6D4F\u89C8
-authorLabel=\u4F5C\u8005
-previousPageLabel=\u4E0A\u4E00\u9875
-nextPagePabel=\u4E0B\u4E00\u9875
-firstPageLabel=\u7B2C\u4E00\u9875
-lastPageLabel=\u6700\u540E\u4E00\u9875
-archive1Label=\u5B58\u6863\uFF1A
-author1Label=\u4F5C\u8005\uFF1A
-tag1Label=\u6807\u7B7E\uFF1A
-sorryLabel=\u5BF9\u4E0D\u8D77\uFF01
-notFoundLabel=\u627E\u4E0D\u5230\uFF01
-returnTo1Label=\u8FD4\u56DE\uFF1A
-replyLabel=\u56DE\u590D
-commentNameLabel=\u59D3\u540D
-commentEmailLabel=\u90AE\u7BB1
-commentURLLabel=URL
-submmitCommentLabel=\u63D0\u4EA4\u8BC4\u8BBA
-nameTooLongLabel=\u59D3\u540D\u53EA\u80FD\u4E3A 2 \u5230 20 \u4E2A\u5B57\u7B26\uFF01
-mailCannotEmptyLabel=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A\uFF01
-mailInvalidLabel=\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E\uFF01
-commentContentCannotEmptyLabel=\u8BC4\u8BBA\u5185\u5BB9\u53EA\u80FD\u4E3A 2 \u5230 500 \u4E2A\u5B57\u7B26\uFF01
-captchaCannotEmptyLabel=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF01
-loadingLabel=\u8F7D\u5165\u4E2D....
-relevantArticlesLabel=\u76F8\u5173\u9605\u8BFB
-randomArticlesLabel=\u968F\u673A\u9605\u8BFB
-externalRelevantArticlesLabel=\u7AD9\u5916\u76F8\u5173\u9605\u8BFB
-captchaErrorLabel=\u9A8C\u8BC1\u7801\u9519\u8BEF
-b3logLabel=B3LOG
-killBrowserLabel=
+#
+# Copyright (c) 2010-2017, b3log.org & hacpai.com
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# Description: Language configurations(zh_CN) for skin "ease".
+# Version: 1.0.0.5, May 22, 2012
+# Author: Liyuan Li
+#
+dynamicLabel=\u52A8\u6001
+moreLabel=\u66F4\u591A
+contentLabel=\u5168\u6587
+abstractLabel=\u6458\u8981
+viewCount1Label=\u6D4F\u89C8\u6B21\u6570\uFF1A
+articleCount1Label=\u6587\u7AE0\u603B\u6570\uFF1A
+commentCount1Label=\u8BC4\u8BBA\u603B\u6570\uFF1A
+allTagsLabel=\u6807\u7B7E\u5899
+updatedLabel=\u6709\u66F4\u65B0\uFF01
+topArticleLabel=\u7F6E\u9876\uFF01
+archiveLabel=\u5B58\u6863
+yearLabel=\u5E74
+monthLabel=\u6708
+recentArticlesLabel=\u6700\u65B0\u6587\u7AE0
+recentCommentsLabel=\u6700\u65B0\u8BC4\u8BBA
+mostCommentArticlesLabel=\u8BC4\u8BBA\u6700\u591A\u7684\u6587\u7AE0
+mostViewCountArticlesLabel=\u8BBF\u95EE\u6700\u591A\u7684\u6587\u7AE0
+popTagsLabel=\u5206\u7C7B\u6807\u7B7E
+linkLabel=\u53CB\u60C5\u94FE\u63A5
+indexLabel=\u9996\u9875
+sumLabel=\u5171
+pageLabel=\u9875
+adminLabel=\u7BA1\u7406
+logoutLabel=\u767B\u51FA
+loginLabel=\u767B\u5F55
+commentLabel=\u8BC4\u8BBA
+viewLabel=\u6D4F\u89C8
+authorLabel=\u4F5C\u8005
+previousPageLabel=\u4E0A\u4E00\u9875
+nextPagePabel=\u4E0B\u4E00\u9875
+firstPageLabel=\u7B2C\u4E00\u9875
+lastPageLabel=\u6700\u540E\u4E00\u9875
+archive1Label=\u5B58\u6863\uFF1A
+author1Label=\u4F5C\u8005\uFF1A
+tag1Label=\u6807\u7B7E\uFF1A
+sorryLabel=\u5BF9\u4E0D\u8D77\uFF01
+notFoundLabel=\u627E\u4E0D\u5230\uFF01
+returnTo1Label=\u8FD4\u56DE\uFF1A
+replyLabel=\u56DE\u590D
+commentNameLabel=\u59D3\u540D
+commentEmailLabel=\u90AE\u7BB1
+commentURLLabel=URL
+submmitCommentLabel=\u63D0\u4EA4\u8BC4\u8BBA
+nameTooLongLabel=\u59D3\u540D\u53EA\u80FD\u4E3A 2 \u5230 20 \u4E2A\u5B57\u7B26\uFF01
+mailCannotEmptyLabel=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A\uFF01
+mailInvalidLabel=\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E\uFF01
+commentContentCannotEmptyLabel=\u8BC4\u8BBA\u5185\u5BB9\u53EA\u80FD\u4E3A 2 \u5230 500 \u4E2A\u5B57\u7B26\uFF01
+captchaCannotEmptyLabel=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF01
+loadingLabel=\u8F7D\u5165\u4E2D....
+relevantArticlesLabel=\u76F8\u5173\u9605\u8BFB
+randomArticlesLabel=\u968F\u673A\u9605\u8BFB
+externalRelevantArticlesLabel=\u7AD9\u5916\u76F8\u5173\u9605\u8BFB
+captchaErrorLabel=\u9A8C\u8BC1\u7801\u9519\u8BEF
+b3logLabel=B3LOG
+killBrowserLabel=
+
+
+
${plugins}
\ No newline at end of file
diff --git a/favourite/header.ftl b/skins/favourite/header.ftl
similarity index 100%
rename from favourite/header.ftl
rename to skins/favourite/header.ftl
diff --git a/favourite/images/Guestbook.png b/skins/favourite/images/Guestbook.png
similarity index 100%
rename from favourite/images/Guestbook.png
rename to skins/favourite/images/Guestbook.png
diff --git a/favourite/images/about.png b/skins/favourite/images/about.png
similarity index 100%
rename from favourite/images/about.png
rename to skins/favourite/images/about.png
diff --git a/favourite/images/ads.png b/skins/favourite/images/ads.png
similarity index 100%
rename from favourite/images/ads.png
rename to skins/favourite/images/ads.png
diff --git a/favourite/images/anelli.png b/skins/favourite/images/anelli.png
similarity index 100%
rename from favourite/images/anelli.png
rename to skins/favourite/images/anelli.png
diff --git a/favourite/images/antefatto.png b/skins/favourite/images/antefatto.png
similarity index 100%
rename from favourite/images/antefatto.png
rename to skins/favourite/images/antefatto.png
diff --git a/favourite/images/archivio.png b/skins/favourite/images/archivio.png
similarity index 100%
rename from favourite/images/archivio.png
rename to skins/favourite/images/archivio.png
diff --git a/favourite/images/bg.jpg b/skins/favourite/images/bg.jpg
similarity index 100%
rename from favourite/images/bg.jpg
rename to skins/favourite/images/bg.jpg
diff --git a/favourite/images/blog.png b/skins/favourite/images/blog.png
similarity index 100%
rename from favourite/images/blog.png
rename to skins/favourite/images/blog.png
diff --git a/favourite/images/box.gif b/skins/favourite/images/box.gif
similarity index 100%
rename from favourite/images/box.gif
rename to skins/favourite/images/box.gif
diff --git a/favourite/images/categorie.png b/skins/favourite/images/categorie.png
similarity index 100%
rename from favourite/images/categorie.png
rename to skins/favourite/images/categorie.png
diff --git a/favourite/images/category.jpg b/skins/favourite/images/category.jpg
similarity index 100%
rename from favourite/images/category.jpg
rename to skins/favourite/images/category.jpg
diff --git a/favourite/images/classifiche.png b/skins/favourite/images/classifiche.png
similarity index 100%
rename from favourite/images/classifiche.png
rename to skins/favourite/images/classifiche.png
diff --git a/favourite/images/comment.gif b/skins/favourite/images/comment.gif
similarity index 100%
rename from favourite/images/comment.gif
rename to skins/favourite/images/comment.gif
diff --git a/favourite/images/comment.jpg b/skins/favourite/images/comment.jpg
similarity index 100%
rename from favourite/images/comment.jpg
rename to skins/favourite/images/comment.jpg
diff --git a/favourite/images/commentpoint.png b/skins/favourite/images/commentpoint.png
similarity index 100%
rename from favourite/images/commentpoint.png
rename to skins/favourite/images/commentpoint.png
diff --git a/favourite/images/cont-bg.png b/skins/favourite/images/cont-bg.png
similarity index 100%
rename from favourite/images/cont-bg.png
rename to skins/favourite/images/cont-bg.png
diff --git a/favourite/images/cont-bg_2.png b/skins/favourite/images/cont-bg_2.png
similarity index 100%
rename from favourite/images/cont-bg_2.png
rename to skins/favourite/images/cont-bg_2.png
diff --git a/favourite/images/corner.png b/skins/favourite/images/corner.png
similarity index 100%
rename from favourite/images/corner.png
rename to skins/favourite/images/corner.png
diff --git a/favourite/images/cuore.png b/skins/favourite/images/cuore.png
similarity index 100%
rename from favourite/images/cuore.png
rename to skins/favourite/images/cuore.png
diff --git a/favourite/images/default.png b/skins/favourite/images/default.png
similarity index 100%
rename from favourite/images/default.png
rename to skins/favourite/images/default.png
diff --git a/favourite/images/esclamativo.png b/skins/favourite/images/esclamativo.png
similarity index 100%
rename from favourite/images/esclamativo.png
rename to skins/favourite/images/esclamativo.png
diff --git a/favourite/images/footer-ico.png b/skins/favourite/images/footer-ico.png
similarity index 100%
rename from favourite/images/footer-ico.png
rename to skins/favourite/images/footer-ico.png
diff --git a/favourite/images/header.jpg b/skins/favourite/images/header.jpg
similarity index 100%
rename from favourite/images/header.jpg
rename to skins/favourite/images/header.jpg
diff --git a/favourite/images/home.png b/skins/favourite/images/home.png
similarity index 100%
rename from favourite/images/home.png
rename to skins/favourite/images/home.png
diff --git a/favourite/images/icons.gif b/skins/favourite/images/icons.gif
similarity index 100%
rename from favourite/images/icons.gif
rename to skins/favourite/images/icons.gif
diff --git a/favourite/images/info.png b/skins/favourite/images/info.png
similarity index 100%
rename from favourite/images/info.png
rename to skins/favourite/images/info.png
diff --git a/favourite/images/pl.png b/skins/favourite/images/pl.png
similarity index 100%
rename from favourite/images/pl.png
rename to skins/favourite/images/pl.png
diff --git a/favourite/images/roundbottom.png b/skins/favourite/images/roundbottom.png
similarity index 100%
rename from favourite/images/roundbottom.png
rename to skins/favourite/images/roundbottom.png
diff --git a/favourite/images/roundtop.png b/skins/favourite/images/roundtop.png
similarity index 100%
rename from favourite/images/roundtop.png
rename to skins/favourite/images/roundtop.png
diff --git a/favourite/images/tagsIcon.png b/skins/favourite/images/tagsIcon.png
similarity index 100%
rename from favourite/images/tagsIcon.png
rename to skins/favourite/images/tagsIcon.png
diff --git a/favourite/images/textfield.gif b/skins/favourite/images/textfield.gif
similarity index 100%
rename from favourite/images/textfield.gif
rename to skins/favourite/images/textfield.gif
diff --git a/favourite/images/thinks.png b/skins/favourite/images/thinks.png
similarity index 100%
rename from favourite/images/thinks.png
rename to skins/favourite/images/thinks.png
diff --git a/favourite/images/top-bg.jpg b/skins/favourite/images/top-bg.jpg
similarity index 100%
rename from favourite/images/top-bg.jpg
rename to skins/favourite/images/top-bg.jpg
diff --git a/favourite/images/twitter.png b/skins/favourite/images/twitter.png
similarity index 100%
rename from favourite/images/twitter.png
rename to skins/favourite/images/twitter.png
diff --git a/favourite/index.ftl b/skins/favourite/index.ftl
similarity index 100%
rename from favourite/index.ftl
rename to skins/favourite/index.ftl
diff --git a/favourite/lang/lang_en_US.properties b/skins/favourite/lang/lang_en_US.properties
similarity index 100%
rename from favourite/lang/lang_en_US.properties
rename to skins/favourite/lang/lang_en_US.properties
diff --git a/favourite/lang/lang_zh_CN.properties b/skins/favourite/lang/lang_zh_CN.properties
similarity index 100%
rename from favourite/lang/lang_zh_CN.properties
rename to skins/favourite/lang/lang_zh_CN.properties
diff --git a/favourite/macro-comments.ftl b/skins/favourite/macro-comments.ftl
similarity index 97%
rename from favourite/macro-comments.ftl
rename to skins/favourite/macro-comments.ftl
index 60ab4f0..62282fd 100644
--- a/favourite/macro-comments.ftl
+++ b/skins/favourite/macro-comments.ftl
@@ -1,113 +1,113 @@
-<#macro comments commentList article>
-
+#if>
+#macro>
+
+<#macro comment_script oId>
+
+
#macro>
\ No newline at end of file
diff --git a/favourite/macro-head.ftl b/skins/favourite/macro-head.ftl
similarity index 100%
rename from favourite/macro-head.ftl
rename to skins/favourite/macro-head.ftl
diff --git a/favourite/nav.ftl b/skins/favourite/nav.ftl
similarity index 100%
rename from favourite/nav.ftl
rename to skins/favourite/nav.ftl
diff --git a/favourite/page.ftl b/skins/favourite/page.ftl
similarity index 100%
rename from favourite/page.ftl
rename to skins/favourite/page.ftl
diff --git a/favourite/preview.png b/skins/favourite/preview.png
similarity index 100%
rename from favourite/preview.png
rename to skins/favourite/preview.png
diff --git a/favourite/side.ftl b/skins/favourite/side.ftl
similarity index 100%
rename from favourite/side.ftl
rename to skins/favourite/side.ftl
diff --git a/favourite/skin.properties b/skins/favourite/skin.properties
similarity index 100%
rename from favourite/skin.properties
rename to skins/favourite/skin.properties
diff --git a/favourite/statistic.ftl b/skins/favourite/statistic.ftl
similarity index 100%
rename from favourite/statistic.ftl
rename to skins/favourite/statistic.ftl
diff --git a/favourite/tag-articles.ftl b/skins/favourite/tag-articles.ftl
similarity index 100%
rename from favourite/tag-articles.ftl
rename to skins/favourite/tag-articles.ftl
diff --git a/favourite/tags.ftl b/skins/favourite/tags.ftl
similarity index 100%
rename from favourite/tags.ftl
rename to skins/favourite/tags.ftl
diff --git a/i-nove/archive-articles.ftl b/skins/i-nove/archive-articles.ftl
similarity index 100%
rename from i-nove/archive-articles.ftl
rename to skins/i-nove/archive-articles.ftl
diff --git a/i-nove/article-list.ftl b/skins/i-nove/article-list.ftl
similarity index 100%
rename from i-nove/article-list.ftl
rename to skins/i-nove/article-list.ftl
diff --git a/i-nove/article.ftl b/skins/i-nove/article.ftl
similarity index 100%
rename from i-nove/article.ftl
rename to skins/i-nove/article.ftl
diff --git a/i-nove/author-articles.ftl b/skins/i-nove/author-articles.ftl
similarity index 100%
rename from i-nove/author-articles.ftl
rename to skins/i-nove/author-articles.ftl
diff --git a/i-nove/category-articles.ftl b/skins/i-nove/category-articles.ftl
similarity index 100%
rename from i-nove/category-articles.ftl
rename to skins/i-nove/category-articles.ftl
diff --git a/i-nove/common-comment.ftl b/skins/i-nove/common-comment.ftl
similarity index 100%
rename from i-nove/common-comment.ftl
rename to skins/i-nove/common-comment.ftl
diff --git a/i-nove/css/i-nove.css b/skins/i-nove/css/i-nove.css
similarity index 100%
rename from i-nove/css/i-nove.css
rename to skins/i-nove/css/i-nove.css
diff --git a/i-nove/css/i-nove.min.css b/skins/i-nove/css/i-nove.min.css
similarity index 100%
rename from i-nove/css/i-nove.min.css
rename to skins/i-nove/css/i-nove.min.css
diff --git a/i-nove/footer.ftl b/skins/i-nove/footer.ftl
similarity index 97%
rename from i-nove/footer.ftl
rename to skins/i-nove/footer.ftl
index b2034fe..7896bd9 100644
--- a/i-nove/footer.ftl
+++ b/skins/i-nove/footer.ftl
@@ -1,59 +1,59 @@
-
+
+
+
${plugins}
\ No newline at end of file
diff --git a/i-nove/header.ftl b/skins/i-nove/header.ftl
similarity index 100%
rename from i-nove/header.ftl
rename to skins/i-nove/header.ftl
diff --git a/i-nove/images/bg.jpg b/skins/i-nove/images/bg.jpg
similarity index 100%
rename from i-nove/images/bg.jpg
rename to skins/i-nove/images/bg.jpg
diff --git a/i-nove/images/box.gif b/skins/i-nove/images/box.gif
similarity index 100%
rename from i-nove/images/box.gif
rename to skins/i-nove/images/box.gif
diff --git a/i-nove/images/comment.gif b/skins/i-nove/images/comment.gif
similarity index 100%
rename from i-nove/images/comment.gif
rename to skins/i-nove/images/comment.gif
diff --git a/i-nove/images/commentpoint.png b/skins/i-nove/images/commentpoint.png
similarity index 100%
rename from i-nove/images/commentpoint.png
rename to skins/i-nove/images/commentpoint.png
diff --git a/i-nove/images/footer.jpg b/skins/i-nove/images/footer.jpg
similarity index 100%
rename from i-nove/images/footer.jpg
rename to skins/i-nove/images/footer.jpg
diff --git a/i-nove/images/header.jpg b/skins/i-nove/images/header.jpg
similarity index 100%
rename from i-nove/images/header.jpg
rename to skins/i-nove/images/header.jpg
diff --git a/i-nove/images/icons.gif b/skins/i-nove/images/icons.gif
similarity index 100%
rename from i-nove/images/icons.gif
rename to skins/i-nove/images/icons.gif
diff --git a/i-nove/images/light.gif b/skins/i-nove/images/light.gif
similarity index 100%
rename from i-nove/images/light.gif
rename to skins/i-nove/images/light.gif
diff --git a/i-nove/images/main_shadow.gif b/skins/i-nove/images/main_shadow.gif
similarity index 100%
rename from i-nove/images/main_shadow.gif
rename to skins/i-nove/images/main_shadow.gif
diff --git a/i-nove/images/menu.gif b/skins/i-nove/images/menu.gif
similarity index 100%
rename from i-nove/images/menu.gif
rename to skins/i-nove/images/menu.gif
diff --git a/i-nove/images/sidebar_shadow.gif b/skins/i-nove/images/sidebar_shadow.gif
similarity index 100%
rename from i-nove/images/sidebar_shadow.gif
rename to skins/i-nove/images/sidebar_shadow.gif
diff --git a/i-nove/images/sidesep.gif b/skins/i-nove/images/sidesep.gif
similarity index 100%
rename from i-nove/images/sidesep.gif
rename to skins/i-nove/images/sidesep.gif
diff --git a/i-nove/images/textfield.gif b/skins/i-nove/images/textfield.gif
similarity index 100%
rename from i-nove/images/textfield.gif
rename to skins/i-nove/images/textfield.gif
diff --git a/i-nove/images/widgetsep.png b/skins/i-nove/images/widgetsep.png
similarity index 100%
rename from i-nove/images/widgetsep.png
rename to skins/i-nove/images/widgetsep.png
diff --git a/i-nove/index.ftl b/skins/i-nove/index.ftl
similarity index 100%
rename from i-nove/index.ftl
rename to skins/i-nove/index.ftl
diff --git a/i-nove/lang/lang_en_US.properties b/skins/i-nove/lang/lang_en_US.properties
similarity index 100%
rename from i-nove/lang/lang_en_US.properties
rename to skins/i-nove/lang/lang_en_US.properties
diff --git a/i-nove/lang/lang_zh_CN.properties b/skins/i-nove/lang/lang_zh_CN.properties
similarity index 100%
rename from i-nove/lang/lang_zh_CN.properties
rename to skins/i-nove/lang/lang_zh_CN.properties
diff --git a/i-nove/macro-comments.ftl b/skins/i-nove/macro-comments.ftl
similarity index 97%
rename from i-nove/macro-comments.ftl
rename to skins/i-nove/macro-comments.ftl
index c66862a..158fcf9 100644
--- a/i-nove/macro-comments.ftl
+++ b/skins/i-nove/macro-comments.ftl
@@ -1,115 +1,115 @@
-<#macro comments commentList article>
-
+#if>
+#macro>
+
+<#macro comment_script oId>
+
+
#macro>
\ No newline at end of file
diff --git a/owmx-3.0/macro-head.ftl b/skins/owmx-3.0/macro-head.ftl
similarity index 100%
rename from owmx-3.0/macro-head.ftl
rename to skins/owmx-3.0/macro-head.ftl
diff --git a/owmx-3.0/page.ftl b/skins/owmx-3.0/page.ftl
similarity index 100%
rename from owmx-3.0/page.ftl
rename to skins/owmx-3.0/page.ftl
diff --git a/owmx-3.0/preview.png b/skins/owmx-3.0/preview.png
similarity index 100%
rename from owmx-3.0/preview.png
rename to skins/owmx-3.0/preview.png
diff --git a/owmx-3.0/side.ftl b/skins/owmx-3.0/side.ftl
similarity index 100%
rename from owmx-3.0/side.ftl
rename to skins/owmx-3.0/side.ftl
diff --git a/owmx-3.0/skin.properties b/skins/owmx-3.0/skin.properties
similarity index 100%
rename from owmx-3.0/skin.properties
rename to skins/owmx-3.0/skin.properties
diff --git a/owmx-3.0/tag-articles.ftl b/skins/owmx-3.0/tag-articles.ftl
similarity index 100%
rename from owmx-3.0/tag-articles.ftl
rename to skins/owmx-3.0/tag-articles.ftl
diff --git a/owmx-3.0/tags.ftl b/skins/owmx-3.0/tags.ftl
similarity index 100%
rename from owmx-3.0/tags.ftl
rename to skins/owmx-3.0/tags.ftl
diff --git a/timeline/article-list.ftl b/skins/timeline/article-list.ftl
similarity index 97%
rename from timeline/article-list.ftl
rename to skins/timeline/article-list.ftl
index 6a92778..58ece0e 100644
--- a/timeline/article-list.ftl
+++ b/skins/timeline/article-list.ftl
@@ -1,59 +1,59 @@
-
\ No newline at end of file
diff --git a/timeline/lang/lang_zh_CN.properties b/skins/timeline/lang/lang_zh_CN.properties
similarity index 98%
rename from timeline/lang/lang_zh_CN.properties
rename to skins/timeline/lang/lang_zh_CN.properties
index d2303b1..5afb7c9 100644
--- a/timeline/lang/lang_zh_CN.properties
+++ b/skins/timeline/lang/lang_zh_CN.properties
@@ -1,78 +1,78 @@
-#
-# Copyright (c) 2010-2017, b3log.org & hacpai.com
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# Description: Language configurations(zh_CN) for skin "timeline".
-# Version: 1.0.0.6, Jul 31, 2016
-# Author: Liyuan Li
-#
-searchLabel=\u641C\u7D22
-dynamicLabel=\u52A8\u6001
-moreLabel=\u66F4\u591A
-contentLabel=\u5168\u6587
-abstractLabel=\u6458\u8981
-viewCount1Label=\u6D4F\u89C8\u6B21\u6570\uFF1A
-articleCount1Label=\u6587\u7AE0\u603B\u6570\uFF1A
-commentCount1Label=\u8BC4\u8BBA\u603B\u6570\uFF1A
-allTagsLabel=\u6807\u7B7E\u5899
-updatedLabel=\u6709\u66F4\u65B0\uFF01
-topArticleLabel=\u7F6E\u9876\uFF01
-archiveLabel=\u5B58\u6863
-yearLabel=\u5E74
-monthLabel=\u6708
-recentArticlesLabel=\u6700\u65B0\u6587\u7AE0
-recentCommentsLabel=\u6700\u65B0\u8BC4\u8BBA
-mostCommentArticlesLabel=\u8BC4\u8BBA\u6700\u591A\u7684\u6587\u7AE0
-mostViewCountArticlesLabel=\u8BBF\u95EE\u6700\u591A\u7684\u6587\u7AE0
-popTagsLabel=\u5206\u7C7B\u6807\u7B7E
-linkLabel=\u53CB\u60C5\u94FE\u63A5
-indexLabel=\u9996\u9875
-sumLabel=\u5171
-pageLabel=\u9875
-adminLabel=\u7BA1\u7406
-logoutLabel=\u767B\u51FA
-loginLabel=\u767B\u5F55
-commentLabel=\u8BC4\u8BBA
-noCommentLabel=\u65E0\u8BC4\u8BBA
-viewLabel=\u6D4F\u89C8
-authorLabel=\u4F5C\u8005
-previousPageLabel=\u4E0A\u4E00\u9875
-nextPagePabel=\u4E0B\u4E00\u9875
-firstPageLabel=\u7B2C\u4E00\u9875
-lastPageLabel=\u6700\u540E\u4E00\u9875
-archive1Label=\u5B58\u6863\uFF1A
-author1Label=\u4F5C\u8005\uFF1A
-tagLabel=\u6807\u7B7E
-sorryLabel=\u5BF9\u4E0D\u8D77\uFF01
-notFoundLabel=\u627E\u4E0D\u5230\uFF01
-returnTo1Label=\u8FD4\u56DE\uFF1A
-replyLabel=\u56DE\u590D
-commentNameLabel=\u59D3\u540D
-commentEmailLabel=\u90AE\u7BB1
-commentURLLabel=URL
-submmitCommentLabel=\u63D0\u4EA4\u8BC4\u8BBA
-nameTooLongLabel=\u59D3\u540D\u53EA\u80FD\u4E3A 2 \u5230 20 \u4E2A\u5B57\u7B26\uFF01
-mailCannotEmptyLabel=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A\uFF01
-mailInvalidLabel=\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E\uFF01
-commentContentCannotEmptyLabel=\u8BC4\u8BBA\u5185\u5BB9\u53EA\u80FD\u4E3A 2 \u5230 500 \u4E2A\u5B57\u7B26\uFF01
-captchaCannotEmptyLabel=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF01
-loadingLabel=\u8F7D\u5165\u4E2D....
-relevantArticlesLabel=\u76F8\u5173\u9605\u8BFB
-randomArticlesLabel=\u968F\u673A\u9605\u8BFB
-externalRelevantArticlesLabel=\u7AD9\u5916\u76F8\u5173\u9605\u8BFB
-captchaErrorLabel=\u9A8C\u8BC1\u7801\u9519\u8BEF
-b3logLabel=B3LOG
-killBrowserLabel=
+#
+# Copyright (c) 2010-2017, b3log.org & hacpai.com
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# Description: Language configurations(zh_CN) for skin "timeline".
+# Version: 1.0.0.6, Jul 31, 2016
+# Author: Liyuan Li
+#
+searchLabel=\u641C\u7D22
+dynamicLabel=\u52A8\u6001
+moreLabel=\u66F4\u591A
+contentLabel=\u5168\u6587
+abstractLabel=\u6458\u8981
+viewCount1Label=\u6D4F\u89C8\u6B21\u6570\uFF1A
+articleCount1Label=\u6587\u7AE0\u603B\u6570\uFF1A
+commentCount1Label=\u8BC4\u8BBA\u603B\u6570\uFF1A
+allTagsLabel=\u6807\u7B7E\u5899
+updatedLabel=\u6709\u66F4\u65B0\uFF01
+topArticleLabel=\u7F6E\u9876\uFF01
+archiveLabel=\u5B58\u6863
+yearLabel=\u5E74
+monthLabel=\u6708
+recentArticlesLabel=\u6700\u65B0\u6587\u7AE0
+recentCommentsLabel=\u6700\u65B0\u8BC4\u8BBA
+mostCommentArticlesLabel=\u8BC4\u8BBA\u6700\u591A\u7684\u6587\u7AE0
+mostViewCountArticlesLabel=\u8BBF\u95EE\u6700\u591A\u7684\u6587\u7AE0
+popTagsLabel=\u5206\u7C7B\u6807\u7B7E
+linkLabel=\u53CB\u60C5\u94FE\u63A5
+indexLabel=\u9996\u9875
+sumLabel=\u5171
+pageLabel=\u9875
+adminLabel=\u7BA1\u7406
+logoutLabel=\u767B\u51FA
+loginLabel=\u767B\u5F55
+commentLabel=\u8BC4\u8BBA
+noCommentLabel=\u65E0\u8BC4\u8BBA
+viewLabel=\u6D4F\u89C8
+authorLabel=\u4F5C\u8005
+previousPageLabel=\u4E0A\u4E00\u9875
+nextPagePabel=\u4E0B\u4E00\u9875
+firstPageLabel=\u7B2C\u4E00\u9875
+lastPageLabel=\u6700\u540E\u4E00\u9875
+archive1Label=\u5B58\u6863\uFF1A
+author1Label=\u4F5C\u8005\uFF1A
+tagLabel=\u6807\u7B7E
+sorryLabel=\u5BF9\u4E0D\u8D77\uFF01
+notFoundLabel=\u627E\u4E0D\u5230\uFF01
+returnTo1Label=\u8FD4\u56DE\uFF1A
+replyLabel=\u56DE\u590D
+commentNameLabel=\u59D3\u540D
+commentEmailLabel=\u90AE\u7BB1
+commentURLLabel=URL
+submmitCommentLabel=\u63D0\u4EA4\u8BC4\u8BBA
+nameTooLongLabel=\u59D3\u540D\u53EA\u80FD\u4E3A 2 \u5230 20 \u4E2A\u5B57\u7B26\uFF01
+mailCannotEmptyLabel=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A\uFF01
+mailInvalidLabel=\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E\uFF01
+commentContentCannotEmptyLabel=\u8BC4\u8BBA\u5185\u5BB9\u53EA\u80FD\u4E3A 2 \u5230 500 \u4E2A\u5B57\u7B26\uFF01
+captchaCannotEmptyLabel=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF01
+loadingLabel=\u8F7D\u5165\u4E2D....
+relevantArticlesLabel=\u76F8\u5173\u9605\u8BFB
+randomArticlesLabel=\u968F\u673A\u9605\u8BFB
+externalRelevantArticlesLabel=\u7AD9\u5916\u76F8\u5173\u9605\u8BFB
+captchaErrorLabel=\u9A8C\u8BC1\u7801\u9519\u8BEF
+b3logLabel=B3LOG
+killBrowserLabel=
+#if>
+#macro>
+
+<#macro comment_script oId>
+
+
#macro>
\ No newline at end of file
diff --git a/tree-house/macro-head.ftl b/skins/tree-house/macro-head.ftl
similarity index 100%
rename from tree-house/macro-head.ftl
rename to skins/tree-house/macro-head.ftl
diff --git a/tree-house/page.ftl b/skins/tree-house/page.ftl
similarity index 100%
rename from tree-house/page.ftl
rename to skins/tree-house/page.ftl
diff --git a/tree-house/preview.png b/skins/tree-house/preview.png
similarity index 100%
rename from tree-house/preview.png
rename to skins/tree-house/preview.png
diff --git a/tree-house/side.ftl b/skins/tree-house/side.ftl
similarity index 100%
rename from tree-house/side.ftl
rename to skins/tree-house/side.ftl
diff --git a/tree-house/skin.properties b/skins/tree-house/skin.properties
similarity index 100%
rename from tree-house/skin.properties
rename to skins/tree-house/skin.properties
diff --git a/tree-house/tag-articles.ftl b/skins/tree-house/tag-articles.ftl
similarity index 100%
rename from tree-house/tag-articles.ftl
rename to skins/tree-house/tag-articles.ftl
diff --git a/tree-house/tags.ftl b/skins/tree-house/tags.ftl
similarity index 100%
rename from tree-house/tags.ftl
rename to skins/tree-house/tags.ftl
diff --git a/yilia/archive-articles.ftl b/skins/yilia/archive-articles.ftl
similarity index 100%
rename from yilia/archive-articles.ftl
rename to skins/yilia/archive-articles.ftl
diff --git a/yilia/archives.ftl b/skins/yilia/archives.ftl
similarity index 100%
rename from yilia/archives.ftl
rename to skins/yilia/archives.ftl
diff --git a/yilia/article-list.ftl b/skins/yilia/article-list.ftl
similarity index 100%
rename from yilia/article-list.ftl
rename to skins/yilia/article-list.ftl
diff --git a/yilia/article.ftl b/skins/yilia/article.ftl
similarity index 100%
rename from yilia/article.ftl
rename to skins/yilia/article.ftl
diff --git a/yilia/author-articles.ftl b/skins/yilia/author-articles.ftl
similarity index 100%
rename from yilia/author-articles.ftl
rename to skins/yilia/author-articles.ftl
diff --git a/yilia/category-articles.ftl b/skins/yilia/category-articles.ftl
similarity index 100%
rename from yilia/category-articles.ftl
rename to skins/yilia/category-articles.ftl
diff --git a/yilia/common-comment.ftl b/skins/yilia/common-comment.ftl
similarity index 100%
rename from yilia/common-comment.ftl
rename to skins/yilia/common-comment.ftl
diff --git a/yilia/css/fonts/icomoon.eot b/skins/yilia/css/fonts/icomoon.eot
similarity index 100%
rename from yilia/css/fonts/icomoon.eot
rename to skins/yilia/css/fonts/icomoon.eot
diff --git a/yilia/css/fonts/icomoon.svg b/skins/yilia/css/fonts/icomoon.svg
similarity index 100%
rename from yilia/css/fonts/icomoon.svg
rename to skins/yilia/css/fonts/icomoon.svg
diff --git a/yilia/css/fonts/icomoon.ttf b/skins/yilia/css/fonts/icomoon.ttf
similarity index 100%
rename from yilia/css/fonts/icomoon.ttf
rename to skins/yilia/css/fonts/icomoon.ttf
diff --git a/yilia/css/fonts/icomoon.woff b/skins/yilia/css/fonts/icomoon.woff
similarity index 100%
rename from yilia/css/fonts/icomoon.woff
rename to skins/yilia/css/fonts/icomoon.woff
diff --git a/yilia/css/fonts/selection.json b/skins/yilia/css/fonts/selection.json
similarity index 100%
rename from yilia/css/fonts/selection.json
rename to skins/yilia/css/fonts/selection.json
diff --git a/yilia/css/yilia.css b/skins/yilia/css/yilia.css
similarity index 100%
rename from yilia/css/yilia.css
rename to skins/yilia/css/yilia.css
diff --git a/yilia/css/yilia.min.css b/skins/yilia/css/yilia.min.css
similarity index 100%
rename from yilia/css/yilia.min.css
rename to skins/yilia/css/yilia.min.css
diff --git a/yilia/dynamic.ftl b/skins/yilia/dynamic.ftl
similarity index 100%
rename from yilia/dynamic.ftl
rename to skins/yilia/dynamic.ftl
diff --git a/yilia/footer.ftl b/skins/yilia/footer.ftl
similarity index 100%
rename from yilia/footer.ftl
rename to skins/yilia/footer.ftl
diff --git a/yilia/index.ftl b/skins/yilia/index.ftl
similarity index 100%
rename from yilia/index.ftl
rename to skins/yilia/index.ftl
diff --git a/yilia/js/yilia.js b/skins/yilia/js/yilia.js
similarity index 100%
rename from yilia/js/yilia.js
rename to skins/yilia/js/yilia.js
diff --git a/yilia/js/yilia.min.js b/skins/yilia/js/yilia.min.js
similarity index 100%
rename from yilia/js/yilia.min.js
rename to skins/yilia/js/yilia.min.js
diff --git a/yilia/lang/lang_en_US.properties b/skins/yilia/lang/lang_en_US.properties
similarity index 100%
rename from yilia/lang/lang_en_US.properties
rename to skins/yilia/lang/lang_en_US.properties
diff --git a/yilia/lang/lang_zh_CN.properties b/skins/yilia/lang/lang_zh_CN.properties
similarity index 100%
rename from yilia/lang/lang_zh_CN.properties
rename to skins/yilia/lang/lang_zh_CN.properties
diff --git a/yilia/links.ftl b/skins/yilia/links.ftl
similarity index 100%
rename from yilia/links.ftl
rename to skins/yilia/links.ftl
diff --git a/yilia/macro-comments.ftl b/skins/yilia/macro-comments.ftl
similarity index 100%
rename from yilia/macro-comments.ftl
rename to skins/yilia/macro-comments.ftl
diff --git a/yilia/macro-head.ftl b/skins/yilia/macro-head.ftl
similarity index 100%
rename from yilia/macro-head.ftl
rename to skins/yilia/macro-head.ftl
diff --git a/yilia/page.ftl b/skins/yilia/page.ftl
similarity index 100%
rename from yilia/page.ftl
rename to skins/yilia/page.ftl
diff --git a/yilia/preview.png b/skins/yilia/preview.png
similarity index 100%
rename from yilia/preview.png
rename to skins/yilia/preview.png
diff --git a/yilia/side.ftl b/skins/yilia/side.ftl
similarity index 100%
rename from yilia/side.ftl
rename to skins/yilia/side.ftl
diff --git a/yilia/skin.properties b/skins/yilia/skin.properties
similarity index 100%
rename from yilia/skin.properties
rename to skins/yilia/skin.properties
diff --git a/yilia/tag-articles.ftl b/skins/yilia/tag-articles.ftl
similarity index 100%
rename from yilia/tag-articles.ftl
rename to skins/yilia/tag-articles.ftl
diff --git a/yilia/tags.ftl b/skins/yilia/tags.ftl
similarity index 100%
rename from yilia/tags.ftl
rename to skins/yilia/tags.ftl