This commit is contained in:
life
2014-11-12 17:32:03 +08:00
parent d979a0c3e2
commit 1f45666ec4
119 changed files with 2463 additions and 675 deletions

View File

@ -12,6 +12,9 @@
{{range .notebooks}}
<li class="list-group-item" draggable="true" data-id="{{.NotebookId.Hex}}">
<span class="pull-left media-xs"><i class="fa fa-sort text-muted fa m-r-sm"></i></span>
<div class="pull-right" style="margin-right: 10px">
固定链接: /cate/<input data-id="{{.NotebookId.Hex}}" class="url-title" type="text" value="{{if .UrlTitle}}{{.UrlTitle|decodeUrlValue}}{{else}}{{.NotebookId.Hex}}{{end}}"/>
</div>
{{.Title}}
</li>
{{end}}
@ -33,7 +36,7 @@ $(function() {
$(".list-group-item").each(function() {
ids.push($(this).data("id"));
});
ajaxPost("/member/blog/upateCateIds", {cateIds: ids}, function(re){
ajaxPost("/member/blog/", {cateIds: ids}, function(re){
if(reIsOk(re)) {
art.tips("Success");
} else {
@ -41,6 +44,19 @@ $(function() {
}
});
});
$(".url-title").change(function(){
var $t = $(this);
var url = $t.val();
var cateId = $t.data('id');
ajaxPost("/member/blog/updateCateUrlTitle", {cateId: cateId, urlTitle: url}, function(re){
if(reIsOk(re)) {
$t.val(re.Item);
} else {
art.alert(re.Msg || "error");
}
});
});
});
</script>

View File

@ -9,8 +9,7 @@
<div class="alert alert-danger" id="baseMsg" style="display: none"></div>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="subTitle" class="col-sm-3 control-label">{{msg . "chooseComment"}}</label>
<div class="col-sm-9">
<div class="col-sm-12">
<label>
<input type="checkbox" id="CanComment" name="CanComment"
{{if .userBlog.CanComment}}checked="checked"{{end}} > {{msg . "openComment"}}

View File

@ -0,0 +1,169 @@
{{template "member/top.html" .}}
<div class="m-b-md"><h3 class="m-b-none">文章列表</h3></div>
<style>
.url-title {
width: 260px;
}
</style>
<section class="panel panel-default">
<div class="row wrapper">
<div class="col-sm-5 m-b-xs">
</div>
<div class="col-sm-4 m-b-xs">
</div>
<div class="col-sm-3">
<div class="input-group search-group">
<input type="text" class="input-sm form-control" placeholder="Title" id="keywords" value="{{.keywords}}" />
<span class="input-group-btn">
<button class="btn btn-sm btn-default" type="button" data-url="/member/blog/index">Search</button>
</span>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-striped b-t b-light">
<thead>
<tr>
{{$url := urlConcat "/member/blog/index" "keywords" .keywords}}
<th style="width: 300px"
{{sorterTh $url "title" .sorter}}
>
Title
<span class="th-sort">
<i class="fa fa-sort-down"></i>
<i class="fa fa-sort-up"></i>
<i class="fa fa-sort"></i>
</span>
</th>
<th
style="width: 300px"
{{sorterTh $url "urlTitle" .sorter}}
>
固定链接
<span class="th-sort">
<i class="fa fa-sort-down"></i>
<i class="fa fa-sort-up"></i>
<i class="fa fa-sort"></i>
</span>
</th>
<th
{{sorterTh $url "publicTime" .sorter}}
>
发布日期
<span class="th-sort">
<i class="fa fa-sort-down"></i>
<i class="fa fa-sort-up"></i>
<i class="fa fa-sort"></i>
</span>
</th>
<th
{{sorterTh $url "updatedTime" .sorter}}
>
更新日期
<span class="th-sort">
<i class="fa fa-sort-down"></i>
<i class="fa fa-sort-up"></i>
<i class="fa fa-sort"></i>
</span>
</th>
<th
{{sorterTh $url "createdTime" .sorter}}
>
创建日期
<span class="th-sort">
<i class="fa fa-sort-down"></i>
<i class="fa fa-sort-up"></i>
<i class="fa fa-sort"></i>
</span>
</th>
<th width="30">
</th>
</tr>
</thead>
<tbody>
{{range .blogs}}
{{if .UrlTitle}}
{{set $ "urlTitle" (decodeUrlValue .UrlTitle)}}
{{else}}
{{set $ "urlTitle" .NoteId.Hex}}
{{end}}
<tr>
<td>
<a href="{{$.userAndBlog.PostUrl}}/{{$.urlTitle}}" class="post" target="_blank">{{.Title|raw}}</a>
</td>
<td>
/post/
<input type="text" data-id="{{.NoteId.Hex}}" class="url-title" value="{{$.urlTitle}}"/>
</td>
<td>
{{.PublicTime|datetime}}
</td>
<td>
{{.UpdatedTime|datetime}}
</td>
<td>
{{.CreatedTime|datetime}}
</td>
<td>
<a
{{if .HasSelfDefined}}
title="已设置"
class="btn btn-sm btn-success"
{{else}}
title="未设置"
class="btn btn-sm btn-default"
{{end}}
href="/member/blog/updateBlogAbstract?noteId={{.NoteId.Hex}}">摘要设置</a>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
<footer class="panel-footer">
<div class="row">
<div class="col-sm-4 hidden-xs">
</div>
<div class="col-sm-4 text-center">
<small class="text-muted inline m-t-sm m-b-sm">
</small>
</div>
<div class="col-sm-4 text-right text-center-xs">
{{set . "url" (urlConcat "/member/blog/index" "sorter" .sorter "keywords" .keywords)}}
{{template "member/blog/page.html" .}}
</div>
</div>
</footer>
</section>
{{template "member/footer.html" .}}
<script>
$(function() {
var postUrl="{{$.userAndBlog.PostUrl}}";
$(".url-title").change(function(){
var $t = $(this);
var url = $t.val();
var noteId = $t.data('id');
ajaxPost("/member/blog/updateBlogUrlTitle", {noteId: noteId, urlTitle: url}, function(re){
if(reIsOk(re)) {
$t.val(re.Item);
var $a = $t.closest("tr").find(".post");
$a.attr("href", postUrl + "/" + encodeURI(re.Item));
} else {
art.alert(re.Msg || "error");
}
});
});
});
</script>
{{template "member/end.html" .}}

View File

@ -0,0 +1,33 @@
{{if gt .pageInfo.TotalPage 1}}
<ul class="pagination pagination-sm m-t-none m-b-none">
<li class="{{if eq $.pageInfo.CurPage 1}}disabled{{end}}" >
<a href="{{if eq $.pageInfo.CurPage 1}}javascript:;{{else}}{{sub $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
<i class="fa fa-chevron-left">
</i>
</a>
</li>
{{range $i := N 1 .pageInfo.TotalPage}}
{{if eq $i $.pageInfo.CurPage}}
<li class="active">
<a href="javascript:;">
{{$i}}
</a>
</li>
{{else}}
<li class="">
<a href="{{urlConcat $.url "page" $i}}">
{{$i}}
</a>
</li>
{{end}}
{{end}}
<li class="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}disabled{{end}}" >
<a href="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}javascript:;{{else}}{{add $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
<i class="fa fa-chevron-right">
</i>
</a>
</li>
</ul>
{{end}}

View File

@ -12,11 +12,14 @@
<ul class="list-group gutter list-group-lg list-group-sp sortable">
{{range .singles}}
<li class="list-group-item" draggable="true" data-id="{{.SingleId}}">
<span class="pull-left media-xs"><i class="fa fa-sort text-muted fa m-r-sm"></i></span>
<span class="pull-right">
<a href="/member/blog/addOrUpdateSingle?singleId={{.SingleId}}"><i class="fa fa-pencil icon-muted fa-fw m-r-xs page-edit" data-id="{{.SingleId}}"></i></a>
<a href="#"><i class="fa fa-times icon-muted fa-fw page-delete" data-id="{{.SingleId}}"></i></a>
</span>
<span class="pull-left media-xs"><i class="fa fa-sort text-muted fa m-r-sm"></i></span>
<div class="pull-right" style="margin-right: 10px">
固定链接: /single/<input data-id="{{.SingleId}}" class="url-title" type="text" value="{{if .UrlTitle}}{{.UrlTitle|decodeUrlValue}}{{else}}{{.SingleId}}{{end}}"/>
</div>
<div class="clear">
{{.Title}}
</div>
@ -63,6 +66,19 @@ $(function() {
}
});
});
});
$(".url-title").change(function(){
var $t = $(this);
var url = $t.val();
var singleId = $t.data('id');
ajaxPost("/member/blog/updateSingleUrlTitle", {singleId: singleId, urlTitle: url}, function(re){
if(reIsOk(re)) {
$t.val(re.Item);
} else {
art.alert(re.Msg || "error");
}
});
});
});
</script>

View File

@ -0,0 +1,127 @@
{{template "member/top.html" .}}
<style>
.img-src {
max-height: 200px;
}
</style>
<div class="m-b-md"> <h3 class="m-b-none">
{{.note.Title}} - 摘要设置
</h3>
</div>
<link rel="stylesheet" href="/tinymce/skins/custom/skin.min.css" type="text/css">
<div class="row">
<div class="col-sm-10">
<form id="formData">
<section class="panel panel-default">
<div class="panel-body">
以下内容设置后, 以后修改笔记时将不自动获取. 若将该文章取消为博客后, 以下内容会自动获取.
<hr />
<div class="alert alert-danger" id="baseMsg" style="display: none"></div>
<div class="form-group">
<label>
主图片
<a class="btn btn-default btn-select-img">从笔记中自动获取下一张</a>
</label>
<div>
<img src="{{.note.ImgSrc}}" class="img-src" id="imgSrc"/>
</div>
</div>
<div class="form-group">
<label>描述</label>
<textarea type="text" rows="6" class="form-control" id="desc" name="desc">{{.note.Desc}}</textarea>
</div>
<div class="form-group">
<label for="content1">摘要</label>
<div id="popularToolbar"></div>
<textarea id="content1" name="content">{{.note.Abstract}}</textarea>
</div>
</div>
<footer class="panel-footer text-right bg-light lter">
<button type="submit" id="submitBtn" class="btn btn-success">{{msg . "submit"}}</button>
</footer>
<div class="panel-body">
<p>
原文:
</p>
<div id="rawContent">
{{.note.Content|raw}}
</div>
</div>
</section>
</form>
</div>
</div>
{{template "member/footer.html" .}}
<script type="text/javascript" src="/tinymce/tinymce.js"></script>
<script>
var UrlPrefix = "{{.siteUrl}}";
$(function() {
tinymce.init({
selector : "#content1",
content_css : [ "/css/bootstrap.css", "/css/editor/editor.css" ],
skin : "custom",
language : "{{.locale}}",
height : 300,
width : "100%",
skin : "custom",
plugins : [
"advlist autolink link leanote_image lists charmap hr ",
"searchreplace visualblocks visualchars leanote_code tabfocus",
"table contextmenu directionality textcolor paste fullpage textcolor"],
toolbar1 : "formatselect |fontselect fontsizeselect| forecolor backcolor | bold italic underline strikethrough | bullist numlist | leanote_code",
menubar : false,
statusbar : false,
font_formats : "Arial=arial,helvetica,sans-serif;"
+ "Arial Black=arial black,avant garde;"
+ "Times New Roman=times new roman,times;"
+ "Courier New=courier new,courier;"
+ "Tahoma=tahoma,arial,helvetica,sans-serif;"
+ "Verdana=verdana,geneva;" + "宋体=SimSun;"
+ "新宋体=NSimSun;" + "黑体=SimHei;"
+ "微软雅黑=Microsoft YaHei",
block_formats : "Header 1=h1;Header 2=h2;Header 3=h3; Header 4=h4;Pre=pre;Paragraph=p"
});
// 提交
$("#submitBtn").click(function(e) {
e.preventDefault();
var data = {
noteId: "{{.noteId}}",
imgSrc: $("#imgSrc").attr("src"),
desc : $("#desc").val(),
abstract : getEditorContent()
}
ajaxPost("/member/blog/doUpdateBlogAbstract/", data, function(re) {
if(reIsOk(re)) {
art.tips("Success");
location.href = "/member/blog/index";
} else {
art.alert(re.Msg || "error")
}
});
});
// 选择主图
var $imgs = $("#rawContent").find("img");
var imgLen = $imgs.length;
var imgSeq = 0;
var $imgSrc = $("#imgSrc");
$(".btn-select-img").click(function() {
if(imgLen == 0) {
return;
}
imgSeq++;
imgSeq = imgSeq%imgLen;
$imgSrc.attr("src", $imgs.eq(imgSeq).attr("src"));
});
});
</script>
{{template "member/end.html" .}}