{"id":13618245,"url":"https://github.com/docuowl/docuowl","last_synced_at":"2025-05-16T10:08:48.786Z","repository":{"id":38685180,"uuid":"352123029","full_name":"docuowl/docuowl","owner":"docuowl","description":"🦉 A documentation generator","archived":false,"fork":false,"pushed_at":"2023-02-25T02:53:02.000Z","size":356,"stargazers_count":1306,"open_issues_count":9,"forks_count":53,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-13T12:07:33.350Z","etag":null,"topics":["documentation","documentation-generator","documentation-site","documentation-template","documentation-website"],"latest_commit_sha":null,"homepage":"","language":"Go","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/docuowl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-03-27T16:35:47.000Z","updated_at":"2025-05-04T17:39:28.000Z","dependencies_parsed_at":"2024-01-07T09:39:02.620Z","dependency_job_id":"0df1b819-feda-4996-9dee-a4b72369c8a0","html_url":"https://github.com/docuowl/docuowl","commit_stats":null,"previous_names":["heyvito/docuowl"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docuowl%2Fdocuowl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docuowl%2Fdocuowl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docuowl%2Fdocuowl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docuowl%2Fdocuowl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/docuowl","download_url":"https://codeload.github.com/docuowl/docuowl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509478,"owners_count":22082892,"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":["documentation","documentation-generator","documentation-site","documentation-template","documentation-website"],"created_at":"2024-08-01T20:01:56.971Z","updated_at":"2025-05-16T10:08:43.771Z","avatar_url":"https://github.com/docuowl.png","language":"Go","funding_links":[],"categories":["HarmonyOS","Go","documentation"],"sub_categories":["Windows Manager"],"readme":"# 🦉 Docuowl\n\nDocuowl generates a static single-page documentation from Markdown files\n\n## Rationale\nAs a long-time fan of documentation style made by [Stripe](https://stripe.com/docs/api),\nand Markdown, I decided to use the former as a base to create a pretty documentation\ngenerator that outputs something like Stripe's. Stripe also generously allowed me\nto use their layout, so here's a big thank you to them! ♥️\n\n## Demo\nLooking for a demo? A simple demo is available at [https://docuowl.github.io/demo/](https://docuowl.github.io/demo/)!\n\n\u003ccenter\u003e\u003cimg width=\"1316\" alt=\"Docuowl Screenshot\" src=\"https://user-images.githubusercontent.com/77198/115077959-49e68980-9ed5-11eb-9949-acd47a2e0cb6.png\"\u003e\u003c/center\u003e\n\n## Installing\n\n### Brew\n\nTo install Docuowl using [Homebrew](https://brew.sh), execute the following command:\n\n```bash\nbrew install docuowl/tap/docuowl\n```\n\n### Manually\nRefer to the [releases](https://github.com/docuowl/docuowl/releases) page to get\nthe latest version.\n\n## Documentation Organization\nDocuowl takes a directory as input. The directory is expected to have one\ndirectory for each section or group. Each group may have subsections, which by\ntheir turn must also be placed into directories.\nEach **Section** is required to have an `content.md` file, containing the\nFrontmatter for that section, and an optional `sidenotes.md` file, that will be\nrendered to the right of the section. The Frontmatter must contain at least a\n`Title` property, and an optional `ID` property containing a unique slug for that\nsection.\nEach **Group** must contain a single `meta.md` file, containing a Frontmatter like\na Section, and an optional content following the frontmatter.\n\nFor instance, take the following directory tree as example:\n\n```\n.\n├── 1-introduction\n│   └── content.md\n├── 2-errors\n│   ├── content.md\n│   └── sidenotes.md\n├── 3-authentication\n│   ├── content.md\n│   └── sidenotes.md\n├── 4-authorization\n│   ├── 1-login\n│   │   ├── content.md\n│   │   └── sidenotes.md\n│   ├── 2-logout\n│   │   ├── content.md\n│   │   └── sidenotes.md\n│   ├── 4-me\n│   │   ├── content.md\n│   │   └── sidenotes.md\n│   └── meta.md\n├── 5-foo\n│   ├── 1-listing-foos\n│   │   ├── content.md\n│   │   └── sidenotes.md\n│   ├── 2-merged-foos\n│   │   ├── content.md\n│   │   └── sidenotes.md\n│   └── meta.md\n├── 6-bars\n│   ├── content.md\n│   └── sidenotes.md\n├── 7-list-foobars\n│   ├── content.md\n│   └── sidenotes.md\n├── 8-get-foobar\n│   ├── content.md\n│   └── sidenotes.md\n└── 9-foobar-data\n    ├── content.md\n    └── sidenotes.md\n```\n\n### Example of `meta.md`:\n\n```markdown\n---\nTitle: Authorization\n---\n\n\u003e :warning: **Warning**: All authorization endpoints are currently in maintenance\n```\n\n### Markdown Extensions\n\nDocuowl introduces two new blocks to Markdown: Boxes and Attributes List.\n\n#### Boxes\nBoxes can only be used in sidenotes. To create a new box, use the following\nformat:\n\n```\n#! This is a box\nAnd this is the box's content\n```\n\nAfter one `#!`, the box will take any content that follows until one of the\nfollowing conditions are met:\n\n1. A horizontal ruler is found (`----`)\n2. Another Box begins.\n\n#### Attributes List\nAttributes Lists can only be used in contents. To create a new Attribute List,\nuse the following format:\n\n```\n#- Attribute List\n- Key1 `type`\n- Key1 Description\n```\n\n## Usage\nDocuowl can be invoked in two modes: Compile, and Watch.\n\n### Compile\nCompilation will output a single `index.html` file to an specified directory,\ntaking another directory as input. For instance:\n\n```bash\n$ docuowl --input docs --output docs-html\n```\n\n### Watch\nWatch allows one to continuously write documentation and see the preview with\nauto-reload. For that, use:\n\n```bash\n$ docuowl --input docs --output docs-html --watch\n\nDocuowl v0.1\nListening on 127.0.0.1:8000\n```\n\nThen open your browser and point to 127.0.0.1:8000. The page will be reloaded\neach time a file changes in the `input` directory.\n\n### Building\nIn order to locally build, use the provided `Makefile`. Steps consist of running\n`cmd/static-generator/main.go`, responsible for compiling static files required\nby `static/static.go`, and running `go build` on `cmd/docuowl/main.go`.\n\n## TODO\n- [ ] Full-text Search\n- [ ] Add tests\n\n## License\n\nThis software uses other open-source components. For a full list, see the `LICENSE` file.\n\n```\nMIT License\n\nCopyright © 2021 Victor Gama\nCopyright © 2021 Real Artists\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocuowl%2Fdocuowl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdocuowl%2Fdocuowl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocuowl%2Fdocuowl/lists"}