Jak używać TinyPNG natywnie w macOS za pomocą aplikacji Skróty?

Czym jest TinyPNG?

TinyPNG to usługa, która umożliwia redukcję rozmiaru plików *.webp, *.png oraz *.jpeg bez widocznej utraty jakości. Jest szczególnie przydatna, gdy chcemy zoptymalizować zdjęcia na stronę internetową, lub zmniejszyć wagę zdjęcia w jakimkolwiek innym celu.

TinyPNG na komputerach z macOS

Dla użytkowników systemów operacyjnych macOS istnieje bardzo wygodny sposób integracji TinyPNG z systemowym Finderem lub innymi aplikacjami, za pomocą wbudowanej aplikacji Skróty. Przyjrzyjmy się krok po kroku, jak zintegrować tę usługę z komputerami mac.

Skonfigurowanie API

Aby skonfigurować API w TinyPNG musisz się zarejestrować. W tym celu przejdź do strony Developer API – https://tinypng.com/developers. W polu rejestracji wpisz swoją nazwę oraz swój adres e-mail. Następnie przejdź do poczty i kliknij przycisk z napisem “Visit your dashboard”, który dostaniesz we wiadomości od TinyPNG. Jeżeli nie dostałeś wiadomości, upewnij się, że podałeś poprawny adres e-mail lub sprawdź skrzynkę spam.

Behold - strony www, pozycjonowanie, grafika

Po zalogowaniu się zobaczysz listę dostępnych API i jeden domyślnie skonfigurowany, ale nieaktywny. Aby aktywować klucz, kliknij menu 3 kropek po prawej stronie klucza i wybierz “Enable key”. Od teraz klucz będzie aktywny i zgodnie z informacją na stronie, możesz użyć go do kompresji 500 zdjęć w miesiącu, za darmo.

Behold - strony www, pozycjonowanie, grafika

Konfiguracja kolejek akcji w aplikacji Skróty na macOS.

Wciśnij klawisze cmd+spacja na klawiaturze komputera, wpisz nazwę “Skróty”, a następnie wciśnij klawisz Enter, lub przejdź do folderu Aplikacje i otwórz aplikację “Skróty”.

Kliknij w przycisk “+” na pasku narzędzi.

Behold - strony www, pozycjonowanie, grafika

W nowo otwartym oknie wybierz ikonkę informacji “i” w na pasku narzędzi i przejdź do zakładki “Szczegóły”. Zaznacz opcje “Używaj jako szybkiej czynności”, “Finder” i “Menu Usługi”. W kolejce czynności, która się pojawiła, zmień “Szybkie czynności” z “Dowolne” na “Pliki i Foldery”.

Behold - strony www, pozycjonowanie, grafika
Behold - strony www, pozycjonowanie, grafika

Następnie przejdź do “Biblioteki czynności” i w wyszukiwarce wpisz “utwórz folder”, następnie kliknij dwukrotnie w “Utwórz folder” z kategorii “Dokumenty” wśród wyników wyszukiwania.

Zmień lokalizację nowego folderu – kliknij w przycisk “Shortcuts” i wybierz Biurko, następnie utwórz nazwę folderu, klikając na “Ścieżka” i wpisz “TinyPNGs”.

Behold - strony www, pozycjonowanie, grafika

Kolejnym krokiem jest wykonanie skryptu powłoki, czyli BASH. W tym celu w “Bibliotece czynności” w wyszukiwarce wpisz „wykonaj skrypt powłoki” i kliknij dwukrotnie w “Wykonaj skrypt powłoki” spośród wyników wyszukiwania.

Behold - strony www, pozycjonowanie, grafika

Z dostępnych opcji wybierz: “Powłoka: zsh”, “Dane wejściowe: Dane wejściowe skrótu”, “Przekaż dane wejściowe: jako argumenty”.

Behold - strony www, pozycjonowanie, grafika

