还没有评论.
还没有引用.
Google Wave从入门到进阶
2009年11月2日 - 3:07 下午
标签: Google, Google Wave, Wave, 谷波
分类为 业内资讯 | 20 comments
伴随Google Wave(本文简称:GW)内 测大门的敞开,有些读者可能已通过朋友们的提名,拥有了GW的帐号,并且切身体验过GW,但这个传说中的Wave,真的令大家都有很好很强大的感觉吗?对 于新手而言,它就像个充满英文的空架子,不知从何下手,这篇文章将详细的讲解如何合理有效的使用GW,还没拿到帐号的读者们也可以提前学习下GW的操作知 识。
Google Wave到底是什么?
官方简介翻译:
Google Wave是一个实时交互的交流及协作在线工具,你可以用富文本格式、图片、视频、地图和更多的元素进行交流。
每个Wave就是一段与多个参与者进行的对话。参与者指的是那些加入每个Wave讨论和参与内容协作的人,参与者在加入的Wave中,可以在任何时 间、地点回复,他们还能编辑内容,并且添加更多的参与者进来。Wave还提供了回放功能,可以看到在加入的Wave中,什么时间做了什么改动。
另外大家还可以通过阿禅的文章《Google Wave试用体验与Google的野心》,系统了解下Google Wave的全貌,本文以实用操作为主,所以不做插图展示GW的外观。
Google Wave的入门操作
1.创建
点击界面上的New Wave按钮,创建一个新的Wave,在右上出现的联系人窗口,添加你想邀请进来的用户,或者从左下的联系人列表,拖拽头像到Wave顶端,进行添加用户。
2.回复
■ 选取Wave中一个对话框后,点击Wave工具栏上的Reply按钮。
■ 双击想要回复的文字,在出现的工具钮上选择Reply。
■ 将鼠标移动到对话框的下边线,会看到蓝色的横线,点击即可直接在下面回复。
■ Shift+Enter:是回复并完成输入的快捷键。
3.阅读
点击空格键,可以按照Wave添加修改的顺序,逐个阅读Wave里每个对话框中的内容,甚至还可以穿越到下一条有未读内容的Wave。
回放功能中也可以用空格,逐步阅读。
4.排版
界面上的窗口都是可以调整的,把鼠标放在边线可以拖动调整宽度、高度,点击还原、最小、最大化按钮可实现相应功能。
同时浏览4个Wave:排版的最大好处就是扩大你的使用面积,按住Ctrl(Mac上是Command ),再点击一个新的Wave,它就会独立于正在浏览的Wave,并列展开在屏幕上,将联系人等窗口最小化,最多支持同时显示4个Wave窗口。
5.存档和静音
Archive(存档):将Wave移出Inbox,直到有人在里面更新内容时,它会再回到Inbox。
Mute(静音):将Wave移出Inbox,直到有人在里面对你进行private reply(个人回复),它会再回到Inbox。
取消静音:把它拖拽回Inbox即可取消。
Google Wave的进阶使用
1.搜索
■ 公共Wave:就是世界各地创建的公开Wave,每个人都可以看到并参与进来。在搜索框中键入 with:public 就可以看到这些实时动态滚动的Wave。
■ 中文公开Wave:在搜索框中键入 with:public lang:zh 就可以看到中文的公共Wave,其中有些条目比较多的Wave要慎入,否则可能会卡住甚至造成出错……
■ 用Tag缩小搜索范围: 比如需要搜索以kenengba为标签的内容,可以在搜索框中键入 with:public tag:可能吧,这样就可以看到公共Wave中包含可能吧标签的Wave了。
2.创建公共Wave
也就是上面提到的那种面向全球公开的Wave,也是一种让同语种的人找到彼此的一种方式,方法很简单,添加 public@a.gwave.com 到联系人列表。(注意:每个字母和符号都不要错)
虽然添加时,上面会说”The account doesn’t exist.” 但请无视这句提示,直接点击回车添加。然后再将这个机器人,添加到你想要公开的Wave中即可。添加完会出现一个黄条提示:”[not-yet-implemented-user] gave everyone access.“,就说明这个Wave已经公开。
3.关于公共Wave的补充
已知的一个BUG,就是上面添加那个机器人,会在重新登陆Wave后,从联系人列表中自动消失,目前只好在需要的时候重新添加它。
当你将一个Wave公开后,它就不能再变为私有的Wave,所以公开之前请三思。
对于已经公开的Wave,所有参与者都有编辑权限,也就是说谁都可以更改里面的内容,甚至删除,虽然”Playback(回放)”可以看到是谁做的改动,但如果被删还是很麻烦,这就需要大家的自觉了,希望大家能看看这个中国网友翻译的Wave公约(在Wave中搜索with:public title:Google Waves公约(协作翻译)讨论区),共同维护一个好的使用环境。
4.添加朋友
因为Wave是个新鲜东西,所以刚进入Wave时,联系人列表上的朋友一般较少,都是拥有Wave帐号的G Talk联系人,为了扩大交流的范围,可以通过下面的方式添加朋友:
■ 找已经有Wave帐号的朋友:点击联系人列表上的加号,将TA的帐号复制上去,点击Submit。
■ 出现在Wave中的朋友:在你参与的Wave中,点击顶部朋友的头像,选择Add to Contacts。
Google Wave 快捷键列表
原版快捷键列表(在Wave中搜索with:public title:Keyboard Shortcut Cheat Sheet tag:help)由这些热心的Wave网友整理而成──Kang [...]
申请一个自己的Gravatar头像+给WordPress模板加入Gravatar支持~
Gravatar(个人全球统一标识)是globally recognized avatar(直译为”全球标识的头像”)的缩写。它可以在一切支持Gravatar的场合显示你的专属头像,就是能让你在发布评论的时候可以使用专属头 像,它将和你填写的email地址一一对应,WordPress2.5以上版本,已经集成了Gravatar头像功能。具体申请步骤如下:
◆登陆http://en.gravatar.com/site/signup,填写注册邮箱之后,点击”Signup”按钮;
◆到注册的邮箱中查收邮件并点击其中的链接确认;
◆在弹出页面中填写相关内容;
◆点击页面中部框框下的链接”Add one by clicking here!”;
◆如果要从自己的本地硬盘上传一张头像,那就点击第一个链接”My computer’s hard drive”上传头像;
◆进入Crop页面,滑动滑块选择你需要的照片区域后点击页面下部的”CROP”按钮;
◆给自己的头像评定级别。G 普通级、PG 辅导级、R 和 X 为限制级,一般不黄不暴力的选G就行了;
◆点击页面中的头像照片,在弹出的小页面里点击”Confirm”钮确认;
◆到支持Gravatar头像功能的网站发表评论试试吧,要想改头像的话只需要到http://en.gravatar.com/网站里登陆后修改即可。
给WordPress模板加入Gravatar支持~
WordPress 2.5开始就已经直接将Gravatar这个全球统一头像服务的API包含在里面了,然而vifix.cn使用的模板是为WP 2.1设计的古老模板,自然没有调用到这么高级的东西,所以今天加上了,效果嘛,见blog文的评论区吧~
只要在模板的comments.php加入:
<?php echo get_avatar( get_comment_author_email(), ‘60′ );?>
(这其中,60为生成的头像的尺寸)
详细的可以参考这个文档:http://codex.wordpress.org/Using_Gravatars
上传自己的gravatar头像可以去http://www.gravatar.com
话说回来,目前在IE6下面的显示还有点奇怪,不高兴管了 orz
这年头,IE8都已经正式发布了 – v -
首先在主题文件夹中找到comments.php,在其中查找<?php comment_text() ?>,并在之前加入<?php echo get_avatar( $comment, 50 ); ?>即可,50是头像的大小,可以更改.
比如我用的这个主题:<div class=”obsahk”><?php echo get_avatar( $comment, 50 ); ?><?php comment_text() ?><?php edit_comment_link(’编辑’,’<p>’,’</p>’); ?></div>
29bcb455
原创文章,转载请注明: 转载自广陵散 `s 博客
本文链接地址: 申请一个自己的Gravatar头像+给WordPress模板加入Gravatar支持~
Post Footer automatically generated by wp-posturl [...]
wordpress在win主机成功开启伪静态,mail待开启
win主机成功,通过N天努力,伪静态通过【win主机 伪静态 】这篇教程也实现了【预览:我的博客】
最近使用wordpress建立了这个八喜博客,首先国外的程序环境要求和国内的好多差异,采用ISAPI_Rewrite后怎么也无法静态化,静态化成 功后网址中必须带有index.php,本来无法去掉也无所谓;当文章翻页的时候发现了问题,主页的分页到第二页第三页….都无法打开,原因是地址中 竟然多了一个index.php(例如:index.php/index.php/pag这样了,url完全错误了),许多人说环境问题,无奈下开始考虑 重新来考虑静态问题,分析思路采用Discuz论坛哪种伪静态方式比较不错,那么为什么discuz可以,却在wordpress不可以呢,功夫不负有新 人,昨天晚上调试成功了,和大家分享一下。
首先你的服务器加载了ISAPI_Rewrite,Discuz如果您正在使用伪静态,那么就不要考虑再次加载了,在wordpress官方许多人提出了 需要单独加载专用的Rewrite,其实不需要,在国内的文章copy太严重了,找了一天,发现重复的起码有9.6成都同出一辄,没有一点正确性,不能使 用,无奈之下去国外搜索到后,建立了httpd.ini,网站成功完成了静态,永久链接规则也可以自行随意根据喜好设置,这是国内那些描述中还没有做到 的,本站就是采用的这个规则,在永久链接内也可以随意修改自己的喜好网址样式,同样seo目的也达到了,如果您在使用wordpress的时候还在被前边 描述的问题困扰,那么赶快行动吧。
备注:
1、在你使用ISAPI_Rewrite后,无需再使用cos-html-cache静态生成插件,因为没有这个必要了。
2、ISAPI_Rewrite国外网址:http://www.basilv.com/psd/blog/2 … dpress-20-under-iis
规则如下:
[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule [...]
wordpress固定链接设置
固定链接其实就是修改 WordPress 目录、页面或者帖子的超级链接也即 URL 的形式,这里的固定既可以理解为动词也可以理解为形容词。只有通过固定链接,你才能找到这个目录。由此可见,固定链接在博客中的重要性。对于wordpress 用户而言,掌握一下一些固定连接的设置参数和技巧,则能够让别人更好的找到你的博客。
永久链接设置参数:
参数不多说,很死的东西,按照WordPress官方文档列表如下:
1. %year%
基于文章发布年份,比如2007;
2. %monthnum%
基于文章发布月份,比如05;
3. %day%
基于文章发布当日,比如28;
4. %hour%
基于文章发布小时数,比如15;
5. %minute%
基于文章发布分钟数,比如43;
6. %second%
基于文章发布秒数,比如33;
7. %postname%
基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
8. %post_id%
基于文章post_id,比如423;
9. %category%
基于文章分类,子分类会处理成“分类/子分类”这种形式;
10. %author%
基于文章作者名。
将上述参数进行组合,即可得到wordpress的固定链接形式。网上常见的几种设置方法:
* /%year%/%monthnum%/%day%/%postname%/
* /%year%/%monthnum%/%postname%/
* /%year%/%monthnum%/%day%/%postname%.html(建议)
* /%year%/%monthnum%/%postname%.html
* /%category%/%postname%.html(本站用的就是这种形式)
*/%postname%.html(推荐形式)
* /%post_id%.html
永久链接设置技巧:
一、不要让日期出现在固定连接链接里面
这基于两个方面的考虑。一是如果数字出现在固定链接里面,等于提醒搜索引擎,这是很旧的内容了,没必要再爬一遍了。另外一个原因是,假如你要修改文章的日期重新发布的话,链接地址就变了,也就是意味着你的反向链接,PR 等等都没有了。
二、不要让分类的链接出现在固定链接里面
这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷:一是一篇文章如果选择了多个分类的话,则会出现多个链接地址,这很容易造成因为重复内容而被搜索引擎惩罚;二是有可能会造成关键词堆砌而被搜索引擎惩罚。
三、链接不要过深
这一点经常看到。很多wordpress 用户的固定链接是年/月/日/分类名/文章名。这种过于深的固定链接对搜索引擎是非常不友好的。
四、不要让中文字符出现在固定链接里面
虽然现在的搜索引擎已经能识别URL地址里面的中文字符,但无论是从美观上,还是从wordpress 优化的角度来看,都是非常差的。
Win服务器下设置WordPress固定链接伪静态
只要主机支持自定义404页面,无需安装插件,就能让Win主机像Linux 那样,方便使用WordPress的固定链接为静态化地址格式。
<?php
header(“HTTP/1.1 200 OK”);
$ori_qs = $_SERVER['QUERY_STRING'];
$pattern = ‘/[^;]+;[^:]+://[^/]+(/[^?]*)(?:?(.*))?/i’;
preg_match($pattern, $ori_qs, $matches);
$_SERVER['PATH_INFO'] = $matches[1] . ‘?’ . $matches[2];
$_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
$query_args = explode(‘&’, $matches[2]);
unset($_GET);
foreach ($query_args as $arg)
{
$the_arg = explode(‘=’, $arg);
$_GET[$the_arg[0]] = $the_arg[1];
}
include(‘index.php’);
?>
设置固定链接(Permalink)伪静态步骤:
1. 将以上代码保存为 404.php,并上传至主机根目录。
2. [...]
如何升级 WordPress
如何在五步内升级
如果您想要更确切详细的说明,请阅读详细升级说明!!!
升级 WordPress 需要一点技巧,但是别害怕,本指南将帮助您快速升级您的 WordPress! 这个过程将为您提供一些指导以避免灾难的发生 (其他软件提供商可能把这种灾难称为称为“用户错误”)。
开始前,您需要明白 WordPress 自身上很容易升级的。为了保留您对 WordPress 的定制,本指南才是一个五步的过程而不是三步。您完全可以相信这是一个 5 分钟的过程,但是如果您是一个资深的博客,备份数据和文件的过程可能会让整个过程略微长一些。
让我们假设您的 Blog 的网址为 http://aq520.com/wordpress/。
安全完整的升级步骤如下:
步骤 1: 备份数据表和文件,包括 .htaccess
这里的目标是保存数据,和您的定制。
步骤 1a: 保存数据
使用 phpMyAdmin 或其它主机商提供的合适的工具,备份 WordPress 使用的数据库。
步骤 1b: 保存定制
根本上说,就是备份您自从安装 WordPress 标准版本以来曾经修改或添加的文件。使用一个 FTP 工具下载服务器上位于 WordPress 安装目录内的所有文件的一份复本,包括 .htaccess 文件 (如果您曾经建立过它)。至少要备份 .htaccess 文件,您当前主题使用的文件 (位于 /wp-content/ 目录),包含您上传的图片和文件的 /wp-images/ 目录,任何您修改过的 WordPress 核心文件,以及包含数据库信息的 wp-config.php 文件等。
步骤 2: 禁用插件
在插件管理界面禁用所有您使用的插件 ( http://aq520.com/wordpress/wp-admin/plugins.php )。某些插件可能无法工作在新版 WordPress ,这就是为什么您要先将它们全部禁用。这能确保您在升级完成后 WordPress [...]
WordPress由Z-BLOG今天转换而来
早就想转换WordPress了,以前是空间不支持,前段时间又安装了次,没想到可以了,不过那是没时间,今天正好有空余时间,就转换了下。
WordPress久违了。。。
原创文章,转载请注明: 转载自广陵散 `s 博客
本文链接地址: WordPress由Z-BLOG今天转换而来
Post Footer automatically generated by wp-posturl plugin for wordpress.
WordPress流氓插件之自动采集
为了符合国人的网站行情,终究还是有国人开发了这个顶级WordPress流氓插件之自动采集.并且由我这个小流氓在这里给大家介绍一下.
只想说,流氓插件都做的这么高级文雅了,一个流氓插件的名称居然做的这么绅士:风度文章自动采集发布插件.
使用简洁方便,几乎谁都会用.只要有被采集的RSS,然后它就可以自动采集.就这么简单,要国人做出一个比WordPress更好的blog源码恐怕很难,但是要做出一个牛逼的流氓插件却是国际顶尖技术.
用这个插件再配合我前篇日志讲到的:Wordpress流氓插件之自动保存远程图片.简直他妈的绝了.
[下载页面]
原创文章,转载请注明: 转载自广陵散 `s 博客
本文链接地址: WordPress流氓插件之自动采集
Post Footer automatically generated by wp-posturl plugin for wordpress.
Wordpress流氓插件之自动保存远程图片
先说说这个插件的功能:
1.自动保存你引用的远程图片.
2.自动去掉文章和图片中的非本站链接.
3.无耻的给你偷过来的图片自动加上你的水印.
wordpress中文论坛里很多人都问过wordpress是否有自动采集功能,我回答说.国外的优秀程序是不会走流氓路线的.
但是国人的流氓精神还是很强大,wordpress的采集功能肯定有.但是我也不是很清楚,这里只能先介绍这个流氓插件了,如果发现更好的流氓插件一定会给你们提供的.
这个插件可是手工采集的好帮手,如果你使用的是WLW的话,手工采集会更快哦.
[下载页面]
原创文章,转载请注明: 转载自广陵散 `s 博客
本文链接地址: Wordpress流氓插件之自动保存远程图片
Post Footer automatically generated by wp-posturl plugin for wordpress.
用jQuery实现Google Wave样式的Wordpress评论(一)
转:http://doublechou.us/wordpress-google-wave-style-comment-with-jquery-part-1/
但是苏对它的评价并不是很高:一,帖子少;二,任何人都能改东西,总有那么一两个不自觉的; 三,无法退出一个Wave,一旦有那个不长眼的加个机器人,后果不堪设想;四,无法删除一个Wave,Trash里面全是Muted的空Wave。
其中第二三四都是Google Wave的设计理念导致的。老外和我们的想法很不同,他们一定觉得Wave作为一个协作系统和讨论平台是不应该出现”admin”这种东西的,而且作为一 个项目不能说退出就退出。他们认为Wave一旦发出,就至少有两个人,所以不应该让你删除的Wave影响其他人;一旦加入一个讨论,自己肯定不能退,无论 你是因为工作还是爱好,一旦加入就代表有责任有兴趣参与讨论,而没考虑你无辜的情况。而没有admin,也就不可能把你清出去;Wave的卖点就是大家可 以在一张纸上同时画画,所以你的东西不让改那什么都无从谈起了。总结一下就是“强买强卖”+“一锤子买卖”。
苏觉得至少可以这么改进: 1, 公共Wave不可删除,私人的可以;2, 任何空Wave都可以删除;3,可以离场或经其他所有人投票后可以离场(用于清理不自觉的和不长眼的);4,插入机器人要所有人投票通过,如果可以自己离 场此条作废; 修改应发送修改请求,或修改结果要经“编辑链”的“上游”通过(表达不太清楚,用jQuery的写法就是prev()而不是prevAll(); ); 5, 所有修改结果都像pastebin一样有存档,有据可查。这样Wave才能算作一个有秩序的协作系统和讨论平台,才会真正有企业对它感兴趣,其实企业最需 要的不是实时,再实时有视频会议说的清楚么?企业最需要的是秩序,现在的Wave最多算个会议的白板,不能主导会议的方式。
好吧,苏作为一个TMT分析员已经跑题了,不谈工作不谈工作。下面开始苏的“WordPress瞎搞教程“,老鸟可以扫过,但请别飘过,毕竟苏的brandwidth不是特供你飘来飘去滴,苏希望物尽其用,你不想说话可以潜水,但别跳出来说没用的。
我的出发点和@lookon叔叔不一样,他是在想怎么把Wave引入博客,我是想怎么把博客变成Wave。本着中国的“大山寨”精神,我没有,还不行自个儿造么。。。
先上一张Google Wave的单个Wave截图:
这张是苏和推特美女
@sdelayang的私人ping哦,相信大家在直勾勾滴盯着美女照片看的同时脖子扭扭屁股扭扭滴也能发现Google Wave的New Wave主要(细节苏会在以后的文章中一点一点纠结出来)有如下特征:
1,嵌套; 2,未读消息前面显示一个小绿条; 3,作者头像右下角有一个小绿点;4,每条消息之间用点线分开;5,嵌套评论有阴影。还有2个截不出来的特征: 6,鼠标放在消息下方会有一个蓝色圆框出来让你继续嵌套或者是续接这个嵌套层,如下图; 7, 鼠标左键点击消息会出现一个绿色框选中该条消息,继续单击无法取消,只能点击别的消息或者离开该Wave,效果才会消失(也就是说你要么不点,一旦开始点 就始终会有一个绿色的框框在某条消息上。)。单击过的消息前面的小绿条消失。
也就是说,你的WordPress评论只要有如下特征,就基本可以伪装成小半个Google Wave了。
下面纠结实现方法:
其中1,嵌套是WordPress 2.7以后就自带的,本身已经非常强大,不去管它;
4, 每条消息之间用点线分开,这个最简单,css的问题。以下均以WordPress 2.8.4的default主题的comments.php里面的class为例,当然default是用的<?php wp_list_comments(); ?>这个函数,肉眼看不到任何class,但不要忘记我们还有Firebug这个强大的debug工具
只需要
就可以了。||注释: [class~=vcard],css高级选择器,意思是有class=”1 2 3″这样的element都选中, 或者你也可以写div.vcard和.vcard, 也能选到,但是,俄,严谨嘛,苏用的css编辑器是KDE自带的Kwrite,会把高级选择器显示为苏最喜欢的粉色,宽恕苏的完美主义吧……
5,嵌套评论有阴影,这个也很简单只需要用PS或者Gimp做一个阴影加上就好了(苏用Gimp),也是CSS 问题。切图稍微有一点讲究,就是只能横着切不能竖着切,因为你不知道人家留言会留多少高度。所以切一小块阴影,repeat-y做 [class~=depth-2]的背景,把最下面的底切下来作为ul.children的背景。
延伸:苏的评论是嵌套了两层,因为苏不是个无聊的人呢,不会像Google Wave上面有些人一样20多岁了玩套圈圈,一层一层又一层,但是从技术上这是要说的,因为可能有人就喜欢设置个10层。那样就不止是对 [class~=depth-2]做背景了,准确的写法应该是
,也就是说这个背景要给到id是comment-<?php comment_ID(); ?>的、除了第一层的所有li上。另外那个底部的处理也不能像苏现在这样直接截一条下来当底部咯,因为每一层的嵌套宽度都是不同的,我们至少需要2 个element来实现下面的底。首先是
, 这个好理解吧,每一层的最后一个li,可以把那个左下角截下来给它当背景。然后对第一层的最后一个li去掉这个背景,
li.depth-1: last-child {background: none;}。其他的阴影可以交给ul.children。当然有像苏一样完美主义的人非要在这一条里面在实现一个右下角的圆角阴影效果也不是不可以滴,那就是
这个element咯,把右下角效果交给它吧。
具体的css代码苏就不写咯,剩下的就是重复工作咯,毕竟苏已经把选择哪个元素加背景写出来了,剩下的无非就是padding, margin的调整让它们在一条线上罢了。
好,到现在CSS能做的工作苏已经做好了。下面轮到标题中就已经提到、但现在还没有出现的jQuery上场咯。
是不是非用到jQuery不行呢,很抱歉,在这个情况下,是的。苏是CSS党,如果是一个Accordin效果苏完全可以抛弃jQuery,ie对:hover伪类支持的不好,苏可以把代码写到一个<a>里面嘛
这里非jQuery不行是因为我们需要针对click做效果,css不行。
2,未读消息前面显示一个小绿条。这句的关键在于判断什么是未读。苏对服务器端不熟悉,所以苏这里无法说你这次 click一下表示读过,关闭网页重开,我就会记住,哦,你这条读过了阿。Google有那么大的服务器,有能力,而且它的每一个用户都是肯定有帐号的, 苏即使有那么大服务器也只能针对ip地址做一个mysql表,哦,这个ip读过这条评论,但你换个地方上网,或者极端情况你坐那里没动,路由器换跟线,苏 这里就又要重新记住你一回,总不能强制访客注册吧。所以按用户“记住”未读消息是不太可能的,我做WordPress不是做Google Reader。 苏从客户端对未读的解释就只能是你打开网页,所有的评论你都没读过。这一方面是苏的技术不够,或者说是花费的精力和所得到的效果完全不成比例,投入/产出 比不对,苏是经济学人呢~另一方面就是比如cnbeta,可能吧那种大站,一点开页面所有评论你都没读过的可能是存在的,而且是经常的,呵呵,苏已经开始 好高骛远了呢。
好咯,未读说完了,你可以直接写在你的模板里,comment-body后面加个class=”unread”。但是别忘记了,我们用的可是默认模板阿,是看不到这些的,没关系,用jQuery:
$(document).ready(function () { $(".comment-body").addClass("unread"); });然后再对unread class做CSS,加上一个小绿条的背景。或者直接:
$(document).ready( function () { $(".comment-body").css({' background', 'url(XXXXX.png) top left repeat-y '}); });按照逻辑的配对(实际上苏也正是这么做的),接下来应该说的是7, 鼠标左键点击消息会出现一个绿色框选中该条消息,继续单击无法取消,只能点击别的消息或者离开该Wave,效果才会消失。单击过的消息前面的小绿条消失。
这个无论如何用css都做不了。代码比较简单,直接放代码吧:
$(".comment-body").click(function() { $(this).removeClass("unread"); //去掉被点击的消息的小绿条; $("[class~=comment-body]").removeClass("selected"); //如果其他的消息上面有绿框则去掉它们,用来保证只有一条消息是选中的; $(this).addClass("selected"); //给选中的消息加绿框。 });下面处理那个3作者评论头像右下角的小绿点。苏是用jQuery追加数据的方式实现的,代码是这样的:
$("li[class~=bypostauthor]").children(".comment-body").children(".vcard").children("img").after("<span class=\"postauthor\"></span>");首先要选中作者评论,WP2.8自带的嵌套已经给出了两个比较特殊的class,一个就是byuser, 代表你在我的站上注册过,另外一个就是bypostauthor,文章作者。各位走过路过滴同学心里应该有所共鸣了吧,通过定义byuser的样式可以提 升访客体验。继续解释代码:选到文章作者评论的li,然后选到它的重孙img,就是Gravatar,然后在它的后面追加一个span。定义span的 css即可。为什么不追加div呢,因为会把后面的作者名字和发表时间挤到下一行去。BTW,不要用绝对定位的方式定义这个span的css, 因为绝对定位会从当前文档流中排除,很容易就覆盖了紧跟在后面的评论作者名字。可以用margin的负定位。
当然,对jQuery没有信心的同学完全可以用参考线量出这个圆点应该出现的准确位置,然后作为<cite class=”fn”>的背景,然后对cite进行绝对定位+z-index让它覆盖在Gravatar的上面
不过就是太麻烦咯。
下面是最后一个效果:6,鼠标放在消息下方会有一个蓝色圆框出来让你继续嵌套或者是续接这个嵌套层。
其实这个简单来说针对的主要是wordpress嵌套评论的reply按钮。用那个圆角方框完全替代reply按钮,再把它隐藏起来,鼠标滑过的时候显示,之后隐藏。很简单的一个jQuery效果吧。
但是它的难点在于,真正的Google Wave是可以让你选择是开始新的嵌套还是继续当前嵌套层的,也就是说可以把你的回复贴到别人嵌套层上面,开始一个新的同级ul。这个需要ajax的支援,苏会写在本系列文章的第二篇里面。
为了高度仿真Google Wave,我们也要让它能选择开始新的嵌套或者继续当前嵌套。好吧,苏的技术有限,现在还没想到好方法。但是“在一个已经有嵌套的评论下面显示‘继续当前 嵌套’,在没有嵌套的评论下面显示‘开始新的嵌套’“,这总归是可行的,不然我写那么多玩什么呢对吧……
用jQuery来说就是,先判断当前评论是不是第一层(因为苏只有两层,第二层就已经不能在继续“开始新的嵌套“咯),然后再判断第一层的元素下面 有没有嵌套(这个逐渐缩小的过程能理解吧,第二层是绝对没有嵌套的,判断第一层就行了),如果有嵌套就给一个继续当前嵌套的class,如果没有就给一个 开始新的嵌套的class。这是default主题的情况。代码:
$(".comment-body").mouseover(function() { if ($(this).parent("li").hasClass("depth-1")) { //判断是不是第一层 if($(this).parent("li").hasClass("parent")) { //判断有没有嵌套 $(this).children(".reply").addClass("continue"); $(".continue").show(); } else { $(this).children(".reply").addClass("insert"); $(".insert").show(); }; } else { $(this).children(".reply").addClass("last"); //如果是第二层 } endif; }).mouseout(function() { $(".insert").hide(); $(this).children(".reply").removeClass("insert"); $(".continue").hide(); $(this).children(".reply").removeClass("continue"); });不知道大家搞懂了没,苏的JS不强,所以用的效果都很简单的,大家可以在此基础上加效果。
延伸: 同样是多层的情况,专门写给那些无聊的同学的。
由于存在的层数未知, 这时候道理就应该反过来说咯,先知道最后一层,一层一层往上推,因为只有最后一层是特殊的,就是它不能再开始新的嵌套。判断最后一层的方法是: 判断有没有下家,这时不能用parent的方法来判断,因为他可能是中间某层,只需要判断这一层有没有ul.children就可以咯。另外还要判断 prevAll和nextAll有没有ul.children,避免出现正好判断在岔路上这种悲剧。
而至于背景,这时候也不适合用addClass的方式了,因为每一层宽度不同,要很多很多Class。苏之前也不懂怎么做,但是今天做 comments.js的时候发现了一个方法,就是:写一个递归变量,每次都+若干个px,然后把这个变量赋给width,这样只需要做一个最宽的没有最 左边图像的背景,再right top,然后对<div class=”reply”>做背景补全那个左上角,通过width就能画出宽度不同的reply按钮咯。
关于递归变量可以看这句:
$('#commentnum').text(parseInt(jQuery('#commentnum').html()) + 1);好啦,总算写完这篇“技术文”咯,其实就是个想法,大部分代码我没贴是吧,但关键代码我都贴了对吧。这个做法是开发大家的想象力,因为自学的菜菜阶 段的想象力其实是最丰富的,为了实现一个结果会去想好多好多种方法,但是专业的设计师就不会,因为他们脑子里早就有最好的啦,你可以从他们网站上cp过 来,效果有了,但你什么也没学到不是么。吼吼,不教育人了,其实这一方面是苏对于那些代码也是一知半懂,写能写出来但要纠结好久,干脆就贴个想法咯;另一 方面是做ajax评论时候得到的教训,就去网上下了一个php一个js,搞定了。。。可是我依然不知道什么是ajax。
<!– 这篇文章为小女原创,小女完全明白其意思,可以转载,但是不可以歪曲事实,要么不转要么全转; 可以在此基础上继续开发,但请另起炉灶或保留原文的基础上加注释。此类无聊雷同文并不好找,如果真的有雷同,本人可能不愿起诉你,但心情不好对你发飙你也 请胳膊打折袖里藏~–>
原创文章,转载请注明: 转载自广陵散 `s 博客
本文链接地址: 用jQuery实现Google Wave样式的Wordpress评论(一)
Post Footer automatically generated by wp-posturl plugin for wordpress.