diff --git a/mongodb_backup/leanote_install_data/note_content_histories.bson b/mongodb_backup/leanote_install_data/note_content_histories.bson index bf3b097..9f31536 100644 Binary files a/mongodb_backup/leanote_install_data/note_content_histories.bson and b/mongodb_backup/leanote_install_data/note_content_histories.bson differ diff --git a/mongodb_backup/leanote_install_data/note_contents.bson b/mongodb_backup/leanote_install_data/note_contents.bson index 46e1803..1adb34a 100644 Binary files a/mongodb_backup/leanote_install_data/note_contents.bson and b/mongodb_backup/leanote_install_data/note_contents.bson differ diff --git a/mongodb_backup/leanote_install_data/notebooks.bson b/mongodb_backup/leanote_install_data/notebooks.bson index 383da8d..819f887 100644 Binary files a/mongodb_backup/leanote_install_data/notebooks.bson and b/mongodb_backup/leanote_install_data/notebooks.bson differ diff --git a/mongodb_backup/leanote_install_data/notes.bson b/mongodb_backup/leanote_install_data/notes.bson index 8f04d4d..576efd9 100644 Binary files a/mongodb_backup/leanote_install_data/notes.bson and b/mongodb_backup/leanote_install_data/notes.bson differ diff --git a/mongodb_backup/leanote_install_data/themes.bson b/mongodb_backup/leanote_install_data/themes.bson index 66b4da2..ac5f9e6 100644 Binary files a/mongodb_backup/leanote_install_data/themes.bson and b/mongodb_backup/leanote_install_data/themes.bson differ diff --git a/mongodb_backup/leanote_install_data/user_blogs.bson b/mongodb_backup/leanote_install_data/user_blogs.bson index ca7f022..597214b 100644 Binary files a/mongodb_backup/leanote_install_data/user_blogs.bson and b/mongodb_backup/leanote_install_data/user_blogs.bson differ diff --git a/public/blog/README.html b/public/blog/README.html deleted file mode 100644 index 2f4dc6b..0000000 --- a/public/blog/README.html +++ /dev/null @@ -1,5 +0,0 @@ -

博客的默认主题和一些公用的静态文件

- -

themes 是默认主题, 有3个

- -

用户自定义的主题不在这里, 在public/upload/userId/thmems下

diff --git a/public/blog/themes/backup/default/archive.html b/public/blog/themes/backup/default/archive.html deleted file mode 100644 index 6ce1278..0000000 --- a/public/blog/themes/backup/default/archive.html +++ /dev/null @@ -1,30 +0,0 @@ -{{template "header.html" .}} - -
-
-

归档 {{if $.curCateTitle}} - {{$.curCateTitle}}{{end}}

-
-
- -
-
    - {{range $.archives}} -
  • {{.Year}} -
      - {{range .Posts}} -
    • - {{.PublicTime|date}} {{.Title}} -
    • - {{end}} -
    -
  • - {{end}} -
-
-
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/cate.html b/public/blog/themes/backup/default/cate.html deleted file mode 100644 index cab0598..0000000 --- a/public/blog/themes/backup/default/cate.html +++ /dev/null @@ -1,41 +0,0 @@ -{{template "header.html" .}} - -
-
-

分类 - {{$.curCateTitle}}

-
-
- {{range $.posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} - | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}}. -
- {{end}} - - {{template "paging.html" $}} -
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/comment.html b/public/blog/themes/backup/default/comment.html deleted file mode 100644 index 319c667..0000000 --- a/public/blog/themes/backup/default/comment.html +++ /dev/null @@ -1,204 +0,0 @@ - -
-
- - {{if .blog.ReadNum}}{{.blog.ReadNum}}{{else}}1{{end}} {{msg . "viewers"}} -
-
-
- - - - - - {{if eq .locale "zh"}} -
- {{msg . "report"}} -
- {{end}} -
-
-
-
- - -{{if and .userBlog.CanComment (not (eq .userBlog.CommentType "disqus"))}} - - - - -
- {{if .visitUserInfo.UserId}} -
-
-
- -
-
- -
-
-
- -
-
- {{else}} -
- {{msg . "signIn"}}, {{msg . "submitComment"}}. -
- 没有帐号? {{msg . "signUp"}} -
- {{end}} -
- - {{.blog.CommentNum}} {{msg . "comments"}} - -
- -
- -
-
- More... -
-
- -
-
- -{{if eq .locale "zh"}} -
-
- - -

-
-
-{{end}} - -{{end}} - -{{if and $.blogInfo.OpenComment (eq $.blogInfo.CommentType "disqus")}} - -
- - - -comments powered by Disqus -{{end}} \ No newline at end of file diff --git a/public/blog/themes/backup/default/footer.html b/public/blog/themes/backup/default/footer.html deleted file mode 100644 index 985a548..0000000 --- a/public/blog/themes/backup/default/footer.html +++ /dev/null @@ -1,55 +0,0 @@ -
- {{$userId := .userBlog.UserId.Hex}} - -
- - - - - - diff --git a/public/blog/themes/backup/default/header.html b/public/blog/themes/backup/default/header.html deleted file mode 100644 index 228311f..0000000 --- a/public/blog/themes/backup/default/header.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - -{{.title}} - - - - - - - - - - - -
-
- - -
- - - -
- - \ No newline at end of file diff --git a/public/blog/themes/backup/default/highlight.html b/public/blog/themes/backup/default/highlight.html deleted file mode 100644 index 4b2c148..0000000 --- a/public/blog/themes/backup/default/highlight.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/images/leanote-icon.jpg b/public/blog/themes/backup/default/images/leanote-icon.jpg deleted file mode 100755 index ada2a2c..0000000 Binary files a/public/blog/themes/backup/default/images/leanote-icon.jpg and /dev/null differ diff --git a/public/blog/themes/backup/default/images/loading-32.gif b/public/blog/themes/backup/default/images/loading-32.gif deleted file mode 100644 index 9297c2d..0000000 Binary files a/public/blog/themes/backup/default/images/loading-32.gif and /dev/null differ diff --git a/public/blog/themes/backup/default/images/screenshot.png b/public/blog/themes/backup/default/images/screenshot.png deleted file mode 100644 index eea306e..0000000 Binary files a/public/blog/themes/backup/default/images/screenshot.png and /dev/null differ diff --git a/public/blog/themes/backup/default/index.html b/public/blog/themes/backup/default/index.html deleted file mode 100644 index c82c4d4..0000000 --- a/public/blog/themes/backup/default/index.html +++ /dev/null @@ -1,39 +0,0 @@ -{{template "header.html" .}} - -
- -
- {{range $.posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} - | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}}. -
- {{end}} - - {{template "paging.html" $}} -
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/noise.png b/public/blog/themes/backup/default/noise.png deleted file mode 100644 index 65ebef2..0000000 Binary files a/public/blog/themes/backup/default/noise.png and /dev/null differ diff --git a/public/blog/themes/backup/default/page.html b/public/blog/themes/backup/default/page.html deleted file mode 100644 index a92dda2..0000000 --- a/public/blog/themes/backup/default/page.html +++ /dev/null @@ -1 +0,0 @@ -aaaaaaaaaaaaaaaaaaa \ No newline at end of file diff --git a/public/blog/themes/backup/default/paging.html b/public/blog/themes/backup/default/paging.html deleted file mode 100644 index 329943f..0000000 --- a/public/blog/themes/backup/default/paging.html +++ /dev/null @@ -1,27 +0,0 @@ -{{if gt $.paging.TotalPage 1}} - - -{{if gt $.paging.CurPage 1}} - {{set . "prePageClass" ""}} - {{set . "prePageUrl" (urlConcat $.pagingBaseUrl "page" (incr $.paging.CurPage -1)) }} -{{else}} - {{set . "prePageClass" "disabled"}} - {{set . "prePageUrl" "#"}} -{{end}} - - -{{if lt $.paging.CurPage $.paging.TotalPage }} - {{set . "nextPageClass" ""}} - {{set . "nextPageUrl" (urlConcat $.pagingBaseUrl "page" (incr $.paging.CurPage 1)) }} -{{else}} - {{set . "nextPageClass" "disabled"}} - {{set . "nextPageUrl" "#"}} -{{end}} - -{{$.paging.CurPage}}/{{$.paging.TotalPage}} - - -{{end}} \ No newline at end of file diff --git a/public/blog/themes/backup/default/search.html b/public/blog/themes/backup/default/search.html deleted file mode 100644 index 318dadb..0000000 --- a/public/blog/themes/backup/default/search.html +++ /dev/null @@ -1,49 +0,0 @@ -{{template "header.html" .}} - -
-
-

搜索 - {{.keywords}}

