2024-05
1

越来越舒服

By xrspook @ 10:36:48 归类于: 烂日记

以前写网页,都是在记事本里,一个一个字敲。缩进什么的,通常都是用tab完成,因为如果要敲4个空格键,实在太难了,而且那时我也不知道标准做法是4个空格键。我不可能每次都那么准确敲4个空格,如果敲漏了可能就会对不准,会逼死强迫症。我已经不记得以前我是怎么保证那些需要成对出现的东西配对的,所有东西对我来说都像是白纸黑字,所以在记事本里敲跟我在白纸上面写没什么区别。

很多年以后,我开始用Notepad++,那个东西的好处是会根据不同编程语言把标识符都给高亮出来。很智能的地方还有显示到底我配对的是哪一层,这样就让我在查找问题的时候简便了很多。但到这里为止,我做的所有事情也都只是在靠着自己的眼力去完成。

再到后来,当我已经不再设计自己blog网站之后,准确来说,是当我下定决心,要用python去解决blog导出数据转换的时候,我用上了vscode。我使用vscode的时间跟我系统学习python的时间是一致的。一边学习python,一边在vscode里实践。那是我第一次用上那么智能的编辑器。有了那个东西以后,如果我犯了一些低级的错误,马上会有红色波浪线给我标出来,如果有一些可能错,但未必一定是错的东西,就会给我标黄。所以如果我遇到的那些东西,基本上我就不用测试程序了,肯定不会通过的,但即便没有被波浪线,也没有被标黄,测试的时候可能依然得不到我想要的效果,但有时会给我提醒到底是哪一行、运行到什么情况的时候不对劲了。

学习过C,研究过html,也玩过php,去年也着用了office里面的VBA。我觉得就思路呈现而言,python是让我觉得最自由的。因为没有那么多条条框框的格式限制,甚至连配对的括号都不需要,只需要要恰当的缩进就能解决问题。在vscode里,标准的缩进使用4个空格,但你也可以用tab。同时你也可以设定把tab自动转化为4个空格。有了这么方便的缩进。python那些必须用缩进说明层次的问题,完全不是问题。

这一次,当我要做级联下拉网站的时候,我在vscode里写html。在标签配对方面,感觉实在太爽了,标签会自动给我匹配,缩进也会给我自动实现。在写ID、写class的时候,可能会空格乱写,但只要全选之后,Shift+Alt+F就可以做一个格式化。格式化以后,所有东西都是完美的。有时我要引用某个js或者css。引用的不是一个网站链接,而是某层文件夹里面的东西,那个时候vscode把理论上我应该全部敲出来的东西给我变成了下拉的选择题。这些选择题,在我敲打标识符的时候也通常很自然地带出来。标识符这个玩意,在编辑器里,有些会自动带出来,有些不会。不会的时候,非常有可能你脑子里想到的是某个东西,但你手上敲出来却是另外一个玩意,于是就会导致最后完蛋了。让我觉得爽的还有vscode的高亮是我喜欢的那种颜色。以至于习惯了vscode的暗黑配色以后,我把Notepad++的主题颜色也变成了高仿vscode的样式。

以前写网页是因为我要写,现在有了vscode的加持,我觉得我可以写得很舒服。

2020-07
18

DIY python脚本实现静态网站生成

By xrspook @ 18:05:16 归类于: 烂日记

当所有现成的方法都解决不了问题的时候,我选择了自己写python脚本转换我的静态网站。花了一个下午的时间,居然还真做出来了。之所以可以这样,是因为我是站在巨人的肩膀上的,我用的是gitbook的格式,他们的静态网页是怎么整的,我就怎么整,毕竟在一个网页里面,哪些部分的数据需要动态变化,哪些需部分的数据无需变动是显而易见的。

之所以可以这么快,另外一个原因是我有了调试的利器。这一次,我用的是VS Code调试html代码。VS Code本来就很强大,昨天更新了个新版本以后,还自动内置了自动修改标签功能,之前这个功能需要用插件实现。大概因为要用这个功能的人实在太多了,所以还不如把它变成默认支持。默认也是需要设置的,不过那就不过是打一个勾而已。VS Code版本更新来得很及时,刚好在我需要用到这个功能的时候,他们就更新了。我还安装了美化格式的插件,这样的好处是,缩进空行什么的一键完成,虽然这个东西看上去很美好,但实际上也是有缺陷的,甚至导致我都不敢用了。因为他们为了好看做了一些不该做的事,超连接给我回车分行,并且在a和href之间再加入很多缩进,这样的话,超链接就不再是超链接了。我实在不知道他们是怎么想的,显然这是一个很大的bug。帮助我最大的是一个叫做live server的插件。这个东西可以虚拟出服务器,网页就可以直接在浏览器上实时更新了。这样的好处是显而易见的,因为这样的话,网站上的超链接全部都可用了,而不需要再按一个CTRL。那种感觉就像直接是在服务器上运行了。我觉得这个效果大概跟各种脚本建立虚拟服务器静态网站差不多。那些脚本除了建立静态网页到缓存,还开起了虚拟服务器。现在,我自己写静态网页,live server开启虚拟服务器。

