{"id":31604410,"url":"https://github.com/ansible-community/ansible-docsite","last_synced_at":"2026-03-10T09:40:47.679Z","repository":{"id":150278179,"uuid":"611346670","full_name":"ansible-community/ansible-docsite","owner":"ansible-community","description":"Ansible community docsite","archived":false,"fork":false,"pushed_at":"2026-03-02T15:40:16.000Z","size":72983,"stargazers_count":14,"open_issues_count":5,"forks_count":28,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-03-02T18:52:45.158Z","etag":null,"topics":["ansible"],"latest_commit_sha":null,"homepage":"https://docs.ansible.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansible-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-08T16:29:55.000Z","updated_at":"2026-02-19T12:34:50.000Z","dependencies_parsed_at":"2023-10-04T21:28:51.292Z","dependency_job_id":"57d7539d-9ddd-4700-aa70-28a62c8b90fc","html_url":"https://github.com/ansible-community/ansible-docsite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ansible-community/ansible-docsite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-community%2Fansible-docsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-community%2Fansible-docsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-community%2Fansible-docsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-community%2Fansible-docsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansible-community","download_url":"https://codeload.github.com/ansible-community/ansible-docsite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-community%2Fansible-docsite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30328916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ansible"],"created_at":"2025-10-06T08:01:51.531Z","updated_at":"2026-03-10T09:40:47.671Z","avatar_url":"https://github.com/ansible-community.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![Discuss at #website:ansible.com on Matrix](https://img.shields.io/matrix/website:ansible.com.svg?server_fqdn=ansible-accounts.ems.host\u0026label=Discuss%20at%20%23website:ansible.com\u0026logo=matrix)](https://matrix.to/#/#website:ansible.com)\n\nThis repository contains the assets required to build the Ansible Community website, [docs.ansible.com](https://docs.ansible.com). Welcome!\n\n\n## Contributing to the website\n\nPlease see [CONTRIBUTING](CONTRIBUTING.md)\n\n## Governance\n\nPlease see [Governance](CONTRIBUTING.md#Governance)\n\n## Contacting the maintainers\n\nThe Website Working group can be found in [Ansible Website WG](https://matrix.to/#/#website:ansible.com) on Matrix\nor `#ansible-website` on IRC. Alternatively, a GitHub issue is also acceptable for asking\nquestions.\n\n## Building the website locally\n\nThe Ansible community website is static HTML generated from this repository.\nYou can build the website locally if you want to evaluate changes or experiment.\n\n### Using nox\n\nThis project includes a `nox` configuration to automate and simplify the build.\n\nInstall `nox`.\n\n    # Install nox with pip\n    python3 -m pip install nox\n\n    # Install nox on MacOS\n    brew install nox\n\nRun `nox -s build -- --conf=dev.conf.py` to build the website locally.\nTo see other available sessions, run `nox --list`.\n\n\u003e By default the `conf.py` file uses absolute urls for style sheets and other resources.\n\u003e If you do not specify the `dev.conf.py` file the resulting output uses resources hosted on `docs.ansible.com`, which means you cannot view local changes to `.sass` files and so on.\n\n### Running nikola directly\n\nThe website is built with nikola.\nIf you prefer using `nikola` commands directly, instead of using `nox`, you can.\n\n#### Setting things up\n\nWe recommend that you use a Python virtual environment.\n\n    # Create a virtual environment named \"venv\" in your current directory.\n    python3 -m venv venv\n\n    # Activate the virtual environment.\n    source venv/bin/activate\n\n    # Install the required packages.\n    python -m pip install --upgrade -r ./requirements.in -c ./requirements.txt\n\n#### Building and viewing the site\n\nThe Ansible community website is built with [Nikola](https://getnikola.com/).\n\n    # Build the site with Nikola.\n    nikola build --conf=dev.conf.py\n\n    # View the site in your browser.\n    nikola serve -b\n\n    # List available commands.\n    nikola help\n\n\u003e Check the [Nikola handbook](https://getnikola.com/handbook.html) for more details.\n\n\u003e Nikola configuration for the website is in `conf.py`.\n\n## Site accessibility\n\nBeing considerate of users with assistive technology is a central part of the Ansible community pledge to be inclusive.\nWhen adding a blog post or making changes to the templates, we ask that you perform some accessibility checks.\nThis ensures that everyone can read your post and our site remains open and accessible to all.\n\n### Web Content Accessibility Guidelines (WCAG) 2.1\n\nChanges should always adhere to [WCAG 2.1 guidelines](https://www.w3.org/TR/WCAG21/).\nIn most cases the guidelines provide relatively straightforward things to be aware of, such as:\n\n- **Ensure images are not the sole means to convey information.**\n  Images should only supplement the text.\n  For instance, if you want to include a visual depiction of data such as a graph, then your blog post should adequately explain those data points in the surrounding text.\n- **Images must have suitable alternative text.**\n  The `alt` attribute should always be present for any image and provide a short, meaningful description.\n  Think of what the image conveys \"at a glance\" and put that as the value of the `alt` attribute.\n  For adding `alt` attributes to markdown files, [check out the GitHub docs](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#images).\n- **Avoid redundant and suspicious links.**\n  Don't include the same `href` in more than one instance on the page or in a post.\n  Don't use vague words like \"here\" or \"this page\" as your anchor text; make sure it clearly describes where the link takes you.\n- **Think about how colors contrast.**\n  Contrast is super important, kind of fun, and all about being able to tell things apart.\n  Your goal is to make it easy for users to distinguish text or other elements.\n\n### Testing changes for accessibility\n\nUse these resources to check for web accessibility issues:\n\n- [WAVE report](https://wave.webaim.org/)\n- [Contrast checker](https://webaim.org/resources/contrastchecker/)\n- [Link contrast checker](https://webaim.org/resources/linkcontrastchecker/)\n\nTo perform an accessibility check for a blog post, do the following:\n\n1. When your final commit is ready, submit a pull request.\n2. Grab the link for your Read the Docs build preview.\n   You can find this in the \"checks\" section of your PR.\n3. In a browser, append the link for your build preview to `https://wave.webaim.org/report#/`.\n4. Check the WAVE report for errors and alerts.\n\nThe full url for your WAVE report should be similar to this one:\n\n```\nhttps://wave.webaim.org/report#/https://ansible-community-website--278.org.readthedocs.build/en/278/blog/2023/09/26/new-ansible-galaxy/\n```\n\n\u003e If you see errors or alerts related to the underlying style sheets or templates - in other words not a problem with your post but the site itself - please create an issue in the repo and add the `accessibility` label.\n\n#### Additional accessibility tooling\n\nIf your changes affect templates, consider using `axe` tooling to detect accessibility issues:\n\n- [axe browser extension](https://www.deque.com/axe/browser-extensions/)\n- [vscode axe linter](https://marketplace.visualstudio.com/items?itemName=deque-systems.vscode-axe-linter)\n\n## Checking your changes before commit\n\nThis project includes some tests and checks that run against pull requests.\nYou can also run these checks before you commit changes.\n\n    # Install nox if required.\n    python -m pip install --upgrade nox\n\n    # View available nox sessions.\n    nox --list\n\n### Spelling check\n\n    # Spell check the page templates with the default session.\n    nox -s spelling\n\n    # Check a specific blog post for spelling errors.\n    nox -s spelling -- ./posts/2023/02/24/2023-02-24-ansible_community_strategy_2023.md\n\n    # Automatically correct any spelling errors in a blog post.\n    nox -s spelling -- ./posts/2023/02/24/2023-02-24-ansible_community_strategy_2023.md -w\n\n### Linting and formatting templates\n\nThis project includes a linter and formatter to guard against unintended errors and to ensure high quality templates.\nIf you modify the templates you should lint and format prior to commit.\n\n    # Check templates for issues.\n    nox -s lint\n\n    # Check templates and ignore rules.\n    nox -s lint -- --ignore=H006,H013,T002,T003,T028\n\n    # Check changes before formatting.\n    nox -s format -- --check\n\n    # Format templates.\n    nox -s format\n\nDefault configuration for the linter and formatter is in the `[tool.djlint]` section of `pyproject.toml`.\nFor more information about configuration options, see:\n\n- [Linter](https://www.djlint.com/docs/linter/)\n- [Formatter](https://www.djlint.com/docs/formatter/)\n\n\n\n## Code of Conduct\n\nThe Ansible community team values diverse opinions and is committed to an inclusive\nPlease review and abide by our [CODE OF CONDUCT](CODE_OF_CONDUCT.md).\n\n## License\n\n[![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/)\n\n## Thank you\n\nAnsible depends on community involvement - thank you for being a part of it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansible-community%2Fansible-docsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansible-community%2Fansible-docsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansible-community%2Fansible-docsite/lists"}