{"id":23723043,"url":"https://github.com/mull/documenty","last_synced_at":"2026-02-15T03:30:17.852Z","repository":{"id":5063661,"uuid":"6225379","full_name":"mull/documenty","owner":"mull","description":"YAML format specification to describe REST-like APIs + executable to generate API documentation","archived":false,"fork":false,"pushed_at":"2012-10-15T10:40:29.000Z","size":116,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-30T23:58:49.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"martinisoft/chef-rvm","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mull.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-15T10:39:40.000Z","updated_at":"2013-09-20T17:24:08.000Z","dependencies_parsed_at":"2022-09-18T22:31:09.860Z","dependency_job_id":null,"html_url":"https://github.com/mull/documenty","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mull%2Fdocumenty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mull%2Fdocumenty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mull%2Fdocumenty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mull%2Fdocumenty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mull","download_url":"https://codeload.github.com/mull/documenty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239818503,"owners_count":19702155,"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":[],"created_at":"2024-12-30T23:58:55.771Z","updated_at":"2026-02-15T03:30:17.803Z","avatar_url":"https://github.com/mull.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Documenty\nDocumenty constists of two things:\n1. A format specification for describing a RESTful API\n2. An executable (by installing it as a gem) for turning said YAML file into an HTML file to view in the browser.\n\n## Example .yml file\n```yml\n---\nbase:\n  name: Pushly REST JSON API\n  version: 1\n  url: http://push.ly/api/business/v1\n  \nresources:\n  customers:\n    description: Add, delete and inspect your business' customers.\n    actions:\n      index:\n        path: /customers\n        description: Returns a list of your business' customers\n      show:\n        path: /customers/:id\n        description: Returns information about a particular customer\n        parameters:\n          id: The id of the customer\n      create:\n        path: /customers\n        description: Create a new customer associated with your business\n  packages:\n    description: Add, delete and inspec your business' packages.\n    actions:\n      index:\n        path: /customers\n        description: Returns a list of your business' customers\n      custom_action:\n        method: GET\n        path: /customers/:id/custom_action\n        description: Does \u003csomething\u003e to a customer\n        parameters:\n          id: The id of the customer\n```\nDocumenty demands a few things:\n\n1. A name, a version and a path prefix. The path prefix is prefixed to every path specified\n2. Each resource needs a description and documenty will spew out errors if something is missing\n\nNormal RESTful actions (index/show/create/update/destroy) do not need a method specified, Documenty assumes that they\nare accessed through get/get/post/put/delete respectively. Said default methods can be overwritten by simply specifying\na method.\n\n\n## Command line usage\nTo generate an HTML file with descriptions of your API simply specify the input .yml file and optionally a directory to\nwhich Documenty should write the files. The output directory defaults to ./documenty_doc/.\n\n```\nDocumenty Yaml API Parser 0.1\n\nUsage:\n  documenty input_file [output_directory]\n\nOptions:\n  input_file: The .yml file to be parsed\n  output_file: The directory that documenty should put its output in.\n                    default output directory: ./apidoc/index.html\n```\n\n# TODO\n1. Response codes and response objects (feel free to suggest a nice way to do this by opening an issue)\n2. Nested resources\n\n# Contributing\nBug reports, pull requests and general feedback are always welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmull%2Fdocumenty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmull%2Fdocumenty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmull%2Fdocumenty/lists"}