2020-07
22

jinja模板,你好

By xrspook @ 19:20:33 归类于: 烂日记

我终于做到了用模板的方式以及我自己的数据生成静态网页。暂时我还不知道,那些放进去就能用的格式类东西应该怎么在生成网站的时候顺便一并放进去。肯定是有方法的。虽然现在我手动挪一挪也无所谓。我觉得那大概是一个获取文件,然后解压到目标位置的操作。

jinja的模板套用比我想象中简单。在进行我自己的操作之前,我复制了网上的一个教程的代码,发现真的很容易。模板本身也可以通过浏览器查看效果,这个非常棒。从前BSP不就是干这种事吗?无论是可视化编辑的,还是纯代码操作的,其实都是在设计模板。现在我也终于明白,为什么相比于其它核心功能,在模板方面,我为什么总感觉自己有那么多的经验,因为实际上,我的确在那个方面花了很多时间。现在我已经不记得BlogBus的模板是怎样的了,唯一的印象是他们用的是代码编辑。他们会给你一些核心代码的封装,你可以把那些东西放在指定的某些模板里。封装的东西以外的部分,你可以通过css,或者js去控制,但是封装在里面的,基本上就是一个无药可救的状态了。所以有些格式你觉得你应该可以控制得了,实际上你却做不到,因为封装在里面,已经把格式给写死了。不知道如果我在css那里强行加个important,能不能扭转局面,但显然,当时我根本不知道有important这种东西。css的important的确威力无穷,但是important如果经常用,就会破坏规则,也不好维护。不得已我才会用,即便用了,一个css文件里面,通常不会超过三处。

以前的模板设计,我只是能处理一些格式上的东西。现在,我自己写脚本生成静态网站。无论前台后台,我都玩了,我得顾及前台的模板形式。也要考虑后台的数据整合以及数据的架构类型。在用jinja模板之前,我用的是人肉低端的字符串合并。虽然实际上,我做的低端操作也是实现模板的功能,但就维护来说,这实在太困难了!如果一个网页里面有很多数据是动态的,我就不得不把网页切分为很多份。切着切着,我都不知道自己切到哪里了。就数据生成效率来说。我的低端做法效率会更高,至于为什么,我不知道。9498个页面,我的低端做法转化需要22秒,jinja模板只需要32秒。这个不是偶然事件,在进行9498个页面转化之前,我先进行了一个只有几个页面的测试。结果跟大数据的很类似,低端做法,要比高端做法快1/3。这其中的原因是什么呢?据说jinja已经是个生成速度自称为“快速”的脚本,如果是另外一些,可能更慢。9000多个页面才多10秒钟,任何人都忍受得了。就维护的便捷性来说,低端拼接的维护成本随便超过10秒,所以用jinja模板绝对是值得的。这让我想起了我最在行的邮件合并,用word和Excel联合起来批量生产东西。我不知道其他人玩这个能溜到什么程度,反正这个东西一直都是让我引以为傲的,当然了,这种技能,也是后天逼出来的,工作使然也。

一些我觉得可能挺不容易的东西,居然很轻松就被我攻克了,感觉非常意外。接下来,生成搜索引擎所需的索引,估计不是件容易的事。生成索引,最重要的是思路,而过程不过是一些机械操作而已,我必须掌握好那个思路!

2020-03
18

全屏搜索大功告成

By xrspook @ 20:04:21 归类于: 烂日记

昨天,我把COLOR3模板的搜索功能终于做上去了。从前的搜索都非常简单,就是在网页上做一个输入框,然后再加一个提交按钮,搜索都这样。我有想过要不要在WordPress里形成一个搜索的页面,然后要搜索的话就到那里输入内容然后提交,最后返回搜索结果。这样做显然就绕了一圈,我在任何一个页面想搜索,就必须先到达那里,于是网站就要在那两个地方跳转。对于我来说这个体验肯定是不好的。因为这就意味着又要重新把网页加载一次。直接在任何一个页面就能提交搜索然后反馈得出答案跟多绕一圈差别很大,起码我个人觉得这样很折腾。

现在跟10年前的区别大概在于搜索的花样多了很多,比如现在终于可以通过CSS做出比较好看的效果,从前那只是CSS的一个美好梦想。CSS的改进让我印象深刻的是鼠标悬停时的过渡效果以及半透明的展示。从前要展示半透明,每个浏览器出来的东西还不一样,所以写一个效果还得备着多个浏览器的不同选择版本。如果是Chrome和Firefox还好一点,版本兼容性还不错。如果遇到不同版本的IE,出来的东西千差万别。我没有去研究过现在主流的浏览器都有哪些,但可以肯定的是,非常大一部分用户是的是智能设备,而不是传统的PC电脑,所以即便是看到主流浏览器的使用比例,参考性也不大。

