| % Test for programming language: Erlang | ||
| %{ | ||
| @api {get} /language/erlang Erlang | ||
| @apiName GetLanguageErlang | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiDescription Test for Erlang Comment-Syntax. | ||
| %} | ||
| %{ | ||
| % @api {get} /language/erlang/indented1 Erlang indented 1 | ||
| % @apiName GetLanguageErlangIndented1 | ||
| % @apiGroup Language | ||
| % @apiVersion 0.4.0 | ||
| % @apiExample Test for indented comment. | ||
| % This is example line 2. | ||
| % This is example line 3. | ||
| % Line 4 indented (with tab at beginning). | ||
| % Line 5 indented. | ||
| % This is example line 6. | ||
| %} | ||
| %{ | ||
| @api {get} /language/erlang/indented2 Erlang indented 2 | ||
| @apiName GetLanguageErlangIndented2 | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiExample Test for indented comment. | ||
| This is example line 2. | ||
| This is example line 3. | ||
| Line 4 indented (with tab at beginning). | ||
| Line 5 indented. | ||
| This is example line 6. | ||
| %} |
Sorry, the diff of this file is not supported yet
| // Test for programming language: JavaScript | ||
| /** | ||
| * @api {get} /language/javascript JavaScript | ||
| * @apiName GetLanguageJavaScript | ||
| * @apiGroup Language | ||
| * @apiVersion 0.4.0 | ||
| * @apiDescription Test for JavaScript Comment-Syntax. | ||
| */ | ||
| /** | ||
| * @api {get} /language/javascript/indented1 JavaScript indented 1 | ||
| * @apiName GetLanguageJavaScriptIndented1 | ||
| * @apiGroup Language | ||
| * @apiVersion 0.4.0 | ||
| * @apiExample Test for indented comment. | ||
| * This is example line 2. | ||
| * This is example line 3. | ||
| * Line 4 indented (with tab at beginning). | ||
| * Line 5 indented. | ||
| * This is example line 6. | ||
| */ | ||
| /** | ||
| @api {get} /language/javascript/indented2 JavaScript indented 2 | ||
| @apiName GetLanguageJavaScriptIndented2 | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiExample Test for indented comment. | ||
| This is example line 2. | ||
| This is example line 3. | ||
| Line 4 indented (with tab at beginning). | ||
| Line 5 indented. | ||
| This is example line 6. | ||
| */ |
| # Test for programming language: Python | ||
| """ | ||
| @api {get} /language/python Python | ||
| @apiName GetLanguagePython | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiDescription Test for Python Comment-Syntax. | ||
| """ | ||
| """ | ||
| @api {get} /language/python/indented1 Python indented 1 | ||
| @apiName GetLanguagePythonIndented1 | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiExample Test for indented comment. | ||
| This is example line 2. | ||
| This is example line 3. | ||
| Line 4 indented (with tab at beginning). | ||
| Line 5 indented. | ||
| This is example line 6. | ||
| """ | ||
| """ | ||
| @api {get} /language/python/indented2 Python indented 2 | ||
| @apiName GetLanguagePythonIndented2 | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiExample Test for indented comment. | ||
| This is example line 2. | ||
| This is example line 3. | ||
| Line 4 indented (with tab at beginning). | ||
| Line 5 indented. | ||
| This is example line 6. | ||
| """ |
| # Test for programming language: Ruby | ||
| =begin | ||
| @api {get} /language/ruby Ruby | ||
| @apiName GetLanguageRuby | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiDescription Test for Ruby Comment-Syntax. | ||
| =end | ||
| =begin | ||
| @api {get} /language/ruby/indented1 Ruby indented 1 | ||
| @apiName GetLanguageRubyIndented1 | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiExample Test for indented comment. | ||
| This is example line 2. | ||
| This is example line 3. | ||
| Line 4 indented (with tab at beginning). | ||
| Line 5 indented. | ||
| This is example line 6. | ||
| =end | ||
| =begin | ||
| @api {get} /language/ruby/indented2 Ruby indented 2 | ||
| @apiName GetLanguageRubyIndented2 | ||
| @apiGroup Language | ||
| @apiVersion 0.4.0 | ||
| @apiExample Test for indented comment. | ||
| This is example line 2. | ||
| This is example line 3. | ||
| Line 4 indented (with tab at beginning). | ||
| Line 5 indented. | ||
| This is example line 6. | ||
| =end |
+10
-0
| # apiDoc Changelog | ||
| #### 0.4.0 | ||
| Add support for other comment-style. Now apiDoc supports: | ||
| * Erlang | ||
| * JavaScript (DocStyle: e.g. also used C#, Go, Dart, Java, PHP) | ||
| * Python | ||
| * Ruby | ||
| Add some programming language test cases. | ||
| Remove german code comments. | ||
| Upgrade all used node modules. | ||
| #### 0.3.0 | ||
@@ -4,0 +14,0 @@ Replace deprecated node-markdown with [marked](https://github.com/chjj/marked). |
+10
-10
@@ -15,3 +15,3 @@ /* | ||
| /* -------------------------------------------------------------------------------- | ||
| * Configuration. | ||
| * Configuration | ||
| * -------------------------------------------------------------------------------- */ | ||
@@ -21,9 +21,9 @@ grunt.initConfig({ | ||
| // clear temporary dir. | ||
| clean: { | ||
| test: ["tmp"] | ||
| }, // clean | ||
| // Clear temporary dir | ||
| clean: { | ||
| test: ["tmp"] | ||
| }, // clean | ||
| jshint: { | ||
| all: ["Gruntfile.js", "lib/**/*.js", "test/**/*.js"], | ||
| all: ["Gruntfile.js", "lib/**/*.js", "test/**/*.js", "!test/fixtures/**"], | ||
| options: { | ||
@@ -72,9 +72,9 @@ // Enforcing Options | ||
| all: { src: ["test/apidoc_test.js"] } | ||
| } // simplemocha | ||
| } // simplemocha | ||
| }); // grunt.initConfig | ||
| /* -------------------------------------------------------------------------------- | ||
| * Modules. | ||
| * Modules | ||
| * -------------------------------------------------------------------------------- */ | ||
| grunt.loadNpmTasks("grunt-contrib-clean"); | ||
| grunt.loadNpmTasks("grunt-contrib-clean"); | ||
| grunt.loadNpmTasks("grunt-contrib-jshint"); | ||
@@ -84,3 +84,3 @@ grunt.loadNpmTasks("grunt-simple-mocha"); | ||
| /* -------------------------------------------------------------------------------- | ||
| * Tasks. | ||
| * Tasks | ||
| * -------------------------------------------------------------------------------- */ | ||
@@ -87,0 +87,0 @@ // Task: default |
+10
-10
@@ -17,3 +17,3 @@ var _ = require("underscore"); | ||
| excludeFilters: [], | ||
| includeFilters: [ ".*\\.js$" ], | ||
| includeFilters: [ ".*\\.(cs|dart|erl|go|java|js|php?|py|rb|ts)$" ], | ||
@@ -47,3 +47,3 @@ src: path.join(__dirname, "../example/"), | ||
| //uncaughtException | ||
| // uncaughtException | ||
| process.on("uncaughtException", function(err) { | ||
@@ -56,3 +56,3 @@ console.error((new Date()).toUTCString() + " uncaughtException:", err.message); | ||
| /** | ||
| * Output Debug-Messages. | ||
| * Output Debug-Messages | ||
| * | ||
@@ -67,3 +67,3 @@ * @param {String} message | ||
| /** | ||
| * Output Log-Messages. | ||
| * Output Log-Messages | ||
| * | ||
@@ -78,3 +78,3 @@ * @param {String} message | ||
| /** | ||
| * Output Error-Log-Messages. | ||
| * Output Error-Log-Messages | ||
| * | ||
@@ -138,3 +138,3 @@ * @param {String} message | ||
| /** | ||
| * Read package.json Data and optianl descriptions. | ||
| * Read package.json Data and optianl descriptions | ||
| */ | ||
@@ -194,3 +194,3 @@ function getPackageData() | ||
| /** | ||
| * Output parsed content to files. | ||
| * Output parsed content to files | ||
| * | ||
@@ -276,3 +276,3 @@ * @param {Object[]} parsedFiles | ||
| /** | ||
| * Main. | ||
| * Main | ||
| * | ||
@@ -349,3 +349,3 @@ * @return {Number} Count parsed files. | ||
| /** | ||
| * Exports. | ||
| * Exports | ||
| */ | ||
@@ -355,2 +355,2 @@ module.exports = main; | ||
| // Direct call | ||
| if(path.dirname(process.argv[1]) === __dirname) main(); | ||
| if(path.dirname(process.argv[1]) === __dirname) main(); |
+8
-10
| var util = require("util"); | ||
| var _ = require("underscore"); | ||
| var semver = require("semver"); | ||
@@ -11,9 +9,9 @@ var app = {}; | ||
| // Globale Variablen | ||
| // Global Variables | ||
| app = _app; | ||
| // Klassenvariablen | ||
| // Class Variables | ||
| this.filters = []; | ||
| // Process laden | ||
| // Load Filters | ||
| var filters = Object.keys(app.filters); | ||
@@ -28,3 +26,3 @@ filters.forEach(function(filter) { | ||
| /** | ||
| * Vererben. | ||
| * Inherit | ||
| */ | ||
@@ -34,3 +32,3 @@ util.inherits(Filter, Object); | ||
| /** | ||
| * Exports. | ||
| * Exports | ||
| */ | ||
@@ -40,3 +38,3 @@ module.exports = Filter; | ||
| /** | ||
| * Filter hinzufügen. | ||
| * Add Filter | ||
| */ | ||
@@ -49,3 +47,3 @@ Filter.prototype.addFilter = function(name, filter) | ||
| /** | ||
| * Ausführung. | ||
| * Execute filter | ||
| */ | ||
@@ -71,2 +69,2 @@ Filter.prototype.process = function(parsedFiles, parsedFilenames) | ||
| } // for | ||
| }; // process | ||
| }; // process |
+57
-31
| var fs = require("fs"); | ||
| var path = require("path"); | ||
| var util = require("util"); | ||
| var _ = require("underscore"); | ||
| var semver = require("semver"); | ||
@@ -12,6 +12,6 @@ var app = {}; | ||
| // Globale Variablen | ||
| // Global Variables | ||
| app = _app; | ||
| // Klassenvariablen | ||
| // Class Variables | ||
| self.parsers = {}; | ||
@@ -31,3 +31,3 @@ self.parsedFileElements = []; | ||
| /** | ||
| * Vererben. | ||
| * Inherit | ||
| */ | ||
@@ -37,3 +37,3 @@ util.inherits(Parser, Object); | ||
| /** | ||
| * Exports. | ||
| * Exports | ||
| */ | ||
@@ -43,3 +43,3 @@ module.exports = Parser; | ||
| /** | ||
| * Parser hinzufügen. | ||
| * Add a Parser | ||
| */ | ||
@@ -52,3 +52,3 @@ Parser.prototype.addParser = function(name, parser) | ||
| /** | ||
| * Ausführung. | ||
| * Execute Fileparsing | ||
| */ | ||
@@ -62,6 +62,7 @@ Parser.prototype.parseFile = function(filename) | ||
| self.filename = filename; | ||
| self.extension = path.extname(filename).toLowerCase(); | ||
| self.src = fs.readFileSync(filename, "utf8").toString(); | ||
| app.debug("size: " + self.src.length); | ||
| // Zeilenumbrüche vereinheitlichen | ||
| // Unify Linebreaks | ||
| self.src = self.src.replace(/\r\n/g, "\n"); | ||
@@ -73,3 +74,3 @@ | ||
| // Blöcke ermitteln | ||
| // Determine Blocks | ||
| self.blocks = self._findBlocks(); | ||
@@ -79,3 +80,3 @@ if(self.blocks.length === 0) return; | ||
| // Elemente der Blöcke ermitteln | ||
| // Determine Elements of Blocks | ||
| for(var i = 0; i < self.blocks.length; i += 1) | ||
@@ -89,3 +90,3 @@ { | ||
| // Liste der Blöcke mit API-Elementen ermitteln | ||
| // Determine List of Blocks with API-Elements | ||
| self.indexApiBlocks = self._findBlockWithApiGetIndex(self.elements); | ||
@@ -98,3 +99,3 @@ if(self.indexApiBlocks.length === 0) return; | ||
| /** | ||
| * API Elemente durch Plugins parsen | ||
| * Parse API Elements with Plugins | ||
| * | ||
@@ -124,3 +125,3 @@ * @param indexApiBlocks | ||
| { | ||
| // Feldwerte ermitteln | ||
| // Determine Fieldvalues | ||
| var result = null; | ||
@@ -159,3 +160,3 @@ try { | ||
| { | ||
| // Feldwerte werden zu einem Unterpfad hinzugefügt | ||
| // Fieldvalues will be inserted into subpath | ||
| var pushTo = self.parsers[element.name].pushTo(); | ||
@@ -192,3 +193,3 @@ | ||
| { | ||
| // Pfad wird angelegt | ||
| // Create path | ||
| self._createObjectPath(blockData, pushTo); | ||
@@ -198,3 +199,4 @@ } | ||
| var blockDataPath = _pathToObject(pushTo, blockData); | ||
| // Feldwerte in Pfad-Array einfügen | ||
| // Insert Fieldvalues in Path-Array | ||
| if(typeof(blockData[pushTo]) === "object") | ||
@@ -209,6 +211,5 @@ { | ||
| // Zusätzlich in Root einfügen | ||
| if(self.parsers[element.name].extendRoot === true) | ||
| { | ||
| // Feldwerte in Hauptpfad einfügen | ||
| // Insert Fieldvalues in Mainpath | ||
| _.extend(blockData, result); | ||
@@ -219,3 +220,3 @@ } | ||
| { | ||
| // Feldwerte in Hauptpfad einfügen | ||
| // Insert Fieldvalues in Mainpath | ||
| _.extend(blockData, result); | ||
@@ -276,3 +277,3 @@ } | ||
| /** | ||
| * Blöcke ermitteln. | ||
| * Determine Blocks | ||
| */ | ||
@@ -284,12 +285,37 @@ Parser.prototype._findBlocks = function() | ||
| var src = self.src; | ||
| var inlineRegExp; | ||
| var docBlocksRegExp; | ||
| // Zeilenumbrüche durch Unicode ersetzen | ||
| // Replace Linebreak with Unicode | ||
| src = src.replace(/\n/g, "\uffff"); | ||
| // Entfernt in den gefundenen Blöcken die überflüssigen " * " und " " am Anfang. | ||
| //var starsRegExp = /^\s?(\*|\s)?\s?/gm; | ||
| var starsRegExp = /^(\s+)?(\*|\s)[ ]?/gm; | ||
| // Blocksearch depending on file-extension | ||
| switch(self.extension) | ||
| { | ||
| case ".erl": | ||
| // Find document blocks between "%{" and "%}" | ||
| docBlocksRegExp = /\%\{\uffff(.+?)\%\}/g; | ||
| // Remove not needed " % " and " " (tabs) at the beginning | ||
| // HINT: Not sure if erlang developer use the %, but i think it should be no problem | ||
| inlineRegExp = /^(\t+)?(\%)[ ]?/gm; | ||
| break; | ||
| case ".py": | ||
| // Find document blocks between """ and """ | ||
| docBlocksRegExp = /\"\"\"\uffff(.+?)\"\"\"/g; | ||
| // Remove not needed " " (tabs) at the beginning | ||
| inlineRegExp = /^(\t+)?[ ]?/gm; | ||
| break; | ||
| case ".rb": | ||
| // Find document blocks between "=begin" and "=end" | ||
| docBlocksRegExp = /\=begin\uffff(.+?)\=end/g; | ||
| // Remove not needed " " (tabs) at the beginning | ||
| inlineRegExp = /^(\t+)?[ ]?/gm; | ||
| break; | ||
| default: | ||
| // Find document blocks between "/**" and "*/" | ||
| docBlocksRegExp = /\/\*\*\uffff(.+?)\*\//g; | ||
| // Remove not needed " * " and " " (tabs) at the beginning | ||
| inlineRegExp = /^(\s+)?(\*)[ ]?/gm; | ||
| } // switch | ||
| // Findet die Dokumentblöcke zwischen "/**" und "*/" | ||
| var docBlocksRegExp = /\/\*\*\uffff(.+?)\*\//g; | ||
| var matches = docBlocksRegExp.exec(src); | ||
@@ -300,10 +326,10 @@ while(matches) | ||
| // Unicode Zeilenumbrüche zurückwandeln | ||
| // Reverse Unicode Linebreaks | ||
| block = block.replace(/\uffff/g, "\n"); | ||
| block = block.replace(starsRegExp, ""); | ||
| block = block.replace(inlineRegExp, ""); | ||
| blocks.push(block); | ||
| // Nächsten Eintrag finden | ||
| // Find next | ||
| matches = docBlocksRegExp.exec(src); | ||
@@ -315,3 +341,3 @@ } // while | ||
| /** | ||
| * Prüfen ob es API-Elemente sind und liefert den Block-Index zurück. | ||
| * Check if block has API elements and return block indexes. | ||
| */ | ||
@@ -378,2 +404,2 @@ Parser.prototype._findBlockWithApiGetIndex = function(elements) | ||
| return elements; | ||
| }; // _findElements | ||
| }; // _findElements |
@@ -54,3 +54,3 @@ var fs = require("fs"); | ||
| files = files.filter(function(filename) { | ||
| // Apply every filter | ||
| // Apply every filter | ||
| for(var i = 0; i < length; i += 1) | ||
@@ -78,4 +78,4 @@ { | ||
| /** | ||
| * Exports. | ||
| * Exports | ||
| */ | ||
| module.exports = findFiles; | ||
| module.exports = findFiles; |
+8
-9
| var util = require("util"); | ||
| var _ = require("underscore"); | ||
| var semver = require("semver"); | ||
@@ -11,9 +10,9 @@ var app = {}; | ||
| // Globale Variablen | ||
| // Global Variables | ||
| app = _app; | ||
| // Klassenvariablen | ||
| // Class Variables | ||
| this.workers = []; | ||
| // Process laden | ||
| // Load Worker | ||
| var workers = Object.keys(app.workers); | ||
@@ -28,3 +27,3 @@ workers.forEach(function(worker) { | ||
| /** | ||
| * Vererben. | ||
| * Inherit | ||
| */ | ||
@@ -34,3 +33,3 @@ util.inherits(Worker, Object); | ||
| /** | ||
| * Exports. | ||
| * Exports | ||
| */ | ||
@@ -40,3 +39,3 @@ module.exports = Worker; | ||
| /** | ||
| * Worker hinzufügen. | ||
| * Add Worker | ||
| */ | ||
@@ -49,3 +48,3 @@ Worker.prototype.addWorker = function(name, worker) | ||
| /** | ||
| * Ausführung. | ||
| * Execute worker | ||
| */ | ||
@@ -84,2 +83,2 @@ Worker.prototype.process = function(parsedFiles, parsedFilenames) | ||
| } // for | ||
| }; // process | ||
| }; // process |
+7
-7
| { | ||
| "name": "apidoc", | ||
| "version": "0.3.0", | ||
| "version": "0.4.0", | ||
| "description": "RESTful web API Documentation Generator", | ||
@@ -25,9 +25,9 @@ "author": "Peter Rottmann <rottmann@inveris.de>", | ||
| "dependencies": { | ||
| "wrench": "~1.5.4", | ||
| "underscore": "~1.5.2", | ||
| "wrench": "~1.5.8", | ||
| "underscore": "~1.6.0", | ||
| "semver": "~2.2.1", | ||
| "lodash": "~2.4.1", | ||
| "optimist": "~0.6.0", | ||
| "optimist": "~0.6.1", | ||
| "colors": "~0.6.2", | ||
| "marked": "~0.2.10" | ||
| "marked": "~0.3.1" | ||
| }, | ||
@@ -37,6 +37,6 @@ "devDependencies": { | ||
| "grunt-contrib-clean": "~0.5.0", | ||
| "grunt-contrib-jshint": "~0.7.2", | ||
| "grunt-contrib-jshint": "~0.8.0", | ||
| "grunt-simple-mocha": "~0.4.0", | ||
| "should": "~2.1.1" | ||
| "should": "~3.1.3" | ||
| } | ||
| } |
+51
-4
@@ -1,15 +0,60 @@ | ||
| # apiDoc | ||
| # apiDoc 0.4.0 | ||
| ## About | ||
| Generates a RESTful web API Documentation. | ||
| Docs and examples at [apidocjs.com](http://apidocjs.com). | ||
| Documentation at [apidocjs.com](http://apidocjs.com). | ||
| [Example](http://apidocjs.com/example/) output. | ||
| ## Supported programming languages | ||
| * **C#, Go, Dart, Java, JavaScript, PHP** (all DocStyle capable languages like ): | ||
| ```javascript | ||
| /** | ||
| * This is a comment. | ||
| */ | ||
| ``` | ||
| * **Erlang**: | ||
| ```erlang | ||
| %{ | ||
| This is a comment. | ||
| %} | ||
| ``` | ||
| * **Python** | ||
| ```python | ||
| """ | ||
| This is a comment. | ||
| """ | ||
| ``` | ||
| * **Ruby** | ||
| ```ruby | ||
| =begin | ||
| This is a comment. | ||
| =end | ||
| ``` | ||
| ## Installation | ||
| `npm install apidoc -g` | ||
| ## Example | ||
| `apidoc -i example/ -o doc/` | ||
| Creates from input files a documentation in path `doc/`. | ||
| ## Grunt Module | ||
| [grund-apidoc](https://github.com/apidoc/grunt-apidoc) `npm install grunt-apidoc`. | ||
| ## Changelog | ||
@@ -19,5 +64,7 @@ | ||
| ## License | ||
| Copyright (c) 2013 inveris OHG | ||
| Author Peter Rottmann <rottmann@inveris.de> | ||
| Licensed under the MIT license. | ||
| Licensed under the MIT license. |
@@ -179,2 +179,162 @@ define({ api: [ | ||
| "type": "get", | ||
| "url": "/language/erlang", | ||
| "title": "Erlang", | ||
| "name": "GetLanguageErlang", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for Erlang Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.erl" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/erlang/indented1", | ||
| "title": "Erlang indented 1", | ||
| "name": "GetLanguageErlangIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n\t Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.erl" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/erlang/indented2", | ||
| "title": "Erlang indented 2", | ||
| "name": "GetLanguageErlangIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.erl" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/javascript", | ||
| "title": "JavaScript", | ||
| "name": "GetLanguageJavaScript", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for JavaScript Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.js" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/javascript/indented1", | ||
| "title": "JavaScript indented 1", | ||
| "name": "GetLanguageJavaScriptIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.js" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/javascript/indented2", | ||
| "title": "JavaScript indented 2", | ||
| "name": "GetLanguageJavaScriptIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.js" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/python", | ||
| "title": "Python", | ||
| "name": "GetLanguagePython", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for Python Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.py" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/python/indented1", | ||
| "title": "Python indented 1", | ||
| "name": "GetLanguagePythonIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.py" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/python/indented2", | ||
| "title": "Python indented 2", | ||
| "name": "GetLanguagePythonIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.py" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/ruby", | ||
| "title": "Ruby", | ||
| "name": "GetLanguageRuby", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for Ruby Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.rb" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/ruby/indented1", | ||
| "title": "Ruby indented 1", | ||
| "name": "GetLanguageRubyIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.rb" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/ruby/indented2", | ||
| "title": "Ruby indented 2", | ||
| "name": "GetLanguageRubyIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.rb" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/param/:id", | ||
@@ -553,5 +713,5 @@ "title": "Parameters", | ||
| "group": "Parameter", | ||
| "field": "field1", | ||
| "field": "field2", | ||
| "optional": false, | ||
| "description": "This is Field 1." | ||
| "description": "This is Field 2." | ||
| } | ||
@@ -573,5 +733,5 @@ ] | ||
| "group": "Parameter", | ||
| "field": "field2", | ||
| "field": "field1", | ||
| "optional": false, | ||
| "description": "This is Field 2." | ||
| "description": "This is Field 1." | ||
| } | ||
@@ -578,0 +738,0 @@ ] |
@@ -179,2 +179,162 @@ [ | ||
| "type": "get", | ||
| "url": "/language/erlang", | ||
| "title": "Erlang", | ||
| "name": "GetLanguageErlang", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for Erlang Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.erl" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/erlang/indented1", | ||
| "title": "Erlang indented 1", | ||
| "name": "GetLanguageErlangIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n\t Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.erl" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/erlang/indented2", | ||
| "title": "Erlang indented 2", | ||
| "name": "GetLanguageErlangIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.erl" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/javascript", | ||
| "title": "JavaScript", | ||
| "name": "GetLanguageJavaScript", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for JavaScript Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.js" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/javascript/indented1", | ||
| "title": "JavaScript indented 1", | ||
| "name": "GetLanguageJavaScriptIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.js" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/javascript/indented2", | ||
| "title": "JavaScript indented 2", | ||
| "name": "GetLanguageJavaScriptIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.js" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/python", | ||
| "title": "Python", | ||
| "name": "GetLanguagePython", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for Python Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.py" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/python/indented1", | ||
| "title": "Python indented 1", | ||
| "name": "GetLanguagePythonIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.py" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/python/indented2", | ||
| "title": "Python indented 2", | ||
| "name": "GetLanguagePythonIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.py" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/ruby", | ||
| "title": "Ruby", | ||
| "name": "GetLanguageRuby", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "description": "Test for Ruby Comment-Syntax.", | ||
| "filename": "test/fixtures/example/language.rb" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/ruby/indented1", | ||
| "title": "Ruby indented 1", | ||
| "name": "GetLanguageRubyIndented1", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.rb" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/language/ruby/indented2", | ||
| "title": "Ruby indented 2", | ||
| "name": "GetLanguageRubyIndented2", | ||
| "group": "Language", | ||
| "version": "0.4.0", | ||
| "examples": [ | ||
| { | ||
| "title": "Test for indented comment.", | ||
| "content": "This is example line 2.\nThis is example line 3.\n Line 4 indented (with tab at beginning).\n Line 5 indented.\nThis is example line 6.\n" | ||
| } | ||
| ], | ||
| "filename": "test/fixtures/example/language.rb" | ||
| }, | ||
| { | ||
| "type": "get", | ||
| "url": "/param/:id", | ||
@@ -553,5 +713,5 @@ "title": "Parameters", | ||
| "group": "Parameter", | ||
| "field": "field1", | ||
| "field": "field2", | ||
| "optional": false, | ||
| "description": "This is Field 1." | ||
| "description": "This is Field 2." | ||
| } | ||
@@ -573,5 +733,5 @@ ] | ||
| "group": "Parameter", | ||
| "field": "field2", | ||
| "field": "field1", | ||
| "optional": false, | ||
| "description": "This is Field 2." | ||
| "description": "This is Field 1." | ||
| } | ||
@@ -578,0 +738,0 @@ ] |
| define({ | ||
| "name": "apidoc", | ||
| "version": "0.3.0", | ||
| "version": "0.4.0", | ||
| "description": "RESTful web API Documentation Generator", | ||
| "apidoc": "", | ||
| "generator": { | ||
| "version": "0.3.0", | ||
| "time": "2013-12-23T15:00:00.000Z" | ||
| "version": "0.4.0", | ||
| "time": "2014-03-04T16:24:51.514Z" | ||
| } | ||
| }); |
| { | ||
| "name": "apidoc", | ||
| "version": "0.3.0", | ||
| "version": "0.4.0", | ||
| "description": "RESTful web API Documentation Generator", | ||
| "apidoc": "", | ||
| "generator": { | ||
| "version": "0.3.0", | ||
| "time": "2013-12-23T15:00:00.000Z" | ||
| "version": "0.4.0", | ||
| "time": "2014-03-04T16:24:51.514Z" | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1127869
1.35%171
3.01%9321
4.99%70
218.18%+ Added
+ Added
- Removed
- Removed
Updated
Updated
Updated
Updated