{"id":17962412,"url":"https://github.com/grafov/wtfm","last_synced_at":"2025-06-20T22:35:14.760Z","repository":{"id":31188138,"uuid":"34748755","full_name":"grafov/wtfm","owner":"grafov","description":"Where's The Fucking Manual? (ok, let Write the Fabulous Manual)","archived":false,"fork":false,"pushed_at":"2015-06-28T20:44:11.000Z","size":264,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T07:24:22.284Z","etag":null,"topics":["docs-generator","golang","parser","restructured-text","source-parser"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grafov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-28T18:35:33.000Z","updated_at":"2017-08-16T15:16:26.000Z","dependencies_parsed_at":"2022-09-08T21:42:41.089Z","dependency_job_id":null,"html_url":"https://github.com/grafov/wtfm","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/grafov%2Fwtfm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fwtfm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fwtfm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fwtfm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grafov","download_url":"https://codeload.github.com/grafov/wtfm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247061882,"owners_count":20877176,"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":["docs-generator","golang","parser","restructured-text","source-parser"],"created_at":"2024-10-29T11:19:18.276Z","updated_at":"2025-04-03T19:19:56.001Z","avatar_url":"https://github.com/grafov.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Where's the fucking manual?\n\nThe tool for lazy programmers to maintain docs with code in `go`.\nIt oriented on documenting `go` code and useles for other langs.\n\n## Status\n\nProgram yet unusable and development only started. If you interested in\nthis tool for `go` just vote project with a star.\n\n## Why?\n\n0. Of course I use `godoc` for generating documentation for `go` code. But\nit lacks support for light text markups like `markdown` and not comfortable\nfor keeping documentation tree not naily binded to structure of your code.\n\n1. I like sphinx way to build docs for it flexibility. It allow to combine\nautogenerated APIs based on code comments with handwriten texts. So it\nuseful for teams with dedicated technical writer. But sphinx mostly\noriented on Python and can't generate API for go code.\n\n2. I like swagger for generating live API for testing HTTP interfaces. But\nswagger need support from webframework which you used. Not many of go\nframeworks has such support. So to describe arbitrary HTTP API we need\nto use special comments like for example doxygen does. I think it not\ngood way but it better than nothing.\n\n3. I use both reST and markdown formats and want to mix them in docs.\n\n4. I use plantuml for diagrams and illustrations as it well fits in vcs\nwith code and text docs.\n\n5. I want a HTML output for both and simple tool to serve these pages\nwithout setup external webserver.\n\nSo I started to experiment with this new tool named `wtfm`.\n\n![usecase.png](usecase.png)\n\n##Documentation samples\n\n    // Sample method\n    //\n    // #http /example/method\n    //\n    // Query params:\n    // :test int: just a number\n    // :test2 string\n\nWill generate reST code:\n\n    Sample method\n    ==============\n\n    ``[GET] /example/method``\n\n    Parameters in a query:\n\n    .. glossary::\n      ``test`` int\n         just a number\n      ``test2`` string\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafov%2Fwtfm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrafov%2Fwtfm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafov%2Fwtfm/lists"}