{"id":26030502,"url":"https://github.com/inspircd/docs","last_synced_at":"2025-08-26T15:27:17.679Z","repository":{"id":39046909,"uuid":"153105444","full_name":"inspircd/docs","owner":"inspircd","description":"InspIRCd documentation.","archived":false,"fork":false,"pushed_at":"2025-08-02T09:18:21.000Z","size":1769,"stargazers_count":9,"open_issues_count":6,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-08-02T10:45:56.732Z","etag":null,"topics":["documentation","inspircd","irc","irc-server","ircd"],"latest_commit_sha":null,"homepage":"https://docs.inspircd.org","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inspircd.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":"docs/security/0001-Fix-for-SA-2021-01-for-v3.8.0-and-v3.8.1.patch","support":"docs/support.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://paypal.me/sadieelizabethpowell?country.x=GB\u0026locale.x=en_GB"],"github":["SadieCat"],"ko_fi":"sadiepowell"}},"created_at":"2018-10-15T12:02:04.000Z","updated_at":"2025-08-02T09:18:24.000Z","dependencies_parsed_at":"2022-08-01T07:49:43.199Z","dependency_job_id":"32029f66-abbb-440d-a10c-7caf042dba21","html_url":"https://github.com/inspircd/docs","commit_stats":null,"previous_names":["inspircd/docs","inspircd/inspircd-docs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/inspircd/docs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspircd%2Fdocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspircd%2Fdocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspircd%2Fdocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspircd%2Fdocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inspircd","download_url":"https://codeload.github.com/inspircd/docs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspircd%2Fdocs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272233829,"owners_count":24896889,"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","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","inspircd","irc","irc-server","ircd"],"created_at":"2025-03-06T18:30:24.271Z","updated_at":"2025-08-26T15:27:17.645Z","avatar_url":"https://github.com/inspircd.png","language":"Jinja","funding_links":["https://paypal.me/sadieelizabethpowell?country.x=GB\u0026locale.x=en_GB","https://github.com/sponsors/SadieCat","https://ko-fi.com/sadiepowell"],"categories":[],"sub_categories":[],"readme":"## About\n\nInspIRCd is a modular C++ Internet Relay Chat (IRC) server for UNIX-like and Windows systems.\n\nThis repository contains the sources for the documentation available at [docs.inspircd.org](https://docs.inspircd.org).\n\n## Development\n\nThe documentation is built with [MkDocs](https://www.mkdocs.org). You can install this along with all of the other dependencies using [pip](https://pip.pypa.io/en/stable/) using the following command:\n\n```sh\npip3 install -r requirements.txt .\n```\n\nDepending on your system you may need to run this as root for a system-wide install.\n\nOnce the dependencies are installed you can run the site using the following command:\n\n```sh\nmkdocs serve\n```\n\n## Documentation Structure\n\n### Content\n\nMost of it is in `docs/3/`, which is the documentation of the current major release. The core documentation directly in it, and module documentation in a subfolder.\nEach module is documented by a YAML file, that is formatted by the MkDocs extension using `mkdocs_inspircd/templates/module.md.j2`.\nThe data is also interpreted by the documentation to generate tables in the core documentation (eg. to provide a list of all commands of all modules).\n\n`docs/4/` contains preparatory work for the next major release.\n\n### MkDocs extension\n\n`mkdocs_inspircd/` contains an extension for MkDocs, that does two things:\n\n#### Rendering module documentation\n\nAll module pages are very similar in structure, so we decided to generate them from data files instead of repeating the markdown code.\nThis avoids inconsistencies, and easier changes in the structure; and to access module information programmatically.\n\nTo do this, the MkDocs extension implements [the `on_files` hook](https://www.mkdocs.org/dev-guide/plugins/#on_files), so MkDocs detects `.yml` files as source files (as if they were `.md`).\n\nIt also implements [the `on_page_read_source` hook](https://www.mkdocs.org/dev-guide/plugins/#on_page_read_source) to convert the YAML content to Markdown on the fly, because MkDocs tries to parse it.\nThis is done simply by rendering `mkdocs_inspircd/templates/module.md.j2` with the YAML content as context.\n\n#### Jinja templating for Markdown\n\nSome pages, like `docs/3/channel-modes.md`, use dynamic data to populate tables (eg. the table of all plugins' channel modes) without duplicating data from plugins.\nThis is done by [the `on_page_markdown` hook](https://www.mkdocs.org/dev-guide/plugins/#on_page_markdown), which is executed just before MkDocs parses renders Markdown.\nThis hook interprets Markdown documents as if they were Jinja templates, and passes them module data in the context; which produces the final Markdown document.\n\n### License\n\nThis documentation is licensed under the same license as InspIRCd (GPLv2).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspircd%2Fdocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finspircd%2Fdocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspircd%2Fdocs/lists"}