从前用记事本或者Notepad++,写html的时候,标签配对从来是个大问题,虽然写好了以后,他们会提醒你标签到底配对到哪里了,但在写的时候一点都不智能。之所以这样,可能因为我一直没有去找Notepad++的相关插件。VS Code自带了智能配对的功能,当你写完半边标签以后,后半边自动跳出来了,而且标签你不用写全,写一部分他们就会提醒你,你即将要写的是什么,然后选择就可以了。这样的好处是,标签的配对再也不会出状况,而且标签也不可能写错了。当时我是在看某个介绍VS Code的视频的时候知道这个Emmet功能的,也正是因为这个功能吸引我,那天晚上就下载了个便携版。我不知道便携版和安装版有什么不一样,反正后来,VS Coe用得越来越多,安装版是必须的。如果从前就有VS Code,大概我的很多工作就不需要走那么多的弯路了。但话说回来,现在我写的是静态的网站,如果那是动态的,估计就没那么容易了,但是,就标签配对来说,VS Code还是相当棒的。

现成的各种方法用几个小时,甚至根本生成不出来的电子书是静态网站,我用120秒就搞定了。前提是我们的数据源不一样。我配给他们的数据源是9000多个markdown文件,而我自己使用的数据源是一个20多MB的XML文件。可以生成我梦寐以求的静态网页当然是件好事,但这些静态网页加起来,居然有接近8GB的大小,显然这就很逆天,没有哪个地方能供得起这样的数据。根本原因在于我的每一个页面里面都有一个800多KB的目录列表,排除那个目录列表以外,实际上每个网页文件的内容大都只有不到10KB。所以摆在我面前的是,我不能让那个目录存在于每一个页面,我需要做一个目录页,也就是归档页,我要把那个归档页的链接放到现在的目录那里,而现在的链接则放在归档页里面。只放全部文章的归档页又好像非常空旷,所以接下来,我得考虑把从前的点点分类重新带回。最终的目录那里会有全部文章归档,以及各个分类的归档链接。这个过程挺绕,是我让那些分类消失的,现在我又要把那些分类带回来。最简单的方式是我修改点点到wordrpess的转换转换,让那些分类重新回到分类那里,然后下一步的wordpress XML转化为静态网页文件才会流畅。

python已经成为了我的大杀器,我要学更多,让这杀器更厉害!

2020-04
3

折腾md阅读器

By xrspook @ 9:29:46 归类于: 烂日记

昨天继续看Think Python,上午看得好好的,下午就发现我看的那本电子书打不开了,然后我进而发现可能不是那本电子书的问题,是那个托管电子书网站的问题。不知道出什么毛病了。墙外的东西出毛病,我觉得再正常不过了,尤其是在现在这种全世界都集体闭关的情况下,闭关的时候看书很正常。于是我就从其他地方把同一个版本的电子书下载回来了,一开始我挺高兴的,因为那是Markdown的格式,必定挺容易转格式。以前我用点点的时候电脑上就装了一个Markdown的编辑器。我个人觉得那个东西挺简单的,界面分为两半,一半是用来写Markdown代码,另外一半以HTML显示。简单来说,Markdown是一种轻代码,相比于传统HTML,Markdown标记简单非常多。你甚至可以用写脚本的工具写一个有格式的东西。如果Markdown能推行的话,甚至能颠覆Word这种可排版的传统文档,因为在格式处理方面,Markdown的快捷方便实在太强大了。点点一开始是不支持Markdown的,他们用的是普通富文本编辑器,但不知道从哪个版本开始就支持了Markdown,但你可以继续选择富文本编辑器。我从那个时候尝新,于是就认识了这种语言。

