• 荣耀V10发布会看点汇总:这些亮点不容错过! 2019-05-02
  • 沙特队所坐飞机引擎起火 降落后全体队员安全抵达酒店 2019-05-02
  • 世界杯带火巴西家居产业 2019-04-26
  • “中国网事·海航集团感动2017”年度网络人物评选启动 2019-04-26
  • 朝阳消防联合快递行业开展消防安全宣传培训系列活动 2019-04-05
  • 期待已久的桃花运 竟然可以穿出来?! ——凤凰网房产广州 2019-04-05
  • 中关村雍和航星科技园,北京中关村雍和航星科技园 2019-03-22
  • 潇湘玉竹版主辛苦了! 2019-02-13
  • 端午新经济体验无处不在 “指尖端午”玩出新花样 2019-02-13
  • 工信部:鼓励婴幼儿配方乳企质量安全追溯体系建设 2018-12-30
  • "皮肤开发 框架简介 solo/src/main/webapp 页面结构 |- admin // 后台管理 |- www.zpvv.netmon-template // 通用模版 | |- kill-browser.ftl // 对非现代浏览器展现的提示 | |- label.ftl // js 中需要使用到的 Java 变量 | |- .."

    Solo 皮肤开发指南

    皮肤开发

    框架简介

    solo/src/main/webapp 页面结构

     天中图库好运财新福 www.zpvv.net |- admin                        // 后台管理
    |- www.zpvv.netmon-template	        // 通用模版
    |  |- kill-browser.ftl          // 对非现代浏览器展现的提示
    |  |- label.ftl                 // js 中需要使用到的 Java 变量
    |  |- macro-www.zpvv.netment_script.ftl  // 评论宏
    |  |- macro-www.zpvv.netmon_head.ftl     // html 中的 head 宏
    |  |- macro-www.zpvv.netmon_page.ftl     // 皮肤以外的其他页面宏
    |  |- macro-user_site.ftl       // 用户自定义的站点宏
    |  |- search.ftl                // 搜索页面
    |  |- start.ftl                 // 开始使用页面,即登录 / 注册
    |  |- share.ftl                 // 分享,需配合 page.share() 使用
    |  |- toc.ftl                   // 文章目录
    |  |- top-bar.ftl               // 皮肤顶部导航栏,可选
    |- error                        // 错误页面
    |- images                       // 通用图片
    |- js                           // js 目录
    |  |- admin                     // 后台 js 
    |  |- lib                       // js 第三方库
    |  |- www.zpvv.netmon.js                 // 通用方法
    |  |- page.js                   // 文章页面通用方法
    | - markdowns                   // 存放导入的 markdowns
    | - plugins                     // 插件
    | - scss                        // 样式文件
    |- skins                        // 参见下面的皮肤结构
    |- WEB-INF                      // 页面资源配置
    |- CHANGE_LOGS.html             // 版本修改历史
    |- manifest.json                // 移动站点描述
    |- robots.txt                   // 爬虫设置
    |- sw.js                        // service work 文件
    

    solo/src/main/webapp/skins/skin-name 皮肤结构

    |- css                       // 样式目录
    |  |- fonts                  // 字体文件
    |  |- base.scss              // 使用 sass,npm run dev 可生成 base.css 文件
    |  |- base.css               // 样式,尽量避免使用行内样式及页内样式
    |- images                    // 图片目录
    |- js                        // JavaScript 目录
    |  |- www.zpvv.netmon.js              // 脚本,尽量避免在 ftl 中写脚本
    |  |- www.zpvv.netmon.min.js          // npm run build 后根据 www.zpvv.netmon.js 生成
    |- lang                      // 语言配置文件,当 solo/src/main/resources/lang_zh_CN.properties 中无配置时可添加至此
    |  |- lang_en_US.properties  // 英文
    |  |- lang_zh_CN.properties  // 中文
    |- archive-articles.ftl      // 某年某月所写文章的列表页面
    |- archives.ftl              // 存档列表页面
    |- article.ftl               // 文章页面
    |- article-list.ftl          // 文章列表,可复用于有文章列表的页面
    |- category-articles.ftl     // 某分类下的文章列表页面
    |- www.zpvv.netmon-www.zpvv.netment.ftl        // 评论模版
    |- dynamic.ftl               // 动态页面
    |- footer.ftl                // 页尾
    |- header.ftl                // 页头
    |- index.ftl                 // 首页页面
    |- links.ftl                 // 链接列表页面
    |- author-articles.ftl       // 某用户所写的文章列表页面
    |- macro-www.zpvv.netments.ftl        // 评论列表及回复的宏
    |- preview.png               // 皮肤首页截图,大小为 280px * 160px
    |- side.ftl                  // 侧边栏
    |- skin.properties           // 皮肤信息
    |- tag-articles.ftl          // 某标签的文章列表页面
    |- tags.ftl                  // 标签列表页面
    

    开发步骤

    1. 安装 node 环境,根目录下运行 npm install。
    2. solo/src/main/webapp/skins 目录下按照皮肤结构创建对应的文件夹及文件??刹握?nijigen 皮肤。
    3. 根目录下运行 npm run dev 对 scss 文件进行热编译,实时生成对应的 css。
    4. 从 index.ftl 开始入手依次编写页面。

    Pjax 使用

    1. 引入 ${staticServePath}/js/lib/www.zpvv.netpress/pjax.min.js [已包含 jquery-3.1.0.min.js]
    2. scss 文件中添加 @import "../../../scss/nprogress";
    3. 页面中需要 pjax 的部分请参照以下代码进行修改
    <div id="pjax">  
    <#if pjax><!---- pjax {#pjax} start ----></#if>
    我是需要 pjax 的内容
    <#if pjax><!---- pjax {#pjax} end ----></#if>  
    </div>
    ...
    <#if pjax><!---- pjax {#pjax} start ----></#if>
    我是需要 pjax 的脚本
    <#if pjax><!---- pjax {#pjax} end ----></#if>  
    
    1. 调用 Util.initPjax
    2. 在文章页面、首页、其他页面来回切换进行 pjax 测试,检查功能和脚本是否正常。

    注意事项

    ? ${year} <a href="${servePath}">${blogTitle}</a> ${footerContent}
    Powered by <a href="https://solo.b3log.org" target="_blank">Solo</a> 
    Theme <a rel="friend" href="code-site" target="_blank">${skinDirName}</a>
     <sup>[<a href="reference-site" target="_blank">ref</a>]</sup> 
    by <a href="your-site" target="_blank">your-name</a>
    

    模板变量

    公共模板变量

    变量 类型 说明
    hljsTheme String 代码高亮主题
    usite Map 用户站点配置信息
    footerContent String 页脚自定义内容
    adminUser JSONObject 管理员
    userName String 当前登录用户名
    isIndex Bool 判断是否是首页
    faviconAPI String 获取 favicon API 地址
    isLoggedIn Bool 用户登录判断
    gravatar String 当前登录人的 gravatar 地址
    runtimeMode String 运行模式,例如 DEVELOPMENT
    runtimeEnv String 运行环境,例如 GAE
    pageType String 当前页面类型,例如 Index,Article,DateArticles
    servePath String 应用路径,可在 latke.properties 中配置
    staticServePath String 静态资源路径,可在 latke.properties 中配置
    staticResourceVersion String js, css 版本号,防止缓存
    topBarReplacement String 公用 top-bar.ftl 内容
    path String Action 路径
    archiveDates List 存档日期列表
    articles List 存档文章列表
    blogTitle String 博客标题
    blogHost String 博客地址
    blogSubtitle String 博客子标题
    htmlHead String 用户自定义的 HTML Head
    links List 链接列表
    localeString String 区域设定字符串
    metaKeywords String 用户自定义的关键字
    metaDescription String 用户自定义的描述
    mostwww.zpvv.netmentArticles List 评论最多的文章列表
    mostUsedTags List 引用最多的标签列表
    mostViewCountArticles List 访问最多的文章列表
    noticeBoard String 用户自定义的公告栏
    oId String 存档日期对象 Id
    pageNavigations List 自定义页面列表
    paginationFirstPageNum Integer 文章列表分页第一页页码
    paginationLastPageNum Integer 文章列表分页最末页页码
    paginationPageNums List 文章列表分页页号
    paginationPageCount Integer 文章列表页数
    recentwww.zpvv.netments List 最新评论列表
    skinDirName String 当前使用的皮肤目录名
    statistic JSONObject 统计信息对象
    onlineVisitorCnt Integer 在线访客统计数
    users List 用户列表
    version String 当前使用的 Solo 版本
    year String 当前年份
    loginURL String 登录 URL
    logoutURL String 登出 URL

    archive-date-articles.ftl

    变量 类型 说明
    archiveDate JSONObject 存档日期对象

    article-detial.ftl

    变量 类型 说明
    article JSONObject 文章对象
    articlewww.zpvv.netments List 文章评论列表
    externalRelevantArticlesDisplayCount Integer 站外相关文章显示数
    nextArticlePermalink String 下一篇文章链接
    nextArticleTitle String 下一篇文章标题
    previousArticlePermalink String 上一篇文章链接
    previousArticleTitle String 上一篇文章标题

    tag-articles.ftl

    变量 类型 说明
    tag JSONObject 标签对象

    tags.ftl

    变量 类型 说明
    tags List 标签列表

    预览下载

    官方皮肤

    其余 16 个皮肤

    社区皮肤

    在此感谢 B3log 社区 Solo 爱好者的贡献

    其余 9 个皮肤

    全局预览

    可直接访问 https://solo.b3log.org ,点击皮肤预览进行查看。

    新皮肤推荐

    大家可以在 issue #12449 下跟帖来推荐皮肤,我们会按点赞数进行参考并融入自己的风格后进行制作。当然,也欢迎大家参考本帖后自行开发。

    加入开发

    1. 回贴提供皮肤下载及演示地址
    2. 官方进行测试及反馈
    3. 将皮肤链接加入 https://solo.b3log.org/#themes 官网及本帖中

    • Solo

      Solo 是一款小而美的开源博客系统,专为程序员设计。

      Solo 有着非?;钤镜?a href="//www.zpvv.net">社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

      这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
      具体细节请浏览 B3log 构思

      612 引用 ? 4699 回帖 ? 720 关注
    • 开发文档
      1 引用 ? 37 回帖
    • 皮肤
      18 引用 ? 133 回帖
    感谢    关注    收藏    赞同    反对    举报    分享
    37 回帖    
    请输入回帖内容...
    • lijp ?      

      沙发!

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • kkk ?      

      imagepng
      这个是写在哪里的???

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      你可以随便写。一般建议 js 写在 </body> 标签前,css 写在 </head> 标签前

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • xzy0725 ?      

      问下,这个网站的模板皮肤是否包含在 solo 皮肤里了?哪套模板有类似右侧的导航功能?

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      这个网站和 solo 不是一个产品。
      next 这个皮肤 下载 预览

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • xzy0725 ?      

      谢谢,已经找到

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • 373114194 ?          

      该内容仅作者和楼主可见。

      该回帖仅作者和楼主可见,回帖作者和楼主可点击展开浏览
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • zjhch123 ?   1 感谢      

      下载地址:https://github.com/zjhch123/solo-skin-amaze 预览地址:https://blog.hduzplus.xyz/ 看一下哈,根据 issue 里的一个小伙伴说的皮肤做 (魔改) 的

      自测出一些 bug 哈,迟点修复一下


      修复的差不多啦

      2 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      哇哦,很不错 ??? 已添加到 社区皮肤solo 首页

      要是移动端 footer 左右来点间距就更完美了。

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • wuhongxu ?            

      为什么你们的皮肤都做得这么好看,我想写一个好看的界面就那么难 QAQ

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      可以用 bootstrap 来整一个

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • wuhongxu ?            

      审美是病,多半没得治 = =

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?      

      使用 pjax,某些链接(动态,文章详情页,归档)请求返回为 null,其他链接正常 ,这是什么问题 = =?

      imagepng

      imagepng

      imagepng

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      模版里面的 pjax 注解可能没写对

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?   1 感谢      

      新的 nijigen 主题, 首页切换到标签页在切换回来的时候会出现样式异常.

      imagepng

      查看文章后右侧导航是不是应该把文章菜单去掉…

      imagepng

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?      

      @Vanessa 大佬, 这个什么时候能改一下, 我看了半天 没有好的解决方法

      2 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?   1 感谢            

      在看了

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            
      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?   1 感谢            

      好像还有点问题, 前三项不会取消菜单, 后四项才会

      imagepng

      阅读完第一篇文章, 继续阅读第二篇文章的时候, 右侧菜单不会更新.

      imagepng

      2 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      丢脸丢到家了。我再看看,多谢。

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      我去你站点试了下,菜单可以取消的;阅读完第一篇文章, 继续阅读第二篇文章的时候, 右侧菜单也会更新??梢苑直鸶乙幌轮叵植街杳??
      现在发现在自定义页面和文章页面切换目录不会消失。修改详见:https://github.com/b3log/solo-skins/www.zpvv.netmit/ab99a1c1397a30d5ddae07d5736141815c158f50
      PS:你的播放器好赞。

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?            

      ?? 我线上的系统是之前的版本 , 这是今天刚刚把项目 clone 下来遇到的问题

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      是不是缓存?

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?            

      好像不是…

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      之前的版本没有全站 pjax ,即使有也存在你一开始说的问题。你核对一下版本

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • lucky ?            

      2.9.3 有 pjax.min.js 但没整合页面 我自己加的

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?   1 感谢            

      呃,我这里重现不了。要不到 github 上面 new 个 issue 详细说吧 https://github.com/b3log/solo/issues/new?template=bug_report.md

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • dacxy ?      

      本地部署的时候,nijigen 皮肤为什么光标效果没有,查了一下发现返回的 cursor.cur,pointer.cur 是显示不出来的。请问是哪里的原因?

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • Vanessa ?            

      你在 network 里面看一下这两个请求是否返回正常

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • dacxy ?            

      谢谢,好了,是缓存问题,清一下缓存就可以了

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • kunkunxiong ?          

      该内容仅作者和楼主可见。

      该回帖仅作者和楼主可见,回帖作者和楼主可点击展开浏览
      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • 88250 ?            

      开 F12 看看网络请求,这个素材有点大,估计是带宽问题。

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • kunkunxiong ?            

      imagepng

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • kunkunxiong ?      

      imagepng
      后台错误有影响吗?

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • 88250 ?            

      有影响,你看下是不是皮肤没有下载全。

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • kunkunxiong ?            

      怎么看?

      1 回复
         感谢    赞同    反对    举报    折叠    分享    评论    回复
    • 88250 ?            

      你现在用的皮肤下面缺少 skin.props 文件。

         感谢    赞同    反对    举报    折叠    分享    评论    回复
    请输入回帖内容...
  • 荣耀V10发布会看点汇总:这些亮点不容错过! 2019-05-02
  • 沙特队所坐飞机引擎起火 降落后全体队员安全抵达酒店 2019-05-02
  • 世界杯带火巴西家居产业 2019-04-26
  • “中国网事·海航集团感动2017”年度网络人物评选启动 2019-04-26
  • 朝阳消防联合快递行业开展消防安全宣传培训系列活动 2019-04-05
  • 期待已久的桃花运 竟然可以穿出来?! ——凤凰网房产广州 2019-04-05
  • 中关村雍和航星科技园,北京中关村雍和航星科技园 2019-03-22
  • 潇湘玉竹版主辛苦了! 2019-02-13
  • 端午新经济体验无处不在 “指尖端午”玩出新花样 2019-02-13
  • 工信部:鼓励婴幼儿配方乳企质量安全追溯体系建设 2018-12-30
  • 双色球开奖号码走势图 nba篮彩吧 排列3和值走势图 app幸运飞艇的开奖直播 北京pk10购买 体育彩票多乐彩开奖 福建快三走势图 足彩半全场怎么玩 排列三走势图连线专业版 香港开奖现场直播 七星彩预测 幸运农场走势怎么看 爱彩乐可靠吗 快乐8开奖结果 体彩20选5怎么中奖 澳洲幸运8开奖官网