springboot基于docsify 实现随身文档

 更新时间:2022年09月09日 08:29:15   作者:Kindear  
这篇文章主要介绍了springboot基于docsify实现随身文档的相关资料,需要的朋友可以参考下

需求分析

  • 文档可以和项目一起进行版本管理
  • 文档可以在线访问
  • 文档可以与springboot项目集成,不需要分开部署
  • MarkDown支持
  • 文档跟随,打包jar也可以访问

技术选型

对于网上已有的方案,大致分为如下几种

  • 将文档部署在 resource静态资源目录下,用模板渲染访问。[1][1]
  • 分离部署,打包 jar后还需要单独上传静态资源文档内容并部署。

最终选定的技术方案如下

工具用途官网
Typora文档编写https://typoraio.cn/
Docsify文档部署https://docsify.js.org/#/
Hutool服务集成https://www.hutool.cn/docs/#/

工具介绍

Typora

Typora 是一款功能非常强大的 MarkDown编写工具,采用所见即所得的编辑方式,实现了即时预览的功能,Latex公式支持,具体请查看官网,目前只有平替,没有超越的MarkDown编写工具,对于本方案来讲,支持剪切图片直接保存到相对路径中,方便访问。同时也支持配置图床,需要使用PicGo搭建服务。

Docsify

docsify 可以自动地将 Markdown 中的标题生成目录,快速搭建一个小型的文档网站,整个页面的配色和布局也十分舒适,让阅读体验在不知不觉中提升了好几个档次。

和 Gitbook 不同,docsify 不会生成静态的 HTML 文件,它会智能地加载和解析 Markdown 文件,这就避免了 HTML 文件对整个文档库的“污染”。

还支持丰富的自定义样式。

Hutool

hutool 是一个非常好用的开发梭子,这种有大量用户使用的工具类,绝对比自己维护的轮子要稳定的多,所以开发选hutool是非常OK的一个选择。

我们使用的是hutool工具的一个子包 - SimpleServer

Oracle JDK提供了一个简单的Http服务端类,叫做HttpServer,当然它是sun的私有包,位于com.sun.net.httpserver下,必须引入rt.jar才能使用,Hutool基于此封装了SimpleServer,用于在不引入Tomcat、Jetty等容器的情况下,实现简单的Http请求处理。

功能实现

1. 初始化文档

在 resources 目录下,或者项目根目录下执行如下命令,在项目根目录执行,需要对 maven 打包进行额外的配置,推荐在 resources目录下执行。

docsify init .docs

docsify init .docs

2. 配置简易服务器

新建DocConfig.java

import cn.hutool.http.HttpUtil;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.io.File;

@Component
public class DocConfig {
    @Bean
    public void InitDoc(){
        String rootPath = System.getProperty("user.dir");

        HttpUtil.createServer(8888) 
                // 设置默认根目录 -- resources目录下新建根据对应路径修改,目录分隔符用 File.separator 保证Win/Linux 兼容
                .setRoot(rootPath+ File.separator+".docs")
                .start();
    }
}

3. 访问

当启动 springboot 项目时,访问 localhost:8888即可访问对应文档

到此这篇关于springboot基于docsify 实现随身文档的文章就介绍到这了,更多相关docsify 实现随身文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java string类的常用方法详细介绍

    java string类的常用方法详细介绍

    在开发过程中经常会使用到java string类的方法,本文将以此问题进行详细介绍
    2012-11-11
  • Java中的DecimalFormat用法解析

    Java中的DecimalFormat用法解析

    这篇文章主要介绍了Java中的DecimalFormat用法解析,DecimalFormat是Java中用于格式化数字的类,它提供了一种简单而灵活的方式来格式化数字,包括指定小数位数、千位分隔符、货币符号等,需要的朋友可以参考下
    2023-10-10
  • springboot时间格式化的五种方法总结(解决后端传给前端的时间显示不一致)

    springboot时间格式化的五种方法总结(解决后端传给前端的时间显示不一致)

    这篇文章主要给大家介绍了关于springboot时间格式化的五种方法,文中介绍的方法解决了后端传给前端的时间显示不一致,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线程池的优雅关闭详解

    Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线程池的优雅关闭详解

    这篇文章主要给大家介绍了关于Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线程池的优雅关闭的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-05-05
  • java网络编程之识别示例 获取主机网络接口列表

    java网络编程之识别示例 获取主机网络接口列表

    一个客户端想要发起一次通信,先决条件就是需要知道运行着服务器端程序的主机的IP地址是多少。然后我们才能够通过这个地址向服务器发送信息。
    2014-01-01
  • maven下载jar包改用阿里云maven库的方法

    maven下载jar包改用阿里云maven库的方法

    这篇文章主要介绍了maven下载jar包改用阿里云maven库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Java中常见的对象转换工具

    Java中常见的对象转换工具

    对象进行对象的转换是一个操作重复且繁琐的工作,于是市面上就有许多的对象转换工具来解决这个问题,下面我们就来看看几个比较常用的工具(mapstruct,Spring BeanUtils,Apache BeanUtils)使用方式及其性能
    2023-04-04
  • Java8 新特性Lambda表达式实例详解

    Java8 新特性Lambda表达式实例详解

    这篇文章主要介绍了Java8 新特性Lambda表达式实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 手工搭建Servlet实现

    手工搭建Servlet实现

    现在作为一个Java程序员,我们已经习惯了使用IDE和Web框架进行开发,IDE帮助我们做了编译、打包的工作。Spring框架则帮助我们实现了Servlet接口,并把Servlet容器注册到了Web容器中。本文主要介绍了Servlet手工搭建,感兴趣的可以了解一下
    2021-07-07
  • Spring Cloud详解实现声明式微服务调用OpenFeign方法

    Spring Cloud详解实现声明式微服务调用OpenFeign方法

    这篇文章主要介绍了Spring Cloud实现声明式微服务调用OpenFeign方法,OpenFeign 是 Spring Cloud 家族的一个成员, 它最核心的作用是为 HTTP 形式的 Rest API 提供了非常简洁高效的 RPC 调用方式,希望对大家有所帮助。一起跟随小编过来看看吧
    2022-07-07

最新评论