国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Gitalk評(píng)論插件使用教程

孫吉亮 / 3458人閱讀

摘要:說明是一個(gè)基于和開發(fā)的評(píng)論插件。默認(rèn)值類型布爾值,選填,類似評(píng)論框的全屏遮罩效果。默認(rèn)值類型布爾值,選填,如果當(dāng)前頁面沒有相應(yīng)的且登錄的用戶屬于,則會(huì)自動(dòng)創(chuàng)建。參考類型布爾值,選填,啟用快捷鍵提交評(píng)論。

1. 說明

Gitalk 是一個(gè)基于 GitHub Issue 和 Preact 開發(fā)的評(píng)論插件。

Gitalk 的特性:

1、使用 GitHub 登錄
2、支持多語言 [en, zh-CN, zh-TW, es-ES, fr, ru]
3、支持個(gè)人或組織
4、無干擾模式(設(shè)置 distractionFreeMode 為 true 開啟)
5、快捷鍵提交評(píng)論 (cmd|ctrl + enter)

使用Gitalk需要你做一些提前準(zhǔn)備:
1、在github上創(chuàng)建一個(gè)倉庫,Gitalk會(huì)把評(píng)論放在這個(gè)倉庫的issues里面。
2、在github上申請(qǐng)一個(gè)GitHub OAuth application,來讓Gitalk有權(quán)限操作github上的倉庫。

2. 安裝使用 2.1 安裝

兩種方式引入:

1、直接在HTML文件中引入


建議直接把文件下載后放在項(xiàng)目目錄中,這樣就可以不再依賴第三方網(wǎng)絡(luò)了。
注意:如果連接失效了,請(qǐng)?jiān)趆ttps://www.bootcdn.cn/上搜索gitalk然后找到對(duì)應(yīng)資源鏈接復(fù)制過來。

2、通過npm安裝

npm i --save gitalk
import "gitalk/dist/gitalk.css"
import Gitalk from "gitalk"
2.2 使用

1、首先需要在html文件中添加一個(gè)容器,Gitalk組件會(huì)在此處顯示

2、使用下面的JavaScript代碼來生成Gitalk評(píng)論:

var gitalk = new Gitalk({
  clientID: "2eb19afceda708b27e64", // GitHub Application Client ID
  clientSecret: "36aedb5a30321626a8631689fee5fafd5929f612", // GitHub Application Client Secret
  repo: "gitalk-comment"      // 存放評(píng)論的倉庫
  owner: "yulilong",          // 倉庫的創(chuàng)建者,
  admin: ["yulilong"],        // 如果倉庫有多個(gè)人可以操作,那么在這里以數(shù)組形式寫出
  id: location.pathname,      // 用于標(biāo)記評(píng)論是哪個(gè)頁面的,確保唯一,并且長(zhǎng)度小于50
})

gitalk.render("gitalk-container");    // 渲染Gitalk評(píng)論組件

里面參數(shù)下面會(huì)講解。
配置好后,頁面最終效果(https://gitalk.github.io/):

注意:

1、第一次Gitalk需要初始化評(píng)論,需要你先點(diǎn)擊使用GitHub登陸,然后刷新頁面才會(huì)初始化,或者自己去倉庫里手動(dòng)創(chuàng)建一個(gè)issues,并添加issues的labels值為Gitalk的labels參數(shù)和id參數(shù)的值。

new Gitalk的參數(shù)中有g(shù)ithub的倉庫信息和GitHub Application信息,所以首先我們創(chuàng)建這兩個(gè)。

在github上創(chuàng)建一個(gè)倉庫比較簡(jiǎn)單這里就不講解了。
下面講一下如何申請(qǐng)一個(gè)GitHub OAuth application

注意:如果你打算在自己網(wǎng)站使用Gitalk,并且這個(gè)網(wǎng)站的源碼在github的倉庫上,那么你也可以直接使用這個(gè)倉庫,Gitalk只使用倉庫的Issues

3. 申請(qǐng)一個(gè)OAuth application

GitHub OAuth application允許程序來操作你的github賬戶,可以對(duì)github中倉庫讀寫。
詳情介紹:https://developer.github.com/...

申請(qǐng)GitHub OAuth application流程:

1、打開github網(wǎng)站登陸后,點(diǎn)擊右上角的用戶圖標(biāo),選擇Settings
2、 在Settings頁面選擇Developer settings選項(xiàng)。
3、在Developer settings選擇OAuth Apps,然后會(huì)在頁面右邊有一個(gè)New OAuth App按鈕,點(diǎn)擊這個(gè)按鈕就進(jìn)入到新建OAuth application頁面
4、也可以直接代開這個(gè)鏈接:https://github.com/settings/a... 進(jìn)入新建頁面

在注冊(cè)OAuth應(yīng)用頁面有如下幾個(gè)參數(shù)需要填寫:

Application name:必填,OAuth的名字
Homepage URL:必填,你應(yīng)用的網(wǎng)址,哪個(gè)網(wǎng)站用了Gitalk組件,就填寫這個(gè)網(wǎng)址
Application description:選填,該OAuth的說明
Authorization callback URL:必填,授權(quán)成功后回調(diào)網(wǎng)址,跟Homepage URL參數(shù)保持一致就好
這些參數(shù)在注冊(cè)成功后是可以修改。

參數(shù)填好后,點(diǎn)Register application按鈕即可完成注冊(cè)。

注冊(cè)成功后會(huì)自動(dòng)跳轉(zhuǎn)到這個(gè)OAuth應(yīng)用的頁面,或者在Developer settings選擇OAuth Apps后就能看見你創(chuàng)建的OAuth應(yīng)用名字,點(diǎn)擊它進(jìn)入這個(gè)OAuth應(yīng)用的頁面:



在新創(chuàng)建的OAuth應(yīng)用里面的Client IDClient Secret就是我們需要的參數(shù)。

4. Gitalk的參數(shù)說明

在上面使用Gitalk的JavaScript代碼中有一些參數(shù):

var gitalk = new Gitalk({
  clientID: "2eb19afceda708b27e64", // GitHub Application Client ID
  clientSecret: "36aedb5a30321626a8631689fee5fafd5929f612",
  repo: "gitalk-comment"      // 存放評(píng)論的倉庫
  owner: "yulilong",          // 倉庫的創(chuàng)建者,
  admin: ["yulilong"],        // 如果倉庫有多個(gè)人可以操作,那么在這里以數(shù)組形式寫出
  id: location.pathname,      // 用于標(biāo)記評(píng)論是哪個(gè)頁面的
})

主要的參數(shù):

clientID
類型:字符串,必填,申請(qǐng)的OAuth AppClient ID

clientSecret
類型:字符串,必填,申請(qǐng)的OAuth AppClient Secret

repo
類型:字符串,必填,github上的倉庫名字,用于存放Gitalk評(píng)論

owner
類型:字符串,必填,github倉庫的所有者的名字

admin
類型:數(shù)組(元素是字符串),必填,github倉庫的所有者和合作者 (對(duì)這個(gè) repository 有寫權(quán)限的用戶)

id
類型:字符串,選填,頁面的唯一標(biāo)識(shí)。長(zhǎng)度必須小于50。此參數(shù)用于評(píng)論和頁面對(duì)應(yīng)的標(biāo)識(shí),如果想讓兩個(gè)頁面用一個(gè)評(píng)論,可設(shè)置兩個(gè)頁面的id一樣。默認(rèn)值:location.href(頁面URL)

title
類型:字符串,選填,GitHub issue 的標(biāo)題,默認(rèn)值:document.title(HTML中title標(biāo)簽中的值)

注意:

雖然idtitle參數(shù)是不是必填的選項(xiàng),但是這個(gè)兩個(gè)參數(shù)很重要建議填上:
1、id參數(shù)用于評(píng)論記錄和頁面對(duì)應(yīng)的唯一標(biāo)記,有的時(shí)候發(fā)現(xiàn)好幾個(gè)頁面評(píng)論是一樣的,就是由于配置id參數(shù)的時(shí)候,這幾個(gè)頁面的id是一樣導(dǎo)致。由于id參數(shù)默認(rèn)值是location.href頁面URL,而有的時(shí)候URL中帶著頁面標(biāo)題的鏈接,導(dǎo)致URL長(zhǎng)度超過了50個(gè)字符長(zhǎng)度,會(huì)導(dǎo)致創(chuàng)建評(píng)論issues失敗(長(zhǎng)度超過50個(gè)會(huì)創(chuàng)建失敗),這點(diǎn)要注意。
2、title用于在github倉庫issues的標(biāo)題,如果你想管理評(píng)論可以設(shè)置一下這個(gè)參數(shù),來區(qū)分該評(píng)論是來自于那個(gè)文章。

其他參數(shù):

number: 類型:數(shù)字,選填,頁面的 issue ID 標(biāo)識(shí),若未定義number屬性則會(huì)使用id進(jìn)行定位。默認(rèn)值:-1
labels:類型:數(shù)組,選填,GitHub issue 的標(biāo)簽,默認(rèn)值:["Gitalk"]
body:類型:字符串,選填, GitHub issue 的內(nèi)容,默認(rèn)值:URL + HTML中meta標(biāo)簽中description的值
language:類型:字符串,選填,設(shè)置語言,支持 [en, zh-CN, zh-TW]。默認(rèn)值:navigator.language 或者 navigator.userLanguage
perPage:類型:數(shù)字,選填,每次加載的數(shù)據(jù)大小,最多 100。默認(rèn)值:10
distractionFreeMode:類型:布爾值,選填,類似Facebook評(píng)論框的全屏遮罩效果。默認(rèn)值:false
pagerDirection:類型:字符串,選填,評(píng)論排序方式,last為按評(píng)論創(chuàng)建時(shí)間倒敘,first為按創(chuàng)建時(shí)間正序。默認(rèn)值:last
createIssueManually:類型:布爾值,選填,如果當(dāng)前頁面沒有相應(yīng)的 isssue 且登錄的用戶屬于 admin,則會(huì)自動(dòng)創(chuàng)建 issue。如果設(shè)置為 true,則顯示一個(gè)初始化頁面,創(chuàng)建 issue 需要點(diǎn)擊 init 按鈕。 默認(rèn)值:false
proxy:類型:字符串,選填,GitHub oauth 請(qǐng)求到反向代理,為了支持 CORS。默認(rèn)值:https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token
flipMoveOptions:類型:對(duì)象,選填,評(píng)論列表的動(dòng)畫。參考
enableHotKey:類型:布爾值,選填,啟用快捷鍵(cmd/ctrl + enter)提交評(píng)論。默認(rèn)值:true
5. Gitalk實(shí)際使用例子 5.1 在docsify中使用

docsify是一個(gè)神奇的文檔網(wǎng)站生成工具。詳情介紹請(qǐng)看官網(wǎng):https://docsify.js.org/#/zh-cn/
使用docsify教程請(qǐng)查看:https://segmentfault.com/a/11...

docsify支持Gitalk評(píng)論插件,需要引入一個(gè)JavaScript腳本文件:
https://unpkg.com/docsify@4.8.6/lib/plugins/gitalk.min.js

一個(gè)實(shí)際使用例子:

  
  

  
  

說明:

1、由于docsify的鏈接URL使用的是hash的方式,導(dǎo)致切換頁面的時(shí)候不會(huì)刷新頁面,導(dǎo)致整個(gè)網(wǎng)站的Gitalk評(píng)論使用的是一個(gè)評(píng)論,因此做了監(jiān)聽hash事件,來刷新頁面,這樣就能每次切換頁面刷新,然后加載對(duì)應(yīng)的評(píng)論。
2、關(guān)于Gitalk參數(shù)id的值,由于點(diǎn)擊二級(jí)標(biāo)題后,二級(jí)標(biāo)題會(huì)以參數(shù)的形式出現(xiàn)在url上,導(dǎo)致長(zhǎng)度有事超過了50,所以過濾掉URL中的參數(shù),此外還能解決評(píng)論定位不到問題(二級(jí)標(biāo)題會(huì)在URL上)。
5.2 在VuePress中使用

關(guān)于VuePress,請(qǐng)參考:https://vuepress.vuejs.org/zh/

我們需要?jiǎng)?chuàng)建.vuepress/enhanceApp.js文件,內(nèi)容如下:

function integrateGitalk (router) {
    const linkGitalk = document.createElement("link");
    linkGitalk.;
    linkGitalk.rel = "stylesheet";
    document.body.appendChild(linkGitalk);
    const scriptGitalk = document.createElement("script");
    scriptGitalk.src = "https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js";
    document.body.appendChild(scriptGitalk);
    var path = "";

    router.afterEach((to) => {
        if (scriptGitalk.onload) {
            setTimeout(loadGitalk, 5, to)
        } else {
            scriptGitalk.onload = () => {
                loadGitalk(to.fullPath);
            }
        }
    });

    function loadGitalk (to) {
        if (to.path !== path) {
            path = to.path;
            let commentsContainer = document.getElementById("gitalk-container");
            const $page = document.querySelector(".page");
            if (commentsContainer && $page) {
                $page.removeChild(commentsContainer)
            }
            commentsContainer = document.createElement("div");
            commentsContainer.id = "gitalk-container";
            commentsContainer.classList.add("content");
            if ($page) {
                $page.appendChild(commentsContainer);
                if (typeof Gitalk !== "undefined" && Gitalk instanceof Function) {
                    renderGitalk();
                }
            }
        }
    }
    function renderGitalk () {
        const gitalk = new Gitalk({
            clientID: "2eb19afceda708b27e64",
            clientSecret: "36aedb5a30321626a8631689fee5fafd5929f612",
            repo: "gitalk-comment",
            owner: "yulilong",
            admin: ["yulilong"],
            title: location.pathname,
            id: location.pathname,      // Ensure uniqueness and length less than 50
            language: "zh-CN",
        });
        gitalk.render("gitalk-container");
    }
    window.loadGitalk = loadGitalk;
}

export default ({ Vue, options, router }) => {
    try {
        document && integrateGitalk(router)
    } catch (e) {
        console.error(e.message)
    }
}

保存文件后,重啟vuePress服務(wù)即可。
效果如下圖:

參考資料

Gitalk 官網(wǎng)
Gitalk中文文檔

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101463.html

相關(guān)文章

  • 免費(fèi)自建個(gè)人網(wǎng)站-Gridea+GitHub+Vercel傻瓜式搭建靜態(tài)博客評(píng)論SSL多主題

    很多人想要搭建自己的博客網(wǎng)站,但是又苦于沒有什么代碼基礎(chǔ),部分同學(xué)可能覺得申請(qǐng)?zhí)摂M主機(jī)管理空間等操作繁瑣,于是苦苦尋找那種單純的寫作平臺(tái),例如早期的新浪博客,現(xiàn)在的簡(jiǎn)書、國外的WP等也就成為了不少人的選擇。但是使用第三方的博客平臺(tái)有一個(gè)最大的問題:不穩(wěn)定。可能有的人會(huì)說大廠商不怕倒閉,縱觀互聯(lián)網(wǎng)這十幾年的發(fā)展,再大的大牌服務(wù)如果沒有贏利支撐,該倒閉的倒閉,該關(guān)停的關(guān)停。用戶的利益對(duì)于商家來說不是高...

    番茄西紅柿 評(píng)論0 收藏2638
  • 用vuepress搭建一個(gè)夠自己用的博客(帶評(píng)論功能)

    摘要:那么我們?nèi)绾卧诓┛椭袑?shí)現(xiàn)這個(gè)功能呢,其實(shí)很簡(jiǎn)單,首先修改我們的文件介紹正在使用的構(gòu)造函數(shù)附加到根實(shí)例的一些選項(xiàng)當(dāng)前應(yīng)用的路由實(shí)例站點(diǎn)元數(shù)據(jù)對(duì)的判斷是防止編譯的時(shí)候報(bào)錯(cuò)然后新建一個(gè)的文件取消默認(rèn)的復(fù)制事件作者靜水深流原文著作權(quán)歸作者所有。 原文博客 閑扯 很久以前,自己擁有一個(gè)用hexo搭建的靜態(tài)博客網(wǎng)站,記得當(dāng)時(shí)為了把它搞出來,廢了不少勁,然后后來又?jǐn)鄶嗬m(xù)續(xù)更改過一些配置和樣式,但是因...

    thekingisalwaysluc 評(píng)論0 收藏0
  • 用vuepress搭建一個(gè)夠自己用的博客

    原文博客 閑扯 很久以前,自己擁有一個(gè)用hexo搭建的靜態(tài)博客網(wǎng)站:ox:,記得當(dāng)時(shí)為了把它搞出來,廢了不少勁:anger:,然后后來又?jǐn)鄶嗬m(xù)續(xù)更改過一些配置和樣式,但是因?yàn)楦杏X各種麻煩,所以就放在github上積累和很多的塵土:cupid:,到現(xiàn)在也懶得在打掃了(其實(shí)是好久不用,有點(diǎn)忘了怎么用了:-1::poop:),前段時(shí)間在百度統(tǒng)計(jì)上看了看那個(gè)靜態(tài)網(wǎng)站的訪問人數(shù),發(fā)現(xiàn)已經(jīng)很久很久沒人訪問過了...

    Forelax 評(píng)論0 收藏0
  • TB | 基于 Github Issues 的博客平臺(tái)

    摘要:專為極客設(shè)計(jì)的上手簡(jiǎn)單酷炫,基于的博客平臺(tái)。生成之后,打開瀏覽器地址欄輸入即可。主題你可以使用來查看最新官方主題即將到來。貢獻(xiàn)如有任何的意見或建議,歡迎通過創(chuàng)建或的方式告知倉庫管理員,請(qǐng)先閱讀貢獻(xiàn)指南。 showImg(http://ojiq40lzd.bkt.clouddn.com/logo-144.png); showImg(http://forthebadge.com/image...

    antz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<