如何规划创建并长期维护一个Github开源项目?

2021年, 国内各路论坛已经铺满屠龙宝刀点击就送的广告, 知乎这种传统的知识社区也完全沦陷, 无论是内容质量还是产品设计都大不如前

目前知名度高, 影响力大且干净的网站只有Github了, Github是全球开发者最聚集的社区, 里面有很多项目, 无论是996.icu, 还是Chrome插件英雄榜, 或者是表情包都能成为受欢迎的项目, 并吸引各种志同道合的人前来研究...

如果想在Github立足, 并玩出花, 最快捷的方式是创建自己的开源项目, 长期维护, 聚集人气, 收获志同道合的伙伴.

本文作者为zhaoolee, 交友主页github.com/zhaoolee 目前做了几个比较受欢迎的项目, 收获3w老哥的star, 并维护至今; 也挖了很多坑, 最终不了了之, zhaoolee想通过本文, 为想要做开源项目的小伙伴提供一些经验~

写一份优秀的README.md很重要

Github每个开源项目都有README.md文档, 这个相当于项目的首页, 一定要写好.

人类喜欢看图, 为项目配一个漂亮的Logo或宣传图, 能体现开发者认真的态度, 也能吸引老哥们多看几眼, 有时候虽然你的项目很平凡, 但Logo很传神, 也能让大家为你鼓掌👏, 顺便点个Star

在READMD.md中, 配gif图是很有性价比的操作, gif图可以默认播放, 吸引浏览者的注意力, 并增加浏览者的驻留时间, 如果你PS/AE技术还不错, 甚至魔改几张表情包, 作为项目宣传图, 为项目增光添彩

最重要的内容放到README.md最前面, 无论通过图片还是文字, 都要让人瞬间了解, 这是个什么类型的项目~

README.md没有限制内容的高度, 如果项目是Awesome类(收集集合类), 最好把主要内容的目录列到README.md中, 让浏览者一触即达.

善用程序, 不要让维护项目成为一件痛苦的事

我做过一个表情包项目 ChineseBQB, README.md写的很骚, 还是中英双语, 如果手工收集分类表情包并同步到主页, 是一件非常痛苦的事.

于是我写一个程序, 自动读取特定目录下的文件夹和文件名, 并自动生成网页,并将网页的索引自动更新到README.md, 还加了表情数量统计每次更新表情包只需往特定文件夹放图即可, 放完图后, 运行脚本即可完成更新.

当看到自己编写的脚本, 生成索引, 并全自动完成索引替换, 表情包数量统计任务时, 成就感满满, 维护项目也成为了一件很爽的事...

建一个爱好者群, 可以提升维护项目的热情

人的本质是非常懒的, 维护个人开源项目, 需要耗费时间精力, 如果到了项目到了不温不火的阶段, 就会没有动力更新.

此刻, 不妨建一个QQ群, 有人催更, 你自然也就有了更新的动力, ChineseBQB建了奥特曼保表情包QQ群 700477996 , 当群友们使用你开发的工具时, 你自然有了更新的热情和动力!

比如奥特曼表情包https://www.v2fy.com/asset/0i/ChineseBQB/?key_val=%E5%A5%A5%E7%89%B9%E6%9B%BC

冰冰表情包 https://www.v2fy.com/asset/0i/ChineseBQB/?key_val=%E7%8E%8B%E5%86%B0%E5%86%B0

Github Pages和Github Actions都是好东西, 不嫖就亏了

Github Pages本质是一个免费无限流量的web托管服务, 用户可以往Github Pages托管静态网页, 流量无限, 空间无限, 且支持自定义域名.

Github Actions本质是一个构建服务, 说穿了就是能在云端免费为你运行任意程序, 每个月2000分钟, Github Actions使用非常灵活, 可以用于自动构建项目, 比如给表情包生成网页, 定时自动爬取优质博主的RSS源, 生成个人简报, 定时自动爬取天气, 规划个人行程, Github Actions可以选择运行在Windows, Linux, macOS系统, 如果玩的再骚一点, 可以用来定时签到领京豆, 领Epic游戏, 甚至挖矿(不推荐).

个人适合做什么类型的开源项目?

  • Awesome(收集类) 这种最受欢迎, 但竞争也最为激烈(太卷了), 比如Windows软件, 在线工具, Chrome插件, 表情包均可收集~

  • 日常工具 工具要足够实用, 比如百度文库爬虫, 下载B站视频, 批量下载特订论坛的小姐姐图片, 批量下载Bing壁纸~

  • 编程工具库 比如jQuery, Nodemail, PM2, http-server ...

  • 编程框架 比如 Egg, Koa, Django...

如何推广自己的开源项目?

Github的用户主要是程序员, 推广Github开源项目可以到程序员社区.

v2ex.com

juejin.cn

csdn.net

或者阮一峰大佬的科技爱好者周刊投稿 github.com/ruanyf/weekly/issues

小结

Github的项目内容在搜索引擎中有良好的SEO, 如果你是一名创作者, 白嫖Github Pages服务构建自己的静态网站, 会给你带来持续的自然搜索流量, 如果你愿意挂Google Adsense广告服务, 还能空手套白狼, 赚一笔广告费(美刀), 只要你的内容好, 搜索引擎算法和Github老哥们也会给你相应的鼓励和回报~

本文永久更新地址:

https://fangyuanxiaozhan.com/p/2021-04-27-17-11-56-program/

Github可白嫖的Pages和Actions有什么用?

Github Pages是市面最良心的静态资源托管服务,每个Github账号可以建多个仓库,每个仓库绑定独立的Github Pages服务,Github Pages 本质是一块网络空间,可以存放单文件不超过100MB的资源,空间总容量无限制,且有全球cdn加速,由于长城防火墙的存在,国内访问会稍慢,但Github Pages支持自定义域名,建议申请一个域名,在国内备案,然后新建一个子域名(域名备案后,子域名自动备案,长城防火墙不会阻挡备案的域名),子域名解析到Github Pages ,然后Github仓库里面存放的资源,就可以在国内顺利访问到,而且Github Pages有全球cdn,无限流量无限空间的全球cdn,不嫖错过一个亿……

Github Actions是一个可定时触发自定义任务的服务,放到Github的代码可通过Github Actions,自动在github服务器运行,并输出结果,每个github账号每月有2000分钟的免费额度,可选择运行在Windows,Mac,Linux任一平台,平均每天一小时。Github Actions可以自动爬自己喜欢网站的rss数据,并定时发送到特定邮箱,且可以配合Github Pages,自动更新数据到个人网站;另外,Github Actions 还有很多妙用,比如,自动领游戏平台的免费游戏,自动完成各种网站的签到;如果游戏世界也支持Github Actions,你可以用Github Actions,自定义核弹发射程序的运行时间,时间一到,自动毁灭;由于Github Actions自由度过高,甚至有人用它来挖矿……

本文永久更新地址:

https://fangyuanxiaozhan.com/p/2021-03-15-github/

用Github Actions运行Python脚本更新仓库博客到WordPress,手机写Markdown同步更新到Github和WordPress攻略

用Github Actions写Markdown文章,自动更新到WordPress

  • 写博客最舒服的格式是Markdown;

  • 管理博客站最省心的方式是WordPress;

  • 推广博客站最好的平台是Github;

这个项目可以让你用Markdown写博客,push更新到Github后,Github Actions自动将文章更新到WordPress,并将WordPres站的文章索引更新到Github仓库的README.md,供搜索引擎收录。

image-20210119181051609

程序永久开源更新地址

https://github.com/zhaoolee/WordPressXMLRPCTools

如何实现WordPress登录授权?