-
- -
- {{range .posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}} -
- - - {{else}} -
- {{msg . "none"}} -
- {{end}} - - - {{template "paging.html" $}} - -
-
- -{{template "footer.html" .}} -{{template "blog/highlight.html"}} - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/single.html b/public/blog/themes/backup/default/single.html deleted file mode 100644 index bea24f5..0000000 --- a/public/blog/themes/backup/default/single.html +++ /dev/null @@ -1,52 +0,0 @@ -{{template "header.html" .}} - -
-
-
-
- {{.single.Title}} -
-
- {{msg . "updatedTime"}} {{$.single.UpdatedTime | datetime}} - | - {{msg . "createdTime"}} {{$.single.CreatedTime | datetime}} -
- - -
- {{ if $.blogInfo.UserLogo}} - - {{else}} - - {{end}} - {{$.blogInfo.Username}} -
- -
- {{$.single.Content | raw}} -
-
-
-
-{{template "footer.html" .}} - -{{template "highlight.html"}} -
-
- - {{msg . "blogNav"}} -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/style.css b/public/blog/themes/backup/default/style.css deleted file mode 100644 index 3d85523..0000000 --- a/public/blog/themes/backup/default/style.css +++ /dev/null @@ -1,528 +0,0 @@ -#posts img { - max-width: 100%; -} -#content * { - font-size: 16px; -} -#content h1 { - font-size: 30px; -} -#content h2 { - font-size: 24px; -} -#content h3 { - font-size: 18px; -} -#content h4 { - font-size: 14px; -} -@-webkit-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-moz-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-ms-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-webkit-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@-moz-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@-ms-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -a, -.btn { - -webkit-transition: all 0.2s ease; - -moz-transition: all 0.2s ease; - transition: all 0.2s ease; -} -.btn:focus { - outline: none; -} -ul.dropdown-menu { - box-shadow: rgba(0, 0, 0, 0.172549) 0px 6px 12px 0px; -} -ul.dropdown-menu:before { - content: ""; - width: 20px; - height: 12px; - position: absolute; - top: -12px; - right: 20px; - background-image: url("../../images/triangle_2x.png"); - background-size: 20px 12px; -} -ul.dropdown-menu { - display: block; - visibility: hidden; - opacity: 0; -} -.open ul.dropdown-menu { - -webkit-animation: pulldown .2s; - animation: pulldown .2s; - visibility: visible; - opacity: 1; -} -.created-time .fa { - color: #666; -} -#blogNav { - display: none; - background-color: #fff; - opacity: 0.7; - position: fixed; - z-index: 10; - padding: 3px; - border-radius: 3px; -} -#blogNavContent { - overflow-y: auto; - max-height: 250px; - display: none; - -webkit-overflow-scrolling: touch !important; -} -#blogNavNav { - cursor: pointer; -} -#blogNav a { - color: #666; -} -#blogNav:hover { - opacity: 0.9; -} -#blogNav a:hover { - color: #0fb264; -} -#blogNav ul { - padding-left: 20px; -} -#blogNav ul .nav-h2 { - margin-left: 20px; -} -#blogNav ul .nav-h3 { - margin-left: 30px; -} -#blogNav ul .nav-h4 { - margin-left: 40px; -} -#blogNav ul .nav-h5 { - margin-left: 50px; -} -.mobile-created-time { - display: none; -} -#footer { - padding-bottom: 10px; -} -.navbar-brand { - display: none; -} -#themeList label { - text-align: center; - margin-bottom: 5px; -} -#themeList .preview { - display: block; - width: 400px; - background: #fff; - border: 1px solid #ccc; - padding: 5px; - border-radius: 5px; -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url('../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: local('Open Sans'), local('OpenSans'), url('../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff'); -} -/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/ -::selection { - background: #000000; - color: #ffffff; -} -::-moz-selection { - background: #000000; - color: #ffffff; -} -::-webkit-selection { - background: #000000; - color: #ffffff; -} -*, -body { - font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; - font-weight: 300; - font-size: 14px; -} -h1, -h2, -h3 { - font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; - font-weight: 300 !important; -} -a { - cursor: pointer; -} -a:hover { - text-decoration: none !important; -} -#headerContainer { - height: 100px; - background-color: #fff; -} -#posts { - width: 845px; - margin: auto; -} -#postsContainer { - background: #f5f5f5 url("../../images/noise.png"); - padding-bottom: 5px; -} -/* header */ -#header { - color: #000000; - position: relative; - padding: 0 0 20px 0; - margin-top: 15px; -} -#header h1 { - margin: 0; - font-size: 32px; -} -#header h1 a { - color: #000000; - font-size: 32px; -} -#header h1 a img { - height: 40px; -} -#header #blogDesc { - margin-top: 10px; -} -.navbar { - margin-bottom: 0; - border-radius: 0; - border: none; -} -.navbar-collapse { - padding-left: 0; - padding-right: 0; -} -.navbar-form { - padding: 0; -} -/* posts */ -#posts { - padding-top: 10px; -} -#posts .each-post { - border-bottom: 1px solid #ebeff2; - margin-bottom: 10px; - padding: 30px; - background-color: #fff; - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - border-radius: 3px; -} -#posts .each-post .title { - font-size: 32px; - color: #0fb264; - padding: 0 0 15px 0; -} -#posts .each-post .title a { - font-size: 32px; - color: #0fb264; - padding: 0 0 15px 0; -} -#posts .each-post .created-time { - border-bottom: 1px solid #eee; - padding-bottom: 3px; - margin-bottom: 5px; -} -#posts .each-post .more { - background: #0fb264; - padding: 9px 10px; - border-radius: 2px; - line-height: 1; - font-size: 13px; - display: inline-block; - text-transform: uppercase; - margin-top: 15px; - margin-bottom: 15px; - color: #fff; -} -#disqus_thread { - border-top: 1px solid #eee; - padding: 5px 0 0 0; -} -#search { - width: 200px; -} -#footerContainer { - background-color: #ffffff; - color: #666666; -} -#footerContainer #footer a { - color: #666666; -} -#footerContainer #footer ul { - list-style: none; - margin: 0; - padding-left: 20px; -} -@media screen and (max-width: 600px) { - html, - body { - overflow-x: hidden; - background-color: #fbfcf7; - } - * { - font-size: 16px; - } - #headerContainer, - #footerContainer { - background-color: #fbfcf7; - margin: 10px 0; - } - #posts .each-post, - #postsContainer { - background-color: #fbfcf7 !important; - } - img { - max-width: 100%; - } - #posts .each-post { - padding: 10px; - } - #posts .each-post .title { - font-size: 24px; - border-left: 5px solid #65bd77; - font-weight: bold; - padding: 5px 0; - padding-left: 10px; - margin-bottom: 10px; - } - .container { - padding-right: 10px; - padding-left: 10px; - } - .created-time { - display: none; - } - .mobile-created-time { - display: block; - } - .mobile-created-time #userLogo { - display: inline-block; - max-height: 40px; - width: 40px; - border-radius: 50%; - } - #content { - margin-top: 10px; - } - .right-section .dropdown, - .right-section .btn { - display: none !important; - } - #blogNav { - left: initial !important; - right: 10px !important; - } - #postsContainer .container, - #footerContainer .container { - max-width: 100%; - } - #postsContainer { - margin: 0 !important; - max-width: 100%; - padding-top: 10px; - background: #f5f5f5 url("../../images/noise.png"); - } - #posts { - max-width: 100% !important; - } - #footerContainer #footer a { - padding: 3px; - } - #footerContainer #footer a:hover, - #footerContainer #footer a:focus { - color: #65bd77; - } - #headerAndNav { - position: initial; - text-align: left; - width: 100%; - border-bottom: 2px dashed #ebeff2; - } - #headerAndNav #headerContainer { - width: 100%; - height: auto; - padding-top: 30px; - } - #headerAndNav #header { - margin: 0; - padding: 0; - } - #headerAndNav #header h1 { - display: none; - } - #headerAndNav .navbar-collapse { - overflow-x: hidden; - } - #headerAndNav #blogDesc { - border: none; - margin-top: 20px; - font-size: 24px; - } - #headerAndNav .navbar-brand { - display: inline-block; - line-height: 50px; - padding: 0; - padding-left: 10px; - } - #headerAndNav .navbar-brand img { - height: 40px; - } - #headerAndNav .navbar .container { - width: auto; - padding: 0 15px; - } - #headerAndNav .navbar { - position: fixed; - top: 0; - right: 0; - left: 0; - background: #fbfcf7; - z-index: 1000; - border-bottom: 1px solid #DEDDDF; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), inset 0 1px 0 #ffffff; - background-color: #FDFFF5; - } - #headerAndNav .navbar-nav { - margin: 0 10px; - } - #headerAndNav .navbar-nav a { - padding-left: 10px; - border-radius: 5px; - } - #headerAndNav #search { - width: 100%; - margin: 10px; - } - #headerAndNav .navbar-form { - border: none; - } - #myTab, - .tab-content { - padding: 0 10px; - } -} diff --git a/public/blog/themes/backup/default/tag_posts.html b/public/blog/themes/backup/default/tag_posts.html deleted file mode 100644 index 9b91d94..0000000 --- a/public/blog/themes/backup/default/tag_posts.html +++ /dev/null @@ -1,47 +0,0 @@ -{{template "header.html" .}} - -
-
-

标签 - {{.curTag}}

-
- -
- {{range .posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}} -
- {{else}} -
- {{msg . "none"}} -
- {{end}} - - - {{template "paging.html" $}} - -
-
- -{{template "footer.html" .}} -{{template "blog/highlight.html"}} - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/tags.html b/public/blog/themes/backup/default/tags.html deleted file mode 100644 index fa0a60c..0000000 --- a/public/blog/themes/backup/default/tags.html +++ /dev/null @@ -1,26 +0,0 @@ -{{template "header.html" .}} - -
-
-

标签

-
-
- -
- -
-
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/theme.json b/public/blog/themes/backup/default/theme.json deleted file mode 100644 index 27e971c..0000000 --- a/public/blog/themes/backup/default/theme.json +++ /dev/null @@ -1,27 +0,0 @@ -/* -以下是本主题的配置, 采用JSON格式 -其中Name, Version, Author, AuthorUrl是必填项(注意首字大写) -你也可以定义其它的配置, 如FriendLinks, 在模板文件使用 $.themeInfo.FriendLinks来获取值 - -注意: -1) JSON语法严格, 键必须用双引号, 最后不得有空','来结尾 -2) 以下配置不能包含任何注释, 不然解析会出错! - -请在此解析所有配置 -* Name 主题名 -* Version 主题版本 -* Author 主题的作者 -* AuthorUrl 作者的博客链接或相关链接 - -* FriendLinks 友情链接 - -*/ -{ - "Name": "leanote default theme", - "Version": "1.0", - "Author": "leanote.com", - "AuthorUrl": "http://leanote.com", - "FriendLinks": [ - {"Title": "leanote", "Url": "http://leanote.com"} - ] -} \ No newline at end of file diff --git a/public/blog/themes/backup/default/view.html b/public/blog/themes/backup/default/view.html deleted file mode 100644 index f98f66e..0000000 --- a/public/blog/themes/backup/default/view.html +++ /dev/null @@ -1,140 +0,0 @@ -{{template "header.html" .}} - -
-
-
-
- {{.post.Title}} -
-
- - {{if .post.Tags}} - {{blogTags $ .post.Tags}} - {{else}} - {{msg . "noTag"}} - {{end}} - | - {{msg . "updatedTime"}} {{$.post.UpdatedTime | datetime}} - | - {{msg . "createdTime"}} {{$.post.CreatedTime | datetime}} -
- - -
- {{ if $.blogInfo.UserLogo}} - - {{else}} - - {{end}} - {{$.blogInfo.Username}} - - {{if .post.Tags}} -   - - {{blogTags $ $.post.Tags}} - {{end}} -
- -
- {{if $.post.IsMarkdown }} - -
- -
- {{else}} - {{$.post.Content | raw}} - {{end}} -
- -
-

- 上一篇: {{if $.prePost}}{{$.prePost.Title}}{{else}}无{{end}} -

-

- 下一篇: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}无{{end}} -

-
- - - {{template "comment.html" $}} -
-
-
-{{template "footer.html" .}} - -{{template "highlight.html"}} -
-
- - {{msg . "blogNav"}} -
-
-
-
- - - - - - - - - - - - - - - - -{{if $.post.IsMarkdown }} - - - - - - - - - - - - - -{{else}} - -{{end}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/default/view.js b/public/blog/themes/backup/default/view.js deleted file mode 100644 index 8bb7b09..0000000 --- a/public/blog/themes/backup/default/view.js +++ /dev/null @@ -1,509 +0,0 @@ -function scrollTo(self, tagName, text) { - var iframe = $("#content"); - var target = iframe.find(tagName + ":contains(" + text + ")"); - - // 找到是第几个 - // 在nav是第几个 - var navs = $('#blogNavContent [data-a="' + tagName + '-' + encodeURI(text) + '"]'); - var len = navs.size(); - for(var i = 0; i < len; ++i) { - if(navs[i] == self) { - break; - } - } - - if (target.size() >= i+1) { - target = target.eq(i); - // 之前插入, 防止多行定位不准 - var top = target.offset().top; - if(LEA.isMobile) { - top -= 50; - } - var nowTop = $(document).scrollTop(); - // 用$("body").scrllTop(10)没反应 firefox下 - $('html,body').animate({scrollTop: top}, 200); - return; - } -} -function genNav() { - var $con = $("#content"); - var html = $con.html(); - // 构造一棵树 - // {"h1-title":{h2-title:{}}} - var tree = [];//[{title: "xx", children:[{}]}, {title:"xx2"}]; - var hs = $con.find("h1,h2,h3,h4,h5,h6").toArray(); - var titles = '"; - $("#blogNavContent").html(titles); - if(!hs.length) { - $("#blogNavContent").html(getMsg("none")); - return false; - } - return true; -} - -function initNav() { - var hasNav = genNav(); - if(!hasNav) { - return; - } - - var $title = $(".title"); - var titlePos = $title.offset(); - var top = titlePos.top + 10;// - $title.height(); - // 手机下不要与标题在同一高度 - if(LEA.isMobile){ - top += 30; - } - if(top < 0) { - top = 10; - } - - var left = $title.width() + titlePos.left - 100; - $("#blogNav").css("top", top).css("left", left); - $("#blogNav").show(); - - $("#blogNavNav").click(function() { - var $o = $("#blogNavContent"); - if($o.is(":hidden")) { - $o.show(); - } else { - $o.hide(); - } - }); - - var $d = $(document); - function reNav() { - var vtop = $d.scrollTop(); - if(vtop <= top) { - $("#blogNav").css("top", top-vtop); - } else { - // 差距很磊了 - if(LEA.isMobile) { - $("#blogNav").css("top", 50); - } else { - $("#blogNav").css("top", 10); - } - } - } - reNav(); - $(window).scroll(reNav); -} - -var C = { - info: null, - noteId: noteId, - preLikeNum: preLikeNum, - commentNum: commentNum, - likeBtnO: $("#likeBtn"), - likeNumO: $("#likeNum"), - tLikersO: $("#tLikers"), - likersO: $("#likers"), - tCommentsO: $("#tComments"), - commentsO: $("#comments"), - - commentBtnO: $("#commentBtn"), - - commentsLoadingO: $(".comments-loading"), - commentsMoreO: $(".comments-more"), - - commentBoxO: $(".comment-box"), - init: function() { - var self = this; - if(UserBlogInfo.CanComment && UserBlogInfo.CommentType != "disqus") { - self.initLikeAndComments(); - } else { - self.initLike(); - } - self.initEvent(); - self.incReadNum(); - }, - incReadNum: function() { - var self = this; - if(!$.cookie(self.noteId)) { - $.cookie(self.noteId, 1); - ajaxGet(staticUrl + "/blog/incReadNum", {noteId: self.noteId}); - } - }, - initLike: function() { - var self = this; - ajaxGet(staticUrl + "/blog/getLike", {noteId: self.noteId}, function(ret) { - self.info = ret; - self.toggleLikeBtnActive(); - self.renderLikers(); - }); - }, - initLikeAndComments: function() { - var self = this; - ajaxGet(staticUrl + "/blog/getLikeAndComments", {noteId: self.noteId}, function(ret) { - self.info = ret; - self.toggleLikeBtnActive(); - self.renderLikers(); - // 是否需要renderComments? - self.info.commentUserInfo = self.info.commentUserInfo || {}; - // 为了防止第一条评论找不到用户信息情况 - if(visitUserInfo.UserId) { - self.info.commentUserInfo[visitUserInfo.UserId] = visitUserInfo; - } - self.renderComments(); - - self.commentBoxO.removeClass("hide"); - self.commentsLoadingO.addClass("hide"); - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.removeClass("hide"); - self.initMoreComments(); - } - }); - }, - initMoreComments: function() { - var self = this; - self.commentsMoreO.find("a").click(function(){ - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.addClass("hide"); - self.commentsLoadingO.removeClass("hide"); - ajaxGet(staticUrl + "/blog/listComments", {noteId: self.noteId, page: self.info.pageInfo.CurPage+1}, function(ret) { - var pageInfo = ret.pageInfo; - var comments = ret.comments; - var commentUserInfo = ret.commentUserInfo; - - $.extend(self.info.commentUserInfo, commentUserInfo); - - // 渲染之 - for(var i in comments) { - var comment = comments[i]; - comment = self.parseComment(comment); - } - var html = self.tCommentsO.render({comments: comments, visitUserInfo: visitUserInfo}); - self.commentsO.append(html); - - self.info.pageInfo = pageInfo; - - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.removeClass("hide"); - } else { - self.commentsMoreO.addClass("hide"); - } - - self.commentsLoadingO.addClass("hide"); - }); - } - }); - }, - addCommentRender: function(comment){ - var self = this; - comment = self.parseComment(comment); - var html = self.tCommentsO.render({blogUrl: blogUrl, comments: [comment], visitUserInfo: visitUserInfo}); - self.commentsO.prepend(html); - var li = self.commentsO.find("li").eq(0); - li.hide(); - li.show(500); - li.addClass("item-highlight"); - setTimeout(function() { - li.removeClass("item-highlight"); - }, 2000); - }, - parseComment: function(comment) { - var self = this; - var authorUserId = UserInfo.UserId; - commentUserInfo = self.info.commentUserInfo; - comment.UserInfo = commentUserInfo[comment.UserId]; - // 是作者自己 - if(visitUserInfo.UserId == UserInfo.UserId) { - comment.IsMyNote = true; - } - if(comment.UserId == authorUserId) { - comment.IsAuthorComment = true; - } - if(comment.UserId == visitUserInfo.UserId) { - comment.IsMyComment = true; - } - // 不是回复自己 - if(comment.ToUserId && comment.ToUserId != comment.UserId) { - comment.ToUserInfo = commentUserInfo[comment.ToUserId]; - if(comment.ToUserInfo.UserId == UserInfo.UserId) { - comment.ToUserIsAuthor = true; - } - } - comment.PublishDate = getDateDiff(Date.parse(goNowToDatetime(comment.CreatedTime))); - return comment; - }, - // 渲染评论 - renderComments: function() { - var self = this; - var comments = self.info.comments || []; - if(comments.length == 0) { - return; - } - - // 整理数据 - // 回复谁, 是否是作者? - // 回复日期, 几天前, 刚刚 - for(var i in comments) { - var comment = comments[i]; - comment = self.parseComment(comment); - } - var html = self.tCommentsO.render({blogUrl: blogUrl, comments: comments, visitUserInfo: visitUserInfo}); - self.commentsO.html(html); - }, - - // 重新渲染likers - reRenderLikers: function(addMe) { - var self = this; - var likedUsers = self.info.likedUsers || []; - for(var i = 0; i < likedUsers.length; ++i) { - var user = likedUsers[i]; - if(user.UserId == visitUserInfo.UserId) { - likedUsers.splice(i, 1); - break; - } - } - if(addMe) { - likedUsers = [visitUserInfo].concat(likedUsers); - self.info.likedUsers = likedUsers; - } - self.renderLikers(); - }, - renderLikers: function() { - var self = this; - var users = self.info.likedUsers || []; - var html = self.tLikersO.render({blogUrl: blogUrl, users: users}); - self.likersO.html(html); - }, - toggleLikeBtnActive: function() { - var self = this; - if(self.info.isILikeIt) { - self.likeBtnO.addClass("active"); - } else { - self.likeBtnO.removeClass("active"); - } - }, - commentNumO: $("#commentNum"), - bindCommentNum: function(fix) { - var self = this; - self.commentNum += fix; - self.commentNumO.text(self.commentNum); - }, - initEvent: function() { - var self = this; - - // like or not - self.likeBtnO.click(function() { - if(!visitUserInfo.UserId) { - needLogin(); - return; - } - ajaxPost(staticUrl + "/blog/likeBlog", {noteId: self.noteId}, function(ret) { - if(ret.Ok) { - // like - if(ret.Item) { - var num = self.preLikeNum+1; - } else { - var num = self.preLikeNum-1; - } - self.preLikeNum = num >= 0 ? num : 0; - self.likeNumO.text(self.preLikeNum); - self.info.isILikeIt = ret.Item; - self.toggleLikeBtnActive(); - - // 重新render likers - // 我是否在列表中 - self.reRenderLikers(ret.Item); - } - }); - }); - - // 显示回复回复 - $("#comments").on("click", ".comment-reply", function() { - var form = $(this).closest("li").find("form"); - if(form.is(":hidden")) { - form.show(); - form.find("textarea").focus(); - } else { - form.hide(); - } - }); - $("#comments").on("click", ".reply-cancel", function() { - $(this).closest("form").hide(); - }); - - // 回复 - $(".comment-box").on("click", ".reply-comment-btn", function(e) { - e.preventDefault(); - var commentId = $(this).data("comment-id"); - var $form = $(this).closest("form"); - var $content = $form.find("textarea"); - var content = $.trim($content.val()); - if(!content) { - $content.focus(); - return; - } - var t = $(this); - t.button("loading"); - var data = {noteId: self.noteId, toCommentId: commentId, content: content}; - ajaxPost(staticUrl + "/blog/comment", data, function(ret) { - t.button("reset"); - $content.val(""); - self.bindCommentNum(1); - if(commentId) { - $form.hide(); - } - - if(commentId) { - scrollToTarget("#comments", -200); - } - - // 添加一个 - self.addCommentRender(ret.Item); - }); - }); - - // 删除 - $(".comment-box").on("click", ".comment-trash", function(e) { - var commentId = $(this).parent().data("comment-id"); - var t = this; - BootstrapDialog.confirm(getMsg("confirmDeleteComment"), function(yes) { - if(yes) { - ajaxPost(staticUrl + "/blog/deleteComment", {noteId: self.noteId, commentId: commentId}, function(ret) { - if(ret.Ok) { - var li = $(t).closest("li"); - li.hide(500); // remove(); - setTimeout(function() { - li.remove(); - }, 300); - - self.bindCommentNum(-1); - } - }); - } - }); - }); - - // 点zan - $(".comment-box").on("click", ".comment-like", function(e) { - var commentId = $(this).parent().data("comment-id"); - var t = this; - - ajaxPost(staticUrl + "/blog/likeComment", {commentId: commentId}, function(re) { - if(re.Ok) { - var ret = re.Item; - if(ret.Num <= 0) { - $(t).parent().find(".like-num").addClass("hide"); - } else { - $(t).parent().find(".like-num").removeClass("hide"); - $(t).parent().find(".like-num-i").text(ret.Num) - } - if(ret.IsILikeIt) { - $(t).find(".like-text").text(getMsg("unlike")); - } else { - $(t).find(".like-text").text(getMsg('like')); - } - } - }); - }); - - // 举报 - function report(commentId, noteId, title) { - var form = $("#reportMsg").html(); - var body; - var input; - var isOver = false; - var modal = BootstrapDialog.show({ - title: title, - message: form, - nl2br: false, - buttons: [{ - label: getMsg("cancel"), - action: function(dialog) { - dialog.close(); - } - }, { - label: getMsg("confirm"), - cssClass: 'btn-primary', - action: function(dialog) { - if(isOver) { - dialog.close(); - } - var val = body.find("input[type='radio']:checked").val(); - if(!val) { - var val = body.find(".input-container input").val(); - } - if(!val) { - body.find(".footnote").html(getMsg("chooseReason")); - return; - } - ajaxPost(staticUrl + "/blog/report", {commentId: commentId, noteId: noteId, reason: val}, function(re) { - isOver = true; - if(reIsOk(re)) { - body.html(getMsg("reportSuccess")); - } else { - body.html(getMsg("error")); - } - setTimeout(function() { - dialog.close(); - }, 3000); - }); - } - }] - }); - body = modal.getModalBody(); - input = body.find(".input-container"); - body.find("input[type='radio']").click(function(){ - if(!$(this).val()) { - input.show(); - input.find("input").focus(); - } else { - input.hide(); - } - }); - } - $(".comment-box").on("click", ".comment-report", function() { - if(needLogin()) { - return; - } - var commentId = $(this).parent().data("comment-id"); - report(commentId, self.noteId, getMsg("reportComment?")); - }); - $("#reportBtn").click(function() { - if(needLogin()) { - return; - } - report("", self.noteId, getMsg("reportBlog?")); - }); - - self.initShare(); - }, - weixinQRCodeO: $("#weixinQRCode"), - initShare: function() { - var self = this; - $(".btn-weixin").click(function() { - if(!self.weixinQRCodeO.html()) { - self.weixinQRCodeO.qrcode(viewUrl + "/" + self.noteId); - } - BootstrapDialog.show({ - title: getMsg('scanQRCode'), - message: self.weixinQRCodeO - }); - }); - - $(".btn-share").click(function() { - var $this = $(this); - var map = {"btn-weibo": shareSinaWeibo, "tencent-weibo": shareTencentWeibo, "qq": shareQQ, "renren": shareRenRen}; - for(var i in map) { - if($this.hasClass(i)) { - map[i](self.noteId, document.title); - break; - } - } - }); - } -} - -$(function() { - C.init(); -}); \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/archive.html b/public/blog/themes/backup/elegant/archive.html deleted file mode 100644 index 6ce1278..0000000 --- a/public/blog/themes/backup/elegant/archive.html +++ /dev/null @@ -1,30 +0,0 @@ -{{template "header.html" .}} - -
-
-

归档 {{if $.curCateTitle}} - {{$.curCateTitle}}{{end}}

-
-
- -
-
    - {{range $.archives}} -
  • {{.Year}} -
      - {{range .Posts}} -
    • - {{.PublicTime|date}} {{.Title}} -
    • - {{end}} -
    -
  • - {{end}} -
-
-
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/cate.html b/public/blog/themes/backup/elegant/cate.html deleted file mode 100644 index cab0598..0000000 --- a/public/blog/themes/backup/elegant/cate.html +++ /dev/null @@ -1,41 +0,0 @@ -{{template "header.html" .}} - -
-
-

分类 - {{$.curCateTitle}}

-
-
- {{range $.posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} - | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}}. -
- {{end}} - - {{template "paging.html" $}} -
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/comment.html b/public/blog/themes/backup/elegant/comment.html deleted file mode 100644 index 319c667..0000000 --- a/public/blog/themes/backup/elegant/comment.html +++ /dev/null @@ -1,204 +0,0 @@ - -
-
- - {{if .blog.ReadNum}}{{.blog.ReadNum}}{{else}}1{{end}} {{msg . "viewers"}} -
-
-
- - - - - - {{if eq .locale "zh"}} -
- {{msg . "report"}} -
- {{end}} -
-
-
-
- - -{{if and .userBlog.CanComment (not (eq .userBlog.CommentType "disqus"))}} - - - - -
- {{if .visitUserInfo.UserId}} -
-
-
- -
-
- -
-
-
- -
-
- {{else}} -
- {{msg . "signIn"}}, {{msg . "submitComment"}}. -
- 没有帐号? {{msg . "signUp"}} -
- {{end}} -
- - {{.blog.CommentNum}} {{msg . "comments"}} - -
- -
- -
-
- More... -
-
- -
-
- -{{if eq .locale "zh"}} -
-
- - -

-
-
-{{end}} - -{{end}} - -{{if and $.blogInfo.OpenComment (eq $.blogInfo.CommentType "disqus")}} - -
- - - -comments powered by Disqus -{{end}} \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/footer.html b/public/blog/themes/backup/elegant/footer.html deleted file mode 100644 index 985a548..0000000 --- a/public/blog/themes/backup/elegant/footer.html +++ /dev/null @@ -1,55 +0,0 @@ -
- {{$userId := .userBlog.UserId.Hex}} - -
- - - - - - diff --git a/public/blog/themes/backup/elegant/header.html b/public/blog/themes/backup/elegant/header.html deleted file mode 100644 index af0c4e2..0000000 --- a/public/blog/themes/backup/elegant/header.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - -我的博客 - - - - - - - - - - - -
-
- - -
- - - -
- - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/highlight.html b/public/blog/themes/backup/elegant/highlight.html deleted file mode 100644 index 4b2c148..0000000 --- a/public/blog/themes/backup/elegant/highlight.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/images/loading-32.gif b/public/blog/themes/backup/elegant/images/loading-32.gif deleted file mode 100644 index 9297c2d..0000000 Binary files a/public/blog/themes/backup/elegant/images/loading-32.gif and /dev/null differ diff --git a/public/blog/themes/backup/elegant/images/screenshot.png b/public/blog/themes/backup/elegant/images/screenshot.png deleted file mode 100644 index b6d8841..0000000 Binary files a/public/blog/themes/backup/elegant/images/screenshot.png and /dev/null differ diff --git a/public/blog/themes/backup/elegant/index.html b/public/blog/themes/backup/elegant/index.html deleted file mode 100644 index c82c4d4..0000000 --- a/public/blog/themes/backup/elegant/index.html +++ /dev/null @@ -1,39 +0,0 @@ -{{template "header.html" .}} - -
- -
- {{range $.posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} - | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}}. -
- {{end}} - - {{template "paging.html" $}} -
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/page.html b/public/blog/themes/backup/elegant/page.html deleted file mode 100644 index a92dda2..0000000 --- a/public/blog/themes/backup/elegant/page.html +++ /dev/null @@ -1 +0,0 @@ -aaaaaaaaaaaaaaaaaaa \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/paging.html b/public/blog/themes/backup/elegant/paging.html deleted file mode 100644 index 329943f..0000000 --- a/public/blog/themes/backup/elegant/paging.html +++ /dev/null @@ -1,27 +0,0 @@ -{{if gt $.paging.TotalPage 1}} - - -{{if gt $.paging.CurPage 1}} - {{set . "prePageClass" ""}} - {{set . "prePageUrl" (urlConcat $.pagingBaseUrl "page" (incr $.paging.CurPage -1)) }} -{{else}} - {{set . "prePageClass" "disabled"}} - {{set . "prePageUrl" "#"}} -{{end}} - - -{{if lt $.paging.CurPage $.paging.TotalPage }} - {{set . "nextPageClass" ""}} - {{set . "nextPageUrl" (urlConcat $.pagingBaseUrl "page" (incr $.paging.CurPage 1)) }} -{{else}} - {{set . "nextPageClass" "disabled"}} - {{set . "nextPageUrl" "#"}} -{{end}} - -{{$.paging.CurPage}}/{{$.paging.TotalPage}} - - -{{end}} \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/search.html b/public/blog/themes/backup/elegant/search.html deleted file mode 100644 index 318dadb..0000000 --- a/public/blog/themes/backup/elegant/search.html +++ /dev/null @@ -1,49 +0,0 @@ -{{template "header.html" .}} - -
-
-

