springboot基于docsify?實(shí)現(xiàn)隨身文檔
需求分析
- 文檔可以和項(xiàng)目一起進(jìn)行版本管理
- 文檔可以在線訪問(wèn)
- 文檔可以與springboot項(xiàng)目集成,不需要分開(kāi)部署
- MarkDown支持
- 文檔跟隨,打包
jar也可以訪問(wèn)
技術(shù)選型
對(duì)于網(wǎng)上已有的方案,大致分為如下幾種
- 將文檔部署在
resource靜態(tài)資源目錄下,用模板渲染訪問(wèn)。[1][1] - 分離部署,打包
jar后還需要單獨(dú)上傳靜態(tài)資源文檔內(nèi)容并部署。
最終選定的技術(shù)方案如下
| 工具 | 用途 | 官網(wǎng) |
|---|---|---|
| Typora | 文檔編寫(xiě) | https://typoraio.cn/ |
| Docsify | 文檔部署 | https://docsify.js.org/#/ |
| Hutool | 服務(wù)集成 | https://www.hutool.cn/docs/#/ |
工具介紹
Typora
Typora 是一款功能非常強(qiáng)大的 MarkDown編寫(xiě)工具,采用所見(jiàn)即所得的編輯方式,實(shí)現(xiàn)了即時(shí)預(yù)覽的功能,Latex公式支持,具體請(qǐng)查看官網(wǎng),目前只有平替,沒(méi)有超越的MarkDown編寫(xiě)工具,對(duì)于本方案來(lái)講,支持剪切圖片直接保存到相對(duì)路徑中,方便訪問(wèn)。同時(shí)也支持配置圖床,需要使用PicGo搭建服務(wù)。
Docsify
docsify 可以自動(dòng)地將 Markdown 中的標(biāo)題生成目錄,快速搭建一個(gè)小型的文檔網(wǎng)站,整個(gè)頁(yè)面的配色和布局也十分舒適,讓閱讀體驗(yàn)在不知不覺(jué)中提升了好幾個(gè)檔次。
和 Gitbook 不同,docsify 不會(huì)生成靜態(tài)的 HTML 文件,它會(huì)智能地加載和解析 Markdown 文件,這就避免了 HTML 文件對(duì)整個(gè)文檔庫(kù)的“污染”。
還支持豐富的自定義樣式。
Hutool
hutool 是一個(gè)非常好用的開(kāi)發(fā)梭子,這種有大量用戶使用的工具類(lèi),絕對(duì)比自己維護(hù)的輪子要穩(wěn)定的多,所以開(kāi)發(fā)選hutool是非常OK的一個(gè)選擇。
我們使用的是hutool工具的一個(gè)子包 - SimpleServer
Oracle JDK提供了一個(gè)簡(jiǎn)單的Http服務(wù)端類(lèi),叫做HttpServer,當(dāng)然它是sun的私有包,位于com.sun.net.httpserver下,必須引入rt.jar才能使用,Hutool基于此封裝了SimpleServer,用于在不引入Tomcat、Jetty等容器的情況下,實(shí)現(xiàn)簡(jiǎn)單的Http請(qǐng)求處理。
功能實(shí)現(xiàn)
1. 初始化文檔
在 resources 目錄下,或者項(xiàng)目根目錄下執(zhí)行如下命令,在項(xiàng)目根目錄執(zhí)行,需要對(duì) maven 打包進(jìn)行額外的配置,推薦在 resources目錄下執(zhí)行。
docsify init .docs
docsify init .docs
2. 配置簡(jiǎn)易服務(wù)器
新建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)
// 設(shè)置默認(rèn)根目錄 -- resources目錄下新建根據(jù)對(duì)應(yīng)路徑修改,目錄分隔符用 File.separator 保證Win/Linux 兼容
.setRoot(rootPath+ File.separator+".docs")
.start();
}
}3. 訪問(wèn)
當(dāng)啟動(dòng) springboot 項(xiàng)目時(shí),訪問(wèn) localhost:8888即可訪問(wèn)對(duì)應(yīng)文檔

到此這篇關(guān)于springboot基于docsify 實(shí)現(xiàn)隨身文檔的文章就介紹到這了,更多相關(guān)docsify 實(shí)現(xiàn)隨身文檔內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java string類(lèi)的常用方法詳細(xì)介紹
在開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)使用到j(luò)ava string類(lèi)的方法,本文將以此問(wèn)題進(jìn)行詳細(xì)介紹2012-11-11
springboot時(shí)間格式化的五種方法總結(jié)(解決后端傳給前端的時(shí)間顯示不一致)
這篇文章主要給大家介紹了關(guān)于springboot時(shí)間格式化的五種方法,文中介紹的方法解決了后端傳給前端的時(shí)間顯示不一致,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
java網(wǎng)絡(luò)編程之識(shí)別示例 獲取主機(jī)網(wǎng)絡(luò)接口列表
一個(gè)客戶端想要發(fā)起一次通信,先決條件就是需要知道運(yùn)行著服務(wù)器端程序的主機(jī)的IP地址是多少。然后我們才能夠通過(guò)這個(gè)地址向服務(wù)器發(fā)送信息。2014-01-01
Java中常見(jiàn)的對(duì)象轉(zhuǎn)換工具
對(duì)象進(jìn)行對(duì)象的轉(zhuǎn)換是一個(gè)操作重復(fù)且繁瑣的工作,于是市面上就有許多的對(duì)象轉(zhuǎn)換工具來(lái)解決這個(gè)問(wèn)題,下面我們就來(lái)看看幾個(gè)比較常用的工具(mapstruct,Spring BeanUtils,Apache BeanUtils)使用方式及其性能2023-04-04
Java8 新特性Lambda表達(dá)式實(shí)例詳解
這篇文章主要介紹了Java8 新特性Lambda表達(dá)式實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03
Spring Cloud詳解實(shí)現(xiàn)聲明式微服務(wù)調(diào)用OpenFeign方法
這篇文章主要介紹了Spring Cloud實(shí)現(xiàn)聲明式微服務(wù)調(diào)用OpenFeign方法,OpenFeign 是 Spring Cloud 家族的一個(gè)成員, 它最核心的作用是為 HTTP 形式的 Rest API 提供了非常簡(jiǎn)潔高效的 RPC 調(diào)用方式,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2022-07-07

