Giter VIP home page Giter VIP logo

blog's Introduction

Blog · Logo

简介

前后端分离Blog系统,基于 Spring Boot + Vue 前后端分离博客系统

自用博客,长期维护,欢迎勘误。此项目本是学习过程中的产物,参考了许多优秀的教程和项目。

https://blog.rawchen.com

https://admin.rawchen.com

后端

  1. 核心框架:Spring Boot
  2. 安全框架:Spring Security
  3. Token 认证:jjwt
  4. 持久层框架:MyBatis
  5. 分页插件:PageHelper
  6. NoSQL缓存:Redis
  7. Markdown 转 HTML:commonmark-java
  8. 离线 IP 地址库:ip2region
  9. 定时任务:quartz
  10. UserAgent 解析:yauaa

邮件模板参考自Typecho-CommentToMail-Template

基于 JDK8 开发,8以上要添加依赖:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

前端

核心框架:Vue2.x、Vue Router、Vuex

Vue 项目基于 @vue/cli4.x 构建

JS 依赖及参考的 css:axiosmomentnprogressv-viewerprismjsAPlayerMetingJSlodashmavonEditorechartstocbotiCSS

后台 UI

Element UI:后台 CMS 部分完全基于 Element UI 开发

前台 UI

Semantic UI:主要使用,页面布局样式,语义化的 css,该框架 Vue 版的开发完成度不高,见 Semantic UI Vue

Element UI:部分使用,一些小组件,弥补了 Semantic UI 的不足,便于快速实现效果

文章排版:基于 typo.css 修改

快速开始

  1. 创建 MySQL 数据库blog,并运行blog.sql初始化表数据
  2. 修改配置信息blog-api/src/main/resources/application-dev.properties
  3. 安装 Redis 并启动
  4. 启动后端SpringBoot服务
  5. 分别在blog-cmsblog-view目录下执行npm install安装依赖
  6. 分别在blog-cmsblog-view目录下执行npm run serve启动前后台页面

注意事项

  • 本人使用的 MySQL 版本为5.5.61
  • 数据库中默认用户名密码为adminadmin,因为是个人博客,没打算做修改密码的页面,可在util.HashUtils下的main方法手动生成密码存入数据库
  • 注意修改application-dev.properties的配置信息
    • Redis 若没有密码,留空即可
    • 注意修改token.secretKey,否则无法保证 token 安全性

隐藏功能

  • 在前台访问/login路径登录后,可以以博主身份(带有博主标识)回复评论,且不需要填写昵称和邮箱即可提交
  • 在 Markdown 中加入<meting-js server="netease" type="song" id="歌曲id" theme="#25CCF7"></meting-js> 可以在文章中添加 APlayer 音乐播放器,netease为网易云音乐,其它配置及具体用法参考 MetingJS
  • 提供了两种隐藏文字效果:在 Markdown 中使用@@包住文字,文字会被渲染成“黑幕”效果,鼠标悬浮在上面时才会显示;使用%%包住文字,文字会被“蓝色覆盖层”遮盖,只有鼠标选中状态才会反色显示。例如:@@隐藏文字@@%%隐藏文字%%
  • 大部分个性化配置可以在后台“站点设置”中修改

项目截图

Stargazers

Forkers

如何贡献

Fork 项目到你自己仓库,本地拉取你 fork 的项目并部署修改。 提交本地仓库更改,推送到你 fork 的项目仓库中。 在我的项目发起 Pull requests,我看到后将考虑合并到主分支。

blog's People

Contributors

rawchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

blog's Issues

您好,后台编译过程中报错请问这是什么原因?

[ERROR] Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 8.95 s <<< FAILURE! - in com.rawchen.BlogApiApplicationTests
[ERROR] test02 Time elapsed: 0.014 s <<< ERROR!
java.lang.IllegalStateException: Expected method not found: java.lang.NoSuchMethodException: java.lang.String.valueOf(java.lang.String)
at com.rawchen.BlogApiApplicationTests.test02(BlogApiApplicationTests.java:26)

2022-01-25 10:35:34.971 INFO 3316 --- [extShutdownHook] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$NON_CLUSTERED paused.
2022-01-25 10:35:34.982 INFO 3316 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
2022-01-25 10:35:34.984 INFO 3316 --- [extShutdownHook] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler
2022-01-25 10:35:34.985 INFO 3316 --- [extShutdownHook] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler
$NON_CLUSTERED shutting down.
2022-01-25 10:35:34.986 INFO 3316 --- [extShutdownHook] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler
$NON_CLUSTERED paused.
2022-01-25 10:35:34.987 INFO 3316 --- [extShutdownHook] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler
$_NON_CLUSTERED shutdown complete.
2022-01-25 10:35:35.142 INFO 3316 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2022-01-25 10:35:35.170 INFO 3316 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] BlogApiApplicationTests.test02:26 ? IllegalState Expected method not found: ja...
[INFO]
[ERROR] Tests run: 4, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.522 s
[INFO] Finished at: 2022-01-25T10:35:35+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project blog-api: There are test failures.
[ERROR]
[ERROR] Please refer to /root/Blog/blog-api/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

没有sql呢

没有sq文件啊 留个联系方式啥的好交流啊

后台登录

请问为什么启动项目之后点登录,后台一直显示演示操作不允许修改,请求失败?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.