从前,当我有了自己的网站,又或者说我有了自己的blog以后,即便blog在BSP上,我已经试图在做网站优化,尽量的让搜索网站能找到我的东西。但现在我已经完全不在乎那些东西了。所以,我连Google的SEO插件也直接删掉。百度也好,Google也好,其它搜索引擎也好,收不收录,收录多少我根本无所谓,搜索得到,搜索不到,我没兴趣去知道,从前我隔一段时间就会神经病地在搜索网站上找自己,但现在我完全不这么干了。那对我来说毫无意义。比如说我在B站上有了账号,而某些视频的点击率又很高。非常有可能,在搜索网站输入我的网名出来的大都是那些点击率很高的东西,不知道看到多少条才看到我自己的blog,但什么重要,什么不重要,哪些有价值,哪些才是我的代表作,我心里明白,我不需要知你们觉得,我不需要知道网页爬虫觉得。之所以要把网站搞好,是因为我要对自己负责。首先网站要让我自己觉得顺眼好看,我自己用得舒服,其次才是别人的浏览体验到底如何,或者我是否应该根据访客的需求进行改进。这么多年以来,我已经习惯了网站一直都冷冷清清。对我来说,有人评论是稀罕事,没人评论是再正常不过的常态,但因为我每天都会写blog,所以即便没有评论,我也要去那里去看一眼,但非常有可能一天就只看那么一眼。

回到搜索功能这个话题上,这一次我给网站配置的搜索是一个全屏搜索。因为我把链接做在版头的导航栏上,所以blog里任何网页都能到达,但是连接我做得有点隐晦,不是正常人所熟知的那种放大镜,所以要找到那个功能,可能会有点难。搜索很简单,就是点击一个像链接一样东西,然后就会有个全屏的搜索框,把需要搜索的关键字敲进去,回车就能得到结果。那个全屏搜索的界面很简洁,甚至没有提交按钮,只有右上角的一个X,作为关闭窗口。会不会有人不知道如何提交搜索内容,有没有人找不到右上角的X把这个搜索界面关掉呢?我不知道,但我相信,可能会有这种存在。这个炫酷的搜索功能是CSS和JS的配合,但是JS只用了非常简单的两条语句。我在CSS那里用了半透明的句子,从前这种东西在浏览器可能行不通,但现在无论是IE还是非IE,效果都很好。因为我是一个懒到了极点的人,所以在做这种全屏搜索的时候,我并没有加其它特效,比如说渐变。那的确很好看,但意味着要加载更多的语句。现在我已经很满意搜索界面的效果了,我把字体搞得很大。能摸到那个搜索入口,试用过以后,估计会觉得很爽,起码我自己是这么觉得的。

过去几天我就像一个少年一样,改进自己的东西,这种专心致志的感觉非常好。

2020-03
16

背景颜色

By xrspook @ 11:58:14 归类于: 烂日记

又花了一个下午的时间,我总算把超链接给搞定了。之前我就已经发现了那么个现象,如果我为一个图片做超链接,而那个超连接的默认的格式有悬停背景色的时候,无论我怎么整,图片下方都会有一条线,问题只是,那条线是粗还是细。昨天我遇到的问题是我需要在三个64*64像素的小图片上面做超链接。三个的图片完全没有文字,让人很绝望的无论我如何操作,那三个图片下面都有一个64*17的超链接方块,从颜色看来,那就是我在那个区域设定的超链接背景颜色。无论我怎么设置,分辨出来的东西还是会有那个颜色。之所以会是17,是因为我把文字的高度设定为16px。最终我终于记起了一条规定,如果之前你没有对某个元素设定规则的话,后面你可以重新为这个元素设定格式,但有些如果前面你已经设定了格式,后面,你又要推翻这个格式,并把它变成无格式的话,这是不可能的,除非我祭出大招“!important”。我在某片区域对超连接设定了背景颜色。但是在某些特定的情况之下,我又要把背景颜色去掉,单纯的background-color:transparent做不到的,但假如暴力的“!important”就可以。要去掉那个背景颜色,在不加“!important”的前提下,我把超链接的颜色设置为和那片区域背景颜色一致,所以颜色虽然存在,但就不会被看到了,但这么低端的做法CSS维护的时候就麻烦了。这个让我纠结了一个下午的事从前我也就结果,但因为太久远,已经忘记了。

