@@ -39,6 +39,15 @@ func (this *ManagerController) Prepare() {
3939 }
4040}
4141
42+ var installed []installedDependency
43+
44+ type installedDependency struct {
45+ Name string // 依赖名称
46+ IsInstalled bool // 是否已安装
47+ Message string // 相关信息
48+ Error string
49+ }
50+
4251func (this * ManagerController ) Index () {
4352 this .TplName = "manager/index.html"
4453 this .Data ["Model" ] = models .NewDashboard ().Query ()
@@ -47,6 +56,55 @@ func (this *ManagerController) Index() {
4756 "keywords" : "仪表盘" ,
4857 "description" : this .Sitename + "专注于文档在线写作、协作、分享、阅读与托管,让每个人更方便地发布、分享和获得知识。" ,
4958 })
59+ if len (installed ) == 0 {
60+ var err error
61+
62+ errCalibre := "-"
63+ if err = utils .IsInstalledCalibre ("ebook-convert" ); err != nil {
64+ errCalibre = err .Error ()
65+ }
66+ installed = append (installed , installedDependency {
67+ Name : "calibre" ,
68+ IsInstalled : err == nil ,
69+ Error : errCalibre ,
70+ Message : "calibre 用于将书籍转换成PDF、epub和mobi ==> <a class='text-danger' target='_blank' href='https://www.bookstack.cn/read/help/Ubuntu.md'>安装教程</a>" ,
71+ })
72+
73+ errGit := "-"
74+ if err = utils .IsInstalledGit (); err != nil {
75+ errGit = err .Error ()
76+ }
77+ installed = append (installed , installedDependency {
78+ Name : "git" ,
79+ IsInstalled : err == nil ,
80+ Error : errGit ,
81+ Message : "git,用于克隆项目" ,
82+ })
83+
84+ errChrome := "-"
85+ if err = utils .IsInstalledChrome (beego .AppConfig .DefaultString ("chrome" , "chrome" )); err != nil {
86+ errChrome = err .Error ()
87+ }
88+ installed = append (installed , installedDependency {
89+ Name : "chrome" ,
90+ IsInstalled : err == nil ,
91+ Error : errChrome ,
92+ Message : "chrome浏览器,即谷歌浏览器,或者chromium-browser,用于渲染markdown内容为HTML。" ,
93+ })
94+
95+ errPuppeteer := "-"
96+ if err = utils .IsInstalledPuppetter (beego .AppConfig .DefaultInt ("httpport" , 8181 )); err != nil {
97+ errPuppeteer = err .Error ()
98+ }
99+ installed = append (installed , installedDependency {
100+ Name : "puppeteer" ,
101+ IsInstalled : err == nil ,
102+ Error : errPuppeteer ,
103+ Message : "puppeteer, node.js的模块,用于将markdown渲染为HTML以及生成电子书封面。 <a class='text-danger' target='_blank' href='https://www.bookstack.cn/read/help/Ubuntu.md'>安装教程</a>" ,
104+ })
105+ }
106+
107+ this .Data ["Installed" ] = installed
50108 this .Data ["IsDashboard" ] = true
51109}
52110
0 commit comments