mirror of
https://github.com/CoderSherlock/CoderSherlock.github.io.git
synced 2026-06-13 08:08:10 -07:00
Updated to new theme of TeXt
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
{%- include snippets/get-sources.html -%}
|
||||
{%- assign _sources = __return -%}
|
||||
|
||||
{%- assign _LEANCLOUD_APP_ID = site.pageview.leancloud.app_id -%}
|
||||
{%- assign _LEANCLOUD_APP_KEY = site.pageview.leancloud.app_key -%}
|
||||
{%- assign _LEANCLOUD_APP_CLASS = site.pageview.leancloud.app_class -%}
|
||||
|
||||
{%- if _LEANCLOUD_APP_ID and
|
||||
_LEANCLOUD_APP_KEY and
|
||||
_LEANCLOUD_APP_CLASS -%}
|
||||
|
||||
<script>
|
||||
{%- include pageview-providers/leancloud/leancloud.js -%}
|
||||
</script>
|
||||
<script>
|
||||
window.Lazyload.js(['{{ _sources.jquery }}', '{{ _sources.leancloud_js_sdk}}'], function() {
|
||||
var pageview = window.pageview(AV, {
|
||||
appId: '{{ _LEANCLOUD_APP_ID }}',
|
||||
appKey: '{{ _LEANCLOUD_APP_KEY }}',
|
||||
appClass: '{{ _LEANCLOUD_APP_CLASS }}'
|
||||
});
|
||||
$('.js-pageview').each(function() {
|
||||
var $this = $(this);
|
||||
var key = $this.attr('data-page-key');
|
||||
pageview.get(key, function(view) {
|
||||
$this.attr('itemprop', 'userInteractionCount').attr('content', view).text(view);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{%- endif -%}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
(function() {
|
||||
function errorHandler(error, callback) {
|
||||
if (error) {
|
||||
callback && callback(error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
function pageview(_AV, options) {
|
||||
var AV = _AV;
|
||||
var appId, appKey, appClass;
|
||||
appId = options.appId;
|
||||
appKey = options.appKey;
|
||||
appClass = options.appClass;
|
||||
AV.init({
|
||||
serverURLs: 'https://avoscloud.com',
|
||||
appId: appId,
|
||||
appKey: appKey
|
||||
});
|
||||
return {
|
||||
get: get,
|
||||
increase: increase
|
||||
};
|
||||
|
||||
function searchKey(key) {
|
||||
var query = new AV.Query(appClass);
|
||||
query.equalTo('key', key);
|
||||
return query.first();
|
||||
}
|
||||
|
||||
function insert(key, title) {
|
||||
var Blog = AV.Object.extend(appClass);
|
||||
var blog = new Blog();
|
||||
blog.set('title', title);
|
||||
blog.set('key', key);
|
||||
blog.set('views', 0);
|
||||
return blog.save();
|
||||
}
|
||||
|
||||
function increment(result) {
|
||||
result.increment('views', 1);
|
||||
return result.save(null, {
|
||||
fetchWhenSave: true
|
||||
});
|
||||
}
|
||||
|
||||
function get(key, callback) {
|
||||
searchKey(key).then(function(result) {
|
||||
if (result) {
|
||||
callback && callback(result.attributes.views);
|
||||
}
|
||||
}, errorHandler);
|
||||
}
|
||||
|
||||
function increase(key, title, callback) {
|
||||
searchKey(key).then(function(result) {
|
||||
if (result) {
|
||||
increment(result).then(function(result) {
|
||||
callback && callback(result.attributes.views);
|
||||
});
|
||||
} else {
|
||||
insert(key, title).then(function(result) {
|
||||
increment(result).then(function(result) {
|
||||
callback && callback(result.attributes.views);
|
||||
});
|
||||
}, errorHandler);
|
||||
}
|
||||
}, errorHandler);
|
||||
}
|
||||
}
|
||||
window.pageview = pageview;
|
||||
})();
|
||||
@@ -0,0 +1,31 @@
|
||||
{%- include snippets/get-sources.html -%}
|
||||
{%- assign _sources = __return -%}
|
||||
|
||||
{%- assign _LEANCLOUD_APP_ID = site.pageview.leancloud.app_id -%}
|
||||
{%- assign _LEANCLOUD_APP_KEY = site.pageview.leancloud.app_key -%}
|
||||
{%- assign _LEANCLOUD_APP_CLASS = site.pageview.leancloud.app_class -%}
|
||||
|
||||
{%- if page.key and
|
||||
_LEANCLOUD_APP_ID and
|
||||
_LEANCLOUD_APP_KEY and
|
||||
_LEANCLOUD_APP_CLASS -%}
|
||||
|
||||
<script>
|
||||
{%- include pageview-providers/leancloud/leancloud.js -%}
|
||||
</script>
|
||||
<script>
|
||||
window.Lazyload.js(['{{ _sources.jquery }}', '{{ _sources.leancloud_js_sdk}}'], function() {
|
||||
var pageview = window.pageview(AV, {
|
||||
appId: '{{ _LEANCLOUD_APP_ID }}',
|
||||
appKey: '{{ _LEANCLOUD_APP_KEY }}',
|
||||
appClass: '{{ _LEANCLOUD_APP_CLASS }}'
|
||||
});
|
||||
var key = '{{ page.key }}';
|
||||
var title = {{ page.title | jsonify }};
|
||||
pageview.increase(key, title, function(view) {
|
||||
$("[data-page-key='{{ page.key }}']").text(view);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{%- endif -%}
|
||||
Reference in New Issue
Block a user