热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpmarkdown接口文档生成工具SummerDoc

2017年9月18日19:20:22星期一因工作需要,用PHP写了一个管理接口文档的小工具,下边介绍一下:浏览器展示的效果:项目地址:(码云)例子(http:doc.h

2017年9月18日 19:20:22 星期一

因工作需要, 用PHP写了一个管理接口文档的小工具, 下边介绍一下:

浏览器展示的效果:

项目地址:(码云)

例子(http://doc.hearu.top/)

项目模块说明:

  1. 左侧目录树: dtree.js  不依赖其他js
  2. Markdown转html: segmentfault社区开发的PHP工具 parsedown  (一个国外的PHP类)
  3. 遍历md文件生成左侧目录树所需的数据: 利用树的后根序遍历算法读取文件夹的PHP类(自己开发, 暂未发现bug)

特点描述:

  1. 左侧目录会根据当前页面的不同, 自动展开并高亮
  2. 目录是根据文件夹/文件名自动生成的, 无需另外编写
  3. 使用markdown编写, 只用编写主体内容
  4. 风格类似github, 鼠标放在表格的行上时会高亮
  5. 若表格内换行需要手动写
  6. 文档的最下边显示最后编辑时间
  7. 手机(自测用的4.7寸浏览器)可自适应缩小

使用说明:

  1. 需要安装 PHP 最好是7.1+以上的版本
  2. 将md文件放入src目录里, 按照自己的项目命名文件和文件夹(这些名字就是最终生成的左侧树形目录的名字)
  3. 进入根目录, 运行命令: php compile.php  之后就可以在_book目录里看到编译好的html文件了
  4. 在web服务器中搭建一个虚拟机(比如: doc.abc.com), 并将根目录设置为 _book, 重启后在浏览器里访问

注意:

  1. _book目录里的dtree目录是事先写好的css和js, 对dtree的源文件有一些简单的改动, 
  2. 如果不小心删掉了, 可以到根目录里解压dtree.zip, 复制到_book文件夹中
  3. 如果想重新编译所有文件, 可以删掉根目录下的 last_compile_time.log 文件, 不然, 程序只会编译最新修改的文件

小技巧:

如果不想每次提交前都手动执行 `php compile.php` 命令去编译md文件, 可以利用 Git 或 SVN 的 hook 功能去自动执行这个命令:

下边以 小海龟git为例, 给git加hook脚本:

 2018-2-10 15:51:28 星期六 更新

nginx 服务器虚拟机配置:

 1 server {
 2         listen       80;
 3         server_name  www.markdown.com;
 4         
 5         autoindex on;
 6         location / {
 7             root E:\virtualbox\PHP-Summer-Doc\_book;
 8             fastcgi_index  index.html;
 9         }
10 
11     }

2018-2-9 15:32:18 星期五 更新

因为sf出的md解析器在处理单行多个
的时候会间隔处理, 所以替换了另一款解析器类 parsedown.php 

这个比较快, 但他官方说明没有进行安全校验, 如果担心安全问题要使用其他插件帮助处理一下, 以下是官方说明

Security

Parsedown does not sanitize the HTML that it generates. When you deal with untrusted content (ex: user comments) you should also use a HTML sanitizer like HTML Purifier.


推荐阅读
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文介绍了如何在 GitHub 的 Markdown 文件中正确显示数学公式的方法,适用于非博客环境。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 目录介绍01.CoordinatorLayout滑动抖动问题描述02.滑动抖动问题分析03.自定义AppBarLayout.Behavior说明04.CoordinatorLayo ... [详细]
  • 本文将详细介绍如何使用Markdown来创建流程图,包括定义元素、连接元素以及构建完整的流程图实例,如Web服务API请求流程图和网页登录流程图。 ... [详细]
author-avatar
迷彩三角裤_625
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有