nushell-plugins/nu_plugin_image
Jesús Pérez b99dcc83c3 feat: major repository modernization and tracking cleanup
## Summary

Comprehensive repository cleanup focusing on plugin dependency management, documentation improvements, and git tracking optimization.

## Key Changes

### 🔧 Core Infrastructure
- Synchronized all nu-* dependencies across plugins for version consistency
- Enhanced upstream tracking and automation systems
- Removed nushell directory from git tracking for cleaner repository management

### 📚 Documentation
- Significantly expanded README.md with comprehensive development guides
- Added detailed workflow documentation and command references
- Improved plugin collection overview and usage examples

### 🧹 Repository Cleanup
- Removed legacy bash scripts (build-all.sh, collect-install.sh, make_plugin.sh)
- Streamlined automation through unified justfile and nushell script approach
- Updated .gitignore with nushell directory and archive patterns
- Removed nushell directory from git tracking to prevent unwanted changes

### 🔌 Plugin Updates
- **nu_plugin_image**: Major refactoring with modular architecture improvements
- **nu_plugin_hashes**: Enhanced functionality and build system improvements
- **nu_plugin_highlight**: Updated for new plugin API compatibility
- **nu_plugin_clipboard**: Dependency synchronization
- **nu_plugin_desktop_notifications**: Version alignment
- **nu_plugin_port_extension & nu_plugin_qr_maker**: Consistency updates
- **nu_plugin_kcl & nu_plugin_tera**: Submodule synchronization

### 🏗️ Git Tracking Optimization
- Removed nushell directory from version control for cleaner repository management
- Added comprehensive .gitignore patterns for build artifacts and archives

## Statistics
- 2,082 files changed
- 2,373 insertions, 339,936 deletions
- Net reduction of 337,563 lines (primarily from removing nushell directory tracking)

## Benefits
- Complete version consistency across all plugins
- Cleaner repository with optimized git tracking
- Improved developer experience with streamlined workflows
- Enhanced documentation and automation
- Reduced repository size and complexity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 15:18:58 +01:00
..
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00

🖼 nu_plugin_image

A Nushell plugin to convert ANSI strings into PNG images and create ANSI text from images.


Features

This plugin allows you to:

  • Convert ANSI strings to PNG images with customizable fonts and themes.
  • Create ANSI text from an image, enabling you to transform visual data into a textual representation.

to png Convert ANSI String to PNG Image

The to png command converts an ANSI string into a PNG image. Customizable font and theme options are available, with custom flags overriding the default settings.

📌 Usage

> to png {flags} (output-path)

⚙️ Available Flags

  • -h, --help → Display the help message for this command.
  • -w, --width <int> → Output width.
  • -t, --theme <string> → Select the theme of the output. Available themes: ["vscode", "xterm", "ubuntu", "eclipse", "mirc", "putty", "winxp", "terminal", "win10", "win_power-shell", "win_ps"]. Defaults to vscode.
  • --font <string> → Select the font from one of ["SourceCodePro", "Ubuntu", "IosevkaTerm", "AnonymousPro"]. Defaults to the first font in the list.
  • --custom-font-regular <path> → Path to a custom regular font.
  • --custom-font-bold <path> → Path to a custom bold font.
  • --custom-font-italic <path> → Path to a custom italic font.
  • --custom-font-bold_italic <path> → Path to a custom bold italic font.
  • --custom-theme-fg <string> → Custom foreground color in hex format (e.g., #FFFFFF for white).
  • --custom-theme-bg <string> → Custom background color in hex format (e.g., #00000000 for transparent).
  • --custom-theme-black <string> → Custom black color in hex format (e.g., #1C1C1C).
  • --custom-theme-red <string> → Custom red color in hex format (e.g., #FF0000).
  • --custom-theme-green <string> → Custom green color in hex format (e.g., #00FF00).
  • --custom-theme-yellow <string> → Custom yellow color in hex format (e.g., #FFFF00).
  • --custom-theme-blue <string> → Custom blue color in hex format (e.g., #0000FF).
  • --custom-theme-magenta <string> → Custom magenta color in hex format (e.g., #FF00FF).
  • --custom-theme-cyan <string> → Custom cyan color in hex format (e.g., #00FFFF).
  • --custom-theme-white <string> → Custom white color in hex format (e.g., #FFFFFF).
  • --custom-theme-bright_black <string> → Custom bright black color in hex format (e.g., #808080).
  • --custom-theme-bright_red <string> → Custom bright red color in hex format (e.g., #FF5555).
  • --custom-theme-bright_green <string> → Custom bright green color in hex format (e.g., #55FF55).
  • --custom-theme-bright_yellow <string> → Custom bright yellow color in hex format (e.g., #FFFF55).
  • --custom-theme-bright_blue <string> → Custom bright blue color in hex format (e.g., #5555FF).
  • --custom-theme-bright_magenta <string> → Custom bright magenta color in hex format (e.g., #FF55FF).
  • --custom-theme-bright_cyan <string> → Custom bright cyan color in hex format (e.g., #55FFFF).
  • --custom-theme-bright_white <string> → Custom bright white color in hex format (e.g., #FFFFFF).
  • --log-level <string> → Set log level. Options: CRITICAL (c), ERROR (e), WARN (w), INFO (i), DEBUG (d), TRACE (t). Defaults to INFO.

📊 Example: Convert ANSI String to PNG with Custom Theme

> to png --theme "xterm" --custom-theme-fg "#FF00FF" --custom-theme-bg "#00000000" output.png

from png Create ANSI Text from an Image

The from png command converts an image into its corresponding ANSI text representation.

📌 Usage

> from png {flags}

⚙️ Available Flags

  • -h, --help → Display the help message for this command.
  • -x, --width <int> → Output width, in characters.
  • -y, --height <int> → Output height, in characters.
  • --log-level <string> → Set log level. Options: CRITICAL (c), ERROR (e), WARN (w), INFO (i), DEBUG (d), TRACE (t). Defaults to INFO.

📊 Example: Convert PNG Image to ANSI Text

> from png --width 80 --height 20 image.png

🔧 Installation

This method automatically handles dependencies and features.

git clone https://github.com/FMotalleb/nu_plugin_image.git  
nupm install --path nu_plugin_image -f  

🛠️ Manual Compilation

git clone https://github.com/FMotalleb/nu_plugin_image.git  
cd nu_plugin_image  
cargo build -r  
plugin add target/release/nu_plugin_image  

📦 Install via Cargo (using git)

cargo install --git https://github.com/FMotalleb/nu_plugin_image.git  
plugin add ~/.cargo/bin/nu_plugin_image