一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

JS文檔和Demo自動化生成工具

 nikybook 2015-07-31

  曾幾何時,當(dāng)你碼神附體,一路披荊斬棘的完成代碼后,帶著“一碼在手,天下我有”的傲然環(huán)顧之時,卻發(fā)現(xiàn)單元測試、API文檔、Demo實例陸續(xù)向你砸來,頓時有木有一種冰水挑戰(zhàn)后的感覺。而這時你應(yīng)該:喲喲,快使用SmartDoc;

  SmartDoc, 一個基于NodeJS的自動化文檔生成工具,她擁有明眸的雙眼(yuidoc引擎),華麗的外衣(bootstrap 3風(fēng)格),靈巧的雙手(demo生成,codemirror代碼編輯,jasmine接口兼容);擁有她,相信你一定會仰天長嘯:"小伙伴們再也不用擔(dān)心我的API了?!?/span>

  最近有不少朋友問我SmartJS的一些API,我使用YUIDoc和bootstrap2的那個主題全部整理了一遍,但發(fā)現(xiàn)只有API沒有具體例子也比較難懂,而且沒有幾個人會看單元測試。遂起念,將文檔、單元測試、demo整合提供完整的生成方案,這就有了SmartDoc。

  

SmartDoc 0.1.0 新鮮上架

  具有以下特點:

   * 基于Bootstrp3構(gòu)建,排版和樣式美化
   * 支持html和js的Demo生成,與查看
   * 提供在線的demo編輯頁面(類似于jsfiddler)
   * 同步j(luò)asmine的expect接口,使得單元測試與example的代碼能夠復(fù)用
   * 可以配置化增強 - 項目信息配置;Document頁面導(dǎo)航配置;demo依賴庫配置
   * 提供全局api查詢和導(dǎo)航過濾功能,篩選更加便利
   * 提供grunt插件 - grunt-contrib-smartdoc

界面講解


 

 

全局過濾


通過右側(cè)全局過濾,可以快速檢索所有的API,點擊可以跳轉(zhuǎn)到API頁面并定位到對于的位置;支持全鍵盤操作




源代碼展示

點擊代碼位置的鏈接,就可以進入源代碼展示頁面



Example演示頁面


 

點擊Example區(qū)域的Edit Code按鈕開啟代碼編輯頁面,如下:



頁面中有HTML和Code兩個編輯區(qū)域和結(jié)果的展示區(qū)域,代碼編輯器使用codemirror,sublime風(fēng)格,支持智能感知,可以通過配置項來引入樣式和腳本庫。

提供log和expect公共方法;

  log:在結(jié)果區(qū)輸出日志信息

  expect :兼容jasmine的expect方法

在example區(qū)域中寫入html代碼時,使用<html>html代碼</html>和<script>js代碼<script>的格式錄入即可;

注1:代碼編輯頁面必須需要服務(wù)器環(huán)境才能正常運行,本地文件方式只能使用view demo頁面查看結(jié)果;


View Demo頁面


 

在Example區(qū)域點擊view demo按鈕或者在code edit頁面點擊view in new window進入;

頁面上展示最終結(jié)果


單獨使用說明

 


 

在目錄中加入docConfig.js文件,詳細配置如下:

 

復(fù)制代碼
module.exports = {
    //掃描的文件路徑
    paths: ['input/'],

    //文檔頁面輸出路徑
    outdir: 'doc/',

    //項目信息配置
    project: {

        //項目名稱
        name: 'SmartDoc',

        //項目描述,可以配置html,會生成到document主頁
        description: '<h2>SmartDoc</h2> <p>Javascript Document builder base on YUIDoc.</p>',

        //版本信息
        version: '1.1.0',

        //地址信息
        url: 'https://github.com/zhh77/smartjs',
        //logo地址
        logo : 'https://github.com/zhh77/logo.png',
        //導(dǎo)航信息
        navs: [{
            name: "Home",
            url: "https://github.com/zhh77/smartjs"
        }, {
            name: "Document",
            url: ""
        }, {
            name: "About",
            url: "https://github.com/zhh77/smartjs"
        }]
    },

    //demo展示頁面配置;需要加載的資源; 資源只能是css和js文件
    demo: {

        //外部資源鏈接
        link : ['http://code./jquery-1.11.0.min.js'],

        //文件復(fù)制路徑; 將目下的資源復(fù)制到doc生成目錄中,并在deom頁面引用
        paths : ['input/ui/uicode.js','input/']

        //是否開啟在code編輯器中的自動完成功能(會將link和paths的引入加入);默認開啟;
        autoComplete : true
    },

    //自定義主題路徑
    themedir: 'theme/',

    //自定義helpers
    helpers: ["theme/helpers/helpers.js"]
};
復(fù)制代碼

 運行如下代碼:

