mirror of
https://github.com/eiblog/eiblog.git
synced 2026-03-01 00:34:58 +08:00
init
This commit is contained in:
1 parent
60af472ca7
commit
ddf508825c
121 files changed
+711894
No files matched your search
@@ -0,0 +1 @@
|
||||
{{define "notfound"}}<div id=content class=inner><article class="post post-404"><h1 class=title>404 - 什么也没有</h1><div class="entry-content"><p>你要找的东东不存在喔!</p><p>请检查 URL 拼写是否有误,或者通过<a href="/search.html"> 站内搜索 </a>搜一下吧~</p></div></article></div>{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
{{define "about"}}<div id=content class=inner>{{with .Article}}<article class="post post-{{.ID}}" itemscope itemtype="http://schema.org/Article"><h1 class=title itemprop=headline>{{.Title}}</h1><div class="entry-content" itemprop=articleBody>{{str2html .Content}}</div></article><section id=comments><h1 class=title>Comments<span id=switch_thread_mode></h1><div id=disqus_thread class=ds-thread data-identifier="post-{{.Slug}}" data-url="{{if $.EnableHttps}}https://{{else}}http://{{end}}{{$.Domain}}/post/{{.Slug}}.html"></div><div id=simple_thread data-id="golomb-coded-sets"></div></section>{{end}}</div>{{end}}
|
||||
@@ -0,0 +1,178 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="zh-cn">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{.Title}}</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="/static/admin/background.css">
|
||||
<link rel="stylesheet" href="/static/admin/style.css">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||||
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="alert alert-danger topframe" role="alert">你的浏览器实在<strong>太太太太太太旧了</strong>,放学别走,升级完浏览器再说 <a target="_blank" class="alert-link" href="http://browsehappy.com">立即升级</a></div>
|
||||
<![endif]-->
|
||||
<script src="/static/admin/jquery.js"></script>
|
||||
<script src="/static/admin/jquery-ui.js"></script>
|
||||
<script src="/static/admin/typecho.js"></script>
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root {{if .Console}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/profile">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li {{if eq .Path "/admin/profile"}}class="focus" {{end}}><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li {{if eq .Path "/admin/plugins"}}class="focus" {{end}}><a target="_self" href="/admin/plugins">插件</a></li>
|
||||
<li class="last {{if eq .Path "/admin/themes"}}focus{{end}}"><a target="_self" href="/admin/themes">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root {{if .Post}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/write-post">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last {{if eq .Path "/admin/write-post"}}focus{{end}}"><a target="_self" href="/admin/write-post">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root {{if .Manage}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/manage-posts">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li {{if eq .Path "/admin/manage-posts"}}class="focus" {{end}}><a target="_self" href="/admin/manage-posts">文章</a></li>
|
||||
<li {{if eq .Path "/admin/manage-series"}}class="focus" {{end}}><a target="_self" href="/admin/manage-series">专题</a></li>
|
||||
{{if eq .Path "/admin/add-serie"}}<li class="focus"><a target="_self" href="/admin/add-serie">{{if .Edit}}编辑专题{{else}}新增专题{{end}}</a></li>{{end}}
|
||||
<li class="last {{if eq .Path "/admin/manage-tags"}}focus{{end}}"><a target="_self" href="/admin/manage-tags">标签</a></li>
|
||||
<li class="last {{if eq .Path "/admin/manage-draft"}}focus{{end}}"><a target="_self" href="/admin/manage-draft">草稿箱</a></li>
|
||||
<li class="last {{if eq .Path "/admin/manage-trash"}}focus{{end}}"><a target="_self" href="/admin/manage-trash">回收箱</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root {{if .Setting}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/options-general">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li {{if eq .Path "/admin/options-general"}}class="focus" {{end}}><a target="_self" href="/admin/options-general">基本</a></li>
|
||||
<li class="last {{if eq .Path "/admin/options-discussion"}}focus{{end}}"><a target="_self" href="/admin/options-discussion">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="{{.LastLogin}}" href="/admin/profile" class="author">{{.Author}}</a><a class="exit" href="/admin/login?logout=true">登出</a><a target="_back" href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
{{if .Profile}}{{template "admin-profile" .}}{{else if .Post}}{{template "admin-post" .}}{{else if .Posts}}{{template "admin-posts" .}}{{else if .Series}}{{template "admin-series" .}}{{else if .Serie}}{{template "admin-serie" .}}{{else if .Tags}}{{template "admin-tags" .}}{{else if .General}}{{template "admin-general" .}}{{else if .Discussion}}{{template "admin-discussion" .}}{{else if .Draft}}{{template "admin-draft" .}}{{else if .Trash}}{{template "admin-trash" .}}{{end}}
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 提供皮肤, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function () {
|
||||
cookies = {
|
||||
notice : $.cookie( 'notice'),
|
||||
noticeType : $.cookie( 'notice_type'),
|
||||
highlight : $.cookie('notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">'
|
||||
+ '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>')
|
||||
+ '</li></ul></div>'), offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll () {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position' : 'fixed',
|
||||
'top' : 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position' : 'absolute',
|
||||
'top' : offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function () {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function () {
|
||||
var t = $(this), color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {color : color})
|
||||
.delay(5000).slideUp(function () {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie('notice', null, {path : path});
|
||||
$.cookie('notice_type', null, {path : path});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie('notice_highlight', null, {path : path});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function () {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
// if ($('.typecho-login').length == 0) {
|
||||
// $('a').each(function() {
|
||||
// var t = $(this),
|
||||
// href = t.attr('href');
|
||||
|
||||
// if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href)) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
// t.attr('target', '_blank');
|
||||
// });
|
||||
// }
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
{{define "admin-discussion"}}
|
||||
|
||||
{{end}}
|
||||
@@ -0,0 +1,81 @@
|
||||
{{define "admin-draft"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>草稿箱</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main manage-metas">
|
||||
<div class="col-mb-12" role="main">
|
||||
<form method="post" name="manage_draft" class="operate-form">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="此草稿箱下的所有内容将被永久删除, 你确认要删除这些文章吗?" href="/admin/api/draft-delete">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search" role="search">
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-table-wrap">
|
||||
<table class="typecho-list-table">
|
||||
<colgroup>
|
||||
<col width="20" />
|
||||
<col width="40%" />
|
||||
<col width="" />
|
||||
<col width="12%" />
|
||||
<col width="14%" />
|
||||
<col width="14%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th>标题</th>
|
||||
<th>作者</th>
|
||||
<th>专题</th>
|
||||
<th>创建</th>
|
||||
<th>保存</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .List}}
|
||||
<tr id="mid-article-{{.ID}}">
|
||||
<td>
|
||||
<input type="checkbox" value="{{.ID}}" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="/admin/write-post?cid={{.ID}}">{{.Title}}</a></td>
|
||||
<td>{{.Author}}</td>
|
||||
<td>{{if gt .SerieID 0}}专题ID:{{.SerieID}}{{else}}--{{end}}</td>
|
||||
<td>{{dateformat .CreateTime "2006/01/02 15:04"}}</td>
|
||||
<td>{{dateformat .UpdateTime "2006/01/02 15:04"}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
$('.typecho-list-table').tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'tr',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a,button.btn-operate'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1,3 @@
|
||||
{{define "admin-general"}}
|
||||
|
||||
{{end}}
|
||||
@@ -0,0 +1,38 @@
|
||||
<!Doctype html>
|
||||
<html lang="zh-cn">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name=viewport>
|
||||
<meta name=robots content="noindex, nofollow">
|
||||
<title>Login | {{.BTitle}}</title>
|
||||
<link rel=stylesheet href="/static/admin/background.css">
|
||||
</head>
|
||||
|
||||
<body class="body-100">
|
||||
<div class="typecho-login-wrap">
|
||||
<div class="typecho-login">
|
||||
<h1><a href="/">{{.BTitle}}</a></h1>
|
||||
<form action="/admin/login" method=post>
|
||||
<p>
|
||||
<label for=user class="sr-only">用户名</label>
|
||||
<input type=text id=user name=user value="" placeholder="用户名" class="text-l w-100">
|
||||
</p>
|
||||
<p>
|
||||
<label for=password class="sr-only">密码</label>
|
||||
<input type=password id=password name=password class="text-l w-100" placeholder="密码">
|
||||
</p>
|
||||
<!-- <p>
|
||||
<label for=code class="sr-only">两步验证</label>
|
||||
<input type=text id=code name=code class="text-l w-100" placeholder="两步验证">
|
||||
</p> -->
|
||||
<p class=submit>
|
||||
<button type=submit class="btn btn-l w-100 primary">登录</button>
|
||||
</p>
|
||||
</form>
|
||||
<p class="more-link">管理后台皮肤来自于<a href="http://typecho.org" target=_blank>Typecho</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,328 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>管理文章 - Hello World - Powered by Typecho</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/normalize.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/grid.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/style.css?v=14.10.10">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://localhost/admin/js/html5shiv.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/respond.js?v=14.10.10"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="message error browsehappy" role="dialog">当前网页 <strong>不支持</strong> 你正在使用的浏览器. 为了正常的访问, 请 <a href="http://browsehappy.com/">升级你的浏览器</a>.</div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root focus">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li target="_self" class="focus"><a href="/admin/home">概要</a></li>
|
||||
<li><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/categories">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="最后登录: 7小时前" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>管理文章<a href="http://localhost/admin/write-post.php">新增</a></h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main" role="main">
|
||||
<div class="col-mb-12 typecho-list">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<form method="get">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="你确认要删除这些文章吗?" href="http://localhost/index.php/action/contents-post-edit?do=delete&_=448a1ea454e9a1e7c93f8dd9b97b087a">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search" role="search">
|
||||
<input type="text" class="text-s" placeholder="请输入关键字" value="" name="keywords" />
|
||||
<select name="category">
|
||||
<option value="">所有分类</option>
|
||||
<option value="1">默认分类</option>
|
||||
<option value="2">232</option>
|
||||
<option value="3">234</option>
|
||||
<option value="4">2</option>
|
||||
<option value="5">4</option>
|
||||
<option value="6">3</option>
|
||||
<option value="7">5</option>
|
||||
<option value="8">6</option>
|
||||
<option value="9">7</option>
|
||||
<option value="10">8</option>
|
||||
<option value="11">9</option>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-s">筛选</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end .typecho-list-operate -->
|
||||
<form method="post" name="manage_posts" class="operate-form">
|
||||
<div class="typecho-table-wrap">
|
||||
<table class="typecho-list-table">
|
||||
<colgroup>
|
||||
<col width="20" />
|
||||
<col width="6%" />
|
||||
<col width="45%" />
|
||||
<col width="" />
|
||||
<col width="18%" />
|
||||
<col width="16%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th>标题</th>
|
||||
<th>作者</th>
|
||||
<th>分类</th>
|
||||
<th>日期</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="post-3">
|
||||
<td>
|
||||
<input type="checkbox" value="3" name="cid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/manage-comments.php?cid=3" class="balloon-button size-1">0</a></td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/write-post.php?cid=3">未命名文档</a>
|
||||
<a href="http://localhost/index.php/archives/3/" title="浏览 未命名文档"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/manage-posts.php?uid=1">admin</a></td>
|
||||
<td> <a href="http://localhost/admin/manage-posts.php?category=1">默认分类</a> </td>
|
||||
<td>
|
||||
2天前 </td>
|
||||
</tr>
|
||||
<tr id="post-1">
|
||||
<td>
|
||||
<input type="checkbox" value="1" name="cid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/manage-comments.php?cid=1" class="balloon-button size-10">1</a></td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/write-post.php?cid=1">欢迎使用 Typecho</a>
|
||||
<a href="http://localhost/index.php/archives/1/" title="浏览 欢迎使用 Typecho"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/manage-posts.php?uid=1">admin</a></td>
|
||||
<td> <a href="http://localhost/admin/manage-posts.php?category=1">默认分类</a> </td>
|
||||
<td>
|
||||
4天前 </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<!-- end .operate-form -->
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<form method="get">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="你确认要删除这些文章吗?" href="http://localhost/index.php/action/contents-post-edit?do=delete&_=448a1ea454e9a1e7c93f8dd9b97b087a">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="typecho-pager">
|
||||
<li class="current"><a href="http://localhost/admin/manage-posts.php?page=1">1</a></li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end .typecho-list-operate -->
|
||||
</div>
|
||||
<!-- end .typecho-list -->
|
||||
</div>
|
||||
<!-- end .typecho-page-main -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="http://localhost/admin/js/jquery.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/jquery-ui.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/typecho.js?v=14.10.10"></script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function() {
|
||||
var prefix = '86a9106ae65537651a8e456835b316ab',
|
||||
cookies = {
|
||||
notice: $.cookie(prefix + '__typecho_notice'),
|
||||
noticeType: $.cookie(prefix + '__typecho_notice_type'),
|
||||
highlight: $.cookie(prefix + '__typecho_notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">' + '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>') + '</li></ul></div>'),
|
||||
offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll() {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position': 'fixed',
|
||||
'top': 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position': 'absolute',
|
||||
'top': offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function() {
|
||||
var t = $(this),
|
||||
color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {
|
||||
color: color
|
||||
})
|
||||
.delay(5000).slideUp(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie(prefix + '__typecho_notice', null, {
|
||||
path: path
|
||||
});
|
||||
$.cookie(prefix + '__typecho_notice_type', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie(prefix + '__typecho_notice_highlight', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function() {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
if ($('.typecho-login').length == 0) {
|
||||
$('a').each(function() {
|
||||
var t = $(this),
|
||||
href = t.attr('href');
|
||||
|
||||
if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href) || /^http\:\/\/localhost\/index\.php\/action\/[_a-zA-Z0-9\/]+.*$/.exec(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
t.attr('target', '_blank');
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
$('.typecho-list-table').tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'tr',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a,button.btn-operate'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,79 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="zh-cn">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{.Title}}</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="/static/admin/background.css">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||||
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="alert alert-danger topframe" role="alert">你的浏览器实在<strong>太太太太太太旧了</strong>,放学别走,升级完浏览器再说 <a target="_blank" class="alert-link" href="http://browsehappy.com">立即升级</a></div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root {{if .Console}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li {{if eq .Path "/admin/home"}}class="focus"{{end}}><a target="_self" href="/admin/home">概要</a></li>
|
||||
<li {{if eq .Path "/admin/profile"}}class="focus"{{end}}><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li {{if eq .Path "/admin/plugin"}}class="focus"{{end}}><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last {{if eq .Path "/admin/theme"}}focus{{end}}"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root {{if .Write}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root {{if .Manage}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/series">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root {{if .Setting}}focus{{end}}">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="{{.LastLogin}}" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
none
|
||||
@@ -0,0 +1,38 @@
|
||||
<!Doctype html>
|
||||
<html lang="zh-cn">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name=viewport>
|
||||
<meta name=robots content="noindex, nofollow">
|
||||
<title>Login | {{.BTitle}}</title>
|
||||
<link rel=stylesheet href="/static/admin/background.css">
|
||||
</head>
|
||||
|
||||
<body class="body-100">
|
||||
<div class="typecho-login-wrap">
|
||||
<div class="typecho-login">
|
||||
<h1><a href="/">{{.BTitle}}</a></h1>
|
||||
<form action="/admin/api/login" method=post>
|
||||
<p>
|
||||
<label for=user class="sr-only">用户名</label>
|
||||
<input type=text id=user name=user value="" placeholder="用户名" class="text-l w-100">
|
||||
</p>
|
||||
<p>
|
||||
<label for=password class="sr-only">密码</label>
|
||||
<input type=password id=password name=password class="text-l w-100" placeholder="密码">
|
||||
</p>
|
||||
<p>
|
||||
<label for=code class="sr-only">两步验证</label>
|
||||
<input type=text id=code name=code class="text-l w-100" placeholder="两步验证">
|
||||
</p>
|
||||
<p class=submit>
|
||||
<button type=submit class="btn btn-l w-100 primary">登录</button>
|
||||
</p>
|
||||
</form>
|
||||
<p class="more-link">管理后台皮肤来自于<a href="http://typecho.org" target=_blank>Typecho</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,393 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>个人设置 - Hello World - Powered by Typecho</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/normalize.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/grid.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/style.css?v=14.10.10">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://localhost/admin/js/html5shiv.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/respond.js?v=14.10.10"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="message error browsehappy" role="dialog">当前网页 <strong>不支持</strong> 你正在使用的浏览器. 为了正常的访问, 请 <a href="http://browsehappy.com/">升级你的浏览器</a>.</div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root focus">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li target="_self" class="focus"><a href="/admin/home">概要</a></li>
|
||||
<li><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/categories">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="最后登录: 7小时前" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>个人设置</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main">
|
||||
<div class="col-mb-12 col-tb-3">
|
||||
<p>
|
||||
<a href="http://gravatar.com/emails/" title="在 Gravatar 上修改头像"><img class="profile-avatar" src="http://www.gravatar.com/avatar/20a5844bc608d51cdbe28b74495f809d?s=220&r=X&d=mm" alt="admin" /></a>
|
||||
</p>
|
||||
<h2>admin</h2>
|
||||
<p>admin</p>
|
||||
<p>目前有 <em>2</em> 篇日志, 并有 <em>1</em> 条关于你的评论在 <em>11</em> 个分类中.</p>
|
||||
<p>最后登录: 2天前</p>
|
||||
</div>
|
||||
<div class="col-mb-12 col-tb-6 col-tb-offset-1 typecho-content-panel" role="form">
|
||||
<section>
|
||||
<h3>个人资料</h3>
|
||||
<form action="http://localhost/index.php/action/users-profile?_=48e2b106ce2f611ac20443fb2acdc076" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-screenName-0">
|
||||
<li>
|
||||
<label class="typecho-label" for="screenName-0-1">
|
||||
昵称</label>
|
||||
<input id="screenName-0-1" name="screenName" type="text" class="text" value="admin" />
|
||||
<p class="description">
|
||||
用户昵称可以与用户名不同, 用于前台显示.
|
||||
<br />如果你将此项留空, 将默认使用用户名.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-url-1">
|
||||
<li>
|
||||
<label class="typecho-label" for="url-0-2">
|
||||
个人主页地址</label>
|
||||
<input id="url-0-2" name="url" type="text" class="text" value="http://www.typecho.org" />
|
||||
<p class="description">
|
||||
此用户的个人主页地址, 请用 <code>http://</code> 开头.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-mail-2">
|
||||
<li>
|
||||
<label class="typecho-label" for="mail-0-3">
|
||||
电子邮箱地址 *</label>
|
||||
<input id="mail-0-3" name="mail" type="text" class="text" value="webmaster@yourdomain.com" />
|
||||
<p class="description">
|
||||
电子邮箱地址将作为此用户的主要联系方式.
|
||||
<br />请不要与系统中现有的电子邮箱地址重复.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-do-3" style="display:none">
|
||||
<li>
|
||||
<input name="do" type="hidden" value="profile" />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-4">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
更新我的档案</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
<br>
|
||||
<section id="writing-option">
|
||||
<h3>撰写设置</h3>
|
||||
<form action="http://localhost/index.php/action/users-profile?_=48e2b106ce2f611ac20443fb2acdc076" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-markdown-5">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
使用 Markdown 语法编辑和解析内容</label>
|
||||
<span>
|
||||
<input name="markdown" type="radio" value="0" id="markdown-0" />
|
||||
<label for="markdown-0">
|
||||
关闭</label>
|
||||
</span>
|
||||
<span>
|
||||
<input name="markdown" type="radio" value="1" id="markdown-1" checked="true" />
|
||||
<label for="markdown-1">
|
||||
打开</label>
|
||||
</span>
|
||||
<p class="description">
|
||||
使用 <a href="http://daringfireball.net/projects/markdown/">Markdown</a> 语法能够使您的撰写过程更加简便直观.
|
||||
<br />此功能开启不会影响以前没有使用 Markdown 语法编辑的内容.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-autoSave-6">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
自动保存</label>
|
||||
<span>
|
||||
<input name="autoSave" type="radio" value="0" id="autoSave-0" checked="true" />
|
||||
<label for="autoSave-0">
|
||||
关闭</label>
|
||||
</span>
|
||||
<span>
|
||||
<input name="autoSave" type="radio" value="1" id="autoSave-1" />
|
||||
<label for="autoSave-1">
|
||||
打开</label>
|
||||
</span>
|
||||
<p class="description">
|
||||
自动保存功能可以更好地保护你的文章不会丢失.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-defaultAllow-7">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
默认允许</label>
|
||||
<span>
|
||||
<input name="defaultAllow[]" type="checkbox" value="comment" id="defaultAllow-comment" checked="true" />
|
||||
<label for="defaultAllow-comment">
|
||||
可以被评论</label>
|
||||
</span>
|
||||
<span>
|
||||
<input name="defaultAllow[]" type="checkbox" value="ping" id="defaultAllow-ping" checked="true" />
|
||||
<label for="defaultAllow-ping">
|
||||
可以被引用</label>
|
||||
</span>
|
||||
<span>
|
||||
<input name="defaultAllow[]" type="checkbox" value="feed" id="defaultAllow-feed" checked="true" />
|
||||
<label for="defaultAllow-feed">
|
||||
出现在聚合中</label>
|
||||
</span>
|
||||
<p class="description">
|
||||
设置你经常使用的默认允许权限</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-do-8" style="display:none">
|
||||
<li>
|
||||
<input name="do" type="hidden" value="options" />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-9">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
保存设置</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
<br>
|
||||
<section id="change-password">
|
||||
<h3>密码修改</h3>
|
||||
<form action="http://localhost/index.php/action/users-profile?_=48e2b106ce2f611ac20443fb2acdc076" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-password-10">
|
||||
<li>
|
||||
<label class="typecho-label" for="password-0-11">
|
||||
用户密码</label>
|
||||
<input id="password-0-11" name="password" type="password" class="w-60" />
|
||||
<p class="description">
|
||||
为此用户分配一个密码.
|
||||
<br />建议使用特殊字符与字母、数字的混编样式,以增加系统安全性.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-confirm-11">
|
||||
<li>
|
||||
<label class="typecho-label" for="confirm-0-12">
|
||||
用户密码确认</label>
|
||||
<input id="confirm-0-12" name="confirm" type="password" class="w-60" />
|
||||
<p class="description">
|
||||
请确认你的密码, 与上面输入的密码保持一致.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-do-12" style="display:none">
|
||||
<li>
|
||||
<input name="do" type="hidden" value="password" />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-13">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
更新密码</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="http://localhost/admin/js/jquery.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/jquery-ui.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/typecho.js?v=14.10.10"></script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function() {
|
||||
var prefix = '86a9106ae65537651a8e456835b316ab',
|
||||
cookies = {
|
||||
notice: $.cookie(prefix + '__typecho_notice'),
|
||||
noticeType: $.cookie(prefix + '__typecho_notice_type'),
|
||||
highlight: $.cookie(prefix + '__typecho_notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">' + '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>') + '</li></ul></div>'),
|
||||
offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll() {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position': 'fixed',
|
||||
'top': 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position': 'absolute',
|
||||
'top': offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function() {
|
||||
var t = $(this),
|
||||
color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {
|
||||
color: color
|
||||
})
|
||||
.delay(5000).slideUp(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie(prefix + '__typecho_notice', null, {
|
||||
path: path
|
||||
});
|
||||
$.cookie(prefix + '__typecho_notice_type', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie(prefix + '__typecho_notice_highlight', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function() {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
if ($('.typecho-login').length == 0) {
|
||||
$('a').each(function() {
|
||||
var t = $(this),
|
||||
href = t.attr('href');
|
||||
|
||||
if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href) || /^http\:\/\/localhost\/index\.php\/action\/[_a-zA-Z0-9\/]+.*$/.exec(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
t.attr('target', '_blank');
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
var error = $('.typecho-option .error:first');
|
||||
|
||||
if (error.length > 0) {
|
||||
$('html,body').scrollTop(error.parents('.typecho-option').offset().top);
|
||||
}
|
||||
|
||||
$('form').submit(function() {
|
||||
if (this.submitted) {
|
||||
return false;
|
||||
} else {
|
||||
this.submitted = true;
|
||||
}
|
||||
});
|
||||
|
||||
$('label input[type=text]').click(function(e) {
|
||||
var check = $('#' + $(this).parents('label').attr('for'));
|
||||
check.prop('checked', true);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,311 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>阅读设置 - Hello World - Powered by Typecho</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/normalize.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/grid.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/style.css?v=14.10.10">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://localhost/admin/js/html5shiv.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/respond.js?v=14.10.10"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="message error browsehappy" role="dialog">当前网页 <strong>不支持</strong> 你正在使用的浏览器. 为了正常的访问, 请 <a href="http://browsehappy.com/">升级你的浏览器</a>.</div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root focus">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li target="_self" class="focus"><a href="/admin/home">概要</a></li>
|
||||
<li><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/categories">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="最后登录: 7小时前" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>阅读设置</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main" role="form">
|
||||
<div class="col-mb-12 col-tb-8 col-tb-offset-2">
|
||||
<form action="http://localhost/index.php/action/options-reading?_=e53d9ccaafcd7253533d0586ebb24d30" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-postDateFormat-0">
|
||||
<li>
|
||||
<label class="typecho-label" for="postDateFormat-0-1">
|
||||
文章日期格式</label>
|
||||
<input id="postDateFormat-0-1" name="postDateFormat" type="text" class="w-40 mono" value="Y-m-d" />
|
||||
<p class="description">
|
||||
此格式用于指定显示在文章归档中的日期默认显示格式.
|
||||
<br />在某些主题中这个格式可能不会生效, 因为主题作者可以自定义日期格式.
|
||||
<br />请参考 <a href="http://www.php.net/manual/zh/function.date.php">PHP 日期格式写法</a>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-frontPage-1">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
站点首页</label>
|
||||
<span class="multiline">
|
||||
<input name="frontPage" type="radio" value="recent" id="frontPage-recent" checked="true" />
|
||||
<label for="frontPage-recent">
|
||||
显示最新发布的文章</label>
|
||||
</span>
|
||||
<span class="multiline">
|
||||
<input name="frontPage" type="radio" value="page" id="frontPage-page" />
|
||||
<label for="frontPage-page">
|
||||
使用 </label><select name="frontPagePage" id="frontPage-frontPagePage"><option value="2">关于</option></select><label for="frontPage-frontPagePage"> 页面作为首页</label></span><span class="multiline front-archive hidden"><input type="checkbox" id="frontArchive" name="frontArchive" value="1" />
|
||||
<label for="frontArchive">同时将文章列表页路径更改为 <input type="text" name="archivePattern" class="w-20 mono" value="/blog/" /></label></label>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-postsListSize-2">
|
||||
<li>
|
||||
<label class="typecho-label" for="postsListSize-0-3">
|
||||
文章列表数目</label>
|
||||
<input id="postsListSize-0-3" name="postsListSize" type="text" class="w-20" value="10" />
|
||||
<p class="description">
|
||||
此数目用于指定显示在侧边栏中的文章列表数目.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-pageSize-3">
|
||||
<li>
|
||||
<label class="typecho-label" for="pageSize-0-4">
|
||||
每页文章数目</label>
|
||||
<input id="pageSize-0-4" name="pageSize" type="text" class="w-20" value="5" />
|
||||
<p class="description">
|
||||
此数目用于指定文章归档输出时每页显示的文章数目.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-feedFullText-4">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
聚合全文输出</label>
|
||||
<span>
|
||||
<input name="feedFullText" type="radio" value="0" id="feedFullText-0" />
|
||||
<label for="feedFullText-0">
|
||||
仅输出摘要</label>
|
||||
</span>
|
||||
<span>
|
||||
<input name="feedFullText" type="radio" value="1" id="feedFullText-1" checked="true" />
|
||||
<label for="feedFullText-1">
|
||||
全文输出</label>
|
||||
</span>
|
||||
<p class="description">
|
||||
如果你不希望在聚合中输出文章全文,请使用仅输出摘要选项.
|
||||
<br />摘要的文字取决于你在文章中使用分隔符的位置.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-5">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
保存设置</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="http://localhost/admin/js/jquery.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/jquery-ui.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/typecho.js?v=14.10.10"></script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function() {
|
||||
var prefix = '86a9106ae65537651a8e456835b316ab',
|
||||
cookies = {
|
||||
notice: $.cookie(prefix + '__typecho_notice'),
|
||||
noticeType: $.cookie(prefix + '__typecho_notice_type'),
|
||||
highlight: $.cookie(prefix + '__typecho_notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">' + '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>') + '</li></ul></div>'),
|
||||
offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll() {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position': 'fixed',
|
||||
'top': 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position': 'absolute',
|
||||
'top': offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function() {
|
||||
var t = $(this),
|
||||
color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {
|
||||
color: color
|
||||
})
|
||||
.delay(5000).slideUp(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie(prefix + '__typecho_notice', null, {
|
||||
path: path
|
||||
});
|
||||
$.cookie(prefix + '__typecho_notice_type', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie(prefix + '__typecho_notice_highlight', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function() {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
if ($('.typecho-login').length == 0) {
|
||||
$('a').each(function() {
|
||||
var t = $(this),
|
||||
href = t.attr('href');
|
||||
|
||||
if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href) || /^http\:\/\/localhost\/index\.php\/action\/[_a-zA-Z0-9\/]+.*$/.exec(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
t.attr('target', '_blank');
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
var error = $('.typecho-option .error:first');
|
||||
|
||||
if (error.length > 0) {
|
||||
$('html,body').scrollTop(error.parents('.typecho-option').offset().top);
|
||||
}
|
||||
|
||||
$('form').submit(function() {
|
||||
if (this.submitted) {
|
||||
return false;
|
||||
} else {
|
||||
this.submitted = true;
|
||||
}
|
||||
});
|
||||
|
||||
$('label input[type=text]').click(function(e) {
|
||||
var check = $('#' + $(this).parents('label').attr('for'));
|
||||
check.prop('checked', true);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
$('#frontPage-recent,#frontPage-page,#frontPage-file').change(function() {
|
||||
var t = $(this);
|
||||
if (t.prop('checked')) {
|
||||
if ('frontPage-recent' == t.attr('id')) {
|
||||
$('.front-archive').addClass('hidden');
|
||||
} else {
|
||||
$('.front-archive').insertAfter(t.parent()).removeClass('hidden');
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,480 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>管理分类 - Hello World - Powered by Typecho</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/normalize.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/grid.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/style.css?v=14.10.10">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://localhost/admin/js/html5shiv.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/respond.js?v=14.10.10"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="message error browsehappy" role="dialog">当前网页 <strong>不支持</strong> 你正在使用的浏览器. 为了正常的访问, 请 <a href="http://browsehappy.com/">升级你的浏览器</a>.</div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root focus">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li target="_self" class="focus"><a href="/admin/home">概要</a></li>
|
||||
<li><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/categories">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="最后登录: 7小时前" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>管理分类<a href="http://localhost/admin/category.php">新增</a></h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main manage-metas">
|
||||
<div class="col-mb-12" role="main">
|
||||
<form method="post" name="manage_categories" class="operate-form">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="此分类下的所有内容将被删除, 你确认要删除这些分类吗?" href="http://localhost/index.php/action/metas-category-edit?do=delete&_=7fe4662ec063c94e7072ce37ddbe3abc">删除</a></li>
|
||||
<li><a lang="刷新分类可能需要等待较长时间, 你确认要刷新这些分类吗?" href="http://localhost/index.php/action/metas-category-edit?do=refresh&_=7fe4662ec063c94e7072ce37ddbe3abc">刷新</a></li>
|
||||
<li class="multiline">
|
||||
<button type="button" class="btn merge btn-s" rel="http://localhost/index.php/action/metas-category-edit?do=merge&_=7fe4662ec063c94e7072ce37ddbe3abc">合并到</button>
|
||||
<select name="merge">
|
||||
<option value="1">默认分类</option>
|
||||
<option value="2">232</option>
|
||||
<option value="3">234</option>
|
||||
<option value="4">2</option>
|
||||
<option value="5">4</option>
|
||||
<option value="6">3</option>
|
||||
<option value="7">5</option>
|
||||
<option value="8">6</option>
|
||||
<option value="9">7</option>
|
||||
<option value="10">8</option>
|
||||
<option value="11">9</option>
|
||||
</select>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search" role="search">
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-table-wrap">
|
||||
<table class="typecho-list-table">
|
||||
<colgroup>
|
||||
<col width="20" />
|
||||
<col width="30%" />
|
||||
<col width="15%" />
|
||||
<col width="25%" />
|
||||
<col width="" />
|
||||
<col width="10%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="nodrag">
|
||||
<th> </th>
|
||||
<th>名称</th>
|
||||
<th>子分类</th>
|
||||
<th>缩略名</th>
|
||||
<th> </th>
|
||||
<th>文章数</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="mid-category-1">
|
||||
<td>
|
||||
<input type="checkbox" value="1" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=1">默认分类</a>
|
||||
<a href="http://localhost/index.php/category/default/" title="浏览 默认分类"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=1">新增</a>
|
||||
</td>
|
||||
<td>default</td>
|
||||
<td>
|
||||
默认 </td>
|
||||
<td><a class="balloon-button left size-10" href="http://localhost/admin/manage-posts.php?category=1">2</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-2">
|
||||
<td>
|
||||
<input type="checkbox" value="2" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=2">232</a>
|
||||
<a href="http://localhost/index.php/category/2342/" title="浏览 232"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=2">新增</a>
|
||||
</td>
|
||||
<td>2342</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=2&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=2">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-3">
|
||||
<td>
|
||||
<input type="checkbox" value="3" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=3">234</a>
|
||||
<a href="http://localhost/index.php/category/23423/" title="浏览 234"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=3">新增</a>
|
||||
</td>
|
||||
<td>23423</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=3&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=3">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-4">
|
||||
<td>
|
||||
<input type="checkbox" value="4" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=4">2</a>
|
||||
<a href="http://localhost/index.php/category/2/" title="浏览 2"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=4">新增</a>
|
||||
</td>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=4&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=4">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-5">
|
||||
<td>
|
||||
<input type="checkbox" value="5" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=5">4</a>
|
||||
<a href="http://localhost/index.php/category/4/" title="浏览 4"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=5">新增</a>
|
||||
</td>
|
||||
<td>4</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=5&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=5">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-6">
|
||||
<td>
|
||||
<input type="checkbox" value="6" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=6">3</a>
|
||||
<a href="http://localhost/index.php/category/3/" title="浏览 3"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=6">新增</a>
|
||||
</td>
|
||||
<td>3</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=6&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=6">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-7">
|
||||
<td>
|
||||
<input type="checkbox" value="7" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=7">5</a>
|
||||
<a href="http://localhost/index.php/category/5/" title="浏览 5"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=7">新增</a>
|
||||
</td>
|
||||
<td>5</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=7&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=7">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-8">
|
||||
<td>
|
||||
<input type="checkbox" value="8" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=8">6</a>
|
||||
<a href="http://localhost/index.php/category/6/" title="浏览 6"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=8">新增</a>
|
||||
</td>
|
||||
<td>6</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=8&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=8">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-9">
|
||||
<td>
|
||||
<input type="checkbox" value="9" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=9">7</a>
|
||||
<a href="http://localhost/index.php/category/7/" title="浏览 7"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=9">新增</a>
|
||||
</td>
|
||||
<td>7</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=9&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=9">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-10">
|
||||
<td>
|
||||
<input type="checkbox" value="10" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=10">8</a>
|
||||
<a href="http://localhost/index.php/category/8/" title="浏览 8"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=10">新增</a>
|
||||
</td>
|
||||
<td>8</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=10&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=10">0</a></td>
|
||||
</tr>
|
||||
<tr id="mid-category-11">
|
||||
<td>
|
||||
<input type="checkbox" value="11" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="http://localhost/admin/category.php?mid=11">9</a>
|
||||
<a href="http://localhost/index.php/category/9/" title="浏览 9"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://localhost/admin/category.php?parent=11">新增</a>
|
||||
</td>
|
||||
<td>9</td>
|
||||
<td>
|
||||
<a class="hidden-by-mouse" href="http://localhost/index.php/action/metas-category-edit?do=default&mid=11&_=7fe4662ec063c94e7072ce37ddbe3abc" title="设为默认">默认</a>
|
||||
</td>
|
||||
<td><a class="balloon-button left size-1" href="http://localhost/admin/manage-posts.php?category=11">0</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="http://localhost/admin/js/jquery.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/jquery-ui.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/typecho.js?v=14.10.10"></script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function() {
|
||||
var prefix = '86a9106ae65537651a8e456835b316ab',
|
||||
cookies = {
|
||||
notice: $.cookie(prefix + '__typecho_notice'),
|
||||
noticeType: $.cookie(prefix + '__typecho_notice_type'),
|
||||
highlight: $.cookie(prefix + '__typecho_notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">' + '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>') + '</li></ul></div>'),
|
||||
offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll() {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position': 'fixed',
|
||||
'top': 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position': 'absolute',
|
||||
'top': offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function() {
|
||||
var t = $(this),
|
||||
color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {
|
||||
color: color
|
||||
})
|
||||
.delay(5000).slideUp(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie(prefix + '__typecho_notice', null, {
|
||||
path: path
|
||||
});
|
||||
$.cookie(prefix + '__typecho_notice_type', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie(prefix + '__typecho_notice_highlight', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function() {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
if ($('.typecho-login').length == 0) {
|
||||
$('a').each(function() {
|
||||
var t = $(this),
|
||||
href = t.attr('href');
|
||||
|
||||
if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href) || /^http\:\/\/localhost\/index\.php\/action\/[_a-zA-Z0-9\/]+.*$/.exec(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
t.attr('target', '_blank');
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
var table = $('.typecho-list-table').tableDnD({
|
||||
onDrop: function() {
|
||||
var ids = [];
|
||||
|
||||
$('input[type=checkbox]', table).each(function() {
|
||||
ids.push($(this).val());
|
||||
});
|
||||
|
||||
$.post('http://localhost/index.php/action/metas-category-edit?do=sort&_=7fe4662ec063c94e7072ce37ddbe3abc',
|
||||
$.param({
|
||||
mid: ids
|
||||
}));
|
||||
|
||||
$('tr', table).each(function(i) {
|
||||
if (i % 2) {
|
||||
$(this).addClass('even');
|
||||
} else {
|
||||
$(this).removeClass('even');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
table.tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'tr',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
|
||||
$('.dropdown-menu button.merge').click(function() {
|
||||
var btn = $(this);
|
||||
btn.parents('form').attr('action', btn.attr('rel')).submit();
|
||||
});
|
||||
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,374 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>基本设置 - Hello World - Powered by Typecho</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/normalize.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/grid.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/style.css?v=14.10.10">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://localhost/admin/js/html5shiv.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/respond.js?v=14.10.10"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="message error browsehappy" role="dialog">当前网页 <strong>不支持</strong> 你正在使用的浏览器. 为了正常的访问, 请 <a href="http://browsehappy.com/">升级你的浏览器</a>.</div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root focus">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li target="_self" class="focus"><a href="/admin/home">概要</a></li>
|
||||
<li><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/categories">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="最后登录: 7小时前" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>基本设置</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main" role="form">
|
||||
<div class="col-mb-12 col-tb-8 col-tb-offset-2">
|
||||
<form action="http://localhost/index.php/action/options-general?_=f90abdb2b52a2818286e72429dfcc97b" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-title-0">
|
||||
<li>
|
||||
<label class="typecho-label" for="title-0-1">
|
||||
站点名称</label>
|
||||
<input id="title-0-1" name="title" type="text" class="w-100" value="Hello World" />
|
||||
<p class="description">
|
||||
站点的名称将显示在网页的标题处.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-siteUrl-1">
|
||||
<li>
|
||||
<label class="typecho-label" for="siteUrl-0-2">
|
||||
站点地址</label>
|
||||
<input id="siteUrl-0-2" name="siteUrl" type="text" class="w-100 mono" value="http://localhost" />
|
||||
<p class="description">
|
||||
站点地址主要用于生成内容的永久链接.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-description-2">
|
||||
<li>
|
||||
<label class="typecho-label" for="description-0-3">
|
||||
站点描述</label>
|
||||
<input id="description-0-3" name="description" type="text" class="text" value="Just So So ..." />
|
||||
<p class="description">
|
||||
站点描述将显示在网页代码的头部.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-keywords-3">
|
||||
<li>
|
||||
<label class="typecho-label" for="keywords-0-4">
|
||||
关键词</label>
|
||||
<input id="keywords-0-4" name="keywords" type="text" class="text" value="typecho,php,blog" />
|
||||
<p class="description">
|
||||
请以半角逗号 "," 分割多个关键字.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-allowRegister-4">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
是否允许注册</label>
|
||||
<span>
|
||||
<input name="allowRegister" type="radio" value="0" id="allowRegister-0" checked="true" />
|
||||
<label for="allowRegister-0">
|
||||
不允许</label>
|
||||
</span>
|
||||
<span>
|
||||
<input name="allowRegister" type="radio" value="1" id="allowRegister-1" />
|
||||
<label for="allowRegister-1">
|
||||
允许</label>
|
||||
</span>
|
||||
<p class="description">
|
||||
允许访问者注册到你的网站, 默认的注册用户不享有任何写入权限.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-timezone-5">
|
||||
<li>
|
||||
<label class="typecho-label" for="timezone-0-6">
|
||||
时区</label>
|
||||
<select name="timezone" id="timezone-0-6">
|
||||
<option value="0">
|
||||
格林威治(子午线)标准时间 (GMT)</option>
|
||||
<option value="3600">
|
||||
中欧标准时间 阿姆斯特丹,荷兰,法国 (GMT +1)</option>
|
||||
<option value="7200">
|
||||
东欧标准时间 布加勒斯特,塞浦路斯,希腊 (GMT +2)</option>
|
||||
<option value="10800">
|
||||
莫斯科时间 伊拉克,埃塞俄比亚,马达加斯加 (GMT +3)</option>
|
||||
<option value="14400">
|
||||
第比利斯时间 阿曼,毛里塔尼亚,留尼汪岛 (GMT +4)</option>
|
||||
<option value="18000">
|
||||
新德里时间 巴基斯坦,马尔代夫 (GMT +5)</option>
|
||||
<option value="21600">
|
||||
科伦坡时间 孟加拉 (GMT +6)</option>
|
||||
<option value="25200">
|
||||
曼谷雅加达 柬埔寨,苏门答腊,老挝 (GMT +7)</option>
|
||||
<option value="28800" selected="true">
|
||||
北京时间 香港,新加坡,越南 (GMT +8)</option>
|
||||
<option value="32400">
|
||||
东京平壤时间 西伊里安,摩鹿加群岛 (GMT +9)</option>
|
||||
<option value="36000">
|
||||
悉尼关岛时间 塔斯马尼亚岛,新几内亚 (GMT +10)</option>
|
||||
<option value="39600">
|
||||
所罗门群岛 库页岛 (GMT +11)</option>
|
||||
<option value="43200">
|
||||
惠灵顿时间 新西兰,斐济群岛 (GMT +12)</option>
|
||||
<option value="-3600">
|
||||
佛德尔群岛 亚速尔群岛,葡属几内亚 (GMT -1)</option>
|
||||
<option value="-7200">
|
||||
大西洋中部时间 格陵兰 (GMT -2)</option>
|
||||
<option value="-10800">
|
||||
布宜诺斯艾利斯 乌拉圭,法属圭亚那 (GMT -3)</option>
|
||||
<option value="-14400">
|
||||
智利巴西 委内瑞拉,玻利维亚 (GMT -4)</option>
|
||||
<option value="-18000">
|
||||
纽约渥太华 古巴,哥伦比亚,牙买加 (GMT -5)</option>
|
||||
<option value="-21600">
|
||||
墨西哥城时间 洪都拉斯,危地马拉,哥斯达黎加 (GMT -6)</option>
|
||||
<option value="-25200">
|
||||
美国丹佛时间 (GMT -7)</option>
|
||||
<option value="-28800">
|
||||
美国旧金山时间 (GMT -8)</option>
|
||||
<option value="-32400">
|
||||
阿拉斯加时间 (GMT -9)</option>
|
||||
<option value="-36000">
|
||||
夏威夷群岛 (GMT -10)</option>
|
||||
<option value="-39600">
|
||||
东萨摩亚群岛 (GMT -11)</option>
|
||||
<option value="-43200">
|
||||
艾尼威托克岛 (GMT -12)</option>
|
||||
</select>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-attachmentTypes-6">
|
||||
<li>
|
||||
<label class="typecho-label">
|
||||
允许上传的文件类型</label>
|
||||
<span class="multiline">
|
||||
<input name="attachmentTypes[]" type="checkbox" value="@image@" id="attachmentTypes-image" checked="true" />
|
||||
<label for="attachmentTypes-image">
|
||||
图片文件 <code>(gif jpg jpeg png tiff bmp)</code></label>
|
||||
</span>
|
||||
<span class="multiline">
|
||||
<input name="attachmentTypes[]" type="checkbox" value="@media@" id="attachmentTypes-media" />
|
||||
<label for="attachmentTypes-media">
|
||||
多媒体文件 <code>(mp3 wmv wma rmvb rm avi flv)</code></label>
|
||||
</span>
|
||||
<span class="multiline">
|
||||
<input name="attachmentTypes[]" type="checkbox" value="@doc@" id="attachmentTypes-doc" />
|
||||
<label for="attachmentTypes-doc">
|
||||
常用档案文件 <code>(txt doc docx xls xlsx ppt pptx zip rar pdf)</code></label>
|
||||
</span>
|
||||
<span class="multiline">
|
||||
<input name="attachmentTypes[]" type="checkbox" value="@other@" id="attachmentTypes-other" />
|
||||
<label for="attachmentTypes-other">
|
||||
其他格式 <input type="text" class="w-50 text-s mono" name="attachmentTypesOther" value="" /></label>
|
||||
</span>
|
||||
<p class="description">
|
||||
用逗号 "," 将后缀名隔开, 例如: <code>cpp, h, mak</code></p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-7">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
保存设置</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="http://localhost/admin/js/jquery.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/jquery-ui.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/typecho.js?v=14.10.10"></script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function() {
|
||||
var prefix = '86a9106ae65537651a8e456835b316ab',
|
||||
cookies = {
|
||||
notice: $.cookie(prefix + '__typecho_notice'),
|
||||
noticeType: $.cookie(prefix + '__typecho_notice_type'),
|
||||
highlight: $.cookie(prefix + '__typecho_notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">' + '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>') + '</li></ul></div>'),
|
||||
offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll() {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position': 'fixed',
|
||||
'top': 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position': 'absolute',
|
||||
'top': offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function() {
|
||||
var t = $(this),
|
||||
color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {
|
||||
color: color
|
||||
})
|
||||
.delay(5000).slideUp(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie(prefix + '__typecho_notice', null, {
|
||||
path: path
|
||||
});
|
||||
$.cookie(prefix + '__typecho_notice_type', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie(prefix + '__typecho_notice_highlight', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function() {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
if ($('.typecho-login').length == 0) {
|
||||
$('a').each(function() {
|
||||
var t = $(this),
|
||||
href = t.attr('href');
|
||||
|
||||
if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href) || /^http\:\/\/localhost\/index\.php\/action\/[_a-zA-Z0-9\/]+.*$/.exec(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
t.attr('target', '_blank');
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
var error = $('.typecho-option .error:first');
|
||||
|
||||
if (error.length > 0) {
|
||||
$('html,body').scrollTop(error.parents('.typecho-option').offset().top);
|
||||
}
|
||||
|
||||
$('form').submit(function() {
|
||||
if (this.submitted) {
|
||||
return false;
|
||||
} else {
|
||||
this.submitted = true;
|
||||
}
|
||||
});
|
||||
|
||||
$('label input[type=text]').click(function(e) {
|
||||
var check = $('#' + $(this).parents('label').attr('for'));
|
||||
check.prop('checked', true);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,321 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>管理标签 - Hello World - Powered by Typecho</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/normalize.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/grid.css?v=14.10.10">
|
||||
<link rel="stylesheet" href="http://localhost/admin/css/style.css?v=14.10.10">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://localhost/admin/js/html5shiv.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/respond.js?v=14.10.10"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if lt IE 9]>
|
||||
<div class="message error browsehappy" role="dialog">当前网页 <strong>不支持</strong> 你正在使用的浏览器. 为了正常的访问, 请 <a href="http://browsehappy.com/">升级你的浏览器</a>.</div>
|
||||
<![endif]-->
|
||||
<div class="typecho-head-nav clearfix" role="navigation">
|
||||
<nav id="typecho-nav-list">
|
||||
<ul class="root focus">
|
||||
<li class="parent"><a target="_self" href="/admin/home">控制台</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li target="_self" class="focus"><a href="/admin/home">概要</a></li>
|
||||
<li><a target="_self" href="/admin/profile">个人设置</a></li>
|
||||
<li><a target="_self" href="/admin/plugin">插件</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/theme">外观</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/write">撰写</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li class="last"><a target="_self" href="/admin/write">撰写文章</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/articles">管理</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/articles">文章</a></li>
|
||||
<li><a target="_self" href="/admin/categories">分类</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/tags">标签</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="root">
|
||||
<li class="parent"><a target="_self" href="/admin/setting">设置</a></dt>
|
||||
</li>
|
||||
<ul class="child">
|
||||
<li><a target="_self" href="/admin/setting">基本</a></li>
|
||||
<li class="last"><a target="_self" href="/admin/reading">阅读</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="operate">
|
||||
<a target="_self" title="最后登录: 7小时前" href="/admin/profile" class="author">admin</a><a target="_self" class="exit" href="/admin/login?logout=true">登出</a><a href="/">网站</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>管理标签</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main manage-metas">
|
||||
<div class="col-mb-12 col-tb-8" role="main">
|
||||
<form method="post" name="manage_tags" class="operate-form">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="你确认要删除这些标签吗?" href="http://localhost/index.php/action/metas-tag-edit?do=delete&_=2e6004cd103d97bddfccf02fddd0ecbe">删除</a></li>
|
||||
<li><a lang="刷新标签可能需要等待较长时间, 你确认要刷新这些标签吗?" href="http://localhost/index.php/action/metas-tag-edit?do=refresh&_=2e6004cd103d97bddfccf02fddd0ecbe">刷新</a></li>
|
||||
<li class="multiline">
|
||||
<button type="button" class="btn btn-s merge" rel="http://localhost/index.php/action/metas-tag-edit?do=merge&_=2e6004cd103d97bddfccf02fddd0ecbe">合并到</button>
|
||||
<input type="text" name="merge" class="text-s" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="typecho-list-notable tag-list clearfix">
|
||||
<li class="size-5" id="tag-18">
|
||||
<input type="checkbox" value="18" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=18">sad</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=18"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
<li class="size-5" id="tag-17">
|
||||
<input type="checkbox" value="17" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=17">sdasdf</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=17"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
<li class="size-5" id="tag-16">
|
||||
<input type="checkbox" value="16" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=16">sdfsad</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=16"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
<li class="size-5" id="tag-15">
|
||||
<input type="checkbox" value="15" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=15">asdfasd</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=15"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
<li class="size-5" id="tag-14">
|
||||
<input type="checkbox" value="14" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=14">sdfsdfasdf</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=14"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
<li class="size-5" id="tag-13">
|
||||
<input type="checkbox" value="13" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=13">sdfsdfasd</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=13"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
<li class="size-5" id="tag-12">
|
||||
<input type="checkbox" value="12" name="mid[]" />
|
||||
<span rel="http://localhost/admin/manage-tags.php?mid=12">sadfasdf</span>
|
||||
<a class="tag-edit-link" href="http://localhost/admin/manage-tags.php?mid=12"><i class="i-edit"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" name="do" value="delete" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-mb-12 col-tb-4" role="form">
|
||||
<form action="http://localhost/index.php/action/metas-tag-edit?_=2e6004cd103d97bddfccf02fddd0ecbe" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-name-0">
|
||||
<li>
|
||||
<label class="typecho-label" for="name-0-1">
|
||||
标签名称 *</label>
|
||||
<input id="name-0-1" name="name" type="text" class="text" />
|
||||
<p class="description">
|
||||
这是标签在站点中显示的名称.可以使用中文,如 "地球".</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-slug-1">
|
||||
<li>
|
||||
<label class="typecho-label" for="slug-0-2">
|
||||
标签缩略名</label>
|
||||
<input id="slug-0-2" name="slug" type="text" class="text" />
|
||||
<p class="description">
|
||||
标签缩略名用于创建友好的链接形式, 如果留空则默认使用标签名称.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-do-2" style="display:none">
|
||||
<li>
|
||||
<input name="do" type="hidden" value="insert" />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-mid-3" style="display:none">
|
||||
<li>
|
||||
<input name="mid" type="hidden" />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item--4">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
增加标签</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-foot" role="contentinfo">
|
||||
<div class="copyright">
|
||||
<a href="http://typecho.org" class="i-logo-s">Typecho</a>
|
||||
<p>由 <a href="http://typecho.org">Typecho</a> 强力驱动, 版本 1.0 (14.10.10)</p>
|
||||
</div>
|
||||
<nav class="resource">
|
||||
<a href="http://docs.typecho.org">帮助文档</a> •
|
||||
<a href="http://forum.typecho.org">支持论坛</a> •
|
||||
<a href="https://github.com/typecho/typecho/issues">报告错误</a> •
|
||||
<a href="http://extends.typecho.org">资源下载</a>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="http://localhost/admin/js/jquery.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/jquery-ui.js?v=14.10.10"></script>
|
||||
<script src="http://localhost/admin/js/typecho.js?v=14.10.10"></script>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
// 处理消息机制
|
||||
(function() {
|
||||
var prefix = '86a9106ae65537651a8e456835b316ab',
|
||||
cookies = {
|
||||
notice: $.cookie(prefix + '__typecho_notice'),
|
||||
noticeType: $.cookie(prefix + '__typecho_notice_type'),
|
||||
highlight: $.cookie(prefix + '__typecho_notice_highlight')
|
||||
},
|
||||
path = '/';
|
||||
|
||||
if (!!cookies.notice && 'success|notice|error'.indexOf(cookies.noticeType) >= 0) {
|
||||
var head = $('.typecho-head-nav'),
|
||||
p = $('<div class="message popup ' + cookies.noticeType + '">' + '<ul><li>' + $.parseJSON(cookies.notice).join('</li><li>') + '</li></ul></div>'),
|
||||
offset = 0;
|
||||
|
||||
if (head.length > 0) {
|
||||
p.insertAfter(head);
|
||||
offset = head.outerHeight();
|
||||
} else {
|
||||
p.prependTo(document.body);
|
||||
}
|
||||
|
||||
function checkScroll() {
|
||||
if ($(window).scrollTop() >= offset) {
|
||||
p.css({
|
||||
'position': 'fixed',
|
||||
'top': 0
|
||||
});
|
||||
} else {
|
||||
p.css({
|
||||
'position': 'absolute',
|
||||
'top': offset
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
checkScroll();
|
||||
});
|
||||
|
||||
checkScroll();
|
||||
|
||||
p.slideDown(function() {
|
||||
var t = $(this),
|
||||
color = '#C6D880';
|
||||
|
||||
if (t.hasClass('error')) {
|
||||
color = '#FBC2C4';
|
||||
} else if (t.hasClass('notice')) {
|
||||
color = '#FFD324';
|
||||
}
|
||||
|
||||
t.effect('highlight', {
|
||||
color: color
|
||||
})
|
||||
.delay(5000).slideUp(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.cookie(prefix + '__typecho_notice', null, {
|
||||
path: path
|
||||
});
|
||||
$.cookie(prefix + '__typecho_notice_type', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
if (cookies.highlight) {
|
||||
$('#' + cookies.highlight).effect('highlight', 1000);
|
||||
$.cookie(prefix + '__typecho_notice_highlight', null, {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
// 导航菜单 tab 聚焦时展开下拉菜单
|
||||
(function() {
|
||||
$('#typecho-nav-list').find('.parent a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
$(this).parents('.root').find('.child').show();
|
||||
});
|
||||
$('.operate').find('a').focus(function() {
|
||||
$('#typecho-nav-list').find('.child').hide();
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
if ($('.typecho-login').length == 0) {
|
||||
$('a').each(function() {
|
||||
var t = $(this),
|
||||
href = t.attr('href');
|
||||
|
||||
if ((href && href[0] == '#') || /^http\:\/\/localhost\/admin\/.*$/.exec(href) || /^http\:\/\/localhost\/index\.php\/action\/[_a-zA-Z0-9\/]+.*$/.exec(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
t.attr('target', '_blank');
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.typecho-list-notable').tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'li',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
|
||||
$('.dropdown-menu button.merge').click(function() {
|
||||
var btn = $(this);
|
||||
btn.parents('form').attr('action', btn.attr('rel')).submit();
|
||||
});
|
||||
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,895 @@
|
||||
{{define "admin-post"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
{{with .Eidt}}<h2>编辑 {{.Title}}</h2>{{end}}
|
||||
<h2>撰写文章</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main typecho-post-area" role="form">
|
||||
<form action="/admin/api/post-add" method="post" name="write_post">
|
||||
<div class="col-mb-12 col-tb-9" role="main">
|
||||
{{with .Eidt}}<cite class="edit-draft-notice">你正在编辑的是草稿, 你也可以 <a href="/admin/draft-delete?cid={{.ID}}">删除它</a></cite>{{end}}
|
||||
<p class="title">
|
||||
<label for="title" class="sr-only">标题</label>
|
||||
<input type="text" id="title" name="title" autocomplete="off" {{with .Edit}}value="{{.Title}}"{{end}} placeholder="标题" class="w-100 text title" />
|
||||
</p>
|
||||
<p class="mono url-slug">
|
||||
<label for="slug" class="sr-only">网址缩略名</label>
|
||||
{{.Domain}}/post/<input type="text" id="slug" name="slug" autocomplete="off" {{with .Edit}}value="{{.Slug}}" {{end}} class="mono" />.html </p>
|
||||
<p>
|
||||
<label for="text" class="sr-only">文章内容</label>
|
||||
<textarea style="height: 350px" autocomplete="off" id="text" name="text" class="w-100 mono">{{with .Edit}}{{.Content}}{{end}}</textarea>
|
||||
</p>
|
||||
<p class="submit clearfix">
|
||||
<span class="right">
|
||||
<input type="hidden" name="cid" {{with .Edit}}value="{{.ID}}"{{end}} />
|
||||
<button type="submit" name="do" value="save" id="btn-save" class="btn">保存草稿</button>
|
||||
<button type="submit" name="do" value="publish" class="btn primary" id="btn-submit">发布文章</button>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div id="edit-secondary" class="col-mb-12 col-tb-3" role="complementary">
|
||||
<ul class="typecho-option-tabs clearfix">
|
||||
<li class="active w-50"><a href="#tab-advance">选项</a></li>
|
||||
<li class="w-50"><a href="#tab-files" id="tab-files-btn">上传</a></li>
|
||||
</ul>
|
||||
<div id="tab-advance" class="tab-content">
|
||||
<section class="typecho-post-option" role="application">
|
||||
<label for="date" class="typecho-label">发布日期</label>
|
||||
<p>
|
||||
<input class="typecho-date w-100" type="text" name="date" id="date" {{with .Edit}}value="{{dateformat .CreateTime "2006-01-02 15:04"}}"{{end}} />
|
||||
</p>
|
||||
</section>
|
||||
<section class="typecho-post-option category-option">
|
||||
<label class="typecho-label">分类</label>
|
||||
<ul>
|
||||
{{range $k,$v:=.Series}}
|
||||
<li>
|
||||
<input type="radio" id="serie-{{$v.ID}}" value="{{$v.ID}}" name="serie" {{with $.Edit}}{{if eq .SerieID $v.ID}}checked="true"{{end}}{{end}}/>
|
||||
<label for="serie-{{$v.ID}}">{{$v.Name}}</label>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</section>
|
||||
<section class="typecho-post-option">
|
||||
<label for="token-input-tags" class="typecho-label">标签</label>
|
||||
<p>
|
||||
<input id="tags" name="tags" type="text" {{with .Edit}}value="{{join .Tags ","}}"{{end}} class="w-100 text" />
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
<!-- end #tab-advance -->
|
||||
<div id="tab-files" class="tab-content hidden">
|
||||
<div id="upload-panel" class="p">
|
||||
<div class="upload-area" draggable="true">拖放文件到这里
|
||||
<br>或者 <a href="###" class="upload-file">选择文件上传</a></div>
|
||||
<ul id="file-list">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end #tab-files -->
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
var error = $('.typecho-option .error:first');
|
||||
|
||||
if (error.length > 0) {
|
||||
$('html,body').scrollTop(error.parents('.typecho-option').offset().top);
|
||||
}
|
||||
|
||||
$('form').submit(function() {
|
||||
if (this.submitted) {
|
||||
return false;
|
||||
} else {
|
||||
this.submitted = true;
|
||||
}
|
||||
});
|
||||
|
||||
$('label input[type=text]').click(function(e) {
|
||||
var check = $('#' + $(this).parents('label').attr('for'));
|
||||
check.prop('checked', true);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script src="/static/js/timepicker.js?v=14.10.10"></script>
|
||||
<script src="/static/js/tokeninput.js?v=14.10.10"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// 日期时间控件
|
||||
$('#date').mask('9999-99-99 99:99').datetimepicker({
|
||||
currentText: '现在',
|
||||
prevText: '上一月',
|
||||
nextText: '下一月',
|
||||
monthNames: ['一月', '二月', '三月', '四月',
|
||||
'五月', '六月', '七月', '八月',
|
||||
'九月', '十月', '十一月', '十二月'
|
||||
],
|
||||
dayNames: ['星期日', '星期一', '星期二',
|
||||
'星期三', '星期四', '星期五', '星期六'
|
||||
],
|
||||
dayNamesShort: ['周日', '周一', '周二', '周三',
|
||||
'周四', '周五', '周六'
|
||||
],
|
||||
dayNamesMin: ['日', '一', '二', '三',
|
||||
'四', '五', '六'
|
||||
],
|
||||
closeText: '完成',
|
||||
timeOnlyTitle: '选择时间',
|
||||
timeText: '时间',
|
||||
hourText: '时',
|
||||
amNames: ['上午', 'A'],
|
||||
pmNames: ['下午', 'P'],
|
||||
minuteText: '分',
|
||||
secondText: '秒',
|
||||
|
||||
dateFormat: 'yy-mm-dd',
|
||||
hour: (new Date()).getHours(),
|
||||
minute: (new Date()).getMinutes()
|
||||
});
|
||||
|
||||
// 聚焦
|
||||
$('#title').select();
|
||||
|
||||
// text 自动拉伸
|
||||
Typecho.editorResize('text', 'http://localhost/index.php/action/ajax?do=editorResize&_=53e23a1bd0daab03b05d9c23190904a4');
|
||||
|
||||
// tag autocomplete 提示
|
||||
var tags = $('#tags'),
|
||||
tagsPre = [];
|
||||
|
||||
if (tags.length > 0) {
|
||||
var items = tags.val().split(','),
|
||||
result = [];
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
var tag = items[i];
|
||||
|
||||
if (!tag) {
|
||||
continue;
|
||||
}
|
||||
|
||||
tagsPre.push({
|
||||
id: tag,
|
||||
tags: tag
|
||||
});
|
||||
}
|
||||
|
||||
tags.tokenInput([{
|
||||
"id": "sadfasdf",
|
||||
"tags": "sadfasdf"
|
||||
}, {
|
||||
"id": "sdfsdfasd",
|
||||
"tags": "sdfsdfasd"
|
||||
}, {
|
||||
"id": "sdfsdfasdf",
|
||||
"tags": "sdfsdfasdf"
|
||||
}, {
|
||||
"id": "asdfasd",
|
||||
"tags": "asdfasd"
|
||||
}], {
|
||||
propertyToSearch: 'tags',
|
||||
tokenValue: 'tags',
|
||||
searchDelay: 0,
|
||||
preventDuplicates: true,
|
||||
animateDropdown: false,
|
||||
hintText: '请输入标签名',
|
||||
noResultsText: '此标签不存在, 按回车创建',
|
||||
prePopulate: tagsPre,
|
||||
|
||||
onResult: function(result, query) {
|
||||
if (!query) {
|
||||
return result;
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
result = [];
|
||||
}
|
||||
|
||||
if (!result[0] || result[0]['id'] != query) {
|
||||
result.unshift({
|
||||
id: query,
|
||||
tags: query
|
||||
});
|
||||
}
|
||||
|
||||
return result.slice(0, 5);
|
||||
}
|
||||
});
|
||||
|
||||
// tag autocomplete 提示宽度设置
|
||||
$('#token-input-tags').focus(function() {
|
||||
var t = $('.token-input-dropdown'),
|
||||
offset = t.outerWidth() - t.width();
|
||||
t.width($('.token-input-list').outerWidth() - offset);
|
||||
});
|
||||
}
|
||||
|
||||
// 缩略名自适应宽度
|
||||
var slug = $('#slug');
|
||||
|
||||
if (slug.length > 0) {
|
||||
var wrap = $('<div />').css({
|
||||
'position': 'relative',
|
||||
'display': 'inline-block'
|
||||
}),
|
||||
justifySlug = $('<pre />').css({
|
||||
'display': 'block',
|
||||
'visibility': 'hidden',
|
||||
'height': slug.height(),
|
||||
'padding': '0 2px',
|
||||
'margin': 0
|
||||
}).insertAfter(slug.wrap(wrap).css({
|
||||
'left': 0,
|
||||
'top': 0,
|
||||
'minWidth': '5px',
|
||||
'position': 'absolute',
|
||||
'width': '100%'
|
||||
})),
|
||||
originalWidth = slug.width();
|
||||
|
||||
function justifySlugWidth() {
|
||||
var val = slug.val();
|
||||
justifySlug.text(val.length > 0 ? val : ' ');
|
||||
}
|
||||
|
||||
slug.bind('input propertychange', justifySlugWidth);
|
||||
justifySlugWidth();
|
||||
}
|
||||
|
||||
// 原始的插入图片和文件
|
||||
Typecho.insertFileToEditor = function(file, url, isImage) {
|
||||
var textarea = $('#text'),
|
||||
sel = textarea.getSelection(),
|
||||
html = isImage ? '<img src="' + url + '" alt="' + file + '" />' : '<a href="' + url + '">' + file + '</a>',
|
||||
offset = (sel ? sel.start : 0) + html.length;
|
||||
|
||||
textarea.replaceSelection(html);
|
||||
textarea.setSelection(offset, offset);
|
||||
};
|
||||
|
||||
var submitted = false,
|
||||
form = $('form[name=write_post],form[name=write_page]').submit(function() {
|
||||
submitted = true;
|
||||
}),
|
||||
savedData = null;
|
||||
|
||||
// 自动保存
|
||||
var locked = false,
|
||||
formAction = form.attr('action'),
|
||||
idInput = $('input[name=cid]'),
|
||||
cid = idInput.val(),
|
||||
autoSave = $('<span id="auto-save-message" class="left"></span>').prependTo('.submit'),
|
||||
autoSaveOnce = !!cid,
|
||||
lastSaveTime = null;
|
||||
|
||||
function autoSaveListener() {
|
||||
setInterval(function() {
|
||||
idInput.val(cid);
|
||||
var data = form.serialize();
|
||||
|
||||
if (savedData != data && !locked) {
|
||||
locked = true;
|
||||
|
||||
autoSave.text('正在保存');
|
||||
$.post(formAction, data + '&do=save', function(o) {
|
||||
savedData = data;
|
||||
lastSaveTime = o.time;
|
||||
cid = o.cid;
|
||||
autoSave.text('已保存' + ' (' + o.time + ')').effect('highlight', 1000);
|
||||
locked = false;
|
||||
}, 'json');
|
||||
}
|
||||
}, 10000);
|
||||
}
|
||||
|
||||
if (autoSaveOnce) {
|
||||
savedData = form.serialize();
|
||||
autoSaveListener();
|
||||
}
|
||||
|
||||
$('#text').bind('input propertychange', function() {
|
||||
if (!locked) {
|
||||
autoSave.text('尚未保存' + (lastSaveTime ? ' (上次保存时间: ' + lastSaveTime + ')' : ''));
|
||||
}
|
||||
|
||||
if (!autoSaveOnce) {
|
||||
autoSaveOnce = true;
|
||||
autoSaveListener();
|
||||
}
|
||||
});
|
||||
|
||||
// 自动检测离开页
|
||||
var lastData = form.serialize();
|
||||
|
||||
$(window).bind('beforeunload', function() {
|
||||
if (!!savedData) {
|
||||
lastData = savedData;
|
||||
}
|
||||
|
||||
if (form.serialize() != lastData && !submitted) {
|
||||
return '内容已经改变尚未保存, 您确认要离开此页面吗?';
|
||||
}
|
||||
});
|
||||
|
||||
// 控制选项和附件的切换
|
||||
var fileUploadInit = false;
|
||||
$('#edit-secondary .typecho-option-tabs li').click(function() {
|
||||
$('#edit-secondary .typecho-option-tabs li').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
$('.tab-content').addClass('hidden');
|
||||
|
||||
var selected_tab = $(this).find('a').attr('href'),
|
||||
selected_el = $(selected_tab).removeClass('hidden');
|
||||
|
||||
if (!fileUploadInit) {
|
||||
selected_el.trigger('init');
|
||||
fileUploadInit = true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
// 高级选项控制
|
||||
$('#advance-panel-btn').click(function() {
|
||||
$('#advance-panel').toggle();
|
||||
return false;
|
||||
});
|
||||
|
||||
// 自动隐藏密码框
|
||||
$('#visibility').change(function() {
|
||||
var val = $(this).val(),
|
||||
password = $('#post-password');
|
||||
console.log(val);
|
||||
|
||||
if ('password' == val) {
|
||||
password.removeClass('hidden');
|
||||
} else {
|
||||
password.addClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
// 草稿删除确认
|
||||
$('.edit-draft-notice a').click(function() {
|
||||
if (confirm('您确认要删除这份草稿吗?')) {
|
||||
window.location.href = $(this).attr('href');
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script src="/static/js/pagedown.js?v=14.10.10"></script>
|
||||
<script src="/static/js/stmd.js?v=14.10.10"></script>
|
||||
<script src="/static/js/diff.js?v=14.10.10"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var textarea = $('#text'),
|
||||
toolbar = $('<div class="editor" id="wmd-button-bar" />').insertBefore(textarea.parent()),
|
||||
preview = $('<div id="wmd-preview" class="wmd-hidetab" />').insertAfter('.editor');
|
||||
|
||||
var options = {},
|
||||
isMarkdown = 1;
|
||||
|
||||
options.strings = {
|
||||
bold: '加粗 <strong> Ctrl+B',
|
||||
boldexample: '加粗文字',
|
||||
|
||||
italic: '斜体 <em> Ctrl+I',
|
||||
italicexample: '斜体文字',
|
||||
|
||||
link: '链接 <a> Ctrl+L',
|
||||
linkdescription: '请输入链接描述',
|
||||
|
||||
quote: '引用 <blockquote> Ctrl+Q',
|
||||
quoteexample: '引用文字',
|
||||
|
||||
code: '代码 <pre><code> Ctrl+K',
|
||||
codeexample: '请输入代码',
|
||||
|
||||
image: '图片 <img> Ctrl+G',
|
||||
imagedescription: '请输入图片描述',
|
||||
|
||||
olist: '数字列表 <ol> Ctrl+O',
|
||||
ulist: '普通列表 <ul> Ctrl+U',
|
||||
litem: '列表项目',
|
||||
|
||||
heading: '标题 <h1>/<h2> Ctrl+H',
|
||||
headingexample: '标题文字',
|
||||
|
||||
hr: '分割线 <hr> Ctrl+R',
|
||||
more: '摘要分割线 <!--more--> Ctrl+M',
|
||||
|
||||
undo: '撤销 - Ctrl+Z',
|
||||
redo: '重做 - Ctrl+Y',
|
||||
redomac: '重做 - Ctrl+Shift+Z',
|
||||
|
||||
fullscreen: '全屏 - Ctrl+J',
|
||||
exitFullscreen: '退出全屏 - Ctrl+E',
|
||||
fullscreenUnsupport: '此浏览器不支持全屏操作',
|
||||
|
||||
imagedialog: '<p><b>插入图片</b></p><p>请在下方的输入框内输入要插入的远程图片地址</p><p>您也可以使用附件功能插入上传的本地图片</p>',
|
||||
linkdialog: '<p><b>插入链接</b></p><p>请在下方的输入框内输入要插入的链接地址</p>',
|
||||
|
||||
ok: '确定',
|
||||
cancel: '取消',
|
||||
|
||||
help: 'Markdown语法帮助'
|
||||
};
|
||||
|
||||
var converter = new Typecho.Markdown,
|
||||
editor = new Markdown.Editor(converter, '', options),
|
||||
diffMatch = new diff_match_patch(),
|
||||
last = '',
|
||||
preview = $('#wmd-preview'),
|
||||
mark = '@mark' + Math.ceil(Math.random() * 100000000) + '@',
|
||||
span = '<span class="diff" />',
|
||||
cache = {};
|
||||
|
||||
|
||||
// 自动跟随
|
||||
converter.hooks.chain('postConversion', function(html) {
|
||||
// clear special html tags
|
||||
html = html.replace(/<\/?(\!doctype|html|head|body|link|title|input|select|button|textarea|style|noscript)[^>]*>/ig, function(all) {
|
||||
return all.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/'/g, ''')
|
||||
.replace(/"/g, '"');
|
||||
});
|
||||
|
||||
// clear hard breaks
|
||||
html = html.replace(/\s*((?:<br>\n)+)\s*(<\/?(?:p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|li|dd|dt)[^\w])/gm, '$2');
|
||||
|
||||
if (html.indexOf('<!--more-->') > 0) {
|
||||
var parts = html.split(/\s*<\!\-\-more\-\->\s*/),
|
||||
summary = parts.shift(),
|
||||
details = parts.join('');
|
||||
|
||||
html = '<div class="summary">' + summary + '</div>' + '<div class="details">' + details + '</div>';
|
||||
}
|
||||
|
||||
|
||||
var diffs = diffMatch.diff_main(last, html);
|
||||
last = html;
|
||||
|
||||
if (diffs.length > 0) {
|
||||
var stack = [],
|
||||
markStr = mark;
|
||||
|
||||
for (var i = 0; i < diffs.length; i++) {
|
||||
var diff = diffs[i],
|
||||
op = diff[0],
|
||||
str = diff[1]
|
||||
sp = str.lastIndexOf('<'), ep = str.lastIndexOf('>');
|
||||
|
||||
if (op != 0) {
|
||||
if (sp >= 0 && sp > ep) {
|
||||
if (op > 0) {
|
||||
stack.push(str.substring(0, sp) + markStr + str.substring(sp));
|
||||
} else {
|
||||
var lastStr = stack[stack.length - 1],
|
||||
lastSp = lastStr.lastIndexOf('<');
|
||||
stack[stack.length - 1] = lastStr.substring(0, lastSp) + markStr + lastStr.substring(lastSp);
|
||||
}
|
||||
} else {
|
||||
if (op > 0) {
|
||||
stack.push(str + markStr);
|
||||
} else {
|
||||
stack.push(markStr);
|
||||
}
|
||||
}
|
||||
|
||||
markStr = '';
|
||||
} else {
|
||||
stack.push(str);
|
||||
}
|
||||
}
|
||||
|
||||
html = stack.join('');
|
||||
|
||||
if (!markStr) {
|
||||
var pos = html.indexOf(mark),
|
||||
prev = html.substring(0, pos),
|
||||
next = html.substr(pos + mark.length),
|
||||
sp = prev.lastIndexOf('<'),
|
||||
ep = prev.lastIndexOf('>');
|
||||
|
||||
if (sp >= 0 && sp > ep) {
|
||||
html = prev.substring(0, sp) + span + prev.substring(sp) + next;
|
||||
} else {
|
||||
html = prev + span + next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 替换img
|
||||
html = html.replace(/<(img)\s+([^>]*)\s*src="([^"]+)"([^>]*)>/ig, function(all, tag, prefix, src, suffix) {
|
||||
if (!cache[src]) {
|
||||
cache[src] = false;
|
||||
} else {
|
||||
return '<span class="cache" data-width="' + cache[src][0] + '" data-height="' + cache[src][1] + '" ' + 'style="background:url(' + src + ') no-repeat left top; width:' + cache[src][0] + 'px; height:' + cache[src][1] + 'px; display: inline-block; max-width: 100%;' + '-webkit-background-size: contain;-moz-background-size: contain;-o-background-size: contain;background-size: contain;" />';
|
||||
}
|
||||
|
||||
return all;
|
||||
});
|
||||
|
||||
// 替换block
|
||||
html = html.replace(/<(iframe|embed)\s+([^>]*)>/ig, function(all, tag, src) {
|
||||
if (src[src.length - 1] == '/') {
|
||||
src = src.substring(0, src.length - 1);
|
||||
}
|
||||
|
||||
return '<div style="background: #ddd; height: 40px; overflow: hidden; line-height: 40px; text-align: center; font-size: 12px; color: #777">' + tag + ' : ' + $.trim(src) + '</div>';
|
||||
});
|
||||
|
||||
return html;
|
||||
});
|
||||
|
||||
function cacheResize() {
|
||||
var t = $(this),
|
||||
w = parseInt(t.data('width')),
|
||||
h = parseInt(t.data('height')),
|
||||
ow = t.width();
|
||||
|
||||
t.height(h * ow / w);
|
||||
}
|
||||
|
||||
var to;
|
||||
editor.hooks.chain('onPreviewRefresh', function() {
|
||||
var diff = $('.diff', preview),
|
||||
scrolled = false;
|
||||
|
||||
if (to) {
|
||||
clearTimeout(to);
|
||||
}
|
||||
|
||||
$('img', preview).load(function() {
|
||||
var t = $(this),
|
||||
src = t.attr('src');
|
||||
|
||||
if (scrolled) {
|
||||
preview.scrollTo(diff, {
|
||||
offset: -50
|
||||
});
|
||||
}
|
||||
|
||||
if (!!src && !cache[src]) {
|
||||
cache[src] = [this.width, this.height];
|
||||
}
|
||||
});
|
||||
|
||||
$('.cache', preview).resize(cacheResize).each(cacheResize);
|
||||
|
||||
var changed = $('.diff', preview).parent();
|
||||
if (!changed.is(preview)) {
|
||||
changed.css('background-color', 'rgba(255,230,0,0.5)');
|
||||
to = setTimeout(function() {
|
||||
changed.css('background-color', 'transparent');
|
||||
}, 4500);
|
||||
}
|
||||
|
||||
if (diff.length > 0) {
|
||||
var p = diff.position(),
|
||||
lh = diff.parent().css('line-height');
|
||||
lh = !!lh ? parseInt(lh) : 0;
|
||||
|
||||
if (p.top < 0 || p.top > preview.height() - lh) {
|
||||
preview.scrollTo(diff, {
|
||||
offset: -50
|
||||
});
|
||||
scrolled = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var input = $('#text'),
|
||||
th = textarea.height(),
|
||||
ph = preview.height(),
|
||||
uploadBtn = $('<button type="button" id="btn-fullscreen-upload" class="btn btn-link">' + '<i class="i-upload">附件</i></button>')
|
||||
.prependTo('.submit .right')
|
||||
.click(function() {
|
||||
$('a', $('.typecho-option-tabs li').not('.active')).trigger('click');
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.typecho-option-tabs li').click(function() {
|
||||
uploadBtn.find('i').toggleClass('i-upload-active',
|
||||
$('#tab-files-btn', this).length > 0);
|
||||
});
|
||||
|
||||
editor.hooks.chain('enterFakeFullScreen', function() {
|
||||
th = textarea.height();
|
||||
ph = preview.height();
|
||||
$(document.body).addClass('fullscreen');
|
||||
var h = $(window).height() - toolbar.outerHeight();
|
||||
|
||||
textarea.css('height', h);
|
||||
preview.css('height', h);
|
||||
});
|
||||
|
||||
editor.hooks.chain('enterFullScreen', function() {
|
||||
$(document.body).addClass('fullscreen');
|
||||
|
||||
var h = window.screen.height - toolbar.outerHeight();
|
||||
textarea.css('height', h);
|
||||
preview.css('height', h);
|
||||
});
|
||||
|
||||
editor.hooks.chain('exitFullScreen', function() {
|
||||
$(document.body).removeClass('fullscreen');
|
||||
textarea.height(th);
|
||||
preview.height(ph);
|
||||
});
|
||||
|
||||
function initMarkdown() {
|
||||
editor.run();
|
||||
|
||||
var imageButton = $('#wmd-image-button'),
|
||||
linkButton = $('#wmd-link-button');
|
||||
|
||||
Typecho.insertFileToEditor = function(file, url, isImage) {
|
||||
var button = isImage ? imageButton : linkButton;
|
||||
|
||||
options.strings[isImage ? 'imagename' : 'linkname'] = file;
|
||||
button.trigger('click');
|
||||
|
||||
var checkDialog = setInterval(function() {
|
||||
if ($('.wmd-prompt-dialog').length > 0) {
|
||||
$('.wmd-prompt-dialog input').val(url).select();
|
||||
clearInterval(checkDialog);
|
||||
checkDialog = null;
|
||||
}
|
||||
}, 10);
|
||||
};
|
||||
|
||||
Typecho.uploadComplete = function(file) {
|
||||
Typecho.insertFileToEditor(file.title, file.url, file.isImage);
|
||||
};
|
||||
|
||||
// 编辑预览切换
|
||||
var edittab = $('.editor').prepend('<div class="wmd-edittab"><a href="#wmd-editarea" class="active">撰写</a><a href="#wmd-preview">预览</a></div>'),
|
||||
editarea = $(textarea.parent()).attr("id", "wmd-editarea");
|
||||
|
||||
$(".wmd-edittab a").click(function() {
|
||||
$(".wmd-edittab a").removeClass('active');
|
||||
$(this).addClass("active");
|
||||
$("#wmd-editarea, #wmd-preview").addClass("wmd-hidetab");
|
||||
|
||||
var selected_tab = $(this).attr("href"),
|
||||
selected_el = $(selected_tab).removeClass("wmd-hidetab");
|
||||
|
||||
// 预览时隐藏编辑器按钮
|
||||
if (selected_tab == "#wmd-preview") {
|
||||
$("#wmd-button-row").addClass("wmd-visualhide");
|
||||
} else {
|
||||
$("#wmd-button-row").removeClass("wmd-visualhide");
|
||||
}
|
||||
|
||||
// 预览和编辑窗口高度一致
|
||||
$("#wmd-preview").outerHeight($("#wmd-editarea").innerHeight());
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
if (isMarkdown) {
|
||||
initMarkdown();
|
||||
} else {
|
||||
var notice = $('<div class="message notice">这篇文章不是由Markdown语法创建的, 继续使用Markdown编辑它吗? ' + '<button class="btn btn-xs primary yes">是</button> ' + '<button class="btn btn-xs no">否</button></div>')
|
||||
.hide().insertBefore(textarea).slideDown();
|
||||
|
||||
$('.yes', notice).click(function() {
|
||||
notice.remove();
|
||||
$('<input type="hidden" name="markdown" value="1" />').appendTo('.submit');
|
||||
initMarkdown();
|
||||
});
|
||||
|
||||
$('.no', notice).click(function() {
|
||||
notice.remove();
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="/static/js/moxie.js?v=14.10.10"></script>
|
||||
<script src="/static/js/plupload.js?v=14.10.10"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
function updateAttacmentNumber() {
|
||||
var btn = $('#tab-files-btn'),
|
||||
balloon = $('.balloon', btn),
|
||||
count = $('#file-list li .insert').length;
|
||||
|
||||
if (count > 0) {
|
||||
if (!balloon.length) {
|
||||
btn.html($.trim(btn.html()) + ' ');
|
||||
balloon = $('<span class="balloon"></span>').appendTo(btn);
|
||||
}
|
||||
|
||||
balloon.html(count);
|
||||
} else if (0 == count && balloon.length > 0) {
|
||||
balloon.remove();
|
||||
}
|
||||
}
|
||||
|
||||
$('.upload-area').bind({
|
||||
dragenter: function() {
|
||||
$(this).parent().addClass('drag');
|
||||
},
|
||||
|
||||
dragover: function(e) {
|
||||
$(this).parent().addClass('drag');
|
||||
},
|
||||
|
||||
drop: function() {
|
||||
$(this).parent().removeClass('drag');
|
||||
},
|
||||
|
||||
dragend: function() {
|
||||
$(this).parent().removeClass('drag');
|
||||
},
|
||||
|
||||
dragleave: function() {
|
||||
$(this).parent().removeClass('drag');
|
||||
}
|
||||
});
|
||||
|
||||
updateAttacmentNumber();
|
||||
|
||||
function fileUploadStart(file) {
|
||||
$('<li id="' + file.id + '" class="loading">' + file.name + '</li>').appendTo('#file-list');
|
||||
}
|
||||
|
||||
function fileUploadError(error) {
|
||||
var file = error.file,
|
||||
code = error.code,
|
||||
word;
|
||||
|
||||
switch (code) {
|
||||
case plupload.FILE_SIZE_ERROR:
|
||||
word = '文件大小超过限制';
|
||||
break;
|
||||
case plupload.FILE_EXTENSION_ERROR:
|
||||
word = '文件扩展名不被支持';
|
||||
break;
|
||||
case plupload.FILE_DUPLICATE_ERROR:
|
||||
word = '文件已经上传过';
|
||||
break;
|
||||
case plupload.HTTP_ERROR:
|
||||
default:
|
||||
word = '上传出现错误';
|
||||
break;
|
||||
}
|
||||
|
||||
var fileError = '%s 上传失败'.replace('%s', file.name),
|
||||
li, exist = $('#' + file.id);
|
||||
|
||||
if (exist.length > 0) {
|
||||
li = exist.removeClass('loading').html(fileError);
|
||||
} else {
|
||||
li = $('<li>' + fileError + '<br />' + word + '</li>').appendTo('#file-list');
|
||||
}
|
||||
|
||||
li.effect('highlight', {
|
||||
color: '#FBC2C4'
|
||||
}, 2000, function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
|
||||
var completeFile = null;
|
||||
|
||||
function fileUploadComplete(id, url, data) {
|
||||
var li = $('#' + id).removeClass('loading').data('cid', data.cid)
|
||||
.data('url', data.url)
|
||||
.data('image', data.isImage)
|
||||
.html('<input type="hidden" name="attachment[]" value="' + data.cid + '" />' + '<a class="insert" target="_blank" href="###" title="点击插入文件">' + data.title + '</a><div class="info">' + data.bytes + ' <a class="file" target="_blank" href="http://localhost/admin/media.php?cid=' + data.cid + '" title="编辑"><i class="i-edit"></i></a>' + ' <a class="delete" href="###" title="删除"><i class="i-delete"></i></a></div>')
|
||||
.effect('highlight', 1000);
|
||||
|
||||
attachInsertEvent(li);
|
||||
attachDeleteEvent(li);
|
||||
updateAttacmentNumber();
|
||||
|
||||
if (!completeFile) {
|
||||
completeFile = data;
|
||||
}
|
||||
}
|
||||
|
||||
$('#tab-files').bind('init', function() {
|
||||
var uploader = new plupload.Uploader({
|
||||
browse_button: $('.upload-file').get(0),
|
||||
url: 'http://localhost/index.php/action/upload?_=53e23a1bd0daab03b05d9c23190904a4',
|
||||
runtimes: 'html5,flash,html4',
|
||||
flash_swf_url: 'http://localhost/admin/js/Moxie.swf',
|
||||
drop_element: $('.upload-area').get(0),
|
||||
filters: {
|
||||
max_file_size: '2mb',
|
||||
mime_types: [{
|
||||
'title': '允许上传的文件',
|
||||
'extensions': 'gif,jpg,jpeg,png,tiff,bmp'
|
||||
}],
|
||||
prevent_duplicates: true
|
||||
},
|
||||
|
||||
init: {
|
||||
FilesAdded: function(up, files) {
|
||||
plupload.each(files, function(file) {
|
||||
fileUploadStart(file);
|
||||
});
|
||||
|
||||
completeFile = null;
|
||||
uploader.start();
|
||||
},
|
||||
|
||||
UploadComplete: function() {
|
||||
if (completeFile) {
|
||||
Typecho.uploadComplete(completeFile);
|
||||
}
|
||||
},
|
||||
|
||||
FileUploaded: function(up, file, result) {
|
||||
if (200 == result.status) {
|
||||
var data = $.parseJSON(result.response);
|
||||
|
||||
if (data) {
|
||||
fileUploadComplete(file.id, data[0], data[1]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
fileUploadError({
|
||||
code: plupload.HTTP_ERROR,
|
||||
file: file
|
||||
});
|
||||
},
|
||||
|
||||
Error: function(up, error) {
|
||||
fileUploadError(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
uploader.init();
|
||||
});
|
||||
|
||||
function attachInsertEvent(el) {
|
||||
$('.insert', el).click(function() {
|
||||
var t = $(this),
|
||||
p = t.parents('li');
|
||||
Typecho.insertFileToEditor(t.text(), p.data('url'), p.data('image'));
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
function attachDeleteEvent(el) {
|
||||
var file = $('a.insert', el).text();
|
||||
$('.delete', el).click(function() {
|
||||
if (confirm('确认要删除文件 %s 吗?'.replace('%s', file))) {
|
||||
var cid = $(this).parents('li').data('cid');
|
||||
$.post('http://localhost/index.php/action/contents-attachment-edit?_=53e23a1bd0daab03b05d9c23190904a4', {
|
||||
'do': 'delete',
|
||||
'cid': cid
|
||||
},
|
||||
function() {
|
||||
$(el).fadeOut(function() {
|
||||
$(this).remove();
|
||||
updateAttacmentNumber();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
$('#file-list li').each(function() {
|
||||
attachInsertEvent(this);
|
||||
attachDeleteEvent(this);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1,125 @@
|
||||
{{define "admin-posts"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>管理文章<a href="/admin/write-post">新增</a></h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main" role="main">
|
||||
<div class="col-mb-12 typecho-list">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<form method="get">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="你确认要删除这些文章吗?" href="/admin/api/post-delete">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search" role="search">
|
||||
{{if or .KW (gt .Serie 0)}}<a href="/admin/manage-posts">« 取消筛选</a>{{end}}
|
||||
<input type="text" class="text-s" placeholder="请输入关键字" value="{{if .KW}}{{.KW}}{{end}}" name="keywords" />
|
||||
<select name="serie">
|
||||
<option value="">所有专题</option>
|
||||
{{range .Series}}
|
||||
<option {{if eq $.Serie .ID}}selected{{end}} value="{{.ID}}">{{.Name}}
|
||||
{{end}}
|
||||
</select>
|
||||
<button type="submit" class="btn btn-s">筛选</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end .typecho-list-operate -->
|
||||
<form method="post" name="manage_posts" class="operate-form">
|
||||
<div class="typecho-table-wrap">
|
||||
<table class="typecho-list-table">
|
||||
<colgroup>
|
||||
<col width="20" />
|
||||
<col width="6%" />
|
||||
<col width="40%" />
|
||||
<col width="" />
|
||||
<col width="12%" />
|
||||
<col width="14%" />
|
||||
<col width="14%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th>标题</th>
|
||||
<th>作者</th>
|
||||
<th>专题</th>
|
||||
<th>创建</th>
|
||||
<th>更新</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .List}}
|
||||
<tr id="post-{{.ID}}">
|
||||
<td>
|
||||
<input type="checkbox" value="{{.ID}}" name="cid[]" />
|
||||
</td>
|
||||
<td><a href="/admin/manage-comments?cid={{.ID}}" class="balloon-button size-1">{{.Count}}</a></td>
|
||||
<td>
|
||||
<a href="/admin/write-post?cid={{.ID}}">{{.Title}}</a>
|
||||
<a target="_black" href="/post/{{.Slug}}.html" title="浏览 {{.Title}}"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>{{.Author}}</td>
|
||||
<td>{{if gt .SerieID 0}}专题ID:{{.SerieID}}{{else}}--{{end}}</td>
|
||||
<td>{{dateformat .CreateTime "06/01/02 15:04"}}</td>
|
||||
<td>{{dateformat .UpdateTime "06/01/02 15:04"}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<!-- end .operate-form -->
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<form method="get">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="你确认要删除这些文章吗?" href="/admin/api/post-delete">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="typecho-pager">
|
||||
{{if .Prev}}<li class="prev"><a href="/admin/manage-posts?{{html .Prev}}">«</a></li>{{end}}
|
||||
{{range $k,$v := .PP}}
|
||||
<li {{if eq $.Cur $k}}class="current"{{end}}><a href="/admin/manage-posts?{{html $v}}">{{$k}}</a></li>
|
||||
{{end}}
|
||||
{{if .Next}}<li class="next"><a href="/admin/manage-posts?{{html .Next}}">»</a></li>{{end}}
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end .typecho-list-operate -->
|
||||
</div>
|
||||
<!-- end .typecho-list -->
|
||||
</div>
|
||||
<!-- end .typecho-page-main -->
|
||||
</div>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
$('.typecho-list-table').tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'tr',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a,button.btn-operate'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1,166 @@
|
||||
{{define "admin-profile"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>个人设置</h2>
|
||||
</div>
|
||||
{{with .Account}}
|
||||
<div class="row typecho-page-main">
|
||||
<div class="col-mb-12 col-tb-3">
|
||||
<p>
|
||||
<img class="profile-avatar" src="//st.deepzz.com/static/img/deepzz.jpg" alt="{{.BlogName}}" />
|
||||
</p>
|
||||
<h2>{{.BlogName}}</h2>
|
||||
<p>{{.SubTitle}}</p>
|
||||
<p>最后登录: {{dateformat .LoginTime "2006/01/02 15:04"}}</p>
|
||||
</div>
|
||||
<div class="col-mb-12 col-tb-6 col-tb-offset-1 typecho-content-panel" role="form">
|
||||
<section>
|
||||
<h3>账号信息</h3>
|
||||
<form action="/admin/api/account" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="info-0-1">
|
||||
个人邮箱</label>
|
||||
<input id="info-0-1" name="email" type="text" class="text" value="{{.Email}}" />
|
||||
<p class="description">
|
||||
用于发送告警邮件及其它通知, 建议填写, 如: example#163.com.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="info-0-2">
|
||||
移动电话</label>
|
||||
<input id="info-0-2" name="phoneNumber" type="text" class="text" value="{{.PhoneN}}" />
|
||||
<p class="description">
|
||||
选择填写, 如: +8615123456789.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="info-0-3">
|
||||
家庭住址</label>
|
||||
<input id="info-0-3" name="address" type="text" class="text" value="{{.Address}}" />
|
||||
<p class="description">
|
||||
选择填写, 如: xx省xx市xx区(县)xxxx小区xxx号.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
更新账号信息</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
<br>
|
||||
<section>
|
||||
<h3>博客信息</h3>
|
||||
<form action="/admin/api/blog" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="blog-0-1">
|
||||
博客昵称 *</label>
|
||||
<input id="blog-0-1" name="blogName" type="text" class="text" value="{{.BlogName}}" />
|
||||
<p class="description">
|
||||
用户昵称可以与用户名不同, 用于前台显示.
|
||||
<br />如果你将此项留空, 将默认使用登录用户名.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="blog-0-4">
|
||||
标题显示 *</label>
|
||||
<input id="blog-0-4" name="bTitle" type="text" class="text" value="{{.BTitle}}" />
|
||||
<p class="description">
|
||||
用于所有页面的title组成, 如: Deepzz's Blog</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="blog-0-2">
|
||||
个人格言</label>
|
||||
<input id="blog-0-2" name="subTitle" type="text" class="text" value="{{.SubTitle}}" />
|
||||
<p class="description">
|
||||
简介或格言, 如: 生活百般滋味, 人生需要笑对.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="blog-0-3">
|
||||
备案号</label>
|
||||
<input id="blog-0-3" name="beiAn" type="text" class="text" value="{{.BeiAn}}" />
|
||||
<p class="description">
|
||||
用于底部显示, 不添加则不显示, 如: 蜀 ICP 备 16021362 号</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="blog-0-4">
|
||||
专题前说</label>
|
||||
<textarea id="blog-0-4" name="seriessay">{{.SeriesSay}}</textarea>
|
||||
<p class="description">
|
||||
此文字用于专题前述, 会在专题最前方显示.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option">
|
||||
<li>
|
||||
<label class="typecho-label" for="blog-0-5">
|
||||
归档前说</label>
|
||||
<textarea id="blog-0-5" name="archivessay">{{.ArchivesSay}}</textarea>
|
||||
<p class="description">
|
||||
此文字用于归档前述, 会在归档最前方显示.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-4">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
更新博客信息</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
<br>
|
||||
<section id="change-password">
|
||||
<h3>密码修改</h3>
|
||||
<form action="/admin/api/password" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-password-10">
|
||||
<li>
|
||||
<label class="typecho-label" for="password-0-11">
|
||||
原始密码</label>
|
||||
<input id="password-0-11" name="old" type="password" class="w-60" />
|
||||
<p class="description">
|
||||
该账户旧密码.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-password-10">
|
||||
<li>
|
||||
<label class="typecho-label" for="password-0-11">
|
||||
用户密码</label>
|
||||
<input id="password-0-11" name="new" type="password" class="w-60" />
|
||||
<p class="description">
|
||||
为此用户分配一个密码.
|
||||
<br />建议使用特殊字符与字母、数字的混编样式,以增加系统安全性.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-confirm-11">
|
||||
<li>
|
||||
<label class="typecho-label" for="confirm-0-12">
|
||||
用户密码确认</label>
|
||||
<input id="confirm-0-12" name="confirm" type="password" class="w-60" />
|
||||
<p class="description">
|
||||
请确认你的密码, 与上面输入的密码保持一致.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item-submit-13">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
更新密码</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -0,0 +1,73 @@
|
||||
{{define "admin-serie"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
{{if .Edit}}
|
||||
<h2>编辑 {{with .Edit}}{{.Name}}{{end}}</h2>
|
||||
{{else}}
|
||||
<h2>新增专题</h2>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="row typecho-page-main" role="form">
|
||||
<div class="col-mb-12 col-tb-6 col-tb-offset-3">
|
||||
<form action="/admin/api/serie-add" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<ul class="typecho-option" id="typecho-option-item-name-0">
|
||||
<li>
|
||||
<label class="typecho-label" for="name-0-1">
|
||||
专题名称 *</label>
|
||||
<input id="name-0-1" name="name" type="text" class="text" {{with .Edit}}value="{{.Name}}"{{end}} />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-slug-1">
|
||||
<li>
|
||||
<label class="typecho-label" for="slug-0-2">
|
||||
专题缩略名</label>
|
||||
<input id="slug-0-2" name="slug" type="text" class="text" {{with .Edit}}value="{{.Slug}}"{{end}} />
|
||||
<p class="description">
|
||||
专题缩略名用于创建友好的链接形式, 建议使用字母, 数字, 下划线和横杠.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option" id="typecho-option-item-description-3">
|
||||
<li>
|
||||
<label class="typecho-label" for="description-0-3">
|
||||
专题描述</label>
|
||||
<textarea id="description-0-3" name="description">{{with .Edit}}{{.Desc}}{{end}} </textarea>
|
||||
<p class="description">
|
||||
此文字用于描述专题, 在有的主题中它会被显示.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="typecho-option typecho-option-submit" id="typecho-option-item--6">
|
||||
<li>
|
||||
<button type="submit" class="btn primary">
|
||||
增加专题</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
$(document).ready(function () {
|
||||
var error = $('.typecho-option .error:first');
|
||||
|
||||
if (error.length > 0) {
|
||||
$('html,body').scrollTop(error.parents('.typecho-option').offset().top);
|
||||
}
|
||||
|
||||
$('form').submit(function () {
|
||||
if (this.submitted) {
|
||||
return false;
|
||||
} else {
|
||||
this.submitted = true;
|
||||
}
|
||||
});
|
||||
|
||||
$('label input[type=text]').click(function (e) {
|
||||
var check = $('#' + $(this).parents('label').attr('for'));
|
||||
check.prop('checked', true);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1,109 @@
|
||||
{{define "admin-series"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>管理专题<a href="/admin/add-serie">新增</a></h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main manage-metas">
|
||||
<div class="col-mb-12" role="main">
|
||||
<form method="post" name="manage_categories" class="operate-form">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="此分类下的所有内容将被删除, 你确认要删除这些分类吗?" href="/admin/api/serie-delete">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search" role="search">
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-table-wrap">
|
||||
<table class="typecho-list-table">
|
||||
<colgroup>
|
||||
<col width="20" />
|
||||
<col width="10%" />
|
||||
<col width="45%" />
|
||||
<col width="30%" />
|
||||
<col width="10%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="nodrag">
|
||||
<th> </th>
|
||||
<th>ID</th>
|
||||
<th>名称</th>
|
||||
<th>创建</th>
|
||||
<th>文章数</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .List}}
|
||||
<tr id="mid-category-{{.ID}}">
|
||||
<td>
|
||||
<input type="checkbox" value="{{.ID}}" name="mid[]" />
|
||||
</td>
|
||||
<td><a href="/admin/add-serie?mid={{.ID}}">{{.ID}}</a>
|
||||
<a href="/series.html#toc-{{.ID}}" title="浏览 {{.Name}}"><i class="i-exlink"></i></a>
|
||||
</td>
|
||||
<td>{{.Name}}</td>
|
||||
<td>{{dateformat .CreateTime "2006/01/02 15:04"}}</td>
|
||||
<td><a class="balloon-button left size-50" href="#">{{len .Articles}}</a></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
var table = $('.typecho-list-table').tableDnD({
|
||||
onDrop: function() {
|
||||
var ids = [];
|
||||
|
||||
$('input[type=checkbox]', table).each(function() {
|
||||
ids.push($(this).val());
|
||||
});
|
||||
|
||||
$.post('/admin/api/move',
|
||||
$.param({
|
||||
mid: ids
|
||||
}));
|
||||
|
||||
$('tr', table).each(function(i) {
|
||||
if (i % 2) {
|
||||
$(this).addClass('even');
|
||||
} else {
|
||||
$(this).removeClass('even');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
table.tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'tr',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
|
||||
$('.dropdown-menu button.merge').click(function() {
|
||||
var btn = $(this);
|
||||
btn.parents('form').attr('action', btn.attr('rel')).submit();
|
||||
});
|
||||
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1,58 @@
|
||||
{{define "admin-tags"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>管理标签</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main manage-metas">
|
||||
<div class="col-mb-12 col-tb-8" role="main">
|
||||
<form method="post" name="manage_tags" class="operate-form">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<!-- <ul class="dropdown-menu"> -->
|
||||
<!-- <li><a lang="你确认要删除这些标签吗?" href="/admin/api/tag-delete">删除</a></li> -->
|
||||
<!-- </ul> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="typecho-list-notable tag-list clearfix">
|
||||
{{range $k,$v:=.List}}
|
||||
<li class="size-5"><input type="checkbox" name="mid[]" />{{$k}}<i class="i-edit"></i></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-mb-12 col-tb-4" role="form">
|
||||
<p> 夏雷在天际回响<br> 纸船在水中荡漾<br> 时间就这么走了<br> 远离了三年的学堂<br> <br> 是否还记得前排的那个姑凉<br> 如今你又彷徨在谁的身旁<br> 那时我们都太迷茫<br> 沉醉在青春路上<br> <br> 嘴角扬起的微笑<br> 那是我们最美好的时光<br> 那个女孩的嘴角<br> 深深地印在我的胸膛<br> <br> 青春是多么昂扬<br> 奏响生命的乐章<br> 雨中漫步的时光<br> 在记忆流逝中远航<br> <br> 别了,我亲爱的课堂<br> 别了,我最好的同窗<br> 别了,敬爱三年的师长<br> 我多么希望,记忆停留归航<br> 2016/9.9殇星<br> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
$(document).ready(function () {
|
||||
|
||||
$('.typecho-list-notable').tableSelectable({
|
||||
checkEl : 'input[type=checkbox]',
|
||||
rowEl : 'li',
|
||||
selectAllEl : '.typecho-table-select-all',
|
||||
actionEl : '.dropdown-menu a'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl : '.dropdown-toggle',
|
||||
menuEl : '.dropdown-menu'
|
||||
});
|
||||
|
||||
$('.dropdown-menu button.merge').click(function () {
|
||||
var btn = $(this);
|
||||
btn.parents('form').attr('action', btn.attr('rel')).submit();
|
||||
});
|
||||
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1,82 @@
|
||||
{{define "admin-trash"}}
|
||||
<div class="body container">
|
||||
<div class="typecho-page-title">
|
||||
<h2>回收箱</h2>
|
||||
</div>
|
||||
<div class="row typecho-page-main manage-metas">
|
||||
<div class="col-mb-12" role="main">
|
||||
<form method="post" name="manage_trash" class="operate-form">
|
||||
<div class="typecho-list-operate clearfix">
|
||||
<div class="operate">
|
||||
<label><i class="sr-only">全选</i>
|
||||
<input type="checkbox" class="typecho-table-select-all" />
|
||||
</label>
|
||||
<div class="btn-group btn-drop">
|
||||
<button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only">操作</i>选中项 <i class="i-caret-down"></i></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a lang="你确认要恢复该文章到草稿箱吗?" href="/admin/api/trash-recover">恢复</a></li>
|
||||
<li><a lang="此回收箱下的所有内容将被删除, 你确认要删除这些文章吗?" href="/admin/api/trash-delete">删除</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search" role="search">
|
||||
</div>
|
||||
</div>
|
||||
<div class="typecho-table-wrap">
|
||||
<table class="typecho-list-table">
|
||||
<colgroup>
|
||||
<col width="20" />
|
||||
<col width="40%" />
|
||||
<col width="" />
|
||||
<col width="12%" />
|
||||
<col width="14%" />
|
||||
<col width="14%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th>标题</th>
|
||||
<th>作者</th>
|
||||
<th>专题</th>
|
||||
<th>创建</th>
|
||||
<th>删除</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .List}}
|
||||
<tr id="mid-article-{{.ID}}">
|
||||
<td>
|
||||
<input type="checkbox" value="{{.ID}}" name="mid[]" />
|
||||
</td>
|
||||
<td>{{.Title}}</td>
|
||||
<td>{{.Author}}</td>
|
||||
<td>{{if gt .SerieID 0}}专题ID:{{.SerieID}}{{else}}--{{end}}</td>
|
||||
<td>{{dateformat .CreateTime "2006/01/02 15:04"}}</td>
|
||||
<td>{{dateformat .DeleteTime "2006/01/02 15:04"}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function() {
|
||||
$(document).ready(function() {
|
||||
$('.typecho-list-table').tableSelectable({
|
||||
checkEl: 'input[type=checkbox]',
|
||||
rowEl: 'tr',
|
||||
selectAllEl: '.typecho-table-select-all',
|
||||
actionEl: '.dropdown-menu a,button.btn-operate'
|
||||
});
|
||||
|
||||
$('.btn-drop').dropdownMenu({
|
||||
btnEl: '.dropdown-toggle',
|
||||
menuEl: '.dropdown-menu'
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
{{define "archives"}}<div id=content class=inner><article class="post post-archives"><h1 class=title>归档</h1><div class="entry-content">{{str2html .Article}}</div></article></div>{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
{{define "article"}}<div id=content class=inner>{{with .Article}}<article class="post post-{{.ID}}" itemscope itemtype="http://schema.org/Article"><div class=meta><div class=date><time itemprop=datePublished content="{{dateformat .CreateTime " 2006-01-02 "}}">{{dateformat .CreateTime "Jan 02, 2006"}}</time></div><div class=comment><a href="#comments">{{.Count}} Comments</a></div></div><h1 class=title itemprop=headline>{{.Title}}</h1><div class="entry-content" itemprop=articleBody>{{str2html .Content}}<p>本文链接:<a rel="bookmark" title="Permalink to {{.Title}}" href="//{{$.Domain}}/post/{{.Slug}}.html" itemprop="url">https://{{$.Domain}}/post/{{.Slug}}.html</a>,<a href="//{{$.Domain}}/post/{{.Slug}}.html#comments">参与评论 »</a></p><p>--<acronym title="End of File">EOF</acronym>--</p><p class="post-info">发表于 <span class="date">{{dateformat .CreateTime "2006-01-02 15:04:05"}}</span>{{if gt (.Tags|len) 0}},并被添加「{{range $index, $elem := .Tags}}{{if gt $index 0}}、{{end}}<a href="/search.html?q=tag:{{$elem}}">{{$elem}}</a>{{end}}」标签{{end}}{{if .UpdateTime|isnotzero}},最后修改于 <span class="date">{{dateformat .UpdateTime "2006-01-02 15:04:05"}}</span>{{end}}。</p>{{with $.Copyright}}<p class="copyright-info">{{str2html $.Copyright}}<a href="//{{$.Domain}}/post/about.html#toc-1">更多说明 »</a></p>{{end}} {{with $.Serie}}{{if gt $.Days 100}}<p class="expire-tips">提醒:本文最后更新于 {{$.Days}} 天前,文中所描述的信息可能已发生改变,请谨慎使用。</p>{{end}}<div class="entry-series"><h3>专题「{{.Name}}」的其它文章 <a href="/series.html#toc-{{.ID}}" title="更多">»</a></h3><ul>{{range .Articles}}{{if ne .ID $.Article.ID}}<li><a href="/post/{{.Slug}}.html">{{.Title}}</a> <span class="date">({{dateformat .CreateTime "Jan 02, 2006"}})</span></li>{{end}}{{end}}</ul></div>{{end}}</div></article><nav class="page-navi">{{with .Prev}}<a href="/post/{{.Slug}}.html" class=prev>« {{.Title}}</a>{{end}}{{with .Next}}<a href="/post/{{.Slug}}.html" class=next>{{.Title}} »</a>{{end}}</nav><section id=comments><h1 class=title>Comments<span id=switch_thread_mode></h1><div id=disqus_thread class=ds-thread data-identifier="post-{{.Slug}}" data-url="{{if $.EnableHttps}}https://{{else}}http://{{end}}{{$.Domain}}/post/{{.Slug}}.html"></div><div id=simple_thread data-id="golomb-coded-sets"></div></section>{{end}}</div>{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
{{define "blogroll"}}<div id=content class=inner>{{with .Article}}<article class="post post-{{.ID}}" itemscope itemtype="http://schema.org/Article"><h1 class=title itemprop=headline>{{.Title}}</h1><div class="entry-content" itemprop=articleBody><style>.links.ssl li{position:relative;text-indent:20px}.links.ssl li::before{content:'';display:block;position:absolute;top:6px;left:0;width:16px;height:16px;background-size:16px 16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAD/0lEQVR4Ab2XA5hjOxTHO9batrdce8yrtW2b9dgq1jae1vbueOpn2zbzcoqP06luJ993epXk/0vOOUnK8abkq6Ttb1r2UY8+PJzx4L1DZY8/PrzrxYqySYqsXeEcf5Z+I9r3WlI0MjfzVoKx4Gnaj4XP0pDd/sl/kvq1/HJsxXSxcHP7Hs1bsS4+fSt3RXkt9ZVaz6DyehqpDTTSWI3503bF7+sopDEyqOBxqnks02Mia+IzxTyp1jwZlVSRVlHpS3F3qfWDV49I7TZmFNGdP4rqHj1LIhDn3Es2qfU0Kq0hAfLncVN7pvksTq0fNH+fxSZeVkN+kbSk/0xnddt1jYyanyGSaoz031BfpaO+5U7qyPVavAe3VdeSavIzq3gt+RUe0Qg3Z2wFnol/wSXSl+NuRzQPCfIKYGnOCDn4FHf2H71+8CJP2q7fN3Y/xIrWxKCYWX0SPBZv2SkyPOd+qlFVTyH5lfjaiGYhwZ607y1o07e0mvxBraPRhiMTD3qecsPbDsDB9CtE93ylUMLxouy+EHNLjdsrriXoIluGBrrdMDAoMHjslB7RkGoQ1ROm95wRGBQQFBwSGOqu4fqBC7OGlWuNDKwTH3Qf3KpLUHBgSKPCe8/u5G0+Lri343S0Hk/7e0UVxH9gslfi3ttxepJu59loo7sG9TNvJX5RXEn8hwH+FF+KfQ2/N6zbxz11+9Gl1g0C3Hm/5GB+VRyOeArSDvIZ7mEWIJg8NlU9beurGveFDe7zq+LRa9/cndsgwPU3C09kPYq2Lq+Y/C/xC7FPdpyZdAuT3/HW8EzcVF5NMJRUEdZ+oX/TF7eXOgM4BhWAfFX5aA2HpdK2a1SE4mpCJZ4JB8DiRgEg8meJBWs5LBY8E+fBBW4DzJEJN3s12u5RUQ29x+645HeAntzW3fIfp9bMkQv2NDlAL17rbtn3kusdy+88pXB3UwGAeA8Qh82n8Gka2mue3HQANvEkPYhDmmnNDMK74Va/uKBF27DQlWWjFH1Fbfs4F+dv9UsQtu0a2XrrsQmnD745FSmvJ1RNmNFrEr7Wldc7F2cVIGFxP/rw29MQPoxal2ks/BdcnYuzDBASFhQ0cw9/J5wNi+ynYbjC8ywxf4sTXfaDEIvZIJ4TIA4j3wTvmwrAAbH70NvTfnFn5H5Lw1FEt+Fw9RvAbIlgA6ub0ZnoC24DwL8ffJwSswmAT0Q3SmtcAxyHCvgYhnIfpnyGITJnywQ78Oay21ubLRVsx2cLbXEF8Xvh87TGAW6+U3gq8+FElP80GRU+T0HlOhKp9L5bWT2B148Ua79Zjyciy9dOTkTnKwqogidp76mqZnyjqpzxNdumrp75bfa9lNqK1272d2j+D+LY/CDPYPo9AAAAAElFTkSuQmCC)}.links li .more{color:#999;font-size:14px}</style>{{str2html .Content}}<p>注:为了节约本站用户的宝贵时间,长期无法访问的链接会被移除!另本站只有友情链接,不接受链接交换。</p></div></article>{{end}}</div>{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
{{define "home"}}<div id="content" class="inner">{{range .List}}<article class="post post-list"><div class="meta"><div class="date"><time>{{dateformat .CreateTime "Jan 02, 2006"}}</time></div><div class="comment"><a href="/post/{{.Slug}}.html#comments">{{.Count}} Comments</a></div></div><h1 class="title"><a href="/post/{{.Slug}}.html">{{.Title}}</a></h1><div class="entry-content"><p>{{str2html .Excerpt}}[...]</p><p><a href="/post/{{.Slug}}.html" class="more-link">继续阅读 »</a></p></div></article>{{end}}<nav class="page-navi">{{if gt .Prev 0}}<a href="?pn={{.Prev}}" class="prev">« 上一页</a>{{end}}{{if gt .Next 0}}<a href="?pn={{.Next}}" class="next">下一页 »</a>{{end}}<div class="center"><a href="/archives.html">博客归档</a></div></nav></div>{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8"><meta content="width=device-width,minimum-scale=1.0" name="viewport"><meta name="format-detection" content="telephone=no"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="referrer" content="always"><title>{{.Title}}</title><script>!function(n,t){function e(){o("nls",1)}function c(){t.documentElement.style.display="none",u(),location.reload()}function r(n){var t="";try{t=f[n]||"",t.length<99&&c()}catch(e){u()}return t}function i(n,t){try{f[n]=t,t!==f[n]&&u()}catch(e){u()}}function o(n,e){var c=999;e||(c=-1),c=new Date(+new Date+86400000*c).toGMTString();var r=n+"="+e+";path=/;expires="+c;t.cookie=r}function a(n){var e=t.getElementById(n).innerHTML;i(n,e)}function l(e,c){var i=r(e),o=t.createElement(c?"script":"style");return n.execScript&&c?n.execScript(i):(o.innerHTML=i,void t.head.appendChild(o))}function u(){o("v",0)}var f,h=function(){},d=n.L={h:h,l:h,c:h};try{f=localStorage,d.h=a,d.l=l,d.c=o}catch(p){e()}}(this,document);</script>{{if .Version}}<script>L.c('v', {{.Version}})</script>{{end}}<link rel="apple-touch-icon" href="{{.Favicon}}"><link rel="search" type="application/opensearchdescription+xml" href="//{{.Domain}}/opensearch.xml" title="{{.BTitle}}">{{if .Version}}<style id="blog_css">{{template "blog_css"}}</style><script>L.h('blog_css')</script>{{else}}<script>L.l("blog_css")</script>{{end}}<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="//{{.Domain}}/rss.html"><meta name="description" content="{{.Description}}"><style id="style-1-cropbar-clipper">.en-markup-crop-options{top:18px!important;left:50%!important;margin-left:-100px!important;width:200px!important;border:2px rgba(255,255,255,.38) solid!important;border-radius:4px!important}.en-markup-crop-options div div:first-of-type{margin-left:0!important}</style></head><body><div class="container"><div class="left-col"><div class="intrude-less"><header id="header" class="inner"><div class="profilepic"><a href="/"></a></div><h1><a href="/">{{.BlogName}}</a></h1><p class="subtitle">{{.SubTitle}}</p><nav id="main-nav"><ul><li {{if eq .Path "/"}}class="on" {{end}}><a href="/"><span>首页</span></a></li><li {{if eq .Path "/series.html"}}class="on" {{end}}><a href="/series.html"><span>专题</span></a></li><li {{if eq .Path "/archives.html"}}class="on" {{end}}><a href="/archives.html"><span>归档</span></a></li><li {{if eq .Path "/post/blogroll.html"}}class="on" {{end}}><a href="/post/blogroll.html"><span>友链</span></a></li><li {{if eq .Path "/post/about.html"}}class="on" {{end}}><a href="/post/about.html"><span>关于</span></a></li></ul></nav><nav id="sub-nav"><div class="social"><a target="_blank" class="twitter external" rel="nofollow" href="{{.Twitter}}" title="Twitter">Twitter</a><a target="_blank" class="rss" href="//{{.Domain}}{{.RSS}}" title="RSS 订阅">RSS</a><a class="search" href="{{.Search}}" title="站内搜索">Search</a></div></nav></header></div></div><div class="mid-col"><div class="mid-col-container">{{if .HomePage}} {{template "home" .}} {{else if .ArticlePage}} {{template "article" .}}{{else if .SeriesPage}}{{template "series" .}}{{else if .ArchivesPage}}{{template "archives" .}} {{else if .BlogrollPage}}{{template "blogroll" .}}{{else if .AboutPage}}{{template "about" .}}{{else if .SearchPage}} {{template "search" .}}{{else if .NotFoundPage}}{{template "notfound"}} {{end}}</div><footer id=footer class=inner>© {{.CopyYear}} - {{.BTitle}} - <a target="_blank" rel="nofollow designer" class="external beian" href="http://www.miitbeian.gov.cn/">{{.BeiAn}}</a><br>Powered by <a target=_blank href="//github.com/eiblog/eiblog">EiBlog</a> & <a target=_blank rel="nofollow designer" class=external href="//github.com/shashankmehta/greyshade">GreyShade</a></footer></div></div><input type=hidden id=CURRENT_PAGE value="{{.CurrentPage}}"><input type=hidden id=CDN_DOMAIN value="{{.Static}}"><!-- todo ana_js -->{{if .Version}}<script id="jq_js">{{template "jq_js"}}</script><script>L.h('jq_js')</script>{{else}}<script>L.l('jq_js', 1)</script>{{end}} {{if .Version}}<script id="hl_js">{{template "hl_js"}}</script><script>L.h('hl_js')</script>{{else}}<script>L.l('hl_js', 1)</script>{{end}}{{if .Version}}<script id="blog_js">{{template "blog_js"}}</script><script>L.h('blog_js')</script>{{else}}<script>L.l('blog_js', 1)</script>{{end}}</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<ShortName>{{.BTitle}}</ShortName>
|
||||
<Description>{{.SubTitle}}</Description>
|
||||
<Url type="text/html" template="https://deepzz.com/search.html?q={searchTerms}" />
|
||||
</OpenSearchDescription>
|
||||
@@ -0,0 +1,45 @@
|
||||
{{define "search"}}
|
||||
<div id="content" class="inner">
|
||||
<article class="post post-search">
|
||||
<h1 class="title">站内搜索</h1>
|
||||
<div class="entry-content">
|
||||
<div id="search">
|
||||
<form action="/search.html">
|
||||
<div class="wrapper">
|
||||
<input maxlength="80" placeholder="请输入关键字..." id="keyword" name="q" value="{{.Word}}" type="search" required>
|
||||
</div>
|
||||
<input class="submit" type="submit" value="搜索">
|
||||
</form>
|
||||
</div>
|
||||
<div id="searchResult">
|
||||
{{if .Word}}{{with .SearchResult}}{{if gt (.Hits.Hits|len) 0}}
|
||||
<div class="info">本次搜索共找到结果 {{.Hits.Total}} 条 (用时 {{.Took}} 秒)</div>
|
||||
{{range .Hits.Hits}}
|
||||
<div class="item">
|
||||
<div class="title"><a href="/post/{{.Source.Slug}}.html">{{if .Highlight.Title}}{{str2html (join .Highlight.Title "")}}{{else}}{{.Source.Title}}{{end}}</a></div>
|
||||
<div class="desc">
|
||||
<div class="summary"><span class="date">{{dateformat .Source.CreateTime "2006-01-02"}}</span> ... {{str2html (join .Highlight.Content "...")}} ...</div>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}{{else}}
|
||||
<div class="no-result">没有找到任何结果,请更换查询词试试~</div>
|
||||
<div class="item">
|
||||
<div class="title">或者试试 Google 站内搜索:<a target="_blank" href="//www.google.com/#q=site:{{$.Domain}} {{$.Word}}">site:{{$.Domain}} {{$.Word}}</a></div>
|
||||
</div>{{end}}{{end}}
|
||||
{{else}}
|
||||
<div class="hot-words">热搜词:{{range .HotWords}}<a href="?q={{.}}">{{.}}</a>{{end}}</div>
|
||||
<div class="intro">
|
||||
<p>支持的搜索格式:</p>
|
||||
<ol>
|
||||
<li>输入关键词全文搜索:<a href="?q=HTTP/2 性能优化">HTTP/2 性能优化</a>;</li>
|
||||
<li>指定时间段搜索:<a href="?q=date:2014">date:2014</a>、<a href="?q=date:2015-05">date:2015-05</a>;</li>
|
||||
<li>指定标签搜索:<a href="?q=tag:性能优化">tag:性能优化</a>、<a href="?q=tag:HTTPS">tag:HTTPS</a>;</li>
|
||||
<li>组合搜索:<a href="?q=type:post date:2015 tag:HTTP 优化">type:post date:2015 tag:HTTP 优化</a>;</li>
|
||||
</ol>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
{{if or .Prev .Next}}<nav class="page-navi">{{with .Prev}}<a href="?{{html .}}" class="prev">« 上一页</a>{{end}}{{with .Next}}<a href="?{{html .}}" class="next">下一页 »</a>{{end}}</nav>{{end}}
|
||||
</div>{{end}}
|
||||
@@ -0,0 +1 @@
|
||||
{{define "series"}}<div id=content class=inner><article class="post post-series"><h1 class=title>专题</h1><div class="entry-content">{{str2html .Article}}</div></article></div>{{end}}
|
||||
@@ -0,0 +1,23 @@
|
||||
{{define "ana_js"}}
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', 'https://o7msui8ho.qnssl.com/js/analytics.js', 'ga');
|
||||
|
||||
ga('create', 'UA-77251712-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
! function(e, n, o, t) {
|
||||
var a = e.screen,
|
||||
r = encodeURIComponent,
|
||||
i = ["tid=UA-5422922-2", "dl=" + r(n.URL), "dt=" + r(n.title), "dr=" + r(n.referrer), "dp=" + r(t.pathname), "ul=" + (o.language || o.browserLanguage).toLowerCase(), "sd=" + a.colorDepth + "-bit", "sr=" + a.width + "x" + a.height, "_=" + +new Date],
|
||||
c = "?" + i.join("&");
|
||||
e.__beacon_img = new Image, e.__beacon_img.src = "/beacon.html" + c
|
||||
}(window, document, navigator, location);
|
||||
{{end}}
|
||||
@@ -0,0 +1,3 @@
|
||||
{{define "blog_css"}}
|
||||
*{margin:0;padding:0}html,body{height:100%}body{background:#ddd;color:#666;font-size:14px;font-family:"-apple-system","Open Sans","HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif}::selection,::-moz-selection,::-webkit-selection{background-color:#2479cc;color:#eee}h1{font-size:2em}h3{font-size:1.3em}h4{font-size:1.1em}a{color:#2479cc;text-decoration:none}article{border-bottom:1px solid #ddd;border-top:1px solid #fff;padding:30px 0;position:relative}.container{max-width:1600px;min-height:100%;position:relative}.left-col{background-color:#50514c;background-image:url(//st.deepzz.com/static/img/bg04.jpg);background-size:cover;height:100%;position:fixed;width:270px}.mid-col{background:#fff;left:0;margin-left:270px;min-height:100%;position:absolute;right:0}article .meta{color:#555;float:right;font-size:.9em;line-height:2;position:relative;text-align:right;width:auto}article .meta a{color:#999}article h1.title{color:#333;font-size:2em;font-weight:300;line-height:35px;margin-bottom:25px}article h1.title a{color:#333;transition:color .3s}.mid-col .mid-col-container{padding:0 70px 0 40px}article .meta .date,article .meta .comment,article .meta .tags{position:relative}article .meta .date-modified{display:none}article h1.title a:hover{color:#2479cc}#header{border-bottom:0;height:auto;line-height:30px;margin-left:50px;padding:30px 0;width:100%}#main-nav{margin-left:0}#main-nav,#sub-nav{float:none;margin-top:15px}#sub-nav{position:relative}#content{margin:0 auto;width:100%}#header a{color:#efefef;text-shadow:0 1px #666;transition:color .3s}#header h1{float:none;font-weight:300;font-size:30px}#main-nav ul li{display:block;margin-left:0;position:relative}#header .subtitle{color:#ccc}#sub-nav .social{margin-bottom:10px}#header a:hover{color:#ccc}#header .profilepic a{background-image:url(//st.deepzz.com/static/img/deepzz.jpg);background-size:160px 160px;border-radius:50%;display:block;height:160px;margin:15px 0 20px -10px;width:160px}#sub-nav .social a{background-size:20px 20px;background-position:center center;background-repeat:no-repeat;border-radius:50%;display:inline-block;height:28px;margin:0 6px 15px;opacity:.75;text-indent:-9999px;transition:opacity .3s;vertical-align:middle;width:28px}#sub-nav .social a:hover{opacity:1}#sub-nav .social a:first-of-type{margin-left:0}#sub-nav .social a:last-of-type{margin-right:0}#sub-nav .social a.twitter{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABOklEQVR4Ae3QM4DXYQCH8W+2m7Jt15Ztc8u29myba1O2NbXlmrJ11nP8+31/GO+uz/psj7z6jzYsZBPL6KogylBM3tCDS/wDkrjNIOWgC4MorgC2MlgWLCXSesZzCWinAEoA0FAG9MOsE1VorFw0AiCd/orBF2Klc4HT3KaDctGQgF2RY+iETTzlFUAx/hDwlfmhxFjMrigS6wmXwGnG0kCiO2aTFI17xPrES8zmKhzt2MRo3uPdGIWjOgDxeNdOkbiCH/EUVyTq48cZxWIQ3g2TCTXZwT/c/ZAJpbnOOeJwN01mrMaLZ7JjO+5qywljeMRHErEZL3cM4Cdmy+SGFhzCZobMqM5E1rCM/TzB5gXdZEMZ+vMYu7cslDuqMZcrfCUkleccoL+8ozHjWcsujnGIDcyjF2VV8GUCCH5vOpRoTxYAAAAASUVORK5CYII=");background-color:#55cff8;border:1px solid #55cff8}#sub-nav .social a.search{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAB6klEQVR4Ac3RM4AdURSA4RPbto06tm3btm3b7GLbttOsjWdrPG9OdFejRZWv/a8vqDM2s46nNot7vSusA5KrQfYk13CvYt6IXvwtiIKBuuWYnJAXsia+hPcEqhBtrsVZ2bu96EFN3LufpUGPfwCivoDNVQG00I0wHfqVY4GtG93G3Ne9mY/CNLGgRYxFgjdYOkMG9tkSptbDoMY3JW2PpCKgYGuLqWy1QYk3/YsSx5UFVdxAJPxnQc7eEgl6HmjiXpAv9cTlliXnWvwnaCkMmhxDkTA0liX2PPnpH6AjujIStsGyFHzwL/hugQ5P/qCHXHSGLIl3/wXqLuhwFsQAecYpskSfJX8cDTri6iBh7C1LrnmpqZLOCeYgkVBTlpJqIcGdAU1iHDlnkkqkPyHB9wBVuB8J5zqVbG+FhIiGrqDg24gprP5CoIa/hancuxNKQCpDk8BdTOWcBuqYIpIXUwWpwBXHButSzw76OWZARX1sAOrYWpIdsyDIfq8D6gylqFc6E3kkJOp7I9DiGMeFoQL9JLkeVQVpTMF/bwLaTB08O9inQqgQzf6kb7pWmpqTr6yNPiQk7nNjyD6+NlJIiKKnGWQfVZO3IyG9h5z4VEFwkTP8gJz5UoWNQhQDTBvIqeS2zA77SPgv/AJ8KLqSzEcuZAAAAABJRU5ErkJggg==");background-color:#afb6ca;border:1px solid #afb6ca}#sub-nav .social a.rss{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABd0lEQVR4Ae3UA+zXQRiA8Tfbtm3briHbtm03ZLuGbNsas227hvik27v7ffH33Gd+hvNJhCEbc5lCRyqTXMKCPnzlHRfYyhgqEUdCi3PYPrOeehIaHMTtLv0kpDiPt3s0lpCgFff5hLetxJeQICaZacBMbuL0mlISGpRgOU7NJXRIyyICdZDQohQ3sDUTP5RkNXPpRj5xYC22QuKNMxhcY3TgdWYKis9EFy8cxvaNMWJhBoqdwVxldZncotiKooq4MQov1UTxROsL8UI6qjDBNZNK1jajWos/anEBW3ox2KjtifhzbdptrSncM/PFUFCDta7WtkLcyEJj6ojBAjB+Ete1D5+IJoEYrj9ADlPugNFPDF5qKyc2qoF6RNS/rbKWS2KwWNtAsbEbW01TH2jJZkozLSvFxklsTV2voJ0pRbQcFRs9sCXRO2EwzZTUWm5KIPZi0ERbdm1rTImu5as40YFFTKd4QBvIcpazgFxamv0ty2ggf/33CwQ70ADWDdQbAAAAAElFTkSuQmCC");background-color:#ef7522;border:1px solid #ef7522}#sub-nav .social a.twitter:hover{border:1px solid #24c1f6}#sub-nav .social a.search:hover{border:1px solid #909ab6}#sub-nav .social a.rss:hover{border:1px solid #cf5d0f}article input.runcode,article button{-webkit-appearance:none;background:#12b0e6;border:0;border-radius:0;box-shadow:inset 0 -5px 20px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:14px;line-height:1;margin-top:10px;padding:.625em .5em}article button{margin-top:0}article Line truncated
|
||||
{{end}}
|
||||
@@ -0,0 +1,3 @@
|
||||
{{define "blog_js"}}
|
||||
$(".entry-content > pre code").each(function(i,block){hljs.highlightBlock(block)});var stringProto=String.prototype;stringProto.decode4Html=function(){return this.replace(/<[^>]*>/gi,"")},stringProto.decode4Html=function(){var e=document.createElement("div");return e.innerHTML=this.stripTags(),e.childNodes[0]?e.childNodes[0].nodeValue||"":""},function(e){e.disqus_shortname="deepzz",$.each(["CURRENT_PAGE","CDN_DOMAIN"],function(t,n){e[n]="";var r=$("#"+n);r&&(e[n]=r.val())})}(this),function(e){function t(t){var n,r,i={selector:null,height:200};i=$.extend(i,t),n=i.height,r=function(){var t=$(e).scrollTop(),r=$(e).height()+t;$(i.selector).find("img[data-src]").each(function(){var e=$(this);setTimeout(function(){var i,o=e.offset(),a=e.height();o.top>r+n||o.top+a<t-n||(i=e.data("src"),i&&(e.on("load",function(){e.addClass("loaded")}),e.attr("src",i),e.removeAttr("data-src")))},0)})},$(e).on("resize",r),$(e).on("scroll",r),r()}e.lazyLoad=t}(this),function(e){function t(t){var r='<li class="post" id="post-'+t.id+'"><div class="post-content clearfix"><div class="indicator"></div><div class="avatar"><div class="user">'+(t.url?'<a href="'+t.url+'"><img data-src="'+t.avatar+'" /></a>':'<img data-src="'+e.CDN_DOMAIN+'/static/img/default_avatar.png" />')+'</div></div><div class="post-body"><header class="post-header"><span class="post-byline"><span class="author publisher-anchor-color">'+(t.url?'<a href="'+t.url+'">'+t.name+"</a>":t.name)+'</span></span><span class="post-meta"><span class="bullet"> 。 </span><a data-id="'+t.id+'" href="'+location.href.replace(/#.*$/,"")+"#comment-"+t.id+'" class="time-ago" title="'+t.createdAt+'">'+t.createdAtStr+'</a></span></header><div class="post-body-inner">'+t.message+'</div></div></div><ul class="children">'+n(t.children)+"</ul></li>";return r}function n(e){var n,r;if(!e||!e.length){return""}for(n="",r=0;r<e.length;r++){n+=t(e[r])}return n}function r(e){if(!e.comments.length){return'<p class="no-result">没有找到任何评论数据~<br /><br /><a href="#disqus_thread">点此发表评论 \xbb</a></p>'}var t='<div class="thread"><header><nav class="nav clearfix"><ul><li class="nav-tab tab-conversation active"><a class="publisher-nav-color"><span>'+e.commentNum+' </span>Comments</span></a></li></ul></nav></header><section><ul class="post-list">'+n(e.comments)+'</ul><div class="load-more"><a href="#" class="btn">Load more comments</a></div></section></div>';return t}function i(){a||(a=!0,$.get("/data/comment",{id:e.simple_config.id,cursor:s},function(t){console.log(t.data);var i,u;a=!1,t&&0==t.errno?(s?(i=n(t.data.comments),o.find(".post-list").append(i)):(i=r(t.data),o.html(i),$(e).trigger("hashchange","scrollIntoView")),u=o.find(".load-more a"),t.data.next?u.removeClass("busy"):u.hide(),s=t.data.next,$(e).trigger("scroll")):o.hide()}))}var o=$("#simple_thread"),a=!1,s="";o.on("click",".load-more a",function(e){e.preventDefault(),$(this).addClass("busy"),i()}).on("click",".time-ago",function(e){e.preventDefault(),location.hash="simple-"+$(this).data("id")}),$(e).on("hashchange",function(t,n){var r,i=location.hash.match(/#(?:comment|simple)-(\d+)/);i&&(r=o.find("#post-"+i[1]),r.length&&(o.find(".post-content.target").removeClass("target"),r.find(">.post-content").addClass("target"),n&&$(e).scrollTop(r.offset().top-90)))}),/(iPhone|Android)/.test(navigator.userAgent)&&o.addClass("mobile"),e.initSimpleThread=i}(window,document),function(e,t){return"127.0.0.1"!=t.domain&&"192.168.99.100"!=t.domain&&"deepzz.com"!=t.domain?void (location.href=location.href.replace(/(https?:\/\/[^\/]+)\//i,"//deepzz.com/")):void $(function(){lazyLoad({selector:"#content",height:100}),function(){var e=$("#content"),t=e.find("img"),n=e.width();t.each(function(){var e=$(this),t=0|e.attr("width"),r=0|e.attr("height"),i=e.prop("complete");t>n&&e.attr("height",Math.ceil(r/t*n)),e.prop("src")&&(i?e.addClass("loaded"):e.on("load",function(){e.addClass("loaded")}))})}(),function(){if("search-post"==CURRENT_PAGE){var e=$("#keyword");e.val()||e.focus()}}(),function(){var t,n,r,i=$("#disqus_thread"),o=$("#simple_thread"),a=!1,s=!1,u=$("#switch_thread_mode");u.length&&(e.disqus_config=function(){this.language="en",this.page.url=i.data("url"),this.page.identifier=i.data("identifier")},e.simple_config={id:o.data("id")},t=function(){i.show(),o.hide(),u.html('「<a href="#simple_thread">切换到评论浏览模式</a>」'),localStorage.comment_type="disqus_thread",a||(a=!0,i.html("评论加载中...<br /><br />注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理;或者切换到评论浏览模式。"),$.getScript("//deepzz.disqus.com/embed.js"))},n=function(){i.hide(),o.show(),u.html('「<a href="#disqus_thread">切换到评论完整模式</a>」'),localStorage.comment_type="simple_thread",s||(s=!0,o.html("评论加载中...<br /><br />注:本模式仅供浏览,如需发表评论请切换到评论完整模式。"),e.initSimpleThread())},r=function(){var e=location.hash;reLine truncated
|
||||
{{end}}
|
||||
@@ -0,0 +1,4 @@
|
||||
{{define "hl_js"}}
|
||||
/*! highlight.js v9.6.0 | BSD3 License | git.io/hljslicense */
|
||||
!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/[&<>]/gm,function(e){return I[e]})}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return R(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||R(i))return i}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset<r[0].offset?e:r:"start"===r[0].event?e:r:e.length?e:r}function o(e){function r(e){return" "+e.nodeName+'="'+n(e.value)+'"'}l+="<"+t(e)+w.map.call(e.attributes,r).join("")+">"}function u(e){l+="</"+t(e)+">"}function c(e){("start"===e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===s);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):E(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"===e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function l(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function h(e,n,t,r){var a=r?"":y.classPrefix,i='<span class="'+a,o=t?"":C;return i+=e+'">',i+n+o}function p(){var e,t,r,a;if(!E.k)return n(B);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(B);r;)a+=n(B.substr(t,r.index-t)),e=g(E,r),e?(M+=e[1],a+=h(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(B);return a+n(B.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!x[E.sL])return n(B);var t=e?l(E.sL,B,!0,L[E.sL]):f(B,E.sL.length?E.sL:void 0);return E.r>0&&(M+=t.r),e&&(L[E.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){k+=null!=E.sL?d():p(),B=""}function v(e){k+=e.cN?h(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(B+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?B+=n:(t.eB&&(B+=n),b(),t.rB||t.eB||(B=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?B+=n:(a.rE||a.eE||(B+=n),b(),a.eE&&(B=n));do E.cN&&(k+=C),E.skip||(M+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"<unnamed>")+'"');return B+=n,n.length||1}var N=R(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var w,E=i||N,L={},k="";for(w=E;w!==N;w=w.parent)w.cN&&(k=h(w.cN,"",!0)+k);var B="",M=0;try{for(var I,j,O=0;;){if(E.t.lastIndex=O,I=E.t.exec(t),!I)break;j=m(t.substr(O,I.index-O),I[0]),O=I.index+j}for(m(t.substr(O)),w=E;w.parent;w=w.parent)w.cN&&(k+=C);return{r:M,value:k,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function f(e,t){t=t||y.languages||E(x);var r={r:0,value:n(e)},a=r;return t.filter(R).forEach(function(n){var t=l(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function g(e){return y.tabReplace||y.useBR?e.replace(M,function(e,n){return y.useBR&&"\n"===e?"<br>":y.tabReplace?n.replace(/\t/g,y.tabReplace):void 0}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOfLine truncated
|
||||
{{end}}
|
||||
@@ -0,0 +1,6 @@
|
||||
{{define "jq_js"}}
|
||||
/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
|
||||
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^Line truncated
|
||||
return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var
Line truncated
|
||||
return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[cLine truncated
|
||||
{{end}}
|
||||
Reference in new issue
Block a user