搜索 - {{.keywords}}

-
- -
- {{range .posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}} -
- - - {{else}} -
- {{msg . "none"}} -
- {{end}} - - - {{template "paging.html" $}} - -
-
- -{{template "footer.html" .}} -{{template "blog/highlight.html"}} - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/single.html b/public/blog/themes/backup/elegant/single.html deleted file mode 100644 index bea24f5..0000000 --- a/public/blog/themes/backup/elegant/single.html +++ /dev/null @@ -1,52 +0,0 @@ -{{template "header.html" .}} - -
-
-
-
- {{.single.Title}} -
-
- {{msg . "updatedTime"}} {{$.single.UpdatedTime | datetime}} - | - {{msg . "createdTime"}} {{$.single.CreatedTime | datetime}} -
- - -
- {{ if $.blogInfo.UserLogo}} - - {{else}} - - {{end}} - {{$.blogInfo.Username}} -
- -
- {{$.single.Content | raw}} -
-
-
-
-{{template "footer.html" .}} - -{{template "highlight.html"}} -
-
- - {{msg . "blogNav"}} -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/style.css b/public/blog/themes/backup/elegant/style.css deleted file mode 100644 index ad2d804..0000000 --- a/public/blog/themes/backup/elegant/style.css +++ /dev/null @@ -1,542 +0,0 @@ -#posts img { - max-width: 100%; -} -#content * { - font-size: 16px; -} -#content h1 { - font-size: 30px; -} -#content h2 { - font-size: 24px; -} -#content h3 { - font-size: 18px; -} -#content h4 { - font-size: 14px; -} -@-webkit-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-moz-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-ms-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-webkit-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@-moz-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@-ms-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -a, -.btn { - -webkit-transition: all 0.2s ease; - -moz-transition: all 0.2s ease; - transition: all 0.2s ease; -} -.btn:focus { - outline: none; -} -ul.dropdown-menu { - box-shadow: rgba(0, 0, 0, 0.172549) 0px 6px 12px 0px; -} -ul.dropdown-menu:before { - content: ""; - width: 20px; - height: 12px; - position: absolute; - top: -12px; - right: 20px; - background-image: url("../../images/triangle_2x.png"); - background-size: 20px 12px; -} -ul.dropdown-menu { - display: block; - visibility: hidden; - opacity: 0; -} -.open ul.dropdown-menu { - -webkit-animation: pulldown .2s; - animation: pulldown .2s; - visibility: visible; - opacity: 1; -} -.created-time .fa { - color: #666; -} -#blogNav { - display: none; - background-color: #fff; - opacity: 0.7; - position: fixed; - z-index: 10; - padding: 3px; - border-radius: 3px; -} -#blogNavContent { - overflow-y: auto; - max-height: 250px; - display: none; - -webkit-overflow-scrolling: touch !important; -} -#blogNavNav { - cursor: pointer; -} -#blogNav a { - color: #666; -} -#blogNav:hover { - opacity: 0.9; -} -#blogNav a:hover { - color: #0fb264; -} -#blogNav ul { - padding-left: 20px; -} -#blogNav ul .nav-h2 { - margin-left: 20px; -} -#blogNav ul .nav-h3 { - margin-left: 30px; -} -#blogNav ul .nav-h4 { - margin-left: 40px; -} -#blogNav ul .nav-h5 { - margin-left: 50px; -} -.mobile-created-time { - display: none; -} -#footer { - padding-bottom: 10px; -} -.navbar-brand { - display: none; -} -#themeList label { - text-align: center; - margin-bottom: 5px; -} -#themeList .preview { - display: block; - width: 400px; - background: #fff; - border: 1px solid #ccc; - padding: 5px; - border-radius: 5px; -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url('../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: local('Open Sans'), local('OpenSans'), url('../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff'); -} -/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/ -::selection { - background: #000000; - color: #ffffff; -} -::-moz-selection { - background: #000000; - color: #ffffff; -} -::-webkit-selection { - background: #000000; - color: #ffffff; -} -*, -body { - font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; - font-weight: 300; - font-size: 14px; -} -h1, -h2, -h3 { - font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; - font-weight: 300 !important; -} -a { - cursor: pointer; -} -a:hover { - text-decoration: underline !important; -} -#headerContainer { - height: 230px; - background-color: #fff; -} -#posts { - width: 745px; - margin: auto; -} -#postsContainer { - background: #f5f5f5 url("../../images/noise.png"); - padding-bottom: 5px; -} -/* header */ -#header { - color: #000000; - position: relative; - padding: 0 0 20px 0; - margin-top: 65px; -} -#header h1 { - margin: 0; -} -#header h1 a { - font-size: 48px; - font-weight: bold; - color: #000000; -} -#header h1 a img { - height: 40px; -} -#header #blogDesc { - font-size: 32px; - font-style: italic; - margin-top: 10px; -} -.navbar { - background-color: #f7f5e7; - margin-bottom: 0; - border-radius: 0; - border: none; -} -.nav li a:hover { - background-color: #000000 !important; - color: #ffffff !important; -} -.nav li.active a { - background-color: #f7f5e7 !important; - color: #bc360a !important; -} -.navbar-collapse { - padding-left: 0; - padding-right: 0; -} -.navbar-form { - padding: 0; -} -/* posts */ -#posts { - padding-top: 10px; -} -#posts .each-post { - border-bottom: 1px solid #ebeff2; - margin-bottom: 10px; - padding: 30px; - background-color: #fff; - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - border-radius: 3px; -} -#posts .each-post .title { - font-size: 48px; - color: #000000; - padding: 0 0 15px 0; -} -#posts .each-post .title a { - font-size: 48px; - color: #000000; - padding: 0 0 15px 0; -} -#posts .each-post .title a:hover { - color: #ea9629; -} -#posts .each-post .created-time { - border-bottom: 1px solid #eee; - padding-bottom: 3px; - margin-bottom: 5px; -} -#posts .each-post .more { - background: #000000; - padding: 9px 10px; - border-radius: 2px; - line-height: 1; - font-size: 13px; - display: inline-block; - text-transform: uppercase; - margin-top: 15px; - margin-bottom: 15px; - color: #fff; -} -#disqus_thread { - border-top: 1px solid #eee; - padding: 5px 0 0 0; -} -#search { - width: 150px; -} -#footerContainer { - background-color: #ffffff; - color: #666666; -} -#footerContainer #footer a { - color: #666666; -} -#footerContainer #footer ul { - list-style: none; - margin-bottom: 10px ; - padding-left: 20px; -} -@media screen and (max-width: 600px) { - html, - body { - overflow-x: hidden; - background-color: #fbfcf7; - } - * { - font-size: 16px; - } - #headerContainer, - #footerContainer { - background-color: #fbfcf7; - margin: 10px 0; - } - #posts .each-post, - #postsContainer { - background-color: #fbfcf7 !important; - } - img { - max-width: 100%; - } - #posts .each-post { - padding: 10px; - } - #posts .each-post .title { - font-size: 24px; - border-left: 5px solid #65bd77; - font-weight: bold; - padding: 5px 0; - padding-left: 10px; - margin-bottom: 10px; - } - .container { - padding-right: 10px; - padding-left: 10px; - } - .created-time { - display: none; - } - .mobile-created-time { - display: block; - } - .mobile-created-time #userLogo { - display: inline-block; - max-height: 40px; - width: 40px; - border-radius: 50%; - } - #content { - margin-top: 10px; - } - .right-section .dropdown, - .right-section .btn { - display: none !important; - } - #blogNav { - left: initial !important; - right: 10px !important; - } - #postsContainer .container, - #footerContainer .container { - max-width: 100%; - } - #postsContainer { - margin: 0 !important; - max-width: 100%; - padding-top: 10px; - background: #f5f5f5 url("../../images/noise.png"); - } - #posts { - max-width: 100% !important; - } - #footerContainer #footer a { - padding: 3px; - } - #footerContainer #footer a:hover, - #footerContainer #footer a:focus { - color: #65bd77; - } - #headerAndNav { - position: initial; - text-align: left; - width: 100%; - border-bottom: 2px dashed #ebeff2; - } - #headerAndNav #headerContainer { - width: 100%; - height: auto; - padding-top: 30px; - } - #headerAndNav #header { - margin: 0; - padding: 0; - } - #headerAndNav #header h1 { - display: none; - } - #headerAndNav .navbar-collapse { - overflow-x: hidden; - } - #headerAndNav #blogDesc { - border: none; - margin-top: 20px; - font-size: 24px; - } - #headerAndNav .navbar-brand { - display: inline-block; - line-height: 50px; - padding: 0; - padding-left: 10px; - } - #headerAndNav .navbar-brand img { - height: 40px; - } - #headerAndNav .navbar .container { - width: auto; - padding: 0 15px; - } - #headerAndNav .navbar { - position: fixed; - top: 0; - right: 0; - left: 0; - background: #fbfcf7; - z-index: 1000; - border-bottom: 1px solid #DEDDDF; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), inset 0 1px 0 #ffffff; - background-color: #FDFFF5; - } - #headerAndNav .navbar-nav { - margin: 0 10px; - } - #headerAndNav .navbar-nav a { - padding-left: 10px; - border-radius: 5px; - } - #headerAndNav #search { - width: 100%; - margin: 10px; - } - #headerAndNav .navbar-form { - border: none; - } - #myTab, - .tab-content { - padding: 0 10px; - } -} diff --git a/public/blog/themes/backup/elegant/tag_posts.html b/public/blog/themes/backup/elegant/tag_posts.html deleted file mode 100644 index 9b91d94..0000000 --- a/public/blog/themes/backup/elegant/tag_posts.html +++ /dev/null @@ -1,47 +0,0 @@ -{{template "header.html" .}} - -
-
-

标签 - {{.curTag}}

-
- -
- {{range .posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}} -
- {{else}} -
- {{msg . "none"}} -
- {{end}} - - - {{template "paging.html" $}} - -
-
- -{{template "footer.html" .}} -{{template "blog/highlight.html"}} - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/tags.html b/public/blog/themes/backup/elegant/tags.html deleted file mode 100644 index fa0a60c..0000000 --- a/public/blog/themes/backup/elegant/tags.html +++ /dev/null @@ -1,26 +0,0 @@ -{{template "header.html" .}} - -
-
-

标签

-
-
- -
- -
-
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/theme.json b/public/blog/themes/backup/elegant/theme.json deleted file mode 100644 index 27e971c..0000000 --- a/public/blog/themes/backup/elegant/theme.json +++ /dev/null @@ -1,27 +0,0 @@ -/* -以下是本主题的配置, 采用JSON格式 -其中Name, Version, Author, AuthorUrl是必填项(注意首字大写) -你也可以定义其它的配置, 如FriendLinks, 在模板文件使用 $.themeInfo.FriendLinks来获取值 - -注意: -1) JSON语法严格, 键必须用双引号, 最后不得有空','来结尾 -2) 以下配置不能包含任何注释, 不然解析会出错! - -请在此解析所有配置 -* Name 主题名 -* Version 主题版本 -* Author 主题的作者 -* AuthorUrl 作者的博客链接或相关链接 - -* FriendLinks 友情链接 - -*/ -{ - "Name": "leanote default theme", - "Version": "1.0", - "Author": "leanote.com", - "AuthorUrl": "http://leanote.com", - "FriendLinks": [ - {"Title": "leanote", "Url": "http://leanote.com"} - ] -} \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/view.html b/public/blog/themes/backup/elegant/view.html deleted file mode 100644 index f98f66e..0000000 --- a/public/blog/themes/backup/elegant/view.html +++ /dev/null @@ -1,140 +0,0 @@ -{{template "header.html" .}} - -
-
-
-
- {{.post.Title}} -
-
- - {{if .post.Tags}} - {{blogTags $ .post.Tags}} - {{else}} - {{msg . "noTag"}} - {{end}} - | - {{msg . "updatedTime"}} {{$.post.UpdatedTime | datetime}} - | - {{msg . "createdTime"}} {{$.post.CreatedTime | datetime}} -
- - -
- {{ if $.blogInfo.UserLogo}} - - {{else}} - - {{end}} - {{$.blogInfo.Username}} - - {{if .post.Tags}} -   - - {{blogTags $ $.post.Tags}} - {{end}} -
- -
- {{if $.post.IsMarkdown }} - -
- -
- {{else}} - {{$.post.Content | raw}} - {{end}} -
- -
-

- 上一篇: {{if $.prePost}}{{$.prePost.Title}}{{else}}无{{end}} -

-

- 下一篇: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}无{{end}} -

-
- - - {{template "comment.html" $}} -
-
-
-{{template "footer.html" .}} - -{{template "highlight.html"}} -
-
- - {{msg . "blogNav"}} -
-
-
-
- - - - - - - - - - - - - - - - -{{if $.post.IsMarkdown }} - - - - - - - - - - - - - -{{else}} - -{{end}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/elegant/view.js b/public/blog/themes/backup/elegant/view.js deleted file mode 100644 index 8bb7b09..0000000 --- a/public/blog/themes/backup/elegant/view.js +++ /dev/null @@ -1,509 +0,0 @@ -function scrollTo(self, tagName, text) { - var iframe = $("#content"); - var target = iframe.find(tagName + ":contains(" + text + ")"); - - // 找到是第几个 - // 在nav是第几个 - var navs = $('#blogNavContent [data-a="' + tagName + '-' + encodeURI(text) + '"]'); - var len = navs.size(); - for(var i = 0; i < len; ++i) { - if(navs[i] == self) { - break; - } - } - - if (target.size() >= i+1) { - target = target.eq(i); - // 之前插入, 防止多行定位不准 - var top = target.offset().top; - if(LEA.isMobile) { - top -= 50; - } - var nowTop = $(document).scrollTop(); - // 用$("body").scrllTop(10)没反应 firefox下 - $('html,body').animate({scrollTop: top}, 200); - return; - } -} -function genNav() { - var $con = $("#content"); - var html = $con.html(); - // 构造一棵树 - // {"h1-title":{h2-title:{}}} - var tree = [];//[{title: "xx", children:[{}]}, {title:"xx2"}]; - var hs = $con.find("h1,h2,h3,h4,h5,h6").toArray(); - var titles = '"; - $("#blogNavContent").html(titles); - if(!hs.length) { - $("#blogNavContent").html(getMsg("none")); - return false; - } - return true; -} - -function initNav() { - var hasNav = genNav(); - if(!hasNav) { - return; - } - - var $title = $(".title"); - var titlePos = $title.offset(); - var top = titlePos.top + 10;// - $title.height(); - // 手机下不要与标题在同一高度 - if(LEA.isMobile){ - top += 30; - } - if(top < 0) { - top = 10; - } - - var left = $title.width() + titlePos.left - 100; - $("#blogNav").css("top", top).css("left", left); - $("#blogNav").show(); - - $("#blogNavNav").click(function() { - var $o = $("#blogNavContent"); - if($o.is(":hidden")) { - $o.show(); - } else { - $o.hide(); - } - }); - - var $d = $(document); - function reNav() { - var vtop = $d.scrollTop(); - if(vtop <= top) { - $("#blogNav").css("top", top-vtop); - } else { - // 差距很磊了 - if(LEA.isMobile) { - $("#blogNav").css("top", 50); - } else { - $("#blogNav").css("top", 10); - } - } - } - reNav(); - $(window).scroll(reNav); -} - -var C = { - info: null, - noteId: noteId, - preLikeNum: preLikeNum, - commentNum: commentNum, - likeBtnO: $("#likeBtn"), - likeNumO: $("#likeNum"), - tLikersO: $("#tLikers"), - likersO: $("#likers"), - tCommentsO: $("#tComments"), - commentsO: $("#comments"), - - commentBtnO: $("#commentBtn"), - - commentsLoadingO: $(".comments-loading"), - commentsMoreO: $(".comments-more"), - - commentBoxO: $(".comment-box"), - init: function() { - var self = this; - if(UserBlogInfo.CanComment && UserBlogInfo.CommentType != "disqus") { - self.initLikeAndComments(); - } else { - self.initLike(); - } - self.initEvent(); - self.incReadNum(); - }, - incReadNum: function() { - var self = this; - if(!$.cookie(self.noteId)) { - $.cookie(self.noteId, 1); - ajaxGet(staticUrl + "/blog/incReadNum", {noteId: self.noteId}); - } - }, - initLike: function() { - var self = this; - ajaxGet(staticUrl + "/blog/getLike", {noteId: self.noteId}, function(ret) { - self.info = ret; - self.toggleLikeBtnActive(); - self.renderLikers(); - }); - }, - initLikeAndComments: function() { - var self = this; - ajaxGet(staticUrl + "/blog/getLikeAndComments", {noteId: self.noteId}, function(ret) { - self.info = ret; - self.toggleLikeBtnActive(); - self.renderLikers(); - // 是否需要renderComments? - self.info.commentUserInfo = self.info.commentUserInfo || {}; - // 为了防止第一条评论找不到用户信息情况 - if(visitUserInfo.UserId) { - self.info.commentUserInfo[visitUserInfo.UserId] = visitUserInfo; - } - self.renderComments(); - - self.commentBoxO.removeClass("hide"); - self.commentsLoadingO.addClass("hide"); - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.removeClass("hide"); - self.initMoreComments(); - } - }); - }, - initMoreComments: function() { - var self = this; - self.commentsMoreO.find("a").click(function(){ - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.addClass("hide"); - self.commentsLoadingO.removeClass("hide"); - ajaxGet(staticUrl + "/blog/listComments", {noteId: self.noteId, page: self.info.pageInfo.CurPage+1}, function(ret) { - var pageInfo = ret.pageInfo; - var comments = ret.comments; - var commentUserInfo = ret.commentUserInfo; - - $.extend(self.info.commentUserInfo, commentUserInfo); - - // 渲染之 - for(var i in comments) { - var comment = comments[i]; - comment = self.parseComment(comment); - } - var html = self.tCommentsO.render({comments: comments, visitUserInfo: visitUserInfo}); - self.commentsO.append(html); - - self.info.pageInfo = pageInfo; - - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.removeClass("hide"); - } else { - self.commentsMoreO.addClass("hide"); - } - - self.commentsLoadingO.addClass("hide"); - }); - } - }); - }, - addCommentRender: function(comment){ - var self = this; - comment = self.parseComment(comment); - var html = self.tCommentsO.render({blogUrl: blogUrl, comments: [comment], visitUserInfo: visitUserInfo}); - self.commentsO.prepend(html); - var li = self.commentsO.find("li").eq(0); - li.hide(); - li.show(500); - li.addClass("item-highlight"); - setTimeout(function() { - li.removeClass("item-highlight"); - }, 2000); - }, - parseComment: function(comment) { - var self = this; - var authorUserId = UserInfo.UserId; - commentUserInfo = self.info.commentUserInfo; - comment.UserInfo = commentUserInfo[comment.UserId]; - // 是作者自己 - if(visitUserInfo.UserId == UserInfo.UserId) { - comment.IsMyNote = true; - } - if(comment.UserId == authorUserId) { - comment.IsAuthorComment = true; - } - if(comment.UserId == visitUserInfo.UserId) { - comment.IsMyComment = true; - } - // 不是回复自己 - if(comment.ToUserId && comment.ToUserId != comment.UserId) { - comment.ToUserInfo = commentUserInfo[comment.ToUserId]; - if(comment.ToUserInfo.UserId == UserInfo.UserId) { - comment.ToUserIsAuthor = true; - } - } - comment.PublishDate = getDateDiff(Date.parse(goNowToDatetime(comment.CreatedTime))); - return comment; - }, - // 渲染评论 - renderComments: function() { - var self = this; - var comments = self.info.comments || []; - if(comments.length == 0) { - return; - } - - // 整理数据 - // 回复谁, 是否是作者? - // 回复日期, 几天前, 刚刚 - for(var i in comments) { - var comment = comments[i]; - comment = self.parseComment(comment); - } - var html = self.tCommentsO.render({blogUrl: blogUrl, comments: comments, visitUserInfo: visitUserInfo}); - self.commentsO.html(html); - }, - - // 重新渲染likers - reRenderLikers: function(addMe) { - var self = this; - var likedUsers = self.info.likedUsers || []; - for(var i = 0; i < likedUsers.length; ++i) { - var user = likedUsers[i]; - if(user.UserId == visitUserInfo.UserId) { - likedUsers.splice(i, 1); - break; - } - } - if(addMe) { - likedUsers = [visitUserInfo].concat(likedUsers); - self.info.likedUsers = likedUsers; - } - self.renderLikers(); - }, - renderLikers: function() { - var self = this; - var users = self.info.likedUsers || []; - var html = self.tLikersO.render({blogUrl: blogUrl, users: users}); - self.likersO.html(html); - }, - toggleLikeBtnActive: function() { - var self = this; - if(self.info.isILikeIt) { - self.likeBtnO.addClass("active"); - } else { - self.likeBtnO.removeClass("active"); - } - }, - commentNumO: $("#commentNum"), - bindCommentNum: function(fix) { - var self = this; - self.commentNum += fix; - self.commentNumO.text(self.commentNum); - }, - initEvent: function() { - var self = this; - - // like or not - self.likeBtnO.click(function() { - if(!visitUserInfo.UserId) { - needLogin(); - return; - } - ajaxPost(staticUrl + "/blog/likeBlog", {noteId: self.noteId}, function(ret) { - if(ret.Ok) { - // like - if(ret.Item) { - var num = self.preLikeNum+1; - } else { - var num = self.preLikeNum-1; - } - self.preLikeNum = num >= 0 ? num : 0; - self.likeNumO.text(self.preLikeNum); - self.info.isILikeIt = ret.Item; - self.toggleLikeBtnActive(); - - // 重新render likers - // 我是否在列表中 - self.reRenderLikers(ret.Item); - } - }); - }); - - // 显示回复回复 - $("#comments").on("click", ".comment-reply", function() { - var form = $(this).closest("li").find("form"); - if(form.is(":hidden")) { - form.show(); - form.find("textarea").focus(); - } else { - form.hide(); - } - }); - $("#comments").on("click", ".reply-cancel", function() { - $(this).closest("form").hide(); - }); - - // 回复 - $(".comment-box").on("click", ".reply-comment-btn", function(e) { - e.preventDefault(); - var commentId = $(this).data("comment-id"); - var $form = $(this).closest("form"); - var $content = $form.find("textarea"); - var content = $.trim($content.val()); - if(!content) { - $content.focus(); - return; - } - var t = $(this); - t.button("loading"); - var data = {noteId: self.noteId, toCommentId: commentId, content: content}; - ajaxPost(staticUrl + "/blog/comment", data, function(ret) { - t.button("reset"); - $content.val(""); - self.bindCommentNum(1); - if(commentId) { - $form.hide(); - } - - if(commentId) { - scrollToTarget("#comments", -200); - } - - // 添加一个 - self.addCommentRender(ret.Item); - }); - }); - - // 删除 - $(".comment-box").on("click", ".comment-trash", function(e) { - var commentId = $(this).parent().data("comment-id"); - var t = this; - BootstrapDialog.confirm(getMsg("confirmDeleteComment"), function(yes) { - if(yes) { - ajaxPost(staticUrl + "/blog/deleteComment", {noteId: self.noteId, commentId: commentId}, function(ret) { - if(ret.Ok) { - var li = $(t).closest("li"); - li.hide(500); // remove(); - setTimeout(function() { - li.remove(); - }, 300); - - self.bindCommentNum(-1); - } - }); - } - }); - }); - - // 点zan - $(".comment-box").on("click", ".comment-like", function(e) { - var commentId = $(this).parent().data("comment-id"); - var t = this; - - ajaxPost(staticUrl + "/blog/likeComment", {commentId: commentId}, function(re) { - if(re.Ok) { - var ret = re.Item; - if(ret.Num <= 0) { - $(t).parent().find(".like-num").addClass("hide"); - } else { - $(t).parent().find(".like-num").removeClass("hide"); - $(t).parent().find(".like-num-i").text(ret.Num) - } - if(ret.IsILikeIt) { - $(t).find(".like-text").text(getMsg("unlike")); - } else { - $(t).find(".like-text").text(getMsg('like')); - } - } - }); - }); - - // 举报 - function report(commentId, noteId, title) { - var form = $("#reportMsg").html(); - var body; - var input; - var isOver = false; - var modal = BootstrapDialog.show({ - title: title, - message: form, - nl2br: false, - buttons: [{ - label: getMsg("cancel"), - action: function(dialog) { - dialog.close(); - } - }, { - label: getMsg("confirm"), - cssClass: 'btn-primary', - action: function(dialog) { - if(isOver) { - dialog.close(); - } - var val = body.find("input[type='radio']:checked").val(); - if(!val) { - var val = body.find(".input-container input").val(); - } - if(!val) { - body.find(".footnote").html(getMsg("chooseReason")); - return; - } - ajaxPost(staticUrl + "/blog/report", {commentId: commentId, noteId: noteId, reason: val}, function(re) { - isOver = true; - if(reIsOk(re)) { - body.html(getMsg("reportSuccess")); - } else { - body.html(getMsg("error")); - } - setTimeout(function() { - dialog.close(); - }, 3000); - }); - } - }] - }); - body = modal.getModalBody(); - input = body.find(".input-container"); - body.find("input[type='radio']").click(function(){ - if(!$(this).val()) { - input.show(); - input.find("input").focus(); - } else { - input.hide(); - } - }); - } - $(".comment-box").on("click", ".comment-report", function() { - if(needLogin()) { - return; - } - var commentId = $(this).parent().data("comment-id"); - report(commentId, self.noteId, getMsg("reportComment?")); - }); - $("#reportBtn").click(function() { - if(needLogin()) { - return; - } - report("", self.noteId, getMsg("reportBlog?")); - }); - - self.initShare(); - }, - weixinQRCodeO: $("#weixinQRCode"), - initShare: function() { - var self = this; - $(".btn-weixin").click(function() { - if(!self.weixinQRCodeO.html()) { - self.weixinQRCodeO.qrcode(viewUrl + "/" + self.noteId); - } - BootstrapDialog.show({ - title: getMsg('scanQRCode'), - message: self.weixinQRCodeO - }); - }); - - $(".btn-share").click(function() { - var $this = $(this); - var map = {"btn-weibo": shareSinaWeibo, "tencent-weibo": shareTencentWeibo, "qq": shareQQ, "renren": shareRenRen}; - for(var i in map) { - if($this.hasClass(i)) { - map[i](self.noteId, document.title); - break; - } - } - }); - } -} - -$(function() { - C.init(); -}); \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/archive.html b/public/blog/themes/backup/nav_fixed/archive.html deleted file mode 100644 index 6ce1278..0000000 --- a/public/blog/themes/backup/nav_fixed/archive.html +++ /dev/null @@ -1,30 +0,0 @@ -{{template "header.html" .}} - -
-
-

归档 {{if $.curCateTitle}} - {{$.curCateTitle}}{{end}}

-
-
- -
-
    - {{range $.archives}} -
  • {{.Year}} -
      - {{range .Posts}} -
    • - {{.PublicTime|date}} {{.Title}} -
    • - {{end}} -
    -
  • - {{end}} -
-
-
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/cate.html b/public/blog/themes/backup/nav_fixed/cate.html deleted file mode 100644 index cab0598..0000000 --- a/public/blog/themes/backup/nav_fixed/cate.html +++ /dev/null @@ -1,41 +0,0 @@ -{{template "header.html" .}} - -
-
-

分类 - {{$.curCateTitle}}

-
-
- {{range $.posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} - | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}}. -
- {{end}} - - {{template "paging.html" $}} -
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/comment.html b/public/blog/themes/backup/nav_fixed/comment.html deleted file mode 100644 index 319c667..0000000 --- a/public/blog/themes/backup/nav_fixed/comment.html +++ /dev/null @@ -1,204 +0,0 @@ - -
-
- - {{if .blog.ReadNum}}{{.blog.ReadNum}}{{else}}1{{end}} {{msg . "viewers"}} -
-
-
- - - - - - {{if eq .locale "zh"}} -
- {{msg . "report"}} -
- {{end}} -
-
-
-
- - -{{if and .userBlog.CanComment (not (eq .userBlog.CommentType "disqus"))}} - - - - -
- {{if .visitUserInfo.UserId}} -
-
-
- -
-
- -
-
-
- -
-
- {{else}} -
- {{msg . "signIn"}}, {{msg . "submitComment"}}. -
- 没有帐号? {{msg . "signUp"}} -
- {{end}} -
- - {{.blog.CommentNum}} {{msg . "comments"}} - -
- -
- -
-
- More... -
-
- -
-
- -{{if eq .locale "zh"}} -
-
- - -

-
-
-{{end}} - -{{end}} - -{{if and $.blogInfo.OpenComment (eq $.blogInfo.CommentType "disqus")}} - -
- - - -comments powered by Disqus -{{end}} \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/footer.html b/public/blog/themes/backup/nav_fixed/footer.html deleted file mode 100644 index 985a548..0000000 --- a/public/blog/themes/backup/nav_fixed/footer.html +++ /dev/null @@ -1,55 +0,0 @@ -
- {{$userId := .userBlog.UserId.Hex}} - -
- - - - - - diff --git a/public/blog/themes/backup/nav_fixed/header.html b/public/blog/themes/backup/nav_fixed/header.html deleted file mode 100644 index 228311f..0000000 --- a/public/blog/themes/backup/nav_fixed/header.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - -{{.title}} - - - - - - - - - - - -
-
- - -
- - - -
- - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/highlight.html b/public/blog/themes/backup/nav_fixed/highlight.html deleted file mode 100644 index 4b2c148..0000000 --- a/public/blog/themes/backup/nav_fixed/highlight.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/images/loading-32.gif b/public/blog/themes/backup/nav_fixed/images/loading-32.gif deleted file mode 100644 index 9297c2d..0000000 Binary files a/public/blog/themes/backup/nav_fixed/images/loading-32.gif and /dev/null differ diff --git a/public/blog/themes/backup/nav_fixed/images/screenshot.png b/public/blog/themes/backup/nav_fixed/images/screenshot.png deleted file mode 100644 index dbedf7c..0000000 Binary files a/public/blog/themes/backup/nav_fixed/images/screenshot.png and /dev/null differ diff --git a/public/blog/themes/backup/nav_fixed/index.html b/public/blog/themes/backup/nav_fixed/index.html deleted file mode 100644 index c82c4d4..0000000 --- a/public/blog/themes/backup/nav_fixed/index.html +++ /dev/null @@ -1,39 +0,0 @@ -{{template "header.html" .}} - -
- -
- {{range $.posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} - | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}}. -
- {{end}} - - {{template "paging.html" $}} -
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/page.html b/public/blog/themes/backup/nav_fixed/page.html deleted file mode 100644 index a92dda2..0000000 --- a/public/blog/themes/backup/nav_fixed/page.html +++ /dev/null @@ -1 +0,0 @@ -aaaaaaaaaaaaaaaaaaa \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/paging.html b/public/blog/themes/backup/nav_fixed/paging.html deleted file mode 100644 index 329943f..0000000 --- a/public/blog/themes/backup/nav_fixed/paging.html +++ /dev/null @@ -1,27 +0,0 @@ -{{if gt $.paging.TotalPage 1}} - - -{{if gt $.paging.CurPage 1}} - {{set . "prePageClass" ""}} - {{set . "prePageUrl" (urlConcat $.pagingBaseUrl "page" (incr $.paging.CurPage -1)) }} -{{else}} - {{set . "prePageClass" "disabled"}} - {{set . "prePageUrl" "#"}} -{{end}} - - -{{if lt $.paging.CurPage $.paging.TotalPage }} - {{set . "nextPageClass" ""}} - {{set . "nextPageUrl" (urlConcat $.pagingBaseUrl "page" (incr $.paging.CurPage 1)) }} -{{else}} - {{set . "nextPageClass" "disabled"}} - {{set . "nextPageUrl" "#"}} -{{end}} - -{{$.paging.CurPage}}/{{$.paging.TotalPage}} - - -{{end}} \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/search.html b/public/blog/themes/backup/nav_fixed/search.html deleted file mode 100644 index 318dadb..0000000 --- a/public/blog/themes/backup/nav_fixed/search.html +++ /dev/null @@ -1,49 +0,0 @@ -{{template "header.html" .}} - -
-
-

