瀏覽代碼

optimize docsify

Stille 3 年之前
父節點
當前提交
9ff91505e1
共有 4 個文件被更改,包括 30 次插入15 次删除
  1. 3 2
      docsify/Dockerfile
  2. 5 12
      docsify/README.md
  3. 0 1
      docsify/docker-compose.yml
  4. 22 0
      docsify/entrypoint.sh

+ 3 - 2
docsify/Dockerfile

@@ -3,9 +3,10 @@ LABEL org.opencontainers.image.authors="[email protected]"
 
 WORKDIR /
 
+ADD entrypoint.sh /
+
 RUN npm i docsify-cli -g
-RUN docsify init ./docs
 
 EXPOSE 3000
 
-CMD docsify serve docs
+ENTRYPOINT ["/bin/sh", "-c", "/entrypoint.sh"]

+ 5 - 12
docsify/README.md

@@ -8,20 +8,13 @@ Docker [stilleshan/docsify](https://hub.docker.com/r/stilleshan/docsify)
 docsify serve docker, 方便在 macOS 或 Windows 本地使用 docker 来启动 docsify 服务进行编写文档.
 
 ## 使用
-### 现有项目
-需挂载本地`docsify`文档目录到容器内`/docs`,启动容器使用`127.0.0.1:3000`访问.
+### docker
 ```shell
-docker run -d --name=docsify -p 3000:3000 -v /your/docs/path:/docs stilleshan/docsify
+docker run --name docsify -p 3000:3000 -v /your/docs/path:/docs stilleshan/docsify
+# 修改本地文档目录
 ```
-
-### 新建项目
-```shell
-docker run -d --name=docsify -p 3000:3000 stilleshan/docsify
-# 不挂载启动容器,初始化新文档.
-docker cp docsify:/docs .
-# 将容器内初始化的文档拷贝出来.
-```
-后续可参考上述`现有项目`方式挂载来维护编写文档.
+访问`127.0.0.1:3000`
+> 注意: 如本地文档目录内含有 index.html 并是初次初始化 docsify, 需重命名 index.html 进行备份,再次启动容器.
 
 ### docker compose
 下载 [docker-compose.yml](https://raw.githubusercontent.com/stilleshan/dockerfiles/main/docsify/docker-compose.yml) 执行以下命令启动:

+ 0 - 1
docsify/docker-compose.yml

@@ -7,4 +7,3 @@ services:
       - 3000:3000
     volumes:
       - /your/docs/path:/docs
-    restart: always

+ 22 - 0
docsify/entrypoint.sh

@@ -0,0 +1,22 @@
+# /bin/sh
+
+if [ ! -d /docs ]; then
+  docsify init ./docs
+  docsify serve docs
+fi
+
+docsify init ./tmp-docs
+
+if [ ! -f /docs/index.html ]; then
+  mv /tmp-docs/index.html /docs
+fi
+
+if [ ! -f /docs/README.md ]; then
+  mv /tmp-docs/README.md /docs
+fi
+
+if [ ! -f /docs/.nojekyll ]; then
+  mv /tmp-docs/.nojekyll /docs
+fi
+
+docsify serve docs