本次实现了新闻的主页显示、新闻搜索和新闻详情页。
- 实现新闻列表的展示
- 左侧展示分类、标签和推荐新闻
- 实现全局搜索,可以搜索标题或文章内容
- 点击新闻可以进入新闻详情页,并支持Md
-
在
NewsRepository
、TagRespository
和TypeRespository
接口中添加需要进行的数据库操作方法//查询推荐新闻 @Query("select n from News n where n.recommend = true ") List<News> findTop(Pageable pageable); //进行全局搜索的数据库操作 @Query("select n from News n where n.title like ?1 or n.content like ?1") Page<News> findByQuery(String query, Pageable pageable);
@Query("select t from Tag t") List<Tag> findTop(Pageable pageable);
@Query("select t from Type t") List<Type> findTop(Pageable pageable);
-
设计
util.MarkdownUtils
类,对md格式新闻进行支持public class MarkdownUtils { /** * markdown格式转换成HTML格式 * @param markdown * @return */ public static String markdownToHtml(String markdown) { Parser parser = Parser.builder().build(); Node document = parser.parse(markdown); HtmlRenderer renderer = HtmlRenderer.builder().build(); return renderer.render(document); } /** * 增加扩展[标题锚点,表格生成] * Markdown转换成HTML * @param markdown * @return */ public static String markdownToHtmlExtensions(String markdown) { //h标题生成id Set<Extension> headingAnchorExtensions = Collections.singleton(HeadingAnchorExtension.create()); //转换table的HTML List<Extension> tableExtension = Arrays.asList