Własne wtyczki w dobie elemelków

Nie jestem programistą PHP. Znam podstawy C i C++ (powiedzmy, liznąłem też C#, ale dawno i nieprawda). Mam papiery podstaw programowania w Javie, przy czym 100% kodu w Javie, który w życiu napisałem, napisałem podczas trzydniowego kursu, z którego pochodzą owe papiery. Okolice początku bieżącego milenium, więc też już trochę zalatują stęchlizną. Python, VB* - tu trochę lepiej. Mój ulubiony język to SQL, ale i tego ostatnio za dużo nie piszę, wszystko robią za mnie elemelki.

Dziwny świat.

Do rzeczy, moiściewy, bo zaraz tu wszyscy pozasypiamy!

No dobra. Do rzeczy.

Od dość dawna używam na tym blogu własnej wtyczki do generowania krótkich linków. Zaczęło się od gotowca z publicznego repo WordPressa, ale gdzieś tam po drodze autorzy gotowca nabrali apetytu na monetyzację swojej pracy (zadziwiające, wiem) i pododawali doń tyle różnych opcji, że nie mogłem się w tym gąszczu połapać. Dodatkowo mieli gdzieś tam po drodze poślizg, starą wtyczkę unieważnili, wypuścili nową z opcją importu, import nie działał, ogólnie zadyma. A że mi się już tych krótkich URL-i trochę nazbierało, postanowiłem napisać sobie własnego skracacza od zera, o czym szczegółowo piszę tutaj.

Od zawsze miałem też lekkiego zajoba na punkcie grafów - nie chodzi jednak o grafa von Zeppelina czy Stauffenberga, tylko o grafy zależności między rozmaitymi cosiami. W tym konkretnym przypadku - między wpisami na blogu. Wtyczkę, która te zależności wyszukuje, już miałem od dawna - YARPP. Dopisałem sobie do niej wtyczkę-córkę, która pokazuje to samo, tylko inaczej: graficznie, w postaci kropek reprezentujących wpisy, połączonych liniami podobieństw.

Proste? Teoretycznie tak, w praktyce... nie mam pojęcia, bo obydwie wtyczki sobie wyelemelkowałem. Tę pierwszą jeszcze w miarę ogarniam swoimi trzema na krzyż pożal się boziu neuronami, bo użyłem jej kodu w celach edukacyjnych we wcześniejszym wpisie. Ale w tę o grafach nawet, przyznaję się, nie zajrzałem. A raczej: zajrzałem, obejrzałem całość kodu jak nudny serial (czyli na przewijaniu) - i tyle.

A potem pomyślałem sobie: kurdę, a może by tak podzielić się tymi wtyczkami ze światem? Od słów do czynów droga niedługa.

Zacząłem od końca, czyli od tej drugiej wtyczki. Procedura publikowania wtyczek na WP jest dość skomplikowana. Zaraz na samym początku trzeba przepuścić naszego kandydata przez specjalną wtyczkę Plugin Checker, która wysrywa na dzień dobry dziesiątki (albo i setki) tajemniczych i ledwie zrozumiałych błędów i ostrzeżeń, które pracowicie przeklejałem elemelkowi, ten je sukcesywnie korygował i po godzince takiego copy-paste miałem już wersję "czystą". Potem trzeba to jeszcze wrzucić do SVN - tu trzeba być bardzo ostrożnym, bo repozytorium łyka wszystkie uploady, a całą historię trzyma potem na wieki wieków. W razie jakiegoś grubszego ambarasu można oczywiście skasować całą wtyczkę, ale to już inna para kaloszy. To też jakoś mi się udało i nawet znalazłem dwóch chętnych do testowania na ichnich blogach.

Z drugą wtyczką, tj. pierwszą, poszło dużo szybciej. Głównie dlatego, że mam lokalną kopię blogu na domowym kompie, odtwarza się ona z żywego backupu raz dziennie (a raczej nocnie) i mogę sobie tu grzebać do bólu bez większego ryzyka. Zainstalowałem lokalnie Plugin Checkera, dałem elemelkowi odpowiednie wytyczne ("naprawiaj tę wtyczkę, papugo, aż zejdziesz do zera błędów i ostrzeżeń") - i dosłownie sześć minut później miałem już wersję gotową do publikacji.

Niniejszym przedstawiam zatem dwie wtyczki, do pobrania całkiem za darmo z oficjalnego repo WP:

  1. Stable Shortlinks, czyli lokalny, minimalistyczny skracacz linków.
  2. Article Relationship Graph for YARPP, czyli wizualizacja podobieństw między artykułami na naszym blogu.

Nieco w tym wszystkim niepokojące jest to, że trochę bez mojego udziału zostałem ostatnio przerobiony z profesjonała od komputerów na pędzone kawą organiczne API do elemelka.

Z drugiej strony - nowe horyzonty!

Hm.

Arranging connections…

Dodaj komentarz

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.