DIY My Site发挥集体智慧创造一个安全又功能完善的博客模板

By chinatimeline at 2020-01-13

缘由

之前对端点星的可fork性提出质疑后,TerminusBot发布了一个裸版的模板,我觉得缺乏一些常见功能,比如评论区、社交分享插件、bootstrap模式的首页、简单流量分析等很多大平台提供的功能,尤其是要确保没有第三方跟踪代码的前提下,实现这些小功能还是很麻烦的。

所以创建了一个github组 DIYMySite

https://github.com/diymysite

邀请大家一起做一个适合中文博客的模板,让小白也能一步步的搭建自己的博客,并且最最关键的是,这个博客模板是绝对没有跟踪代码的,可以用uBlock Origin这个浏览器插件查看。

目前这个模板的代码仓库在这里

https://github.com/diymysite/rich-jekyll-template

演示网站在这里

https://diymysite.github.io/rich-jekyll-template/

这个网站的功能会不断改善、添加,并且邀请成员发布如何建站或添加新功能的博文。

动机:这个有什么好处?

复制一下我在如何识别第三方广告跟踪代码及 & social impact 项目的倡议的发言

作为一个social impact项目的开发者,我说两句。

既有想法、又能把一个项目从头做到尾,还懂得推广和制造影响力的人,少!

我们这种半灌水用第三方插件很方便啊,Google一下谁提供功能,注册第三方模块的网站,copy & paste 第三方网站自动生成的代码到制定的位置就OK了,5分钟搞定。自己DIY的话花几个小时搞懂各种东西,东找西找,调试。

我建议 @小二 发起一个 github的组,专门建立和维护一个基于github pages的模板仓库,把平时常用的功能都提交进去,免得其他人重复造轮子。我不知道达摩俱乐部花了多少时间,反正光是因为你说第三方js安全性的问题,我就为了这么一个社交分享按钮跟流量统计功能来来回回花了好几天的时间重复造轮子。

要让更多的人发展social impact, 开发者和用户体验都十分重要,一般人看到一个网站使用起来很麻烦或者不稳定的话,99%的人就直接关了窗口看别的东西去了。开发者也是一样,绝大部分开发者折腾一下搞不出什么东西的话,热情就消退了。而这些折腾绝大部分都是重复造轮子。

站长要推广social impact项目的话,要注意社会分工,你们这类资深互联网程序员首先要为普通爱好者提供基础代码和基础设施,维护这么一个基础模板,可以大大减少大家重复造轮子的时间,让绝大部分有心人能够一上来就享受到成就感,而不是在一个自己不熟悉的领域重复造轮子带来的挫折感,绝大部分人可能就退却了。你们这类互联网高手应该作为大公司的基础平台研发部门,专门帮助不同背景的爱好者解决这些基础问题,尤其是解决网络安全、建立简单网站、提高普通用户体验这三个环节。

你们提供基础设施,比如论坛、staticman或RSS自建服务器之类,我们这种有想法但不太懂互联网的人用这些设施做项目,搞出一两个明星项目之后,就会有更多人效仿。但关键还是要有方便的基础设施,开一个项目的难度最好跟普通人去wordpress开个博客差不多,这样才会发扬光大。

功能完善, My, DIY, Site, 模板


容我吐槽你两句……你搞半天就是加了个回到顶部的按钮?

外加一大堆跟踪脚本?

小二 at 2020-01-13
1

https://github.com/TerminusBot/terminus-jekyll-template

分享按钮基本没人用,加这玩意儿纯属浪费版面。回到顶部这个小功能没必要装一个 jquery。

小二 at 2020-01-13
2

@小二 #2 跟踪脚本是social share的,有跟踪脚本说明这个插件不行,换一个就是了。

https://chinatimeline.github.io/tiananmen/

那你把你自己满意的分享和回到顶部都弄上去啊。

我刚刚把这里的go to top抄到我的网站上了。分享按钮还是有人用的,以前我用shareaholic的时候总计有54个分享,而且后台统计每周都有几个分享。

chinatimeline at 2020-01-13
3

最开始有几天每日访问量破两千也是因为有twitter大V分享

chinatimeline at 2020-01-13
4

加这两个功能顺手的事儿,等几天吧

小二 at 2020-01-13
5

@小二 #5 其实你这个回到顶部功能还不是用javascript实现的,跟我之前那个没什么区别。

chinatimeline at 2020-01-13
6

为了一个小功能装一个本不需要的 jquery

这不就是开飞机去菜市场买菜么?

别不服气,哼😏

小二 at 2020-01-13
7

@小二 #7 jquery不是回到首页的,jquery是那个社交分享按钮的。你看我自己的网站 https://chinatimeline.github.io 恢复了之前圆形的回到首页按钮。你看看有没有用jquery

chinatimeline at 2020-01-14
8

我现在也把自己的网站上的社交分享按钮设置成了sticky模式了,其实html语言就能实现。所以时间线网站目前用的是真正的no javascript社交按钮。

chinatimeline at 2020-01-14
9

其实理论上回到顶部只需要一个

<div style="z-index=2;" class="go-to-top"><a href="#top">▲</a></div>

然后在css加上两个样式定义

#go-to-top{
  display:none;
  position:fixed;
  right:30px;
  bottom:30px;
  padding:10px;
  color:red;
  background:#ddd;
  font:24px/12px Helvetica,Arial,Verdana,sans-serif;
  opacity:.7;
  outline:0;
  text-decoration:none;
  text-shadow:0 0 1px #ddd;
  vertical-align:baseline;
  -moz-border-radius:5px;
  -khtml-border-radius:5px;
  -webkit-border-radius:5px;
  border-radius:5px
}
chinatimeline at 2020-01-14
10

再说了,jquery social share没有任何东西被uBlock Origin屏蔽,说明是安全的

chinatimeline at 2020-01-14
11

又添加了搜索功能,能搜内容。

把这个帖子移出水区啊? @小二

chinatimeline at 2020-01-19
12

@小二 真心推荐你的端点星用这个搜索框,代码你diff一下就知道,操作流程都写在这里了。

https://github.com/diymysite/blog/blob/master/_posts/2020-01-20-add-algolia-search.md

chinatimeline at 2020-01-19
13