🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

strip-gh-theme-links

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

strip-gh-theme-links

Strip Github dark/light theme image links

latest
Source
npmnpm
Version
5.0.0
Version published
Maintainers
1
Created
Source

In Github you can specify the theme an image is displayed to by using <picture> HTML blocks in Markdown. See Specifying the theme an image is shown to.

However, other platforms currently do not support this tag and will display both versions of the image. So you might want to delete one of the images before uploading your documents to other platforms like, for example, Packagist (PHP) or PyPI (Python).

These npm package, CLI and Github Action are for you. They strip all the image theme links about one of the Github theme versions from your files. Perfect for running it before your packaging step in your release pipelines.

Note
The latest version supporting the deprecated #gh-dark-mode-only and #gh-light-mode-only hashes in inline images is v3.

Install

npm install strip-gh-theme-links

Usage

Node.js

import stripGhThemeLinks from "strip-gh-theme-links";

const content = `
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/dark">
  <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/light">
  <img alt="Alt text" title="Title text" src="https://user-images.githubusercontent.com/default" width=70>
</picture>
`;

console.log(await stripGhThemeLinks(content, "light"));
/* OUTPUT:
<img src="https://user-images.githubusercontent.com/light" alt="Alt text" title="Title text" width="70">
*/

console.log(await stripGhThemeLinks(content, "dark"));
/* OUTPUT:
<img src="https://user-images.githubusercontent.com/dark" alt="Alt text" title="Title text" width="70">
*/

console.log(await stripGhThemeLinks(content));
/* OUTPUT:
<img src="https://user-images.githubusercontent.com/default" alt="Alt text" title="Title text" width="70">
*/

Reference

# stripGhThemeLinks(content: string, keep?: 'light' | 'dark'): Promise<string>

  • # content ⇒ Content for which the Github theme image links will be stripped.
  • # keep ⇒ Theme variant links to keep in the content. If not specified the src attribute of the <img> tag will be used.

CLI

strip-gh-theme-links --help

Github Action

name: Release
on:
  workflow_dispatch:

jobs:
  release-pr:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Strip Github theme image links
        uses: mondeja/strip-gh-theme-links@v5
        with:
          files: |
            README.md
            CONTRIBUTING.md

Warning
It is recomended to run the CLI with strip-gh-theme-links --diff file.md to check that your files are correctly stripped before configure this action in your release pipeline.

Reference

Inputs
  • # files (required) ⇒ Path to files or globs to strip, separated by newlines.
  • # keep ⇒ Theme variant links to keep in the content of the files.
  • # strict (default: false) ⇒ Treat warnings as errors and exit with code 1. Warnings are raised when a file specified in files input is not found or when no image links are stripped from a file.

FAQs

Package last updated on 30 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts