diff --git a/themes/hexo-theme-xups/layout/_partial/header.ejs b/themes/hexo-theme-xups/layout/_partial/header.ejs
index e1b13d5..949256b 100644
--- a/themes/hexo-theme-xups/layout/_partial/header.ejs
+++ b/themes/hexo-theme-xups/layout/_partial/header.ejs
@@ -22,7 +22,7 @@
-
+
-
{{article.title}}
diff --git a/themes/hexo-theme-xups/source/css/_partial/header.styl b/themes/hexo-theme-xups/source/css/_partial/header.styl
index ff0bc69..1e09963 100644
--- a/themes/hexo-theme-xups/source/css/_partial/header.styl
+++ b/themes/hexo-theme-xups/source/css/_partial/header.styl
@@ -44,10 +44,11 @@
width 300px
max-height 600px
overflow-y auto
- background #eee
- border 1px solid #333
+ background #f3f3f3
+ box-shadow: -2px 3px 9px 0px #939393;
border-radius 5px
word-break break-all
+ display none
padding 7px
ul
list-style none
@@ -55,7 +56,7 @@
margin-top 0
a.search-result-title
color #3272b5
- font-size 18px
+ font-size 16px
p.search-result
font-size 14px
margin 0.6em 0
diff --git a/themes/hexo-theme-xups/source/js/comment.js b/themes/hexo-theme-xups/source/js/comment.js
index e632edc..babf834 100644
--- a/themes/hexo-theme-xups/source/js/comment.js
+++ b/themes/hexo-theme-xups/source/js/comment.js
@@ -709,6 +709,18 @@ var JELON = window.JELON || {};
$('JELON__previewBox').innerHTML = '';
}
};
+ var createSuccessCb = function(callback){
+ return function (res) {
+ if (typeof res === 'string') {
+ if (window.JSON) {
+ res = JSON.parse(res);
+ } else {
+ res = eval('(' + res + ')');
+ }
+ }
+ callback && callback(res);
+ }
+ }
JL.Requests = {
getIssueNumberByLabel: function (label, callback) {
ajax({
@@ -718,19 +730,8 @@ var JELON = window.JELON || {};
labels: [ label ],
rnd: Math.random()
},
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
createIssue: function (data, callback) {
@@ -738,19 +739,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues',
method: 'POST',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
getCommentListByIssueNumber: function (number, data, callback) {
@@ -758,19 +748,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/' + number + '/comments',
method: 'GET',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
getReactionsByCommentId: function (id, data, callback) {
@@ -781,19 +760,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/comments/' + id + '/reactions',
method: 'GET',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
editIssue: function (number, data, callback) {
@@ -801,19 +769,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.owner + '/issues/' + number,
method: 'POST',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
markdown: function (data, callback) {
@@ -821,12 +778,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/markdown',
method: 'POST',
data: data,
- success: function (res) {
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: callback,
+ fail: callback
});
},
getAccessToken: function (data, callback) {
@@ -838,19 +791,8 @@ var JELON = window.JELON || {};
'Accept': 'application/json'
},
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
getUserInfo: function (data, callback) {
@@ -858,19 +800,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/user',
method: 'GET',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
createComment: function (number, data, callback) {
@@ -878,19 +809,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/' + number + '/comments',
method: 'POST',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
},
createReaction: function (commentId, data, callback) {
@@ -898,19 +818,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/comments/' + commentId + '/reactions',
method: 'POST',
data: data,
- success: function (res) {
- if (typeof res === 'string') {
- if (window.JSON) {
- res = JSON.parse(res);
- } else {
- res = eval('(' + res + ')');
- }
- }
- callback && callback(res);
- },
- fail: function (err) {
- callback && callback(err);
- }
+ success: createSuccessCb(callback),
+ fail: callback
});
}
};
diff --git a/themes/hexo-theme-xups/source/js/local_search.js b/themes/hexo-theme-xups/source/js/local_search.js
index 9505359..370bdc5 100644
--- a/themes/hexo-theme-xups/source/js/local_search.js
+++ b/themes/hexo-theme-xups/source/js/local_search.js
@@ -1,5 +1,6 @@
(function(){
var articleDatas = null;
+var resultDiv = null;
new Vue({
el: "#search-box",
data: {
@@ -27,12 +28,18 @@ new Vue({
url: item.getElementsByTagName("url")[0].innerHTML,
}
})
+ resultDiv = document.getElementById("search-result-box")
});
},
watch: {
queryText: function(newVal, oldVal) {
this.searchResult.length = 0;
- if(!newVal || !newVal.trim() || !articleDatas) return
+ if(newVal && newVal.trim() && articleDatas) {
+ resultDiv.style.display = "block"
+ } else {
+ resultDiv.style.display = "none"
+ return
+ }
var keywords = newVal.trim().toLowerCase().split(/[\s\-]+/);
var _this = this;
articleDatas.forEach(function(article){
@@ -76,7 +83,6 @@ new Vue({
end = content.length;
}
var matchContent = content.substring(start, end);
- debugger
// 高亮关键字
keywords.forEach(function(keyword){
var keywordReg = new RegExp(keyword, "gi");