昨天花了大半天时间,把Douglas Bowman(http://www.stopdesign.com)blogger设计的模板搬过来了,以前用摆渡空间时,我就模仿过这个模板。

我想调整一下背景图片的,可是机器上没有图片编辑软件,就把去年8月用Firework为摆渡空间制作的背景图片原封不动地拿来了。

模板的XHTML代码是自己重写的,而不是在blogbus的基础上修改。我觉得blogbus缺省的indexdetail代码块太臃肿了,我的blog不需要嵌套这么多层的div。模板的CSS代码参考了Nice and Free CSS Templates(http://www.mycelly.com/)

代码是用VS8写的,以前喜欢Editplus,终究抗不住VS的吸引,太强大了,从C#/C++编程,到XSLT/XML,到CSS,到HTML,几乎没有它不能做的事。

>>>>>>>>>>>>>>>>>

FirefoxIE对“盒子”的尺寸的理解似乎不同,一个认为不包括padding,一个认为包括。所以比较妥当的做法是让盒子的padding0。如果确实需要设置盒子的padding,就改为设置它的内嵌盒子的margin

但是不能把所有HTML元素的padding都设为0。我一直很奇怪怎么会有这么多人喜欢在CSS的开头写

* {margin: 0; padding: 0;}

html {margin: 0; padding: 0;}

甚至连www.mycelly.com都没有避免这种做法。这种CSS代码直接就把ul,ol,dl这样的HTML元素彻底阉割了:没有项目符号(或序号),没有缩进,还叫什么listblogbus的缺省模板用ul组织日志列表,我在自己的模板中坚决抵制,这个我以前已经说过了。

不过,如果确实需要用不带项目符号、不带缩进的ul,仍然要注意FirefoxIE的差异,它们一个认为列表的“缩进”是padding,一个认为是margin,所以妥当的做法是把paddingmargin都置为0,这时候甚至不需要显式设置list-style属性为none

>>>>>>>>>>>>>>>>>

设计网页是件美好的事,不过我的职业是程序员,只是会敲一些代码,在美工方面谈不上什么技能。我有一个远期计划,就是自己设计一张背景图片,暂时还没有任何具体的想法。

2007-10-27

初识blog API

RSS,Atom,Alterative,Aggregation,API,RPC...一晚上都在围绕这些东西查资料、做实验。

其实最初的动机是想知道,各种离线blog发布工具是怎么工作的?从MS网站上了解到,Word 2007已经支持blog发布了,是不是说,它可以作为weblog的客户端?那么,blogWord 2007ScribeFire这样的工具之间,是怎么沟通的?

我一度以为一个blog是否支持离线工具,取决于它使用“Atom”还是“RSS”,读了几片E文,觉得feed与离线发布无关,应该存在某个协议“API”

搜索“blog离线发布原理,得到的一大堆结果全是关于这个那个工具的。后来把blogspotAtom源和API都下载了下来,发现是它们根本就是同一个XML文件,符合Atom格式的。
又搜了一大堆,似乎找到正解了:XML-RPC!

What is XML-RPC?

It's a spec and a set of implementations that allow software running on disparate operating systems, running in different environments to make procedure calls over the Internet.

It's remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.

这里Blogger 1.0 API的文档,虽然已经被弃用了,但对我这样不为开发只为解惑的人,还是极有参考价值的。其中说到:

Protocols
The Blogger API is currently implemented for XML-RPC. There may be others some day.
Methods
These are the available methods:
blogger.newPost: Makes a new post to a designated blog. Optionally, will publish the blog after making the post.
blogger.editPost: Edits a given post. Optionally, will publish the blog after making the edit.
blogger.getUsersBlogs: Returns information on all the blogs a given user is a member of.
blogger.getUserInfo: Authenticates a user and returns basic user info (name, email, userid, etc.).
blogger.getTemplate: Returns the main or archive index template of a given blog.
blogger.setTemplate: Edits the main or archive index template of a given blog.

PS. 说了不熬夜的~~赶紧去睡了!!

2007-10-19

blog背景音乐

看别人的blog时,第一件事一般是关掉背景音乐,如果有的话。

我也不是从来不听,相反,我有时候会专门去听别人的背景音乐,动机是:这个人喜欢的音乐会是什么样子?

基本上,blog的背景音乐是弄给别人听的,你希望你的音乐能向别人表达一些信息。另一方面,如果别人对你不感兴趣,多半不愿意听你的音乐,除非那音乐碰巧正是他想听的,然而这种可能性很小。

天下的音乐有无数,每个人发现的只是其中的极少一部分,而选为背景音乐的,一般又是其中较偏的,而不大可能是当下正火的流行音乐。也就是说,blog背景音乐的使命是表达主人的个性,一般不是那种人见人爱、一听就入耳的。所以问题就来了,从我自己的体会讲,人不愿意在无准备的情形下听陌生的音乐。

我的观点是,blog的背景音乐默认应该是关闭的,除非背景音乐对烘托blog主题极有帮助,以至于可以充当blog的“主题歌”。如果别人愿意听,是不会嫌点一下"play"按钮麻烦的,反之则不然。

___________________________

而且,blog背景音乐普遍面临的一个技术障碍是,页面一跳转,音乐就中断了。于是有人询问怎么让blog总是在新窗口中打开页面,这显然不是好办法,我觉得正点的解决方案是使用框架(frame),像极品音乐论坛那样:首页的全部内容就是一个frameset,内容页无论怎么跳,都局限在第一个frame里,第二个frame的音乐不受影响。

H2二级标题

H3三级标题

第一段。在WORD里定义了几个样式,如code,term等。WORD还自己定义了一些样式,比如MsoNormal

第二段。在BlogBus模板中定义了以上的CSS样式。

//这是代码
//This is code
function hello()
{
//…
}

这是术语This is a term.正文上标下标

不在

里的文字。

2007-09-22

博客宗旨

为了把握住这个博客的本色,暂定了几个原则,用以判断哪些内容可以进我的博客。

原则一,绝对地以自我为中心

内容必须是关于我自己的,最低限度是关于我熟悉的人或感兴趣的事。

原则二, 不假想任何潜在的读者

这个博客的本意是记录,绝不出于对别人的考虑而扭曲我的写作动机。