Blogger作为目前世界上最优秀的BSP,有着许多优秀的特性。
今天我来讲讲其中的一大优点,那就是绑定域名不用钱,没错,就是不用钱!完全免费的。yo2这么便宜都要36.5呢,google果然是好啊。可惜这么好的免费大餐,我们国内却享受不到,当然这是题外话了。
下面进入正题,说说具体该怎么做吧。咳……
首先进入域名控制面板进行设置,你哪里买的域名就进哪里的控制面板,添加 CNAME 解析到 ghs.google.com. 域名,必须是 “.” 句号结束。我在别名 (CNAME)中填写blog.juetuzhi.cn作为我的新域名。
第二步呢,当然是进行域名绑定了。进入设置-发布,点击自定义域。
点击切换到高级设置。
在您的域中填写刚才设置的新域名blog.juetuzhi.cn。
最后保存设置就可以了。
设置生效后如果你用原来的域名访问比如justin0842.blogspot.com会直接重定向到新域名blog.juetuzhi.cn。这点也要比yo2强大,yo2不会重定向。
怎么样,很容易吧,马上试试看。
2007年9月29日星期六
Blogger绑定域名
2007年9月23日星期日
Google日历的JavaScript API
2007年9月13日星期四
wordpress 单篇文章中添加链接上下相邻文章的导航栏
WP中自带有这两个函数:<?php previous_post('« %','','yes','no',1,'') ?> 以previous_post这个函数为例:
<?php previous_posts_link('Next Entries »') ?><?php previous_post('format','text','title','same category',limit,'not from category'); ?>参数:
- 'format' - string - '%' 将被替换成超链接, 所以'Go to %' 将产生如下效果 "Go to <a href=..." Defaults to '%'。
- 'text' - string - 链接的文字显示. 默认为'previous post: '。
- 'title' - string - 选择 'yes' or 'no'. 是否在链接文字中显示标题。如果选择 'yes', 就会在链接中显示文章标题。 默认为 'yes'。
- 'same category' - string - 选择 'yes' or 'no'. 下一篇文章是否应该来自同一个分类。 默认为 'no'。
- limit - integer -不清楚。默认为1。
- 'not from category' - string - 一份下一篇文章不应该来自那个分类的清单。默认为 ''。
2007年9月12日星期三
如何在wordpress的日志之间插入adsense广告
如果你想在wordpress的日志之间插入adsense广告(具体效果见掘图志 ),你就需要修改 wordpress 模版,不同的 wordpress 主题有着不同的差异,不过按照以下的步骤修改模版,应该都能成功:
- 登录到你博客的管理区域,并到达外观->主题编辑器.
- 找到标题为 'Index' 或者 '首页' (或者类似的名字)的链接并点击它 - 导入 index.php 文件。
- 在 index.php 文件,找到这一行:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>显然这是 WP 主循环的起点。 - 在前面增加下代码:
<?php $counter = 0; ?>之后增加:<?php $counter = $counter + 1;?>上面的代码能够动态计算 WP 主循环已经显示了几篇日志,所以当第一篇和第三篇日志被显的时候,我们就可以引发一个命令去允许我们显示 Adsense 代码。 - 再往下,我们可以看到用于显示单独日志的代码,再接着就是如下的代码:
<?php endwhile; else: ?>至少,你会看到<?php endwhile; else: ?>这个语句。
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?> - 在这之前,添加以下代码:
<?php if(1 == $counter) : ?>请一定把上面的 <!--adsense#index1--> 替换为你自己的广告代码。
<!--adsense#index1-->
<?php if(3 == $counter) : ?>
<!--adsense#index2-->
<?php endif; ?>
2007年9月10日星期一
使用负外边距来让容器居中
现在广泛使用的实现容器居中的方法就是自动外边距,即:#container { 但这种被认为最合理、最正确的方法却不一定有最佳的浏览器兼容性(低于6.0版本的IE浏览器不支持,令人欣慰的是现在的浏览器都能很好地支持自动外边距),因此禅意花园30号作品的设计师采用了一种出乎人们意外的解决方案--绝对定位+负外边距。代码如下:
margin:0 auto;
width:800px;
}#container {
position:absolute;
left:50%;
width:800px;
margin-left:-400px;
}
以上摘自自由部落。
我在办公室的firefox不知道为什么在footer使用第一种居中方法没有产生应有的效果,但是在家中完全正常。为了兼容性更好一点,因此采用了第二种居中方法。
2007年9月9日星期日
玩转feedburner(转)
上feedburner随便逛逛,无意中看到一条提示:“别忘了坐直身体,还要时不时的休息会儿。有了健康的你,才有开心的我们。” (Remember to sit up straight and take frequent breaks. A healthy you is a happy us.)简单的一句话,让我本有些郁闷的心情开朗起来。不由得多刷了几次页面(提示是随机显示的),看到了更多提示。其中有略带调侃的“订阅者周末不见了?这很正常,周一他们会回来的。”(Subscribers dipping on weekends? That’s normal; many subscribers return on Monday.)还有申明“只此一家别无分号”的“请通过官方新闻了解我们,而不是花边小报。”(Read about us in the news, not the tabloids.)…… 都是精心挑选,让人一见难忘。
都说网站模式容易copy,“web 2.0一抄一个准”,怎么没见其他网站这么干、抄的这么准?如果能做到这般细致入微、关怀备至,用户怎会不甘之如饴、心花怒放?
既然feedburner让我开心,我就要回报它——为它宣传倒是一种不错的方式。
feedburner最基本的功能就是帮你烧制feed、提供永久地址,让你无论换多少次bsp都不用为feed地址变了而烦心。除了这个,其他的功能呢?
统计分析(Analyze)
把源feed地址提交给feedburner之后,就等着人来订阅吧。自己的哪些blog受欢迎、受哪些人欢迎,当然要了然于胸了。
- 概览(dashboard)
以柱状图的形式显示订阅状况。能够看到订阅者数量随天数的起起落落,直观又清晰。可以选择显示当天/最近7天/最近30天/所有时间的统计。还能看到哪些blog最受欢迎(点击数多)。 - 订阅者(subscribers)
以饼状图的形式显示订阅者的客户端类型(阅读器、email订阅、浏览器等)、数量和百分比(如下图)。可以看到每个客户端的简短介绍。
我的订阅者客户端分布:
- 实时访问(live hits)
记录feed实时的访问状况(最近25次访问)。包括阅读器抓取、浏览器下载、搜索引擎收录等。显示访问时间、客户端名称和国家。 - 聚合使用(item use)
记录feed内容被聚合器(aggregator)收录的状况。默认只有总数统计,要查看详细统计,得升级到完全统计(totalstats)才行。 - 非常规使用(uncommon uses)
记录“非常规”的抓取状况。根据feedburner的说明,“非常规”包括个人写的抓取程序、由别人feed拼成的blog和blog spam等。 - 标准统计(standardstats)
标准统计选项。统计项包括订阅者数量、阅读器类型、非常规使用、feed条目点击数和附件的下载数(podcast)等。 - 完全统计(totalstats)
完全统计选项(收费)。在标准统计的基础上,又增加了统计访问量、被聚合的条目使用、单个条目使用等状况。请查看完全统计和标准统计的具体差别。
有了feed地址之后,要想办法使之更容易的订阅、更友好的显示,这时就需要优化了。
- 预览(your feed)
预览feed内容。跟在阅读器中的显示差不多。 - 源代码(xml source)
查看feed的xml源代码。 - 浏览器友好度(browser friendly)
优化feed在浏览器中的显示。经过此项优化之后,浏览器会把feed显示为页面(而不是一堆xml代码),方便预览(有些人会先看一眼再决定是否订阅)。可以选择页面模板,选择显示全文/只要标题,并写下自己的话。还能把feed转向到指定的地址。
想查看优化效果,请对比我的优化之前和优化之后的feed页面。 - 智能cast(smartcast)
此功能是专门为podcast设立的。可以针对itunes的podcast目录和yahoo media rss做具体设置。(没玩过podcast,不太明白) - 智能feed(smartfeed)
把feed格式转换,变成多种阅读器都能兼容的版本。一个feed,大小阅读器通吃,最大限度的扩展了订阅者的范围。 - 第三方链接(feedflare)
通过一个flare(一个图片链接,显示在每篇feed的尾部),让订阅者更方便的对你的blog做些什么(如email给好友、提交给digg、收藏到del.icio.us等)。除了feedburner提供的官方flare,还有很多的flare可用,也可以自己添加。链接的显示顺序可以通过拖放调整,非常方便。
我使用的feedflares: - 网摘(link splicer)
自动发布你收藏的链接(网摘)。提供网摘服务的帐号(支持del.icio.us、digg、my web等),feedburner就会在你的feed里自动添加网摘。可以选择有了新的网摘就发或者一天只发一次。 - 照片(photo splicer)
自动发布你的照片。提供照片服务的帐号(支持flickr、bussnet和webshots),feedburner就会在你的feed里自动添加照片。可以设置照片发布的数量,还可以只发布标有指定tag的照片。 - 地理标注(geotag your feed)
为你的feed标明地理位置。美国用户用邮编即可,其他用户需注明经度和纬度。 - logo图片(feed image burner)
指定一幅图片(url地址)作为你feed的logo(或banner)。它会显示在阅读器和feed页面中,链接到你指定的地址。 - 标题/描述生成(title/description burner)
重新设置feed标题和描述。适用于那些不满意原有的标题和描述但无法自行修改的用户(像新浪blog的feed就是没有描述的)。 - 转换格式(convert format)
把feed内容转换成标准格式(rss或atom,4种格式可选)。如果使用了smartfeed,则不推荐使用此项(因为smartfeed已经相当智能的把feed转换成了各种阅读器都能理解的格式)。 - 内容类型(content type)
设置feed文件的内容类型(即mime类型)。有多种类型可选,默认类型为与源feed相同。 - 摘要生成(summary burner)
自动截取内容生成摘要。可以设置最大截取字数,还能加上一个“teaser”(如“欲知详情,请点击此处”),链接到具体blog。 - 行情收录(tickerize)
股票行情自动收录。激活此功能之后,如果feed内容里含有股票代码(如ge是GE,yahoo是YHOO),feedburner会通知相关金融聚合器收录此feed。如果你写金融股票方面的blog比较多,就很方便了。(我是没用过) - amazon id(amazon id burner)
当feed内容中含有链接到amazon目录的文字时,自动插入相关id。(不太明白什么意思)
酒好也怕巷子深,feed经过优化之后还得推广,才能吸引订阅者,传播的更广。
- 推介页面(buzzboost)
生成html推介页面(包括标题、摘要、时间等)。激活此功能之后,会生成一段javascript代码,需要时嵌入页面即可。可以选择一页显示几篇、链接打开窗口、摘要字数等选项。 - 头条动画(headline animator)
生成一个gif动画,循环显示最近5篇blog的标题。可以选择普通版或email签名版。可惜不支持中文(显示乱码)。 - 通知(pingshot)
通知第三方服务。在抓取feed后,即时通知阅读器或搜索引擎更新数据,使订阅者更快的获知你的blog更新。支持technorati、bloglines等十余种服务。 - email订阅(email subscriptions)
提供email订阅。在feed更新之后,自动把文章用email发给用户。激活此功能之后,会生成一段html代码,嵌入页面中即可让人订阅。有人订阅之后,可以看到订阅者email列表。这其实是备份blog的一种不错的方式(我就正在用)。 - 订阅计数(feedcount)
生成一个gif动画,显示你的feed被订阅次数。能选择图片是静态还是动画,还能定制背景和文字的颜色。 - api访问(awareness api)
设置第三方api访问你的feed数据的权限(允许/不允许)。 - 订阅图标(chicklet chooser)
提供feed图标和阅读器订阅图标。提供多达20种的阅读器接口,更方便的供人订阅。把html代码贴在页面中即可。 - 密码保护(password protector)
用密码保护feed。要使用此功能,阅读器得支持http认证。 - 创作共用(creative commons)
设置创作共用协议的选项(允许商业使用,允许修改等)。
等你大受欢迎、订阅者足够多的时候,就可以考虑用feed赚钱了。你可以加入FAN(FeedBurner Ad Network),通过feed里放广告来赚钱。此服务暂不公开,需要向feedburner申请才行。如果你自信有这个实力,就可以去信申请了。
解决问题(Troubleshootize)
常在河边走,哪有不湿鞋?出了问题,自然得想办法解决。
- 帮助和提示(tips and tools)
这里有常见问题列表,还能重新同步feed(相当于重启系统。有些问题重新同步一下就好了),实在不行就去支持论坛求助。 - feed状况(feedmedic)
这里显示了feedburner在抓取你feed数据过程中遇到的问题和解决过程。其实就是下面提到的feedbulletin的预览。
任凭feed变换,总归要以人为本。
- 基本资料(account basics)
修改email地址、密码,设置安全问题等。 - 付费状况(pro payment info)
查看专业版的付费状况(如果你购买了专业版)。 - 自有域名(mybrand)
使用自己的域名(收费)。通过修改域名dns,让自己的域名指向feed地址。 - feed监测(feedbulletin)
提供一个订阅地址(http://feeds.feedburner.com/~u/用户名),让你时刻了解feed状况。每一次feedburner对源feed数据的抓取,成功或者失败(为什么失败),都会记录在案。假若出了问题,用户不再摸不着头脑、狂联系客服(像抓取donews的feed连接被重置这种问题,根本不必找客服人员),feedburner自然也乐得轻松自在。
不写不知道,写出来真是吓一跳。原来feedburner功能这么强大,更别说它刚收购blogbeat(详情),今后的统计会更强了。善用feedburner的你,必然能拥有完美的feed体验。
当然,前提是gfw网开一面、刀下留人。
2007年9月7日星期五
nofollow标签的作用
nofollow是一年多前(好象)由Google领头新创的一个标签属性,目的是尽量减少垃圾链接对搜索引擎的影响。
Matt Cutts说过,这个标签的意义是告诉搜索引擎这个链接不是经过作者自己编辑的,所以这个链接不是一个信任票。搜索引擎看到这个标签就可能减少或完全取消链接的投票权重。
这个标签通常是用在博客的评论或论坛帖子中,因为这些地方是最多垃圾链接出现的地方。现在主流的博客和论坛软件都自动在评论和帖子的链接中加上了这个标签。
实际上这个标签的加入并不会减少垃圾评论的数量,因为多数垃圾留言都是机器人做的,成本很低,他们根本不考虑nofollow这个标签。但是,这对于留下评论的读者却是不公平的,我不能为了防止垃圾评论而抹杀各位朋友们对我博客作出的贡献。因此,今天我偶然中发现blogger中的评论默认带有nofollow标签后,马上就把它删除了。
下面介绍一下在blogger中删除nofollow标签的方法。
在模板中选择修改 HTML选中扩展窗口小部件模板找到<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>把rel='nofollow'删除即可。
2007年9月5日星期三
在Google code中申请空间的方法
首先进入Google code的主页http://code.google.com,点击Project Hosting。
然后点击Create a new project。
里面的东西照着随便填就可以。最后Create Project就完成了,总的空间好像有100M。
Google Code上次也已经被撞墙过,不过很快就恢复正常了。希望以后不要被GFW盯上,否则我就真的没地方可以放东西了。
2007年8月28日星期二
在blogger中添加digg按钮(更新)
这段更新修改了原来不能在首页digg正确文章地址的错误。
以简洁按钮为例:
原代码为 <script type="text/javascript"> 在里面插入一段代码如下:
digg_skin = 'compact';
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script> <script type="text/javascript"> 详细添加方法请查看这一篇:《在blogger中添加digg按钮》。
digg_url = '<data:post.url/>';添加了这一段代码,就能正确显示了。
digg_skin = 'compact';如果使用大按钮把这段删除。
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
2007年8月27日星期一
在blogger中添加digg按钮
如图如果想要添加到第一个位置,也就是文章的右上角。主要把以下这段代码<div style='float:right;'>添加到
<script src='http://digg.com/tools/diggthis.js' type='text/javascript'/>
</div><data:post.body/>的前面就可以了。
如果想要添加到第二个位置,那么就把它添加到<div class='post-footer'>的前面就可以了。
红色部分控制左右浮动。
简要说明。 <script type="text/javascript"> 如果想要在首页看不到按钮的话,记得加上条件语句。
digg_url = 'WEBSITE_URL';你想要digg的网址,没有这个语句默认当前路径。
digg_bgcolor = '#ff9900';按钮背景色。
digg_skin = 'compact';简洁按钮,没有这个语句默认大按钮。
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script><b:if cond='data:blog.pageType == "item"'>
<div style='float:right;'>
<script src='http://digg.com/tools/diggthis.js' type='text/javascript'/>
</div>
</b:if>
修正首页地址错误,请看这篇:《在blogger中添加digg按钮(更新)》。
2007年8月25日星期六
Blogger最新评论代码(更新)
由于blogger更改了RSS格式,原来的评论代码已经不能使用,下面这个是最新的。<div id="newcomments"> 红色部分控制评论个数,绿色部分为你博客的网址。
<h2>Loading...</h2>
</div>
<script>
function compareentry(a,b){
order= Date.parse(a.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,
'$1/$2/$3 $4 GMT')) - Date.parse(b.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,
'$1/$2/$3 $4 GMT'));
return 0-order;
}
function handleComments(json) {
var temp = '<ul id="Feed001_feedItemListDisplay">';
var postshow=10;
var sortentry=json.feed.entry.sort(compareentry);
for (var i=0, post; post = sortentry[i]; i++) {
if(i>=postshow) break;
var title=post.content.$t.substr(0,30);
var link=post.link[0].href;
var authorname=post.author[0].name.$t;
var timestamp=post.published.$t.substr(0,10);
temp += '<li><span class="item-title"><a href="'+link+'">'+ title +'</a>-'+timestamp+'-'+authorname+'</span></li>';
}
temp+="</ul>";
document.getElementById("newcomments").innerHTML = temp;
}
</script>
<script src="http://justin0842.blogspot.com/feeds/comments/full?alt=json-in-script&callback=handleComments" type="text/javascript"></script>
转自堯@部落格
2007年8月23日星期四
WordPress 伪静态页面的实现方法
WordPress实现静态页面的方法,我在网上查了下好像有两种,一种是静态,一种是伪静态。(感觉像是废话。)真正的静态是需要插件支持的,由于我使用的是优博网提供的wordpress博客服务,因此我采用伪静态的方法,感觉效果也很满意。
刚开始的时候我不知道怎么优化,看到人家的路径干净整洁,自己的乱七八糟。因为没有设置前默认是使用文章标题做路径的,而标题又基本上是中文,所以显示的时候自然就变成了一堆乱码了。
好了废话不多说,看看怎么设置的吧。
首先进入后台,选择“选项”-“永久链接”。
把永久链接结构,自定义为如下结构。
最后你只要撰写文章时,在文章缩略名中填写上英文名称就行了。
顺便做个小广告“掘图志”是我的图片博客,大家多多光临哦,有很多有趣的图片。
2007年8月17日星期五
adsense文章中广告没有出现的解决办法
进入模板HTML编辑,选中扩展窗口小部件,找到下面这段代码: <b:include data='post' name='post'/> 在这段代码的后面添加上:<b:if cond='data:post.includeAd'> 有多少添多少,并且上一段代码可能有几段零散的分布在整个代码中,比如查找<data:adEnd/>或者<data:adStart/>,把它找出来,全部删除就好了。
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
想赚钱的朋友抓紧了,赶紧添加上去吧。
2007年8月15日星期三
Blogger让Lable及Archive页面只显示标题
进入模板HTML编辑,选中扩展窗口小部件,找到下面这段代码 <b:include data='post' name='post'/> 接着用下面这段代替它。 <b:if cond='data:blog.homepageUrl != data:blog.url'> 试试看,存档跟标签只会把标题显示出来,找文章方便不少吧。
<b:if cond='data:blog.pageType != "item"'>
<h3 class='post-title'><a expr:href='data:post.url'><data:post.title/></a></h3>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
2007年8月9日星期四
Blogger新增快速查找同类用户的特性
只要进入个人资料页面,比如向我资料的地点填的是浙江,只要在浙江上点击下,系统就会把所有浙江的blogger都找出来了。
那么你如果想找其他地方的朋友怎么办呢?其实非常简单,查看一下它的链接,是这样的:http://www.blogger.com/profile-find.g?t=l&loc0=CN&loc1=zhejiang&loc2=hangzhou。你只要把其中的cn,zhejiang和hangzhou改成你希望的国家,省和城市就可以了。
同理,你也可以利用它找到跟你有相同爱好的blogger。
这样,大家能够非常容易找到更多的朋友了。
2007年7月29日星期日
在blogger中添加分享到饭否按钮
首先找到下面这段代码:<b:if cond="data:post.labels"> 然后在下面添加上这段代码:
<data:postlabelslabel>
<b:loop values="data:post.labels" var="label">
<a href="data:label.url" rel="tag"><data:label.name></data:label.name></a><b:if cond="data:label.isLast != "true"">,</b:if>
</b:loop>
</data:postlabelslabel></b:if><a href="http://fanfou.com/sharer?u=[url]?t=[title]?s=bl" expr:title='data:post.title' expr:name='data:post.url' onmouseover="this.href=this.href.replace('[url]',encodeURIComponent(this.name)).replace('[title]',encodeURIComponent(this.title));this.onmouseover='';this.title='分享文章到饭否';" target='_blank'><img src="http://static.fanfou.com/img/icon.gif" alt="分享文章到饭否" /></a> 你可以在我的博客中看到效果。
感谢王元涛热情无私的帮助,这段代码完全是靠他完成的。
2007年7月14日星期六
WordPress 首页摘要而RSS全文输出解决方案
1. 首先在文章中 使用More的代码,插入到你需要的位置。
2. 然后,修改WordPress 里面wp-includes文件夹中的post-template.php文件,使用任何代码编辑器打开,在里面找到以下If 代码:if( preg_match(’//’, $content, $matches) ){ 我们需要修改的就第一句话:
$content = explode($matches[0], $content, 2);
if ( !empty($matches[1]) && !empty($more_link_text) )
$more_link_text = strip_tags(wp_kses_no_null(trim($matches[1])));
}if ( preg_match(’//’, $content, $matches ) ){ 修改为(粗体字部分):if ( preg_match(’//’, $content, $matches) && !is_feed() ){ 如此一来,WordPress的More功能就不会影响到我们RSS的输出了。
转自jooit
2007年7月12日星期四
blogger:加入相关文章功能(Related posts)
通过标签确定相关文章,以乱序插入文章结尾。
首先把这段Javascript 插入</head>标签前。<script type='text/javascript'> 找到下面这段代码
//<![CDATA[
<!-- Script functions for Related Posts: RelatedLabels(), RemoveDuplicatedPosts(), contains(), ShowRelatedPosts()-->
var relatedPostsNum = 0;
var relatedTitles = new Array();
var relatedUrls = new Array();
var relatedDates = new Array();
function RelatedLabels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedPostsNum] = entry.title.$t;
relatedDates[relatedPostsNum] = entry.published.$t.substr(0,10);
for (var j = 0; j < entry.link.length; j++) {
if (entry.link[j].rel == 'alternate') {
relatedUrls[relatedPostsNum] = entry.link[j].href;
relatedPostsNum++;
break;
}
}
}
}
function RemoveDuplicatedPosts(PostUrl) {
var tmpUrls = new Array(0);
var tmpTitles = new Array(0);
var tmpDates = new Array(0);
function contains(a, e) {
for(var j = 0; j < a.length; j++)
if (a[j]==e)
return true;
return false;
}
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmpUrls, relatedUrls[i]) && PostUrl != relatedUrls[i]) {
tmpUrls.length += 1;
tmpUrls[tmpUrls.length - 1] = relatedUrls[i];
tmpTitles.length += 1;
tmpTitles[tmpTitles.length - 1] = relatedTitles[i];
tmpDates.length += 1;
tmpDates[tmpDates.length - 1] = relatedDates[i];
}
}
relatedTitles = tmpTitles;
relatedUrls = tmpUrls;
relatedDates = tmpDates;
}
function ShowRelatedPosts(PostUrl) {
RemoveDuplicatedPosts(PostUrl);
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
if (relatedTitles.length > 0) {
document.write('Related Posts: <ul>');
while (i < relatedTitles.length && i < 5) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a> - ' + relatedDates[r] + '</li>');
if (r < relatedTitles.length - 1)
r++;
else
r = 0;
i++;
}
document.write('</ul>');
}
}
//]]>
</script><b:if cond="data:post.labels"> 改为
<data:postlabelslabel>
<b:loop values="data:post.labels" var="label">
<a href="data:label.url" rel="tag"><data:label.name></data:label.name></a><b:if cond="data:label.isLast != "true"">,</b:if>
</b:loop>
</data:postlabelslabel></b:if><b:if cond='data:post.labels'> 红色是用来调整数量的。
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
<!-- Fixed for Related Posts -->
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=RelatedLabels&max-results=10"' type='text/javascript'/>
</b:if>
</b:loop>
</b:if>
紧接着上面这行代码,加入以下的输出代码。<!-- Fixed for Related Posts --> 保存一下,看看效果吧。
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
ShowRelatedPosts('<data:post.url/>');
</script>
</b:if>
转自:Abin's Tech Note
2007年7月11日星期三
blogger:最新评论代码(即时更新)
新建一个页面元素,添加一个html小部件,然后填入以下代码即可。<div id="newcomments"> 注意,只适用于新版blogger,经典版本不适用。
<h2>Loading...</h2>
</div>
<script>
function compareentry(a,b){
order= Date.parse(a.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,
'$1/$2/$3 $4 GMT')) - Date.parse(b.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,
'$1/$2/$3 $4 GMT'));
return 0-order;
}
function handleComments(json) {
var temp = '<h2>标题</h2><ul id="Feed001_feedItemListDisplay">';
var postshow=评论数目;
var sortentry=json.feed.entry.sort(compareentry);
for (var i=0, post; post = sortentry[i]; i++) {
if(i>=postshow) break;
var title=post.title.$t;
var link=post.link[0].href;
var authorname=post.author[0].name.$t;
var timestamp=post.published.$t.substr(0,10);
temp += '<li><span class="item-title"><a href="'+link+'">'+ title +'</a>-'+timestamp+'-'+authorname+'</span></li>';
}
temp+="</ul>";
document.getElementById("newcomments").innerHTML = temp;
}
</script>
<script src="http://博客地址.blogspot.com/feeds/comments/default?alt=json-in-script&callback=handleComments" type="text/javascript"></script>
转自堯@部落格
blogger:最新文章代码(即时更新)
新建一个页面元素,添加一个html小部件,然后填入以下代码即可。<div id="newposts"> 注意,只适用于新版blogger,经典版本不适用。
<h2>Loading...</h2>
</div>
<script>
function compareentry(a,b){
order= Date.parse(a.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,
'$1/$2/$3 $4 GMT')) - Date.parse(b.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,
'$1/$2/$3 $4 GMT'));
return 0-order;
}
function handlePosts(json) {
var temp = '<h2>标题自己取</h2><ul id="Feed001_feedItemListDisplay">';
var postshow=显示文章数目;
var sortentry=json.feed.entry.sort(compareentry);
for (var i=0, post; post = sortentry[i]; i++) {
if(i>=postshow) break;
var title=post.title.$t;
var link=post.link[0].href;
var authorname=post.author[0].name.$t;
var timestamp=post.published.$t.substr(0,10);
temp += '<li><span class="item-title"><a href="'+link+'">'+ title +'</a>-'+timestamp+'-'+authorname+'</span></li>';
}
temp+="</ul>";
document.getElementById("newposts").innerHTML = temp;
}
</script>
<script src="http://博客名.blogspot.com/feeds/posts/default?alt=json-in-script&callback=handlePosts" type="text/javascript"></script>
转自堯@部落格