springboot基于docsify?實(shí)現(xiàn)隨身文檔
需求分析
- 文檔可以和項目一起進(jìn)行版本管理
- 文檔可以在線訪問
- 文檔可以與springboot項目集成,不需要分開部署
- MarkDown支持
- 文檔跟隨,打包
jar
也可以訪問
技術(shù)選型
對于網(wǎng)上已有的方案,大致分為如下幾種
- 將文檔部署在
resource
靜態(tài)資源目錄下,用模板渲染訪問。[1][1] - 分離部署,打包
jar
后還需要單獨(dú)上傳靜態(tài)資源文檔內(nèi)容并部署。
最終選定的技術(shù)方案如下
工具 | 用途 | 官網(wǎng) |
---|---|---|
Typora | 文檔編寫 | https://typoraio.cn/ |
Docsify | 文檔部署 | https://docsify.js.org/#/ |
Hutool | 服務(wù)集成 | https://www.hutool.cn/docs/#/ |
工具介紹
Typora
Typora 是一款功能非常強(qiáng)大的 MarkDown編寫工具,采用所見即所得的編輯方式,實(shí)現(xiàn)了即時預(yù)覽的功能,Latex
公式支持,具體請查看官網(wǎng),目前只有平替,沒有超越的MarkDown編寫工具,對于本方案來講,支持剪切圖片直接保存到相對路徑中,方便訪問。同時也支持配置圖床,需要使用PicGo
搭建服務(wù)。
Docsify
docsify 可以自動地將 Markdown 中的標(biāo)題生成目錄,快速搭建一個小型的文檔網(wǎng)站,整個頁面的配色和布局也十分舒適,讓閱讀體驗在不知不覺中提升了好幾個檔次。
和 Gitbook 不同,docsify 不會生成靜態(tài)的 HTML 文件,它會智能地加載和解析 Markdown 文件,這就避免了 HTML 文件對整個文檔庫的“污染”。
還支持豐富的自定義樣式。
Hutool
hutool 是一個非常好用的開發(fā)梭子,這種有大量用戶使用的工具類,絕對比自己維護(hù)的輪子要穩(wěn)定的多,所以開發(fā)選hutool
是非常OK的一個選擇。
我們使用的是hutool
工具的一個子包 - SimpleServer
Oracle JDK提供了一個簡單的Http服務(wù)端類,叫做HttpServer
,當(dāng)然它是sun的私有包,位于com.sun.net.httpserver下,必須引入rt.jar才能使用,Hutool基于此封裝了SimpleServer
,用于在不引入Tomcat、Jetty等容器的情況下,實(shí)現(xiàn)簡單的Http請求處理。
功能實(shí)現(xiàn)
1. 初始化文檔
在 resources
目錄下,或者項目根目錄下執(zhí)行如下命令,在項目根目錄執(zhí)行,需要對 maven 打包進(jìn)行額外的配置,推薦在 resources
目錄下執(zhí)行。
docsify init .docs
docsify init .docs
2. 配置簡易服務(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ù)對應(yīng)路徑修改,目錄分隔符用 File.separator 保證Win/Linux 兼容 .setRoot(rootPath+ File.separator+".docs") .start(); } }
3. 訪問
當(dāng)啟動 springboot 項目時,訪問 localhost:8888
即可訪問對應(yīng)文檔
到此這篇關(guān)于springboot基于docsify 實(shí)現(xiàn)隨身文檔的文章就介紹到這了,更多相關(guān)docsify 實(shí)現(xiàn)隨身文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實(shí)例
這篇文章主要介紹了Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04SpringMVC文件上傳原理及實(shí)現(xiàn)過程解析
這篇文章主要介紹了SpringMVC文件上傳原理及實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07使用@Autowired 注入RedisTemplate報錯的問題及解決
這篇文章主要介紹了使用@Autowired 注入RedisTemplate報錯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08Windows下安裝ElasticSearch的方法(圖文)
這篇文章主要介紹了Windows下安裝ElasticSearch的方法(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01Java中策略設(shè)計模式的實(shí)現(xiàn)及應(yīng)用場景
策略設(shè)計模式是Java中一種常用的設(shè)計模式,它通過定義一系列算法并將其封裝成獨(dú)立的策略類,從而使得算法可以在不影響客戶端的情況下隨時切換。策略設(shè)計模式主要應(yīng)用于系統(tǒng)中存在多種相似的算法、需要靈活調(diào)整算法邏輯或者需要擴(kuò)展新的算法等場景2023-04-04