{"_id":"@coffeekraken/docblock-json-to-markdown","_rev":"4-dcc245f31045f5cf17040f2c45510a52","name":"@coffeekraken/docblock-json-to-markdown","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@coffeekraken/docblock-json-to-markdown","version":"0.0.1","description":"Transform with ease a coffeekraken-docblock-parser resulting JSON into a beautiful markdown file","main":"dist/index.js","scripts":{"dist":"rm -rf dist && babel src -d dist","demo":"rm -rf demo/*.md && node demo/parse-js.js && node demo/parse-php.js && node demo/parse-scss.js","test":"npm run dist && jest"},"keywords":["coffee","kraken","coffeekraken","docblock","JSON","doc","block","extensible","markdown","transform"],"author":{"name":"Coffeekraken","email":"hello@coffeekraken.io"},"license":"MIT","jest":{"roots":["tests"]},"dependencies":{"lodash":"^4.17.2","trim-lines":"^1.1.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/preset-env":"^7.7.1","@coffeekraken/docblock-parser":"0.0.1","babel-jest":"^24.9.0","babel-plugin-add-module-exports":"^1.0.2","coffeekraken-docblock-to-markdown":"^1.0.0","jest":"^24.9.0"},"_id":"@coffeekraken/docblock-json-to-markdown@0.0.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-wLPF8zcp/02HWfCZwzkm2CTLvk5BhqTQFyFs3RFrd+scWbB1A57ttZA6bDQpGgC1AyAjHQNwuxsAgPeDqes0GQ==","shasum":"5061c03a887d6466080abbf221e6636073a5692f","tarball":"https://registry.npmjs.org/@coffeekraken/docblock-json-to-markdown/-/docblock-json-to-markdown-0.0.1.tgz","fileCount":96,"unpackedSize":79318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1BSpCRA9TVsSAnZWagAAnSAQAJkenVdsjXFe62kYZkiW\nB5eK3AOynlCxDbaSp7+wEnMBBth6qvRSGcA89lN+cnlZ89T/v13A4X8h7VvL\nRlAs/MB9ewyEyIrTxPCP///o0FSpc/WZHrpJs31L8bC9kKRzCr5zqtq7svIg\njOAyn3EwPK8KkaubJOdDjIvgp7aU3lFN0EEJ3Tv6o09ewDLhZaEf47lI5Bjh\nkenSVVwCbF3eM3jfnLQyz+73sgw6/anEvBqrnul6eJ5zcj1ej4Tznu6fraGV\nnNHpGD3mn73gv+T2Z6XEqz2HtPU6tM17EfLKZ1UD+psAmM+ZvU6OTRbDGnG/\nOQ5sXz+e9/+ph32Kf4rUDOodekBcn6EKYEBdKsQH2p3WjQpVbmWQU6Fb8V2z\nbxYk5dorij8QEbYtzPPIHcNISaprOSbLHwHpBxZWJ13zFP6n9ligCNJN+qi3\nEgXdK3LWXuu0nuD6CtXyB6viQLn8FCvZvVk/Yxi5kWodhn97SOfa5PHSlmX4\nUmf2sUvRJ+WPD+LgSd2NFo8FFlvXS9snnzsdPqogg5GDiyuRnFhF/26RJCgV\nzmw+E2ACSbEgj+nG1cRztuNckclSOH2zxsP2BqwWyDrrBN0X8fj8JoYFg2sL\nYBP0XoY3tIoWZvCeNgGT47gWdL2N65mUnJRG2hAFo2qRQvJCyxsgVzd79Ppo\nyhJU\r\n=Nn8Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFJEhgGEnzF8P3nRVV/3fFCrwEUMKGygdWznMHVIugAVAiEAke7LsM0TIOt1wEotFQfjwekCLVRBDw8kHqc/gKtcw9E="}]},"maintainers":[{"name":"olivierbossel","email":"olivier.bossel@gmail.com"}],"_npmUser":{"name":"olivierbossel","email":"olivier.bossel@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docblock-json-to-markdown_0.0.1_1574180009065_0.015669458798079683"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.2":{"name":"@coffeekraken/docblock-json-to-markdown","version":"0.0.2","description":"Transform with ease a coffeekraken-docblock-parser resulting JSON into a beautiful markdown file","main":"dist/index.js","scripts":{"demo":"rm -rf demo/*.md && node demo/parse-js.js && node demo/parse-php.js && node demo/parse-scss.js"},"keywords":["coffee","kraken","coffeekraken","docblock","JSON","doc","block","extensible","markdown","transform"],"author":{"name":"Coffeekraken","email":"hello@coffeekraken.io"},"license":"MIT","jest":{"roots":["tests"]},"dependencies":{"lodash":"^4.17.2","trim-lines":"^1.1.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/preset-env":"^7.7.1","@coffeekraken/docblock-parser":"0.0.1","babel-jest":"^24.9.0","babel-plugin-add-module-exports":"^1.0.2","coffeekraken-docblock-to-markdown":"^1.0.0","jest":"^24.9.0"},"_id":"@coffeekraken/docblock-json-to-markdown@0.0.2","_nodeVersion":"12.13.1","_npmVersion":"6.13.1","dist":{"integrity":"sha512-/ar1ksnCYgMgzxnTyPw2CMyYoxuXgtmNoVnSx/M8CBQtyo2GGDUhNPwKlEyMMxGYR9+DKJxCXyrpZFrxqnCV1A==","shasum":"aea4ee2bec2f34ad86a0af968e73c471bf13a73a","tarball":"https://registry.npmjs.org/@coffeekraken/docblock-json-to-markdown/-/docblock-json-to-markdown-0.0.2.tgz","fileCount":100,"unpackedSize":80501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd57+8CRA9TVsSAnZWagAAtg0QAI9AkxGXexGQd0k0J7s7\nAcT+TgmsY5Xf4slrUL7XOX6ehwoZomCGysx6a72a37LsVPkIMr5E7Bt8cTk4\nYZDn5iNx5TkqxFsgIpFhSb8O0pxueGLyOR9sJ3LIjDKOZxVL74nFzlEhvxsG\nmpZKs7U67Xx3EZOQxxxhFnv16TKVAt0llGEo7W0j1RYrVd2VoDVmXLQ9NCNp\nyvcuoJDso4cWrDynegMRS7CFLNq00ajFdfC0KTxobdcDmbHPi1nj8AAcAQhB\n4Q9XBnQVd5UeC/X4PkuVFpo/vbybYm6hcrcr0l27JykojdsRoUNNVbb89+bJ\n5Q1urAPw/3xbv833TrI7KyXB/rIdfxfXplJH6lhAevSlbaPoWUmOsDc/fFRR\nQqqyOfSjb4ex6jd4vcLxBh8O55BoIj5wxRUmcTfmusfU0sUUq3i5iurWB5AJ\n9vnCJ7ZtoYcoy/JB30Oy8SoU+sILWaljHNyXlmA7mDByQCvtCLxaFBaah977\nFQEVeZoVxkHsDOY9PWAP3T+SHDcs6GM099ZuMXE/xRkFI/l08DB0klwIP/Dr\nM+SPMeWGQWDu/2aa5W0Uu9meg26YVumpxiifF0zCdiuBZMULSm+cAwIq3Gcc\nyeUIFPRfiCVFHTTwdrUK3W5WcCXVVW9IL0f28Xh6/4WUlIoXogqcmt7j/GLe\nWYk2\r\n=ZUU9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGV0OkV6U6IrR/7CG3OX4iYO+3z0yxXrAABy7sQt1NnAiEAkS4+ZbPtNOpkSc9XxoduYX6o11epHKp6WwyKz0kwND8="}]},"maintainers":[{"name":"olivierbossel","email":"olivier.bossel@gmail.com"}],"_npmUser":{"name":"olivierbossel","email":"olivier.bossel@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docblock-json-to-markdown_0.0.2_1575468987610_0.5929345350002522"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.3":{"name":"@coffeekraken/docblock-json-to-markdown","version":"0.0.3","description":"Transform with ease a coffeekraken-docblock-parser resulting JSON into a beautiful markdown file","main":"dist/index.js","scripts":{"demo":"rm -rf demo/*.md && node demo/parse-js.js && node demo/parse-php.js && node demo/parse-scss.js"},"keywords":["coffee","kraken","coffeekraken","docblock","JSON","doc","block","extensible","markdown","transform"],"author":{"name":"Coffeekraken","email":"hello@coffeekraken.io"},"license":"MIT","jest":{"roots":["tests"]},"dependencies":{"lodash":"^4.17.2","trim-lines":"^1.1.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/preset-env":"^7.7.1","babel-jest":"^24.9.0","babel-plugin-add-module-exports":"^1.0.2","jest":"^24.9.0"},"_id":"@coffeekraken/docblock-json-to-markdown@0.0.3","_nodeVersion":"12.13.1","_npmVersion":"6.13.1","dist":{"integrity":"sha512-/nplWwAvYhZ9s39ovI8dwfInVgRhhkUlrt8vOoJ5kUij6ZwZ9jfHLfWsZ+UrAnPncCUh84N6NACID6yiP5E6NQ==","shasum":"c7d946d7911b746c1b691ad81112ee41477b0215","tarball":"https://registry.npmjs.org/@coffeekraken/docblock-json-to-markdown/-/docblock-json-to-markdown-0.0.3.tgz","fileCount":100,"unpackedSize":80404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd58U/CRA9TVsSAnZWagAA3QwP/3pzSXm+3CMuUqHDDeW7\nxu2rvnJ+B+FxCFgAnckCy97MStrIVzYF89ibFosFnditfId0ET2kYekSeVah\nxnm2CV6bVg7nk02kl9Dp/s6aRDye7sg2R1yIGW7RE528ccxpqz8iD2cKvrvG\ntRPhvssMfLuH35At2ohycB4B/dyi/a40sJHPpI3WgoqT6qcl2NKOPo9+R7CB\n4gAeGDMF5xyDelmLOFDvBTkswGADJCU67jGA279Bk2zM7wzhEW9ce8t0AuyL\nCuOj9HHlwmQEH+It4OfZ5wRjaJDu6RUiuY41U2HdlHtbOev+zUwZzmj4thvg\nVudkaBj/iV0v/GPWxHZsmp+N1PvGMXs3qFQeXKzLfjZATMnVYODpoQDINVI0\nuIM/o248BSLxduf+9YoZnJoPdAb/ZpMFDlRNNXRyJCGulT5ByAuYcGCcD1IJ\nTu1rkOLcl+fvwTzBa3VuMlVwVeCwfk+AYFBTxvEXYphkII3jx6fS9oSVa1ry\nLz+F1j3HWJNVDJMa9vRFCxM2N+H86C5x0mRvyokPTCWoj+mJBSOlTFLARzvT\n6nNuznhBJ+wNv7LkKApzQgWqEgFnVv4VCdPmwaUyhm36heubnRzDtVty5Xfm\nQpvTfIjvy7mkbjfUG1bPXW44AQeVAKamMNlv7xglj4xyV4fKoL21uDsjSdxB\nlV7E\r\n=K7yW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCskERLCPNl8AAPrnWhD0bzOJJEp02ZbzPuvXVVQOgG9wIgU811AegiWQITCntN04ShIpTuVb2MYhzGHnqwP1dp0Ts="}]},"maintainers":[{"name":"olivierbossel","email":"olivier.bossel@gmail.com"}],"_npmUser":{"name":"olivierbossel","email":"olivier.bossel@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docblock-json-to-markdown_0.0.3_1575470399291_0.7065738202010212"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2019-11-19T16:13:28.837Z","0.0.1":"2019-11-19T16:13:29.256Z","modified":"2022-07-27T14:24:37.329Z","0.0.2":"2019-12-04T14:16:27.738Z","0.0.3":"2019-12-04T14:39:59.464Z"},"maintainers":[{"name":"olivierbossel","email":"olivier.bossel@gmail.com"}],"description":"Transform with ease a coffeekraken-docblock-parser resulting JSON into a beautiful markdown file","keywords":["coffee","kraken","coffeekraken","docblock","JSON","doc","block","extensible","markdown","transform"],"author":{"name":"Coffeekraken","email":"hello@coffeekraken.io"},"license":"MIT","readme":"# Coffeekraken Docblock JSON to Markdown <img src=\".resources/coffeekraken-logo.jpg\" height=\"25px\" />\n\n![npm](https://img.shields.io/npm/l/@coffeekraken/docblock-json-to-markdown?style=flat-square)\n![npm](https://img.shields.io/npm/v/@coffeekraken/docblock-json-to-markdown?style=flat-square)\n![npm](https://img.shields.io/npm/dw/@coffeekraken/docblock-json-to-markdown?style=flat-square)\n\nThis package gives you the ability transform with ease a coffeekraken-docblock-parser resulting JSON into a beautiful markdown file.\n\n## Table of content\n\n1. [Install](#readme-install)\n2. [Get Started](#readme-get-started)\n3. [Documentation](#readme-documentation)\n\n<a name=\"readme-install\"></a>\n\n## Install\n\n```\nnpm install @coffeekraken/docblock-json-to-markdown --save-dev\n```\n\n<a name=\"readme-get-started\"></a>\n\n## Get Started\n\nFirst, require the package in your javascript node file like so:\n\n```js\nconst docblockJSONToMarkdown = require(\"@coffeekraken/docblock-json-to-markdown\");\n// use the package like so:\nconst markdown = docblockJSONToMarkdown(config).jsonToMarkdown(myCoolJSON);\n```\n\n<a id=\"readme-documentation\"></a>\n\n## Documentation\n\n### Config\n\nHere's the configuration object that you can hook as needed:\n\n```js\n{\n  language : 'js', // Specify the language that is being processed like \"js, scss, etc...\"\n  tags : {\n    // all the tags render functions\n    author : (author) => {\n      return `- Author : ${author.name}`\n    },\n    // etc...\n  },\n  templates : {\n    // all the templates render functions\n    default : __defaultTemplate,\n    // etc...\n  },\n  types : {\n    // all the types URL for each languages like so:\n    js : {\n      HTMLElement : 'https://developer.mozilla.org/fr/docs/Web/API/HTMLElement',\n      // etc...\n      },\n    scss : {\n      // ...\n    }\n  }\n}\n```\n\n### Types\n\nIn the config object, you will find the \"types\" property. This property represent an object by language that simply map a type with a URL where you can find more info on this type.\n\nHere's the available out of the box types:\n\n```js\n{\n  types : {\n    js : {\n      HTMLElement : 'https://developer.mozilla.org/fr/docs/Web/API/HTMLElement',\n      HTMLLinkElement : 'https://developer.mozilla.org/fr/docs/Web/API/HTMLLinkElement',\n      String : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String',\n      Array : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array',\n      Object : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object',\n      Function : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Function',\n      Boolean : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Boolean',\n      Date : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date',\n      Error : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error',\n      JSON : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/JSON',\n      Map : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Map',\n      Math : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Math',\n      NaN : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/NaN',\n      Number : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Number',\n      Promise : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise',\n      Proxy : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Proxy',\n      RegExp : 'https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/RegExp'\n    },\n    scss : {\n      List : 'http://www.sass-lang.com/documentation/file.SASS_REFERENCE.html#lists',\n      String : 'http://www.sass-lang.com/documentation/file.SASS_REFERENCE.html#sass-script-strings',\n      Map : 'http://www.sass-lang.com/documentation/file.SASS_REFERENCE.html#maps',\n      Color : 'http://www.sass-lang.com/documentation/file.SASS_REFERENCE.html#colors',\n      Function : 'http://www.sass-lang.com/documentation/file.SASS_REFERENCE.html#functions',\n      Mixin : 'http://www.sass-lang.com/documentation/file.SASS_REFERENCE.html#mixins'\n    },\n    php : {\n      String: 'http://php.net/manual/en/language.types.string.php',\n      Boolean: 'http://php.net/manual/en/language.types.boolean.php',\n      Integer: 'http://php.net/manual/en/language.types.integer.php',\n      Float: 'http://php.net/manual/en/language.types.float.php',\n      Double: 'http://php.net/manual/en/language.types.float.php',\n      Array: 'http://php.net/manual/en/language.types.array.php',\n      Object: 'http://php.net/manual/en/language.types.object.php',\n      Callable: 'http://php.net/manual/en/language.types.callable.php',\n      Resource: 'http://php.net/manual/en/language.types.resource.php',\n      NULL: 'http://php.net/manual/en/language.types.null.php',\n      Mixed: 'http://php.net/manual/en/language.pseudo-types.php#language.types.mixed',\n      Number: 'http://php.net/manual/en/language.pseudo-types.php#language.types.number',\n      Callback: 'http://php.net/manual/en/language.pseudo-types.php#language.types.callback'\n    }\n  }\n}\n```\n\n### Add/Override a tag display\n\nYou can through the config add or override how a specific tag will be printed out in your final markdown file. Here's how:\n\n```js\nconst docblockJSONToMarkdown = require(\"@coffeekraken/docblock-json-to-markdown\");\n// make a custom config\nconst config = {\n  tags: {\n    example: exampleData => {\n      // make your own display\n      return `\n        ### Example\n        \\`\\`\\`${exampleData.language}\n        ${exampleData.body}\n        \\`\\`\\`\n      `;\n    },\n    myCoolTag: tagData => {\n      // return something for your new cool tag\n    }\n  }\n};\n// use the package like so:\nconst markdown = docblockJSONToMarkdown(config).jsonToMarkdown(myCoolJSON);\n```\n\n### Custom templates\n\nTemplates are the backbone of the outputed markdown file. It describe which docblock will be displayed in which order, group, etc...\nHere's the default template:\n\n```js\nexport default function defaultTemplate(data) {\n  return [\n    this.renderBlocks(\n      data.filter((block, index) => {\n        return index === 0 && block.name && !block.private && !block.protected;\n      }),\n      {\n        title: \"@[0].name\",\n        titleLevelAdd: 1,\n        doNotRender: [\"name\"]\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return block.constructor === true;\n      }),\n      {\n        doNotRender: [\"name\"],\n        title: \"Constructor\"\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return !block.event && block.styleguide !== undefined;\n      }),\n      {\n        title: \"Examples\",\n        description: \"Here's some usage examples.\"\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return (\n          !block.event &&\n          (block.prop !== undefined || block.attribute !== undefined)\n        );\n      }),\n      {\n        title: \"Attributes\",\n        description:\n          \"Here's the list of available attribute to set on the element.\"\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return !block.event && block.setting !== undefined;\n      }),\n      {\n        title: \"Settings\",\n        description: \"Here's the list of available settings.\"\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return (\n          !block.event &&\n          !block.return &&\n          block.types !== undefined &&\n          !block.private &&\n          !block.protected\n        );\n      }),\n      {\n        title: \"Properties\"\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return (\n          !block.event && !block.types && !block.private && !block.protected\n        );\n      }),\n      {\n        title: \"Methods\"\n      }\n    ),\n    this.renderBlocks(\n      data.filter(block => {\n        return block.event && !block.private && !block.protected;\n      }),\n      {\n        title: \"Events\"\n      }\n    )\n  ].join(\"\\n\");\n}\n```\n\n#### Register/override a new template\n\nYou can register or override any template like so:\n\n```js\nconst docblockJSONToMarkdown = require(\"@coffeekraken/docblock-json-to-markdown\");\n// make a custom config\nconst config = {\n  templates: {\n    jsx: data => {\n      return [\n        this.renderBlocks(\n          data.filter(block => {\n            return block.constructor === true;\n          }),\n          {\n            doNotRender: [\"name\"],\n            title: \"Constructor\"\n          }\n        )\n      ].join(\"\\n\");\n    }\n  }\n};\n// use the package like so:\nconst markdown = docblockJSONToMarkdown(config).jsonToMarkdown(myCoolJSON);\n```\n\n> The template index has to be the language extension of the file processed.\n\n<a name=\"readme-coffeekraken\"></a>\n\n# Coffeekraken\n\nWe are a young collective of front-end creative developers with one goal in mind. Build tools to make every team working day life better. This is our first and only concern. All our tools are build around that purpose.\nAll what we provide are some cool tools that you can use the way you want. These tools features cover a large scope of the front-end workflow (styleguide generation, colors/fonts management, etc...). You can use only the parts that you need and let the rest aside...\n\n[![Coffeekraken](.resources/coffeekraken-logo.jpg)](https://coffeekraken.io)\n","readmeFilename":"README.md"}