昨天我匆匆把翻新过的COLOR3模板上线,感觉还不错。其实我也没改什么,主要是一些功能完善以及格式上的东西。我还专门找了一个色卡的网站去研究到底背景要用什么颜色。最普通的是浅灰色,但是那实在太普通了,然后我把黄色,橙色,粉色,蓝色,绿色,这几种很浅的马卡龙颜色都试了一遍,感觉有点怪怪的。说不准到底是为什么,反正就是和主体区域的白色混搭起来会有点刺眼。另外一个让我纠结的就是版头的颜色,之前我用的是纯黄色和纯橙色。这两个颜色加起来会让人有酸酸甜甜的热烈感觉,但是跟那些浅色混在一起,会莫名地让人觉得刺眼。以前模板的背景颜色是白色,同样也是橙色和黄色之所以没感觉刺眼,是因为我在所有板块外面都加了5px的边框,而这一次我把5px的边框全部都去掉了。之所以要去掉边框,是因为某一次,不知道谁留言说,我那些黑色的边框让人觉得辣眼睛。看到那条评论的时候,我马上实验在网页上实时修改掉那些边框,但只是单纯去掉边框,就像PS掉大熊猫的黑眼圈一样,怪怪的。当我对版头和背景颜色一筹莫展的时候,我顺手写了个纯黑色背景上去,出乎我意料,效果非常好,简直是让人有惊艳的感觉!外围黑色让核心部分的内容更加突出提神。因为高对比度,5px的黑色边框根本不需要存在。除了黑色以外,我也在网站上实时测试了其他颜色,发现用深色效果都挺好,所以我可以根据心情,随便换颜色。比如喜庆的时候换个纯红色。几乎可以这么说,只要是偏深的颜色都适合当我的背景颜色,因为主体区域我用的是鲜艳的颜色。

我不是一个美工,我总喜欢把东西弄得很整齐而已。真正的美工大概都很在乎意境,所以我永远都到达不了他们的境界。

2020-03
15

搞清楚comments.php

By xrspook @ 11:28:25 归类于: 烂日记

时间用在查找代码上去得特别快。感觉问题还没解决,时间就已经溜了。大体上看,就只有几个大问题需要解决,但实际上那些东西是完全没有头绪应该怎么去做的。昨天我花了一个下午的时间去处理comments.php。那个模板用来设定在哪里显示评论,哪里显示评论框,这其中还不包括评论框里的具体格式。看上去这是非常简单的事情,实际上,还是要考虑好几个问题,但显然,10年前,做那个模板的时候,我没有在comments.php这个问题上纠结,我顶多是往里面放了一些我设定好的CSS,所以那个部分的逻辑到底是怎样的,我没去修改,沿用的是某个模板。实际上我用的那个模板是不是标准的,我也说不准,因为我实在不记得当年我用作改造的模板是哪一个。因为通常WordPress的官方模板都非常简单,甚至可以说简单过头,于是你不知道该如何在那个的基础之上改造。大概之前,我的那个comments.php测试的时候,我只是考虑了一般情况。但除了正常情况,WordPress里还是会有一些极端情况,比如说某篇日志被设计为密码可见。无论是日志还是评论,在输入密码之前都应该是一片空白。那个模板就很神奇,日志部分已经是提示输入密码才可见,评论部分直接不显示就行了,但实际上,那里居然在会提示一次输入密码才可见,显然这就是画蛇添足了。让我纠结的时间最长的是嵌套格式的代码。因为正文部分我分为左边和右边,左边是文章的主体以及评论框,右边是边栏。这两个板块,一个是float向左,一个向右,一旦代码嵌套不合理,右边的边栏就会进入左边,又或者直接消失,也有可能是因为缺少结束嵌入代码,所以网页底部的东西飞上去了。要解决这些结构格式上的问题,就首先要搞清楚,那些php代码的开始结束位置。比如说某篇文章设定了不允许评论,但是对于已经有的评论,你还是要把它们显示出来,然后在最后一条的那里显示不许再评论。之前我根本没有测试过不许评论这个功能,显然当我在撰写日志的时候设定了不允许评论以后,之前的模板相应网页会出状况。而之所以这样,是因为默认的模板里面我只在if下面添加了足够多的格式结束标签,在else里面没写。不许评论就是else的部分,判定函数应该是评论是否开放,但实际上,不允许评论这句话从结构看来,应该是放在评论列表的最后。这样的风格才会统一,因为有些时候,不许评论之前可能文章已经有评论了,如果硬生生地把那放在允许评论就有评论框,不允许评论评论框消失并写着不允许评论,那样就太生硬了。

