存档

文章标签 ‘Wordpress’

Google Syntax Highlighter 与WordPress – tinyMCE 的兼容性

2010年3月24日 1 条评论

Google Syntax Highlighter 与WordPress的兼容性

Google Syntax Highlighter 与 tinyMCE  的兼容性

当我们在WordPress中写日志,要插入一段php代码的时候,在HTML视图下,可以如下

<pre name="code" class="php">

code....

</pre>

但当我们恢复到可视化的时候,代码就会变成

<pre  class="php">

code....

</pre>

此时, Google Syntax Highlighter 便识别不出来了。

因为 Google Syntax Highlighter 是通过 pre的 name 熟悉来识别的。

出现这样的情况,是因为 WordPress 采用的 tinyMCE 编辑器。而 tinyMCE编辑器默认 给 pre 没有添加 name 属性。

所以,我们只需要更改下 tinyMCE的初始化部分的代码即可。

在 wp-admin/includes/post.php 里面

找到如下代码

$initArray = array (
		'mode' => 'specific_textareas',
		'editor_selector' => 'theEditor',
		'width' => '100%',
		'theme' => 'advanced',
		'skin' => 'wp_theme',
		'theme_advanced_buttons1' => "$mce_buttons",
		'theme_advanced_buttons2' => "$mce_buttons_2",
		'theme_advanced_buttons3' => "$mce_buttons_3",
		'theme_advanced_buttons4' => "$mce_buttons_4",
		'language' => "$mce_locale",
		'spellchecker_languages' => "$mce_spellchecker_languages",
		'theme_advanced_toolbar_location' => 'top',
		'theme_advanced_toolbar_align' => 'left',
		'theme_advanced_statusbar_location' => 'bottom',
		'theme_advanced_resizing' => true,
		'theme_advanced_resize_horizontal' => false,
		'dialog_type' => 'modal',
		'relative_urls' => false,
		'remove_script_host' => false,
		'convert_urls' => false,
		'apply_source_formatting' => false,
		'remove_linebreaks' => true,
		'gecko_spellcheck' => true,
		'entities' => '38,amp,60,lt,62,gt',
		'accessibility_focus' => true,
		'tabfocus_elements' => 'major-publishing-actions',
		'media_strict' => false,
		'paste_remove_styles' => true,
		'paste_remove_spans' => true,
		'paste_strip_class_attributes' => 'all',
		'wpeditimage_disable_captions' => $no_captions,
		'plugins' => "$plugins"
	);

这个 $initArray 变量就是用来初始化 tinyMCE的。我们只需要给其添加上一个变量 即可:

‘extended_valid_elements’ => “pre[name|class]”

添加后 的完整代码如下:

$initArray = array (
		'mode' => 'specific_textareas',
		'editor_selector' => 'theEditor',
		'width' => '100%',
		'theme' => 'advanced',
		'skin' => 'wp_theme',
		'theme_advanced_buttons1' => "$mce_buttons",
		'theme_advanced_buttons2' => "$mce_buttons_2",
		'theme_advanced_buttons3' => "$mce_buttons_3",
		'theme_advanced_buttons4' => "$mce_buttons_4",
		'language' => "$mce_locale",
		'spellchecker_languages' => "$mce_spellchecker_languages",
		'theme_advanced_toolbar_location' => 'top',
		'theme_advanced_toolbar_align' => 'left',
		'theme_advanced_statusbar_location' => 'bottom',
		'theme_advanced_resizing' => true,
		'theme_advanced_resize_horizontal' => false,
		'dialog_type' => 'modal',
		'relative_urls' => false,
		'remove_script_host' => false,
		'convert_urls' => false,
		'apply_source_formatting' => false,
		'remove_linebreaks' => true,
		'gecko_spellcheck' => true,
		'entities' => '38,amp,60,lt,62,gt',
		'accessibility_focus' => true,
		'tabfocus_elements' => 'major-publishing-actions',
		'media_strict' => false,
		'paste_remove_styles' => true,
		'paste_remove_spans' => true,
		'paste_strip_class_attributes' => 'all',
		'wpeditimage_disable_captions' => $no_captions,
		'plugins' => "$plugins",
		'extended_valid_elements' => "pre[name|class]"
	);

保存后 再试试吧。
Google Syntax Highlighter 就与WordPress完美兼容了。
Google Syntax Highlighter 就与tinyMCE完美兼容了。

wordpress url 规则

2010年3月22日 没有评论

近日将原来的博客系统升级到了 WordPress 。这期间涉及到了原有内容的导入,原有tag的导入,原有 URL规则的重定向。

原来的URL是 ./Ariticle/2009-05/2009-05-31-12.html

现在的URL是 ./wordpress url规则/ 这样的。

这要如何重定向呢?

如何将原来url转为新的url呢? 苦思冥想之后,在 ./Ariticle/2009-05/2009-05-31-12.html 这样的页面,将文章标题进行编码,然后做一次跳转。 本应该做301跳转。但原来的文件是纯静态的。于是在头部加了一段刷新跳转的代码

<meta http-equiv=”refresh” content=”0;URL={location}” />

然后将 {location} 替换成编码后的 url 即可。

但新的url要符合WordPress的规则。

于是查找WordPress是如何处理url的,后来找到了。

WordPress对url进行了三次处理,存入了数据的 guid 字段。

这三次针对url的处理分别是

1、替换掉 引号,等于号。

$location = str_replace(‘”‘,”,$location);

$location = str_replace(‘=’,”,$location);

$title = str_replace(‘?’,”,$title); //英文的问号

$title = str_replace(‘?’,”,$title); //中文的问号

2、addslashes()

3、urlencode() .

基本上就是这三个针对URL的处理了。

群体博客,越来越强大

2009年1月14日 没有评论

记得好像是去年上半年有个群体博客(里面大概有飞扬新锐)的人问我,是否愿意加入该写作团队。我以自己写作水平有限为由婉拒了人家邀请。现在回头想来,并非谦虚二字如此简单的“托辞”。

原因何在?

其实,从去年下半年开始使用Wordpress程序写博客增多后,我才逐步找到点写作的感觉。之前更多的是天马行空地不断往“灵感中心”靠近,随着给大声和个别媒体写点文章,才更受些鼓舞(人是需要鼓励和奖励的)。

那时候,无论是对用过一段时间的zblog,还是正热乎着的WordPress,我都无法忘却个人与博客之间的纽带。对于群体博客,我从技术感情(或者说是个人自我意识)来说是很难接受的。因此,即使是一个很符合我职业身份的群体博客的写作邀请,我也是非常不规律地转发了几篇自己独立博客的文章而已。

其实,回头看看自己前两个独立博客的使用过程,无论是买域名、买空间、上传程序、升级、维护等,就是一大堆的事情,花费小小金钱不说,精力的付出也是一笔不小的开支。说到底,写博客的目的是什么?看看自己在新浪开的那个专门用于刊载或者转载别人东西的博客流量和转载量不断下滑,关于独立博客的玩法,还真需要好好思索一番。

从技术手段上来说,独立博客在维护方面几年没有进步,主题修改至今仍是步履维艰,胆战心惊。也正是因为这一原因,我突然扭转了对独立博客自主权的重视。

另外还有一个原因,我偶然通过李梓新先生发表在大声的文章链接到了icolumn爱专栏,感觉这里以年轻知识分子,媒体人居多。博客的关注点也是现在年轻人有必要了解的一些社会、生活和文化的元素,我就不经意间动了想加盟的想法。是否冲动我不完全确定,但是下面有两个背景可以说说。

首先,有人会提到1510部落是个群体博客的代表。我有个朋友,也是我的作者,他自己的博客维护得很好,订阅量很大,但是他也到1510去发文章。这说明群体博客对于写作者的吸引力是很大的。

其次,各个专业领域内的意见领袖已经成为主导网络民意、社会民意的驱动力,而群体博客因其精英化、聚集化、偶像化,而成为比Keso这样的媒体性独立博客具有更加鲜明的网络民意代表的新现象。

说道这里,大家可以展开想一下,搜狐博客重金征集群体博客加盟是一个什么动因呢?

当然,还有一个更容易说清的理由。那就是与对个人博客的经常性维护更新来比,群体博客每个成员能更加专注于写作和交流,同时只要记得及时对文章保存、备份,就不会有其他的包袱和担忧了。

团结产生力量。群体博客带来新意。网络民意代表的进一步大量出现是否会带来更多的新动向和引发新思考呢?

博客与媒体的较量,谁输谁赢

