diff --git a/README.md b/README.md index f90d9d4..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,56 +0,0 @@ -# 狂神的小社区开源版 - -![image-20200731093732474](upload/image-20200731093732474.png) - -### 介绍 - -> 社区开源版本,精简了代码,改变为单体项目,方便大家一键启动! - -> 地址:http://www.quinn.com/ - -项目架子主要依赖: -- SpringBoot 2.3.0 -- MySQL 5.7 -- MyBatisPlus 3.0.5 -- swagger -- fastjson -- thymeleaf -- editormd -- layer -- bootstrap -- springsecurity -- 代码自动生成 - -### 安装教程 - -1. 执行SQL,创建数据库 -2. 项目导入IDEA 启动 -3. 访问测试! -4. 自行根据代码逻辑填充测试数据,查看即可! - -### 目录说明 -```shell script -src/main/java/com/quinn -- config 配置类 -- controller controller -- generator 代码生成器 -- mapper mapper -- pojo pojo -- result 统一返回结果 -- service service -- utils 工具类 -- vo vo对象 -QuinnApplication 启动类 - -src/resources -- static 静态资源 -- templates 页面模板 -- application-dev.properties 配置文件 - -quinn.sql 数据库文件 -``` - -### 如何加入狂神的小社区 - -http://mp.weixin.qq.com/mp/homepage?__biz=Mzg2NTAzMTExNg==&hid=5&sn=5732bda552bcb476e55f678983edfb51&scene=18#wechat_redirect - diff --git a/src/main/java/com/quinn/common/QuinnConstant.java b/src/main/java/com/quinn/common/QuinnConstant.java index 8919a83..0d0ae89 100644 --- a/src/main/java/com/quinn/common/QuinnConstant.java +++ b/src/main/java/com/quinn/common/QuinnConstant.java @@ -20,4 +20,11 @@ public interface QuinnConstant { */ String SOURCE_PASSWORD = "926462"; + String APPEND_PASSWORD = "wangna&limengqi"; + + String NEW_SOURCE_PASSWORD = "limengqi&wangna"; + + String EDIT_SOURCE_FIRST = "lw@"; + String EDIT_SOURCE_LAST = "#"; + } diff --git a/src/main/java/com/quinn/controller/AboutController.java b/src/main/java/com/quinn/controller/AboutController.java index 3aa0f5a..5d1a1a4 100644 --- a/src/main/java/com/quinn/controller/AboutController.java +++ b/src/main/java/com/quinn/controller/AboutController.java @@ -30,7 +30,7 @@ public class AboutController { @GetMapping("/about") public String userIndexBlog(Model model){ - Page pageParam = new Page<>(1, 50); + Page pageParam = new Page<>(1, 20); aboutService.page(pageParam,new QueryWrapper().orderByDesc("gmt_create")); // 结果 List sayList = pageParam.getRecords(); diff --git a/src/main/java/com/quinn/controller/BaseModelController.java b/src/main/java/com/quinn/controller/BaseModelController.java new file mode 100644 index 0000000..6f51299 --- /dev/null +++ b/src/main/java/com/quinn/controller/BaseModelController.java @@ -0,0 +1,17 @@ +package com.quinn.controller; + +import com.quinn.pojo.User; + +import javax.servlet.http.HttpServletRequest; + +public class BaseModelController { + + protected String getLoginUserId(HttpServletRequest request){ + User user = (User) request.getSession().getAttribute("loginUser"); + if (user != null){ + return user.getUid(); + } + return ""; + } + +} diff --git a/src/main/java/com/quinn/controller/BlogCategoryController.java b/src/main/java/com/quinn/controller/BlogCategoryController.java index 64fc41d..13dac4e 100644 --- a/src/main/java/com/quinn/controller/BlogCategoryController.java +++ b/src/main/java/com/quinn/controller/BlogCategoryController.java @@ -23,7 +23,7 @@ import java.util.List; * @author limqsh * @since 2020-06-29 */ -@Controller +//@Controller public class BlogCategoryController { @Autowired @@ -31,7 +31,8 @@ public class BlogCategoryController { @Autowired BlogService blogService; - @GetMapping("/blog/category/{bid}/{page}/{limit}") + @Deprecated +// @GetMapping("/blog/category/{bid}/{page}/{limit}") public String blogPage( @PathVariable int bid, @PathVariable int page, diff --git a/src/main/java/com/quinn/controller/BlogController.java b/src/main/java/com/quinn/controller/BlogController.java index 03111af..3babd43 100644 --- a/src/main/java/com/quinn/controller/BlogController.java +++ b/src/main/java/com/quinn/controller/BlogController.java @@ -5,17 +5,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.quinn.pojo.Blog; import com.quinn.pojo.BlogCategory; +import com.quinn.pojo.BlogStar; import com.quinn.pojo.Comment; import com.quinn.service.BlogCategoryService; import com.quinn.service.BlogService; +import com.quinn.service.BlogStarService; import com.quinn.service.CommentService; import com.quinn.utils.QuinnUtils; +import com.quinn.vo.BlogStarReq; import com.quinn.vo.QuestionWriteForm; +import com.quinn.vo.StarValue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; /** @@ -27,7 +36,7 @@ import java.util.List; * @since 2020-06-29 */ @Controller -public class BlogController { +public class BlogController extends BaseModelController{ @Autowired BlogCategoryService blogCategoryService; @@ -35,18 +44,23 @@ public class BlogController { BlogService blogService; @Autowired CommentService commentService; + @Resource + BlogStarService blogStarService; // 列表展示 @GetMapping("/blog") public String blogList(Model model){ Page pageParam = new Page<>(1, 10); - blogService.page(pageParam,new QueryWrapper().orderByDesc("gmt_create")); + blogService.page(pageParam,new QueryWrapper().orderByDesc("sort").orderByDesc("gmt_create")); // 结果 List blogList = pageParam.getRecords(); model.addAttribute("blogList",blogList); model.addAttribute("pageParam",pageParam); + List topBlogList = blogService.getTopBlog(); + model.addAttribute("topBlogList",topBlogList); + // 分类信息 List categoryList = blogCategoryService.list(null); model.addAttribute("categoryList",categoryList); @@ -64,13 +78,16 @@ public class BlogController { page = 1; } Page pageParam = new Page<>(page, limit); - blogService.page(pageParam,new QueryWrapper().orderByDesc("gmt_create")); + blogService.page(pageParam,new QueryWrapper().orderByDesc("sort").orderByDesc("gmt_create")); // 结果 List blogList = pageParam.getRecords(); model.addAttribute("blogList",blogList); model.addAttribute("pageParam",pageParam); + List topBlogList = blogService.getTopBlog(); + model.addAttribute("topBlogList",topBlogList); + // 分类信息 List categoryList = blogCategoryService.list(null); model.addAttribute("categoryList",categoryList); @@ -115,16 +132,52 @@ public class BlogController { // 阅读文章 @GetMapping("/blog/read/{bid}") - public String read(@PathVariable("bid") String bid,Model model){ + public String read(HttpServletRequest request, @PathVariable("bid") String bid, Model model){ Blog blog = blogService.getOne(new QueryWrapper().eq("bid", bid)); blog.setViews(blog.getViews()+1); blogService.updateById(blog); model.addAttribute("blog",blog); + + StarValue starValue = new StarValue(); + starValue.setStar(false); + String loginUserId = getLoginUserId(request); + if (!StringUtils.isEmpty(loginUserId)){ + List stars = blogStarService.list(new QueryWrapper().eq("user_id", loginUserId)); + if (!CollectionUtils.isEmpty(stars)){ + starValue.setStar(true); + } + } + model.addAttribute("starValue",starValue); + List commentList = commentService.list(new QueryWrapper().eq("topic_id", bid).orderByDesc("gmt_create")); model.addAttribute("commentList",commentList); return "blog/read"; } + // 收藏 + @PostMapping("/blog/star") + public synchronized String toStar(BlogStarReq blogStarReq, Model model){ + StarValue starValue = new StarValue(); + starValue.setStar(false); + List list = blogStarService.list(new QueryWrapper() + .eq("user_id", blogStarReq.getUserId()).eq("topic_id", blogStarReq.getTopicId())); + if (!CollectionUtils.isEmpty(list)){ + list.forEach(x->{ + blogStarService.removeById(x); + }); + starValue.setStar(false); + } else { + BlogStar blogStar = new BlogStar(); + blogStar.setTopicId(blogStarReq.getTopicId()); + blogStar.setUserId(blogStarReq.getUserId()); + blogStar.setGmtCreate(QuinnUtils.getTime()); + blogStarService.save(blogStar); + starValue.setStar(true); + } + model.addAttribute("starValue",starValue); + return "blog/read::star_refresh"; + } + // 编辑问题 @GetMapping("/blog/editor/{uid}/{bid}") public synchronized String toEditor(@PathVariable("uid") String uid, @@ -188,8 +241,5 @@ public class BlogController { return "redirect:/blog/read/"+bid; } - - - } diff --git a/src/main/java/com/quinn/controller/SearchController.java b/src/main/java/com/quinn/controller/SearchController.java new file mode 100644 index 0000000..c02b140 --- /dev/null +++ b/src/main/java/com/quinn/controller/SearchController.java @@ -0,0 +1,59 @@ +package com.quinn.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.quinn.common.QuinnConstant; +import com.quinn.pojo.About; +import com.quinn.pojo.Source; +import com.quinn.service.SourceService; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.PostMapping; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author limqsh + * @since 2022-05-01 + */ +@Controller +public class SearchController { + + @Resource + SourceService sourceService; + + @PostMapping("/search") + public String searchAll(String findWhat,Model model){ + if (StringUtils.isEmpty(findWhat)){ + return "index"; + } + if (QuinnConstant.NEW_SOURCE_PASSWORD.equals(findWhat)){ + return "source/uploadSource"; + } + if (QuinnConstant.APPEND_PASSWORD.equals(findWhat)){ + return "page/append"; + } + if (findWhat.startsWith(QuinnConstant.EDIT_SOURCE_FIRST)){ + findWhat = findWhat.substring(findWhat.indexOf(QuinnConstant.EDIT_SOURCE_FIRST) + QuinnConstant.EDIT_SOURCE_FIRST.length()); + if (!StringUtils.isEmpty(findWhat) && findWhat.endsWith(QuinnConstant.EDIT_SOURCE_LAST)){ + findWhat = findWhat.substring(0,findWhat.lastIndexOf(QuinnConstant.EDIT_SOURCE_LAST)); + } + if (!StringUtils.isEmpty(findWhat)){ + Source sid = sourceService.getOne(new QueryWrapper().eq("sid", findWhat)); + if (sid!=null){ + return "redirect:/tracy/mcgrady/lmq/love/wn/" + findWhat; + } + } + } + return "index"; + } + +} + diff --git a/src/main/java/com/quinn/generator/CodeGenerator.java b/src/main/java/com/quinn/generator/CodeGenerator.java index 2ef7587..3e68b88 100644 --- a/src/main/java/com/quinn/generator/CodeGenerator.java +++ b/src/main/java/com/quinn/generator/CodeGenerator.java @@ -43,15 +43,15 @@ public class CodeGenerator { PackageConfig pc = new PackageConfig(); pc.setModuleName("quinn"); pc.setParent("com"); -// pc.setController("controller"); + pc.setController("controller"); pc.setEntity("pojo"); -// pc.setService("service"); -// pc.setMapper("mapper"); + pc.setService("service"); + pc.setMapper("mapper"); mpg.setPackageInfo(pc); // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); - strategy.setInclude("qn_source");//设置要映射的表名 + strategy.setInclude("qn_blog_star");//设置要映射的表名 strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 strategy.setTablePrefix("qn_");//设置表前缀不生成 diff --git a/src/main/java/com/quinn/mapper/BlogMapper.java b/src/main/java/com/quinn/mapper/BlogMapper.java index ad7421c..144639e 100644 --- a/src/main/java/com/quinn/mapper/BlogMapper.java +++ b/src/main/java/com/quinn/mapper/BlogMapper.java @@ -3,6 +3,8 @@ package com.quinn.mapper; import com.quinn.pojo.Blog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; + /** *