Markdown文件下载回来以后我的第一个想法是我要把下载回来的md转变为mobi。mobi是kindle支持的格式,跟pdf最大的不同在于mobi在kindle里面是可以随意变换字体大小而不影响框架结构的,这个非常重要。我之所以不想把下载回来的md变成pdf,其中一个原因就是其实我也有我正在看的那本Think Python的pdf电子书,但因为字体太小,简直把我折磨死了。所以我必须整出一个在多设备上兼容的,而且字体大小不整死我的版本。

我觉得从md变成mobi应该很简单,但实际上,我折腾了一个下午,都没找到方案。多数人都是通过电子书的托管去实现格式转换的,但实际上,线上版根本就没有转化为mobi的功能,只能转换为pdf,这不是我想要的。至于脱机的版本,还得配置一系列的环境。成本有点高,其它软件,貌似都无法做到这种功能。把md变成html,然后再从html转变为mobi,是完全有可能的,但这也太麻烦了吧。最后我突然想到,为什么我不直接把浏览器当成我的md阅读器呢。的确Firefox有这种插件,随便装了一个以后我觉得世界被拯救了!Firefox里的md插件有好几个,试了一圈以后,我觉得页面不要那么宽的,会看得舒服些。因为如果那个页面有我整个浏览器那么宽的话,我看一行字还得从西边看到东边很费劲。

电脑上的问题解决了,手机上我也试了好几个md的阅读器。不少app都可以用md去记录东西,但是要从我的手机SD卡里面读取md文件貌似就不行了。从手机内存上读取是可以的,但是从手机SD卡上读取不少软件都不行。所以最终手机上我用的是坚果云的Markdown编辑器。那个东西很小巧,跟坚果云是一家的。我第一个下载的app就是它,但之所以想尽量不用是因为我怕那会耗费我的坚果云的流量。虽然我的md文件也没多少个,而且那些md早就被我放在坚果与里同步了。手机上我也可以继续用发Firefox的插件来阅读,但相对于坚果云的Markdown编辑器来说,那个东西有点卡顿,所以我放弃了。

如果kindle自己原生就支md的阅读,那该多好。作为电子书的阅读器,其实他们应该支持。

2018-06
17

社区动力的什么鬼CSS

By xrspook @ 17:51:27 归类于: 烂日记

用了一天时间,我熟悉了社区动力的后台。又用了一天时间,我把社区动力的一些DIY模块自己玩起来了。这种神速的掌握,让大家惊讶不已,但我觉得这其实是理所当然的。虽然以前我没玩过论坛的后台,但是博客、轻博客的后台我可是玩了不少。

中国现存的论坛,绝大多数都是以社区动力为驱动,这个东西已经有很多年历史了,有很多代产品,功能非常强大。无论是我想到的还是想不到的。也不知道是不是我正在用的那个版本太老,所以存在一些我感觉是逆天的设计。比如说他们会有一个清除所有未使用插件的按钮,但却没有一个,针对单个插件删除的按钮。无论什么系统,论坛也好博客也好,其实无非控制几个页面。主要分为主页、导航页,还有文章页。后台的框架是我们没办法定规则的,但我们可以通过后台以各种方式控制前台的表现形式。最基础的控制手段是CSS和HTML,当然也有特效,但那是后话了。在控制论坛角色行为方面社区动力的后台的确很厉害,但在控制基础制网页方面,我真的觉得他们很让我觉得无语。明明是很简单的修改,他们却搞得很复杂,大概因为这样复杂化了,一般人就不会想到要亲自去修改,而直接去购买他们的后续产品。他们最神奇的莫过于修改最基本的CSS和HTML,居然还必须使用FTP。这都什么年代了?!他们那可视化编辑界面是弱智低能的,因为上面的功能非常不齐全。说明是有等于没有。你把里面的功能全部都试一遍,还是不知道那是干嘛的。可视化的,也就是所见即所得不是这么弄的。而之所以有这样的吐槽,大概是因为很多年以前我就已经在使用世界上用户最多的后台产品WordPress。这个东西除了支持最基本的博客以外,还支持论坛,甚至网站。只要你脑洞足够大,它可以实现你想实现的功能。唯一区别在于,社区动力很多设置考虑的是人与人的交流,人对人的控制,但这不是WordPress的长处。WordPress主要是用来发布东西的。那个公司也有交流互动的功能的产品,那是专门留给论坛用的,但是知名度却远远不如WordPress,因为它们的功能的确不怎么全。