搜索 - {{.keywords}}

-
- -
- {{range .posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}} -
- - - {{else}} -
- {{msg . "none"}} -
- {{end}} - - - {{template "paging.html" $}} - -
-
- -{{template "footer.html" .}} -{{template "blog/highlight.html"}} - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/single.html b/public/blog/themes/backup/nav_fixed/single.html deleted file mode 100644 index bea24f5..0000000 --- a/public/blog/themes/backup/nav_fixed/single.html +++ /dev/null @@ -1,52 +0,0 @@ -{{template "header.html" .}} - -
-
-
-
- {{.single.Title}} -
-
- {{msg . "updatedTime"}} {{$.single.UpdatedTime | datetime}} - | - {{msg . "createdTime"}} {{$.single.CreatedTime | datetime}} -
- - -
- {{ if $.blogInfo.UserLogo}} - - {{else}} - - {{end}} - {{$.blogInfo.Username}} -
- -
- {{$.single.Content | raw}} -
-
-
-
-{{template "footer.html" .}} - -{{template "highlight.html"}} -
-
- - {{msg . "blogNav"}} -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/style.css b/public/blog/themes/backup/nav_fixed/style.css deleted file mode 100644 index 2be73b4..0000000 --- a/public/blog/themes/backup/nav_fixed/style.css +++ /dev/null @@ -1,579 +0,0 @@ -#posts img { - max-width: 100%; -} -#content * { - font-size: 16px; -} -#content h1 { - font-size: 30px; -} -#content h2 { - font-size: 24px; -} -#content h3 { - font-size: 18px; -} -#content h4 { - font-size: 14px; -} -@-webkit-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-moz-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-ms-keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@keyframes dropdown { - 0% { - margin-top: -25px; - opacity: 0; - } - 90% { - margin-top: 2px; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@-webkit-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@-moz-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@-ms-keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -@keyframes pulldown { - 0% { - top: 0; - opacity: 0; - } - 90% { - top: 90%; - } - 100% { - top: 100%; - opacity: 1; - } -} -a, -.btn { - -webkit-transition: all 0.2s ease; - -moz-transition: all 0.2s ease; - transition: all 0.2s ease; -} -.btn:focus { - outline: none; -} -ul.dropdown-menu { - box-shadow: rgba(0, 0, 0, 0.172549) 0px 6px 12px 0px; -} -ul.dropdown-menu:before { - content: ""; - width: 20px; - height: 12px; - position: absolute; - top: -12px; - right: 20px; - background-image: url("../../images/triangle_2x.png"); - background-size: 20px 12px; -} -ul.dropdown-menu { - display: block; - visibility: hidden; - opacity: 0; -} -.open ul.dropdown-menu { - -webkit-animation: pulldown .2s; - animation: pulldown .2s; - visibility: visible; - opacity: 1; -} -.created-time .fa { - color: #666; -} -#blogNav { - display: none; - background-color: #fff; - opacity: 0.7; - position: fixed; - z-index: 10; - padding: 3px; - border-radius: 3px; -} -#blogNavContent { - overflow-y: auto; - max-height: 250px; - display: none; - -webkit-overflow-scrolling: touch !important; -} -#blogNavNav { - cursor: pointer; -} -#blogNav a { - color: #666; -} -#blogNav:hover { - opacity: 0.9; -} -#blogNav a:hover { - color: #0fb264; -} -#blogNav ul { - padding-left: 20px; -} -#blogNav ul .nav-h2 { - margin-left: 20px; -} -#blogNav ul .nav-h3 { - margin-left: 30px; -} -#blogNav ul .nav-h4 { - margin-left: 40px; -} -#blogNav ul .nav-h5 { - margin-left: 50px; -} -.mobile-created-time { - display: none; -} -#footer { - padding-bottom: 10px; -} -.navbar-brand { - display: none; -} -#themeList label { - text-align: center; - margin-bottom: 5px; -} -#themeList .preview { - display: block; - width: 400px; - background: #fff; - border: 1px solid #ccc; - padding: 5px; - border-radius: 5px; -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url('../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: local('Open Sans'), local('OpenSans'), url('../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff') format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff'); -} -/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/ -::selection { - background: #000000; - color: #ffffff; -} -::-moz-selection { - background: #000000; - color: #ffffff; -} -::-webkit-selection { - background: #000000; - color: #ffffff; -} -*, -body { - font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; - font-weight: 300; - font-size: 14px; -} -h1, -h2, -h3 { - font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; - font-weight: 300 !important; -} -a { - cursor: pointer; -} -a:hover { - text-decoration: none !important; -} -#headerAndNav { - position: fixed; - left: 0; - top: 0; - bottom: 0; - width: 200px; - border-right: 1px solid #ebeff2; - text-align: right; -} -#headerContainer { - width: 190px; -} -#headerContainer { - background-color: #fff; -} -#postsContainer { - margin-left: 211px; -} -#postsContainer { - padding-bottom: 5px; -} -#postsContainer .container, -#footerContainer .container { - width: 800px; -} -#postsContainer .container { - margin-left: 12px; -} -/* header */ -#header { - color: #000000; - padding: 0 0 20px 0; - margin-top: 15px; -} -#header h1 { - margin: 0; - font-size: 32px; -} -#header h1 a { - color: #000000; - font-size: 32px; -} -#header h1 a img { - height: 40px; -} -#header #blogDesc { - margin-top: 10px; - padding-bottom: 10px; - border-bottom: 1px dashed #ebeff2; - font-size: 16px; -} -#logo { - word-wrap: break-word; - overflow: hidden; -} -.navbar { - margin-bottom: 0; - border-radius: 0; - border: none; -} -.navbar .container { - width: 200px; -} -.navbar-default { - background: none; - border-color: #e7e7e7; -} -.navbar-collapse { - padding-left: 0; - padding-right: 0; -} -.navbar-form { - padding: 0; -} -.navbar-nav { - float: none; -} -.navbar-nav > li { - float: none; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - font-weight: bold; - background: none; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - font-size: 16px; -} -/* posts */ -#posts { - width: 800px; -} -#posts .each-post { - border-bottom: 1px solid #ebeff2; - margin-bottom: 10px; - padding: 30px; - padding-top: 10px; -} -#posts .each-post .title { - font-size: 32px; - color: #0fb264; - padding: 0 0 15px 0; -} -#posts .each-post .title a { - font-size: 32px; - color: #0fb264; - padding: 0 0 15px 0; -} -#posts .each-post .created-time { - border-bottom: 1px dashed #eee; - padding-bottom: 3px; - margin-bottom: 5px; -} -#posts .each-post .more { - background: #0fb264; - padding: 9px 10px; - border-radius: 2px; - line-height: 1; - font-size: 13px; - display: inline-block; - text-transform: uppercase; - margin-top: 15px; - margin-bottom: 15px; - color: #fff; -} -#disqus_thread { - border-top: 1px solid #eee; - padding: 5px 0 0 0; -} -#search { - width: 170px; - padding-right: 15px; -} -#footerContainer { - background-color: #ffffff; - color: #666666; -} -#footerContainer #footer a { - color: #666666; -} -#footerContainer #footer ul { - list-style: none; - margin: 0; - padding-left: 20px; -} -.tab-content { - padding-bottom: 10px; - border-bottom: 1px solid #ebeff2; -} -.mce-btn { - background: none !important; -} -@media screen and (max-width: 600px) { - html, - body { - overflow-x: hidden; - background-color: #fbfcf7; - } - * { - font-size: 16px; - } - #headerContainer, - #footerContainer { - background-color: #fbfcf7; - margin: 10px 0; - } - #posts .each-post, - #postsContainer { - background-color: #fbfcf7 !important; - } - img { - max-width: 100%; - } - #posts .each-post { - padding: 10px; - } - #posts .each-post .title { - font-size: 24px; - border-left: 5px solid #65bd77; - font-weight: bold; - padding: 5px 0; - padding-left: 10px; - margin-bottom: 10px; - } - .container { - padding-right: 10px; - padding-left: 10px; - } - .created-time { - display: none; - } - .mobile-created-time { - display: block; - } - .mobile-created-time #userLogo { - display: inline-block; - max-height: 40px; - width: 40px; - border-radius: 50%; - } - #content { - margin-top: 10px; - } - .right-section .dropdown, - .right-section .btn { - display: none !important; - } - #blogNav { - left: initial !important; - right: 10px !important; - } - #postsContainer .container, - #footerContainer .container { - max-width: 100%; - } - #postsContainer { - margin: 0 !important; - max-width: 100%; - padding-top: 10px; - background: #f5f5f5 url("../../images/noise.png"); - } - #posts { - max-width: 100% !important; - } - #footerContainer #footer a { - padding: 3px; - } - #footerContainer #footer a:hover, - #footerContainer #footer a:focus { - color: #65bd77; - } - #headerAndNav { - position: initial; - text-align: left; - width: 100%; - border-bottom: 2px dashed #ebeff2; - } - #headerAndNav #headerContainer { - width: 100%; - height: auto; - padding-top: 30px; - } - #headerAndNav #header { - margin: 0; - padding: 0; - } - #headerAndNav #header h1 { - display: none; - } - #headerAndNav .navbar-collapse { - overflow-x: hidden; - } - #headerAndNav #blogDesc { - border: none; - margin-top: 20px; - font-size: 24px; - } - #headerAndNav .navbar-brand { - display: inline-block; - line-height: 50px; - padding: 0; - padding-left: 10px; - } - #headerAndNav .navbar-brand img { - height: 40px; - } - #headerAndNav .navbar .container { - width: auto; - padding: 0 15px; - } - #headerAndNav .navbar { - position: fixed; - top: 0; - right: 0; - left: 0; - background: #fbfcf7; - z-index: 1000; - border-bottom: 1px solid #DEDDDF; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), inset 0 1px 0 #ffffff; - background-color: #FDFFF5; - } - #headerAndNav .navbar-nav { - margin: 0 10px; - } - #headerAndNav .navbar-nav a { - padding-left: 10px; - border-radius: 5px; - } - #headerAndNav #search { - width: 100%; - margin: 10px; - } - #headerAndNav .navbar-form { - border: none; - } - #myTab, - .tab-content { - padding: 0 10px; - } -} diff --git a/public/blog/themes/backup/nav_fixed/tag_posts.html b/public/blog/themes/backup/nav_fixed/tag_posts.html deleted file mode 100644 index 9b91d94..0000000 --- a/public/blog/themes/backup/nav_fixed/tag_posts.html +++ /dev/null @@ -1,47 +0,0 @@ -{{template "header.html" .}} - -
-
-