* Mapper 接口 @@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface BlogMapper extends BaseMapper { + List getTopBlog(); } diff --git a/src/main/java/com/quinn/mapper/BlogStarMapper.java b/src/main/java/com/quinn/mapper/BlogStarMapper.java new file mode 100644 index 0000000..7611138 --- /dev/null +++ b/src/main/java/com/quinn/mapper/BlogStarMapper.java @@ -0,0 +1,16 @@ +package com.quinn.mapper; + +import com.quinn.pojo.BlogStar; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author limqsh + * @since 2022-05-08 + */ +public interface BlogStarMapper extends BaseMapper { + +} diff --git a/src/main/java/com/quinn/mapper/xml/BlogMapper.xml b/src/main/java/com/quinn/mapper/xml/BlogMapper.xml index 4376d72..b303d5f 100644 --- a/src/main/java/com/quinn/mapper/xml/BlogMapper.xml +++ b/src/main/java/com/quinn/mapper/xml/BlogMapper.xml @@ -2,4 +2,9 @@ + + diff --git a/src/main/java/com/quinn/pojo/Blog.java b/src/main/java/com/quinn/pojo/Blog.java index d135452..9d6a582 100644 --- a/src/main/java/com/quinn/pojo/Blog.java +++ b/src/main/java/com/quinn/pojo/Blog.java @@ -44,6 +44,9 @@ public class Blog implements Serializable { @ApiModelProperty(value = "排序 0 普通 1 置顶") private Integer sort; + @ApiModelProperty(value = "收藏") + private Integer star; + @ApiModelProperty(value = "浏览量") private Integer views; diff --git a/src/main/java/com/quinn/pojo/BlogStar.java b/src/main/java/com/quinn/pojo/BlogStar.java new file mode 100644 index 0000000..483fe13 --- /dev/null +++ b/src/main/java/com/quinn/pojo/BlogStar.java @@ -0,0 +1,45 @@ +package com.quinn.pojo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author limqsh + * @since 2022-05-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("qn_blog_star") +@ApiModel(value="BlogStar对象", description="") +public class BlogStar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "自增id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "收藏主题id") + private String topicId; + + @ApiModelProperty(value = "收藏者id") + private String userId; + + @ApiModelProperty(value = "收藏创建时间") + private Date gmtCreate; + + +} diff --git a/src/main/java/com/quinn/service/BlogService.java b/src/main/java/com/quinn/service/BlogService.java index 25cd686..63e45d0 100644 --- a/src/main/java/com/quinn/service/BlogService.java +++ b/src/main/java/com/quinn/service/BlogService.java @@ -3,6 +3,8 @@ package com.quinn.service; import com.quinn.pojo.Blog; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 服务类 @@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface BlogService extends IService { + List getTopBlog(); + } diff --git a/src/main/java/com/quinn/service/BlogStarService.java b/src/main/java/com/quinn/service/BlogStarService.java new file mode 100644 index 0000000..f466620 --- /dev/null +++ b/src/main/java/com/quinn/service/BlogStarService.java @@ -0,0 +1,16 @@ +package com.quinn.service; + +import com.quinn.pojo.BlogStar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author limqsh + * @since 2022-05-08 + */ +public interface BlogStarService extends IService { + +} diff --git a/src/main/java/com/quinn/service/impl/BlogServiceImpl.java b/src/main/java/com/quinn/service/impl/BlogServiceImpl.java index f5c65ab..a3de530 100644 --- a/src/main/java/com/quinn/service/impl/BlogServiceImpl.java +++ b/src/main/java/com/quinn/service/impl/BlogServiceImpl.java @@ -5,6 +5,11 @@ import com.quinn.mapper.BlogMapper; import com.quinn.service.BlogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; /** *

@@ -17,4 +22,18 @@ import org.springframework.stereotype.Service; @Service public class BlogServiceImpl extends ServiceImpl implements BlogService { + @Resource + BlogMapper blogMapper; + + @Override + public List getTopBlog(){ + List topBlog = blogMapper.getTopBlog(); + if (!CollectionUtils.isEmpty(topBlog)){ + topBlog.forEach(x->{ + x.setContent(""); + }); + } + return topBlog; + } + } diff --git a/src/main/java/com/quinn/service/impl/BlogStarServiceImpl.java b/src/main/java/com/quinn/service/impl/BlogStarServiceImpl.java new file mode 100644 index 0000000..8646818 --- /dev/null +++ b/src/main/java/com/quinn/service/impl/BlogStarServiceImpl.java @@ -0,0 +1,20 @@ +package com.quinn.service.impl; + +import com.quinn.pojo.BlogStar; +import com.quinn.mapper.BlogStarMapper; +import com.quinn.service.BlogStarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author limqsh + * @since 2022-05-08 + */ +@Service +public class BlogStarServiceImpl extends ServiceImpl implements BlogStarService { + +} diff --git a/src/main/java/com/quinn/vo/BlogStarReq.java b/src/main/java/com/quinn/vo/BlogStarReq.java new file mode 100644 index 0000000..bace6a8 --- /dev/null +++ b/src/main/java/com/quinn/vo/BlogStarReq.java @@ -0,0 +1,19 @@ +package com.quinn.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BlogStarReq { + + @ApiModelProperty(value = "主题号") + private String topicId; + + @ApiModelProperty(value = "用户编号") + private String userId; + +} diff --git a/src/main/java/com/quinn/vo/StarValue.java b/src/main/java/com/quinn/vo/StarValue.java new file mode 100644 index 0000000..23f6cc1 --- /dev/null +++ b/src/main/java/com/quinn/vo/StarValue.java @@ -0,0 +1,16 @@ +package com.quinn.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class StarValue { + + @ApiModelProperty(value = "是否收藏") + private boolean star; + +} diff --git a/src/main/resources/static/images/menu/wechat.jpeg b/src/main/resources/static/images/menu/wechat.jpeg new file mode 100644 index 0000000..5f405ab Binary files /dev/null and b/src/main/resources/static/images/menu/wechat.jpeg differ diff --git a/src/main/resources/static/live/js/addlive2d.js b/src/main/resources/static/live/js/addlive2d.js index 1d504eb..658934e 100644 --- a/src/main/resources/static/live/js/addlive2d.js +++ b/src/main/resources/static/live/js/addlive2d.js @@ -46,7 +46,6 @@ try { }, "referrer_hostname": { "example.com": ["示例网站"], - "www.fghrsh.net": ["FGHRSH 的论坛"] }, "model_message": { "1": ["来自 Pio 酱 ~"], @@ -130,6 +129,13 @@ try { live2d_settings['modelStorage'] = false; live2d_settings['canTurnToAboutPage'] = false; live2d_settings['screenshotCaptureName']= 'quinn.png'; + live2d_settings['waifuSize'] = '240x210'; // 看板娘大小,例如 '280x250', '600x535' + live2d_settings['waifuTipsSize'] = '210x50'; // 提示框大小,例如 '250x70', '570x150' + live2d_settings['waifuFontSize'] = '12px'; // 提示框字体,例如 '12px', '30px' + live2d_settings['waifuToolFont'] = '14px'; // 工具栏字体,例如 '14px', '36px' + live2d_settings['waifuToolLine'] = '20px'; // 工具栏行高,例如 '20px', '36px' + live2d_settings['waifuToolTop'] = '0px' // 工具栏顶部边距,例如 '0px', '-60px' + live2d_settings['waifuMinWidth'] = 'disable'; // 面页小于 指定宽度 隐藏看板娘,例如 'disable'(禁用), '768px' live2d_settings['waifuEdgeSide'] = 'right:88'; // 看板娘贴边方向,例如 'left:0'(靠左 0px), 'right:30'(靠右 30px) live2d_settings['waifuDraggable'] = 'unlimited'; // 拖拽样式,例如 'disable'(禁用), 'axis-x'(只能水平拖拽), 'unlimited'(自由拖拽) live2d_settings['waifuDraggableRevert'] = false; // 松开鼠标还原拖拽位置,可选 true(真), false(假) diff --git a/src/main/resources/templates/blog/list.html b/src/main/resources/templates/blog/list.html index 0e3b21a..574ae51 100644 --- a/src/main/resources/templates/blog/list.html +++ b/src/main/resources/templates/blog/list.html @@ -14,43 +14,42 @@
-
-
- Q&A 累计: + 论坛累计: - - 全部 - / - -
- -
+ +
-

+

- + + 置顶 + [[${blog.getTitle()}]] - - - - - - - [[${blog.getViews()}]] - - - - -

+

+
+ + + + + + + [[${blog.getViews()}]] + + + + + + + [[${blog.getStar()}]] + +
+
-
-

社区公约:
禁止瞎水论坛,内容尽量有实际意义,禁止任何形式的广告,违者暂停账号使用! 申请分类可以在Q群@小狂神

+

+ + + + + 敲黑板 + + + + +
如果发的帖子水分过大,可能会被封禁账号,请酌情发帖评论!

- -
- - diff --git a/src/main/resources/templates/blog/read.html b/src/main/resources/templates/blog/read.html index cf2084b..782c9c6 100644 --- a/src/main/resources/templates/blog/read.html +++ b/src/main/resources/templates/blog/read.html @@ -39,7 +39,7 @@ @@ -50,7 +50,7 @@ 删除 @@ -58,6 +58,18 @@ 编辑 + + + + + + + + + 收藏 + +

@@ -76,10 +88,10 @@
- + - +
@@ -130,7 +142,24 @@ + + + + + + + + diff --git a/src/main/resources/templates/source/hotspot.html b/src/main/resources/templates/source/hotspot.html index b1efae4..7a42b44 100644 --- a/src/main/resources/templates/source/hotspot.html +++ b/src/main/resources/templates/source/hotspot.html @@ -15,14 +15,17 @@
-

+

+ [[${source.getSourceName()}]] + Quinn +

diff --git a/src/main/resources/templates/user/index.html b/src/main/resources/templates/user/index.html index 34afee0..520d104 100644 --- a/src/main/resources/templates/user/index.html +++ b/src/main/resources/templates/user/index.html @@ -17,10 +17,8 @@
-
- +