2008年10月26日 没有评论

    23日是Wordpress Camp 2008北京会议的日子,作为国际主流的独立博客(团体博客)应用程序,Wordpress的创始人之一莅临北京,Automattic的三位成员参加,可见重视程度了。自从出现了博客,自媒体好像有了可以诠释的最好载体,无论是最早开始的博客网,还是后来三大门户以及本文重点谈到的独立博客。

   其实自媒体的概念我至今也没有搞清楚,好像网络上面也没有给出一个标准答案。

   下面先简略回顾一点互联网历史,自从新浪成功推出名人博客系列,尤其是老徐和潘总的博客带来巨大点击量后还接连出版了博客书(书的受关注程度和销量这里不讨论),让人眼睛一亮,原来博客这么厉害啊!

   不过,几年下来,博客已经不再成为网民的关注中心,最近有了校内网,开心网,还有更多的小圈子似的SNS社区,这是拜facebook引发新一轮互联网Web2.0热引起的,国内康盛创想的开源SNS程序开发后更是推波助澜,貌似建个sns社区比上传个类似Wordpress的博客程序不复杂到哪里,但关键是,跟博客主要围绕写博客人一人写作不同的是SNS具有更多功能,可以随机聊,跟进者多而且随便,可以正儿八经的写篇文章(博客叫日志,SNS也用了日志这个词),依然可以参与回复,还有很多好玩的类似webgame的游戏,发图片,分享网络各种信息……,的确是乱花渐欲迷人眼,谁还有心思去看博客呢,除非有人会用RSS订阅器而且还玩的好,估计能增加点看博客的乐趣,也难怪有人说SNS就是升级版的博客与社区结合体。

   再有,传统媒体自身也在整合,纷纷建立网站、社区,争取至少别被新媒体抢了太多风头,毕竟自己媒体身份名正言顺,有内容——这是媒体资源啊!

   可见,博客在更新形式网络工具面前逐渐失去了吸引力,也在传统媒体的觉醒反击下显得更加势单力孤,即使有类似博客圈,团体博客,也依然无法解决包括资金,资源,管理等作为媒体的必备要素。

   如此说,真如叫好不叫座的《财富博客》一书那样,博客走到了生存发展的边缘,甚至与自媒体也不相关了吗?

   我认为不必如此悲观,君不见开篇我就提到了,尽管目前从会议官网看,北京会议仅有130人正式报名,甚至有人可能会前退出。但是从主办方超越以往的会议组织力度和安排之细致,演讲嘉宾的遴选与邀请,参会者的身份和写作能力来说,这都是一次独立博客写作者的盛会,原因有三:

   第一,非媒体,非官方机构做到组织有序,尽管小有纰漏(比如如何确认自己参会身份)也顺利及时解决,对会议的任何问题甚至会议组织者任何行为都通过 邮件和网站事无巨细的发给参会者,这是一个真正透明的,民主的,服务跟踪到位的会议组织过程,这样的严谨有序说明独立博客人已经明确了自身定位和整个媒体圈氛围,令人对会议成功举办期待不已;

   第二,据笔者观察参会名单,基本没有类似三大门户,行业门户那样的博客写作者,基本都是采用wordpress程序的“草根”写作者,可能是跟互联网关系较密切的人为多,当然也有笔者这样的非IT人,这个群体是互联网时代主要阅读方式:网页阅读,手机阅读的主力军,他们的技术,思想在引导着中国下一个十年,二十年的更大范围群体的文化消费方式与生活形态,他们人数少,但是自成小圈子(说小其实很客观,君不信可以去鲜果等阅读器查看一下订阅数量),比如媒体人出身的飞猪,民间新闻媒体代表之一的爱枣报,有名的群体博客煎蛋,IT圈粉丝不少的小郭……

   第三,因为wordpress技术的前沿性,因为中外文化的交融性,因为互联网的无限可能性,我们不能不对此次大会充满期待。

   说回来,无论博客尤其独立博客(群体博客)是否有所谓自媒体甚至媒体的诠释或者标签,博客都不会淡出人们视线,更不会衰亡,正如人们开始反思SNS 如何突破,超越简单页面娱乐化一样,我们更多的是要给写博客人(很多人的经验是写作三年是一个坎儿)更多关心与鼓励,给这个越发超载的信息世界留一个小草坪,小花园。

   这是一个很好的梦,让我们圆梦吧。

【作者简介】

王实,出版社编辑,习惯用老才和书呆子等做名字写东西,目前关注传媒业的变革。

分类: 趋势杂谈 标签: , ,