在您的範本裡安裝Neo
發表了Neo+Kubrick的Neokubrick後,這次來分享如何直接將Neo的功能加到現有的範本。如果您想要自己把自己的範本改造成具有Neo的功能,這篇主要是寫給有心研究Neo的進階使用者,所以可能對初學者會有點難懂。
警告:你很有可能把自己的template搞爛,請新開一個Blog測試,或是完整備份您的樣版。
首先要先研究您的範本,Blog的範本大部份都是二欄式或三欄式(一欄式或四欄式還滿屌的)。無論是幾欄式,要將Neo加入您的範本前,要注意一件事---那就是顯示最新文章列表的那個widget,要放在顯示文章區塊之前。
換言之
要放在
的前面。
如果不醬子放的話會如何呢?你可以試看看啊~(保持神袐)好啦,你不必試,答案是"回應"會跑不出來。
那麼問題來了,很多二欄式或三欄式的範本,文章區塊都在左邊,而放置最新文章列表的側邊欄都在左邊,在範本裡的原始碼通常是長醬子:
為了使Neo正常運行,您必需把main-wrapper移到最後面(最右邊)
然後再使用css的float功能讓它置左。
再用CSS來設定位置
OK,如果需要安裝Neo到您現有範本的話,要安裝下列widget。
Neo的Javascript連結
放在head裡面。
var numpost是最新文章顯示的篇數。
標籤與Logo的widget
顯示"最新文章列表"的widget
文章區塊主體的widget
註:
這個widget要覆蓋您範本裡原有的blog1 widget。
你可以不展開小裝置範本,直接覆蓋id=blog1的那個widget,它通常長醬子:
當然你也可以選擇展開小裝置範本來貼,只是範本裡的blog1的widget通常都落落長-_-。
相關文章:
警告:你很有可能把自己的template搞爛,請新開一個Blog測試,或是完整備份您的樣版。
首先要先研究您的範本,Blog的範本大部份都是二欄式或三欄式(一欄式或四欄式還滿屌的)。無論是幾欄式,要將Neo加入您的範本前,要注意一件事---那就是顯示最新文章列表的那個widget,要放在顯示文章區塊之前。
換言之
<b:widget id='Posts' locked='false' title='Posts' type='HTML'>
要放在
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'>
的前面。
如果不醬子放的話會如何呢?你可以試看看啊~(保持神袐)好啦,你不必試,答案是"回應"會跑不出來。
那麼問題來了,很多二欄式或三欄式的範本,文章區塊都在左邊,而放置最新文章列表的側邊欄都在左邊,在範本裡的原始碼通常是長醬子:
<div id='content-wrapper'>
<div id='crosscol-wrapper' style='text-align:center'>
<b:section class='crosscol' id='crosscol' showaddelement='no'/>
</div>
<div id='main-wrapper'>→main-wrapper就是主文章區塊
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='blog post' type='Blog'/>
</b:section>
</div>
<div id='sidebar-wrapper'>→sidebar-wrapper就是塞巴,不對,是側邊欄
<b:section class='sidebar' id='sidebar' preferred='yes'>
<b:widget id='Label1' locked='false' title='Labels' type='Label'/>
<b:widget id='HTML1' locked='false' title='Label Posts' type='HTML'/>
<b:widget id='HTML3' locked='false' title='Neo Logo' type='HTML'/>
</b:section>
</div>
</div>
為了使Neo正常運行,您必需把main-wrapper移到最後面(最右邊)
然後再使用css的float功能讓它置左。
<div id='content-wrapper'>
<div id='crosscol-wrapper' style='text-align:center'>
<b:section class='crosscol' id='crosscol' showaddelement='no'/>
</div>
<div id='sidebar-wrapper'>→sidebar移到了mainwrapper的上面
<b:section class='sidebar' id='sidebar' preferred='yes'>
<b:widget id='Label1' locked='false' title='Labels' type='Label'/>
<b:widget id='HTML1' locked='false' title='Label Posts' type='HTML'/>
<b:widget id='HTML3' locked='false' title='Neo Logo' type='HTML'/>
</b:section>
</div>
<div id='main-wrapper'>→可憐的main-wrapper乖乖待在下面吧
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='blog ??' type='Blog'/>
</b:section>
</div>
</div>
再用CSS來設定位置
#sidebar-wrapper {
margin-right: 14px;
width: 240px;
float: right;
background-color: $mainBgColor;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}
#main-wrapper {
margin-left: 14px;
width: 464px;
float: left;
background-color: $mainBgColor;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}
OK,如果需要安裝Neo到您現有範本的話,要安裝下列widget。
Neo的Javascript連結
放在head裡面。
var numpost是最新文章顯示的篇數。
<script charset='big5' language='javascript' src='http://nautica716.googlepages.com/neochinese.js'/>
<script language="javascript">
var numPosts = 10;
</script>
標籤與Logo的widget
<b:widget id='Labels' locked='false' title='Labels' type='Label'>
<b:includable id='main'>
<div id='LabelList'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<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='"javascript:fetchLatestPosts(\"" + data:blog.homepageUrl + "\",\"" + data:label.name + "\");"'><data:label.name/></a>&nbsp;(<data:label.count/>)
</b:if>
</li>
</b:loop>
</ul>
<b:include name='quickedit'/>
</div>
</div>
</b:includable>
</b:widget>
<b:widget id='NeoLogo' locked='false' title='Neo Logo' type='HTML'>
<b:includable id='main'>
<div class='widget-content'>
<p><a href='http://hackosphere.blogspot.com/2006/12/now-available-neo-template.html'><img src='http://www.anniyalogam.com/neo.png'/></a></p>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
顯示"最新文章列表"的widget
<b:widget id='Posts' locked='false' title='Posts' type='HTML'>
<b:includable id='main'>
<div id='LabelDisplay'>
<div id='LabelTitle'>
</div>
<div class='widget-content' id='LabelPosts'>
<script language='javascript'>fetchLatestPosts('<data:blog.homepageUrl/>', '');</script>
</div>
</div>
</b:includable>
</b:widget>
文章區塊主體的widget
註:
這個widget要覆蓋您範本裡原有的blog1 widget。
你可以不展開小裝置範本,直接覆蓋id=blog1的那個widget,它通常長醬子:
<b:widget id='Blog1' locked='true' title='blog 文章' type='Blog'/>
當然你也可以選擇展開小裝置範本來貼,只是範本裡的blog1的widget通常都落落長-_-。
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'>
<b:includable id='postQuickEdit' var='post'>
<b:if cond='data:post.editUrl'>
<span expr:class='"item-control " + data:post.adminClass'>
<a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
<span class='quick-edit-icon'> </span>
</a>
</span>
</b:if>
</b:includable>
<b:includable id='comments' var='post'>
<div class='comments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.allowComments'>
<h4>
<b:if cond='data:post.numComments == 1'>
1 <data:commentLabel/>:
<b:else/>
<data:post.numComments/> <data:commentLabelPlural/>:
</b:if>
</h4>
<dl id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt class='comment-author' expr:id='"comment-" + data:comment.id'>
<a expr:name='"comment-" + data:comment.id'/>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='"#comment-" + data:comment.id' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</dd>
</b:loop>
</dl>
<p class='comment-footer'>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
</p>
</b:if>
<div id='backlinks-container'>
<div expr:id='data:widget.instanceId + "_backlinks-container"'>
<b:if cond='data:post.showBacklinks'>
<b:include data='post' name='backlinks'/>
</b:if>
</div>
</div>
</div>
</b:includable>
<b:includable id='main' var='top'>
<!-- POSTS -->
<div class='blog-posts'>
<b:loop values='data:posts' var='post'>
<b:include data='top' name='status-message'/>
<b:include data='post' name='post'/>
<script language='javascript'>
var blogAuthor = '<data:post.author/>';
fetchComments('<data:post.id/>');
</script>
</b:loop>
</div>
<b:if cond='data:blog.pageType != "archive"'>
<div class='comments' id='comments'>
<center><h2>No comments yet</h2></center>
</div>
</b:if>
</b:includable>
<b:includable id='backlinkDeleteIcon' var='backlink'>
<span expr:class='"item-control " + data:backlink.adminClass'>
<a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'>
<span class='delete-comment-icon'> </span>
</a>
</span>
</b:includable>
<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:feedLinksMsg/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>
<b:includable id='backlinks' var='post'>
<a name='links'/><h4><data:post.backlinksLabel/></h4>
<b:if cond='data:post.numBacklinks != 0'>
<dl class='comments-block' id='comments-block'>
<b:loop values='data:post.backlinks' var='backlink'>
<div class='collapsed-backlink backlink-control'>
<dt class='comment-title'>
<span class='backlink-toggle-zippy'> </span>
<a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a>
<b:include data='backlink' name='backlinkDeleteIcon'/>
</dt>
<dd class='comment-body collapseable'>
<data:backlink.snippet/>
</dd>
<dd class='comment-footer collapseable'>
<span class='comment-author'><data:post.authorLabel/> <data:backlink.author/></span>
<span class='comment-timestamp'><data:post.timestampLabel/> <data:backlink.timestamp/></span>
</dd>
</div>
</b:loop>
</dl>
</b:if>
<p class='comment-footer'>
<a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + "_backlinks-create-link"' target='_blank'><data:post.createLinkLabel/></a>
</p>
</b:includable>
<b:includable id='status-message'>
<b:if cond='data:navMessage'>
<div class='status-msg-wrap'>
<div class='status-msg-body'>
<data:navMessage/>
</div>
<div class='status-msg-border'>
<div class='status-msg-bg'>
<div class='status-msg-hidden'><data:navMessage/></div>
</div>
</div>
</div>
<div style='clear: both;'/>
</b:if>
</b:includable>
<b:includable id='feedLinks'>
<b:if cond='data:blog.pageType != "item"'> <!-- Blog feed links -->
<b:if cond='data:feedLinks'>
<div class='blog-feeds'>
<b:include data='feedLinks' name='feedLinksBody'/>
</div>
</b:if>
<b:else/> <!--Post feed links -->
<div class='post-feeds'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.allowComments'>
<b:if cond='data:post.feedLinks'>
<b:include data='post.feedLinks' name='feedLinksBody'/>
</b:if>
</b:if>
</b:loop>
</div>
</b:if>
</b:includable>
<b:includable id='nextprev'>
<div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
<b:else/>
<b:if cond='data:newerPageUrl'>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
</b:if>
</b:if>
</div>
<div class='clear'/>
</b:includable>
<b:includable id='commentDeleteIcon' var='comment'>
<span expr:class='"item-control " + data:comment.adminClass'>
<a expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'>
<span class='delete-comment-icon'> </span>
</a>
</span>
</b:includable>
<b:includable id='post' var='post'>
<div class='post' id='post'>
<a expr:name='data:post.id'/>
<h2 class='date-header' id='PostDate'>
<data:post.dateHeader/>
</h2>
<h3 class='post-title' id='PostTitle'>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3><br/>
<div class='post-header-line-1'/>
<style>#fullpost {display:none;}</style>
<div class='post-body' id='PostContent'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<span id='showlink' style='display:none'>
<p><a href='javascript:showFullNeo();'>Read More...</a></p>
</span>
<span id='hidelink' style='display:none'>
<p><a href='javascript:hideFullNeo();'>Collapse...</a></p>
</span>
<script type='text/javascript'>
checkFullNeo();
</script>
<div class='post-footer'>
<p class='post-footer-line post-footer-line-1'>
<span class='post-author'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/> <data:post.author/>
</b:if>
</span>
<b:if cond='data:post.editUrl'>
<span expr:class='"item-control " + data:post.adminClass' id='PostEditLink'>
<a expr:href='data:post.editUrl' title='Edit Post'>
<span class='quick-edit-icon'> </span>
</a>
</span>
</b:if>
</p>
<h3 class='post-comment-link' id='PostCommentLink'>
<a expr:href='data:post.addCommentUrl' target='_blank'>Post a Comment</a>
</h3>
<span class='post-icons'>
<!-- email post links -->
<b:if cond='data:post.emailPostUrl'>
<span class='item-action'>
<a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
<span class='email-post-icon'> </span>
</a>
</span>
</b:if>
</span>
</div>
<div id='backlinks-container'>
<div expr:id='data:widget.instanceId + "_backlinks-container"'>
<b:if cond='data:post.showBacklinks'>
<b:include data='post' name='backlinks'/>
</b:if>
</div>
</div>
</div>
</b:includable>
</b:widget>
相關文章:
人人有用Neo吧?= =
回覆刪除我打算先直接用neokubrick,雖然些Hacks就得重做了....
我是學"人人有功練"啦
回覆刪除還是改一下名字好了-_-
好有創意唷,想請教一下嘿,我有使用"試用"的功能套用我的範本並試操作了一下,發現當中在文章的點閱速度之快,請問是拜該模板中的語法所致嗎?可以將該功能套用一般模組內嗎?
回覆刪除再想請教第二點,(因為在下書念得少^^")
我的部落格在IE瀏覽下常常會出現"卡頁",也就是無法完全顯示網頁,但左下方卻顯示[完成]的情形,以大大的功力如此深厚,可以教我該如何排解此問題嗎?
艾迪
回覆刪除您的問題可以在這篇文章得到解答
http://ooxxoox.blogspot.com/2007/07/bloggerneo-template.html
至於您Blog卡頁,應該是hack灌太多了,導致javascript的錯誤。
而且我不是學資訊的,所以可能也幫不了太多忙。
最簡單的方式,就是灌firefox
請到我BLOG右上方的連結下載安裝科科
olly
回覆刪除不管什麼版型
要改樣式
就要先找到該div的id
然後用css去改它
label的id應該是label2
所以你就用
#label2 {
background:white;
}
大概是醬子
你可以自己看我的原始碼
或參考
http://chinese-school.netfirms.com/css-tutorial-T-Chinese-index.htm
阿倫同學,對不起,我們是弘光網路電視台。我們用了你做的那一組ccs模組去改出我們要的版面。
回覆刪除但是我們不小心把posts(顯示最新文章)的那個網頁元素刪除了,結果就發生你說的不會顯示回應的狀況。
請問我們要怎麼把他救回來呢?
因為其實我對於ccs根本就是菜鳥中的菜鳥...研究了半天我還是看不懂,只好求助於站長了。
@小花兒
回覆刪除您好,你們很會改啊,超有創意的TEMPLETE
可是我不太懂你所謂的"但是我們不小心把posts(顯示最新文章)的那個網頁元素刪除了。。。
因為我剛去看,是有最新文章啊,我也不知道你們那篇文章才有回應
總之解決的方法,(WAIT)
我剛去再看一次,好像已經解決了吧?
good job...
恩,是的,我們已經解決了。
回覆刪除不過我還是大概說一下我們碰上的問題,
就是最新回應的那個網頁元素,我們是希望把他拿掉,所以就移除了這個網頁元素。
結果回應就跑不出來了,昨天我看了半天的ccs才找回這個網頁元素的語法把他貼回去,就解決了。
不過我還是想問一下...不曉得有沒有辦法把最新回應拿掉、回應還是可以跑出來?
謝謝阿倫"校長"的解惑了!(剛剛才被同學糾正應該要叫校長XD)
@小花兒
回覆刪除我好像變老人了,聽不太懂妳在講什麼>_<
什麼叫"不曉得有沒有辦法把最新回應拿掉、回應還是可以跑出來啊
因為哦,我的範本是沒有內建"最新回應"的
所以你們拿掉的"最新回應",跟這個範本沒有關係
易言之,我猜你們根本刪錯網頁元素了。
另外要補充的是,css是css,xml是xml,二者不一樣哦,不是看不懂的都叫css。
css是那一坨
.body { fuck : 9pt }
而xml是
<B:WIDGET></B>
那一坨。
請問一下
回覆刪除我用了個新template想嘗試套用neo看看
但典籍最新文章列表卻不會更新文章
想請阿倫大大幫忙看下~麻煩了
http://45645416.blogspot.com/
@wei
回覆刪除要將文章區塊主體的widget複製好哦
阿倫校長 我好愛你~~
回覆刪除你的教學真是太棒了~~
http://drs425.blogspot.com
用你的教學做出來的。太愛你了!!
改的不錯啊
回覆刪除加油哦
倫校長,安裝neo可以不要用它的繼續閱讀語法,用這篇http://chenkaie.blogspot.com/2006/11/blog-adding-read-more-tag-in-blogger.html的語法嗎?是不是文章區塊主體widget要修改?自己嘗試修改,改不出來,可以指導一下嗎,衷心的謝謝你^^;
回覆刪除@匿名
回覆刪除neo的繼續閱讀
好像有內建
但我不太懂
去問Kaie比較好
Kaie:"躺著也中槍"
作者已經移除這則留言。
回覆刪除作者已經移除這則留言。
回覆刪除阿倫校長 : 你好 我 焦糖莫...又來了...=.= ,想問你neo的文章區塊好像不能用這篇http://joshnote.blogspot.com/2008/06/blogger-in-draftembedded-comment-form.html內坎式意見表單後?
回覆刪除改老半天改不出來,冏,neo的文章區塊好難改....我試著改,有出來一下@@,測試回覆意見後,就又不見了,我想是neo.js的問題吧?可是我不知道怎麼在js裡面加入html的語法@@?
還有一個小問題,作者回應怎麼讓他加入底圖底色呢?Kaie大大在文章說他不會耶@@
打擾了..
http://drs425.blogspot.com