第七星尘的独立博客

【个人开源作品】在线API文档、技术文档工具ShowDoc

ShowDoc是什么

每当接手一个他人开发好的模块或者项目,看着那些没有写注释的代码,我们都无比抓狂。文档呢?!文档呢?!Show me the doc !!
程序员都很希望别人能写技术文档,而自己却很不希望要写文档。因为写文档需要花大量的时间去处理格式排版,想着新建的word文档放在哪个目录等各种非技术细节。
word文档零零散散地放在团队不同人那里,需要文档的人基本靠吼,吼一声然后上qq或者邮箱接收对方丢过来的文档。这种沟通方式当然可以,只是效率不高。
ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率。

它可以用来做什么

  • API文档( 查看Demo

    随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供API,APP端或者网页前端便可方便调用数据。用ShowDoc可以非常方便快速地编写出美观的API文档。

  • 数据字典( 查看Demo

    一份好的数据字典可以很方便地向别人说明你的数据库结构,如各个字段的释义等。

  • 说明文档(查看Demo

    你完全可以使用showdoc来编写一些工具的说明书,也可以编写一些技术规范说明文档以供团队查阅。

它都有些什么功能

  • 分享与导出

    • 响应式网页设计,可将项目文档分享到电脑或移动设备查看。同时也可以将项目导出成word文件,以便离线浏览。
  • 权限管理

    • 公开项目与私密项目
      ShowDoc上的项目有公开项目和私密项目两种。公开项目可供任何登录与非登录的用户访问,而私密项目则需要输入密码验证访问。密码由项目创建者设置。

    • 项目转让
      项目创建者可以自由地把项目转让给网站的其他用户。

    • 项目成员
      你可以很方便地为ShowDoc的项目添加、删除项目成员。项目成员可以对项目进行编辑,但不可转让或删除项目(只有项目创建者才有权限)

  • 编辑功能

    • markdown编辑
      ShowDoc采用markdown编辑器,无论是编辑还是阅读体验都极佳很棒。如果你不了解Markdown,请在搜索引擎搜索"认识与入门 Markdown"

    • 模板插入
      在ShowDoc的编辑页面,点击编辑器上方的按钮可方便地插入API接口模板和数据字典模板。插入模板后,剩下的就是改动数据了,省去了很多编辑的力气。

    • 历史版本
      ShowDoc为页面提供历史版本功能,你可以方便地把页面恢复到之前的版本。

部署到自己的服务器

使用在线的ShowDoc

  • 如果你没有自己的服务器,但又想使用ShowDoc作为分档分享工具,你可以使用在线的ShowDoc http://www.showdoc.cc

  • http://www.showdoc.cc 作为在线服务会长期维护,请放心托管你的文档数据。

版权

  • ShowDoc遵循Apache2开源协议发布,并提供免费使用。
    版权所有Copyright © 2016 by star7th
    博客:http://blog.star7th.com
    邮箱:xing7th#gmail.com(把#改为@)
    All rights reserved.

ShowDoc交流群

  • ShowDoc使用交流qq群
    交流群①:564671853(已满)
    交流群②:174709989(已满)
    交流群③:667194478

  • 如果你觉得ShowDoc好用,可以转发此文到你的技术社区以支持ShowDoc。感谢支持。
 如无特殊说明,本站皆为原创。转载请注明来自第七星尘的独立博客《【个人开源作品】在线API文档、技术文档工具ShowDoc》

评论

  1. 坏朋友 #1

    文档编辑的时候,表格里面怎么体现嵌套关系?

    回复
    2020-09-15
  2. shizg #2

    页面不小心删了 有恢复功能吗

    回复
    2018-04-20
  3. seamoney #3

    markDown插入表格标签后与上面的内容会有一大段空白间隔,这个有什么办法解决不

    回复
    2017-11-22
  4. LeehooLiu #4

    其他人新建项目后,默认添加其他人为成员。这样其他人也可以马上更新该项目了。

    回复
    2017-11-21
  5. 上三 #5

    小建议,能否将左侧的分类,做成无限级分类,这样层级比较多的功能,能够更好更清晰管理查看。感谢提供现在这个文档项目。 😆

    回复
    2017-09-26
    • 第七星尘

      短期内不考虑。大部分项目是可以分解的。多级目录也不容易搜索。后面看需求再做考虑

      回复
      2017-09-26
  6. webary #6

    请问下我的私密项目在页面点分享之后复制链接,别人打开要求输入分享密码,但是我不知道啊,即使我把我项目的密码给他也显示密码错误怎么解决?

    回复
    2017-08-23
    • 第七星尘

      你在创建项目的时候设置了密码。可以在项目设置处修改

      回复
      2017-08-23
      • webary

        好的,已解决,谢谢!

        回复
        2017-08-24
  7. 患者 #7

    想看源代码

    回复
    2017-08-21
  8. 患者 #8

    这个能导出成html文件不

    回复
    2017-08-21
    • 第七星尘

      不能

      回复
      2017-08-21
  9. 何成斌 #9

    如何导出呢?我在本地部署了一下环境,将文档完成了。但是导出的时候导出的word文档什么都没有??

    回复
    2017-08-16
    • 第七星尘

      不知道是否少了什么扩展。尝试根据这个来安装环境https://www.showdoc.cc/php?page_id=14595

      回复
      2017-08-16
  10. newbie #10

    建议增加按目录、按页导出的功能,可以快速生成交付客户的文档。整个项目导出的意义不大,只能用于备份资料。

    回复
    2017-08-15
    • 第七星尘

      后面更新会加上此功能

      回复
      2017-08-15
      • newbie

        赞!

        回复
        2017-08-15
      • newbie

        另外还提一个建议:按目录导出markdown原文件(用复制功能逐页导文件,还要自己加目录太麻烦了) 😛
        导出的markdown原文件可以用gitbook等其它渲染工具,发布成自己想要的文件格式。

        回复
        2017-08-15
  11. 天收 #11

    有个很糟糕的问题是表格里的内容无法换行!

    回复
    2017-08-12
    • 第七星尘

      它是自动换行的,不然不能适应移动屏幕。你可以尝试使用html标签,如br,p

      回复
      2017-08-14
  12. jo #12

    两个咨询:
    1.使用showdoc.cc托管api文档项目的数据,除了word之外,还能有别的数据备份形式吗?
    2.word文档的模版可以定制吗?

    回复
    2017-08-9
    • 第七星尘

      很抱歉,没有别的数据备份形式,也没有定制模板。

      回复
      2017-08-9
  13. 刘文峰 #13

    之前旧的showdoc版本升级会对以前编写好及结构会兼容或是有丢失吗?

    回复
    2017-08-4
    • 第七星尘

      理论上兼容。你升级前把整个文件夹都拷贝备份一份就好。

      回复
      2017-08-4
  14. zero #14

    ctrl + d 是删除快捷键 容易误操作

    回复
    2017-07-20
    • zero

      和收藏快捷键冲突

      回复
      2017-07-20
      • 第七星尘

        删除前有确认按钮的

        回复
        2017-07-20
        • qii

          已经误删除了一个页面。。。。本来想添加收藏的,蹦出来个confirm也没仔细看,,还以为chrome自己的确认收藏界面呢,,,,直接enter了。。。。估计和我一样的很多,换个快捷键吧,。。。。

          回复
          2017-09-14
  15. kkk #15

    上一个问题作废,谢谢博主,已经搞定啦~~

    回复
    2017-05-24
  16. kkk #16

    请问下怎样实现管理员发布文档,其他人无需登录即可查看文档呢?

    回复
    2017-05-24
    • 第七星尘

      默认是公开的,除非你在新建项目的时候设置了访问密码。你可以在项目设置处,去掉访问密码。

      回复
      2017-05-24
  17. halfopen #17

    感觉文档的历史修改记录也听有需要的

    回复
    2016-12-8
  18. snail #18

    非常感谢!但好像权限验证那里有问题:我开了两个浏览器,一个用showdoc账号登录,一个用新注册的admin账号登录,然后用showdoc账号开了一个api项目,设置了密码和个性域名(这应该是设置成了私密项目了吧),然后复制api项目的链接,在admin那里访问该url,发现可以访问,这是怎么回事呢?是不是我哪里搞错了。。

    回复
    2016-11-8
    • 第七星尘

      不知道你怎么操作的,建议你在谷歌浏览器的隐身模式下尝试以全新游客的方式访问。

      回复
      2016-11-9
  19. 钱途无梁 #19

    相当的不错,感谢分享

    回复
    2016-09-24
  20. 醉梦 #20

    你好!左侧的列表中页面可以放到目录下面吗?

    回复
    2016-09-21
    • 第七星尘

      左侧的列表中页面指的是哪里?放到目录指的是哪里的目录?左侧不就是目录吗

      回复
      2016-09-23
  21. donic #21

    你好,他默认是Sqlite数据库,我想修改成我本地的mysql数据库,该怎么操作呢。谢谢

    回复
    2016-09-4
    • 第七星尘

      官方不再支持mysql;使用mysql的话请用户自主研究

      回复
      2016-09-4
  22. 幸福的人 #22

    能直接添加附件吗?

    回复
    2016-07-18
  23. 天堂里没有尽头 #23

    接口内容过多导致导出word报错,该页丢失,怎么解决

    回复
    2016-07-1
  24. ZeroZ #24

    在注册的时候出现
    SQLSTATE[HY000]: General error: 11 database disk image is malformed
    这种错误,看错误位置都是thinkphp下的。

    回复
    2016-05-20
    • ZeroZ

      php-pdo已经装好,没有使用mysql数据库。

      回复
      2016-05-20
    • 第七星尘

      试着给/Sqlite/showdoc.db.php可写权限

      回复
      2016-05-20
      • ZeroZ

        读写权限都有。

        回复
        2016-05-20
        • 第七星尘

          我刚又测试了下,centos6+php5.4确实是没问题的;你的环境是如何的?试试从github上重新下载/Sqlite/showdoc.db.php看看。还有检查自己磁盘是否还有可写空间;再不就用mysql试试

          回复
          2016-05-20
          • ZeroZ

            windows 2003+php4.3.2,/Sqlite/showdoc.db.php重新下载上传了,磁盘空间也是有的。
            只能用mysql么?

            回复
            2016-05-20
            • 第七星尘

              请使用PHP5.3以上版本

              2016-05-20
            • ZeroZ

              不好意思,说错了,是5.3.21,5.3的版本不行么?

              2016-05-20
            • 第七星尘

              我刚在网上搜索下相关资料,原来Windows 用户必须启用 php_sqlite3.dl才能支持sqlite数据库。你在php.ini里面把"extension=php_sqlite.dll"启用。我将此方法更新至部署手册先

              2016-05-20
            • ZeroZ

              是启用状态。

              2016-05-20
            • 第七星尘

              我暂时想不到什么情况下导致此错误。由于没有环境,我也难调试;为了省下折腾的时间精力,建议你还是安装mysql吧

              2016-05-20
    • fewaf

      我也出现了这个问题, 没搞定,最终如何解决?

      回复
      2018-12-6
  25. 乱臣贼子 #25

    错误位置
    FILE: /mnt/www/showdoc-master/ThinkPHP/Library/Think/Db/Driver/Mysql.class.php  LINE: 36
    ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } — [ WE CAN DO IT JUST THINK ] 主页和登录都可以,点击教程和demo就出来这个

    回复
    2016-05-10
    • 第七星尘

      应该是你的mysql数据库没装好。或者php-pdo没装好

      回复
      2016-05-10
      • 乱臣贼子

        php-pd是yum安装的,要不要配置什么的, mysql安装完了是不是showdoc.sql导入和修改config.php就好了

        回复
        2016-05-12
        • 第七星尘

          理论上是不需要再配置什么的。你可以打印phpinfo出来看看有没有加载上pdo了

          回复
          2016-05-12
  26. #26

    您好 预览api地址的时候 提示模板不存在:./Application/Home/View/Item/Show.html
    但是模板是show.html 是存在的,部署在linux 的nginx环境下,是否大小写问题呢?我该如何解决,谢谢啦

    回复
    2016-05-8
    • 第七星尘

      你是否开启了index.php的debug?如果是则关闭。此外试试清除缓存看看

      回复
      2016-05-8
  27. KAAAsS #27

    发现个问题,链接的双引号存入数据库时会被转义,然而读取时并不会变回来,于是链接就识别不出来了……

    回复
    2016-04-4
    • 第七星尘

      你的url是怎么样的?需要带引号的参数?其实如果没特殊要求,我建议url还是不要含引号比较好

      回复
      2016-04-5
      • KAAAsS

        主要问题是代码中的”和’……自动加

        回复
        2016-04-8
      • KAAAsS

        这个问题,阅读了下源码,已经自己改正了。另外还有个问题:ajax跳转是不是忘了改url了……浏览器地址栏依旧没有变……而且有时候会跳转循环。

        回复
        2016-04-8
        • 第七星尘

          哪里的ajax跳转?

          回复
          2016-04-8
          • KAAAsS

            侧边栏。比如http://doc.star7th.com/1点击侧边栏,网址不变。建议还是用用history API吧

            回复
            2016-04-8
            • 第七星尘

              加载页面的时候是用iframe的,不是ajax加载;所以对于父页面来说网址不变

              2016-04-11
            • KAAAsS

              能用history api修改一下地址栏吗,这样似乎舒服23333

              2016-04-11
            • 第七星尘

              你如果有空的话欢迎改一下提交到github,我合并下

              2016-04-11
            • KAAAsS

              已经提交pull request了~

              2016-04-13
  28. 庚饭 #28

    部署成功了,可是登录页和注册页验证码显示不出来,是什么原因

    回复
    2016-03-30
    • 第七星尘

      安装php-gd库

      回复
      2016-03-30
    • 编号5173

      我也出现这个问题,你是怎么解决的

      回复
      2017-04-18
  29. frostsky #29

    markdown 编辑器不支持火狐浏览器?

    回复
    2016-03-24
    • 第七星尘

      支持;如果不支持,有可能是某些版本差异,你试着升级浏览器版本。当然了,也有可能是跟最新版的特性哪里冲突。你控制台怎么报错?

      回复
      2016-03-24
      • frostsky

        已经是最新的版本了,控制台没有报错,就是点了编辑器上的按钮(包括所有的按钮)后,没有任何反应。你可以试一下,我装的下载版的showdoc

        回复
        2016-03-24
        • 第七星尘

          你先试一下在线的showdoc有没有错http://doc.star7th.com/

          回复
          2016-03-24
          • frostsky

            在线的也不行。试了下低版本的firefox,好像可以。应该是不支持新版本的firefox

            回复
            2016-03-24
  30. 天使不笑 #30

    有在windos +apache 下的配置方法么

    回复
    2016-03-20
    • 第七星尘

      建议你在网上搜索下如何在window下安装apache+php。安装好环境后,按照上面说的步骤操作就可以了

      回复
      2016-03-20
  31. lower #31

    在网上看到showdoc,这段时间一直在用博主提供的在线服务,特地来表示感谢。

    回复
    2016-03-11
    • 第七星尘

      🙂

      回复
      2016-03-11
      • lower

        博主你好,我今天在家访问你提供的showdoc在线服务时,发现账号密码错误登录,我给你发了一封邮件,希望你看到了能帮助我一下。非常感谢。

        回复
        2016-03-18
  32. 远在咫尺 #32

    在注册的时候总是提示验证码不正确是怎么回事呢?(验证码已正确填写)

    回复
    2016-03-9
    • 第七星尘

      可能环境安装不正确。 试试搜索“ThinkPHP session 空”看有没有合适你的解

      回复
      2016-03-10
      • 远在咫尺

        谢谢博主,已经可以了,是session的目录没有权限的问题

        回复
        2016-03-10
  33. 云云 #33

    ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } — [ WE CAN DO IT JUST THINK ]

    回复
    2016-03-9
  34. 第七星尘 #34

    补充nginx的重定向规则参考:http://blog.star7th.com/2016/03/1969.html

    回复
    2016-03-5
  35. 忧忧夏天 #35

    要是能集成postman那样的测试就更好了

    回复
    2016-03-2
  36. 李文军d #36

    再提些建议,api的连接应该设计成可点的,再应该加上一个api调用的功能,方便测试啊

    回复
    2016-03-1
    • 第七星尘

      这个很抱歉呢。跟showdoc的定位有关,showdoc定位于文档的编辑、阅读和共享。并不只限于api文档,所以不能为了api文档而开发太多其他类型文档不需要的功能。调试api我建议用postman

      回复
      2016-03-1
  37. 李文军d #37

    给个nginx配置方法啊

    回复
    2016-03-1
  38. 李文军d #38

    页面错误!请稍后再试~ , 也没有日志,咋办?

    回复
    2016-03-1
    • 第七星尘

      文件权限有了吗?清除缓存也不行吗?如果再不行,试着开启index.php第18行注释,开启调试模式,然后再访问,看页面弹出什么错误信息

      回复
      2016-03-1
    • 乱臣贼子

      你的好了吗,能帮帮我吗

      回复
      2016-05-10
  39. 大明山下汪一声 #39

    mardkown还是很优美的~

    回复
    2016-03-1
  40. 唐栓成 #40

    你好,我这边部署完成,始终显示数据库连接不上?

    回复
    2016-02-29
    • 第七星尘

      部署时出错,请先确认是否按照上面步骤执行(例如说目录权限有没有)。然后进Application/Runtime/Log看一下日志,或清除下Application/Runtime/目录下所有文件(缓存来的)试试。

      回复
      2016-03-1
      • 唐栓成

        这些都试过了,还是那种错误,可有qq相关联系方式

        回复
        2016-03-1
        • 第七星尘

          博客的左侧栏有写我的微信号。不在评论处写是为了防止爬虫。

          回复
          2016-03-1
          • tsc

            还有一个问题,这个模板只能写返回示例,请求示例不能写成json格式吗

            回复
            2016-03-1
            • 第七星尘

              可以的。模板只是起到参考作用。你也可以更改之将请求示例写成json

              2016-03-1
            • tsc

              好的,谢谢

              2016-03-1
            • tsc

              这个模板不能做成目录嵌套的吗

              2016-03-1
            • 第七星尘

              不太明白你说的目录嵌套的意思。不过,Showdoc的编写是个纯碎的mardkown编辑器,可以自由地写任何格式任何文字。你说的应该都可以实现。建议你去搜索了解下“认识与入门 Markdown“

              2016-03-1
            • tsc

              我的意思是你可以新建目录,但是这个目录都是根目录,不能指定到哪个目录下

              2016-03-1
            • 第七星尘

              目前支持一层目录。没有支持多级目录

              2016-03-1
  41. 阿文 #41

    接口部分能有个实时测试的功能就更好了

    回复
    2016-02-29
    • 第七星尘

      这个很抱歉呢。跟showdoc的定位有关,showdoc定位于文档的编辑、阅读和共享。并不只限于api文档,所以不能为了api文档而开发太多其他类型文档不需要的功能

      回复
      2016-03-1
  42. 黑名单 #42

    希望能给其它语言的开发者提供详细的安装教程!

    回复
    2016-02-26
  43. 如此 #43

    非常好的程序 编辑器能换成UBB这种能插入Flash的就爽了

    回复
    2016-02-14
  44. gareen #44

    提点需求哈
    1.管理项目组成员,加进的用户权限太大,其他人员应该限制删除权限
    2.添加项目组成员,只能手动输入用户名称,提供查询或用户列表可选机制
    3.目录管理有点简单,可以再提供多级目录
    不错的工具,感谢分享

    回复
    2016-01-29
    • 第七星尘

      有限制删除权限的,你试着删除就知道了,权限不够会提醒;其他建议会考虑下

      回复
      2016-01-30
  45. 高强 #45

    用centos7部署后一个页面打开要20多秒

    回复
    2016-01-18
    • 第七星尘

      是本机吗?如果是服务器,有没有可能是网络问题

      回复
      2016-01-18
  46. 王商博客 #46

    一个很好用的工具

    回复
    2015-12-31
  47. 灰姑娘 #47

    挺喜欢博主这个工具。
    不过请问下,服务器搭建好后,首页能正常显示,但“注册/登录”还有“使用教程”都是【404 not found】,一般是啥原因呢?

    回复
    2015-12-28
    • 第七星尘

      检查下你是不是重定向到了未知的地方

      回复
      2015-12-28
      • 灰姑娘

        我看了链接结构是和你的在线版本一样的。[可怜]
        比如 xxxx/index.php/home/item/index
        我打开网站首页 xxxx/index.php
        但是 xxxx/index.php/home/ 就404了
        [泪]

        回复
        2015-12-29
        • 第七星尘

          所以说程序结构是没问题的,我就怀疑是环境重定向到了未知页面

          回复
          2015-12-29
          • 灰姑娘

            搞定了。。对博主表示感谢。
            要是
            1.能导入
            2.目录和页面能单独设权限
            就更好了

            回复
            2015-12-29
            • 。༣

              怎么整的 我也碰到这个问题了

              2016-02-17
            • cherish

              你好,你碰到页面不显示问题怎么解决的?我都首页,登录注册都可以显示就是其他页面不能显示

              2016-03-9
          • 灰姑娘

            还有项目组成员的权限太大了。
            应该只有管理员和页面创建者可以删除比较好。
            另外,报个bug,切换分组和页面的时候url没有变化。(主要是page_id没切换)
            比如你在这个页面:
            http://doc.star7th.com/index.php/home/item/show?item_id=2
            进入到这个页面:
            http://doc.star7th.com/index.php/home/item/show?page_id=10&item_id=2
            浏览器上的url还是显示的上面那个。

            回复
            2015-12-29
        • cherish

          请问下,你这个问题最后是怎么解决的?

          回复
          2016-03-9
  48. cheerbigpig #48

    本地部署的,导出word出错,是什么原因呢?

    回复
    2015-12-26
    • 第七星尘

      我的本地和线上都可以正常导出。建议你看下ApplicationRuntimeLogs的日志。我猜要么是环境扩展没安装,要么就是哪里报错了导致无法弹出word下载框

      回复
      2015-12-26
  49. 一条虫的量词 #49

    niginx如何布署,发现有问题

    回复
    2015-12-23
    • 第七星尘

      通常这与框架的部署有关。showdoc用的是thinkPHP3.2.3,你查询下niginx下如何配置它

      回复
      2015-12-23
  50. peanut #50

    图片编辑文档的时候,上传不了图片。。。

    回复
    2015-12-4