WordPress默认开启了xmlrpc服务,xmlrpc是一套的统用的博客更新标准,允许用户以POST方式自动对文章内容进行增删改查。授权方式为 用户名 和 密码, 在WordPress中是后台登录的账户名和密码

我的WordPress网站为 https://fangyuanxiaozhan.com

image-20210119180338929

它的xmlrpc服务地址为 https://fangyuanxiaozhan.com/xmlrpc.php

image-20210119180403270

使用Github Actions 有什么好处?

Github Actions 可以让我们无需安装开发环境,即可完成代码的运行。

image-20210119180656968

对于本项目而言,我可以用手机版Git App,或者Github网页完成新建文章, 然后push到仓库,Github Actions会自动帮我完成相关代码运行,代码可以帮我更新文章到WordPress网站,并生成新的文章目录索引,并自动给你更新到README.md, 供搜索引擎收录。

image-20210119180529083

如何保护自己的WordPress账户密码?

Github 有一个secrets 功能,可以将用户名密码等关键信息保护起来,只有Github Actions可以读取到关键信息。

本项目需要设置三个secret

  • WordPress登录用户名, 变量名为 USERNAME
  • WordPress登录密码,变量名为 PASSWORD
  • WordPress的xmlrpc.php,变量名为 XMLRPC_PHP

image-20210119173133800

如何新建文章?

_post 目录下新建 后缀为 .md 的markdown文件即可

image-20210119181544158

文章管理:如何为文章分类/加关键词标签?

.md 文件顶部填写以下初始化信息,即可完成标题(title),标签(tags),分类(categories)的设置,其中title为必填项目(这些关键词不是我定义的,我借用了著名静态博客构建工具 hexo 的标准)

---
title: 我是标题
tags: 
- 我是0号标签关键词
- 我是1号标签关键词
- 我是2号标签关键词
categories:
- 我是1号分类
- 我是2号分类
---

标签(tags)和分类(categories)有什么区别?

标签(tags)是针对单篇文章的关键词,比如香蕉的标签有 黄色味甜 (标签是香蕉的属性)
分类(categories)是本篇文章的归属,比如香蕉的分类为 水果植物

image-20210119182027684

如何设置固定链接?

对于博客而言,文章拥有一个固定的链接,是很重要的,我经过各种尝试,最终借鉴了 简书 的文章url形式,域名后加 /p/ , 再加英文文件名,只要不改变英文文件名,文章就有固定的链接,我在_posts 目录下新建一个 2020-01-18-blog.md 文件,同步后的文章url为

https://fangyuanxiaozhan.com/p/2020-01-18-blog/

文件名与网站url严格对应,既方便了修改,又可以在网站数据库出事故后,迅速从github仓库迅速恢复文章内容(容灾),连url都不会变。

image-20210119171713841

如何使用?

完成以上配置后

每次在_posts 文件夹新增或更新文章后,运行

git pull && git add _posts && git commit -m "update" && git push

image-20210119182503520

即可!

image-20210119182653436

Github README.md显示效果,(新增的文章排在首位)

image-20210119184015781

WordPress网站也同步发布了文章

image-20210119182849720

https://fangyuanxiaozhan.com/p/2020-01-19-18-00-wordpressxmlrpctools/

如何用手机完成博客更新操作?

微信图片_20210119192838

用锤子便签,可以优雅舒适地写Markdown,手机App很好用,还有网页版可以用,有5GB的免费空间,能写到锤子倒闭。

如果遇到插入图片的问题,可以使用 免费图床图壳

https://imgkr.com/#upload

Pocket Git 和 MT管理器可以配合完成Git 文件的新增更新和上传。

程序永久开源更新地址(求Star):

https://github.com/zhaoolee/WordPressXMLRPCTools

当我们把毕生所学,通过几十年如一日的博客更新,逐步开源到互联网上时,必将会造福更多志同道合的人。

本文永久更新地址:

https://fangyuanxiaozhan.com/p/2020-01-19-18-00-wordpressxmlrpctools/

zhaoolee的Github主页

zhaoolee: 一个热衷开源事业的程序员 👋

zhaoolee

zhaoolee折腾的一些好玩的

名称 描述
V2方圆 zhaoolee的个人网站,挖掘稀缺资源
Chrome插件英雄榜 ChromeAppHeroes 🌈谷粒-Chrome插件英雄榜, 为优秀的Chrome插件写一本开源中文说明书, 让Chrome插件英雄们造福人类~
中国人的表情包 ChineseBQB 表情包的博物馆, Github最有毒的仓库, 中国表情包大集合, 聚欢乐~ ChinseBQB搜索表情包小工具体验地址
在线工具秘籍 🍭在线工具秘籍,为在线工具写一本优质说明书,让在线工具造福人类~
Typora私有化图床上传工具 zhaoolee为Typora定制一个私有化图床上传工具(含私有化图床搭建方案)
Github的README.md图片替换工具 将Github仓库README.md中的图片保存到仓库,并自动替换为Github图片链接
zhaoolee的简书博客 简书平台早晚要凉
公众号:0加1 0加1,防加班办公技能宝典,zhaoolee个人的日更的公众号
B站 目前LV5,未来的LV6,老二刺螈了!

本文永久更新地址:

https://fangyuanxiaozhan.com/p/2020-01-17-zhaoolee/

建立个人独立博客有什么好处?

科技公司垄断已成,甚至可以封禁美国总统的全平台账户,物极必反,当内容平台逐字审查成为常态时,个人独立博客的独立特性将会更受人们重视,毕竟国内用户愿意用隐私换方便完完全全是一句屁话

独立博客与顶级域名绑定,最难被封禁;最近川建国同志的推特被封,其支持者们常用的APP Parler也被谷歌,亚马逊,苹果联手下架,川宝被迫成了哑巴,如果川普有个独立域名的独立博客,就能继续战斗🙊。(维基解密就是用独立域名坚持下来的)

个人独立博客要容易维护,才能长久做下去,这里我推荐WordPress建站程序,代码开源,免费,插件众多,无需一行代码,即可搞定独立博客网站。还可以通过网页端或APP直接发文章,回评论。

如果你是一名极客,可以直接用 xmlrpc 协议对WordPress网站进行更新,一个几十行的脚本,就能完成网站文章的增删改查,这是我写的Python脚本,可供参考

https://github.com/zhaoolee/WordPressXMLRPCTools

如今,是个app,就在要搞信息流,普通用户只能看到自己熟悉领域的东西,活在信息茧房里,最后不能破茧成蝶,只能作茧自缚。而个人独立博客,一方面能鼓励人创作,进行独立思考;另一方面也能关注其它博主们在做什么,交换友链,让彼此的知识体系通过超链接进行连接。

个人独立博客也能带来收入,只要你愿意写,开通谷歌广告,哪怕把广告投放量调到最低,域名云服务器的费用完全也可以抵消,并有一些盈利。不用去什么简书创作平台,花几千元,开个尊贵会员,天天看辣鸡营销文,为了回本,还得长按点赞按钮,给水文营销文点超赞👍,被割韭菜,用户还得建群组团捡起镰刀去割别人,美其名曰报团点赞,互相进步,简书真是个好产品,再整个百亿补贴,直接向拼夕夕看齐。

独立博客本身是一件很酷的事,虽然没有微博,知乎,公众号如此聚集聚合,我们依然可以通过rss订阅自己喜欢的内容,现在愿意更新独立博客的,内容都不会太差,订阅独立博客,能抵挡99%白开水文的冲击,而且独立博客可以被搜索引擎快速收录,优质内容,值得被整个互联网的用户看到。

当我们把毕生所学,通过独立博客几十年的更新,逐步展现到互联网上时,必将会造福更多志同道合的人。

本文永久更新地址:

https://fangyuanxiaozhan.com/p/2020-01-18-blog/