{"id":13602145,"url":"https://github.com/klaytonfaria/markdown-json","last_synced_at":"2025-04-13T03:14:36.624Z","repository":{"id":38205856,"uuid":"78443531","full_name":"klaytonfaria/markdown-json","owner":"klaytonfaria","description":"Markdown to json has yaml support and converts your markdown files to json so you can use them as a static api.","archived":false,"fork":false,"pushed_at":"2023-07-11T04:03:40.000Z","size":1050,"stargazers_count":103,"open_issues_count":12,"forks_count":19,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-13T03:14:24.899Z","etag":null,"topics":["api","json","markdown","static","yaml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klaytonfaria.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-09T15:50:28.000Z","updated_at":"2025-03-09T11:53:59.000Z","dependencies_parsed_at":"2024-06-18T18:21:31.654Z","dependency_job_id":"7df9f5a9-b6bd-4526-8c0b-524a147b337c","html_url":"https://github.com/klaytonfaria/markdown-json","commit_stats":{"total_commits":71,"total_committers":5,"mean_commits":14.2,"dds":0.4084507042253521,"last_synced_commit":"0b8fd52261f3f3d4c26c23beba147243919da2d6"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaytonfaria%2Fmarkdown-json","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaytonfaria%2Fmarkdown-json/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaytonfaria%2Fmarkdown-json/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaytonfaria%2Fmarkdown-json/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klaytonfaria","download_url":"https://codeload.github.com/klaytonfaria/markdown-json/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657920,"owners_count":21140846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","json","markdown","static","yaml"],"created_at":"2024-08-01T18:01:15.176Z","updated_at":"2025-04-13T03:14:36.597Z","avatar_url":"https://github.com/klaytonfaria.png","language":"JavaScript","funding_links":[],"categories":["api"],"sub_categories":[],"readme":"markdown-json [![npm](https://img.shields.io/npm/dt/markdown-json.svg)]() [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) ![Publish packages](https://github.com/klaytonfaria/markdown-json/workflows/Publish%20packages/badge.svg)\n===\n\nMarkdown to json has yaml support and converts your markdown files to json so you can use them as a static api.\n\n\n## Installation\n\n```\nnpm install markdown-json\n```\n\n### Command line usage:\n```\nmarkdown-json [OPTIONS] [ARGS]\n\nOptions:\n  -c, --config [STRING]              settings file (Default is ./settings.json)\n  -D, --display BOOLEAN              enable display mode\n  -d, --dist [STRING]                output file directory (Default is ./dist/output.json)\n  -i, --ignore STRING                ignore file pattern\n  -o, --deterministicOrder BOOLEAN   enable deterministic output ordering\n  -p, --filePattern [STRING]         file(s) directory (Default is **/*.md)\n  -P, --port [NUMBER]                server port (Default is 3001)\n  -S, --server BOOLEAN               enable server\n  -s, --src [STRING]                 file(s) directory (Default is ./)\n  -w, --cwd [STRING]                 work directory (Default is ./)\n  -h, --help                         display help and usage details\n```\n\n### Require module usage:\n```JavaScript\nconst markdownJson = require('markdown-json');\n\nmarkdownJson(\u003csettingsObj\u003e) // =\u003e returns a Promise\n```\n\n## Usage Example:\n---\n\n#### Settings example\n*Use a object with all settings or save as a json file*\n\n```json\n{\n  \"name\": \"markdown-json\",\n  \"cwd\": \"./\",\n  \"src\": \"example/content/\",\n  \"filePattern\": \"**/*.md\",\n  \"ignore\": \"*(icon|input)*\",\n  \"dist\": \"example/output.json\",\n  \"metadata\": true,\n  \"server\": true,\n  \"port\": 3001,\n  \"deterministicOrder\": false\n}\n```\n\n#### Call through command line example:\n```\nmarkdown-json -c ~/app/my-app-settings.json\n```\n\n#### Call through require module example:\n```JavaScript\nconst markdownJson = require('markdown-json');\nconst settings = {\n        name: 'markdown-json',\n      \tcwd: './',\n      \tsrc: 'example/content/',\n        filePattern: '**/*.md',\n        ignore: \"*(icon|input)*\",\n        dist: 'example/output.json',\n        metadata: true,\n        server: false,\n        port: 3001,\n        deterministicOrder: false\n      };\n\nmarkdownJson(settings).then((data) =\u003e {\n  console.log('data:', data);\n}).catch((err) =\u003e {\n  console.log('error:', err);\n})\n```\n\n\n\n## Files input\n\n#### File example 1\n\n```markdown\n---\nsection: Elements\ntitle: icons\ntags:\n- icons\n- base\n---\n\n# Icons\n\nOur icons list still is empty :(\n```\n\n#### File example 2\n```markdown\n---\nsection: Elements\ntitle: buttons\ndevice:\n- desktop\n- mobile\nstyles:\n- https://lalao.com/styles/structure.min.css\n- https://lalao.com/styles/app.min.css\n---\n\nFollow some application examples of buttons\n\nTypes\n============\n\n## Base\n\nBase button layout sample:\n\n\u003cbutton type=\"button\" class=\"buy-button btn btn-success\"\u003e\n  \u003cspan class=\"icon\"\u003e\u003c/span\u003e\n  \u003cspan class=\"text\"\u003eButton\u003c/span\u003e\n\u003c/button\u003e\n\n\\~~~scss\n.btn-primary {\n  @include states(#1A75CE, #086B9C);\n}\n\\~~~\n\n\\~~~html\n\u003cbutton type=\"button\" class=\"buy-button btn btn-success\"\u003e\n  \u003cspan class=\"icon\"\u003e\u003c/span\u003e\n  \u003cspan class=\"text\"\u003eButton\u003c/span\u003e\n\u003c/button\u003e\n\\~~~\n```\n\n\n## Output:\n```json\n{\n  \"app\": {\n    \"config\": \"./settings.json\",\n    \"cwd\": \"./\",\n    \"src\": \"example/content/\",\n    \"filePattern\": \"**/*.md\",\n    \"dist\": \"example/output.json\",\n    \"name\": \"markdown-json\",\n    \"version\": \"0.0.1\"\n  },\n  \"data\": [\n    {\n      \"section\": \"Elements\",\n      \"title\": \"buttons\",\n      \"device\": [\n        \"desktop\",\n        \"mobile\"\n      ],\n      \"styles\": [\n        \"https://lalao.com/styles/structure.min.css\",\n        \"https://lalao.com/styles/app.min.css\"\n      ],\n      \"contents\": \"\u003cp\u003eFollow some application examples of buttons\u003c/p\u003e\\n\u003ch1 id=\\\"types\\\"\u003eTypes\u003c/h1\u003e\\n\u003ch3 id=\\\"base\\\"\u003eBase\u003c/h3\u003e\\n\u003cp\u003eBase button layout sample:\u003c/p\u003e\\n\u003cbutton type=\\\"button\\\" class=\\\"buy-button btn btn-success\\\"\u003e\\n  \u003cspan class=\\\"icon\\\"\u003e\u003c/span\u003e\\n  \u003cspan class=\\\"text\\\"\u003eButton\u003c/span\u003e\\n\u003c/button\u003e\\n\\n\u003cpre\u003e\u003ccode class=\\\"lang-scss\\\"\u003e.btn-primary {\\n  @include states(#1A75CE, #086B9C);\\n}\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cpre\u003e\u003ccode class=\\\"lang-html\\\"\u003e\u0026lt;button type=\u0026quot;button\u0026quot; class=\u0026quot;buy-button btn btn-success\u0026quot;\u0026gt;\\n  \u0026lt;span class=\u0026quot;icon\u0026quot;\u0026gt;\u0026lt;/span\u0026gt;\\n  \u0026lt;span class=\u0026quot;text\u0026quot;\u0026gt;Button\u0026lt;/span\u0026gt;\\n\u0026lt;/button\u0026gt;\\n\u003c/code\u003e\u003c/pre\u003e\\n\",\n      \"excerpt\": \"\u003cp\u003eFollow some application examples of buttons\u003c/p\u003e\",\n      \"id\": \"buttons\",\n      \"meta\": {\n        \"relativePath\": \"content/buttons.html\",\n        \"createdAt\": \"2020-10-08T16:05:30.415Z\",\n        \"lastModified\": \"2020-10-08T16:05:14.452Z\",\n        \"size\": 2095,\n        \"formattedSize\": \"2.0 KB\"\n      }\n    },\n    {\n      \"section\": \"Elements\",\n      \"title\": \"icons\",\n      \"tags\": [\n        \"icons\",\n        \"base\"\n      ],\n      \"contents\": \"\u003ch1 id=\\\"icons\\\"\u003eIcons\u003c/h1\u003e\\n\u003cp\u003eOur icons list still is empty :(\u003c/p\u003e\\n\",\n      \"excerpt\": \"\u003cp\u003eOur icons list still is empty :(\u003c/p\u003e\",\n      \"id\": \"icons\",\n      \"meta\": {\n        \"relativePath\": \"content/globals/js-utils.html\",\n        \"createdAt\": \"2019-08-27T18:01:33.747Z\",\n        \"lastModified\": \"2019-08-27T18:01:33.747Z\",\n        \"size\": 331,\n        \"formattedSize\": \"331 Bytes\"\n      }\n    }\n  ]\n}\n```\n\n\n## TODOS\n- [X] Node api with promises\n- [ ] Unit tests\n- [X] Run with http server\n- [X] Add file metadata\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaytonfaria%2Fmarkdown-json","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklaytonfaria%2Fmarkdown-json","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaytonfaria%2Fmarkdown-json/lists"}