Skip to content

Feat/excludeBadges#16

Merged
ioncakephper merged 2 commits into
mainfrom
feat/excludeBadges
Nov 8, 2025
Merged

Feat/excludeBadges#16
ioncakephper merged 2 commits into
mainfrom
feat/excludeBadges

Conversation

@ioncakephper
Copy link
Copy Markdown
Owner

No description provided.

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @ioncakephper, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the markdown-magic-transform-badges library by adding a new configuration option, excludeBadges. This feature provides greater flexibility for users to customize their generated documentation by selectively omitting specific badges. The core logic for badge generation has been updated to respect this new exclusion list, ensuring that only desired badges are included.

Highlights

  • New Feature: Exclude Badges: Introduced a new excludeBadges option that allows users to specify a list of badge keys to prevent them from being generated in the documentation.
  • Badge Generation Logic Update: The internal pushBadge helper function in index.js has been modified to check the excludeBadges option and skip adding badges that are present in the exclusion list.
  • Documentation Formatting: Minor formatting adjustments were made to README.md, including the removal of blank lines and updates to script line number references.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@ioncakephper ioncakephper merged commit 6e70105 into main Nov 8, 2025
6 checks passed
@ioncakephper ioncakephper deleted the feat/excludeBadges branch November 8, 2025 13:01
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new feature to exclude specific badges from being generated, which is a great addition. My review focuses on the implementation of this new logic in index.js. I've identified a potential issue where the current implementation could lead to runtime errors or incorrect behavior depending on the type of the excludeBadges option. I've provided a more robust code suggestion to address this. Additionally, I recommend documenting this new excludeBadges option in the README.md file to ensure users can easily discover and use it.

Comment thread index.js
Comment on lines +39 to +44
const pushBadge = (key, md) => {
if (opts.excludeBadges && opts.excludeBadges.includes(key)) {
return; // Skip this badge if it's in the exclude list
}
allBadges.push({ key, md });
};
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The current implementation for excluding badges is not fully robust and could lead to issues:

  1. Incorrect partial matching: If opts.excludeBadges is a string (e.g., from a markdown comment like excludeBadges="version"), using String.prototype.includes() could incorrectly exclude badges with partial matches (e.g., "npmVersion").
  2. Potential for runtime errors: If opts.excludeBadges is not a string or an array (e.g., a boolean or a number), the call to .includes() will throw a TypeError, crashing the process.

To make this feature more reliable, I suggest explicitly handling both arrays and comma-separated strings for the excludeBadges option, while safely ignoring other data types.

  const pushBadge = (key, md) => {
    let exclusions = [];
    if (Array.isArray(opts.excludeBadges)) {
      exclusions = opts.excludeBadges;
    } else if (typeof opts.excludeBadges === 'string') {
      exclusions = opts.excludeBadges.split(',').map(s => s.trim());
    }

    if (exclusions.includes(key)) {
      return; // Skip this badge if it's in the exclude list
    }
    allBadges.push({ key, md });
  };

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant