标签: wordpress纯静态

  • WordPress转纯静态的简单易于实现的评论系统解决方案-Waline

    WordPress转纯静态的简单易于实现的评论系统解决方案-Waline

    之前偶然间看到有群友使用wordpress转纯静态做企业官网,并在更新时上传更新后的静态html文件至各静态服务处。觉得速度很快,而且可以完全不用担心安全问题,也能随时将静态文件丢到任意托管平台。

    遂仔细研究了一番,制作了本站的这个主题,为完全静态化做准备【ps:等服务器到期后,就转入无服务器部署,纯静态方案!】。

    而我并不希望做一个完全静态的博客,希望能跟更多网友交流,不管是了解最新趋势,还是单纯的讨论些问题,因此还要解决评论这个问题。

    搜索一番,有推荐twikoo, artalk的。但仔细翻阅后,发现与我的需求不太符:

    1. 能通过简单的js,css引入
    2. 简洁美观
    3. 数据可控
    4. 最好有用户管理
    5. 简单部署,最好不用部署

    最后找到了Waline这个项目,【配置丰富,部署简单,引入方便!】

    遂将其引入,作为本站评论的解决方案,具体可以看本站文章底部的评论框。

    以下是一些本站的配置:

    一、waline服务端的部署:

    基本参照waline官方教程一步步往下,非常简单直观。如下:

    (一)首先完成leancloud国际版的注册

    注册完成后,创建个应用,以供waline做数据库存储。

    然后点击设置,在应用凭证处查看部署waline所需的全部信息。

    【ps: 绑定自定义域名过程极慢,除了前期的绑定阶段,还有后期的证书部署阶段,建议至少留1天时间,和上传自己域名的SSL证书】

    (二)开始项目主体服务端在vercel上的部署

    请参考官方教程,然后填写相对应的环境变量,本站的一些变量参数如下:

    waline官方有对基本环境变量的解释,自行查阅。=.=上述参数不一定全有用,有些并没有实际用上。

    二、waline客户端的部署

    waline客户端引入非常简单,只需要一个绑定div和引入js即可,官方版本如下:

    <head>
      <!-- ... -->
      <link
        rel="stylesheet"
        href="https://unpkg.com/@waline/client@v3/dist/waline.css"
      />
      <!-- ... -->
    </head>
    <body>
      <!-- ... -->
      <div id="waline"></div>
      <script type="module">
        import { init } from 'https://unpkg.com/@waline/client@v3/dist/waline.js';
    
        init({
          el: '#waline',
          serverURL: 'https://your-domain.vercel.app',
        });
      </script>
    </body>

    不建议用第三方资源库了,尤其哪些有投毒前科的,建议自托管,本身没多大的文件。

    三、waline的前端配置

    <div id="waline"></div>
      <script type="module">
        import { init } from '/waline/2.15.8/waline.js';
    
        init({
          imageUploader: false,
          el: '#waline',
          serverURL: 'https://comments.waoww.com',
        });
      </script>

    四、还有更多的一些

    waline的配套部署应该还有很多,但配置到现在这样,已经完全能够满足本站的需求了,因此后续将看情况继续添加和优化,并不断在本文继续补充。如果你有什么推荐的配置,欢迎留言评论!

    【更新补充】

    移除waline第三方静态资源库托管,转为自托管。(最近这些第三方静态库屡屡爆出投毒,除了大厂的,其他的真不敢用了,有些投毒藏得太深。)

    五、接入waline社交登陆系统

    Waline已经集成了社交登录,但是并没有默认开启,且文档资料也比较凌乱,仅在高级配置项有指向链接:

    对此本站理解不深,但最后运行起来了。就是Deploy, 绑定域名,然后添加各自平台登录的环境变量appket secret 之类。