当前位置


James Qi的博客

2017年武汉马拉松纪实

James Qi 在 2017年5月17日 - 00:16 提交

  2016年首届武汉马拉松举办得不错,从跑者的口碑上赢得赞誉,所以2017年的武汉马拉松报名特别火爆,2万个名额有超过10万人报名,中签率非常低。

  幸好有同学找业内朋友帮忙,让我和儿子都顺利中签了。本来准备一起报名全程马拉松的,可老婆说我全程跑得很吃力,而儿子没有跑过那么长距离,坚决反对,最后就一起报了半程比赛。

  还有在福州的大学同学幸运中签了,机票、酒店都准备好了,可惜临时脚崴了无法来参加,实在是太可惜了,本来约好些同学一起聚聚的,后来也减少了来的同学。 

  

2016年杭州马拉松纪实

James Qi 在 2017年5月16日 - 23:35 提交

  去年开始关注、开发微信小程序以来,工作上确实忙多了,另外去年公司的经营业绩也不佳,也影响跑步锻炼的心情,所以这半年相对以前跑步少多了,连去年参加的杭州马拉松、今年参加的武汉马拉松都没有像以前参加完一次马拉松后都写一篇博文记录。

  最近几个月因为微信小程序暂无盈利模式,所以把工作重点放在了amp/pwa等前端技术上面,一直在忙这些事情,不过跑步也还是没有中断,一直坚持着,除了杭马、汉马以外,还多次参加武汉越野组织的比赛,例如孝感双峰山、黄陂姚家山、阳新七峰山、市内东湖沿途小山等。

  现在把杭州马拉松、武汉马拉松的记录简单补一补,放几张照片。

  先是去年的杭州马拉松,一转眼儿子来杭州上学已经是大四了,我也是第四次来跑杭马,与儿子一起报名参加半程比赛,我抽签有幸中了,但儿子却没有中签,想了很多办法,写了好些邮件恳请组委会成全我和儿子四年同跑四届杭马的故事,也没有搞到名额。

  就在已经失望的最后时刻,却有武汉的一位跑友说他有名额因工作不能去可以让给我儿子,这位跑友是以前参加扬州马拉松的路上认识的一位小伙子,95年的,和儿子一样大,在平安保险工作,本来是参加赞助商活动得到一个赞助商名额,却因为工作安排无法去杭州,正好给我圆了和儿子一起参加杭马的梦,呵呵。

WebApp中放置AdSense广告的问题

James Qi 在 2017年5月9日 - 10:33 提交

  这两年我们尝试了一些Web App,不过没有特别的流量也没有太关注广告的问题,近期用Drupal+AngularJS+Ionic开发的WebApp中让同事放置了AdSense广告,与普通html的Web页面放置广告略有不同,麻烦一点。

  办法是修改webapp目录下的index.html,加入adsense广告代码到顶部占100px高度,再修改需要修改的js页面,顶部留出100px高度,这样adsense广告就始终显示在顶部,不会被遮盖。

  例子请看:新华字典Web App查号吧Web App等。

自由标签:

网页meta数据中包含单引号、双引号的问题

James Qi 在 2017年5月9日 - 10:02 提交

  要做到对搜索引擎友好,一般都应该在页面中设置Keywords, Description这样的Meta数据,我们的Drupal网站中很多都是用PHP来实现的,代码如下:

$meta="
​<meta name='keywords' content='$keywords' /> 
<meta name='description' content='$description' /> 
";
$element = array(
  '#type' => 'markup',
  '#markup' => $meta,
);
drupal_add_html_head($element, 'meta');

  但是发现在keywords, description里面包含有单引号时候会让html错误,特别是近期添加amp版本的时候,google webmaster tools或者amp validator会报错。

  这时候可以这样修改:

自由标签:

Drupal模块实现同一个网站不同内容类型使用不同主题皮肤

James Qi 在 2017年5月9日 - 09:51 提交

  我们自己运营的网站对于界面的要求不是太苛刻,一般都是一个Drupal网站使用同一个主题皮肤,最近在为用户开发一个项目的时候用到Drupal,希望不同的内容对应不同的显示界面,我先是建议同事可以在page.tpl.php中添加一些判断来实现,但要动代码比较麻烦,后来找了一个现成的Drupal模块:Content Theme,可以实现一下功能:

  • 分配一个主题给所有内容类型(覆盖系统默认主题)
  • 分配一个主题给指定的内容类型(覆盖给所有内容类型指定的主题以及系统默认主题)
  • 分类一个主题给指定的内容节点(覆盖内容类型主题、所有内容类型主题以及系统默认主题)
  • 允许在创建、编辑页面的时候使用与查看页面不同的主题
  • 详细的权限控制
  • Drupal新手容易上手

  从官方网站看这个模块被使用的网站并不算多,不过对于有这种特别需求以及不想自己修改代码的情况下还是有用的。

 

自由标签:

用Drupal+AngularJS+Ionic开发的WebApp例子

James Qi 在 2017年5月8日 - 17:33 提交

  去年开始做微信小程序以后,对前端技术开始有了一些了解和兴趣,今年3月去北京参加Google AdSense交流会后对PWA也有进一步了解并准备进行尝试,公司招聘了专门的前端技术人员来进行开发,还参加了北京亚艾元公司在上海办的Drupal + Angular JS + Ionic开发培训,经过一段时间的摸索,也做出了几个例子:

  新版一把刀实用查询中的例子:

Drupal网站添加百度MIP支持

James Qi 在 2017年5月5日 - 17:22 提交

  前段时间花了不少时间来为Drupal网站添加AMP版本,使用了Drupal的AMP支持模块和模板,还自己进行了一些修改,实现了Drupal网站的全站增加对应AMP版本

  而去年开始就知道百度也有一个对应的MIP计划,我今年去北京参加Google AdSense研讨会的时候与其他发布商交流,得到更多MIP方面的消息,在AMP版本告一段落的时候也准备试一试MIP。

  要自己实现AMP版本比较麻烦,所以我用了Drupal现成的AMP支持模块、模板,同样要添加MIP版本自己写代码也是不容易,于是我想到在AMP支持模块、模板的基础上来修改,今天就这样试了试,还算顺利几个小时摸了一个初步的出来,下面是步骤:

自由标签:

Drupal实现带模板的调查问卷功能

James Qi 在 2017年4月27日 - 21:49 提交

  我用Drupal很多年了,但以前一直都是用在我们自己运营的网站,给客户开发的项目都还是公司技术部人员使用的其它技术(例如Java, .Net, asp, PHP等),今年初在商议工作的时候也计划把Drupal用于客户项目。

  前段时间做一个客户要求的微信小程序项目,就让同事用Drupal搭建的后台,用Views生成Json数据提供给小程序调用,只是一些公司新闻等展示型内容,算是比较简单,但涉及到用户希望所见即所得编辑器中可以直接上传文件(后来采用了百度的UEdit模块)、希望文章可以调整排序(后来采用增加排序字段解决)等,也是费了一些波折,另外,Drupal一开始使用确实没有国产CMS容易上手。

  再后面的客户项目我也没有强调要用Drupal,让公司技术人员自己选定开发平台。不过现在遇到一个客户需要做调查问卷系统中需要能保存和调用预设模板,其它CMS中没有找到现成的,自己开发虽然从原理上可以实现,但开发工作量肯定还是有不少的。我今天花了一些时间来查找、测试,算是找到用Drupal的解决办法。

自由标签:

用PHP程序以及专业编辑器进行正则表达式查找及替换

James Qi 在 2017年4月24日 - 22:34 提交

  在用Drupal搭建网站的时候,有时需要用到一些复杂的查找及替换,只用str_replace是无法做到的,这时需要用到正则表达式,有这样几个PHP函数可能会用到:

  • preg_replace  正则替换函数
  • preg_replace_callback 正则替换回调函数(这个超强功能是最近遇到复杂情况才用到几次,可以对查找匹配出来的内容进行函数转换再替换)

  更多PCRE 函数

页面

订阅 RSS - James Qi的博客