Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo-1
Commits
f965d4f4
Unverified
Commit
f965d4f4
authored
Apr 05, 2018
by
Liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
💄
fixed #12400
parent
9723647f
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
646 additions
and
863 deletions
+646
-863
src/main/webapp/admin-about.ftl
src/main/webapp/admin-about.ftl
+3
-3
src/main/webapp/admin-article.ftl
src/main/webapp/admin-article.ftl
+14
-10
src/main/webapp/admin-category-list.ftl
src/main/webapp/admin-category-list.ftl
+27
-97
src/main/webapp/admin-index.ftl
src/main/webapp/admin-index.ftl
+3
-1
src/main/webapp/admin-link-list.ftl
src/main/webapp/admin-link-list.ftl
+21
-81
src/main/webapp/admin-others.ftl
src/main/webapp/admin-others.ftl
+7
-26
src/main/webapp/admin-page-list.ftl
src/main/webapp/admin-page-list.ftl
+1
-1
src/main/webapp/admin-preference.ftl
src/main/webapp/admin-preference.ftl
+105
-367
src/main/webapp/admin-user-list.ftl
src/main/webapp/admin-user-list.ftl
+29
-113
src/main/webapp/css/default-admin.css
src/main/webapp/css/default-admin.css
+411
-147
src/main/webapp/js/admin/admin.js
src/main/webapp/js/admin/admin.js
+10
-1
src/main/webapp/js/admin/articleList.js
src/main/webapp/js/admin/articleList.js
+2
-2
src/main/webapp/js/admin/categoryList.js
src/main/webapp/js/admin/categoryList.js
+1
-1
src/main/webapp/js/admin/commentList.js
src/main/webapp/js/admin/commentList.js
+2
-3
src/main/webapp/js/admin/draftList.js
src/main/webapp/js/admin/draftList.js
+2
-2
src/main/webapp/js/admin/linkList.js
src/main/webapp/js/admin/linkList.js
+2
-2
src/main/webapp/js/admin/pageList.js
src/main/webapp/js/admin/pageList.js
+2
-2
src/main/webapp/js/admin/pluginList.js
src/main/webapp/js/admin/pluginList.js
+2
-2
src/main/webapp/js/admin/userList.js
src/main/webapp/js/admin/userList.js
+2
-2
No files found.
src/main/webapp/admin-about.ftl
View file @
f965d4f4
...
...
@@ -2,19 +2,19 @@
<div class="module-header">
<h2>${aboutLabel}</h2>
</div>
<div class="module-body padding12">
<div class="module-body padding12
fn__flex
">
<div class="about-logo">
<a href="https://b3log.org" target="_blank">
<img width="128" src="${staticServePath}/images/logo.png" alt="Solo" title="Solo" />
</a>
</div>
<div class="left content-reset" style="margin-left: 20px;">
<div class="left content-reset
about__panel
" style="margin-left: 20px;">
<div id="aboutLatest" class="about-margin left">
${checkingVersionLabel}
</div>
<iframe src="https://ghbtns.com/github-btn.html?user=b3log&repo=solo&type=star&count=true&size=large"
frameborder="0" scrolling="0" width="160px" height="30px"
frameborder="0" scrolling="0" width="160px" height="30px"
class="about__iframe"
style="margin: 21px 0 0 20px;border: 0"
class="left"></iframe>
<div class="clear"></div>
...
...
src/main/webapp/admin-article.ftl
View file @
f965d4f4
...
...
@@ -4,12 +4,16 @@
<input id="title" type="text"/>
</div>
<div>
<label>${content1Label}</label>
<div class="right">
<label for="articleThumbnail">${useTumbnailLabel}</label>
<input type="checkbox" id="articleThumbnail" onclick="$('.article__thumbnail').slideToggle()" />
</div>
<div class="article__thumbnail fn-clear">
<label>${content1Label}</label>
<div class="right">
<label for="articleThumbnail" style="margin-bottom: 0">
${useTumbnailLabel}
<input type="checkbox" style="vertical-align: middle;"
id="articleThumbnail" onclick="$('.article__thumbnail').slideToggle()" />
</label>
</div>
<div class="clear"></div>
<div class="article__thumbnail">
<div class="thumbnail__img"></div>
<button id="articleThumbnailBtn">${chageLabel}</button>
</div>
...
...
@@ -20,7 +24,7 @@
</div>
<div>
<label>${tags1WithTips1Label}</label>
<div class="
fn__flex
">
<div class="
tag__select
">
<input id="tag" type="text"/>
</div>
</div>
...
...
@@ -32,10 +36,10 @@
</div>
<div class="fn__flex">
<div class="fn__flex fn__flex1" style="align-items: center">
<label for="permalink" style="margin-bottom: 0">${permalink1Label}</label>
<label for="permalink"
class="permalink__label"
style="margin-bottom: 0">${permalink1Label}</label>
<input id="permalink" class="fn__flex1" type="text" style="margin: 0 12px 0 6px;" />
</div>
<div class="right">
<div class="right
viewpwd__panel
">
<label for="viewPwd">${articleViewPwd1Label}</label>
<input id="viewPwd" type="text" style="width: 156px" />
</div>
...
...
@@ -48,7 +52,7 @@
<button id="articleSign3">${signLabel}3</button>
<button id="articleSign0">${noSignLabel}</button>
</span>
<div class="right">
<div class="right
article-commentable__panel
">
<label for="articleCommentable" style="margin: 13px 0 0 0">${allowComment1Label}</label>
<input type="checkbox" id="articleCommentable" checked="checked" />
<span id="postToCommunityPanel" class="none">
...
...
src/main/webapp/admin-category-list.ftl
View file @
f965d4f4
...
...
@@ -3,102 +3,32 @@
<div id="categoryPagination" class="margin12 right"></div>
</div>
<div class="clear"></div>
<table class="form" width="100%" cellpadding="0px" cellspacing="9px">
<thead>
<tr>
<th style="text-align: left" colspan="2">
${addCategoryLabel}
</th>
</tr>
</thead>
<tbody>
<tr>
<th width="48px">
<label for="categoryName">${linkTitle1Label}</label>
</th>
<td>
<input id="categoryName" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="categoryURI">URI:</label>
</th>
<td>
<input id="categoryURI" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="categoryDesc">${linkDescription1Label}</label>
</th>
<td>
<input id="categoryDesc" type="text"/>
</td>
</tr>
<tr>
<th
<label for="categoryTags">${tags1Label}</label>
</th>
<td class="fn__flex">
<input id="categoryTags" type="text"/>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.categoryList.add();">${saveLabel}</button>
</td>
</tr>
</tbody>
</table>
<div id="categoryUpdate" class="none">
<table class="form" width="100%" cellpadding="0px" cellspacing="9px">
<thead>
<tr>
<th style="text-align: left" colspan="2">
${updateCategoryLabel}
</th>
</tr>
</thead>
<tbody>
<tr>
<th width="48px">
<label for="categoryNameUpdate">${linkTitle1Label}</label>
</th>
<td>
<input id="categoryNameUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="categoryURIUpdate">URI:</label>
</th>
<td>
<input id="categoryURIUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="categoryDescUpdate">${linkDescription1Label}</label>
</th>
<td>
<input id="categoryDescUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="categoryTagsUpdate">${tags1Label}</label>
</th>
<td>
<input id="categoryTagsUpdate" type="text"/>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.categoryList.update();">${updateLabel}</button>
</td>
</tr>
</tbody>
</table>
<div class="form form__no-table">
${addCategoryLabel}
<label for="categoryName">${linkTitle1Label}</label>
<input id="categoryName" type="text"/>
<label for="categoryURI">URI:</label>
<input id="categoryURI" type="text"/>
<label for="categoryDesc">${linkDescription1Label}</label>
<input id="categoryDesc" type="text"/>
<label for="categoryTags">${tags1Label}</label>
<span class="tag__select">
<input id="categoryTags" type="text"/>
</span><br>
<button onclick="admin.categoryList.add();" class="right">${saveLabel}</button>
<div class="clear"></div>
</div>
<div id="categoryUpdate" class="none form__no-table form">
${updateCategoryLabel}
<label for="categoryNameUpdate">${linkTitle1Label}</label>
<input id="categoryNameUpdate" type="text"/>
<label for="categoryURIUpdate">URI:</label>
<input id="categoryURIUpdate" type="text"/>
<label for="categoryDescUpdate">${linkDescription1Label}</label>
<input id="categoryDescUpdate" type="text"/>
<label for="categoryTagsUpdate">${tags1Label}</label>
<input id="categoryTagsUpdate" type="text"/> <br><br>
<button onclick="admin.categoryList.update();" class="right">${updateLabel}</button>
<div class="clear"></div>
</div>
${plugins}
src/main/webapp/admin-index.ftl
View file @
f965d4f4
...
...
@@ -24,7 +24,8 @@
<a
href=
"${servePath}"
target=
"_blank"
class=
"hover"
>
Solo
</a>
<span
class=
"icon-unordered-list top__menu none"
onclick=
"admin.toggleMenu()"
></span>
<span
class=
"right"
>
<a
href=
"${servePath}"
title=
'${indexLabel}'
>
<div
class=
"avatar"
style=
"background-image: url(${gravatar})"
></div>
...
...
@@ -126,6 +127,7 @@
</li>
</ul>
</div>
<div
class=
"tabs__bg"
onclick=
"admin.toggleMenu()"
></div>
<div
id=
"tabsPanel"
>
<div
id=
"tabsPanel_main"
class=
"none"
></div>
<div
id=
"tabsPanel_article"
class=
"none"
></div>
...
...
src/main/webapp/admin-link-list.ftl
View file @
f965d4f4
...
...
@@ -3,86 +3,26 @@
<div id="linkPagination" class="margin12 right"></div>
</div>
<div class="clear"></div>
<table class="form" width="100%" cellpadding="0px" cellspacing="9px">
<thead>
<tr>
<th style="text-align: left" colspan="2">
${addLinkLabel}
</th>
</tr>
</thead>
<tbody>
<tr>
<th width="48px">
${linkTitle1Label}
</th>
<td>
<input id="linkTitle" type="text"/>
</td>
</tr>
<tr>
<th>
${url1Label}
</th>
<td>
<input id="linkAddress" type="text"/>
</td>
</tr>
<tr>
<th>
${linkDescription1Label}
</th>
<td>
<input id="linkDescription" type="text"/>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.linkList.add();">${saveLabel}</button>
</td>
</tr>
</tbody>
</table>
<div id="updateLink" class="none">
<table class="form" width="100%" cellpadding="0px" cellspacing="9px">
<thead>
<tr>
<th style="text-align: left" colspan="2">
${updateLinkLabel}
</th>
</tr>
</thead>
<tbody>
<tr>
<th width="48px">
${linkTitle1Label}
</th>
<td>
<input id="linkTitleUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
${url1Label}
</th>
<td>
<input id="linkAddressUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
${linkDescription1Label}
</th>
<td>
<input id="linkDescriptionUpdate" type="text"/>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.linkList.update();">${updateLabel}</button>
</td>
</tr>
</tbody>
</table>
<div class="form form__no-table">
${addLinkLabel}
<label>${linkTitle1Label}</label>
<input id="linkTitle" type="text"/>
<label>${url1Label}</label>
<input id="linkAddress" type="text"/>
<label>${linkDescription1Label}</label>
<input id="linkDescription" type="text"/> <br><br>
<button onclick="admin.linkList.add();" class="right">${saveLabel}</button>
<div class="clear"></div>
</div>
<div id="updateLink" class="none form form__no-table">
${updateLinkLabel}
<label>${linkTitle1Label}</label>
<input id="linkTitleUpdate" type="text"/>
<label>${url1Label}</label>
<input id="linkAddressUpdate" type="text"/>
<label>${linkDescription1Label}</label>
<input id="linkDescriptionUpdate" type="text"/><br><br>
<button onclick="admin.linkList.update();" class="right">${updateLabel}</button>
<div class="clear"></div>
</div>
${plugins}
\ No newline at end of file
src/main/webapp/admin-others.ftl
View file @
f965d4f4
...
...
@@ -13,32 +13,13 @@
</ul>
</div>
<div id="tabOthersPanel" class="sub-tabs-main">
<div id="tabOthersPanel_email">
<table class="form" width="98%" cellpadding="0" cellspacing="9px">
<tbody>
<tr>
<th width="90px" valign="top">
<label for="replayEmailTemplateTitle">${emailSubject1Label}</label>
</th>
<td>
<input id="replayEmailTemplateTitle" type="text" />
</td>
</tr>
<tr>
<th valign="top">
<label for="replayEmailTemplateBody">${emailContent1Label}</label>
</th>
<td>
<textarea rows="9" id="replayEmailTemplateBody"></textarea>
</td>
</tr>
<tr>
<td colspan="3" align="right">
<button onclick="admin.others.update()">${updateLabel}</button>
</td>
</tr>
</tbody>
</table>
<div id="tabOthersPanel_email" class="form form__no-table">
<label for="replayEmailTemplateTitle">${emailSubject1Label}</label>
<input id="replayEmailTemplateTitle" type="text"/>
<label for="replayEmailTemplateBody">${emailContent1Label}</label>
<textarea rows="9" id="replayEmailTemplateBody"></textarea><br><br>
<button onclick="admin.others.update()" class="right">${updateLabel}</button>
<div class="clear"></div>
<div class="content-reset">
${replayEmailExplanationLabel}
</div>
...
...
src/main/webapp/admin-page-list.ftl
View file @
f965d4f4
...
...
@@ -26,7 +26,7 @@
<option value="_parent">${targetParentLabel}</option>
<option value="_top">${targetTopLabel}</option>
</select>
<label>${type1Label}</label>
<label
class="page-list__label"
>${type1Label}</label>
<button data-type="link" class="selected fn-type">${pageLinkLabel}</button>
<button data-type="page" class="fn-type">${pageLabel}</button>
</div>
...
...
src/main/webapp/admin-preference.ftl
View file @
f965d4f4
...
...
@@ -33,294 +33,89 @@
</ul>
</div>
<div id="tabPreferencePanel" class="sub-tabs-main">
<div id="tabPreferencePanel_config">
<table class="form" width="100%" cellpadding="0" cellspacing="9px">
<tbody>
<tr>
<td colspan="2" align="right">
<button onclick="admin.preference.update()">${updateLabel}</button>
</td>
</tr>
<tr>
<th width="234px">
<label for="blogTitle">${blogTitle1Label}</label>
</th>
<td>
<input id="blogTitle" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="blogSubtitle">${blogSubtitle1Label}</label>
</th>
<td>
<input id="blogSubtitle" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="blogHost">${blogHost1Label}</label>
</th>
<td>
<input id="blogHost" type="text" value="${servePath}" readonly="true"/>
</td>
</tr>
<tr>
<th>
<label for="metaKeywords">${metaKeywords1Label}</label>
</th>
<td>
<input id="metaKeywords" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="metaDescription">${metaDescription1Label}</label>
</th>
<td>
<input id="metaDescription" type="text"/>
</td>
</tr>
<tr>
<th valign="top">
<label for="htmlHead">${htmlhead1Label}</label>
</th>
<td>
<textarea rows="6" id="htmlHead"></textarea>
</td>
</tr>
<tr>
<th valign="top">
<label for="noticeBoard">${noticeBoard1Label}</label>
</th>
<td>
<textarea rows="6" id="noticeBoard"></textarea>
</td>
</tr>
<tr>
<th valign="top">
<label for="footerContent">${footerContent1Label}</label>
</th>
<td>
<textarea rows="2" id="footerContent"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.preference.update()">${updateLabel}</button>
</td>
</tr>
</tbody>
</table>
<div id="tabPreferencePanel_config" class="form">
<button onclick="admin.preference.update()" class="right">${updateLabel}</button>
<div class="clear"></div>
<label for="blogTitle">${blogTitle1Label}</label>
<input id="blogTitle" type="text"/>
<label for="blogSubtitle">${blogSubtitle1Label}</label>
<input id="blogSubtitle" type="text"/>
<label for="blogHost">${blogHost1Label}</label>
<input id="blogHost" type="text" value="${servePath}" readonly="true"/>
<label for="metaKeywords">${metaKeywords1Label}</label>
<input id="metaKeywords" type="text"/>
<label for="metaDescription">${metaDescription1Label}</label>
<input id="metaDescription" type="text"/>
<label for="htmlHead">${htmlhead1Label}</label>
<textarea rows="6" id="htmlHead"></textarea>
<label for="noticeBoard">${noticeBoard1Label}</label>
<textarea rows="6" id="noticeBoard"></textarea>
<label for="footerContent">${footerContent1Label}</label>
<textarea rows="2" id="footerContent"></textarea><br><br>
<button onclick="admin.preference.update()" class="right">${updateLabel}</button>
<div class="clear"></div>
</div>
<div id="tabPreferencePanel_solo" class="none">
<table class="form" width="100%" cellpadding="0" cellspacing="9px">
<tbody>
<tr>
<th width="80px">
<label for="keyOfSolo">${keyOfSolo1Label}</label>
</th>
<td>
<input id="keyOfSolo" class="normalInput" type="text" readonly="readonly"/>
</td>
</tr>
<tr>
<td colspan="2">
<a href="https://hacpai.com/article/1457158841475" target="_blank">${APILabel}</a>
</td>
</tr>
</tbody>
</table>
<div id="tabPreferencePanel_solo" class="none form">
<label for="keyOfSolo">${keyOfSolo1Label}</label>
<input id="keyOfSolo" class="normalInput" type="text" readonly="readonly"/><br><br>
<a href="https://hacpai.com/article/1457158841475" target="_blank">${APILabel}</a>
</div>
<div id="tabPreferencePanel_setting" class="none">
<table class="form" width="100%" cellpadding="0" cellspacing="9px">
<tbody>
<tr>
<td colspan="2" align="right">
<button onclick="admin.preference.update()">${updateLabel}</button>
</td>
</tr>
<tr>
<th>
<label for="localeString">${localeString1Label}</label>
</th>
<td>
<select id="localeString">
<option value="zh_CN">简体中文</option>
<option value="en_US">Englisth(US)</option>
</select>
</td>
</tr>
<tr>
<th>
<label for="timeZoneId">${timeZoneId1Label}</label>
</th>
<td>
<select id="timeZoneId">
${timeZoneIdOptions}
</select>
</td>
</tr>
<#-- https://github.com/b3log/solo/issues/12285
<tr>
<th>
<label for="editorType">${editType1Label}</label>
</th>
<td>
<select id="editorType">
<option value="tinyMCE">TinyMCE</option>
<option value="CodeMirror-Markdown">CodeMirror(Markdown)</option>
<option value="KindEditor">KindEditor</option>
</select>
</td>
</tr>
-->
<tr>
<th>
<label for="articleListDisplay">${articleListDisplay1Label}</label>
</th>
<td>
<select id="articleListDisplay">
<option value="titleOnly">${titleOnlyLabel}</option>
<option value="titleAndAbstract">${titleAndAbstractLabel}</option>
<option value="titleAndContent">${titleAndContentLabel}</option>
</select>
</td>
</tr>
<tr>
<th>
<label for="mostUsedTagDisplayCount">${indexTagDisplayCnt1Label}</label>
</th>
<td>
<input id="mostUsedTagDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="recentCommentDisplayCount">${indexRecentCommentDisplayCnt1Label}</label>
</th>
<td>
<input id="recentCommentDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="mostCommentArticleDisplayCount">${indexMostCommentArticleDisplayCnt1Label}</label>
</th>
<td>
<input id="mostCommentArticleDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="mostViewArticleDisplayCount">${indexMostViewArticleDisplayCnt1Label}</label>
</th>
<td>
<input id="mostViewArticleDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="articleListDisplayCount">${pageSize1Label}</label>
</th>
<td>
<input id="articleListDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="articleListPaginationWindowSize">${windowSize1Label}</label>
</th>
<td>
<input id="articleListPaginationWindowSize" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="randomArticlesDisplayCount">${randomArticlesDisplayCnt1Label}</label>
</th>
<td>
<input id="randomArticlesDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="relevantArticlesDisplayCount">${relevantArticlesDisplayCnt1Label}</label>
</th>
<td>
<input id="relevantArticlesDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="externalRelevantArticlesDisplayCount">${externalRelevantArticlesDisplayCnt1Label}</label>
</th>
<td>
<input id="externalRelevantArticlesDisplayCount" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="enableArticleUpdateHint">${enableArticleUpdateHint1Label}</label>
</th>
<td>
<input id="enableArticleUpdateHint" type="checkbox" class="normalInput"/>
</td>
</tr>
<tr>
<th>
<label for="allowVisitDraftViaPermalink">${allowVisitDraftViaPermalink1Label}</label>
</th>
<td>
<input id="allowVisitDraftViaPermalink" type="checkbox" class="normalInput"/>
</td>
</tr>
<tr>
<th>
<label for="commentable">${allowComment1Label}</label>
</th>
<td>
<input id="commentable" type="checkbox" class="normalInput"/>
</td>
</tr>
<tr>
<th>
<label for="allowRegister">${allowRegister1Label}</label>
</th>
<td>
<input id="allowRegister" type="checkbox" class="normalInput"/>
</td>
</tr>
<tr>
<th>
<label for="feedOutputMode">${feedOutputModel1Label}</label>
</th>
<td>
<select id="feedOutputMode">
<option value="abstract">${abstractLabel}</option>
<option value="fullContent">${fullContentLabel}</option>
</select>
</td>
</tr>
<tr>
<th>
<label for="feedOutputCnt">${feedOutputCnt1Label}</label>
</th>
<td>
<input id="feedOutputCnt" class="normalInput" type="text"/>
</td>
</tr>
<tr>
<th colspan="2">
<button onclick="admin.preference.update()">${updateLabel}</button>
</th>
</tr>
</tbody>
</table>
<div id="tabPreferencePanel_setting" class="none form">
<button class="right" onclick="admin.preference.update()">${updateLabel}</button>
<div class="clear"></div>
<label for="localeString">${localeString1Label}</label>
<select id="localeString">
<option value="zh_CN">简体中文</option>
<option value="en_US">Englisth(US)</option>
</select>
<label for="timeZoneId">${timeZoneId1Label}</label>
<select id="timeZoneId">
${timeZoneIdOptions}
</select>
<label for="articleListDisplay">${articleListDisplay1Label}</label>
<select id="articleListDisplay">
<option value="titleOnly">${titleOnlyLabel}</option>
<option value="titleAndAbstract">${titleAndAbstractLabel}</option>
<option value="titleAndContent">${titleAndContentLabel}</option>
</select>
<label for="mostUsedTagDisplayCount">${indexTagDisplayCnt1Label}</label>
<input id="mostUsedTagDisplayCount" class="normalInput" type="text"/>
<label for="recentCommentDisplayCount">${indexRecentCommentDisplayCnt1Label}</label>
<input id="recentCommentDisplayCount" class="normalInput" type="text"/>
<label for="mostCommentArticleDisplayCount">${indexMostCommentArticleDisplayCnt1Label}</label>
<input id="mostCommentArticleDisplayCount" class="normalInput" type="text"/>
<label for="mostViewArticleDisplayCount">${indexMostViewArticleDisplayCnt1Label}</label>
<input id="mostViewArticleDisplayCount" class="normalInput" type="text"/>
<label for="articleListDisplayCount">${pageSize1Label}</label>
<input id="articleListDisplayCount" class="normalInput" type="text"/>
<label for="articleListPaginationWindowSize">${windowSize1Label}</label>
<input id="articleListPaginationWindowSize" class="normalInput" type="text"/>
<label for="randomArticlesDisplayCount">${randomArticlesDisplayCnt1Label}</label>
<input id="randomArticlesDisplayCount" class="normalInput" type="text"/>
<label for="relevantArticlesDisplayCount">${relevantArticlesDisplayCnt1Label}</label>
<input id="relevantArticlesDisplayCount" class="normalInput" type="text"/>
<label for="externalRelevantArticlesDisplayCount">${externalRelevantArticlesDisplayCnt1Label}</label>
<input id="externalRelevantArticlesDisplayCount" class="normalInput" type="text"/>
<label for="enableArticleUpdateHint">${enableArticleUpdateHint1Label}</label>
<input id="enableArticleUpdateHint" type="checkbox" class="normalInput"/>
<label for="allowVisitDraftViaPermalink">${allowVisitDraftViaPermalink1Label}</label>
<input id="allowVisitDraftViaPermalink" type="checkbox" class="normalInput"/>
<label for="commentable">${allowComment1Label}</label>
<input id="commentable" type="checkbox" class="normalInput"/>
<label for="allowRegister">${allowRegister1Label}</label>
<input id="allowRegister" type="checkbox" class="normalInput"/>
<label for="feedOutputMode">${feedOutputModel1Label}</label>
<select id="feedOutputMode">
<option value="abstract">${abstractLabel}</option>
<option value="fullContent">${fullContentLabel}</option>
</select>
<label for="feedOutputCnt">${feedOutputCnt1Label}</label>
<input id="feedOutputCnt" class="normalInput" type="text"/><br/><br/>
<button class="right" onclick="admin.preference.update()">${updateLabel}</button>
<div class="clear"></div>
</div>
<div id="tabPreferencePanel_skins" class="none form">
<table class="form" width="100%" cellpadding="0" cellspacing="
9px
">
<table class="form" width="100%" cellpadding="0" cellspacing="
0
">
<tbody>
<tr>
<td align="right">
...
...
@@ -340,90 +135,33 @@
</tbody>
</table>
</div>
<div id="tabPreferencePanel_signs" class="none">
<table class="form" width="100%" cellpadding="0" cellspacing="9px">
<tbody>
<tr>
<th colspan="2">
<button onclick="admin.preference.update()" class="right">${updateLabel}</button>
</th>
</tr>
<tr>
<th valign="top" width="80">
<button id="preferenceSignButton1">${signLabel}1</button>
</th>
<td>
<textarea rows="8" id="preferenceSign1"></textarea>
</td>
</tr>
<tr>
<th valign="top">
<button id="preferenceSignButton2">${signLabel}2</button>
</th>
<td>
<textarea rows="8" id="preferenceSign2"></textarea>
</td>
</tr>
<tr>
<th valign="top">
<button id="preferenceSignButton3">${signLabel}3</button>
</th>
<td>
<textarea rows="8" id="preferenceSign3"></textarea>
</td>
</tr>
<tr>
<th colspan="2">
<button onclick="admin.preference.update()" class="right">${updateLabel}</button>
</th>
</tr>
</tbody>
</table>
<div id="tabPreferencePanel_signs" class="none form">
<button onclick="admin.preference.update()" class="right">${updateLabel}</button>
<div class="clear"></div>
<button id="preferenceSignButton1">${signLabel}1</button>
<textarea rows="8" id="preferenceSign1"></textarea>
<button id="preferenceSignButton2">${signLabel}2</button>
<textarea rows="8" id="preferenceSign2"></textarea>
<button id="preferenceSignButton3">${signLabel}3</button>
<textarea rows="8" id="preferenceSign3"></textarea><br><br>
<button onclick="admin.preference.update()" class="right">${updateLabel}</button>
<div class="clear"></div>
</div>
<div id="tabPreferencePanel_qiniu" class="none">
<table class="form" width="100%" cellpadding="0" cellspacing="9px">
<tbody>
<tr>
<th colspan="2">
<a href="https://hacpai.com/article/1442418791213" target="_blank">${howConfigLabel}</a>
<button onclick="admin.preference.updateQiniu()">${updateLabel}</button>
</th>
</tr>
<tr>
<th width="120">
<label for="qiniuAccessKey">${accessKey1Label}</label>
</th>
<td>
<input id="qiniuAccessKey" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="qiniuSecretKey">${secretKey1Label}</label>
</th>
<td>
<input id="qiniuSecretKey" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="qiniuDomain">${domain1Label}</label>
</th>
<td>
<input id="qiniuDomain" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="qiniuBucket">${bucket1Label}</label>
</th>
<td>
<input id="qiniuBucket" type="text"/>
</td>
</tr>
</tbody>
</table>
<div id="tabPreferencePanel_qiniu" class="none form">
<span class="right">
<a href="https://hacpai.com/article/1442418791213" target="_blank">${howConfigLabel}</a>
<button onclick="admin.preference.updateQiniu()">${updateLabel}</button>
</span>
<div class="clear"></div>
<label for="qiniuAccessKey">${accessKey1Label}</label>
<input id="qiniuAccessKey" type="text"/>
<label for="qiniuSecretKey">${secretKey1Label}</label>
<input id="qiniuSecretKey" type="text"/>
<label for="qiniuDomain">${domain1Label}</label>
<input id="qiniuDomain" type="text"/>
<label for="qiniuBucket">${bucket1Label}</label>
<input id="qiniuBucket" type="text"/>
</div>
</div>
${plugins}
\ No newline at end of file
src/main/webapp/admin-user-list.ftl
View file @
f965d4f4
...
...
@@ -3,118 +3,34 @@
<div id="userPagination" class="margin12 right"></div>
</div>
<div class="clear"></div>
<table class="form" width="100%" cellpadding="0px" cellspacing="9px">
<thead>
<tr>
<th style="text-align: left" colspan="2">
${addUserLabel}
</th>
</tr>
</thead>
<tbody>
<tr>
<th width="48px">
<label for="userName">${commentName1Label}</label>
</th>
<td>
<input id="userName" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="userEmail">${commentEmail1Label}</label>
</th>
<td>
<input id="userEmail" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="userURL">${userURL1Label}</label>
</th>
<td>
<input id="userURL" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="userPassword">${userPassword1Label}</label>
</th>
<td>
<input id="userPassword" type="password" autocomplete="new-password"/>
</td>
</tr>
<tr>
<th>
<label for="userAvatar">${userAvatar1Label}</label>
</th>
<td>
<input id="userAvatar" type="text"/>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.userList.add();">${saveLabel}</button>
</td>
</tr>
</tbody>
</table>
<div id="userUpdate" class="none">
<table class="form" width="100%" cellpadding="0px" cellspacing="9px">
<thead>
<tr>
<th style="text-align: left" colspan="2">
${updateUserLabel}
</th>
</tr>
</thead>
<tbody>
<tr>
<th width="48px">
<label for="userNameUpdate">${commentName1Label}</label>
</th>
<td>
<input id="userNameUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="userEmailUpdate">${commentEmail1Label}</label>
</th>
<td>
<input id="userEmailUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="userURLUpdate">${userURL1Label}</label>
</th>
<td>
<input id="userURLUpdate" type="text"/>
</td>
</tr>
<tr>
<th>
<label for="userPasswordUpdate">${userPassword1Label}</label>
</th>
<td>
<input id="userPasswordUpdate" type="password"/>
</td>
</tr>
<tr>
<th>
<label for="userAvatarUpdate">${userAvatar1Label}</label>
</th>
<td>
<input id="userAvatarUpdate" type="text"/>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<button onclick="admin.userList.update();">${updateLabel}</button>
</td>
</tr>
</tbody>
</table>
<div class="form form__no-table">
${addUserLabel}
<label for="userName">${commentName1Label}</label>
<input id="userName" type="text"/>
<label for="userEmail">${commentEmail1Label}</label>
<input id="userEmail" type="text"/>
<label for="userURL">${userURL1Label}</label>
<input id="userURL" type="text"/>
<label for="userPassword">${userPassword1Label}</label>
<input id="userPassword" type="password" autocomplete="new-password"/>
<label for="userAvatar">${userAvatar1Label}</label>
<input id="userAvatar" type="text"/><br><br>
<button onclick="admin.userList.add();" class="right">${saveLabel}</button>
<div class="clear"></div>
</div>
<div id="userUpdate" class="none form form__table">
${updateUserLabel}
<label for="userNameUpdate">${commentName1Label}</label>
<input id="userNameUpdate" type="text"/>
<label for="userEmailUpdate">${commentEmail1Label}</label>
<input id="userEmailUpdate" type="text"/>
<label for="userURLUpdate">${userURL1Label}</label>
<input id="userURLUpdate" type="text"/>
<label for="userPasswordUpdate">${userPassword1Label}</label>
<input id="userPasswordUpdate" type="password"/>
<label for="userAvatarUpdate">${userAvatar1Label}</label>
<input id="userAvatarUpdate" type="text"/> <br><br>
<button onclick="admin.userList.update();" class="right">${updateLabel}</button>
<div class="clear"></div>
</div>
${plugins}
src/main/webapp/css/default-admin.css
View file @
f965d4f4
...
...
@@ -22,20 +22,24 @@
/* start resset */
body
,
input
,
textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
;
}
html
,
body
{
color
:
#767676
;
background
:
#f1f2f7
;
font-size
:
13px
;
}
a
{
color
:
#4183c4
;
text-decoration
:
none
;
}
a
:visited
{
color
:
#7ba9d6
;
}
a
:active
{
color
:
#2c5d8d
;
}
...
...
@@ -48,14 +52,16 @@ a:hover {
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
word-wrap
:
break-word
;
overflow
:
hidden
;
line-height
:
1.5
;
line-height
:
1.5
;
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
;
margin-bottom
:
16px
;
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
...
...
@@ -65,71 +71,88 @@ a:hover {
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
;
line-height
:
1.25
;
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
2em
;
font-size
:
2em
;
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
font-size
:
1.5em
;
}
.content-reset
h3
{
font-size
:
1.25em
;
font-size
:
1.25em
;
}
.content-reset
h4
{
font-size
:
1em
;
font-size
:
1em
;
}
.content-reset
h5
{
font-size
:
0.875em
;
font-size
:
0.875em
;
}
.content-reset
h6
{
font-size
:
0.85em
;
font-size
:
0.85em
;
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
;
margin-bottom
:
16px
;
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
;
margin-bottom
:
16px
;
}
.content-reset
blockquote
p
{
margin
:
0
;
margin
:
0
;
}
.content-reset
iframe
{
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
;
empty-cells
:
show
;
}
.content-reset
thead
{
text-align
:
center
;
text-align
:
center
;
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
;
padding
:
0
10px
;
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
);
background
:
rgba
(
158
,
188
,
226
,
0.2
);
}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
);
background
:
rgba
(
158
,
188
,
226
,
0.12
);
}
.content-reset
tr
:hover
{
background
:
#efefef
;
background
:
#efefef
;
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
...
...
@@ -137,8 +160,9 @@ a:hover {
background-color
:
rgba
(
252
,
41
,
41
,
0.12
);
border-radius
:
3px
;
color
:
#d23f31
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
border-radius
:
0
;
...
...
@@ -146,8 +170,9 @@ a:hover {
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-image
:
url(../images/code-bg.png)
;
background-size
:
20px
20px
;
border-radius
:
5px
;
border-radius
:
5px
;
}
.content-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
...
...
@@ -159,7 +184,7 @@ a:hover {
border
:
solid
1px
#ccc
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
;
box-shadow
:
inset
0
-1px
0
#bbb
;
}
.content-reset
img
{
...
...
@@ -194,7 +219,7 @@ a:hover {
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
...
...
@@ -206,7 +231,7 @@ a:hover {
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
...
...
@@ -255,18 +280,18 @@ a:hover {
animation-delay
:
0.4s
}
.tooltipped-s
::after
,
.tooltipped-se
::after
,
.tooltipped-sw
::after
{
.tooltipped-s
::after
,
.tooltipped-se
::after
,
.tooltipped-sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.tooltipped-s
::before
,
.tooltipped-se
::before
,
.tooltipped-sw
::before
{
.tooltipped-s
::before
,
.tooltipped-se
::before
,
.tooltipped-sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)
}
.tooltipped-se
::after
{
...
...
@@ -279,18 +304,18 @@ a:hover {
margin-right
:
-15px
}
.tooltipped-n
::after
,
.tooltipped-ne
::after
,
.tooltipped-nw
::after
{
.tooltipped-n
::after
,
.tooltipped-ne
::after
,
.tooltipped-nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.tooltipped-n
::before
,
.tooltipped-ne
::before
,
.tooltipped-nw
::before
{
.tooltipped-n
::before
,
.tooltipped-ne
::before
,
.tooltipped-nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)
}
.tooltipped-ne
::after
{
...
...
@@ -303,7 +328,7 @@ a:hover {
margin-right
:
-15px
}
.tooltipped-s
::after
,
.tooltipped-n
::after
{
.tooltipped-s
::after
,
.tooltipped-n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)
}
...
...
@@ -321,7 +346,7 @@ a:hover {
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
);
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
);
}
.tooltipped-e
::after
{
...
...
@@ -337,7 +362,7 @@ a:hover {
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)
}
button
,
...
...
@@ -365,241 +390,308 @@ button:hover {
background-color
:
#1ca59e
;
border-color
:
#1ca59e
;
}
/* end reset */
/* start ico */
@font-face
{
font-family
:
'icomoon'
;
src
:
url('fonts/icomoon.eot?f71494')
;
src
:
url('fonts/icomoon.eot?f71494#iefix')
format
(
'embedded-opentype'
),
font-family
:
'icomoon'
;
src
:
url('fonts/icomoon.eot?f71494')
;
src
:
url('fonts/icomoon.eot?f71494#iefix')
format
(
'embedded-opentype'
),
url('fonts/icomoon.ttf?f71494')
format
(
'truetype'
),
url('fonts/icomoon.woff?f71494')
format
(
'woff'
),
url('fonts/icomoon.svg?f71494#icomoon')
format
(
'svg'
);
font-weight
:
normal
;
font-style
:
normal
;
font-weight
:
normal
;
font-style
:
normal
;
}
[
class
^=
"icon-"
],
[
class
*=
" icon-"
]
{
/* use !important to prevent issues with browser extensions that change fonts */
font-family
:
'icomoon'
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
/* use !important to prevent issues with browser extensions that change fonts */
font-family
:
'icomoon'
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
/* Better Font Rendering =========== */
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
/* Better Font Rendering =========== */
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
}
.icon-move-down
:before
{
content
:
"\e90a"
;
content
:
"\e90a"
;
}
.icon-move-up
:before
{
content
:
"\e90b"
;
content
:
"\e90b"
;
}
.icon-points
:before
{
content
:
"\e900"
;
content
:
"\e900"
;
}
.icon-goods
:before
{
content
:
"\e904"
;
content
:
"\e904"
;
}
.icon-bold
:before
{
content
:
"\e000"
;
content
:
"\e000"
;
}
.icon-italic
:before
{
content
:
"\e001"
;
content
:
"\e001"
;
}
.icon-quote
:before
{
content
:
"\e003"
;
content
:
"\e003"
;
}
.icon-unordered-list
:before
{
content
:
"\e004"
;
content
:
"\e004"
;
}
.icon-ordered-list
:before
{
content
:
"\e005"
;
content
:
"\e005"
;
}
.icon-link
:before
{
content
:
"\e006"
;
content
:
"\e006"
;
}
.icon-image
:before
{
content
:
"\e007"
;
content
:
"\e007"
;
}
.icon-play
:before
{
content
:
"\e008"
;
content
:
"\e008"
;
}
.icon-music
:before
{
content
:
"\e009"
;
content
:
"\e009"
;
}
.icon-contract
:before
{
content
:
"\e00a"
;
content
:
"\e00a"
;
}
.icon-fullscreen
:before
{
content
:
"\e00b"
;
content
:
"\e00b"
;
}
.icon-question
:before
{
content
:
"\e00c"
;
content
:
"\e00c"
;
}
.icon-info
:before
{
content
:
"\e00d"
;
content
:
"\e00d"
;
}
.icon-undo
:before
{
content
:
"\e00e"
;
content
:
"\e00e"
;
}
.icon-redo
:before
{
content
:
"\e00f"
;
content
:
"\e00f"
;
}
.icon-code
:before
{
content
:
"\e011"
;
content
:
"\e011"
;
}
.icon-preview
:before
{
content
:
"\e002"
;
content
:
"\e002"
;
}
.icon-navigation
:before
{
content
:
"\e903"
;
content
:
"\e903"
;
}
.icon-thumbs-down
:before
{
content
:
"\e901"
;
content
:
"\e901"
;
}
.icon-thumbs-up
:before
{
content
:
"\e902"
;
content
:
"\e902"
;
}
.icon-video
:before
{
content
:
"\f057"
;
content
:
"\f057"
;
}
.icon-feed
:before
{
content
:
"\e61f"
;
content
:
"\e61f"
;
}
.icon-article
:before
{
content
:
"\e61d"
;
content
:
"\e61d"
;
}
.icon-star
:before
{
content
:
"\e600"
;
content
:
"\e600"
;
}
.icon-register
:before
{
content
:
"\e602"
;
content
:
"\e602"
;
}
.icon-logout
:before
{
content
:
"\e603"
;
content
:
"\e603"
;
}
.icon-setting
:before
{
content
:
"\e604"
;
content
:
"\e604"
;
}
.icon-google
:before
{
content
:
"\e605"
;
content
:
"\e605"
;
}
.icon-search
:before
{
content
:
"\e606"
;
content
:
"\e606"
;
}
.icon-weibo
:before
{
content
:
"\e607"
;
content
:
"\e607"
;
}
.icon-date
:before
{
content
:
"\e608"
;
content
:
"\e608"
;
}
.icon-view
:before
{
content
:
"\e609"
;
content
:
"\e609"
;
}
.icon-cmts
:before
{
content
:
"\e60a"
;
content
:
"\e60a"
;
}
.icon-refresh
:before
{
content
:
"\e60b"
;
content
:
"\e60b"
;
}
.icon-up
:before
{
content
:
"\e60c"
;
content
:
"\e60c"
;
}
.icon-twitter
:before
{
content
:
"\e60d"
;
content
:
"\e60d"
;
}
.icon-edit
:before
{
content
:
"\e60e"
;
content
:
"\e60e"
;
}
.icon-tencent
:before
{
content
:
"\e60f"
;
content
:
"\e60f"
;
}
.icon-tag
:before
{
content
:
"\e610"
;
content
:
"\e610"
;
}
.icon-tags
:before
{
content
:
"\e611"
;
content
:
"\e611"
;
}
.icon-addfile
:before
{
content
:
"\e612"
;
content
:
"\e612"
;
}
.icon-login
:before
{
content
:
"\e613"
;
content
:
"\e613"
;
}
.icon-articles
:before
{
content
:
"\e614"
;
content
:
"\e614"
;
}
.icon-userrole
:before
{
content
:
"\e615"
;
content
:
"\e615"
;
}
.icon-email
:before
{
content
:
"\e616"
;
content
:
"\e616"
;
}
.icon-flag
:before
{
content
:
"\e617"
;
content
:
"\e617"
;
}
.icon-chevron-down
:before
{
content
:
"\e618"
;
content
:
"\e618"
;
}
.icon-chevron-up
:before
{
content
:
"\e619"
;
content
:
"\e619"
;
}
.icon-reply
:before
{
content
:
"\e61a"
;
content
:
"\e61a"
;
}
.icon-clock
:before
{
content
:
"\e61b"
;
content
:
"\e61b"
;
}
.icon-compass
:before
{
content
:
"\e61c"
;
content
:
"\e61c"
;
}
.icon-heart
:before
{
content
:
"\e9da"
;
content
:
"\e9da"
;
}
.icon-locked
:before
{
content
:
"\e61e"
;
content
:
"\e61e"
;
}
.icon-close
:before
{
content
:
"\e909"
;
content
:
"\e909"
;
}
.icon-wechat
:before
{
content
:
"\e907"
;
content
:
"\e907"
;
}
.icon-upload
:before
{
content
:
"\f0ee"
;
content
:
"\f0ee"
;
}
.icon-copy
:before
{
content
:
"\e908"
;
content
:
"\e908"
;
}
.icon-time
:before
{
content
:
"\e906"
;
content
:
"\e906"
;
}
.icon-sortasc
:before
{
content
:
"\e905"
;
content
:
"\e905"
;
}
a
[
class
^=
"icon-"
],
a
[
class
^=
"icon-"
],
a
[
class
*=
" icon-"
]
{
color
:
#333
;
}
a
[
class
^=
"icon-"
]
:hover
,
a
[
class
^=
"icon-"
]
:hover
,
a
[
class
*=
" icon-"
]
:hover
{
text-decoration
:
none
;
color
:
#4183c4
;
}
.aboutIcon
{
background-position
:
-16px
-48px
;
}
.icon-move-down
,
.icon-move-up
{
cursor
:
pointer
;
}
/* end ico */
/* start frame */
...
...
@@ -608,13 +700,14 @@ a[class*=" icon-"]:hover {
min-height
:
100%
;
position
:
relative
;
}
#tabsPanel
{
margin
:
50px
0
0
240px
;
padding
:
15px
;
min-height
:
100px
;
}
#tabsPanel
>
div
{
#tabsPanel
>
div
{
padding-bottom
:
36px
;
}
...
...
@@ -644,7 +737,7 @@ a[class*=" icon-"]:hover {
z-index
:
1001
;
}
#tipMsg
,
#loadMsg
{
#tipMsg
,
#loadMsg
{
color
:
#31708f
;
background-color
:
#d9edf7
;
border-radius
:
4px
;
...
...
@@ -660,20 +753,21 @@ a[class*=" icon-"]:hover {
padding-left
:
240px
;
box-sizing
:
border-box
;
}
/* end frame */
/* start top-nav */
#top
{
height
:
50px
;
position
:
fixed
;
box-shadow
:
1px
0
3px
rgba
(
0
,
0
,
0
,
.15
);
box-shadow
:
1px
0
3px
rgba
(
0
,
0
,
0
,
.15
);
width
:
100%
;
top
:
0
;
background-color
:
#fff
;
z-index
:
80
;
}
#top
>
a
{
#top
>
a
{
background
:
#1fb5ad
;
float
:
left
;
width
:
240px
;
...
...
@@ -686,7 +780,7 @@ a[class*=" icon-"]:hover {
line-height
:
50px
;
}
#top
>
.right
a
{
#top
>
.right
a
{
color
:
#555
;
line-height
:
32px
;
margin
:
8px
10px
;
...
...
@@ -712,6 +806,7 @@ a[class*=" icon-"]:hover {
float
:
left
;
margin
:
3px
6px
0
0
;
}
/* end top-nav */
/* start first tab */
...
...
@@ -732,7 +827,7 @@ a[class*=" icon-"]:hover {
#tabs
li
{
margin-left
:
0px
;
border-bottom
:
1px
solid
rgba
(
255
,
255
,
255
,
0.05
);
border-bottom
:
1px
solid
rgba
(
255
,
255
,
255
,
0.05
);
}
#tabs
li
>
div
>
a
,
...
...
@@ -755,8 +850,8 @@ a[class*=" icon-"]:hover {
#tabs
#tabArticleTitle
.tab-current
,
#tabs
#tabToolsTitle
:hover
,
#tabs
#tabArticleTitle
:hover
{
background-color
:
#28282e
;
color
:
#1fb5ad
;
background-color
:
#28282e
;
color
:
#1fb5ad
;
}
#tabs
li
li
{
...
...
@@ -767,21 +862,24 @@ a[class*=" icon-"]:hover {
padding
:
13px
0
13px
46px
;
line-height
:
15px
;
height
:
15px
;
background-color
:
#28282e
;
background-color
:
#28282e
;
}
#tabs
li
li
>
div
>
a
:hover
,
#tabs
li
li
>
div
>
a
.tab-current
{
background-color
:
#202025
;
background-color
:
#202025
;
}
#tabs
.commentIcon
,
#tabs
.postIcon
,
#tabs
.preferenceIcon
,
#tabs
.usersIcon
,
#tabs
.commentIcon
,
#tabs
.postIcon
,
#tabs
.preferenceIcon
,
#tabs
.usersIcon
,
#tabs
.aboutIcon
{
display
:
none
;
}
#tabs
.icon-chevron-up
,
#tabs
.icon-chevron-down
{
margin-right
:
10px
;
}
/* end first tabs */
/* start sub tabs */
...
...
@@ -790,15 +888,18 @@ a[class*=" icon-"]:hover {
border-radius
:
4px
4px
0
0
;
overflow
:
hidden
;
}
.sub-tabs
ul
{
float
:
left
;
list-style
:
none
outside
none
;
margin-right
:
24px
;
}
.sub-tabs
li
{
float
:
left
;
margin
:
0
;
}
.sub-tabs
li
a
{
border-right
:
1px
solid
#e0e1e7
;
color
:
#898989
;
...
...
@@ -807,20 +908,23 @@ a[class*=" icon-"]:hover {
padding
:
20px
15px
;
text-decoration
:
none
;
}
.sub-tabs
.tab-current
,
.sub-tabs
.tab-current
:hover
,
.sub-tabs
a
:hover
{
background-color
:
#FFFFFF
;
color
:
#1fb5ad
;
}
.sub-tabs-main
{
background-color
:
#FFFFFF
;
padding
:
15px
;
border-radius
:
0
0
4px
4px
;
}
/* end preference tabs*/
/* start form */
.form
>
div
{
.form
>
div
{
margin
:
15px
0
;
}
...
...
@@ -829,7 +933,8 @@ a[class*=" icon-"]:hover {
display
:
inline-block
;
}
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
{
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
,
.form
select
{
font-size
:
14px
;
outline
:
medium
none
;
width
:
100%
;
...
...
@@ -839,7 +944,8 @@ a[class*=" icon-"]:hover {
border
:
1px
solid
#e2e2e4
;
color
:
#333
;
border-radius
:
4px
;
transition
:
border-color
ease-in-out
.15s
,
box-shadow
ease-in-out
.15s
;
transition
:
border-color
ease-in-out
.15s
,
box-shadow
ease-in-out
.15s
;
background-color
:
#fff
;
}
.form
textarea
{
...
...
@@ -858,6 +964,7 @@ table.form label {
table
.form
th
{
vertical-align
:
initial
;
}
/* end form */
/* start module */
...
...
@@ -867,6 +974,7 @@ table.form th {
margin-bottom
:
20px
;
min-height
:
160px
;
}
.module-header
{
background
:
#fafafa
;
padding
:
15px
;
...
...
@@ -903,10 +1011,10 @@ table.form th {
background-color
:
#F5F5F5
;
}
.module-panel
.module-body
li
a
:hover
{
text-decoration
:
none
;
}
/* end module */
/* start comments */
...
...
@@ -921,28 +1029,27 @@ table.form th {
height
:
462px
;
overflow
:
auto
;
}
/* end comments */
/* start article */
.article__thumbnail
{
margin
:
10px
auto
20px
;
display
:
none
;
width
:
800px
;
text-align
:
center
;
}
.article__thumbnail
.thumbnail__img
{
background-color
:
rgba
(
0
,
0
,
0
,
.02
);
background-color
:
rgba
(
0
,
0
,
0
,
.02
);
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
50%
;
height
:
180px
;
width
:
720px
;
float
:
left
;
width
:
100%
;
}
.article__thumbnail
button
{
float
:
left
;
margin
:
148px
0
0
20px
;
margin-top
:
10px
}
button
#submitArticle
{
...
...
@@ -957,7 +1064,7 @@ button#submitArticle:hover {
.CodeMirror
{
border-radius
:
0
0
3px
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
border
:
1px
solid
#ccc
;
margin-bottom
:
20px
;
border-top-width
:
0
;
...
...
@@ -971,6 +1078,7 @@ button#submitArticle:hover {
#pagePagePanel
{
margin-top
:
0
;
}
/* end article */
/* start preference */
...
...
@@ -978,12 +1086,14 @@ button#submitArticle:hover {
min-width
:
328px
;
width
:
99%
;
}
.skinPreview
{
cursor
:
pointer
;
height
:
160px
;
margin
:
6px
;
width
:
280px
;
}
.skinItem
{
background-color
:
#FAFAFA
;
border-radius
:
3px
;
...
...
@@ -996,18 +1106,19 @@ button#submitArticle:hover {
#skinMain
.skinItem.selected
{
background-color
:
#1fb5ad
;
}
.skinItem
:hover
{
background-color
:
#EEE
;
}
.f-blue
,
.error-msg
{
color
:
#3366CC
;
}
.signs
button
{
margin
:
0
12px
;
}
#keyOfSolo
{
width
:
200px
;
}
/* end preference */
/* start common list */
...
...
@@ -1018,9 +1129,10 @@ button#submitArticle:hover {
width
:
35px
;
}
#commentTable
.table-main
td
{
#commentTable
.table-main
td
{
vertical-align
:
top
;
}
/* end common list */
/* start about */
...
...
@@ -1042,8 +1154,8 @@ button#submitArticle:hover {
background-color
:
#fff
;
text-decoration
:
underline
;
}
/* end about */
/* end about */
/*
* jQuly plugin: bowknot style
...
...
@@ -1051,9 +1163,18 @@ button#submitArticle:hover {
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.0.0.7, Oct 29, 2011
*/
.completed-input
{
margin
:
0
12px
0
0
;
.tag__select
{
position
:
relative
;
display
:
block
;
}
.tag__select
button
{
position
:
absolute
;
right
:
0
;
top
:
1px
;
border-radius
:
0
4px
4px
0
;
}
.completed-panel
{
background-color
:
#fff
;
border
:
1px
solid
#ddd
;
...
...
@@ -1066,21 +1187,24 @@ button#submitArticle:hover {
width
:
50%
;
border-top
:
0
;
}
.completed-panel
a
{
display
:
block
;
text-decoration
:
none
;
line-height
:
26px
;
padding
:
0
5px
;
}
.completed-panel
a
.selected
{
background-color
:
#f5f5f5
;
color
:
#fa8564
;
}
.completed-ck
{
margin-top
:
9px
;
}
.completed-ck
span
,
.completed-ck
span
,
.signs
button
{
margin
:
5px
10px
5px
0
;
display
:
inline-block
;
...
...
@@ -1088,7 +1212,7 @@ button#submitArticle:hover {
border-color
:
#c7cbd6
;
}
.completed-ck
span
:hover
,
.completed-ck
span
:hover
,
.signs
button
:hover
{
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
;
...
...
@@ -1100,6 +1224,7 @@ button#submitArticle:hover {
border-color
:
#1ca59e
;
color
:
#fff
;
}
.dialog-background
{
background-color
:
#000000
;
display
:
none
;
...
...
@@ -1118,6 +1243,7 @@ button#submitArticle:hover {
position
:
absolute
;
z-index
:
100
;
}
.dialog-title
{
color
:
#FFFFFF
;
float
:
left
;
...
...
@@ -1203,6 +1329,7 @@ button#submitArticle:hover {
width
:
24px
;
margin
:
0
5px
;
}
.table-main
{
margin
:
0
;
padding
:
0
;
...
...
@@ -1236,16 +1363,20 @@ button#submitArticle:hover {
.table-lineHover
.table-hasExpend
td
{
border-bottom
:
0px
;
}
.table-heiglight
td
,
.table-lineHover
td
{
background-color
:
#F5F5F5
;
border-right-color
:
#F5F5F5
;
}
.table-expendRow
td
{
padding
:
0
0
5px
36px
;
}
.table-expendRow
td
span
{
.table-expendRow
td
span
{
margin-left
:
60px
;
}
.table-expendRow
td
a
{
padding
:
1px
5px
;
font-size
:
12px
;
...
...
@@ -1261,6 +1392,7 @@ button#submitArticle:hover {
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
;
}
.table-center
{
margin
:
0
auto
;
}
...
...
@@ -1289,4 +1421,136 @@ button#submitArticle:hover {
width
:
18px
;
float
:
left
;
margin
:
-1px
10px
0
0
;
}
#preferenceSignButton1
,
#preferenceSignButton2
,
#preferenceSignButton3
{
margin
:
10px
0
;
}
#tabPreferencePanel
label
,
#tabPreferencePanel_setting
label
,
#tabPreferencePanel_qiniu
label
,
.form__no-table
label
{
width
:
100%
;
margin-top
:
10px
;
font-weight
:
bold
;
}
.page-list__label
{
width
:
100%
;
}
@media
(
max-width
:
768px
)
{
#top
>
a
{
display
:
none
;
}
#tabsPanel
{
margin-left
:
0
;
}
.footer
{
padding-left
:
0
;
}
.skinPreview
{
width
:
100%
;
height
:
auto
;
margin
:
0
;
}
.tip
{
left
:
12px
;
}
#tabs
{
transition
:
all
0.15s
ease-in-out
;
left
:
-240px
;
z-index
:
100
;
}
.top__menu
{
font-size
:
22px
;
margin
:
12px
;
float
:
left
;
display
:
block
;
}
.editor-toolbar
{
height
:
auto
!important
;
overflow
:
hidden
;
}
.fn__flex
{
display
:
block
;
}
#permalink
{
margin
:
0
!important
;
}
.permalink__label
{
margin-bottom
:
10px
!important
;
}
.viewpwd__panel
,
.article-commentable__panel
{
float
:
none
;
}
#viewPwd
{
width
:
100%
!important
;
}
.viewpwd__panel
label
{
margin-top
:
20px
;
}
.signs
label
{
width
:
100%
;
}
.table-expendRow
td
{
padding-left
:
10px
;
}
.about-margin
{
margin-bottom
:
10px
;
}
.about__iframe
{
margin
:
0
0
20px
0
!important
;
}
.about-logo
{
margin
:
0
auto
;
display
:
block
;
float
:
none
;
width
:
128px
;
}
.about__panel
{
margin-left
:
0
!important
;
}
.dialog-panel
{
left
:
0
!important
;
top
:
0
!important
;
padding
:
10px
!important
;
box-sizing
:
border-box
!important
;
width
:
100%
!important
;
}
.tabs__bg
{
display
:
none
;
width
:
100vw
;
height
:
100vh
;
background-color
:
rgba
(
0
,
0
,
0
,
0.4
);
position
:
fixed
;
top
:
0
;
z-index
:
78
;
}
}
\ No newline at end of file
src/main/webapp/js/admin/admin.js
View file @
f965d4f4
...
...
@@ -17,7 +17,7 @@
* @description index for admin
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.
1.3.2, Mar 31, 2017
* @version 1.
2.0.0, Apr 5, 2018
*/
var
Admin
=
function
()
{
this
.
register
=
{};
...
...
@@ -36,6 +36,15 @@ $.extend(Admin.prototype, {
logout
:
function
()
{
window
.
location
.
href
=
latkeConfig
.
servePath
+
"
/logout?goto=
"
+
latkeConfig
.
servePath
;
},
toggleMenu
:
function
()
{
if
(
$
(
'
#tabs
'
).
css
(
'
left
'
)
===
'
-240px
'
)
{
$
(
'
#tabs
'
).
css
(
'
left
'
,
0
);
$
(
'
.tabs__bg
'
).
show
();
}
else
{
$
(
'
#tabs
'
).
css
(
'
left
'
,
'
-240px
'
);
$
(
'
.tabs__bg
'
).
hide
();
}
},
/**
* @description 清除提示
*/
...
...
src/main/webapp/js/admin/articleList.js
View file @
f965d4f4
...
...
@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.2.
5, Aug 23, 2016
* @version 1.0.2.
6, Apr 5, 2018
*/
/* article-list 相关操作 */
...
...
@@ -50,7 +50,7 @@ admin.articleList = {
index
:
"
articleViewCount
"
,
style
:
"
padding-left: 12px;
"
},
{
text
:
Label
.
createD
ateLabel
,
text
:
Label
.
d
ateLabel
,
index
:
"
date
"
,
width
:
90
,
style
:
"
padding-left: 12px;
"
...
...
src/main/webapp/js/admin/categoryList.js
View file @
f965d4f4
...
...
@@ -60,7 +60,7 @@ admin.categoryList = {
$
(
"
#categoryUpdate
"
).
dialog
({
width
:
700
,
height
:
260
,
height
:
358
,
"
modal
"
:
true
,
"
hideFooter
"
:
true
});
...
...
src/main/webapp/js/admin/commentList.js
View file @
f965d4f4
...
...
@@ -35,17 +35,16 @@ admin.commentList = {
this
.
tablePagination
.
buildTable
([{
text
:
Label
.
commentContentLabel
,
index
:
"
content
"
,
minWidth
:
300
,
minWidth
:
174
,
style
:
"
padding-left: 12px;
"
},
{
text
:
Label
.
authorLabel
,
index
:
"
title
"
,
width
:
230
,
style
:
"
padding-left: 12px;
"
},
{
text
:
Label
.
dateLabel
,
index
:
"
date
"
,
width
:
9
0
,
width
:
6
0
,
style
:
"
padding-left: 12px;
"
}]);
this
.
tablePagination
.
initPagination
();
...
...
src/main/webapp/js/admin/draftList.js
View file @
f965d4f4
...
...
@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.
4, Feb 23, 2013
* @version 1.0.1.
5, Apr 5, 2018
*/
/* draft-list 相关操作 */
...
...
@@ -50,7 +50,7 @@ admin.draftList = {
index
:
"
articleViewCount
"
,
style
:
"
padding-left: 12px;
"
},
{
text
:
Label
.
createD
ateLabel
,
text
:
Label
.
d
ateLabel
,
index
:
"
date
"
,
width
:
90
,
style
:
"
padding-left: 12px;
"
...
...
src/main/webapp/js/admin/linkList.js
View file @
f965d4f4
...
...
@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.1.
4, Apr 9, 2017
* @version 1.1.1.
5, Apr 5, 2018
*/
/* link-list 相关操作 */
...
...
@@ -60,7 +60,7 @@ admin.linkList = {
$
(
"
#updateLink
"
).
dialog
({
width
:
700
,
height
:
2
1
0
,
height
:
2
9
0
,
"
modal
"
:
true
,
"
hideFooter
"
:
true
});
...
...
src/main/webapp/js/admin/pageList.js
View file @
f965d4f4
...
...
@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.2.3.
6, Sep 21, 2017
* @version 1.2.3.
7, Apr 5, 2018
*/
/* page-list 相关操作 */
...
...
@@ -50,7 +50,7 @@ admin.pageList = {
style
:
"
padding-left: 12px;
"
,
text
:
Label
.
permalinkLabel
,
index
:
"
pagePermalink
"
,
minWidth
:
3
00
minWidth
:
1
00
},
{
style
:
"
padding-left: 12px;
"
,
text
:
Label
.
openMethodLabel
,
...
...
src/main/webapp/js/admin/pluginList.js
View file @
f965d4f4
...
...
@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.
4, May 28, 2013
* @version 1.0.1.
5, Apr 5, 2018
*/
/* plugin-list 相关操作 */
...
...
@@ -42,7 +42,7 @@ admin.pluginList = {
style
:
"
padding-left: 12px;
"
,
text
:
Label
.
statusLabel
,
index
:
"
status
"
,
minWidth
:
1
80
minWidth
:
80
},
{
style
:
"
padding-left: 12px;
"
,
text
:
Label
.
authorLabel
,
...
...
src/main/webapp/js/admin/userList.js
View file @
f965d4f4
...
...
@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.1.
7, Oct 17, 2015
* @version 1.1.1.
8, Apr 5, 2018
*/
/* user-list 相关操作 */
...
...
@@ -59,7 +59,7 @@ admin.userList = {
$
(
"
#userUpdate
"
).
dialog
({
width
:
700
,
height
:
3
0
0
,
height
:
3
6
0
,
"
modal
"
:
true
,
"
hideFooter
"
:
true
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment