init
This commit is contained in:
parent
93ef7012c6
commit
98e9a65b69
|
@ -0,0 +1,141 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>编辑文章 - CF-blog后台</title>
|
||||
<link rel="icon" type="image/x-icon" href="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/favicon.ico" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/favicon.ico"/>
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<!--//<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/examples/css/style.css" />-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/css/editormd.css" />
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap-select/1.9.4/css/bootstrap-select.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
|
||||
|
||||
<script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/i18n/defaults-zh_CN.min.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container-fluid">
|
||||
|
||||
<div>
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="/admin/" >返回文章</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div id="myTabContent" class="tab-content" style="padding-top: 60px;">
|
||||
|
||||
<div class="container">
|
||||
<h3>编辑文章</h3>
|
||||
|
||||
<form id="editForm" class="form-inline" action="/" >
|
||||
|
||||
<div class="form-group" style="width: 98%">
|
||||
<input type="hidden" class="form-control" name="id" id="id" readonly required="true">
|
||||
<input type="text" class="form-control" name="title" id="title" placeholder="标题" style="width: 800px;" required="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">特色图片</label>
|
||||
<input type="url" class="form-control" style="width: 400px;" name="img" id="img" placeholder="" >
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">永久链接</label>
|
||||
<input type="text" class="form-control" name="link" id="link" placeholder="" style="vertical-align:left !important;" required="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">创建日期</label>
|
||||
<input type="datetime-local" class="form-control" id="createDate" name="createDate" placeholder="" style="vertical-align:left !important;" required="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">分类</label>
|
||||
<select class="selectpicker" multiple name="category[]" id="category">
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">标签</label>
|
||||
<input type="text" class="form-control" name="tags" id="tags" placeholder="标签1,标签2">
|
||||
</div>
|
||||
<a tabindex="0" role="button" type="submit" id="btn_saveEdit" class="btn btn-default" onclick="saveEdit()">保存</a>
|
||||
<a type="submit" role="button" id="btn_delete" class="btn btn-warning" onclick="deleteArticle()">删除</a>
|
||||
<div id="content"><textarea style="display:none;"></textarea></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/editormd.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$('#myTab li:eq(0) a').tab('show');
|
||||
//获取文章
|
||||
var articleJson = <!--{articleJson}-->;
|
||||
//获取分类
|
||||
var categoryJson = <!--{categoryJson}-->;
|
||||
|
||||
|
||||
var mdEditor = editormd("content", {
|
||||
//width : "90%",
|
||||
height : 640,
|
||||
path : "https://cdn.jsdelivr.net/npm/editor.md@1.5.0/lib/",
|
||||
appendMarkdown : articleJson.contentMD, //编辑器赋值
|
||||
saveHTMLToTextarea : true,
|
||||
mode : "markdown"
|
||||
});
|
||||
//表单赋值
|
||||
$('#id').val(articleJson.id);
|
||||
$('#title').val(articleJson.title);
|
||||
$('#img').val(articleJson.img);
|
||||
$('#link').val(articleJson.link);
|
||||
$('#createDate').val(articleJson.createDate.replace(" ","T"));
|
||||
$('#tags').val(articleJson.tags);
|
||||
|
||||
$('#WidgetCategory').val(JSON.stringify(categoryJson));
|
||||
var category = $('#category');
|
||||
category.empty();
|
||||
for (var i = 0; i < categoryJson.length; i++) {
|
||||
category.append('<option id=' + categoryJson[i] + ' value=' + categoryJson[i] + '>' + categoryJson[i] + '</option>');
|
||||
}
|
||||
category.selectpicker('val',articleJson.category);
|
||||
});
|
||||
//保存按钮(编辑)
|
||||
function saveEdit(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
url: "/admin/saveEdit/" ,//url
|
||||
data: JSON.stringify($("#editForm").serializeArray()),
|
||||
success: function (result) {
|
||||
alert(result.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//删除
|
||||
function deleteArticle(){
|
||||
if (confirm("确定删除吗?删除后重新发布才能生效")==false){
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
url: "/admin/delete/"+$('#id').val() ,//url
|
||||
data: [{"id":$('#id').val()}],
|
||||
success: function (result) {
|
||||
alert(result.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,262 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CF-blog后台</title>
|
||||
<link rel="icon" type="image/x-icon" href="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/favicon.ico" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/favicon.ico"/>
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/examples/css/style.css" />-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/css/editormd.css" />
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap-select/1.9.4/css/bootstrap-select.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
|
||||
|
||||
<script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/i18n/defaults-zh_CN.min.js"></script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container-fluid">
|
||||
|
||||
<div>
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li>
|
||||
<a href="/" >CF-blog</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#list" data-toggle="tab">我的文章</a>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="#new" data-toggle="tab">新建</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#config" data-toggle="tab">设置</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-toggle="tab" onclick="publish()">发布</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div id="myTabContent" class="tab-content" style="padding-top: 60px;">
|
||||
<div class="tab-pane fade" id="list">
|
||||
<div class="container" >
|
||||
<table class="table table-striped" id="articleList">
|
||||
<tr><td>ID</td><td>标题</td><td>创建日期</td></tr>
|
||||
</table>
|
||||
<input type="hidden" name="page" id="page" value='1'>
|
||||
<a id="loadmore" class="btn btn-default">加载更多...</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade in active" id="new">
|
||||
<div class="container">
|
||||
<h3 id="labelNew">新增</h3>
|
||||
<form id="addNewForm" class="form-inline" >
|
||||
<div class="form-group" style="width: 98%">
|
||||
<input type="hidden" class="form-control" name="id" id="id" >
|
||||
<input type="text" class="form-control" name="title" id="title" placeholder="标题" style="width: 100%;" required="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">特色图片</label>
|
||||
<input type="url" class="form-control" style="width: 400px;" name="img" id="img" placeholder="" >
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">永久链接</label>
|
||||
<input type="text" class="form-control" name="link" id="link" placeholder="" required="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">创建日期</label>
|
||||
<input type="datetime-local" class="form-control" id="createDate" name="createDate" placeholder="" required="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">分类</label>
|
||||
<select class="selectpicker" multiple name="category[]" id="category">
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail2">标签</label>
|
||||
<input type="text" class="form-control" name="tags" id="tags" placeholder="标签1,标签2">
|
||||
</div>
|
||||
<a tabindex="0" role="button" type="submit" id="btn_saveAddNew" class="btn btn-default" onclick="saveAddNew()">保存</a>
|
||||
|
||||
<div id="content"><textarea style="display:none;"></textarea></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="config">
|
||||
|
||||
<div class="container" >
|
||||
<form id="configForm" role="form" >
|
||||
<div class="form-group">
|
||||
<label for="name">分类,例:<code>["类别A","类别B","类别C","类别D"]</code></label>
|
||||
<textarea class="form-control" id="WidgetCategory" name="WidgetCategory" rows="3" placeholder='["分类A","分类B"]'></textarea>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">菜单,例:<code>[{"title":"技术文章","url":"/category/技术文章"},{"title":"管理","url":"/admin"}]</code></label>
|
||||
<textarea class="form-control" id="WidgetMenu" name="WidgetMenu" rows="10" placeholder='[
|
||||
{"title":"菜单A" ,"url":"/category/菜单A"},
|
||||
{"title":"菜单B" ,"url":"/category/菜单B"}
|
||||
]'></textarea>
|
||||
</div>
|
||||
<a tabindex="0" role="button" type="submit" id="btn_saveConfig" class="btn btn-default" onclick="saveConfig()">保存</a>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/editormd.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$('#myTab li:eq(0) 1').tab('show');
|
||||
//获取分类
|
||||
var categoryJson = <!--{categoryJson}-->;
|
||||
//获取菜单
|
||||
var menuJson = <!--{menuJson}-->;
|
||||
var mdEditor = editormd("content", {
|
||||
// width : "90%",
|
||||
height : 640,
|
||||
path : "https://cdn.jsdelivr.net/npm/editor.md@1.5.0/lib/",
|
||||
appendMarkdown : "# MarkDown",
|
||||
saveHTMLToTextarea : true,
|
||||
mode : "markdown"
|
||||
});
|
||||
//表单赋值
|
||||
$('#createDate').val(new Date());
|
||||
|
||||
$('#WidgetCategory').val(JSON.stringify(categoryJson));
|
||||
$('#WidgetMenu').val(JSON.stringify(menuJson));
|
||||
var category = $('#category');
|
||||
category.empty();
|
||||
for (var i = 0; i < categoryJson.length; i++) {
|
||||
category.append('<option id=' + categoryJson[i] + ' value=' + categoryJson[i] + '>' + categoryJson[i] + '</option>');
|
||||
}
|
||||
$("#loadmore").click();//初始加载一页
|
||||
});
|
||||
//加载文章列表
|
||||
$("#loadmore").click(function(){
|
||||
var page=$("#page").val();
|
||||
$.ajax({
|
||||
url:"/admin/getList/" + page + "/",
|
||||
type:'GET',
|
||||
dataType:"json",
|
||||
//data:{"page":page,"typeid":typeid},
|
||||
success:function(data){
|
||||
|
||||
tableContent="";
|
||||
$.each(data,function(i){
|
||||
var Info = data[i];
|
||||
var num = i+1;
|
||||
tableContent += '<tr><td>'+Info.id+'</td><td><a href="/admin/edit/'+Info.id+'/">'+Info.title+'</a></td><td>'+Info.createDate.replace("T","")+'</td></tr>';
|
||||
|
||||
})
|
||||
$("#articleList").append(tableContent);
|
||||
$("#page").val(++page);
|
||||
|
||||
}
|
||||
});
|
||||
})
|
||||
//新建文章
|
||||
function saveAddNew(){
|
||||
if(
|
||||
$('#WidgetMenu').val() == "" || $('#WidgetMenu').val() == null
|
||||
|| $('#createDate').val() == "" || $('#createDate').val() == null
|
||||
|| $('#createDate').val() == "" || $('#createDate').val() == null
|
||||
|
||||
){
|
||||
alert("信息不全");
|
||||
return;
|
||||
|
||||
}
|
||||
var postURL = "/admin/saveEdit/";
|
||||
if ($('#id').val() == "" || $('#id').val() == null)
|
||||
postURL= "/admin/saveAddNew/";
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: postURL ,//url
|
||||
contentType: "application/json; charset=utf-8",
|
||||
data: JSON.stringify($("#addNewForm").serializeArray()),
|
||||
success: function (result) {
|
||||
if ("id" in result){
|
||||
$('#id').val(result.id);
|
||||
$('#labelNew').text("编辑:"+result.id);
|
||||
alert(result.msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("失败");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//保存设置
|
||||
function saveConfig(){
|
||||
if(!isJSON($('#WidgetCategory').val()))
|
||||
{
|
||||
alert("分类格式错误");
|
||||
return false;
|
||||
}
|
||||
if(!isJSON($('#WidgetMenu').val()))
|
||||
{
|
||||
alert("菜单格式错误");
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
url: "/admin/saveConfig/" ,//url
|
||||
data: JSON.stringify($("#configForm").serializeArray()),
|
||||
success: function (result) {
|
||||
alert(result.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//发布
|
||||
function publish(){
|
||||
if (confirm("确定吗?发布将清理所有静态缓存,重新生成")==false){
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
url: "/admin/publish/" ,//url
|
||||
success: function (result) {
|
||||
alert(result.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
function isJSON(str) {
|
||||
if (typeof str == 'string') {
|
||||
try {
|
||||
var obj=JSON.parse(str);
|
||||
if(typeof obj == 'object' && obj ){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
|
||||
} catch(e) {
|
||||
// console.log('error:'+str+'!!!'+e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
console.log('It is not a string!')
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,9 @@
|
|||
<div id="content" role="main">
|
||||
<!--{articleListItem.html}-->
|
||||
<nav id="nav-below" class="navigation" role="navigation">
|
||||
<div class="assistive-text">文章分页</div>
|
||||
<!--{articleListOlder.html}-->
|
||||
<!--{articleListNewer.html}-->
|
||||
</nav>
|
||||
<!-- #nav-below .navigation -->
|
||||
</div>
|
|
@ -0,0 +1,24 @@
|
|||
<article id="post-801" class="post-801 post type-post status-publish format-standard has-post-thumbnail hentry category-4">
|
||||
<header class="entry-header">
|
||||
<h2 class="entry-title"> <a href="<!--{articleListItem.url}-->" title="<!--{articleListItem.title}-->" rel="<!--{articleListItem.title}-->"><!--{articleListItem.title}--></a> </h2>
|
||||
</header>
|
||||
<!-- .entry-header -->
|
||||
<div class="entry-summary">
|
||||
<!--{articleListItemImg.html}-->
|
||||
<p><!--{articleListItem.contentText}--><span class="read-more"><a href="<!--{articleListItem.url}-->">继续阅读 »</a></span></p>
|
||||
</div>
|
||||
<!-- .entry-summary -->
|
||||
<footer class="entry-meta">
|
||||
|
||||
<span>分类:
|
||||
<!--{articleListItemCategory.html}-->
|
||||
</span>
|
||||
|
||||
<span>标签:
|
||||
<!--{articleListItemTags.html}-->
|
||||
</span>
|
||||
<span class="alignright"><!--{articleListItem.createDate}-->
|
||||
</span>
|
||||
</footer>
|
||||
<!-- .entry-meta -->
|
||||
</article>
|
|
@ -0,0 +1 @@
|
|||
<a href="<!--{articleListItemCategory.url}-->" rel="category tag"><!--{articleListItemCategory.title}--></a>
|
|
@ -0,0 +1,3 @@
|
|||
<div class="excerpt-thumb">
|
||||
<a href="<!--{articleListItemImg.url}-->" title="<!--{articleListItemImg.title}-->" rel="bookmark"> <img width="200" height="112" src="<!--{articleListItemImg.img}-->" class="alignleft wp-post-image" alt="" loading="lazy" /> </a>
|
||||
</div>
|
|
@ -0,0 +1 @@
|
|||
<a href="<!--{articleListItemTags.url}-->" rel="tag"><!--{articleListItemTags.title}--></a>
|
|
@ -0,0 +1 @@
|
|||
<div class="nav-next alignright"><a href="<!--{articleListNewer.url}-->">下一页<span class="meta-nav">→</span></a></div>
|
|
@ -0,0 +1 @@
|
|||
<div class="nav-previous alignleft"><a href="<!--{articleListOlder.url}-->"><span class="meta-nav">←</span> 上一页</a></div>
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
<div id="content" role="main">
|
||||
<!--{articleSingleArticle.html}-->
|
||||
|
||||
<!-- #post -->
|
||||
<nav class="nav-single">
|
||||
<div class="assistive-text">
|
||||
Post navigation
|
||||
</div>
|
||||
<!--{articleSingleOlder.html}-->
|
||||
|
||||
<!--{articleSingleNewer.html}-->
|
||||
|
||||
</nav>
|
||||
<!-- .nav-single -->
|
||||
<!--{articleSingleComment.html}-->
|
||||
|
||||
<!-- #comments .comments-area -->
|
||||
</div>
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<article id="post-789" class="post-789 post type-post status-publish format-standard hentry category-4">
|
||||
<header class="entry-header">
|
||||
<h1 class="entry-title"><!--{articleSingleArticle.title}--></h1>
|
||||
<div class="below-title-meta">
|
||||
<div class="adt">
|
||||
By
|
||||
<span class="vcard author"> <span class="fn"><a href="#" title="由admin发布" rel="author">admin</a></span> </span>
|
||||
<span class="meta-sep">|</span>
|
||||
<span class="date updated"><!--{articleSingleArticle.createDate}--></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- below title meta end -->
|
||||
</header>
|
||||
<!-- .entry-header -->
|
||||
<div class="entry-content">
|
||||
<!--{articleSingleArticle.contentHtml}-->
|
||||
</div>
|
||||
<!-- .entry-content -->
|
||||
<footer class="entry-meta">
|
||||
<span>分类:
|
||||
<!--{articleSingleArticleCategory.html}-->
|
||||
</span>
|
||||
<span>标签:
|
||||
<!--{articleSingleArticleTags.html}-->
|
||||
</span>
|
||||
</footer>
|
||||
<!-- .entry-meta -->
|
||||
</article>
|
|
@ -0,0 +1 @@
|
|||
<a href="<!--{articleSingleArticleCategory.url}--> " rel="category tag"><!--{articleSingleArticleCategory.title}--> </a>
|
|
@ -0,0 +1 @@
|
|||
<a href="<!--{articleSingleArticleTags.url}-->" rel="tag"><!--{articleSingleArticleTags.title}--></a> ,
|
|
@ -0,0 +1,6 @@
|
|||
<div id="comments" class="comments-area">
|
||||
<div id="respond" class="comment-respond">
|
||||
<!--{opt.commentCode}-->
|
||||
</div>
|
||||
<!-- #respond -->
|
||||
</div>
|
|
@ -0,0 +1 @@
|
|||
<span class="nav-next"><a href="<!--{articleSingleNewer.url}-->" rel="next"><!--{articleSingleNewer.title}--> <span class="meta-nav">→</span></a></span>
|
|
@ -0,0 +1 @@
|
|||
<span class="nav-previous"><a href="<!--{articleSingleOlder.url}-->" rel="prev"><span class="meta-nav">←</span> <!--{articleSingleOlder.title}--></a></span>
|
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
|
@ -0,0 +1,128 @@
|
|||
<!DOCTYPE html>
|
||||
<!--[if IE 7]>
|
||||
<html class="ie ie7" lang="zh-CN">
|
||||
<![endif]-->
|
||||
<!--[if IE 8]>
|
||||
<html class="ie ie8" lang="zh-CN">
|
||||
<![endif]-->
|
||||
<!--[if !(IE 7) | !(IE 8) ]><!-->
|
||||
<html lang="zh-CN">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="profile" href="http://gmpg.org/xfn/11" />
|
||||
<link rel="icon" type="image/x-icon" href="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/favicon.ico" />
|
||||
<link rel="Shortcut Icon" href="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/favicon.ico">
|
||||
<title><!--{opt.siteName}--></title>
|
||||
<meta name="keywords" content="<!--{opt.keyWords}--> />
|
||||
<meta name="description" content="<!--{opt.siteDescription}-->" />
|
||||
<link rel="dns-prefetch" href="//fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="//s.w.org" />
|
||||
<script type="text/javascript">
|
||||
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/cdn.jsdelivr.net\/gh\/gdtool\/zhaopp\/cfblog\/wp-emoji-release.min.js?ver=5.6"}};
|
||||
!function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]));case"emoji":return!c([55357,56424,8205,55356,57212],[55357,56424,8203,55356,57212])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings);
|
||||
</script>
|
||||
<style type="text/css">
|
||||
img.wp-smiley,
|
||||
img.emoji {
|
||||
display: inline !important;
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
height: 1em !important;
|
||||
width: 1em !important;
|
||||
margin: 0 .07em !important;
|
||||
vertical-align: -0.1em !important;
|
||||
background: none !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" id="wp-block-library-css" href="https://cdn.jsdelivr.net/gh/WordPress/WordPress@5.5.3/wp-includes/css/dist/block-library/style.min.css?ver=5.6" type="text/css" media="all" />
|
||||
<style id="md-style-inline-css" type="text/css">
|
||||
.gfm-task-list { border: 1px solid transparent; list-style-type: none; } .gfm-task-list input { margin-right: 10px !important; } .copy-button { cursor: pointer; border: 0; font-size: 12px; text-transform: uppercase; font-weight: 500; padding: 3px 6px 3px 6px; background-color: rgba(255, 255, 255, 0.6); position: absolute; overflow: hidden; top: 5px; right: 5px; border-radius: 3px; } .copy-button:before { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 3px; background-size: contain; background-image: url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' x=\'0px\' y=\'0px\' width=\'16px\' height=\'16px\' viewBox=\'888 888 16 16\' enable-background=\'new 888 888 16 16\' xml:space=\'preserve\'%3E %3Cpath fill=\'%23333333\' d=\'M903.143,891.429c0.238,0,0.44,0.083,0.607,0.25c0.167,0.167,0.25,0.369,0.25,0.607v10.857 c0,0.238-0.083,0.44-0.25,0.607s-0.369,0.25-0.607,0.25h-8.571c-0.238,0-0.44-0.083-0.607-0.25s-0.25-0.369-0.25-0.607v-2.571 h-4.857c-0.238,0-0.44-0.083-0.607-0.25s-0.25-0.369-0.25-0.607v-6c0-0.238,0.06-0.5,0.179-0.786s0.262-0.512,0.428-0.679 l3.643-3.643c0.167-0.167,0.393-0.309,0.679-0.428s0.547-0.179,0.786-0.179h3.714c0.238,0,0.44,0.083,0.607,0.25 c0.166,0.167,0.25,0.369,0.25,0.607v2.929c0.404-0.238,0.785-0.357,1.143-0.357H903.143z M898.286,893.331l-2.67,2.669h2.67V893.331 z M892.571,889.902l-2.669,2.669h2.669V889.902z M894.321,895.679l2.821-2.822v-3.714h-3.428v3.714c0,0.238-0.083,0.441-0.25,0.607 s-0.369,0.25-0.607,0.25h-3.714v5.714h4.571v-2.286c0-0.238,0.06-0.5,0.179-0.786C894.012,896.071,894.155,895.845,894.321,895.679z M902.857,902.857v-10.286h-3.429v3.714c0,0.238-0.083,0.441-0.25,0.607c-0.167,0.167-0.369,0.25-0.607,0.25h-3.714v5.715H902.857z\' /%3E %3C/svg%3E"); background-repeat: no-repeat; position: relative; top: 3px; } pre { position: relative; } pre:hover .copy-button { background-color: rgba(255, 255, 255, 0.9); }
|
||||
</style>
|
||||
<link rel="stylesheet" id="themonic-fonts-css" href="https://fonts.googleapis.com/css?family=Ubuntu%3A400%2C700&subset=latin%2Clatin-ext" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="themonic-style-css" href="https://cdn.jsdelivr.net/wp/themes/iconic-one/2.1.8/style.min.css?ver=1.7.8" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="custom-style-css" href="https://cdn.jsdelivr.net/wp/themes/iconic-one/2.1.8/custom.min.css?ver=5.6" type="text/css" media="all" />
|
||||
|
||||
|
||||
<meta name="generator" content="WordPress 5.6" />
|
||||
<style type="text/css" id="wp-custom-css">
|
||||
@media (max-width: 768px) {
|
||||
#secondary {
|
||||
display:none !important;
|
||||
}
|
||||
#menu-top{
|
||||
display:none !important;
|
||||
}
|
||||
.site-content {
|
||||
float: left;
|
||||
width: 95%;
|
||||
padding: 30px 2% 0 1%;
|
||||
}
|
||||
.site-description{
|
||||
display:none !important;
|
||||
}
|
||||
.io-title-description {
|
||||
display: inline-block;
|
||||
margin: 17px 0;
|
||||
padding: 0px 0;
|
||||
float: none;
|
||||
}
|
||||
.wrapper {
|
||||
border: 1px solid #16a1e7 !important;
|
||||
}
|
||||
} </style>
|
||||
<!--{opt.codeBeforHead}-->
|
||||
|
||||
</head>
|
||||
<body class="home blog logged-in custom-font-enabled single-author hfeed">
|
||||
<div id="page" class="site">
|
||||
<header id="masthead" class="site-header" role="banner">
|
||||
<div class="io-title-description">
|
||||
<a href="/" title="<!--{opt.siteName}-->" rel="home"><!--{opt.siteName}--></a>
|
||||
<br ...="" />
|
||||
<a class="site-description"><!--{opt.siteDescription}--></a>
|
||||
</div>
|
||||
<!--{widgetMenu.html}-->
|
||||
|
||||
<!-- #site-navigation -->
|
||||
<div class="clear"></div>
|
||||
</header>
|
||||
<!-- #masthead -->
|
||||
<div id="main" class="wrapper">
|
||||
<div id="primary" class="site-content">
|
||||
<!--{articleList.html}-->
|
||||
<!--{articleSingle.html}-->
|
||||
<!-- #上面俩,二选一 -->
|
||||
</div>
|
||||
<!-- #primary -->
|
||||
<div id="secondary" class="widget-area" role="complementary">
|
||||
<!--{widgetRecently.html}-->
|
||||
|
||||
<!--{widgetCategory.html}-->
|
||||
|
||||
<!--{widgetTags.html}-->
|
||||
<aside id="meta-2" class="widget widget_meta"><p class="widget-title">链接</p>
|
||||
<ul>
|
||||
<li><a href="/admin/">管理站点</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<!-- #secondary -->
|
||||
</div>
|
||||
<!-- #main .wrapper -->
|
||||
<!-- #colophon -->
|
||||
<div class="site-wordpress">
|
||||
<!--{opt.copyRight}-->
|
||||
</div>
|
||||
<!-- .site-info -->
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<!-- #page -->
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/wp/themes/iconic-one/2.1.8/js/selectnav.min.js?ver=1.0" id="themonic-mobile-navigation-js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/WordPress/WordPress@5.6/wp-includes/js/clipboard.min.js?ver=5.6" id="clipboard-js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/gdtool/zhaopp/cfblog/wp-embed.min.js?ver=5.6" id="wp-embed-js"></script>
|
||||
<!--{opt.codeBeforBody}-->
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,6 @@
|
|||
<aside id="categories-4" class="widget widget_categories">
|
||||
<p class="widget-title">分类目录</p>
|
||||
<ul>
|
||||
<!--{widgetCategoryItem.html}-->
|
||||
</ul>
|
||||
</aside>
|
|
@ -0,0 +1 @@
|
|||
<li class="cat-item cat-item-5"><a href="<!--{widgetCategoryItem.url}-->"><!--{widgetCategoryItem.title}--></a> </li>
|
|
@ -0,0 +1,6 @@
|
|||
<nav id="site-navigation" class="themonic-nav" role="navigation">
|
||||
<a class="assistive-text" href="#main" title="Skip to content">Skip to content</a>
|
||||
<ul id="menu-top" class="nav-menu">
|
||||
<!--{widgetMenuItem.html}-->
|
||||
</ul>
|
||||
</nav>
|
|
@ -0,0 +1,4 @@
|
|||
<li id="menu-item-211" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-211"><a href="<!--{widgetMenuItem.url}-->"><!--{widgetMenuItem.title}--></a></li>
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<aside id="recent-posts-2" class="widget widget_recent_entries">
|
||||
|
||||
<p class="widget-title">近期文章</p>
|
||||
<ul>
|
||||
<!--{widgetRecentlyItem.html}-->
|
||||
|
||||
</ul>
|
||||
</aside>
|
|
@ -0,0 +1 @@
|
|||
<li> <a href="<!--{widgetRecentlyItem.url}-->"><!--{widgetRecentlyItem.title}--></a> </li>
|
|
@ -0,0 +1,6 @@
|
|||
<aside id="tag_cloud-2" class="widget widget_tag_cloud">
|
||||
<p class="widget-title">标签云</p>
|
||||
<div class="tagcloud">
|
||||
<!--{widgetTagsItem.html}-->
|
||||
</div>
|
||||
</aside>
|
|
@ -0,0 +1 @@
|
|||
<a href="<!--{widgetTagsItem.url}-->" class="tag-cloud-link tag-link-18 tag-link-position-3" style="font-size: 8pt;" ><!--{widgetTagsItem.title}--> </a>
|
|
@ -0,0 +1,61 @@
|
|||
/*! This file is auto-generated */
|
||||
!function(d, l) {
|
||||
"use strict";
|
||||
var e = !1
|
||||
, o = !1;
|
||||
if (l.querySelector)
|
||||
if (d.addEventListener)
|
||||
e = !0;
|
||||
if (d.wp = d.wp || {},
|
||||
!d.wp.receiveEmbedMessage)
|
||||
if (d.wp.receiveEmbedMessage = function(e) {
|
||||
var t = e.data;
|
||||
if (t)
|
||||
if (t.secret || t.message || t.value)
|
||||
if (!/[^a-zA-Z0-9]/.test(t.secret)) {
|
||||
var r, a, i, s, n, o = l.querySelectorAll('iframe[data-secret="' + t.secret + '"]'), c = l.querySelectorAll('blockquote[data-secret="' + t.secret + '"]');
|
||||
for (r = 0; r < c.length; r++)
|
||||
c[r].style.display = "none";
|
||||
for (r = 0; r < o.length; r++)
|
||||
if (a = o[r],
|
||||
e.source === a.contentWindow) {
|
||||
if (a.removeAttribute("style"),
|
||||
"height" === t.message) {
|
||||
if (1e3 < (i = parseInt(t.value, 10)))
|
||||
i = 1e3;
|
||||
else if (~~i < 200)
|
||||
i = 200;
|
||||
a.height = i
|
||||
}
|
||||
if ("link" === t.message)
|
||||
if (s = l.createElement("a"),
|
||||
n = l.createElement("a"),
|
||||
s.href = a.getAttribute("src"),
|
||||
n.href = t.value,
|
||||
n.host === s.host)
|
||||
if (l.activeElement === a)
|
||||
d.top.location.href = t.value
|
||||
}
|
||||
}
|
||||
}
|
||||
,
|
||||
e)
|
||||
d.addEventListener("message", d.wp.receiveEmbedMessage, !1),
|
||||
l.addEventListener("DOMContentLoaded", t, !1),
|
||||
d.addEventListener("load", t, !1);
|
||||
function t() {
|
||||
if (!o) {
|
||||
o = !0;
|
||||
var e, t, r, a, i = -1 !== navigator.appVersion.indexOf("MSIE 10"), s = !!navigator.userAgent.match(/Trident.*rv:11\./), n = l.querySelectorAll("iframe.wp-embedded-content");
|
||||
for (t = 0; t < n.length; t++) {
|
||||
if (!(r = n[t]).getAttribute("data-secret"))
|
||||
a = Math.random().toString(36).substr(2, 10),
|
||||
r.src += "#?secret=" + a,
|
||||
r.setAttribute("data-secret", a);
|
||||
if (i || s)
|
||||
(e = r.cloneNode(!0)).removeAttribute("security"),
|
||||
r.parentNode.replaceChild(e, r)
|
||||
}
|
||||
}
|
||||
}
|
||||
}(window, document);
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue