让文档和Demo生成更加简单和强大 - SmartDoc 0.1.1 说明

新特性

smartDoc 0.1.1版正式发布,其中加入了更多方便生成文档的功能,主要特性如下:

* 加入@demo配置项,看可以动态抓取html和js的内容作为@example,同时支持扩展@demo读取
* 支持jasmine测试js文件的单元代码抓取为@example
* 实现多个example显示和tab切换
* 加入@show配置项来控制直接显示example效果
* 主题改版
* 去除@attribute属性设置,统一使用@property;

docConfig新增配置:

//demo扫描目录
demoDir: "",

 //demo生成器地址
demoBuilder: ‘./demoBuilder.js‘,

//demo代码生成器地址
codeLoader: ‘./jasmineLoader.js‘

新版效果片段如图:

详细说明

  example与code分离

    1. 以前的@example都需要写在代码注释当中,很影响代码的可读性;新版中加入@demo配置,通过设置文件路径,可以自动读取html或者js文件生成@example;

原来的写法: 现在的写法:

/**
* ................
* @method getTargets3
* @example
*       var bar;  ....
*/

/**
* ................
* @method getTargets3
* @demo inherit/getTargets3.js
*/

      inherit/getTargets3.js 会读取定义在docConfig文件demoDir配置下的文件然后生成@example

      

Jasmine的单元测试代码的读取重用

    支持jasmine测试js文件的单元代码的读取,减少而外开销。不过同时需要注意的事情是尽量编写测试用例的时候,每个单元尽量独立,不要使用全局变量;

    例如:

    

/**
     * Deferred对象
     * @class Deferred
     * @constructor
     * @demo st/deferred.js [resolve]
     */
    function Deferred() {

    }

   jasmine测试代码deferred.js:

  

describe(‘Deferred‘, function() {
        it("resolve",function(testDone){
            var defer = st.Deferred();

            function test(){
                setTimeout(function(){
                    defer.resolve("test");
                })
                return defer.promise();

            }

            st.when(test()).done(function(result){
                expect(result).toBe(‘test‘);
                testDone();
            })
        })
..........

  st/deferred.js [resolve] 对应的就是代码中的it("resolve",fn)的内容,文件地址后面的[...]表示jasmine的文件单元测试项,最终效果如下:

      

    

 支持@demo解析和读取自定义

jasmine的是通过内置的jasmineLoader去解析代码的,同时可以自定义代码解析规则 - docConfig的demoBuilder和codeLoader

 支持页面直接显示@demo/example;同时也支持tab显示多个;

  例子中配置了多个@demo,同时在@demo中文件路径的配置加入了{...},表示tab的标题,,如果没有设置则取文件名;@show表示直接在页面上显示结果

/**
     * ui测试类;
     * @class UI
     * @constructor
     * @content {string} type 内容
     * @demo ui.html
     * @demo ui2.html {ui测试2}
     * @show true
     */
    function UI(content){
        this.init(content);
    }

效果如下:

结尾

smartdoc还在持续建设中,大家使用中有什么问题和建议,可以直接使用 git的issue 反馈给我。

相关链接如下:

SmartDoc地址

doc示例地址

注释编写说明

时间: 2024-10-02 08:33:01

让文档和Demo生成更加简单和强大 - SmartDoc 0.1.1 说明的相关文章

JS文档和Demo自动化生成工具 - SmartDoc发布

曾几何时,当你码神附体,一路披荆斩棘的完成代码后,带着“一码在手,天下我有”的傲然环顾之时,却发现单元测试.API文档.Demo实例陆续向你砸来,顿时有木有一种冰水挑战后的感觉.而这时你应该:哟哟,快使用SmartDoc: SmartDoc, 一个基于NodeJS的自动化文档生成工具,她拥有明眸的双眼(yuidoc引擎),华丽的外衣(bootstrap 3风格),灵巧的双手(demo生成,codemirror代码编辑,jasmine接口兼容);拥有她,相信你一定会仰天长啸:"小伙伴们再也不用担心

.NET Core WebApi帮助文档使用Swagger生成Api说明文档

Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为什么选择swagger,现在的网站开发结果越来越注重前后端的分离,比如以前的webFrom到现在的mvc模式都是为了这个前后端的分离.就算再如何的分离实现,也是不可避免的要进行数据交互的,那么接口的重要性就提现出来了.他成了前端和后端交互的重要途径,API文档也因此成了前端开发人员与后端开发人员的重要纽带.

Android L / 5.0 帮助文档 API21文档 sample demo源码 下载

如无法登陆google,浏览android官网也是问题,这里提供android L的官方文档资料下载.API版本21 参考文档较大,解压后最好使用IE浏览器打开,并工具选项卡中设置为脱机工作模式, 如是,则打开文档速度会加快许多.否则发送js请求等待google响应,会出现加载十分缓慢的现象. 也可修改网页源码,使之不发送访问google的请求,请自行百度,etc 如果想用google搜索,又无法打开google网站,可以试用下谷粉搜索 http://www.gfsoso.com/ Androi

Java的文档注释之生成帮助文档

示例: /** * Title: Person类<br/> * Description:通过Person类说明Java中的文档注释<br/> * Company: *** * @author *** * @version 1.0 */ public class Person { /** * 这个是Person类的构造方法 * @param name Person 的名字 * */ public Person(String name) { //执行语句: } /** * 这是read

用Properties类创建对象读取文档*txt格式书写ATM简单版本,看大神们有什么改进的,欢迎交流

先创建了一个ATM.txt格式的的文档,将卡的账号.密码.内存金额放在此文档 password=123money=5000userName=123 然后用类Properties创建一个对象,将银行卡的属性放进对象中,书写一个简单的ATM机实现简单的登录.存款.取款.查看.修改密码.退出程序等功能具体代码示例如下:package unit331; import java.io.FileReader; import java.io.FileWriter; import java.util.Prope

生成项目依赖包文档、自动生成接口文档

一. pipreqs模块生成依赖包文档 项目中通常会安装很多模块,为了移植性更好,我们可以使用pipreqs模块生成依赖包文档. 1.1 安装pipreqs模块 pip install pipreqs 1.2 生成对应项目的路径 切换至项目根目录,或者是给一个项目的路径: D:\youkutest\luffyapi>pipreqs ./ --encoding=utf8 上面项目名为luffyapi,后面加--encoding=utf8是防止因为编码问题报错,建议加上. 1.3 新环境中安装依赖包

前端常用插件使用文档 以及demo

一.----------------------------------------------------------jQuery.validate 表单验证 二.------------------------------jqZoom[jqZoom.pack] 第一章:jquery.validate A.相关文档: 网易[入海数沙]:http://banu.blog.163.com/blog/static/23146482009111941249376/ 脚本:http://www.jb51

告别手写接口文档时代,比Swagger功能更强大的LKADocument接口文档管理框架诞生了!

更详细的更全面的教程请观看作者亲自录制的视频教程,地址: https://edu.51cto.com/sd/9cb7fLKADocument视频教程 一.介绍 在前后端分离,分工更加明细化的今天,为了减少前端和后台开发人员的沟通成本,能够让他们做到并行开发,同时也能保证前端和后端开发人员所看到的接口文档的一致性,即时性,以此来大大提高工作效率.所以出现了一些非常优秀的接口管理工具,具有代表性的像Swagger,因为它能够通过注解或yml和JSON描述文件来自动生成接口文档.但是我觉得它不管是在配

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-