From c9f7b224b30ddaf58e071793e408731ea1621687 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 14:13:20 +0000 Subject: [PATCH 1/3] Add VS Code plugin and script to auto-add GitHub stars badges - Created a VS Code extension in `vscode-plugin/` that adds GitHub stars badges to repository links. - Created `scripts/add_stars.py` to perform the same task via command line. - Updated `README.md` using the script to add missing badges. - Removed the TODO item from `README.md`. Co-authored-by: pengqun <971005+pengqun@users.noreply.github.com> --- README.md | 207 ++++++++++++++++----------------- scripts/add_stars.py | 55 +++++++++ vscode-plugin/package.json | 45 +++++++ vscode-plugin/src/extension.ts | 57 +++++++++ vscode-plugin/tsconfig.json | 17 +++ 5 files changed, 277 insertions(+), 104 deletions(-) create mode 100644 scripts/add_stars.py create mode 100644 vscode-plugin/package.json create mode 100644 vscode-plugin/src/extension.ts create mode 100644 vscode-plugin/tsconfig.json diff --git a/README.md b/README.md index 8babaed..0132378 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ @@ -91,8 +90,8 @@ Answers frequently asked questions to quickly resolve common issues or clarify t Assist users in understanding and navigating the features and functionalities of the app directly from within its interface. -- [Driver.js](https://github.com/kamranahmedse/driver.js) - A light-weight, no-dependency, vanilla JavaScript engine to drive the user's focus across the page. -- [Shepherd](https://github.com/shepherd-pro/shepherd) - Guide your users through a tour of your app. +- [Driver.js](https://github.com/kamranahmedse/driver.js) ![GitHub Repo stars](https://img.shields.io/github/stars/kamranahmedse/driver.js) - A light-weight, no-dependency, vanilla JavaScript engine to drive the user's focus across the page. +- [Shepherd](https://github.com/shepherd-pro/shepherd) ![GitHub Repo stars](https://img.shields.io/github/stars/shepherd-pro/shepherd) - Guide your users through a tour of your app. #### Others @@ -110,20 +109,20 @@ Assist users in understanding and navigating the features and functionalities of - [Template Download](https://arc42.org/download#format-overview) - The arc42 template in various formats, including docx, asciidoc, markdown, latex, rst, html, Confluence, etc. - [Example: HTML Sanity Checker](https://hsc.aim42.org/documentation/hsc_arc42) - Verbose example for the documentation of a Gradle plugin, created by Dr. Gernot Starke. - [Example: biking](https://biking.michael-simons.eu/docs/index.html) - A real world example for a bike activity tracker, created by Michael Simons. - - [Example: arc42 + C4 model](https://github.com/bitsmuggler/arc42-c4-software-architecture-documentation-example) - Shows how to use arc42 in combination with the C4 model with the Documentation as Code technique. - - [docToolchain](https://github.com/doctoolchain/doctoolchainb) - An implementation of the docs-as-code approach for software architecture, which use arc42 as template. + - [Example: arc42 + C4 model](https://github.com/bitsmuggler/arc42-c4-software-architecture-documentation-example) ![GitHub Repo stars](https://img.shields.io/github/stars/bitsmuggler/arc42-c4-software-architecture-documentation-example) - Shows how to use arc42 in combination with the C4 model with the Documentation as Code technique. + - [docToolchain](https://github.com/doctoolchain/doctoolchainb) ![GitHub Repo stars](https://img.shields.io/github/stars/doctoolchain/doctoolchainb) - An implementation of the docs-as-code approach for software architecture, which use arc42 as template. - [The Ultimate Guide To Software Architecture Documentation](https://www.workingsoftware.dev/software-architecture-documentation-the-ultimate-guide/) - Write, structure, visualize and manage software architecture documentation in a lean way using appropriate documentation tools, including arc42. - [C4 model](https://c4model.com) - The C4 model for visualizing software architecture using Context, Containers, Components, and Code. - - [c4-draw.io](https://github.com/tobiashochguertel/c4-draw.io) - A C4 Modelling plugin for draw.io, which provides C4 Notation Elements in draw.io. - - [C4-PlantUML](https://github.com/plantuml-stdlib/C4-PlantUML) - Includes macros, stereotypes, and other goodies (like VSCode Snippets) for creating C4 diagrams with PlantUML. + - [c4-draw.io](https://github.com/tobiashochguertel/c4-draw.io) ![GitHub Repo stars](https://img.shields.io/github/stars/tobiashochguertel/c4-draw.io) - A C4 Modelling plugin for draw.io, which provides C4 Notation Elements in draw.io. + - [C4-PlantUML](https://github.com/plantuml-stdlib/C4-PlantUML) ![GitHub Repo stars](https://img.shields.io/github/stars/plantuml-stdlib/C4-PlantUML) - Includes macros, stereotypes, and other goodies (like VSCode Snippets) for creating C4 diagrams with PlantUML. - [C4 Diagrams | Mermaid](https://mermaid.js.org/syntax/c4.html) - Mermaid's C4 diagram syntax is compatible with plantUML. - [Structurizr](https://github.com/structurizr) - C4 models as code - visualise and document your software architecture with the C4 model. - - [C4-Builder](https://github.com/adrianvlupu/C4-Builder) - A lightweight Node.js cli tool for building, maintaining and sharing a software architecture project using only text. - - [C4Sharp](https://github.com/8T4/c4sharp) - A .net library for building diagrams as code, based on C4 Model. - - [Goa Design - Model](https://github.com/goadesign/model) - Create your software architecture models and diagrams in Go. The Model DSL is implemented in Go and follows the C4 Model. + - [C4-Builder](https://github.com/adrianvlupu/C4-Builder) ![GitHub Repo stars](https://img.shields.io/github/stars/adrianvlupu/C4-Builder) - A lightweight Node.js cli tool for building, maintaining and sharing a software architecture project using only text. + - [C4Sharp](https://github.com/8T4/c4sharp) ![GitHub Repo stars](https://img.shields.io/github/stars/8T4/c4sharp) - A .net library for building diagrams as code, based on C4 Model. + - [Goa Design - Model](https://github.com/goadesign/model) ![GitHub Repo stars](https://img.shields.io/github/stars/goadesign/model) - Create your software architecture models and diagrams in Go. The Model DSL is implemented in Go and follows the C4 Model. -- [Log4brains](https://github.com/thomvaill/log4brains) - Log Architecture Decision Records (ADR) right from your IDE and to publish them automatically as a static website. +- [Log4brains](https://github.com/thomvaill/log4brains) ![GitHub Repo stars](https://img.shields.io/github/stars/thomvaill/log4brains) - Log Architecture Decision Records (ADR) right from your IDE and to publish them automatically as a static website. - [Design Docs at Google](https://www.industrialempathy.com/posts/design-docs-at-google/) - Overview of how software design docs are used and written at Google. ### API Documentation @@ -133,25 +132,25 @@ Assist users in understanding and navigating the features and functionalities of #### General - [API Reference template](https://gitlab.com/tgdp/templates/-/blob/main/api-reference/template-api-reference.md) - Open-source template provided by The Good Docs Project. -- [Slate](https://github.com/slatedocs/slate) - Beautiful static documentation for your API. - - [Widdershins](https://github.com/Mermade/widdershins) - OpenAPI / Swagger / AsyncAPI / Semoasa definition to Slate / ReSlate compatible markdown. -- [DevDocs](https://github.com/freeCodeCamp/devdocs) - Combines multiple developer documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more. -- [Zeal](https://github.com/zealdocs/zeal) - Offline documentation browser inspired by Dash. -- [apiDoc](https://github.com/apidoc/apidoc) - RESTful web API Documentation Generator. +- [Slate](https://github.com/slatedocs/slate) ![GitHub Repo stars](https://img.shields.io/github/stars/slatedocs/slate) - Beautiful static documentation for your API. + - [Widdershins](https://github.com/Mermade/widdershins) ![GitHub Repo stars](https://img.shields.io/github/stars/Mermade/widdershins) - OpenAPI / Swagger / AsyncAPI / Semoasa definition to Slate / ReSlate compatible markdown. +- [DevDocs](https://github.com/freeCodeCamp/devdocs) ![GitHub Repo stars](https://img.shields.io/github/stars/freeCodeCamp/devdocs) - Combines multiple developer documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more. +- [Zeal](https://github.com/zealdocs/zeal) ![GitHub Repo stars](https://img.shields.io/github/stars/zealdocs/zeal) - Offline documentation browser inspired by Dash. +- [apiDoc](https://github.com/apidoc/apidoc) ![GitHub Repo stars](https://img.shields.io/github/stars/apidoc/apidoc) - RESTful web API Documentation Generator. #### OpenAPI [OpenAPI Specification](https://swagger.io/specification/) defines a standard, language-agnostic interface to HTTP APIs. An OpenAPI definition can then be used by documentation generation tools to display the API. -- [Swagger UI](https://github.com/swagger-api/swagger-ui) - Dynamically generate beautiful documentation from a Swagger-compliant API. +- [Swagger UI](https://github.com/swagger-api/swagger-ui) ![GitHub Repo stars](https://img.shields.io/github/stars/swagger-api/swagger-ui) - Dynamically generate beautiful documentation from a Swagger-compliant API. - [Swagger Petstore](https://petstore3.swagger.io/) - A sample Pet Store Server based on the OpenAPI 3.0 specification. -- [Redoc](https://github.com/Redocly/redoc) - An open source tool for generating documentation from OpenAPI (formerly Swagger) definitions. -- [RapiDoc](https://github.com/rapi-doc/RapiDoc) - WebComponent Custom Element for OpenAPI Spec viewing. -- [Fern](https://github.com/fern-api/fern) - Generate SDKs and API documentation from OpenAPI definitions. -- [Elements](https://github.com/stoplightio/elements) - Beautiful API documentation powered by OpenAPI and Markdown. -- [Scalar](https://github.com/scalar/scalar) - Generate interactive API documentations from Swagger files. -- [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) - Generate API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3). -- [GitBook](https://github.com/GitbookIO/gitbook) - A modern platform for creating and managing interactive API documentation from OpenAPI definitions. +- [Redoc](https://github.com/Redocly/redoc) ![GitHub Repo stars](https://img.shields.io/github/stars/Redocly/redoc) - An open source tool for generating documentation from OpenAPI (formerly Swagger) definitions. +- [RapiDoc](https://github.com/rapi-doc/RapiDoc) ![GitHub Repo stars](https://img.shields.io/github/stars/rapi-doc/RapiDoc) - WebComponent Custom Element for OpenAPI Spec viewing. +- [Fern](https://github.com/fern-api/fern) ![GitHub Repo stars](https://img.shields.io/github/stars/fern-api/fern) - Generate SDKs and API documentation from OpenAPI definitions. +- [Elements](https://github.com/stoplightio/elements) ![GitHub Repo stars](https://img.shields.io/github/stars/stoplightio/elements) - Beautiful API documentation powered by OpenAPI and Markdown. +- [Scalar](https://github.com/scalar/scalar) ![GitHub Repo stars](https://img.shields.io/github/stars/scalar/scalar) - Generate interactive API documentations from Swagger files. +- [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) ![GitHub Repo stars](https://img.shields.io/github/stars/OpenAPITools/openapi-generator) - Generate API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3). +- [GitBook](https://github.com/GitbookIO/gitbook) ![GitHub Repo stars](https://img.shields.io/github/stars/GitbookIO/gitbook) - A modern platform for creating and managing interactive API documentation from OpenAPI definitions. - [xyd](https://xyd.dev/docs/guides/openapi) - Generate scalable API Docs from OpenAPI definitions easier. #### GraphQL @@ -159,34 +158,34 @@ Assist users in understanding and navigating the features and functionalities of [GraphQL](https://graphql.org/) is a query language for APIs, which provides a complete and understandable description of the data in your API. - [GitHub GraphQL API documentation](https://docs.github.com/en/graphql) - A great real world example of GraphQL API from GitHub. -- [SpectaQL](https://github.com/anvilco/spectaql) - A Node.js library that generates static documentation for a GraphQL schema. -- [GraphQLDocs](https://github.com/brettchalupa/graphql-docs) - Ruby library and CLI for easily generating beautiful documentation from your GraphQL schema. -- [Magidoc](https://github.com/magidoc-org/magidoc) - A a JavaScript library that auto-generates static documentation from any GraphQL schema. +- [SpectaQL](https://github.com/anvilco/spectaql) ![GitHub Repo stars](https://img.shields.io/github/stars/anvilco/spectaql) - A Node.js library that generates static documentation for a GraphQL schema. +- [GraphQLDocs](https://github.com/brettchalupa/graphql-docs) ![GitHub Repo stars](https://img.shields.io/github/stars/brettchalupa/graphql-docs) - Ruby library and CLI for easily generating beautiful documentation from your GraphQL schema. +- [Magidoc](https://github.com/magidoc-org/magidoc) ![GitHub Repo stars](https://img.shields.io/github/stars/magidoc-org/magidoc) - A a JavaScript library that auto-generates static documentation from any GraphQL schema. - [xyd](https://xyd.dev/docs/guides/graphql) - Generate scalable API Docs from GraphQL schema easier. #### gRPC [gRPC](https://grpc.io/) is a modern open source high performance Remote Procedure Call (RPC) framework. -- [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) - Generate HTML, JSON, DocBook, and Markdown documentation from comments in your .proto files. +- [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) ![GitHub Repo stars](https://img.shields.io/github/stars/pseudomuto/protoc-gen-doc) - Generate HTML, JSON, DocBook, and Markdown documentation from comments in your .proto files. - [Example](https://rawgit.com/pseudomuto/protoc-gen-doc/master/examples/doc/example.html) - A sample HTML documentation generated by protoc-gen-doc. -- [Sabledocs](https://github.com/markvincze/sabledocs) - A simple static documentation generator for Protobuf and gRPC contracts. +- [Sabledocs](https://github.com/markvincze/sabledocs) ![GitHub Repo stars](https://img.shields.io/github/stars/markvincze/sabledocs) - A simple static documentation generator for Protobuf and gRPC contracts. - [Example](https://markvincze.github.io/sabledocs/demo/) - A sample documentation created with sabledocs, from parts of the Protobuf contracts of the Google Cloud SDK. #### AsyncAPI [AsyncAPI Specification](https://www.asyncapi.com/docs/reference/specification/v3.0.0) is a project used to describe message-driven APIs in a machine-readable format, which can also be used to generate API documents. -- [Async API Generator](https://github.com/asyncapi/generator) - Use AsyncAPI definition to generate literally anything, including Markdown documentation and HTML documentation. -- [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) - Rendering documentation from your specification in real-time in the browser. -- [Petstore Kafka](https://github.com/swagger-api/petstore-kafka?tab=readme-ov-file#openapi-and-asyncapi) - A functional example for describing with AsyncAPI and OpenAPI. +- [Async API Generator](https://github.com/asyncapi/generator) ![GitHub Repo stars](https://img.shields.io/github/stars/asyncapi/generator) - Use AsyncAPI definition to generate literally anything, including Markdown documentation and HTML documentation. +- [AsyncAPI React Component](https://github.com/asyncapi/asyncapi-react) ![GitHub Repo stars](https://img.shields.io/github/stars/asyncapi/asyncapi-react) - Rendering documentation from your specification in real-time in the browser. +- [Petstore Kafka](https://github.com/swagger-api/petstore-kafka?tab=readme-ov-file#openapi-and-asyncapi) ![GitHub Repo stars](https://img.shields.io/github/stars/swagger-api/petstore-kafka?tab=readme-ov-file#openapi-and-asyncapi) - A functional example for describing with AsyncAPI and OpenAPI. #### RAML [RAML Specification](https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md/) provides mechanisms for defining practically-RESTful APIs, creating client/server source code, and comprehensively documenting the APIs for users. -- [API Console](https://github.com/mulesoft/api-console) - An interactive REST console based on RAML/OAS files. -- [RAML to HTML](https://github.com/raml2html/raml2html) - A simple RAML to HTML documentation generator, written for Node.js, with theme support. +- [API Console](https://github.com/mulesoft/api-console) ![GitHub Repo stars](https://img.shields.io/github/stars/mulesoft/api-console) - An interactive REST console based on RAML/OAS files. +- [RAML to HTML](https://github.com/raml2html/raml2html) ![GitHub Repo stars](https://img.shields.io/github/stars/raml2html/raml2html) - A simple RAML to HTML documentation generator, written for Node.js, with theme support. - [World Music API](https://rawgit.com/raml2html/default-theme/master/examples/world-music-api.html) - A live example using RAML to HTML documentation generator. ### Code Documentation @@ -195,10 +194,10 @@ Assist users in understanding and navigating the features and functionalities of README files are a staple of any code project. They provide the first introduction to a new codebase and help you share important project details with collaborators. -- [Best-README-Template](https://github.com/othneildrew/Best-README-Template) - An awesome README template to jumpstart your projects. -- [Awesome README](https://github.com/matiassingers/awesome-readme) - A curated list of awesome READMEs, including examples, articles and tools. +- [Best-README-Template](https://github.com/othneildrew/Best-README-Template) ![GitHub Repo stars](https://img.shields.io/github/stars/othneildrew/Best-README-Template) - An awesome README template to jumpstart your projects. +- [Awesome README](https://github.com/matiassingers/awesome-readme) ![GitHub Repo stars](https://img.shields.io/github/stars/matiassingers/awesome-readme) - A curated list of awesome READMEs, including examples, articles and tools. - [README template](https://gitlab.com/tgdp/templates/-/blob/main/readme/template-readme.md) - Open-source template provided by The Good Docs Project. -- [readme.so](https://github.com/octokatherine/readme.so) - An online drag-and-drop editor to easily build READMEs. +- [readme.so](https://github.com/octokatherine/readme.so) ![GitHub Repo stars](https://img.shields.io/github/stars/octokatherine/readme.so) - An online drag-and-drop editor to easily build READMEs. #### Comments @@ -206,7 +205,7 @@ README files are a staple of any code project. They provide the first introducti - [Best practices for writing code comments](https://stackoverflow.blog/2021/12/23/best-practices-for-writing-code-comments/) - 9 rules to help you write better comments, providing examples and explaining how and when to apply them. - [The Engineer's Guide to Writing Meaningful Code Comments](https://stepsize.com/blog/the-engineers-guide-to-writing-code-comments) - Covers types of comments, when and how to write code comments, some best practices, and when not to write them. -- [NERD Commenter](https://github.com/preservim/nerdcommenter) - Vim plugin for intensely nerdy commenting powers. +- [NERD Commenter](https://github.com/preservim/nerdcommenter) ![GitHub Repo stars](https://img.shields.io/github/stars/preservim/nerdcommenter) - Vim plugin for intensely nerdy commenting powers. #### Error Messages @@ -217,56 +216,56 @@ README files are a staple of any code project. They provide the first introducti - [CONTRIBUTING template](https://gitlab.com/tgdp/templates/-/blob/main/contributing-guide/template-contributing-guide.md) - Open-source template provided by The Good Docs Project. - [Code Of Conduct template](https://gitlab.com/tgdp/templates/-/tree/main/code-of-conduct) - Open-source template provided by The Good Docs Project. - [Style guide template](https://gitlab.com/tgdp/templates/-/blob/main/style-guide/template-style-guide.md) - Open-source template provided by The Good Docs Project. -- [License templates](https://github.com/licenses/license-templates) - Templates for open source and other licenses. +- [License templates](https://github.com/licenses/license-templates) ![GitHub Repo stars](https://img.shields.io/github/stars/licenses/license-templates) - Templates for open source and other licenses. #### Language-specific - JavaScript - - [JSDoc](https://github.com/jsdoc/jsdoc) - An API documentation generator for JavaScript. - - [documentation.js](https://github.com/documentationjs/documentation) - The documentation system for modern JavaScript. - - [Docz](https://github.com/doczjs/docz) - Write and publish beautiful interactive documentation for your code. - - [Storybook](https://github.com/storybookjs/storybook) - A frontend workshop made for UI development, testing, and documentation. + - [JSDoc](https://github.com/jsdoc/jsdoc) ![GitHub Repo stars](https://img.shields.io/github/stars/jsdoc/jsdoc) - An API documentation generator for JavaScript. + - [documentation.js](https://github.com/documentationjs/documentation) ![GitHub Repo stars](https://img.shields.io/github/stars/documentationjs/documentation) - The documentation system for modern JavaScript. + - [Docz](https://github.com/doczjs/docz) ![GitHub Repo stars](https://img.shields.io/github/stars/doczjs/docz) - Write and publish beautiful interactive documentation for your code. + - [Storybook](https://github.com/storybookjs/storybook) ![GitHub Repo stars](https://img.shields.io/github/stars/storybookjs/storybook) - A frontend workshop made for UI development, testing, and documentation. - TypeScript - - [TSDoc](https://github.com/microsoft/tsdoc) - A doc comment standard for TypeScript. + - [TSDoc](https://github.com/microsoft/tsdoc) ![GitHub Repo stars](https://img.shields.io/github/stars/microsoft/tsdoc) - A doc comment standard for TypeScript. - Python - [Docstring Conventions](https://peps.python.org/pep-0257/) - This PEP documents the semantics and conventions associated with Python docstrings. - [Comments and Docstrings](https://github.com/google/styleguide/blob/gh-pages/pyguide.md#38-comments-and-docstrings) - From Google Python Style Guide. - [Documenting Python Code: A Complete Guide](https://realpython.com/documenting-python-code/#commenting-vs-documenting-code) - Covering differences between commenting and documenting, use of docstrings, and guidelines for documenting Python projects. - PHP - - [phpDocumentor](https://github.com/phpDocumentor/phpDocumentor) - The de-facto documentation tool for PHP projects, offering a robust solution for generating comprehensive documentation effortlessly. + - [phpDocumentor](https://github.com/phpDocumentor/phpDocumentor) ![GitHub Repo stars](https://img.shields.io/github/stars/phpDocumentor/phpDocumentor) - The de-facto documentation tool for PHP projects, offering a robust solution for generating comprehensive documentation effortlessly. - C# - - [Docfx](https://github.com/dotnet/docfx) - Static site generator for .NET API documentation. + - [Docfx](https://github.com/dotnet/docfx) ![GitHub Repo stars](https://img.shields.io/github/stars/dotnet/docfx) - Static site generator for .NET API documentation. - C++ - - [Doxygen](https://github.com/doxygen/doxygen) - The de facto standard tool for generating documentation from annotated C++ sources. + - [Doxygen](https://github.com/doxygen/doxygen) ![GitHub Repo stars](https://img.shields.io/github/stars/doxygen/doxygen) - The de facto standard tool for generating documentation from annotated C++ sources. - Java - [JavaDoc](https://en.wikipedia.org/wiki/Javadoc) - A documentation generator created by Sun Microsystems for the Java language (now owned by Oracle Corporation) for generating API documentation in HTML format from Java source code. - - [Maven Javadoc Plugin](https://github.com/apache/maven-javadoc-plugin) - Uses the Javadoc tool to generate javadocs for the specified project. + - [Maven Javadoc Plugin](https://github.com/apache/maven-javadoc-plugin) ![GitHub Repo stars](https://img.shields.io/github/stars/apache/maven-javadoc-plugin) - Uses the Javadoc tool to generate javadocs for the specified project. - [javadoc.io](https://javadoc.io/) - A free service that indexes and serves JavaDoc for Maven Central. - Kotlin - - [Dokka](https://github.com/Kotlin/dokka) - An API documentation engine for Kotlin. + - [Dokka](https://github.com/Kotlin/dokka) ![GitHub Repo stars](https://img.shields.io/github/stars/Kotlin/dokka) - An API documentation engine for Kotlin. - Go - [Go Doc Comments](https://go.dev/doc/comment) - Extract documentation from Go source code. - - [Swag](https://github.com/swaggo/swag) - Cconverts Go annotations to Swagger Documentation 2.0. + - [Swag](https://github.com/swaggo/swag) ![GitHub Repo stars](https://img.shields.io/github/stars/swaggo/swag) - Cconverts Go annotations to Swagger Documentation 2.0. - Rust - [Rustdoc](https://doc.rust-lang.org/nightly/rustdoc/) - Generate documentation for Rust projects. - - [Docs.rs](https://github.com/rust-lang/docs.rs) - An open source project to host documentation of crates for the Rust Programming Language. + - [Docs.rs](https://github.com/rust-lang/docs.rs) ![GitHub Repo stars](https://img.shields.io/github/stars/rust-lang/docs.rs) - An open source project to host documentation of crates for the Rust Programming Language. - Ruby - [TomDoc for Ruby](http://tomdoc.org/) - A code documentation specification that helps you write precise documentation that is nice to read in plain text, yet structured enough to be automatically extracted and processed by a machine. - Perl - [perlpod](https://perldoc.perl.org/perlpod) - The Plain Old Documentation format - a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules. - SQL - - [SchemaSpy](https://github.com/schemaspy/schemaspy) - Document your database simply and easily. + - [SchemaSpy](https://github.com/schemaspy/schemaspy) ![GitHub Repo stars](https://img.shields.io/github/stars/schemaspy/schemaspy) - Document your database simply and easily. - CSS ### Test Documentation - Test Plans - - [IEEE Test Plan Template](https://github.com/JennifferLockwood/test_plan_template) - IEEE 829 templates in HTML5 and Markdown formats. + - [IEEE Test Plan Template](https://github.com/JennifferLockwood/test_plan_template) ![GitHub Repo stars](https://img.shields.io/github/stars/JennifferLockwood/test_plan_template) - IEEE 829 templates in HTML5 and Markdown formats. - [SONiC Test Plan Template](https://github.com/sonic-net/SONiC/blob/master/doc/SONiC%20Test%20Plan%20Template.md) - A test plan template from Software for Open Networking in the Cloud (SONiC). - [Writing Test Plan Items | VS Code](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) - A guide for writing Test Plan Item (TPI) for VS Code project. - [Performance Test Plan Document](https://www.perfmatrix.com/performance-test-plan-document-template/) - A free .docx template for performance test plan from PerfMatrix. - Test Cases - - [TestCases and Templates for Manual Software Testing](https://github.com/mfaisalkhatri/Manual_Testing) - General Test Cases for performing Manual Testing and API Testing on the Web/Mobile application. + - [TestCases and Templates for Manual Software Testing](https://github.com/mfaisalkhatri/Manual_Testing) ![GitHub Repo stars](https://img.shields.io/github/stars/mfaisalkhatri/Manual_Testing) - General Test Cases for performing Manual Testing and API Testing on the Web/Mobile application. - [Test Case Template (Download Sample Excel)](https://www.guru99.com/download-sample-test-case-template-with-explanation-of-important-fields.html) - A free test case template from Guru99, with both Excel and Word formats. - [Test Case Template with Examples: Free Excel & Word Sample for Download](https://katalon.com/resources-center/blog/test-case-template-examples) - A free test case template from Katalon, with guidelines and direct download links. - Test Report @@ -296,7 +295,7 @@ README files are a staple of any code project. They provide the first introducti - [mdBook](https://github.com/rust-lang/mdBook) ![GitHub Repo stars](https://img.shields.io/github/stars/rust-lang/mdBook) - Create book from markdown files. Like Gitbook but implemented in Rust. - [Sphinx](https://github.com/sphinx-doc/sphinx) ![GitHub Repo stars](https://img.shields.io/github/stars/sphinx-doc/sphinx) - Make it easy to create intelligent and beautiful documentation. - [Read the Docs](https://about.readthedocs.com/) - Hosts documentation for the open source community, which supports Sphinx docs written with reStructuredText. -- [Markdoc](https://github.com/markdoc/markdoc) - A Markdown-based syntax and toolchain for creating custom documentation sites and experiences. +- [Markdoc](https://github.com/markdoc/markdoc) ![GitHub Repo stars](https://img.shields.io/github/stars/markdoc/markdoc) - A Markdown-based syntax and toolchain for creating custom documentation sites and experiences. - [Starlight](https://github.com/withastro/starlight) ![GitHub Repo stars](https://img.shields.io/github/stars/withastro/starlight) - Build beautiful, accessible, high-performance documentation websites with Astro. - [Docco](https://github.com/jashkenas/docco) ![GitHub Repo stars](https://img.shields.io/github/stars/jashkenas/docco) - A quick-and-dirty, hundred-line-long, literate-programming-style documentation generator. - [bookdown](https://github.com/rstudio/bookdown) ![GitHub Repo stars](https://img.shields.io/github/stars/rstudio/bookdown) - Authoring Books and Technical Documents with R Markdown. @@ -306,55 +305,55 @@ README files are a staple of any code project. They provide the first introducti ### Wiki Builder -- [Wiki.js](https://github.com/Requarks/wiki) - A modern and powerful wiki app built on Node.js. -- [MediaWiki](https://github.com/wikimedia/mediawiki) - A free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects. -- [DokuWiki](https://github.com/dokuwiki/dokuwiki) - A simple to use and highly versatile Open Source wiki software that doesn't require a database. -- [Gollum](https://github.com/gollum/gollum) - A simple wiki system built on top of Git. -- [VimWiki](https://github.com/vimwiki/vimwiki) - A a personal wiki for Vim, which can be used to write documentation. +- [Wiki.js](https://github.com/Requarks/wiki) ![GitHub Repo stars](https://img.shields.io/github/stars/Requarks/wiki) - A modern and powerful wiki app built on Node.js. +- [MediaWiki](https://github.com/wikimedia/mediawiki) ![GitHub Repo stars](https://img.shields.io/github/stars/wikimedia/mediawiki) - A free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects. +- [DokuWiki](https://github.com/dokuwiki/dokuwiki) ![GitHub Repo stars](https://img.shields.io/github/stars/dokuwiki/dokuwiki) - A simple to use and highly versatile Open Source wiki software that doesn't require a database. +- [Gollum](https://github.com/gollum/gollum) ![GitHub Repo stars](https://img.shields.io/github/stars/gollum/gollum) - A simple wiki system built on top of Git. +- [VimWiki](https://github.com/vimwiki/vimwiki) ![GitHub Repo stars](https://img.shields.io/github/stars/vimwiki/vimwiki) - A a personal wiki for Vim, which can be used to write documentation. - [GitHub Wiki](https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis) - - [Awesome GitHub Wikis](https://github.com/MyHoneyBadger/awesome-github-wiki) - A curated list of awesome GitHub Wikis, including examples, tips and tricks. + - [Awesome GitHub Wikis](https://github.com/MyHoneyBadger/awesome-github-wiki) ![GitHub Repo stars](https://img.shields.io/github/stars/MyHoneyBadger/awesome-github-wiki) - A curated list of awesome GitHub Wikis, including examples, tips and tricks. - [Federated Wiki](https://www.wikiwand.com/en/Federated_Wiki) - [The Federated Wiki](https://www.writethedocs.org/videos/na/2015/keynote-the-federated-wiki-ward-cunningham/) - Use federation to ease sharing, by Ward Cunningham. - - [Node.js server version](https://github.com/fedwiki/wiki) - Federated Wiki node server as npm package. + - [Node.js server version](https://github.com/fedwiki/wiki) ![GitHub Repo stars](https://img.shields.io/github/stars/fedwiki/wiki) - Federated Wiki node server as npm package. ### Knowledge Base -- [Documize](https://github.com/documize/community) - Modern Confluence alternative designed for internal & external docs. -- [Trilium Notes](https://github.com/zadam/trilium) - A hierarchical note taking application with focus on building large personal knowledge bases. -- [Seafile](https://github.com/haiwen/seafile) - High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features. -- [Logseq](https://github.com/logseq/logseq) - A privacy-first, open-source platform for knowledge management and collaboration. -- [MrDoc](https://github.com/zmister2016/MrDoc) - An online document system suitable for individuals and small teams to manage documents, wiki, knowledge and notes. -- [AFFiNE](https://github.com/toeverything/AFFiNE) - A next-gen knowledge base that brings planning, sorting and creating all together. -- [Docmost](https://github.com/docmost/docmost) - An open-source collaborative wiki and documentation software. It is an open-source alternative to Confluence and Notion. +- [Documize](https://github.com/documize/community) ![GitHub Repo stars](https://img.shields.io/github/stars/documize/community) - Modern Confluence alternative designed for internal & external docs. +- [Trilium Notes](https://github.com/zadam/trilium) ![GitHub Repo stars](https://img.shields.io/github/stars/zadam/trilium) - A hierarchical note taking application with focus on building large personal knowledge bases. +- [Seafile](https://github.com/haiwen/seafile) ![GitHub Repo stars](https://img.shields.io/github/stars/haiwen/seafile) - High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features. +- [Logseq](https://github.com/logseq/logseq) ![GitHub Repo stars](https://img.shields.io/github/stars/logseq/logseq) - A privacy-first, open-source platform for knowledge management and collaboration. +- [MrDoc](https://github.com/zmister2016/MrDoc) ![GitHub Repo stars](https://img.shields.io/github/stars/zmister2016/MrDoc) - An online document system suitable for individuals and small teams to manage documents, wiki, knowledge and notes. +- [AFFiNE](https://github.com/toeverything/AFFiNE) ![GitHub Repo stars](https://img.shields.io/github/stars/toeverything/AFFiNE) - A next-gen knowledge base that brings planning, sorting and creating all together. +- [Docmost](https://github.com/docmost/docmost) ![GitHub Repo stars](https://img.shields.io/github/stars/docmost/docmost) - An open-source collaborative wiki and documentation software. It is an open-source alternative to Confluence and Notion. ### AI-powered Tools -- [Mintlify Writer](https://github.com/mintlify/writer) - An AI-powered VS Code extension that automatically generates code documentation by highlighting code. Supports multiple programming languages and docstring formats including JSDoc, reST, NumPy, and more. -- [Readme AI](https://github.com/eli64s/readme-ai) - A developer tool that automatically generates comprehensive README files using repository analysis and language models. It supports multiple LLM providers, custom templates, and offline generation. +- [Mintlify Writer](https://github.com/mintlify/writer) ![GitHub Repo stars](https://img.shields.io/github/stars/mintlify/writer) - An AI-powered VS Code extension that automatically generates code documentation by highlighting code. Supports multiple programming languages and docstring formats including JSDoc, reST, NumPy, and more. +- [Readme AI](https://github.com/eli64s/readme-ai) ![GitHub Repo stars](https://img.shields.io/github/stars/eli64s/readme-ai) - A developer tool that automatically generates comprehensive README files using repository analysis and language models. It supports multiple LLM providers, custom templates, and offline generation. - [GitBook AI](https://www.gitbook.com/solutions/ai) - A built-in AI assistant that helps teams quickly draft, refine, and enhance product documentation with smart, context-aware suggestions. ### Checker & Formatter -- [LanguageTool](https://github.com/languagetool-org/languagetool) - Style and Grammar Checker for 25+ Languages. -- [Spellcheck GitHub Actions](https://github.com/rojopolis/spellcheck-github-actions) - A GitHub Action that spell checks Python, Markdown, and Text files. -- [TeXtidote](https://github.com/sylvainhalle/textidote) - A correction tool for LaTeX documents and other formats. -- [alex](https://github.com/get-alex/alex) - Catch insensitive, inconsiderate writing. -- [Lychee](https://github.com/lycheeverse/lychee) - Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more. -- [linkinator](https://github.com/JustinBeckwith/linkinator) - A super simple site crawler and broken link checker. +- [LanguageTool](https://github.com/languagetool-org/languagetool) ![GitHub Repo stars](https://img.shields.io/github/stars/languagetool-org/languagetool) - Style and Grammar Checker for 25+ Languages. +- [Spellcheck GitHub Actions](https://github.com/rojopolis/spellcheck-github-actions) ![GitHub Repo stars](https://img.shields.io/github/stars/rojopolis/spellcheck-github-actions) - A GitHub Action that spell checks Python, Markdown, and Text files. +- [TeXtidote](https://github.com/sylvainhalle/textidote) ![GitHub Repo stars](https://img.shields.io/github/stars/sylvainhalle/textidote) - A correction tool for LaTeX documents and other formats. +- [alex](https://github.com/get-alex/alex) ![GitHub Repo stars](https://img.shields.io/github/stars/get-alex/alex) - Catch insensitive, inconsiderate writing. +- [Lychee](https://github.com/lycheeverse/lychee) ![GitHub Repo stars](https://img.shields.io/github/stars/lycheeverse/lychee) - Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more. +- [linkinator](https://github.com/JustinBeckwith/linkinator) ![GitHub Repo stars](https://img.shields.io/github/stars/JustinBeckwith/linkinator) - A super simple site crawler and broken link checker. - [Readability checker](https://www.thewriter.com/tools/readability) - Score your writing based on the Flesch reading ease scale, which looks at how long your words and sentences are. - [Capitalize My Title](https://capitalizemytitle.com/) - An easy, smart title capitalization tool that uses title capitalization rules published by leading professional organizations to ensure your titles and headlines are capitalized correctly. -- [CasePolice](https://github.com/antfu/case-police) - Scan all your source files and fix the cases of known names. +- [CasePolice](https://github.com/antfu/case-police) ![GitHub Repo stars](https://img.shields.io/github/stars/antfu/case-police) - Scan all your source files and fix the cases of known names. - [Tables Generator](https://www.tablesgenerator.com/) - Generate tables in HTML, Markdown, Latex, MediaWiki, etc. ### Diagramming One diagram is usually worth more than a thousand words. -- [Excalidraw](https://github.com/excalidraw/excalidraw) - An open source virtual hand-drawn style whiteboard for sketching hand-drawn like diagrams. -- [draw.io](https://github.com/jgraph/drawio) (Open Source) - A JavaScript, client-side editor for general diagramming. -- [Mermaid](https://github.com/mermaid-js/mermaid) - A diagramming and charting tool that renders Markdown-inspired text definitions to create charts. +- [Excalidraw](https://github.com/excalidraw/excalidraw) ![GitHub Repo stars](https://img.shields.io/github/stars/excalidraw/excalidraw) - An open source virtual hand-drawn style whiteboard for sketching hand-drawn like diagrams. +- [draw.io](https://github.com/jgraph/drawio) ![GitHub Repo stars](https://img.shields.io/github/stars/jgraph/drawio) (Open Source) - A JavaScript, client-side editor for general diagramming. +- [Mermaid](https://github.com/mermaid-js/mermaid) ![GitHub Repo stars](https://img.shields.io/github/stars/mermaid-js/mermaid) - A diagramming and charting tool that renders Markdown-inspired text definitions to create charts. - [Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor/) - A live editor for Mermaid diagrams. -- [PlantUML](https://github.com/plantuml/plantuml) - Allows users to create diagrams using a simple syntax. +- [PlantUML](https://github.com/plantuml/plantuml) ![GitHub Repo stars](https://img.shields.io/github/stars/plantuml/plantuml) - Allows users to create diagrams using a simple syntax. - [Lucidchart](https://www.lucidchart.com/) - Generate visuals automatically with AI and data imports, or build your own using intuitive diagramming tools. - [OmniGraffle](https://www.omnigroup.com/omnigraffle/) - A Mac-only diagramming tool that offers a wide range of features for creating diagrams. - [(Chinese) Architecture Diagramming: Tools and Methodologies](https://developer.aliyun.com/article/774446) - It discusses the benefits of using diagrams in architecture document, and highlights some standards and best practices. @@ -364,24 +363,24 @@ One diagram is usually worth more than a thousand words. Documentation can be more than just plain texts and static pictures. - Screen Recorder - - [Screenity](https://github.com/alyssaxuu/screenity) - The free and privacy-friendly screen recorder with no limits. - - [Kap](https://github.com/wulkano/kap) - An open-source screen recorder built with web technology. - - [rrweb](https://github.com/rrweb-io/rrweb) - A tool for recording and replaying users' interactions on the web. - - [ScreenToGif](https://github.com/NickeManarin/ScreenToGif) - Record a selected area of your screen, edit and save it as a gif or video. - - [Peek](https://github.com/phw/peek) - Simple animated GIF screen recorder with an easy to use interface. - - [Flameshot](https://github.com/flameshot-org/flameshot) - Powerful yet simple to use screenshot software. + - [Screenity](https://github.com/alyssaxuu/screenity) ![GitHub Repo stars](https://img.shields.io/github/stars/alyssaxuu/screenity) - The free and privacy-friendly screen recorder with no limits. + - [Kap](https://github.com/wulkano/kap) ![GitHub Repo stars](https://img.shields.io/github/stars/wulkano/kap) - An open-source screen recorder built with web technology. + - [rrweb](https://github.com/rrweb-io/rrweb) ![GitHub Repo stars](https://img.shields.io/github/stars/rrweb-io/rrweb) - A tool for recording and replaying users' interactions on the web. + - [ScreenToGif](https://github.com/NickeManarin/ScreenToGif) ![GitHub Repo stars](https://img.shields.io/github/stars/NickeManarin/ScreenToGif) - Record a selected area of your screen, edit and save it as a gif or video. + - [Peek](https://github.com/phw/peek) ![GitHub Repo stars](https://img.shields.io/github/stars/phw/peek) - Simple animated GIF screen recorder with an easy to use interface. + - [Flameshot](https://github.com/flameshot-org/flameshot) ![GitHub Repo stars](https://img.shields.io/github/stars/flameshot-org/flameshot) - Powerful yet simple to use screenshot software. - Audio Recorder - [Tenacity](https://codeberg.org/tenacityteam/tenacity) - An easy-to-use, privacy-friendly, FLOSS, cross-platform multi-track audio editor for Windows, macOS, Linux, and other operating systems. - Terminal Recorder - - [asciinema](https://github.com/asciinema/asciinema) - A command-line tool for recording terminal sessions. - - [Terminalizer](https://github.com/faressoft/terminalizer) - Record your terminal and generate animated gif images or share a web player. + - [asciinema](https://github.com/asciinema/asciinema) ![GitHub Repo stars](https://img.shields.io/github/stars/asciinema/asciinema) - A command-line tool for recording terminal sessions. + - [Terminalizer](https://github.com/faressoft/terminalizer) ![GitHub Repo stars](https://img.shields.io/github/stars/faressoft/terminalizer) - Record your terminal and generate animated gif images or share a web player. - Animation Builder - - [Animockup](https://github.com/alyssaxuu/animockup) - A web-based tool that helps you create animated mockups for your product teasers. + - [Animockup](https://github.com/alyssaxuu/animockup) ![GitHub Repo stars](https://img.shields.io/github/stars/alyssaxuu/animockup) - A web-based tool that helps you create animated mockups for your product teasers. - Presentation Tools - - [Slidev](https://github.com/slidevjs/slidev) - Presentation slides for developers. - - [reveal.js](https://github.com/hakimel/reveal.js) - Open source HTML presentation framework. - - [carbon](https://github.com/carbon-app/carbon) - Create and share beautiful images of your source code. - - [Code Hike](https://github.com/code-hike/codehike) - Helps you create a superior code reading experience, whether you are writing blog posts, documentation, tutorials, coding videos, or any type of technical content. + - [Slidev](https://github.com/slidevjs/slidev) ![GitHub Repo stars](https://img.shields.io/github/stars/slidevjs/slidev) - Presentation slides for developers. + - [reveal.js](https://github.com/hakimel/reveal.js) ![GitHub Repo stars](https://img.shields.io/github/stars/hakimel/reveal.js) - Open source HTML presentation framework. + - [carbon](https://github.com/carbon-app/carbon) ![GitHub Repo stars](https://img.shields.io/github/stars/carbon-app/carbon) - Create and share beautiful images of your source code. + - [Code Hike](https://github.com/code-hike/codehike) ![GitHub Repo stars](https://img.shields.io/github/stars/code-hike/codehike) - Helps you create a superior code reading experience, whether you are writing blog posts, documentation, tutorials, coding videos, or any type of technical content. - Free Icons & Images - [Unsplash](https://unsplash.com/) - Beautiful, free images and photos that you can download and use for any project. @@ -391,7 +390,7 @@ Documentation can be more than just plain texts and static pictures. ### Commercial - [Confluence](https://www.atlassian.com/software/confluence) - A powerful collaboration and project management software, which is widely used for enterprise documentation management. - - [Confluence in a Docker container](https://github.com/cptactionhank/docker-atlassian-confluence) - Atlassian Confluence wrapped in a Docker image. + - [Confluence in a Docker container](https://github.com/cptactionhank/docker-atlassian-confluence) ![GitHub Repo stars](https://img.shields.io/github/stars/cptactionhank/docker-atlassian-confluence) - Atlassian Confluence wrapped in a Docker image. - [Writerside | JetBrains](https://www.jetbrains.com/writerside/) - The most powerful development environment – now adapted for writing documentation. - [Project documentation | Slite](https://slite.com/solutions/project-documentation) - Brings your scattered project documents into one place: from project plans, to specs and process documentation. @@ -408,21 +407,21 @@ from project plans, to specs and process documentation. ### Examples -- [Beautiful Docs](https://github.com/matheusfelipeog/beautiful-docs.git) - Pointers to useful, well-written, and otherwise beautiful documentation. -- [Awesome Open Source Documents](https://github.com/44bits/awesome-opensource-documents) - A curated list of awesome open source or open source licensed documents, guides, books. -- [Awesome Documentation | vipulgupta2048](https://github.com/vipulgupta2048/awesome-documentation) - A curated list of awesome real-life documentation examples. +- [Beautiful Docs](https://github.com/matheusfelipeog/beautiful-docs.git) ![GitHub Repo stars](https://img.shields.io/github/stars/matheusfelipeog/beautiful-docs.git) - Pointers to useful, well-written, and otherwise beautiful documentation. +- [Awesome Open Source Documents](https://github.com/44bits/awesome-opensource-documents) ![GitHub Repo stars](https://img.shields.io/github/stars/44bits/awesome-opensource-documents) - A curated list of awesome open source or open source licensed documents, guides, books. +- [Awesome Documentation | vipulgupta2048](https://github.com/vipulgupta2048/awesome-documentation) ![GitHub Repo stars](https://img.shields.io/github/stars/vipulgupta2048/awesome-documentation) - A curated list of awesome real-life documentation examples. - [9 Great API and Developer Documentation Examples](https://everydeveloper.com/developer-documentation-examples/) - Cover common areas of documentation, plus some areas you might not typically see called docs. ### Formats - Converters - [Pandoc](https://pandoc.org/) - A universal document converter, which can convert files from one markup format into another. - - [Mammoth](https://github.com/mwilliamson/mammoth.js) - Convert Word documents (.docx files) to HTML. + - [Mammoth](https://github.com/mwilliamson/mammoth.js) ![GitHub Repo stars](https://img.shields.io/github/stars/mwilliamson/mammoth.js) - Convert Word documents (.docx files) to HTML. - [Markdown](https://www.wikiwand.com/en/Markdown) - A lightweight markup language for creating formatted text using a plain-text editor. - - [MarkText](https://github.com/marktext/marktext) - A simple and elegant markdown editor, available for Linux, macOS and Windows. - - [Glow](https://github.com/charmbracelet/glow) - A terminal based markdown reader, which can be used to read documentation directly on the command line. + - [MarkText](https://github.com/marktext/marktext) ![GitHub Repo stars](https://img.shields.io/github/stars/marktext/marktext) - A simple and elegant markdown editor, available for Linux, macOS and Windows. + - [Glow](https://github.com/charmbracelet/glow) ![GitHub Repo stars](https://img.shields.io/github/stars/charmbracelet/glow) - A terminal based markdown reader, which can be used to read documentation directly on the command line. - [AsciiDoc](https://asciidoc.org) - A plain text markup language for writing technical content. - - [Asciidoctor](https://github.com/asciidoctor/asciidoctor) - A fast, open source, Ruby-based text processor for parsing AsciiDoc and converting it to output formats such as HTML 5, DocBook 5, manual pages, PDF, EPUB 3, and other formats. + - [Asciidoctor](https://github.com/asciidoctor/asciidoctor) ![GitHub Repo stars](https://img.shields.io/github/stars/asciidoctor/asciidoctor) - A fast, open source, Ruby-based text processor for parsing AsciiDoc and converting it to output formats such as HTML 5, DocBook 5, manual pages, PDF, EPUB 3, and other formats. - [Antora](https://gitlab.com/antora/antora) - A modular documentation site generator that helps you organize and publish content written in AsciiDoc to the web. - [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html) - The default plaintext markup language used by Sphinx. - [DocBook](https://docbook.org/) - An XML schema for writing books and manuals about technical subjects. @@ -477,7 +476,7 @@ from project plans, to specs and process documentation. - [Website Accessibility Checker](https://www.accessibilitychecker.org/) - Scan your website for free, identify accessbility issues, and get exact instructions on how to fix them. - [Color Contrast Checker](https://www.accessibilitychecker.org/color-contrast-checker/) - Find out whether your site meets WCAG color requirements. - [WebAIM](https://webaim.org/) - Web accessibility in mind. -- [Pa11y](https://github.com/pa11y/pa11y) - Runs accessibility tests on your doc pages via the command line or Node.js. +- [Pa11y](https://github.com/pa11y/pa11y) ![GitHub Repo stars](https://img.shields.io/github/stars/pa11y/pa11y) - Runs accessibility tests on your doc pages via the command line or Node.js. - [Create accessible documents | UW Madison](https://it.wisc.edu/learn/make-it-accessible/create-accessible-documents/) - Follow these basic steps to increase the accessibility of your Word, HTML, PowerPoint and PDF documents. ### SEO diff --git a/scripts/add_stars.py b/scripts/add_stars.py new file mode 100644 index 0000000..4a5481b --- /dev/null +++ b/scripts/add_stars.py @@ -0,0 +1,55 @@ +import sys +import re + +def add_stars(filepath): + try: + with open(filepath, 'r', encoding='utf-8') as f: + content = f.read() + except FileNotFoundError: + print(f"File not found: {filepath}") + return + + # Regex to match [Name](https://github.com/Owner/Repo) + # Group 1: Name + # Group 2: Full URL + # Group 3: Owner + # Group 4: Repo + # We use a strict regex that expects no trailing path after repo name + pattern = r'\[([^\]]+)\]\((https:\/\/github\.com\/([^/]+)\/([^/)]+))\)' + + def replacer(match): + full_match = match.group(0) + start = match.start() + end = match.end() + + # Check if it's an image link (starts with !) + if start > 0 and content[start - 1] == '!': + return full_match + + # Check if already followed by a badge or image (starts with ![) + next_text = content[end:] + if re.match(r'^\s*!\[', next_text): + return full_match + + owner = match.group(3) + repo = match.group(4) + + # Construct badge + badge = f" ![GitHub Repo stars](https://img.shields.io/github/stars/{owner}/{repo})" + return full_match + badge + + new_content = re.sub(pattern, replacer, content) + + if new_content != content: + with open(filepath, 'w', encoding='utf-8') as f: + f.write(new_content) + print(f"Updated {filepath}") + else: + print(f"No changes needed for {filepath}") + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Usage: python3 add_stars.py ") + sys.exit(1) + + add_stars(sys.argv[1]) diff --git a/vscode-plugin/package.json b/vscode-plugin/package.json new file mode 100644 index 0000000..6275fdf --- /dev/null +++ b/vscode-plugin/package.json @@ -0,0 +1,45 @@ +{ + "name": "awesome-docs-stars", + "displayName": "Awesome Docs Stars", + "description": "Automatically add GitHub stars badge to repo link in markdown.", + "version": "0.0.1", + "engines": { + "vscode": "^1.74.0" + }, + "categories": [ + "Other" + ], + "activationEvents": [ + "onLanguage:markdown" + ], + "main": "./out/extension.js", + "contributes": { + "commands": [ + { + "command": "awesome-docs-stars.addStars", + "title": "Add GitHub Stars Badges" + } + ] + }, + "scripts": { + "vscode:prepublish": "npm run compile", + "compile": "tsc -p ./", + "watch": "tsc -watch -p ./", + "pretest": "npm run compile && npm run lint", + "lint": "eslint src --ext ts", + "test": "node ./out/test/runTest.js" + }, + "devDependencies": { + "@types/vscode": "^1.74.0", + "@types/glob": "^8.0.0", + "@types/mocha": "^10.0.1", + "@types/node": "16.x", + "@typescript-eslint/eslint-plugin": "^5.45.0", + "@typescript-eslint/parser": "^5.45.0", + "eslint": "^8.28.0", + "glob": "^8.0.3", + "mocha": "^10.1.0", + "typescript": "^4.9.3", + "@vscode/test-electron": "^2.2.0" + } +} diff --git a/vscode-plugin/src/extension.ts b/vscode-plugin/src/extension.ts new file mode 100644 index 0000000..abc5977 --- /dev/null +++ b/vscode-plugin/src/extension.ts @@ -0,0 +1,57 @@ +import * as vscode from 'vscode'; + +export function activate(context: vscode.ExtensionContext) { + let disposable = vscode.commands.registerCommand('awesome-docs-stars.addStars', () => { + const editor = vscode.window.activeTextEditor; + if (!editor) { + return; + } + + const document = editor.document; + + editor.edit(editBuilder => { + const text = document.getText(); + // Regex to find GitHub repo links: [Title](https://github.com/owner/repo) + // It captures: + // 1. Title + // 2. Full URL + // 3. Owner + // 4. Repo + // We use a simplified regex that expects strict format https://github.com/Owner/Repo without trailing path + const regex = /\[([^\]]+)\]\((https:\/\/github\.com\/([^/]+)\/([^/)]+))\)/g; + let match; + + while ((match = regex.exec(text)) !== null) { + // check for preceding '!' (image) + if (match.index > 0 && text[match.index - 1] === '!') { + continue; + } + + const matchEndIndex = match.index + match[0].length; + const nextText = text.substring(matchEndIndex); + + // Check if already followed by a badge or similar image + // We look for optional whitespace then ![ + // This prevents double insertion + if (/^\s*!\[/.test(nextText)) { + continue; + } + + const owner = match[3]; + const repo = match[4]; + + // Construct badge + // Badge format: ![GitHub Repo stars](https://img.shields.io/github/stars/Owner/Repo) + const badge = ` ![GitHub Repo stars](https://img.shields.io/github/stars/${owner}/${repo})`; + + // Insert at the end of the match + const position = document.positionAt(matchEndIndex); + editBuilder.insert(position, badge); + } + }); + }); + + context.subscriptions.push(disposable); +} + +export function deactivate() {} diff --git a/vscode-plugin/tsconfig.json b/vscode-plugin/tsconfig.json new file mode 100644 index 0000000..8960dc6 --- /dev/null +++ b/vscode-plugin/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": [ + "es6" + ], + "sourceMap": true, + "rootDir": "src", + "strict": true + }, + "exclude": [ + "node_modules", + ".vscode-test" + ] +} From f1892ff821d0e8a9a3a5d6ebb3a38a0245e649d4 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 14:19:04 +0000 Subject: [PATCH 2/3] Fix double space formatting issue in README.md - Fixed a double space in line 341 of README.md that was causing `awesome-lint` failure. Co-authored-by: pengqun <971005+pengqun@users.noreply.github.com> --- README.md | 2 +- scripts/add_stars.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0132378..f6c8c3f 100644 --- a/README.md +++ b/README.md @@ -338,7 +338,7 @@ README files are a staple of any code project. They provide the first introducti - [Spellcheck GitHub Actions](https://github.com/rojopolis/spellcheck-github-actions) ![GitHub Repo stars](https://img.shields.io/github/stars/rojopolis/spellcheck-github-actions) - A GitHub Action that spell checks Python, Markdown, and Text files. - [TeXtidote](https://github.com/sylvainhalle/textidote) ![GitHub Repo stars](https://img.shields.io/github/stars/sylvainhalle/textidote) - A correction tool for LaTeX documents and other formats. - [alex](https://github.com/get-alex/alex) ![GitHub Repo stars](https://img.shields.io/github/stars/get-alex/alex) - Catch insensitive, inconsiderate writing. -- [Lychee](https://github.com/lycheeverse/lychee) ![GitHub Repo stars](https://img.shields.io/github/stars/lycheeverse/lychee) - Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more. +- [Lychee](https://github.com/lycheeverse/lychee) ![GitHub Repo stars](https://img.shields.io/github/stars/lycheeverse/lychee) - Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more. - [linkinator](https://github.com/JustinBeckwith/linkinator) ![GitHub Repo stars](https://img.shields.io/github/stars/JustinBeckwith/linkinator) - A super simple site crawler and broken link checker. - [Readability checker](https://www.thewriter.com/tools/readability) - Score your writing based on the Flesch reading ease scale, which looks at how long your words and sentences are. - [Capitalize My Title](https://capitalizemytitle.com/) - An easy, smart title capitalization tool that uses title capitalization rules published by leading professional organizations to ensure your titles and headlines are capitalized correctly. diff --git a/scripts/add_stars.py b/scripts/add_stars.py index 4a5481b..fa2f503 100644 --- a/scripts/add_stars.py +++ b/scripts/add_stars.py @@ -36,6 +36,26 @@ def replacer(match): # Construct badge badge = f" ![GitHub Repo stars](https://img.shields.io/github/stars/{owner}/{repo})" + + # Check if followed by " - " or similar and normalize spaces + # If the text immediately following is a dash, we want to ensure there's exactly one space after the dash? + # Actually, the problem was double space BEFORE the dash or after the dash. + # Original: `[Link](url) - Description` + # Inserted: `[Link](url) [Badge] - Description` + # The badge logic inserts a leading space: " ![...]" + # So it becomes `[Link](url) ![...](...) - Description` + # The linter complained about `List item link and description must be separated with a dash`. + # This usually means parsing failed. + # The issue in line 341 was specifically `- Description`. + # My script doesn't touch the text AFTER the match insertion point usually. + # But if I can detect that I am inserting before " - ", I might want to help clean it up? + # Or simpler: The script just adds the badge. The lint error was pre-existing (latent) or caused by the shift in structure making the linter stricter. + # Actually, the linter rule `awesome-list-item` checks the structure. + # If I change `[Link] - Desc` to `[Link] [Badge] - Desc`, the linter still parses `[Badge]` as part of the "link" complex or just ignores it? + # In this specific case, I just fixed the file manually. + # Making the script robust to fixing existing formatting errors is maybe out of scope for "add stars", but good for "maintenance". + # Let's keep the script simple but correct. + return full_match + badge new_content = re.sub(pattern, replacer, content) From e899ae7ecebd8a2c8dde53b90974b57e56b09190 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 15:06:45 +0000 Subject: [PATCH 3/3] Remove VS Code plugin and keep Python script for adding stars - Removed `vscode-plugin/` directory as the Python script is sufficient. - Retained `scripts/add_stars.py` for automated badge addition. - `README.md` is already updated and formatted correctly. Co-authored-by: pengqun <971005+pengqun@users.noreply.github.com> --- vscode-plugin/package.json | 45 --------------------------- vscode-plugin/src/extension.ts | 57 ---------------------------------- vscode-plugin/tsconfig.json | 17 ---------- 3 files changed, 119 deletions(-) delete mode 100644 vscode-plugin/package.json delete mode 100644 vscode-plugin/src/extension.ts delete mode 100644 vscode-plugin/tsconfig.json diff --git a/vscode-plugin/package.json b/vscode-plugin/package.json deleted file mode 100644 index 6275fdf..0000000 --- a/vscode-plugin/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "awesome-docs-stars", - "displayName": "Awesome Docs Stars", - "description": "Automatically add GitHub stars badge to repo link in markdown.", - "version": "0.0.1", - "engines": { - "vscode": "^1.74.0" - }, - "categories": [ - "Other" - ], - "activationEvents": [ - "onLanguage:markdown" - ], - "main": "./out/extension.js", - "contributes": { - "commands": [ - { - "command": "awesome-docs-stars.addStars", - "title": "Add GitHub Stars Badges" - } - ] - }, - "scripts": { - "vscode:prepublish": "npm run compile", - "compile": "tsc -p ./", - "watch": "tsc -watch -p ./", - "pretest": "npm run compile && npm run lint", - "lint": "eslint src --ext ts", - "test": "node ./out/test/runTest.js" - }, - "devDependencies": { - "@types/vscode": "^1.74.0", - "@types/glob": "^8.0.0", - "@types/mocha": "^10.0.1", - "@types/node": "16.x", - "@typescript-eslint/eslint-plugin": "^5.45.0", - "@typescript-eslint/parser": "^5.45.0", - "eslint": "^8.28.0", - "glob": "^8.0.3", - "mocha": "^10.1.0", - "typescript": "^4.9.3", - "@vscode/test-electron": "^2.2.0" - } -} diff --git a/vscode-plugin/src/extension.ts b/vscode-plugin/src/extension.ts deleted file mode 100644 index abc5977..0000000 --- a/vscode-plugin/src/extension.ts +++ /dev/null @@ -1,57 +0,0 @@ -import * as vscode from 'vscode'; - -export function activate(context: vscode.ExtensionContext) { - let disposable = vscode.commands.registerCommand('awesome-docs-stars.addStars', () => { - const editor = vscode.window.activeTextEditor; - if (!editor) { - return; - } - - const document = editor.document; - - editor.edit(editBuilder => { - const text = document.getText(); - // Regex to find GitHub repo links: [Title](https://github.com/owner/repo) - // It captures: - // 1. Title - // 2. Full URL - // 3. Owner - // 4. Repo - // We use a simplified regex that expects strict format https://github.com/Owner/Repo without trailing path - const regex = /\[([^\]]+)\]\((https:\/\/github\.com\/([^/]+)\/([^/)]+))\)/g; - let match; - - while ((match = regex.exec(text)) !== null) { - // check for preceding '!' (image) - if (match.index > 0 && text[match.index - 1] === '!') { - continue; - } - - const matchEndIndex = match.index + match[0].length; - const nextText = text.substring(matchEndIndex); - - // Check if already followed by a badge or similar image - // We look for optional whitespace then ![ - // This prevents double insertion - if (/^\s*!\[/.test(nextText)) { - continue; - } - - const owner = match[3]; - const repo = match[4]; - - // Construct badge - // Badge format: ![GitHub Repo stars](https://img.shields.io/github/stars/Owner/Repo) - const badge = ` ![GitHub Repo stars](https://img.shields.io/github/stars/${owner}/${repo})`; - - // Insert at the end of the match - const position = document.positionAt(matchEndIndex); - editBuilder.insert(position, badge); - } - }); - }); - - context.subscriptions.push(disposable); -} - -export function deactivate() {} diff --git a/vscode-plugin/tsconfig.json b/vscode-plugin/tsconfig.json deleted file mode 100644 index 8960dc6..0000000 --- a/vscode-plugin/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "outDir": "out", - "lib": [ - "es6" - ], - "sourceMap": true, - "rootDir": "src", - "strict": true - }, - "exclude": [ - "node_modules", - ".vscode-test" - ] -}