{"id":19881560,"url":"https://github.com/chifisource/documator.jl","last_synced_at":"2025-03-01T02:47:02.552Z","repository":{"id":107335732,"uuid":"483709787","full_name":"ChifiSource/Documator.jl","owner":"ChifiSource","description":"Automate documentation.","archived":false,"fork":false,"pushed_at":"2025-01-01T04:32:36.000Z","size":148,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T18:52:25.943Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","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/ChifiSource.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["emmaccode","UnformalPenguin"]}},"created_at":"2022-04-20T15:26:07.000Z","updated_at":"2025-01-01T04:32:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"880ad2cf-a61a-4c12-9b31-3dffe2a5bd15","html_url":"https://github.com/ChifiSource/Documator.jl","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/ChifiSource%2FDocumator.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChifiSource%2FDocumator.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChifiSource%2FDocumator.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChifiSource%2FDocumator.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChifiSource","download_url":"https://codeload.github.com/ChifiSource/Documator.jl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241309104,"owners_count":19941725,"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-11-12T17:14:37.180Z","updated_at":"2025-03-01T02:47:02.529Z","avatar_url":"https://github.com/ChifiSource.png","language":"Julia","funding_links":["https://github.com/sponsors/emmaccode","https://github.com/sponsors/UnformalPenguin"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" style = \"box-pack: start;\"\u003e\n  \u003c/br\u003e\n  \u003cimg width = 300 src=\"https://github.com/ChifiSource/image_dump/blob/main/documentor/logo.png\" \u003e\n  \n  \n  [![version](https://juliahub.com/docs/Lathe/version.svg)](https://juliahub.com/ui/Packages/Lathe/6rMNJ)\n[![deps](https://juliahub.com/docs/Lathe/deps.svg)](https://juliahub.com/ui/Packages/Lathe/6rMNJ?t=2)\n[![pkgeval](https://juliahub.com/docs/Lathe/pkgeval.svg)](https://juliahub.com/ui/Packages/Lathe/6rMNJ)\n  \u003c/br\u003e\n  \u003c/br\u003e\n  \u003ch1\u003eDocumator.jl\u003c/h1\u003e\n  \u003c/div\u003e\n  \nDocumator is an automatic, active-webserver documentation deployment solution for julia. This application builds automatic documentation referencing, searching, and special component interpolation -- all built on the back of the `Toolips` web-development framework. \n### adding\nStep one is adding the package. This package will be a dependency of a project which contains all of your documentation, so we start by creating a new environment. Let's say that we wanted to document [`Toolips`](https://github.com/ChifiSource/Toolips.jl) and `ToolipsServables` in from the `toolips` ecosystem. We would add documator, plus both of those packages.\n```julia\njulia\u003e ]\npkg\u003e generate TLDocServer\npkg\u003e activate TLDocServer\npkg\u003e add Toolips\npkg\u003e add ToolipsServables\npkg\u003e add Documator\n```\n### setup\nAfter we have an environment with the modules we want to build for loaded, we will first want to call `Documator.generate(groups::Pair{String, Vector{Module}} ...)`. This allows us to group our modules according to ecosystem. This will a `config.toml` alongside a bunch of directories for our project. From here on, we are able to call `generate(...` in this same directory to add additional documentation. After this, we simply need to provide our `Module` to `read_doc_config` before calling `start!` on documator. \n```julia\nfunction start_project(ip::IP4 = \"192.168.1.10\":8000, path::String = pwd())\n    docloader = Documator.docloader\n    docloader.dir = path\n    docloader.docsystems = Documator.read_doc_config(path, TLDocServer)\n    Documator.load_docs!(TLDocServer, docloader)\n    start!(Documator, ip)\nend\n```\nFrom here, we can add `md` to the folders in `modules/` to add more documentation, while a reference and doc interpolation are generated for us.\n- A great example of a precreated and deployed, working version of this would be [ChifiDocs](https://github.com/ChifiSource/ChifiDocs.jl)\n- A special `components` vector may also be exported from your module to load those components into interpolation for your markdown files.\n```julia\nmodule MyDocumatorServer\nusing Documator\nusing Documator.Toolips.Components\nusing ModToDoc\n\nfunction start_project(ip::IP4 = \"192.168.1.10\":8000, path::String = pwd())\n    docloader = Documator.docloader\n    docloader.dir = path\n    docloader.docsystems = Documator.read_doc_config(path, MyDocumatorServer)\n    Documator.load_docs!(MyDocumatorServer, docloader)\n    start!(Documator, ip)\nend\n\ncomponents = []\n\npush!(components, a(\"sample\", text = \"this was interpolated\"))\nexport components\nend\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchifisource%2Fdocumator.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchifisource%2Fdocumator.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchifisource%2Fdocumator.jl/lists"}