个人博客网站模板(程序员大佬)

后续:开发环境、项目结构、框架说明、皮肤开发环境准备JDK:8 或更高的版本Maven:2 或更高的版本MySQL:可选的,默认使用内嵌的 H2 数据库IDE因为是 Maven 构建的项目项目,所以只要支持 Maven 的 IDE 都可以,推荐:IntelliJ IDEANetBeans使用 IDE 打开项目即可,第一次构建时会自动下载依赖。pom 里默认激活的 profile 使用了阿里云的 Maven 仓库,理论上依赖下载会比较快。获取项目源码,项目讲解,知识点分享,学习交流,那就加入小编的Java学习交流群吧!616 959 444运行直接运行 org.b3log.solo包下的 Starter 即可。项目结构中规中矩的 MVC 分层:processor:控制器层,处理 HTTP 请求service:服务层,实现业务逻辑,事务封装repository:持久化层,实现数据库存取model:数据模型,定义 JSON 键常量方便公用其他几个包:api:实现 B3 构思;实现 MetaWeblog APIevent:一些事件处理器,可对发布文章 / 评论进行扩展filter:初始化检查、权限过滤等plugin:内置插件的实现util:Markdown、Emoi、皮肤等处理工具数据库初始化后会自动建表。如果用 MySQL,则启动前先手动建库,JDBC 相关参数请配置 local.properties。开发框架Solo 使用了 Latke 作为开发框架,这是一个类似 Spring 但以 JSON 为主的框架。Latke 快速上手指南网址:https://hacpai.com/article/1466870492857Latke 配置剖析网址: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 // 标签列表页获取项目源码,项目讲解,知识点分享,学习交流,那就加入小编的Java学习交流群吧!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公共模板变量变量类型说明footerContentString页脚自定义内容adminUserJSONObject管理员userNameString当前登录用户名isIndexBool判断是否是首页faviconAPIString获取 favicon API 地址isLoggedInBool用户登录判断gravatarString当前登录人的 gravatar 地址runtimeModeString运行模式,例如 DEVELOPMENTruntimeEnvString运行环境,例如 GAEpageTypeString当前页面类型,例如 Index,Article,DateArticlesservePathString应用路径,可在 latke.properties 中配置staticServePathString静态资源路径,可在 latke.properties 中配置staticResourceVersionStringjs, css 版本号,防止缓存topBarReplacementString公用 top-bar.ftl 内容pathStringAction 路径archiveDatesList存档日期列表articlesList存档文章列表blogTitleString博客标题blogHostString博客地址blogSubtitleString博客子标题htmlHeadString用户自定义的 HTML HeadlinksList链接列表localeStringString区域设定字符串metaKeywordsString用户自定义的关键字metaDescriptionString用户自定义的描述mostCommentArticlesList评论最多的文章列表mostUsedTagsList引用最多的标签列表mostViewCountArticlesList访问最多的文章列表noticeBoardString用户自定义的公告栏oIdString存档日期对象 IdpageNavigationsList自定义页面列表paginationFirstPageNumInteger文章列表分页第一页页码paginationLastPageNumInteger文章列表分页最末页页码paginationPageNumsList文章列表分页页号paginationPageCountInteger文章列表页数recentCommentsList最新评论列表skinDirNameString当前使用的皮肤目录名statisticJSONObject统计信息对象onlineVisitorCntInteger在线访客统计数usersList用户列表versionString当前使用的 Solo 版本yearString当前年份loginURLString登录 URLlogoutURLString登出 URLarchive-date-articles.ftl变量类型说明archiveDateJSONObject存档日期对象article-detial.ftl变量类型说明articleJSONObject文章对象articleCommentsList文章评论列表externalRelevantArticlesDisplayCountInteger站外相关文章显示数nextArticlePermalinkString下一篇文章链接nextArticleTitleString下一篇文章标题previousArticlePermalinkString上一篇文章链接previousArticleTitleString上一篇文章标题page.ftl变量类型说明pageJSONObject自定义页面对象pageCommentsList自定义页面评论列表tag-articles.ftl变量类型说明tagJSONObject标签对象tags.ftl变量类型说明tagsList标签列表获取项目源码,项目讲解,知识点分享,学习交流,那就加入小编的Java学习交流群吧!616 959 444骚年,坚持想法,坚持实践吧!马上就写完了,明天会写完最后这一部分的!感谢观看,O(∩_∩)O谢谢!


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/41093/