Showing posts with label bloger. Show all posts
Showing posts with label bloger. Show all posts

2008-02-01

ScribeFire 中添加 <code> 标签支持

Scribefire具体安装在 <firefox home path>/extensions/ 下的哪个目录可以在 extensions.rdf 文件中找到(搜索 "ScribeFire" 即可),以下文件操作的根目录均为 Scribefire 的安装目录。

1. 自定义 <code> style
文件 /chrome/skin/blank.css 中添加:
code {
  display: block;
  font-size: 110%;
  margin: 5px;
  margin-left: 1.3em;
  padding: 3px;
  padding-left:  10px;
  background: #eee;
  border: 1px solid #ccc;
  border-left: 3px solid #ccc;
}


2. 操作界面外观
文件 /chrome/skin/toolbar/toolbar-code.png
(自己作的“<code>”按钮图片)

文件 /chrome/skin/overlay.css 中设置按钮外观图片
#code-button {
  list-style-image: url(chrome://performancing/skin/toolbar/toolbar-code.png);
}


3. 界面、事件关联

文件 /chrome/content/editor.xul 中:
 1) 按钮事件关联:
<command id="cmd_blockquote" oncommand="performancingMidas.blockquote()"/>
下依葫芦画瓢之:
<command id="cmd_code" oncommand="performancingMidas.code()"/>

 2) 按钮布局:
<toolbarbutton id="blockquote-button" command="cmd_blockquote" tooltiptext="&performancing.editor.bar.quote.tt;"/>
下依葫芦画瓢之:
<toolbarbutton id="code-button" command="cmd_code" tooltiptext="&performancing.editor.bar.code.tt;"/>


文件 /chrome/content/midas.js 中定义事件响应,分别在:
performancingMidas.blockquote = function(){
...
}

case "blockquote":
...

case "blockquote":
...

下依葫芦画瓢之。


文件 /chrome/content/locale-default/overlay.dtd 中定义 tooltips,在
<!ENTITY performancing.editor.bar.quote.tt "Quote">
下依葫芦画瓢之:
<!ENTITY performancing.editor.bar.code.tt "Code">

又做了一件无聊之事~~

//EOF Read More...

2007-05-13

终于决定用Tor了

托我们伟大的国网(GFW)的福,这两天blogspot又不能访问了。。。
而以前的两个代理inblogs和pkblogs又都下线了,不想找别的代理,终于描上了以前听说过的Tor。
其实,原来别人也推荐过我用Tor,主要是保密方面的因素,而我平常也没什么好保密的,也就没有方在心上。
实际上Tor的特性决定了它在除通信保密之外很强的一个用途——可以当作灵活的代理来用——当然为了不要占用大家的资源只能用来作些通信量较小的工作,下载大文件那是最好不要做的。

安装配置方式,使用方法,Tor的主页上都说的很清楚了:
http://tor.eff.org/index.html.zh-cn

//EOF Read More...

2007-04-21

新版bloger模板设置[3]

这两天才发现新的bloger模板中有一个“Lables”模块,实现的就是那些分类的功能。
不过如果你的Bloger中有很多Lables的话,会出现一大版……影响美观啊~
于是我小改一下(添加 显示/隐藏 功能):
修改后Lables模块如下:

<b:widget id='Label1' locked='false' title='Labels' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2 onclick="NodeExpand('lable_list');" style="cursor:pointer;"><span id="mk1">&gt;</span><span id="mk2" style="display:none;">V</span> <data:title/></h2>
</b:if>
<div class='widget-content' id="lable_list" style="display:none;">
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>

<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>

还要在Bloger的模板中添加一个Javascript模块,添加内容如下:
<script language=javascript type=text/javascript>
function NodeExpand(divName) {
objDiv = document.getElementById(divName);
objMark1 = this.document.getElementById('mk1');
objMark2 = this.document.getElementById('mk2');
if (objDiv) {
if (objDiv.style.display == "block") {
objDiv.style.display = "none";
objMark1.style.display = "";
objMark2.style.display = "none";
} else {
objDiv.style.display = "block";
objMark1.style.display = "none";
objMark2.style.display = "";
}
}
}
</script>


还有怎么让那些labels不要显示在一条长列里面呢,模板中添加如下style:
#lable_list ul{list-style:none;}
#lable_list li{float:left;width:100px;}

规定lable_list中每列只占用100px宽,以及横向排列。


BTW: 开始那个手形光标把我搞晕了,很久以前记得应该是 cursor:hand; 的,结果这样竟然无效!?
后来google了才发现原来 hand 是M$的标准,W3C 标准应该用 cursor:pointer; !!
(哎~ M$ 太恶劣了,毒害了一代人啊!)
//EOF Read More...

2007-01-14

新版bloger模板设置[2]

在新版中加入“分类”其实很简单,在'Blog Archive'下面添加:(你也可以加在别的地方)

<div class='widget-content'>
<h2 class='sidebar-title'>Classify</h2>
<div style='margin-left: 10px;'><ul>
<li><a href='http://dave3068.blogspot.com/search?label=Program'>Program</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=C'>C</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=GTK'>GTK</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=Glib'>Glib</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=LFS'>LFS</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=kernel'>kernel</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=xorg'>xorg</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=bloger'>bloger</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=dao'>dao</a></li>
<li><a href='http://dave3068.blogspot.com/search?label=Life'>Life</a></li>
</ul></div></div>

-_- 不方便的是每添加一个新分类,都要去手动编辑一次模板。
//EOF Read More...

2006-12-22

新版bloger模板设置[1]

作者:h_Davy
===========================================
old:
<MainOrArchivePage>
   span.fullpost {display:none;}
</MainOrArchivePage>

<ItemPage>
   span.fullpost {display:inline;}
</ItemPage>
-------------------------------------------
new:

<style type='text/css'>
<b:if cond='data:blog.pageType != "item" '>
  span.hideonmain {display:none;}
<b:else/>
  span.hideonmain {display:inline;}
</b:if>
</style>
usage:
this will show on main
<span class="hideonmain">this will hide on main</span>

===========================================
old:
<MainOrArchivePage><br />
   <a href="<$BlogItemPermalinkURL$>">Read more!</a>
</MainOrArchivePage>
-------------------------------------------
new:
find the "<b:includable id='post' var='post'>" module,in the "<div class='post-body'>...</div>" field:
(follow the "<p><data:post.body/>" will better)
<b:if cond='data:blog.pageType != "item" '>
  <a expr:href='data:post.url'>Read More...</a>
</b:if>

===========================================
很久没上bloger了,今天上去看看发现改版了,出了个"new..."马上申请个试试:D
er...发现模板也用了新的模板技术(Ajex??),我之前对Ajex也没接触过,看Bloger的Help也看不出个头绪来,于是down了个template参考Help才慢慢摸出个头绪来。。。
新版的Template一般的布局、外观设置方便了很多,用Bloger的设置页面就可以了,模板中对应的是<b:skin><![CDATA[ ... ]]></b:skin>那段,所以那段我们暂时不用管。
so我们自己在<head></head>中加入一个<style>块,通过阅读之后的Template代码,发现用<b:if cond='data:blog.pageType != "item" '>(或<b:... == "item" '>)来判断是否(否是)在mainPage,并且可以用if ... else。
至于加入"Read More"就有些麻烦了,首先是位置,然后是变量名。
使用FireFox的FireBug括展或DOM括展可以轻松找到content的位置:
outer-wrapper -> wrap2 -> content-wrapper -> main-wrapper -> main -> Blog1 -> blog-posts -> post uncustomized-post-template -> post-body ...
在<b:includable id='main' 中可以找到'blog-post',如果你读过Bloger的Help,就会知道includable是定义一个模块、include是使用某模块。
下面的<b:include data='post' name='post' />就是我们要找的地方了,so找到'post'模块。。。接下来的一切将无比简单(在这里变量名已经给出了post.url,而post.link应该是浏览器Address里面显示的东西了--当前页面的地址)
而<data:post.body/>就是正文了。


另外:"codes"
div.codes {border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 500px; height: auto; text-align: left;}

<div class="codes">
codes here...
注意其中的'<'、'>'要换成'&lt;'、'&gt;',还有一些HTML转义符也要用相应的代之(如:'&'用'&amp;')
</div>
其实,bloger有个<blockquote>你只要重载它就可以了:
blockquote {border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 500px; height: auto; text-align: left;}


//EOF
Read More...