iA Writer i rozwiązanie braku Share Sheet za pomocą Shortcuts
iA Writer to nadal bardzo fajny edytor tekstu, szczególnie dla osób ceniących sobie minimalizm i pisanie w Markdown. Niestety, jego wersja dla iOS-a nie ma jednej funkcji, którą posiada Ulysses – możliwość przesłania np. linka do artykułu za pomocą Share Sheet.
Często, jak przemierzam internety w poszukiwaniu ciekawych tematów, to nie chcę przerywać swojego flow i jeśli znajdę coś ciekawego, na temat czego chcę napisać parę słów, to po prostu klikam w Safari lub Reederze strzałkę współdzielenia i tam z listy wybieram Ulysses. Automatycznie tworzy mi to nowy wpis, z linkiem do artykułu oraz jeśli zaznaczę jakiś tekst, to ten również się tam znajdzie. Proste i piękne. Alternatywnie korzystam z Shortcuta, którego stworzyłem kilka lat temu i który nadal działa.
iA Writer niestety takie funkcji nie posiada.
Pozostało mi więc skorzystanie z URL Schemes, które iA Writer oferuje domyślnie i które najpierw trzeba aktywować w preferencjach aplikacji.
Link Post w iA Writer
Oto przykładowy Shortcut do tworzenia tzw. link posts w iA Writer, z których regularnie korzystam. Całość można oczywiście dostosować do własnych potrzeb, aby przekazywało i formatowało dane dokładnie tak, jak ktoś sobie tego życzy.
- Link do iA Writer akceptuje tylko adresy URL.
- W drugim kroku korzystam z funkcji
Get Article
, która pobiera metadane z przekazanego adresu. - Następnie wyciągam tytuł strony z funkcji
Get Article
. - Teraz zmieniam to, jak tytuł jest formatowany, za pomocą funkcji
Capitalise with Title Case
w poluText
. - Pozostaje już tylko przypisać powyższe
Updated Text
do zmiennej, aby zachować tę informację na później. - W tym kroku pobieram zawartość schowka systemowego. Ten Shortcut zakłada, że przed jego uruchomieniem kopiuję jakiś wybrany fragment ze strony WWW. Mógłbym (i powinienem) tutaj sprawdzać, czy schowek jest pusty, czy nie, ale to Shortcut dla mnie, więc tego nie dodałem.
- Następnie konwertuję zawartość schowka do Markdown.
- W ostatnim kroku tej sekcji przerzucam tekst sformatowany jako Markdown ponownie do schowka systemowego.
- Teraz czas na stworzenie szablonu wpisu, który chcę stworzyć. Korzystam z funkcji `Text`, w której umieszczam 3 linijki. Pierwsza to `# [LinkedURLTitle](Shorcut Input)` – `#` tworzy nagłówek, który będzie tytułem, `LinkedURLTitle` to zmienna z tytułem strony, a `Shortcut Input` to URL strony przekazany do tego Shortcut. W drugiej linijce korzystam z funkcji `Author`, która wyciąga autora artykułu za pomocą funkcji `Get Article`. W trzeciej wklejam zawartość schowka, która jest już w formacie Markdown.
- Teraz trzeba całość przekonwertować tak, aby móc przekazać te informacje w URL-u. Do tego celu korzystam z funkcji `URL Encode` i jako zmienną przekazuję powyższy `Text`.
- Tworzę zmienną `encodedText` i przypisuję do niej zakodowany tekst w poprzedniego kroku.
- Ponownie korzystam z `Text`, aby sformatować datę. To wykorzystamy do nazwy pliku. Korzystam z formatu `RRMMDD-HHMMSS`, aby nie było sytuacji, w której dwa pliki mogą mieć tą samą nazwę lub dziwne przedrostki, które by wyróżniały dwa tam samo nazwane pliki.
- Powyższą datę, która będzie służyła jako nazwa pliku, zapisuję w do formatu, którego będzie można przekazać w URL-u, za pomocą funkcji `URL Encode`, z której korzystałem już wcześniej do zapisania treści wpisu.
14. Zapisuję nazwę pliku do zmiennej `encodedPath`. - Na koniec pozostaje złożenie w całość URL Scheme, który przyjął następującą formę: `iawriter://new?text=[encodedText]&path=/[encodedPath].md`
- Pozostaje teraz skorzystać z funkcji `Open URL`, aby otworzyć stworzony URL.
Ten Shortcut otworzy teraz iA Writera, stworzy nowy dokument z odpowiednio nadaną nazwą i rozszerzeniem .md
(od Markdown) i wklei do niego tytuł, autora oraz treść artykułu.
Opcjonalnie można jeszcze do URL-a dopisać &edit=1
, co spowoduje wysunięcie się klawiatury ekranowej, aby można było go od razu edytować.
W sumie proste.