很久就想升级了,但是由于自己以及sablog-X 2.0还是测试版的原因,所以就一直拖着。常关注的另一款轻量级的BLOG程序Typecho发布了0.3Alpha版。最近无所事事闲呆在家里,所以就把现在用的程序升级并制作了新的风格,算是为转换到Typecho做准备吧。呵呵!新风格各小块来自几个优秀的BLOG风格,再经我之手把它们组合成一个大块,就是大家现在看到的了。因为新风格的关系,相应修改了部分程序代码。
关于新风格:现在适用于Sablog-X Plus 2.0 Build 20081204(有部分代码修改)。
一、关于顶部和底部的图片:来自08年春节期间我回老家时照的老屋,在老屋度了快乐的童年、小学以及初中。现在已经很少会回去那了(一般就过年回去一次走亲戚)。可惜的是现在老屋周围已长满了很高很高的野草(有多高?看下底部的图片就知道了)。使用这张照片的原因是:希望提醒自己无论去到哪都不要忘了一些事,一些曾经帮助过我家的人,提醒自己心荒废了也会像荒废了的老屋一样长满野草。所以以这张图片为主整出了这个新的风格。欢迎大家就这两张图片在整个页面的中的其它配色给我建议,图片不能换,谢谢!
二、关于配色及结构:因为老屋照片颜色的特殊及鲜艳光亮,所以使用PhotoShop调暗了很多。从A君家拿来了背景配色和分页列表样式。分栏结构、左边日期及搜索框来自一款WooThemes发布的免费的Wordpress主题Typebased。顶部导航和评论列表样式来自UtomBox,其中评论列表样式参考蓝风的做了修改。代码高亮显示CSS也直接来自蓝风,懒得从编辑器中找出来。还有其它的一些细节修改。
其中新建侧栏文件sidebar.php,使用<!--{if $total}--> <!--{/if}--> 标签控制不想在内页显示的内容。效果请看本站任意内页。
- //侧栏sidbar.php中使用,标签来自normal.php
- <!--{if $total}-->
- 不想在内页显示的内容
- <!--{/if}-->
在其它页面中统一使用 {template sidebar} 调用,在模版中减少侧栏代码重复编写。多一个判断效率可能会低一点,但就是一个BLOG而尔,何足挂齿呢?
关于程序修改:涉及的文件
- modules/article.php
- modules/show.php
- modules/comments.php
- include/func/front.func.php
- templates/admin/cp.css
- templates/admin/main.php
01、modules/article.php 加入变量 $article['year'],目的见左上角日期样式。
- //隐藏变量,默认模板用不着,方便那些做模板可以单独显示月份和号数的的朋友.
- $article['year'] = sadate('Y', $article['dateline']);
02、modules/show.php 同样加入变量 $article['year'] ,变量代码同上。
另外加入获取最新发表的5篇文章代码,感谢小T的帮助。代码如下:
- //获取最新5篇文章
- $query_sql = "SELECT articleid,stick,dateline,title,views,comments,alias FROM {$db_prefix}articles WHERE visible='1' ORDER BY dateline DESC LIMIT 0,5";
- $query = $DB->query($query_sql);
- while ($article2 = $DB->fetch_array($query)) {
- $article2['url'] = getpermalink($article2['articleid'], $article2['alias']);
- $article2['title'] = trimmed_title($article2['title'], 15);
- $newArticleDb[] = $article2;
- }
- //TAGS
因为变量$article冲突,所以改为用$article2。另外在文章是否加密判断
- $article['allowread'] = 0;
后面加入如下代码:
- // 跳转
- $goto = $_GET['goto'];
- if ($goto == 'next') {
- //跳转到下一篇文章
- $row = $DB->fetch_one_array("SELECT articleid,alias FROM {$db_prefix}articles WHERE dateline > '".$article['dateline']."' AND visible='1' ORDER BY dateline ASC LIMIT 1");
- if($row) {
- if ($options['showmsg']) {
- message('正在读取.请稍侯.', redirect_permalink($row['articleid'], $row['alias']));
- } else {
- @header('Location: '.redirect_permalink($row['articleid'], $row['alias']));
- }
- } else {
- message('没有比当前更新的文章', redirect_permalink($article['articleid'], $row['alias']));
- }
- } elseif ($goto == 'previous') {
- //跳转到上一篇文章
- $row = $DB->fetch_one_array("SELECT articleid,alias FROM {$db_prefix}articles WHERE dateline < '".$article['dateline']."' AND visible='1' ORDER BY dateline DESC LIMIT 1");
- if($row) {
- if ($options['showmsg']) {
- message('正在读取.请稍侯.', redirect_permalink($row['articleid'], $row['alias']));
- } else {
- @header('Location: '.redirect_permalink($row['articleid'], $row['alias']));
- }
- } else {
- message('没有比当前更早的文章', redirect_permalink($article['articleid'], $row['alias']));
- }
- }
- //获取最新5篇文章
- $query_sql = "SELECT articleid,stick,dateline,title,views,comments,alias FROM {$db_prefix}articles WHERE visible='1' ORDER BY dateline DESC LIMIT 0,5";
- $query = $DB->query($query_sql);
- while ($article2 = $DB->fetch_array($query)) {
- $article2['url'] = getpermalink($article2['articleid'], $article2['alias']);
- $article2['title'] = trimmed_title($article2['title'], 15);
- $newArticleDb[] = $article2;
- }
目的是在加密的文章页面中让 上一篇|下一篇 ,最新文章 功能可用。效果演示:http://www.dken.net/archives/12/。
03、modules/comments.php 评论作者链接加入rel="external nofollow"
- $comment['author'] = '<a href="'.$comment['url'].'" rel="external nofollow" target="_blank">'.$comment['author'].'</a>';
04、include/func/front.func.php 修改引用的输出格式
- $content = preg_replace("/\[quote\]\s*(.+?)\s*\[\/quote\]/is", "<div class=\"quote\">\\1</div>", $content);
- $content = preg_replace("/\[quote=(.*?)\]\s*(.+?)\s*\[\/quote\]/is", "<div class=\"quote\"><span style=\"font-weight: bold;\">引用 \\1 说过的话:</span><br>\\2</div>", $content);
- //图片附件中加入 rel=\"lytebox\[vacation\]\
- //目的为Lytebox实现LightBox效果 2009-1-16
- <div class=\"attach\"><a href=\"".$options['url']."attachment.php?id={$article[image][$aid][0]}\" target=\"_blank\" rel=\"lytebox\[vacation\]\">
效果请看:http://www.dken.net/contact/ 中评论含有 “Re” 和 “引用XXX说过的话” 的两种格式。第一句代码的功能是:当引用不包含评论作者时(直接[quote]***[/quote])也可用。第二句代码仅是修改输出格式。
05、templates/admin/cp.css 和 templates/admin/main.php ,后台模版修改。让后台具中显示及去掉一些字。
有什么问题请帮我提出,谢谢。过几天将加入 Facebox 或 Lytebox 中的一个。




点击引用该评论回复
点击引用该评论回复
不错,很喜欢。我还是觉得这种色调会“耐看”,虽然没有很“sharp”,但是慢慢会越来越觉得舒服。
呵呵,这是我第一次做风格。虽然代码全是抄来的。:)
点击引用该评论回复
我真是见异思迁,用了几天WP又想换到SA了。。。
点击引用该评论回复
不错不错~
我真是见异思迁,用了几天WP又想换到SA了。。。
人家想转转不出,你却转回来。。
点击引用该评论回复
引用 Lane 说过的话:
不错不错~
我真是见异思迁,用了几天WP又想换到SA了。。。
人家想转转不出,你却转回来。。
....我也是转回来了,wp2.71版后台那速度,简直乌龟
点击引用该评论回复
点击引用该评论回复
点击引用该评论回复
我已经从sablog2.0转为Typecho0.8了,哈!
现在我呀,能用就行了,不想折腾了,唉