npm install -g smartdoc

smartdoc

grunt使用


 

 如果是grunt的話引入grunt-contrib-smartdoc,在grunt配置上述docconfig內(nèi)容;例如:

復(fù)制代碼
// 項目配置

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        smartdoc: {
            build: {
                options: {
                    paths: ['src/'],
                    outdir: 'doc/',
                    demo: {
                        paths: ['dest/smart.js','dest/smart-dataManager.js'],
                        link: ['http://code./jquery-1.11.0.min.js']
                    },
                    //項目信息配置
                    project: {
                        name: '<%= pkg.name %>',
                        // description: '<%= pkg.description %>',
                        version: '<%= pkg.version %>',
                        url: 'https://github.com/zhh77/smartjs',
                        navs: [{
                            name: "Home",
                            url: "https://github.com/zhh77/smartjs"
                        }, {
                            name: "Document",
                            url: "http://zhh77./smartjs/"
                        }, {
                            name: "Blog",
                            url: "http://www.cnblogs.com/zhh8077"
                        }, {
                            name: "SmartDoc",
                            url: "https://github.com/zhh77/smartDoc"
                        }]
                    }
                }
            }
        },
        …………
復(fù)制代碼

 

結(jié)尾


SmartDoc 第一版重點在對YUIDoc的增強以及主題的美化,后面有時間會對YUIDoc的掃描規(guī)則做優(yōu)化(yuidoc對于module的掃描還存在不少問題);

目前還是使用YUIDoc的注釋規(guī)則,更多信息可以查看YUIDoc,后面會寫兩篇介紹如何寫注釋的經(jīng)驗

SmartDoc的GitHub地址

使用SmartDoc生成的SmartJS API地址

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美胖熟妇一区二区三区| 蜜臀人妻一区二区三区| 东京热男人的天堂久久综合| 亚洲中文字幕乱码亚洲| 欧美亚洲另类久久久精品| 精品视频一区二区不卡| 中文字幕亚洲精品人妻| 国产麻豆一区二区三区在| 亚洲视频在线观看你懂的| 91欧美一区二区三区成人| 日本精品理论在线观看| 99久久精品午夜一区二区| 蜜桃av人妻精品一区二区三区| 欧美二区视频在线观看| 国产亚洲二区精品美女久久| 中文字幕日韩欧美亚洲午夜| 台湾综合熟女一区二区| 日本中文在线不卡视频| 91久久精品在这里色伊人| 亚洲欧美日本国产不卡| 国产精品视频一区麻豆专区| 久久精品少妇内射毛片| 五月婷婷亚洲综合一区| 日韩国产亚洲欧美激情| 免费亚洲黄色在线观看| 欧美三级不卡在线观线看| 99久久国产精品亚洲| 日本精品中文字幕人妻| 欧美三级不卡在线观线看| 国产在线视频好看不卡| 伊人久久青草地婷婷综合| 国产国产精品精品在线| 在线播放欧美精品一区| 国产日韩欧美国产欧美日韩| 亚洲综合伊人五月天中文| 亚洲国产精品久久琪琪| 青青操在线视频精品视频| 欧美性猛交内射老熟妇| 国产精品夜色一区二区三区不卡| 99精品国产自在现线观看| 久久免费精品拍拍一区二区|