喜欢jekyll帖子的按钮

问题描述 投票:4回答:2

我想添加一个类似的按钮,对于我的jekyll博客主页上的每个帖子,我没有找到任何插件。我不希望任何类似Facebook的按钮连接到公司/产品页面。

我想要一个独立于任何社交平台的按钮,只关注帖子。

像这样的enter image description here

jekyll blogs
2个回答
4
投票

简短的回答:你做不到。

答案很长:你的按钮会在某处(通常是数据库)存储“喜欢”,根据定义,这是一个动态过程。 Jekyll只能生成静态数据。

您可以将按钮绑定到外部服务,例如LikeBtn提供此类功能(免费提供错过高级功能,如统计数据)。

无论您选择哪种服务,它都可以通过添加javascript片段来实现,就像谷歌分析一样。你可以看到如何使用谷歌分析与杰基尔帮助你(例如here)。


0
投票

是的,可以通过将自定义JavaScript代码和数据库写入Jekyll生成的静态站点来添加类似按钮并跟踪喜欢的数量。

因此,因为它是一个静态页面并且不涉及任何服务器而进入数据库,所以不可能直接与数据库交互,但有一种方法。在我的情况下,我正在使用firebase。 Google的Firebase为我们提供了许多功能,如存储,数据库,托管以及使用功能访问无服务器架构。

所以,你需要做的就是注册http://firebase.google.com然后创建一个应用程序,然后在你的JavaScript中添加以下代码在head标签中

<script src="https://www.gstatic.com/firebasejs/5.9.0/firebase.js"></script>
<script>
  // Initialize Firebase
  // TODO: Replace with your project's customized code snippet
  var config = {
    apiKey: "<API_KEY>",
    authDomain: "<PROJECT_ID>.firebaseapp.com",
    databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
    projectId: "<PROJECT_ID>",
    storageBucket: "<BUCKET>.appspot.com",
    messagingSenderId: "<SENDER_ID>",
  };
  firebase.initializeApp(config);

var timestamp = new Date().valueOf();
            var obj = {};
            obj[timestamp] = "1";

            firebase.database().ref('/').update(obj)
</script>

有关详细信息,您可以访问我关于此主题的博客

https://xyzcoder.github.io/firebase/2019/03/17/firebase-real-time-database.html

注意:我们还可以对谁可以读取和写入json存储的数据实施安全限制

谢谢,风

© www.soinside.com 2019 - 2024. All rights reserved.