标签 - {{.curTag}}

-
- -
- {{range .posts}} -
- -
- - {{if .Tags}} - {{blogTags $ .Tags}} - {{else}} - {{msg $ "noTag"}} - {{end}} - | - {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} | - {{msg $ "createdTime"}} {{.CreatedTime | datetime}} -
-
- {{.Abstract | raw}} -
- {{msg $ "more"}} -
- {{else}} -
- {{msg . "none"}} -
- {{end}} - - - {{template "paging.html" $}} - -
-
- -{{template "footer.html" .}} -{{template "blog/highlight.html"}} - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/tags.html b/public/blog/themes/backup/nav_fixed/tags.html deleted file mode 100644 index fa0a60c..0000000 --- a/public/blog/themes/backup/nav_fixed/tags.html +++ /dev/null @@ -1,26 +0,0 @@ -{{template "header.html" .}} - -
-
-

标签

-
-
- -
- -
-
-
- -{{template "footer.html" .}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/theme.json b/public/blog/themes/backup/nav_fixed/theme.json deleted file mode 100644 index 27e971c..0000000 --- a/public/blog/themes/backup/nav_fixed/theme.json +++ /dev/null @@ -1,27 +0,0 @@ -/* -以下是本主题的配置, 采用JSON格式 -其中Name, Version, Author, AuthorUrl是必填项(注意首字大写) -你也可以定义其它的配置, 如FriendLinks, 在模板文件使用 $.themeInfo.FriendLinks来获取值 - -注意: -1) JSON语法严格, 键必须用双引号, 最后不得有空','来结尾 -2) 以下配置不能包含任何注释, 不然解析会出错! - -请在此解析所有配置 -* Name 主题名 -* Version 主题版本 -* Author 主题的作者 -* AuthorUrl 作者的博客链接或相关链接 - -* FriendLinks 友情链接 - -*/ -{ - "Name": "leanote default theme", - "Version": "1.0", - "Author": "leanote.com", - "AuthorUrl": "http://leanote.com", - "FriendLinks": [ - {"Title": "leanote", "Url": "http://leanote.com"} - ] -} \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/view.html b/public/blog/themes/backup/nav_fixed/view.html deleted file mode 100644 index f98f66e..0000000 --- a/public/blog/themes/backup/nav_fixed/view.html +++ /dev/null @@ -1,140 +0,0 @@ -{{template "header.html" .}} - -
-
-
-
- {{.post.Title}} -
-
- - {{if .post.Tags}} - {{blogTags $ .post.Tags}} - {{else}} - {{msg . "noTag"}} - {{end}} - | - {{msg . "updatedTime"}} {{$.post.UpdatedTime | datetime}} - | - {{msg . "createdTime"}} {{$.post.CreatedTime | datetime}} -
- - -
- {{ if $.blogInfo.UserLogo}} - - {{else}} - - {{end}} - {{$.blogInfo.Username}} - - {{if .post.Tags}} -   - - {{blogTags $ $.post.Tags}} - {{end}} -
- -
- {{if $.post.IsMarkdown }} - -
- -
- {{else}} - {{$.post.Content | raw}} - {{end}} -
- -
-

- 上一篇: {{if $.prePost}}{{$.prePost.Title}}{{else}}无{{end}} -

-

- 下一篇: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}无{{end}} -