做了那么多年的网页,我觉得最让我吐槽的是社区动力的可视化DIY模块跟他们的脚本编写完全脱节。在DIY模块你只能用最基础的方式,进行拖拉,然后参数设定。接下来你却不能用纯脚本进行进一步修改。可视化和脚本修改应该是高度结合在一起了,不是吗?脚本编写对一般人很难,但对高手来说细微调整和重复使用只是弹指间的事。即便在十几年以前,那些现在已经倒闭了的BSP也能够实现很够意思的可视化编辑,为什么到现在为止要用社区动力要做那些东西还很困难呢?看过社区动力默认模板的CSS以后,我有种想死的感觉,明明不是一类的东西他们归为一谈,于是当你要控制某个参数的时候,其它的也被迫改变了。之所以这样,我觉得是因为做前台设计的那个人思路不清晰。他们也总喜欢用一两个字母的缩写当名称,于是一整CSS下来都是代码。当然,这东西不是人给人看的,而是给机器看的,缩写无所谓,但是在修改的时候,人肉读取就变得相当困难。为了解释那一堆缩写,他们还得写一大堆的注释,这又何苦呢?WordPress的模板不这样,无论是官方的还是民间的,你看到他们的英文名称就会知道那到底是干嘛的。他们只需要在某些地方做很简短的注释。研究社区动力的默认模板代码真的比我自己重新写一套更辛苦。

于是搞完以后,我感觉整个人都废了,躺在床上不想动,觉得身体不是我的。

2018-01
18

自觉学习

By xrspook @ 11:46:09 归类于: 烂日记

昨天和同学的聊天几乎到达了吵架的地步(或者说已经在吵架了)。之所以这样是因为我们看到的某些东西和我们持有的某些观点不一致。工作了10年多以后我意识到辩证法的重要性,不把话说死是非常有必要的,因为实际上真的是100%的事少之又少。因为我和我的同学从工作开始走上的就是不同的道路,所以看到的问题和个人感悟相差很远。

让我觉得很神奇的是我的同学为什么会觉得我学得比她快她压力大呢?几乎可以这么说,离开学校以后我自学的东西更多更杂更深入。学校学的那些东西都是基础,没有之前的根基我估计也不会养成往后的自学习惯,但显然脱离了那个被迫学习的体制以后我根据自己的情况上手各种东西其用功程度比我在学校被严格要求要考多少分好很多。我不再为分数奋斗,我为自己的兴趣奋斗,有些时候那些也谈不上是兴趣,而只能说是自己对自己的要求。我没办法接受自己本可以做得更好却因为懒而让重复无聊的东西一再每天都持续上演。再深层次地挖掘大概因为我很早以前就开始当码农,一开始的时候写的是HTML和CSS,后来变成了PHP,期间又在学校学了C语言,因为要写某个可视化封装起来的程序学了VB。一开始我就选择了折腾的路,所以往后当我要学习什么Excel公式,SQL规则的时候我会觉的一切都很正常且理所当然的事。明明做网页的时候我可以选择可视化的方式,当时可用的是Frontpage和Dreamweaver,但可视化的东西总不能精准到位,且生成的东西过于拖沓,所以我宁愿自己写HTML,然后用浏览器去测试我的敲键盘成果。没有人强迫我必须得这样,但我觉得这样有意思,完成了以后有成就感。很多人都有自己的网站,但不是每个人的网站都是自己亲手敲键盘写出来的。他们可以通过直接给钱别人,提出要求让别人设计出现成的,也可以利用网站后台的可视化模块以拖拉的方式组建。要自己写网站就意味着要学习理解各种规律,然后把自己的意愿按照约定的格式输出。我不喜欢你直接给我鱼,我更喜欢你给我一本钓鱼教学手册。

理解规律,认清自己的需要,最终恰当成功地输出。我觉得这几条就是学习的真谛。最终神一样的境界一定是无招胜有招。如果我们根本不去学习规律,也不知道我们自己要怎么着,又怎么会有后续的东西呢。有没有学习的心跟身份地位有钱没钱做的是哪份工作没关,这真的只是各人想不想这么干而已。有些人会自觉学习,但有些人要别人逼迫着才去学习。如果是前者,放在任何环境都无所谓,但如果是后者,环境貌似就很重要了。我觉得最根本的还是主观的人本身。学生年代当过班级里的鸡头与凤尾的我有深刻的体会。我不觉得名校里的普通学生就一定比九流学校的尖子生优秀,虽然外人看来二者的学习环境和受教育师资相差九万八千里。

环境或许不容得我们去选择,但我们可以选择改变自己。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress