Skip to content

Commit

Permalink
Merge pull request #349 from symflower/convert-svg-to-png
Browse files Browse the repository at this point in the history
Script to convert all SVG files to PNG with Inkscape
  • Loading branch information
zimmski authored Oct 2, 2024
2 parents b3f4415 + cf407d5 commit 4a9fc7d
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions scripts/convert_svg_to_png.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash

# Function to generate a clean, lowercase filename
clean_filename() {
echo "$1" | \
tr '[:upper:]' '[:lower:]' | \
sed -e 's/[^[:alnum:][:space:]-]/ /g' | \
sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | \
sed -e 's/[[:space:]]\+/-/g'
}

# Loop through all SVG files in the current directory
for svg_file in *.svg *.SVG; do
# Check if the file exists (in case no SVG files are found)
[ -e "$svg_file" ] || continue

# Generate the new SVG filename
new_svg_name=$(clean_filename "${svg_file%.svg}").svg

# Rename the SVG file if the new name is different
if [ "$svg_file" != "$new_svg_name" ]; then
mv "$svg_file" "$new_svg_name"
echo "Renamed $svg_file to $new_svg_name"
fi

# Generate the PNG filename
png_file=$(clean_filename "${svg_file%.svg}").png

# Convert SVG to PNG using Inkscape
inkscape --export-type=png \
--export-filename="$png_file" \
--export-width=3600 \
"$new_svg_name"

echo "Converted $new_svg_name to $png_file"
done

echo "Renaming and conversion complete!"

0 comments on commit 4a9fc7d

Please sign in to comment.