{"id":15286061,"url":"https://github.com/testingisdocumenting/znai","last_synced_at":"2026-04-16T03:02:59.172Z","repository":{"id":37086319,"uuid":"76669415","full_name":"testingisdocumenting/znai","owner":"testingisdocumenting","description":"Build functional, maintainable, beautiful User Guides with markdown and Znai plugins. Instant pages navigation. Local search. Multiple integrations to work with Python, Java, C++, OpenAPI, etc. Transform \"getting started\" sections into slideshow for your workshops. Manage multiple documentations with self-deployed znai hub.","archived":false,"fork":false,"pushed_at":"2026-04-11T12:16:09.000Z","size":59269,"stargazers_count":274,"open_issues_count":19,"forks_count":19,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-04-11T14:11:58.466Z","etag":null,"topics":["documentation","github-pages","java","markdown","openapi","openapi3","python","rest-api","static-site-generator","userguide"],"latest_commit_sha":null,"homepage":"https://testingisdocumenting.org/znai","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/testingisdocumenting.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-12-16T16:42:12.000Z","updated_at":"2026-04-11T12:16:12.000Z","dependencies_parsed_at":"2023-10-14T19:07:40.416Z","dependency_job_id":"3947d746-a86d-4204-a069-b07590d95cb3","html_url":"https://github.com/testingisdocumenting/znai","commit_stats":{"total_commits":2032,"total_committers":15,"mean_commits":"135.46666666666667","dds":0.08120078740157477,"last_synced_commit":"693b0d02b2bf38d12840d3be12c6bbd053d13f20"},"previous_names":["twosigma/znai"],"tags_count":105,"template":false,"template_full_name":null,"purl":"pkg:github/testingisdocumenting/znai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fznai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fznai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fznai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fznai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/testingisdocumenting","download_url":"https://codeload.github.com/testingisdocumenting/znai/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fznai/sbom","scorecard":{"id":875174,"data":{"date":"2025-08-11","repo":{"name":"github.com/testingisdocumenting/znai","commit":"d9ef0580c9ff8d1721fd47d9a5b9605bad110873"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"26 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci-build.yaml:1","Warn: no topLevel permission defined: .github/workflows/documentation-deploy.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-build.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/ci-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-build.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/ci-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci-build.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/ci-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-build.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/ci-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-build.yaml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/ci-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-build.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/ci-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation-deploy.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/documentation-deploy.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation-deploy.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/documentation-deploy.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/documentation-deploy.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/documentation-deploy.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/documentation-deploy.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/documentation-deploy.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation-deploy.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/testingisdocumenting/znai/documentation-deploy.yaml/master?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"44 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-hqq7-2q2v-82xq","Warn: Project is vulnerable to: GHSA-q8gg-vj6m-hgmj","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-2v5f-23xc-v9qr","Warn: Project is vulnerable to: GHSA-36jr-mh4h-2g58","Warn: Project is vulnerable to: GHSA-p3vf-v8qc-cwcr","Warn: Project is vulnerable to: GHSA-gx9m-whjm-85jf","Warn: Project is vulnerable to: GHSA-mmhx-hmjr-r674","Warn: Project is vulnerable to: GHSA-vhxf-7vqr-mrjg","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-x3vm-38hw-55wf","Warn: Project is vulnerable to: GHSA-m4gq-x24j-jpmf","Warn: Project is vulnerable to: GHSA-43qf-4rqw-9q2g","Warn: Project is vulnerable to: GHSA-7rxf-gvfg-47g4","Warn: Project is vulnerable to: GHSA-84pr-m4jr-85g5","Warn: Project is vulnerable to: GHSA-8vgw-p6qm-5gr7","Warn: Project is vulnerable to: PYSEC-2024-71 / GHSA-hxwh-jpp2-84pm","Warn: Project is vulnerable to: GHSA-h9mq-f6q5-6c8m","Warn: Project is vulnerable to: GHSA-p4qx-6w5p-4rj2","Warn: Project is vulnerable to: GHSA-v62j-cxhh-fq22","Warn: Project is vulnerable to: GHSA-pwm3-776c-8q7q","Warn: Project is vulnerable to: GHSA-5jpm-x58v-624v","Warn: Project is vulnerable to: GHSA-389x-839f-4rhx","Warn: Project is vulnerable to: GHSA-xq3w-v528-46rv","Warn: Project is vulnerable to: GHSA-6mjq-h674-j845","Warn: Project is vulnerable to: GHSA-4265-ccf5-phj5","Warn: Project is vulnerable to: GHSA-4g9r-vxhx-9pgx","Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v","Warn: Project is vulnerable to: GHSA-2jc4-r94c-rp7h","Warn: Project is vulnerable to: GHSA-mfj5-cf8g-g2fv","Warn: Project is vulnerable to: GHSA-4cx2-fc23-5wg6","Warn: Project is vulnerable to: GHSA-6xx3-rg99-gc3p","Warn: Project is vulnerable to: GHSA-8xfc-gm6g-vgpv","Warn: Project is vulnerable to: GHSA-hr8g-6v94-x4m9","Warn: Project is vulnerable to: GHSA-v435-xc8x-wvr9","Warn: Project is vulnerable to: GHSA-wjxj-5m7g-mg7q","Warn: Project is vulnerable to: GHSA-hmr7-m48g-48f6","Warn: Project is vulnerable to: GHSA-qh8g-58pp-2wxh","Warn: Project is vulnerable to: GHSA-g8m5-722r-8whq","Warn: Project is vulnerable to: GHSA-q4rv-gq96-w7c5"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T05:42:08.984Z","repository_id":37086319,"created_at":"2025-08-24T05:42:08.984Z","updated_at":"2025-08-24T05:42:08.984Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31869051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"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","github-pages","java","markdown","openapi","openapi3","python","rest-api","static-site-generator","userguide"],"created_at":"2024-09-30T15:10:19.957Z","updated_at":"2026-04-16T03:02:59.144Z","avatar_url":"https://github.com/testingisdocumenting.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord Server\n\nJoin `Testing Is Documenting` [Discord Server](https://discord.gg/aEHbzXTX6N) to ask questions and discuss features/bugs\n\n# Znai\n\nBuild functional, maintainable, beautiful User Guides with `Znai`.\n\n* Markdown with custom extensions and dozens of plugins: \n  * Content from external files with markers and filters support\n  * Simplified extraction of a function body content (working with examples) \n  * Embedding of JavaDoc/PyDoc documentation text, preserving styles\n  * Beautiful API documentation capabilities  \n  * Two Sides Page Layout Option with convenient example languages switch \n  * Rich visuals like flow diagrams, charts and cards\n  * etc\n* Instant pages navigation \n* Local search\n* Multiple integrations to work with Python, Java, OpenAPI, etc\n* Presentation Mode to automatically turn your documentation into slides, using the same content\n* Dark/Light runtime themes\n* Leverage automated test results to enrich your documentation with annotated images, REST responses, CLI outputs, etc\n* GitHub pages friendly\n\n![generated site example](znai-docs/readme/znai-overview.png)\n\nEmbedding of [External Resources](https://testingisdocumenting.org/znai/snippets/external-code-snippets) at build time\n\n![generated site example of external code](znai-docs/readme/znai-external-code.png)\n\nRich Visuals such as [Charts](https://testingisdocumenting.org/znai/visuals/charts),\n[Flow Diagrams](https://testingisdocumenting.org/znai/visuals/flow-diagrams) and\n[Cards](https://testingisdocumenting.org/znai/visuals/cards)\n\n![generated site example of charts](znai-docs/readme/znai-charts.png)\n\nDark/Light mode switching \n\n![generated site example of flow diagram](znai-docs/readme/znai-flow-diagram.png)\n\nCards support\n\n![generated site example of cards](znai-docs/readme/znai-cards.png)\n\nBeautiful way to document your API \n\n![generated site example of api params](znai-docs/readme/znai-api-parameters.png)\n\nUse [two sides](https://testingisdocumenting.org/znai/layout/two-sides-tabs) layout option to render examples and supporting information side by side\nwith convenient examples language switch\n\n![generated site example of two sides layout](znai-docs/readme/znai-two-sides-tabs.png)\n\nBlazing fast local search with results preview\n\n![generated site example of search](znai-docs/readme/znai-search.png)\n\nAutomatic Presentation from **the same content** with zero config\n\n![generated site example of presentation mode](znai-docs/readme/znai-presentation.png)\n\n# Preview\n\n`Znai` has a preview mode to automatically listen to local files changes. It automatically navigates to a page that was \nchanged (directly or indirectly) and highlights the changes.\n\n# Docs Hub\n\n`Znai` has a free, open-source enterprise support. You can host multiple documentations using single site. It provides\nlanding page to list all the company inner guides. \n\nIt also automatically detects documentations in the builds outputs and updates hosted documentations.\n\nExamples (including using Google Cloud) and setup documentation are coming. Please create a GitHub issue if you want\nto learn more about Enterprise setup. It will help me prioritize.  \n\n# Read More\n\n[Znai documentation website built with Znai](https://testingisdocumenting.org/znai/)\n\nFor curios, znai word meaning: `znai` is a `to know` in Ukranian and is a prefix for words like `knoweldge` are built on.\n\n# Developers Setup\n\n[Local Build](https://testingisdocumenting.org/znai/znai-development/local-build)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestingisdocumenting%2Fznai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftestingisdocumenting%2Fznai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestingisdocumenting%2Fznai/lists"}