From c6bf5f7c895287d2028f6024265913b59784a154 Mon Sep 17 00:00:00 2001 From: Karl Hallsby Date: Sun, 27 Sep 2020 17:45:13 -0500 Subject: Bring all of jekyll-text-theme _includes into site --- _includes/pageview-providers/custom/home.html | 3 + _includes/pageview-providers/custom/post.html | 3 + _includes/pageview-providers/leancloud/home.html | 35 +++++++++++ .../pageview-providers/leancloud/leancloud.js | 72 ++++++++++++++++++++++ _includes/pageview-providers/leancloud/post.html | 31 ++++++++++ 5 files changed, 144 insertions(+) create mode 100644 _includes/pageview-providers/custom/home.html create mode 100644 _includes/pageview-providers/custom/post.html create mode 100644 _includes/pageview-providers/leancloud/home.html create mode 100644 _includes/pageview-providers/leancloud/leancloud.js create mode 100644 _includes/pageview-providers/leancloud/post.html (limited to '_includes/pageview-providers') diff --git a/_includes/pageview-providers/custom/home.html b/_includes/pageview-providers/custom/home.html new file mode 100644 index 0000000..7fabc80 --- /dev/null +++ b/_includes/pageview-providers/custom/home.html @@ -0,0 +1,3 @@ + + + diff --git a/_includes/pageview-providers/custom/post.html b/_includes/pageview-providers/custom/post.html new file mode 100644 index 0000000..c9d0f04 --- /dev/null +++ b/_includes/pageview-providers/custom/post.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/_includes/pageview-providers/leancloud/home.html b/_includes/pageview-providers/leancloud/home.html new file mode 100644 index 0000000..5dc99b7 --- /dev/null +++ b/_includes/pageview-providers/leancloud/home.html @@ -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 -%} + + + + +{%- endif -%} + + + diff --git a/_includes/pageview-providers/leancloud/leancloud.js b/_includes/pageview-providers/leancloud/leancloud.js new file mode 100644 index 0000000..32e3ba8 --- /dev/null +++ b/_includes/pageview-providers/leancloud/leancloud.js @@ -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; +})(); diff --git a/_includes/pageview-providers/leancloud/post.html b/_includes/pageview-providers/leancloud/post.html new file mode 100644 index 0000000..ebd7510 --- /dev/null +++ b/_includes/pageview-providers/leancloud/post.html @@ -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 -%} + + + + +{%- endif -%} \ No newline at end of file -- cgit v1.2.3