分享下个人业余时间的开源项目:一个 Focus 在技术领域的微博 — “极客微博”
这是个什么东西?
如题所说,这是一个类似于 Twitter 的项目。目前还是 WIP,有一些最基本的功能:发推文、搜索、评论、点赞、通知。
为什么要做这个项目呢?
主要有两个原因。
一方面,目前对我来说,twitter 是我最主要的技术咨询来源。我会在 twitter 上面关注很多技术博主,从他们的推文中,了解到最新的技术咨询、发现一些好的技术文章、或者是学习到一些 tip and tricks 。但是国内并没有这样的一个,可以让人用来发现技术的一个地方。微博?你是说那个看娱乐八卦新闻的网站吗?
另一方面,我一直就想有一些地方,能够用来存放和分享一些比较零碎的东西。比如,我经常会发现自己一遍一遍的去 google 相同的一个问题,而这个问题真正解决的办法,可能就一两行代码。因为不记得,所以只能下一次遇到的时候,再去 google 一遍。而其中有一些问题不是一 google 就出来了,这就很浪费时间。这时候,我就希望有一个地方,能够用来存放这些解决问题的答案,这样的话,我下次直接到那个地方去搜关键字就好了。你可能会想,为什么不放到一些笔记类的 app 里面,比如 Bear 、evernote 等。在我的心智中,这些 app 就是用来记录比较长内容的笔记。如果一篇笔记里面就一两句话,我总是会觉得好像太浪费了。同时,这些长短的笔记夹杂在一起,也不是很好浏览和管理,在一个问题,就是放在自己的私人笔记里面,不是很好分享。类似这样“无处安放”的内容还有,代码上发现的一种好的写法,发现的一个好的命令行工具,阅读时看到的一两句觉得挺有道理的话,等等。
因此,出于 简单记录、分享和发现的需要,我写了这样一个项目。
为什么不用。。。
为什么不直接用 Twitter 呢?
有三个原因:
- Twitter 不支持 markdown,对于技术方面的知识片段来说,格式不够用,可读性不够高。
- Twitter 发布比较麻烦,要 FQ 并打开网页,而手机上发布则更加麻烦。很多时候,我只是想纯粹的发布一条记录一下的,但是打开网页就会看到很多干扰我注意力的内容。我试过很多的发布工具,比如rainbowstream,但是都不尽人意。也试过自己申请开发一个 twitter app,但是被拒了。
- Twitter 上面还是有一些非技术的内推,这些东西,有的时候是有用的,有的时候就只是娱乐性的,浪费时间。
为什么不用 Hacker News
Hacker news 主要是以分享链接为主,链接到某一篇文章,我希望能直接发布(同时也直接看到)内容片断本身。此外,HN 上面的内容也不一定技术相关的,虽然技术占的比例确实很大。
为什么不用 V2EX
跟 HN 有点类似,一方面,V 站的首页显示的是链接(标题)列表,而不是内容本身,另一方面,V 站的内容也不一定技术相关的,虽然技术占的比例确实很大。
为什么不用掘金、简书、知乎。。。
这些网站目前是以(较长篇)的博文为主的,对于我的“知识片段”的需求来说,有点过重,使用成本有点高。
说到底,可能是因为我是处女座,所以对所用的东西特别挑剔,希望能尽量完美的契合自己的需求。
(计划中的)项目特点
作为一个“简单记录”为重点功能的工具,这个工具最大的侧重点,就是“发布”这个功能会做的非常简便,工作量极小。我打算做很多的工作,来达到这个目的,目前想到的一些方法如下:
- 命令行工具
- Alfred 插件
- Chrome 插件
- 使用系统快捷键,直接读取剪贴板内容发布
用到的技术栈
- Ruby on Rails
- Ruby 2.7.1,Rails 6.0.3.2
- VueJS, AlphineJS
- TailwindCSS
- PostgreSQL
- ElasticSearch
项目地址:极客微博 欢迎体验、吐槽、反馈
Github 地址:ChrisZou/geekweibo 欢迎 star 、fork 、pr 、issues