我花了几乎一个下午的时间去处comments.php,最后终于搞清了里面的逻辑关系。为了让那些if跟else,以及endif能更好地维护,我在上面做了很多注解,基本上每个的那里我都会写清楚了对应的是哪个,同时我也进行了缩进。那么以后找的时候就不会那么头痛。如果写代码的人用的是大括号,显然就不需要纠结endif对应谁。我也不知道为什么那个人不用大括号,在没有标注也没有缩进的情况下搞清那些东西真的好费神。

纠结不是毫无用处的,这会让我变得更强大。

2020-03
14

回忆曾经的BlogBus

By xrspook @ 13:53:01 归类于: 烂日记

用现在的眼光去审视从前的模板,我觉得连逻辑都出现错误了。还记得当年我选用BlogBus作为我的第1个blog,是因为他们相对于其它BSP来说非常自由,可编辑空间相对大。如果你足够厉害,你甚至可以写出你个人风格的网站,但是这样一来的话,对于新手来说就可能会变成白屏,又或者会满屏的错误代码,为了保证这种事不发生,所以实际上你是没办法弄到白屏的。现在让我回想起,那个时候到底是怎样的,我已经记得不大清楚了,现在也没办法把BlogBus找来研究一番,因为他们已经消失了。BSP消失了,意味着住在上面千千万万的人也被迫消失了。我认识blog,大概首先是从Blogger开始的,然后我知道了有些人会买个域名,然后把Blogger挂在自己的域名上面。昨天我突然有了个想法,要把从前我blog上的其它blog的文章也转为WordPress,分配一个子域名,挂在自己的服务器上。在BSP挂之前,我已经把自己所有日志都倒出来了。放在哪里,一下子我说不出来,但肯定能重新挖出来。前天,我翻出自己在WordPress上面的导出数据,是个XML文件。也就是说,上面只有数据,全部都是文字,又或者说是符号。除了我的东西以外就是一些标记我的东西到底是什么类别的标签。从开始用BlogBus,我就很注意过一段时间就备份一下,所以当我要离开,当我不在那里更新的时候,我当然要把自己的东西完整再备份回来。数据是可以备份的,但图片就不是那么回事了。BlogBus上面的空间很小,又或者你可以说没有空间。在那里写日志的日子,图片我几乎都是用外联的,是相对于BlogBus来说,那些外联图片死的更早。我已经不记得自己用过多少外联图片了,但可以肯定的是,他们挂了一批又一批。有些挂了是无声无息的,有些挂了会告诉你,请你把图片先备份下来。连yahoo.com.cn的邮箱都可以挂,我不觉得这个世界还有什么是不会挂的,但据说yahoo.com的邮箱还能用。

回到BlogBus的话题上。在我开始转用WordPress,我才明白到,实际上BlogBus上可控的东西很少,重要的核心部件,他们封装起来。你顶多只能用css去给那些核心部件化妆一下。当年我最喜欢干的事就是过一段时间就换一下背景图片。当我看到漂亮的壁纸,我就会换一个背景。还记得当年我花了好多时间去研究怎么才可以让文章显示在半透明的板块上,这样就能看到漂亮的背景。的确,用PNG图片就能做。但问题是那个滤镜在某些浏览器之下完全行不通。所以要看到后面漂亮的壁纸,我又要文章展示在磨砂的板块上,我只能在原始的壁纸上自己PS一层半透的图层,大小要刚刚和我的网站尺寸完全一致。浏览器的大小,网站展示的大小是完全不一样的事,就更不用说不同浏览器解释出来的东西经常差非常远。我在网站上放过漂亮的壁纸背景,在版头上放过flash,在主页里放过音乐,也曾经把鼠标图标换成别的……现在回想起来,那些都是些花俏的事,的确很好玩。但实际上,只是停留在好玩的层面上,玩一玩也就厌倦了。

随着自己积累出来的日志越来越多,我越发明白到自己blog的核心价值到底在哪里。如果一个blog只存在了几天,几周或者几个月。那只是玩玩而已,但如果过了几年,仍然活着。我会觉得,这肯定有意思。如果像我这样,居然活了十几年,而且每天都不间断。这简直就是神仙级的存在!人生没有多少个十几年。开始的时候我是个少年,现在,我仍然觉得自己是个少年,不过,经历过很多而已。

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