B3log 皮肤开发方法

B3log 简介 http://code.google.com/p/b3log-solo/

wiki:http://code.google.com/p/b3log-solo/wiki/develop_steps

文件结构

名称

说明

/css/*

存放皮肤样式。

/images/*

存放皮肤用到的图片。

archive-articles.ftl

某年某月所写文章的列表页面。

article-list.ftl

文章列表,复用于archive-articles.ftl,author-articles.ftl,tag-articles。

article.ftl

文章页面。

author-articles.ftl

某用户所写文章的列表页面。

error.ftl

错误页面。

footer.ftl

页尾,复用于各个页面。

header.ftl

页头,复用于各个页面。

index.ftl

首页页面。

macro-comments.ftl

评论列表及回复的宏定义,用于文章页面和自定义页面。

macro-head.ftl

head 标签中的宏定义,用于各个页面。

page.ftl

自定义页面。在博客后台的页面管理中所建页面均使用该模板来进行显示。

side.ftl

侧边栏,包括公告、最新评论、评论最多的文章访问最多的文章、分类标签、友情链接、存档。复用于各个页面。

tag-articles.ftl

含有某标签文章的列表页面。

tags.ftl

罗列所有标签的页面。

top-nav.ftl

顶部导航,复用于各个页面。

preview.png

此皮肤首页截图(280*160)。

skin.properties

皮肤信息。
name:皮肤名称(此名称将作为皮肤名列在<后台管理-偏好设定-皮肤>中)。
memo:备注,可记录所仿皮肤的站点或名称等信息。


具体开发

  1. 在 skins 目录中新建文件夹,用于存放一款皮肤所需的各个文件,文件结构如上所示。
  2. 可参照 /classic 目录中的 ftl 文件进行创建及相应的修改。
  3. 建议从 index.ftl 开始修改。一旦 index.ftl 的结构确定下来,其余页面的结构与此基本类似。当然,其中通过 <#include “xxx.ftl”> 包含了一些通用的页面。


  4. 注意事项

    1. macro-comments.ftl 中标签 id 不可进行更改。
    2. top-nav.ftl 不可进行更改。
    3. 部分公用方法已被提取到 /js/common.js 和 /js/page.js 文件中。
    4. 如有任何疑问请与 Vanessa 联系

    5.  

       wiki:http://code.google.com/p/b3log-solo/wiki/template_variables

      模板变量

      • 如果模板变量的类型是 JSONObject,其字段属性参考 org.b3log.solo.model 包下的类
      • 每个页面都包含一些公共模板变量,这些模板变量单独列出(不在 *.ftl 表中给出)
      • 每个页面的模板变量如以“Label”结果,则为多语言配置文件,参看 lang_zh_CN.properties


      • 公共的模板变量








































































































































































        变量名类型说明备注
        pathStringAction 路径 
        archiveDatesList<JSONObject>存档日期列表 
        articlesList<JSONObject>存档文章列表 
        blogTitleString博客标题 
        blogHostString博客地址值如:”vanessa.b3log.org:80”
        blogSubtitleString博客子标题 
        htmlHeadString用户自定义的 HTML Head 
        linksList<JSONObject>链接列表 
        localeStringString区域设定字符串值如:”zh_CN”
        metaKeywordsString用户自定义的关键字 
        metaDescriptionString用户自定义的描述 
        mostCommentArticlesList<JSONObject>评论最多的文章列表 
        mostUsedTagsList<JSONObject>引用最多的标签列表 
        mostViewCountArticlesList<JSONObject>访问最多的文章列表 
        noticeBoardString用户自定义的公告栏 
        oIdString存档日期对象 Id 
        pageNavigationsList<JSONObject>自定义页面列表 
        paginationFirstPageNumInteger文章列表分页第一页页码 
        paginationLastPageNumInteger文章列表分页最末页页码 
        paginationPageNumsList<Integer>文章列表分页页号 
        paginationPageCountInteger文章列表页数 
        recentCommentsList<JSONObject>最新评论列表 
        skinDirNameString当前使用的皮肤目录名 
        statisticJSONObject统计信息对象 
        usersList<JSONObject>用户列表 
        versionString当前使用的 B3log Solo 版本 
        yearString当前年份 


        archive-date-articles.ftl













        变量名类型说明备注
        archiveDateJSONObject存档日期对象 


        article-detial.ftl























































        变量名类型说明备注
        articleJSONObject文章对象 
        articleCommentsList<JSONObject>文章评论列表 
        externalRelevantArticlesDisplayCountInteger站外相关文章显示数 
        nextArticlePermalinkString下一篇文章链接 
        nextArticleTitleString下一篇文章标题 
        previousArticlePermalinkString上一篇文章链接 
        previousArticleTitleString上一篇文章标题 
        relevantArticlesList<JSONObject>相关文章列表 


        page.ftl



















        变量名类型说明备注
        pageJSONObject自定义页面对象 
        pageCommentsList<JSONObject>自定义页面评论列表 


        tag-articles.ftl













        变量名类型说明备注
        tagJSONObject标签对象 


        tags.ftl













        变量名类型说明备注
        tagsList<JSONObject>标签列表