在線API文檔管理工具Simple doc

Simple doc是一個簡易的文檔發佈管理工具,爲何要寫Simple doc呢?主要緣由仍是githubwiki並很差用;沒有目錄結構,文章沒有Hx標籤索引,最悲劇的是文章編輯的時候不能直接圖片粘貼和文件上傳;爲了知足本身的需求也順帶幫Beetlex寫個完整的web示例因此花了些時間寫了Simple doc.雖然Simple doc功能簡單但在文檔展示上仍是要比githubwiki好上很多,因此在完成後也把githubwiki遷到這上面來了(畢竟都是基於markdown因此遷過來也簡單)。javascript

功能

  • 基於markdownhtml

    (若是不會markdown那這個工具就無法用了)vue

  • 支持圖片和附件上傳java

    默認實現只支持jpa,png,ziprar文件上傳(最大2MB,這個限制能夠自行修改),上傳方式支持:拖放,粘貼等.linux

  • 支持各類代碼主題git

    支持數十種代碼主題,由瀏覽者選擇本身喜歡的主題github

  • 支持兩層目錄列表web

    大部分狀況下兩層目錄可以知足大部分需求,因此在實現上沒有支持更多層次的目錄結構json

  • 支持文章結構標籤windows

    只要文章超過3個h2,h3,h4的標籤則會對應生成文件的目錄列表,方便文章內容定位

運行環境

支持linux,windows等裝有.net core 2.2或更高版的服務環境。

編譯項目

從https://github.com/IKende/SimpleDoc下載最新的源碼,用vs2017或更高版本打開而後發佈便可;發佈完成後目錄下有run.batrun.sh兩運行文件運行便可。若是想運行windows service須要自行封裝,想在linux下後臺運行能夠在用nohup &指令來運行。

HTTP配置

項中的HttpConfig.json是配置相關服務,主要用於配置服務端口,地址和HTTPs等。詳細能夠查看http://doc.ikende.com/#c6d82c8e677f43cfa1127f32c308caa1

運行效果

能夠經過查看http://doc.ikende.com實際部署效果,這是beetlex的官方文檔地址。

選擇代碼主題

Simple doc的代碼主題是瀏覽者本身來選擇,選擇後查看其餘文章裏的代碼都是這一主題來展示。

管理

既然是簡易版,那在功能管理固然也是直接粗暴,功能和界面都至關簡陋!功能主要有三個:分類管理,文章管理和配置(注意:登錄的用戶名是 admin,密碼是123456).

不過度類仍是文章都有內容,若是分類有內容的狀況在瀏覽時會把內容展示出來,若是沒有則會拿分類下的第一篇文章來展示。除了基礎信息外還提供是否發佈和排序的順序設置,若是沒有發佈的分類或文章是不會被展示出來。

文章編輯

接下來讓你看一下什麼是最簡陋的文檔編輯頁面了……

能夠根據須要切換編輯預覽模式

不要驚訝你看到http://doc.ikende.com上的全部文檔就是這樣編輯出來的;其實markdown還真不須要什麼多功能的文本編輯器, 有一個文檔輸入框就足夠了。但上面的輸入框還有一個很重要的功能,就是支持圖片粘貼和拖放,再結合下面的上傳按鈕就足能夠完成附件添加功能.編輯旁邊有一個預覽按鈕,能夠切換過去看當前編輯內容的完整展示。

管理配置

主要用於修改網站標題,管理密碼和JWT對應的Key

實現技術

Simple doc是基於BeetleX.FastHttpApivuejs來實現,對於我這樣一個後端人員來vuejs的切入仍是比較容易的,說實話用起還真是爽!在這個項目除了瞭解到BeetleX.FastHttpApivuejs的結合外還能瞭解到一些js處理粘貼文件上傳和圖片大小切割的一些實現功能。其實爲了更好地和vuejs還封裝了一個對應的client類,如下簡單地展示一下Simple doc的登錄代碼:

  • html


<form> <div class="form-group"> <label>用戶名</label> <input type="text" v-model="login.data.name" class="form-control input-sm"> </div> <div class="form-group"> <label>密碼</label> <input type="password" v-model="login.data.pwd" class="form-control input-sm"> </div> <button type="button" @click="login.post()" class="btn btn-default btn-sm">登錄</button></form>


  • javascript


var login = new beetlexAction("/admin/Login", { name: '', pwd: '' });login.requesting = function (d) { if (!d.name || !d.pwd) { alert('輸入登錄用戶名和密碼!'); return false; } return true;};login.requested = function (r) { if (r) { window.location.href = "/admin/"; } else { alert('用戶名或密碼不正確!'); }};var page = new Vue({ el: '#page', data: { info: webSiteInfo, login: login, }});


  • server api


[SkipFilter(typeof(AdminFilter))] public object Login(string name, string pwd, IHttpContext context) { if (name == Webconfig.Default.Data.Usename && pwd == Webconfig.Default.Data.Password) { JWTHelper.Default.CreateToken(context.Response, name, "admin"); return true; } return false; }



若是你對這種應用技術感興趣能夠關注Simple doc的源碼和BeetleX

聲明:發佈此文是出於傳遞更多知識以供交流學習之目的。如有來源標註錯誤或侵犯了您的合法權益,請做者持權屬證實與咱們聯繫,咱們將及時更正、刪除,謝謝。

做者:開源微服務(BeetleX)

來源:https://www.cnblogs.com/smark/p/11811965.html

More:【微信公衆號】 u3dnotes

本文分享自微信公衆號 - Unity3D遊戲開發精華教程乾貨(u3dnotes)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索