后续:
开拓环境、
项目构造、

框架解释、
皮肤开拓
环境准备JDK:8 或更高的版本
Maven:2 或更高的版本
MySQL:可选的,默认利用内嵌的 H2 数据库
IDE
由于是 Maven 构建的项目项目,以是只要支持 Maven 的 IDE 都可以,推举:
IntelliJ IDEA
NetBeans
利用 IDE 打开项目即可,第一次构建时会自动下载依赖。pom 里默认激活的 profile 利用了阿里云的 Maven 仓库,理论上依赖下载会比较快。
获取项目源码,项目讲解,知识点分享,学习互换,那就加入
616 959 444
运行
直接运行 org.b3log.solo包下的 Starter 即可。
项目构造中规中矩的 MVC 分层:
processor:掌握器层,处理 HTTP 要求
service:做事层,实现业务逻辑,事务封装
repository:持久化层,实现数据库存取
model:数据模型,定义 JSON 键常量方便公用
其他几个包:
api:实现 B3 构思;实现 MetaWeblog API
event:一些事宜处理器,可对发布文章 / 评论进行扩展
filter:初始化检讨、权限过滤等
plugin:内置插件的实现
util:Markdown、Emoi、皮肤等处理工具
数据库
初始化后会自动建表。如果用 MySQL,则启动前先手动建库,JDBC 干系参数请配置 local.properties。
开拓框架Solo 利用了 Latke 作为开拓框架,这是一个类似 Spring 但以 JSON 为主的框架。
Latke 快速上手指南网址:https://hacpai.com/article/1466870492857
Latke 配置阐发网址:https://hacpai.com/article/1474087427032
事理干系一:为什么又要造一个叫 Latke 的轮子?
网址:https://hacpai.com/article/1403847528022
二:Latke 源码解析(一)Servlet 部分
网址:https://hacpai.com/article/1493267456529
三:Latke 源码解析(二)IOC 部分
网址:https://hacpai.com/article/1493620909167
模版引擎利用 FreeMarker 作为模版引擎
网址:https://hacpai.com/tag/FreeMarker
皮肤开拓好了,接下来便是我们的皮肤开拓了!
开拓步骤
solo/src/main/webapp/skins/skin-name
|- css // 样式目录
| |- fonts // 字体文件
| |- selection.json // 如利用 icomoon.io,请上传原文件
| |- base.css // 样式,只管即便避免利用行内样式及页内样式
|- images // 图片目录
|- js // JavaScript 目录
| |- common.js // 脚本,只管即便避免在 ftl 中写脚本
|- 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 // 某分类下的文章列表页面
|- common-comment.ftl // 评论模版
|- dynamic.ftl // 动态页面
|- footer.ftl // 页尾
|- header.ftl // 页头
|- index.ftl // 首页页面
|- links.ftl // 链接列表页面
|- author-articles.ftl // 某用户所写的文章列表页面
|- macro-comments.ftl // 评论列表及回答的宏
|- macro-head.ftl // head 标签中的宏
|- page.ftl // 导航页面
|- preview.png // 皮肤首页截图,大小为 280px 160px
|- side.ftl // 侧边栏
|- skin.properties // 皮肤信息
|- tag-articles.ftl // 某标签的文章列表页面
|- tags.ftl // 标签列表页
获取项目源码,项目讲解,知识点分享,学习互换,那就加入
616 959 444
开拓解释在 solo/src/main/webapp/skins目录下按照皮肤框架创建对付的文件夹及文件。
可参照 91PHP目录中的文件进行创建及相应的修正。
建议从 index.ftl 开始入手。
JS、CSS 文件压缩可自行压缩或将皮肤目录拷贝到 solo-skin 下运行 cd toolers && yarn && npm run build或 cd toolers && npm install && npm run build。
JS、CSS 引用示例如下:
把稳事变
macro-comments.ftl中标签 id 不可进行变动。
文章内容须加上 class=“article-body”,否则不能进行代码高亮。
贡献第三方皮肤可 Fork b3log-solo-third-skins,开拓完成后 merge 到 b3log 下。
footer.ftl中版权声明格式如下:
Powered by <a href=\公众http://b3log.org\"大众>B3log 开源</a> • <a href=\"大众https://hacpai.com/tag/solo\公众>Solo</a>
Theme by <a href=\"大众your site\"大众>your-name</a>.
模板变量如果模板变量的类型是 JSONObject,其字段属性参考 org.b3log.solo.model包下的类
每个页面都包含一些公共模板变量,这些模板变量单独列出(不在 .ftl表中给出)
每个页面的模板变量如以 Label 结尾,则为多措辞配置文件,参看 lang_zh_CN.properties
公共模板变量archive-date-articles.ftl
article-detial.ftl
page.ftl
tag-articles.ftl
tags.ftl
获取项目源码,项目讲解,知识点分享,学习互换,那就加入
616 959 444
骚年,坚持想法,坚持实践吧!
立时就写完了,来日诰日会写完末了这一部分的!
感谢不雅观看,O(∩_∩)O感激!