-
- - - {{template "comment.html" $}} -
-
-
-{{template "footer.html" .}} - -{{template "highlight.html"}} -
-
- - {{msg . "blogNav"}} -
-
-
-
- - - - - - - - - - - - - - - - -{{if $.post.IsMarkdown }} - - - - - - - - - - - - - -{{else}} - -{{end}} - - - \ No newline at end of file diff --git a/public/blog/themes/backup/nav_fixed/view.js b/public/blog/themes/backup/nav_fixed/view.js deleted file mode 100644 index 8bb7b09..0000000 --- a/public/blog/themes/backup/nav_fixed/view.js +++ /dev/null @@ -1,509 +0,0 @@ -function scrollTo(self, tagName, text) { - var iframe = $("#content"); - var target = iframe.find(tagName + ":contains(" + text + ")"); - - // 找到是第几个 - // 在nav是第几个 - var navs = $('#blogNavContent [data-a="' + tagName + '-' + encodeURI(text) + '"]'); - var len = navs.size(); - for(var i = 0; i < len; ++i) { - if(navs[i] == self) { - break; - } - } - - if (target.size() >= i+1) { - target = target.eq(i); - // 之前插入, 防止多行定位不准 - var top = target.offset().top; - if(LEA.isMobile) { - top -= 50; - } - var nowTop = $(document).scrollTop(); - // 用$("body").scrllTop(10)没反应 firefox下 - $('html,body').animate({scrollTop: top}, 200); - return; - } -} -function genNav() { - var $con = $("#content"); - var html = $con.html(); - // 构造一棵树 - // {"h1-title":{h2-title:{}}} - var tree = [];//[{title: "xx", children:[{}]}, {title:"xx2"}]; - var hs = $con.find("h1,h2,h3,h4,h5,h6").toArray(); - var titles = '"; - $("#blogNavContent").html(titles); - if(!hs.length) { - $("#blogNavContent").html(getMsg("none")); - return false; - } - return true; -} - -function initNav() { - var hasNav = genNav(); - if(!hasNav) { - return; - } - - var $title = $(".title"); - var titlePos = $title.offset(); - var top = titlePos.top + 10;// - $title.height(); - // 手机下不要与标题在同一高度 - if(LEA.isMobile){ - top += 30; - } - if(top < 0) { - top = 10; - } - - var left = $title.width() + titlePos.left - 100; - $("#blogNav").css("top", top).css("left", left); - $("#blogNav").show(); - - $("#blogNavNav").click(function() { - var $o = $("#blogNavContent"); - if($o.is(":hidden")) { - $o.show(); - } else { - $o.hide(); - } - }); - - var $d = $(document); - function reNav() { - var vtop = $d.scrollTop(); - if(vtop <= top) { - $("#blogNav").css("top", top-vtop); - } else { - // 差距很磊了 - if(LEA.isMobile) { - $("#blogNav").css("top", 50); - } else { - $("#blogNav").css("top", 10); - } - } - } - reNav(); - $(window).scroll(reNav); -} - -var C = { - info: null, - noteId: noteId, - preLikeNum: preLikeNum, - commentNum: commentNum, - likeBtnO: $("#likeBtn"), - likeNumO: $("#likeNum"), - tLikersO: $("#tLikers"), - likersO: $("#likers"), - tCommentsO: $("#tComments"), - commentsO: $("#comments"), - - commentBtnO: $("#commentBtn"), - - commentsLoadingO: $(".comments-loading"), - commentsMoreO: $(".comments-more"), - - commentBoxO: $(".comment-box"), - init: function() { - var self = this; - if(UserBlogInfo.CanComment && UserBlogInfo.CommentType != "disqus") { - self.initLikeAndComments(); - } else { - self.initLike(); - } - self.initEvent(); - self.incReadNum(); - }, - incReadNum: function() { - var self = this; - if(!$.cookie(self.noteId)) { - $.cookie(self.noteId, 1); - ajaxGet(staticUrl + "/blog/incReadNum", {noteId: self.noteId}); - } - }, - initLike: function() { - var self = this; - ajaxGet(staticUrl + "/blog/getLike", {noteId: self.noteId}, function(ret) { - self.info = ret; - self.toggleLikeBtnActive(); - self.renderLikers(); - }); - }, - initLikeAndComments: function() { - var self = this; - ajaxGet(staticUrl + "/blog/getLikeAndComments", {noteId: self.noteId}, function(ret) { - self.info = ret; - self.toggleLikeBtnActive(); - self.renderLikers(); - // 是否需要renderComments? - self.info.commentUserInfo = self.info.commentUserInfo || {}; - // 为了防止第一条评论找不到用户信息情况 - if(visitUserInfo.UserId) { - self.info.commentUserInfo[visitUserInfo.UserId] = visitUserInfo; - } - self.renderComments(); - - self.commentBoxO.removeClass("hide"); - self.commentsLoadingO.addClass("hide"); - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.removeClass("hide"); - self.initMoreComments(); - } - }); - }, - initMoreComments: function() { - var self = this; - self.commentsMoreO.find("a").click(function(){ - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.addClass("hide"); - self.commentsLoadingO.removeClass("hide"); - ajaxGet(staticUrl + "/blog/listComments", {noteId: self.noteId, page: self.info.pageInfo.CurPage+1}, function(ret) { - var pageInfo = ret.pageInfo; - var comments = ret.comments; - var commentUserInfo = ret.commentUserInfo; - - $.extend(self.info.commentUserInfo, commentUserInfo); - - // 渲染之 - for(var i in comments) { - var comment = comments[i]; - comment = self.parseComment(comment); - } - var html = self.tCommentsO.render({comments: comments, visitUserInfo: visitUserInfo}); - self.commentsO.append(html); - - self.info.pageInfo = pageInfo; - - if(self.info.pageInfo.TotalPage > self.info.pageInfo.CurPage) { - self.commentsMoreO.removeClass("hide"); - } else { - self.commentsMoreO.addClass("hide"); - } - - self.commentsLoadingO.addClass("hide"); - }); - } - }); - }, - addCommentRender: function(comment){ - var self = this; - comment = self.parseComment(comment); - var html = self.tCommentsO.render({blogUrl: blogUrl, comments: [comment], visitUserInfo: visitUserInfo}); - self.commentsO.prepend(html); - var li = self.commentsO.find("li").eq(0); - li.hide(); - li.show(500); - li.addClass("item-highlight"); - setTimeout(function() { - li.removeClass("item-highlight"); - }, 2000); - }, - parseComment: function(comment) { - var self = this; - var authorUserId = UserInfo.UserId; - commentUserInfo = self.info.commentUserInfo; - comment.UserInfo = commentUserInfo[comment.UserId]; - // 是作者自己 - if(visitUserInfo.UserId == UserInfo.UserId) { - comment.IsMyNote = true; - } - if(comment.UserId == authorUserId) { - comment.IsAuthorComment = true; - } - if(comment.UserId == visitUserInfo.UserId) { - comment.IsMyComment = true; - } - // 不是回复自己 - if(comment.ToUserId && comment.ToUserId != comment.UserId) { - comment.ToUserInfo = commentUserInfo[comment.ToUserId]; - if(comment.ToUserInfo.UserId == UserInfo.UserId) { - comment.ToUserIsAuthor = true; - } - } - comment.PublishDate = getDateDiff(Date.parse(goNowToDatetime(comment.CreatedTime))); - return comment; - }, - // 渲染评论 - renderComments: function() { - var self = this; - var comments = self.info.comments || []; - if(comments.length == 0) { - return; - } - - // 整理数据 - // 回复谁, 是否是作者? - // 回复日期, 几天前, 刚刚 - for(var i in comments) { - var comment = comments[i]; - comment = self.parseComment(comment); - } - var html = self.tCommentsO.render({blogUrl: blogUrl, comments: comments, visitUserInfo: visitUserInfo}); - self.commentsO.html(html); - }, - - // 重新渲染likers - reRenderLikers: function(addMe) { - var self = this; - var likedUsers = self.info.likedUsers || []; - for(var i = 0; i < likedUsers.length; ++i) { - var user = likedUsers[i]; - if(user.UserId == visitUserInfo.UserId) { - likedUsers.splice(i, 1); - break; - } - } - if(addMe) { - likedUsers = [visitUserInfo].concat(likedUsers); - self.info.likedUsers = likedUsers; - } - self.renderLikers(); - }, - renderLikers: function() { - var self = this; - var users = self.info.likedUsers || []; - var html = self.tLikersO.render({blogUrl: blogUrl, users: users}); - self.likersO.html(html); - }, - toggleLikeBtnActive: function() { - var self = this; - if(self.info.isILikeIt) { - self.likeBtnO.addClass("active"); - } else { - self.likeBtnO.removeClass("active"); - } - }, - commentNumO: $("#commentNum"), - bindCommentNum: function(fix) { - var self = this; - self.commentNum += fix; - self.commentNumO.text(self.commentNum); - }, - initEvent: function() { - var self = this; - - // like or not - self.likeBtnO.click(function() { - if(!visitUserInfo.UserId) { - needLogin(); - return; - } - ajaxPost(staticUrl + "/blog/likeBlog", {noteId: self.noteId}, function(ret) { - if(ret.Ok) { - // like - if(ret.Item) { - var num = self.preLikeNum+1; - } else { - var num = self.preLikeNum-1; - } - self.preLikeNum = num >= 0 ? num : 0; - self.likeNumO.text(self.preLikeNum); - self.info.isILikeIt = ret.Item; - self.toggleLikeBtnActive(); - - // 重新render likers - // 我是否在列表中 - self.reRenderLikers(ret.Item); - } - }); - }); - - // 显示回复回复 - $("#comments").on("click", ".comment-reply", function() { - var form = $(this).closest("li").find("form"); - if(form.is(":hidden")) { - form.show(); - form.find("textarea").focus(); - } else { - form.hide(); - } - }); - $("#comments").on("click", ".reply-cancel", function() { - $(this).closest("form").hide(); - }); - - // 回复 - $(".comment-box").on("click", ".reply-comment-btn", function(e) { - e.preventDefault(); - var commentId = $(this).data("comment-id"); - var $form = $(this).closest("form"); - var $content = $form.find("textarea"); - var content = $.trim($content.val()); - if(!content) { - $content.focus(); - return; - } - var t = $(this); - t.button("loading"); - var data = {noteId: self.noteId, toCommentId: commentId, content: content}; - ajaxPost(staticUrl + "/blog/comment", data, function(ret) { - t.button("reset"); - $content.val(""); - self.bindCommentNum(1); - if(commentId) { - $form.hide(); - } - - if(commentId) { - scrollToTarget("#comments", -200); - } - - // 添加一个 - self.addCommentRender(ret.Item); - }); - }); - - // 删除 - $(".comment-box").on("click", ".comment-trash", function(e) { - var commentId = $(this).parent().data("comment-id"); - var t = this; - BootstrapDialog.confirm(getMsg("confirmDeleteComment"), function(yes) { - if(yes) { - ajaxPost(staticUrl + "/blog/deleteComment", {noteId: self.noteId, commentId: commentId}, function(ret) { - if(ret.Ok) { - var li = $(t).closest("li"); - li.hide(500); // remove(); - setTimeout(function() { - li.remove(); - }, 300); - - self.bindCommentNum(-1); - } - }); - } - }); - }); - - // 点zan - $(".comment-box").on("click", ".comment-like", function(e) { - var commentId = $(this).parent().data("comment-id"); - var t = this; - - ajaxPost(staticUrl + "/blog/likeComment", {commentId: commentId}, function(re) { - if(re.Ok) { - var ret = re.Item; - if(ret.Num <= 0) { - $(t).parent().find(".like-num").addClass("hide"); - } else { - $(t).parent().find(".like-num").removeClass("hide"); - $(t).parent().find(".like-num-i").text(ret.Num) - } - if(ret.IsILikeIt) { - $(t).find(".like-text").text(getMsg("unlike")); - } else { - $(t).find(".like-text").text(getMsg('like')); - } - } - }); - }); - - // 举报 - function report(commentId, noteId, title) { - var form = $("#reportMsg").html(); - var body; - var input; - var isOver = false; - var modal = BootstrapDialog.show({ - title: title, - message: form, - nl2br: false, - buttons: [{ - label: getMsg("cancel"), - action: function(dialog) { - dialog.close(); - } - }, { - label: getMsg("confirm"), - cssClass: 'btn-primary', - action: function(dialog) { - if(isOver) { - dialog.close(); - } - var val = body.find("input[type='radio']:checked").val(); - if(!val) { - var val = body.find(".input-container input").val(); - } - if(!val) { - body.find(".footnote").html(getMsg("chooseReason")); - return; - } - ajaxPost(staticUrl + "/blog/report", {commentId: commentId, noteId: noteId, reason: val}, function(re) { - isOver = true; - if(reIsOk(re)) { - body.html(getMsg("reportSuccess")); - } else { - body.html(getMsg("error")); - } - setTimeout(function() { - dialog.close(); - }, 3000); - }); - } - }] - }); - body = modal.getModalBody(); - input = body.find(".input-container"); - body.find("input[type='radio']").click(function(){ - if(!$(this).val()) { - input.show(); - input.find("input").focus(); - } else { - input.hide(); - } - }); - } - $(".comment-box").on("click", ".comment-report", function() { - if(needLogin()) { - return; - } - var commentId = $(this).parent().data("comment-id"); - report(commentId, self.noteId, getMsg("reportComment?")); - }); - $("#reportBtn").click(function() { - if(needLogin()) { - return; - } - report("", self.noteId, getMsg("reportBlog?")); - }); - - self.initShare(); - }, - weixinQRCodeO: $("#weixinQRCode"), - initShare: function() { - var self = this; - $(".btn-weixin").click(function() { - if(!self.weixinQRCodeO.html()) { - self.weixinQRCodeO.qrcode(viewUrl + "/" + self.noteId); - } - BootstrapDialog.show({ - title: getMsg('scanQRCode'), - message: self.weixinQRCodeO - }); - }); - - $(".btn-share").click(function() { - var $this = $(this); - var map = {"btn-weibo": shareSinaWeibo, "tencent-weibo": shareTencentWeibo, "qq": shareQQ, "renren": shareRenRen}; - for(var i in map) { - if($this.hasClass(i)) { - map[i](self.noteId, document.title); - break; - } - } - }); - } -} - -$(function() { - C.init(); -}); \ No newline at end of file diff --git a/public/blog/themes/default/post.html b/public/blog/themes/default/post.html index 5eee18b..861c116 100644 --- a/public/blog/themes/default/post.html +++ b/public/blog/themes/default/post.html @@ -58,10 +58,10 @@

- Pre: {{if $.prePost}}{{$.prePost.Title}}{{else}}无{{end}} + Pre: {{if $.prePost}}{{$.prePost.Title}}{{else}}No Post{{end}}

- Next: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}无{{end}} + Next: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}No Post{{end}}

diff --git a/public/blog/themes/elegant/post.html b/public/blog/themes/elegant/post.html index 5eee18b..861c116 100644 --- a/public/blog/themes/elegant/post.html +++ b/public/blog/themes/elegant/post.html @@ -58,10 +58,10 @@

- Pre: {{if $.prePost}}{{$.prePost.Title}}{{else}}无{{end}} + Pre: {{if $.prePost}}{{$.prePost.Title}}{{else}}No Post{{end}}

- Next: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}无{{end}} + Next: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}No Post{{end}}

diff --git a/public/blog/themes/nav_fixed/post.html b/public/blog/themes/nav_fixed/post.html index 5eee18b..861c116 100644 --- a/public/blog/themes/nav_fixed/post.html +++ b/public/blog/themes/nav_fixed/post.html @@ -58,10 +58,10 @@

- Pre: {{if $.prePost}}{{$.prePost.Title}}{{else}}无{{end}} + Pre: {{if $.prePost}}{{$.prePost.Title}}{{else}}No Post{{end}}

- Next: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}无{{end}} + Next: {{if $.nextPost}}{{$.nextPost.Title}}{{else}}No Post{{end}}