一种日历选择交互

需求描述:每月选择一天,大家聚会“吃饭”;可以进行批量设置(多选),比如设置每月第三周的周一吃饭,当月没有该日期的另外选择;也可以只设置下个月的(单选);最多可设置之后一年的时间; 我设计了一种交互,实际项目中,并未采用此方案,所以记录一下;下面是这种形式的截图,也可点击查看demo;点击顶部的周几,可以选中一列,能够很清晰第看出哪个月没有选中,方便补选; 实际项目中的方案比较恶心,将设置单月和批…

Read More

WordPress 站点的搭建和维护

记录一下搭建本站过程中,自己不懂或觉得重要的东西; 域名申请 域名是在阿里云申请的,.top后缀域名非常便宜;270十年;腾讯云没有找到.top域名;顶级域名可以转移到国外的域名服务商; 搭建 服务器是腾讯云的,Ubuntu系统,照着腾讯云提供的文档搭建,十几分钟就装完了,非常简单,也基本没遇到什么问题,文档十分详细了;文档地址:http://cloud.tencent.com/developer…

Read More

WordPress 文章中的代码高亮

文章中嵌入代码,默认是没有什么样式的,我用的主题是“Blog kit”,不过应该和主题无关,大部分应该都不会内置代码样式; 怎么能让代码部分有高亮效果呢?文章页面本身是一个HTML页面,引入高亮库不就行了… 之前用过 highlightjs,就用它来做高亮; 提前声明一下:我对 WordPress 并没有什么研究,刚用了十几天,各个文件模板的作用也只是猜测,下面的方法也不一定“正统”,只是最终效果…

Read More

WordPress 统计文章阅读次数

原始方案是页面每次请求,阅读次数在后台就+1了,这样出现一个问题:如果是爬虫抓取,或者简单的命令行加载某个 html 页面,阅读数也会增加;这种情况下,肯定不能让阅读次数增加,抓取页面的时候,虽然是返回了 HTML,但是爬虫并不会将页面内容展示出来,只是将返回页面当做字符串处理,截取需要的内容,这时候页面 JavaScript 是不会执行的; 利用爬虫抓取页面 JS 不执行的特点,修改为页面加载完…

Read More

WordPress 中添加 ajax 请求

上篇 WordPress 文章中添加了文章阅读次数;本篇添加一个点赞的功能;样式是下图这样,或者直接拉到文章底部进行体验; 该功能可以在一定程度上得到访客的反馈,所以试着加一下该功能;原理是利用上篇中提到的 meta 标签/元数据 进行数据的存储;该功能涉及的逻辑如下: 访客觉得内容有用,可以点个赞,点赞区域显示已点赞状态; 如果误操作,可以再点一次进行取消,点赞区域恢复默认状态; 用户对文章的点…

Read More

WordPress 分类目录排序

非插件实现分类目录的自定义排序,看上去是个很小的功能,但是改动起来花了大量时间; 如果是插件方式实现,可以用这个:Category Order and Taxonomy Terms Order,具体实现方案中的代码也是从这个插件中抠出来的: 基本思路就是在数据库中添加排序字段,然后在取值 sql 语句中按照这个字段排序,或者先取出数据再根据这个字段排序; 1、数据库中添加排序字段 需要修改的表名称…

Read More

JS识别图片验证码

很久很久之前(大概在五年前),我就在想,能不能在前端用js识别图片验证码,直到现在,这个功能也未实现,因为做了一半发现实现不了,就放弃了,这里只是记录一下当时的思路和方向; 后来整理到 Github 上了,源代码 和 DEMO 可点击查看; 当时的验证码比较简单,干扰因素比较少,字符也基本没有重叠,所以就想用Canvas对图片进行处理,与标准字符进行比较,找出最像的字符: 将图片转成黑白; 去除噪…

Read More

Python安装第三方模块报错

Win10下,通过源码方式安装第三方模块时,即 python setup.py install 这种形式;报下面这种错误: UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xd7 …… 原因:Python 默认编码是 ascii,但 Win10 系统下默认编码是 gbk;两边不统一,导致出错; 解决方案:…

Read More

我看加班

让你食屎不可怕,可怕的是你真吃。 –鲁迅我没说过。 –鲁迅 对于前端这个职业,我理解的正常加班: 普通:偶尔一天加2小时以上,这种情况,可能是当天要上线,可能是当天下午来了一个紧急的改动、bug修复,也可能是明天请假了,今天往前赶一赶进度;频率:平均的话,两周最多一次; 紧急:某个周末加一天,项目时间有点儿紧,因为自己错误评估了某个效果的开发时间,导致手里的工作有没法按时完成的风险;频率:每季度最…

Read More

JS 监听页面所有 ajax 请求

在开发Chrome扩展的时候偶然搜到的 原理非常简单,上面的代码是修改 XMLHttpRequest 原型上的 open 方法,在 open 方法中获取到当前的 xhr 对象实例,并监听 load/loaded 事件,这样就能在数据响应时获取返回结果了; 如果需要监听 send 方法,也是同理,可以在 send 方法中获取到一些请求的信息;或者在发送之前修改一些数据、请求头之类的; 最早想过这个问…

Read More