Aby ustawić “Dane wejściowe…”, kliknij w “Utworzony folder” a następnie “Wymaż”. Potem kliknij w rozwijane menu “Dane wejściowe” i wybierz “Dane wejściowe skrótu”.

Behold - strony www, pozycjonowanie, grafika

Następnie w “Bibliotece czynności” wyszukaj “Podziel tekst” i kliknij dwukrotnie w “Podziel tekst” w wynikach wyszukiwania. Konfiguracja tej czynności powinna wyglądać następująco: “Dziel wynik skryptu powłoki wg Nowe wiersze”.

Teraz musimy napisać wspomniany skrypt w języku BASH. Nie będziemy tu analizować skryptu krok po kroku, dlatego po prostu skopiuj poniższy kod i wklej w kolejkę czynności “Wykonaj skrypt powłoki”, zastępując domyślny kod.

#!/bin/bash

set -e -o pipefail
export PATH="$PATH:/usr/local/bin"
APIKEY=TWÓJ KLUCZ API

compress_with_api_key () {
file_dir="$1:h"

compressed_url="$(curl -D - -o /dev/null --user api:$1 --data-binary @"$2" https://api.tinify.com/shrink|grep location|cut -d ' ' -f 2|sed 's/\r//')"
curl -o "${HOME}/Desktop/TinyPNGs/$(basename "$2")" "$compressed_url"
}

tinypng () {
    compress_with_api_key "$APIKEY" "$1"
}

current_datetime="$(date +%Y-%m-%d_%H-%M-%S)"
download_folder="tiny_${current_datetime}"
mkdir "${HOME}/Desktop/TinyPNGs/${download_folder}"

for f in "$@" do if [ -f "$f" ]; then
tinypng "$f"
mv "${HOME}/Desktop/TinyPNGs/$(basename "$f")" "${HOME}/Desktop/TinyPNGs/${download_folder}"
elif [ -d "$f" ]; then
find "$f" -name ".png" -o -name ".jpeg" -o -name "*.jpg" | while read file_name; do tinypng "$file_name";
mv "${HOME}/Desktop/TinyPNGs/$(basename "$file_name")" "${HOME}/Desktop/TinyPNGs/${download_folder}"
done
fi
done

open "${HOME}/Desktop/TinyPNGs/${download_folder}"

afplay /System/Library/Sounds/Funk.aiff
Behold - strony www, pozycjonowanie, grafika

WAŻNE: zastąp ciąg znaków TWÓJ KLUCZ API własnym, wcześniej utworzonym kluczem API!!

W tej chwili skrót powinien już działać. Na koniec możesz dostosować skrót, nadając odpowiednią nazwę, ikonę i kolor. Skrót dostępny będzie zarówno z menu “Usługi” w Finderze, jak i spod prawego przycisku pod menu “Szybkie czynności”.

Behold - strony www, pozycjonowanie, grafika

Żeby użyć skrótu, zaznacz w Finderze wybrane zdjęcia, kliknij prawym przyciskiem i wybierz swój skrót spod menu “Szybkie czynności”. Kiedy kompresja się dokona, otworzy się podfolder ze skompresowanymi zdjęciami. Wszystkie zdjęcia będą zapisywane na Biurku w folderze “TinyPNGs”, natomiast każda partia zdjęć zostanie umieszczona w osobnym folderze, z nazwą zawierającą datę i godzinę wykonania skrótu.

Behold - strony www, pozycjonowanie, grafika

Używanie Skrótu w macOS jest o wiele wygodniejsze niż kompresja zdjęć przez przeglądarkę czy przez stacjonarną aplikację. Jest też lepszym wyborem niż używanie natywnego pluginu bezpośrednio w WordPress. Korzystając z pluginu, tworzy się dodatkowy folder z powielonymi, skompresowanymi plikami, co powoduje zajęcie dodatkowych przestrzeni serwera. Jeżeli zdjęć jest dużo, może być to dość mocno odczuwane, dlatego warto zadbać o prawidłowo zoptymalizowane zdjęcia przed umieszczeniem ich na stronie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *