Files
the_information_nexus/smma/imagemagick.md
2024-05-31 02:19:10 +00:00

6.0 KiB

Certainly! Here is a simplified README.md that provides clear instructions for setting up the project, cloning the repository, and updating the zsh configuration for the alias.

README.md

# Image Converter

This project provides a script to convert WEBP and HEIC images to PNG and JPG formats using ImageMagick.

## Setup Instructions

### Prerequisites

Make sure you have ImageMagick installed. You can check if it's installed by running:

```bash
convert -version

If not installed, you can install it using:

  • macOS:

    brew install imagemagick
    
  • Ubuntu:

    sudo apt-get update
    sudo apt-get install imagemagick
    
  • Windows: Download and install from the ImageMagick website.

Project Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/image-converter.git
    cd image-converter
    
  2. Make the script executable:

    chmod +x convert_images.sh
    
  3. Add an alias to your shell configuration file:

    echo "alias convert='~/path_to_your_script_directory/convert_images.sh'" >> ~/.zshrc
    source ~/.zshrc
    

    Replace ~/path_to_your_script_directory with the actual path where you cloned the repository.

Usage

To convert a WEBP or HEIC file to PNG and JPG, use the following command:

convert filename.webp

or

convert filename.heic

The converted files will be saved in ~/Pictures/Converted.


### Complete Project Code

1. **Project Directory Structure**:

image-converter/ ├── convert_images.sh ├── README.md └── .gitignore


2. **convert_images.sh**:
```bash
#!/bin/bash

# Check if the magick command is available
if ! command -v magick &> /dev/null; then
    echo "ImageMagick is not installed or not in your PATH."
    exit 1
fi

# Get the input file from the command line argument
input_file=$1

# Check if input file is provided
if [ -z "$input_file" ]; then
    echo "Error: No input file specified. Usage: convert file1.webp or convert file1.heic"
    exit 1
fi

# Extract the base name and extension of the input file
base_name=$(basename "$input_file" | cut -d. -f1)
extension=$(basename "$input_file" | cut -d. -f2)

# Define the output directory
output_dir="$HOME/Pictures/Converted"

# Check if the output directory exists, create if it does not
if [ ! -d "$output_dir" ]; then
    mkdir -p "$output_dir"
fi

# Function to convert images
convert_images() {
    local input_file=$1
    local base_name=$2
    local output_dir=$3

    # Convert to PNG
    magick "$input_file" "$output_dir/${base_name}.png"
    echo "Converted $input_file to $output_dir/${base_name}.png"

    # Convert to JPG
    magick "$input_file" "$output_dir/${base_name}.jpg"
    echo "Converted $input_file to $output_dir/${base_name}.jpg"
}

# Check the file extension and convert if it is .webp or .heic
if [ "$extension" = "webp" ] || [ "$extension" = "heic" ]; then
    convert_images "$input_file" "$base_name" "$output_dir"
else
    echo "Error: The file must be either .webp or .heic."
    exit 1
fi
  1. .gitignore:

    # Ignore log files and temp files
    *.log
    *.tmp
    
  2. README.md:

    # Image Converter
    
    This project provides a script to convert WEBP and HEIC images to PNG and JPG formats using ImageMagick.
    
    ## Setup Instructions
    
    ### Prerequisites
    
    Make sure you have ImageMagick installed. You can check if it's installed by running:
    
    ```bash
    convert -version
    

    If not installed, you can install it using:

    • macOS:

      brew install imagemagick
      
    • Ubuntu:

      sudo apt-get update
      sudo apt-get install imagemagick
      
    • Windows: Download and install from the ImageMagick website.

    Project Setup

    1. Clone the repository:

      git clone https://github.com/yourusername/image-converter.git
      cd image-converter
      
    2. Make the script executable:

      chmod +x convert_images.sh
      
    3. Add an alias to your shell configuration file:

      echo "alias convert='~/path_to_your_script_directory/convert_images.sh'" >> ~/.zshrc
      source ~/.zshrc
      

      Replace ~/path_to_your_script_directory with the actual path where you cloned the repository.

    Usage

    To convert a WEBP or HEIC file to PNG and JPG, use the following command:

    convert filename.webp
    

    or

    convert filename.heic
    

    The converted files will be saved in ~/Pictures/Converted.

    
    

Final Steps

  1. Initialize Git Repository:

    cd image-converter
    git init
    git add .
    git commit -m "Initial commit with image conversion script"
    
  2. Push to GitHub:

    • Create a new repository on GitHub.
    • Add the remote repository and push your code:
      git remote add origin https://github.com/yourusername/image-converter.git
      git branch -M main
      git push -u origin main
      

Now, anyone can clone your repository and follow the instructions in the README.md to set up and use the image conversion script.


Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Update your PATH

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc

Update your shell

source ~/.zshrc

Install ImageMagick

brew install imagemagick

Verify the installation

magick --version

Keep Homebrew up-to-date

Update Homebrew

brew update

Upgrade installed packages

brew upgrade

Cleanup old versions

brew cleanup