记录一下这个项目的一些想法和想法,用两周半的时间< titlesplit >记录一下这个项目的一些想法和感想2022年12月01日?来说说鲁班杰这个项目的由来吧,上周我在思考的时候关于如何做Lime簿记,我想得太多了,而且很烦。之前在技术选型上纠结过Bloc和getX,所以决定不做了。反正我想了很久,哈哈哈。于是就想着先把文档做选择,这样以后写文档就比较容易了。在网上查资料的时候找到了docsify文档项目。简单看了下官方文档,感觉基本满足我的需求,而且还支持GithubPages直接Git提交使用。我只是按照文档自己构建了它。我先试了一下。结果看封面配置的时候觉得渐变色不太好看。我想能不能用一张模糊的图片作为背景图片,类似磨砂玻璃的效果。很支持,然后就去找墙纸相关的API。就这样,工具箱方面的开源项目的想法慢慢萌生。在网上搜了很多壁纸API,大部分都是Bing壁纸API,而且也是各种个人项目的榜首,多得是!其中一些做得很好,例如:imgRun、ioliu和todaybing是我能找到的三个更好用的API,其中许多已不再可用。我仔细比较研究了这三个接口。第一个是用PHP编写的。源码很简单,但是源码没有提供UHD源码,接口文档提供了。感觉很奇怪,而且不支持歧义。.第二个好像很多年了,也支持fuzzy,就是文档写的一般,基本都能用。第三个还不错,尤其是网站做的非常好,设计的也很好,但是奇怪的是有些超高清的壁纸需要付费下载。研究了一段时间后,我有信心了。这太简单了。你怎么不调整一下界面,我也可以用,而且我还有免费的云平台Deta。服务器域名不花钱,也不是白送的。其实我以前从来没有用过Deta,也是无意中发现的。它同时支持python和nodejs。我只知道。思前想后,我选择了python技术栈。感觉用爬虫来处理Bing界面比较好。框架最初选择的是Flask,后来在Deta官网看到了FastApi教程。看到它的官网介绍的很好,速度也很快,然后就掉坑里了。之前不知道怎么用Pillow写,已经到门口了,后来又换回Flask,浪费了几天。在这里不得不说,经过这么多年的发展,Flask的平台兼容性和数据确实是目前最好的。又用了几天搞定项目结构和之前写的代码,还加了Json接口和模糊配置,基本可以用了。我还画了流程图,这是一个习惯,有助于整理思路。在使用docsify的时候,我发现这个看似简单的文档工具其实并没有那么简单。首先,文档结构有问题。本来想按照Typora中文档树的结构来的,但是看文档的时候感觉有点手足无措。一开始,我创建了一个zh-cn文件夹。目标是把所有的文档都放到这个文件夹里,然后按照文档树的结构排版,但是好像不对,因为我对Language要求不高,官方文档很多例子都是多语言的例子,这前期有点“误导”,不过很快改变主意,直接看官方文档的Github,这样更直接,源码中有更直观的信息,更容易理解。然后是插件,都是官方文档里的插件,感觉要用就用,有的很流畅,按照文档来就行,有的不会。比如我想给文档添加评论系统,docsify给了2个选择,Disqus和Gitalk。一开始,我选择了Disqus。以前听说过,在国外网站上用过,所以有印象。我注册了一个Disqus帐户并查看了文档。感觉不太符合我的要求,而且Basic版有广告,里面的功能也不符合国产软件的使用习惯,所以就放弃了。相反,我使用了Gitalk,它也是项目文档使用的评论系统。整体感觉还是很不错的。优点是不用注册账号,很好,不用维护账号。直接使用Github登录。基本上会用鲁班工具箱的人都会有一个Github账号,所以也很符合现在的使用场景。在使用Gitalk插件的时候,发现它的文档写的一般,没有例子,有的能看懂,有的看不懂,而且有点歧义,导致配置错误。页面上总有一行404提示。其实这也是由于每个人不一样,每个人的理解不一样,我的直觉不能代表大多数。写一个好的文档并不容易。结合Gitalk源码和文档花了一些时间,不过还算顺利。最糟糕的是谷歌统计。官方文档中的示例已过时。现在GoogleStatistics使用像G-xxxxx这样的ID。我以为是因为每个账号的ID不一样。测试了半天,没有收到数据。谷歌统计测试也正常,因为这是我最想加的功能,所以花了很多时间研究。如果有GoogleStatistics,可以直接看到文档的访问状态,随时调整。最后发现无法使用。在issues里找到了关于这个插件的讨论,不过还在测试中,目前好像不能用。写在最后。通过这个很简单的小项目,我发现要做好一个开源项目还是挺难的。一个人去做,一定是全面的,缺一不可的。语言、框架、文档、第三方库、插件、CI/CD、部署、UI,甚至是小徽章,都要用心做。做好一个开源项目并不容易。其实我也学python很久了。它被认为是一个旧世界。Flask、django、分布式爬虫、深度学习、自动化运维都或多或少有所涉猎,但这两年用的不多。不是很多。一般来说,做一个开源的小项目就够资格了。至于会不会有人用,这其实不是这个项目的初衷。初衷是为了给自己带来方便。如果你能用的时候能给别人带来方便,或者让别人学到一些东西,那也是一种享受。总结:不足本来打算做一个在线工具平台,但是目前只有Bing壁纸界面,很薄的文档还有待完善Git提交指令不规范,这个界面有待完善没有cdn,域名服务器都在国外,以后访问有点慢计划加入Json格式。目前有很多Json格式的广告。想做一个好看又快速的在线排版工具图片占位符。这个其实已经写好了可以用但是需要优化。好的
