DPmaniak - rozszerzenie do Google Chrome które zrobi wszystko, poza kawą
24.09.2013 | aktual.: 02.11.2013 13:43
Czyż tytuł tego wpisu nie wydaję się Wam znajomy? Spokojnie, nie będzie żadnych reklam i toolbarów z literką D w nazwie :P Tytuł oczywiście nieadekwatny do możliwości rozszerzenia, ale było to trochę zamierzone z mojej strony. Ale do rzeczy, konkretnie i na temat. Stworzyłem właśnie małą i nieskomplikowaną aplikację, a właściwie rozszerzenie, do przeglądarki Google Chrome, które dodaje proste menu portalu DP do "naszej ukochanej" przeglądarki.
Po co to, na co to?
Wchodzę na stronę DP wiele razy dziennie, dlatego w moim przypadku nie sprawdza się do końca cały szereg ułatwień dostępu z jakich mam możliwość korzystać. Jest ich kilka. Możemy dodać skrót do zakładek w przeglądarce. Lecz czy dodanie ich do wszystkich działów ma sens? To za dużo linków i przestrzeni w menu zakładek. Można też przypiąć kartę na stałe do przeglądarki, jednak poruszając się w tej karcie zmieniamy jej zawartość. Też średnio fajne rozwiązanie. Możemy też dodać link do paska zadań naszego OS, ale to tylko marnowanie miejsca na w/w pasku. Generalnie nie ma jakiegoś szczególnie wygodnego sposobu szybkiego dostania się na strony portalu DP. Może wydawać się to błahe, ale jak się "x" razy dziennie wchodzi na stronę DP to zaczyna to trochę męczyć. Pomijam już takie hardkorowe rozwiązania jak zwykłe skróty na pulpicie. Hmm no way.
Jedyne sensowne rozwiązanie to stworzyć aplikację DP (tak, aplikację nie rozszerzenie! - za chwilę wyjaśnię dlaczego). Otóż na początku wydawało mi się, że stworzenie jeszcze prostszej (od rozszerzenia) rzeczy jaką jest, aplikacja do Chroma (która tak na prawdę jest wyłącznie linkiem i niczym więcej), będzie najprostsze i najskuteczniejsze. No i może w pewnym sensie tak jest. Jednak to dla mnie za mało. W dodatku dostanie się do menu aplikacji w Chrome, wymaga otworzenia nowej karty i/lub przejścia z działu "Najczęstsze" do "Aplikacje". W sumie i tak "fajnio", ale nie do końca.
Na początku stworzyłem wspomnianą "aplikację", jednak szybko zdałem sobie sprawę, że menu w rozszerzeniach (extensions) było by o wiele wygodniejsze. Więc postanowiłem takowe stworzyć. No ale dlaczego by się z Wami nie podzielić tym co już mam gotowe? Są do realizacji tego 2 drogi. Dodać ręcznie aplikację do Chrome, z dowolnego miejsca lokalnego (musielibyście ją ode mnie pobrać i ręczne podpiąć), albo musiałbym ją (ta wygodniejsza opcja) wrzucić do Chrome Web Store, aby każdy mógł ją sobie pobrać.
W sumie nic trudnego. Jednak jak się szybko okazało, aby dodać swoją aplikację do sklepu trzeba pomijając to, że stać się pseudo deweloperem (żaden ze mnie programista), uiścić haracz w wysokości 5 baksów (za sam zaszczyt nazywania się deweloperem google :), to należy również mieć prawa do domeny jaką się w tej aplikacji linkuje. Oczywiście nie mam dostępu do portalu DP. Co chyba nie jest niczym zaskakującym. Owszem, jest możliwość poproszenia admina o wklejenie jednego pliczku do głównego katalogu domeny i problem znika. Jednak po co zawracać głowę wiecznie zapracowanemu Docentowi, dla tak błahej funkcjonalności i ryzykować odpowiedz w stylu - nie ma takiej możliwości. Miałem sobie to odpuścić i po prostu udostępnić wam te 2 pliczki, na jakie składa się ta jakże "skomplikowana aplikacja". Jednak wpadłem na iście szatański pomysł. Postanowiłem trochę pokombinować i troszeczkę oszukać Chrome Web Store.
DjLeo ty mała zielona oszukańcza glisto!
Aby jednak dodać aplikację, którą nazwałem "DPlink" i aby kierowała na stronę DP, wystarczy zrobić zwykłe przekierowanie (w htmlu) z innej domeny (do której mamy pełne prawa), na portal DP. Jedna mała linijka rozwiązała problem:
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.dobreprogramy.pl">
Dlatego aplikacja DPlink jest już dostępna na Web Store i można ją pobrać w każdej chwili. I co najważniejsze kieruje na stronę dobrych programów.
Jednak wróćmy do rozszerzenia DPmaniak. Stworzenie bardzo prostej aplikacji (w tym wypadku linku), nie jest specjalnie wielkim problem. Można to zrobić dosłownie w kilka minut. Nawet bez znajomości żadnego z języków programowania. O czym również napiszę. Jednak stworzenie rozszerzenia wymaga odrobinę większej wiedzy, lecz też bez przesady. Potrzebujemy przynajmniej podstawowej wiedzy z HTML, no i raczej bez CSS się nie obejdzie, choć od biedy można by było CSS sobie odpuścić, ale nie polecam tego, ponieważ nawet proste rzeczy bez kaskadowych arkuszy stylów (CSS) bywają awykonalne. Jeżeli chcemy stworzyć coś trudniejszego (czyt. skomplikowanego), to musimy znać się najlepiej na JavaScipt, ponieważ własnie ten język jest kluczowy przy rozszerzeniach do Google Chrome. Przy DPmaniaku i prostym menu nie było to konieczne (na razie), ale w przyszłości będzie niezbędne.
Ale nic w tym trudnego DjLeo.
Tak to prawda. Jednak nawet przy prostym menu można natrafić na wiele ciekawych problemów. Jednym z nich jest przeładowywanie się obrazu podczas najechania kursorem na przycisk. Niby takie nic, a drażni i nie wygląda dobrze. Właśnie w CSS można rozwiązać ten problem, stosując jedną grafikę przycisku (pełniącą 2 funkcje).
I odpowiednio ją w menu wyświetlając, wklepując przykładowy kod do arkusza stylów.
[code=PHP]a.blog { background: url(img/blog.png) no‑repeat; display:block; height:35px; overflow:hidden; width:150px; } a.blog:hover { background-position: 0px -35px; } a.blog span { display:block; text-indent: -9999px; }[/code]
Proste i skuteczne rozwiązanie, które w dodatku (optymalny rozmiar grafiki) pozwala wyeliminować wcześniej wspomniany problem. W tym przypadku inaczej niż we większości stron przycisk ładuję się raz, jednak jego obszar jest wyświetlany tylko w połowie (poziomo), w zależności czy na niego skierujemy kursor lub nie (górna lub dolna połowa).
W prostocie siła.
Rozszerzenie DPmaniak prezentuję się w następujący sposób:
Jak widać na powyższym obrazku menu jest niezbyt skomplikowane i o to chodzi. Choć w planach mam rozwijać to rozszerzenie o kilka ciekawych funkcji. W opisie w Chrome Store możecie przeczytać szczegóły - LINK
Rozszerzenie DPmaniak jak i aplikacje DPlink możecie pobrać w prosty sposób, wystarczy wpisac w wyszukiwarce sklepu Chrome Web Store słowa kluczowe tj. DjLeo, DPlink, DPmaniak lub po prostu dobreprogramy.
Bezpośredni link do obu aplikacji: LINK
Dlaczego tylko Chrome?....no cóż.
Ponieważ jestem użytkownikiem wyżej wspomnianej przeglądarki, to akurat DPmaniak powstał wyłącznie na tę przeglądarkę. Jednak nie wykluczone, że w wolnej chwili jeżeli będzie ktoś reflektował, stworzę wtyczki do innych przeglądarek. Czas pokaże.
I co dalej z DPmaniakiem?
Odsyłam do opisu rozszerzenia (jak już wyżej wspomniałem), tam jest kilka szczegółów. Nie ukrywam też, że zamierzam rozbudować to menu o wiele przydatnych funkcji. Jak na przykład subskrypcje ulubionych tematów, możliwość dodania w rozszerzeniu linku do własnego bloga, subskrypcje wpisów zdefiniowanych autorów, wyszukiwarka postów zdefiniowanych użytkowników portalu, własna lista ulubionych wpisów. I co mi tylko wpadnie do głowy i będę to w stanie zrealizować, a co nie pojawi się w ogólne dostępnej funkcjonalności portalu. Pożyjemy zobaczymy.
Tak na koniec.
Jako iż samozwańczo nazwałem siebie samego DPmaniakiem naszego ulubionego portalu, to postanowiłem tak własnie nazwać to rozszerzenie.
Zapamiętaj! - DjLeo = DPmaniak
I tym jakże pozytywnym akcentem liczę, że chociaż odrobinę przyczynię się do wsparcia aktywnej (lub niekoniecznie) społeczności DP moim skromnym rozszerzeniem. Mam świadomość, że nie jest to nic wielkiego (na razie), ale chociaż odrobinę i w miarę możliwości chciałem wesprzeć aktywnych użytkowników tym rozszerzeniem. Nawet jeżeli tylko garstce osób to menu przypadnie do gustu, to i tak było warto. Może w niedługim czasie, wraz ze wzrostem funkcjonalności, rozszerzenie to stanie się istotnie pomocne dla wielu użytkowników portalu. Pozwoliłem sobie dodać w stopce link do mojego bloga na DP, dlatego zapraszam do korzystania i wszelka krytyka jak zwykle mile widziana, jak również pomysły na funkcjonalność tego rozszerzenia.
Pozdrawiam
DjLeo
EDIT: Niestety z niewiadomych mi powodów, wyszukiwarka w Chrome Web Store przestała działać prawidłowo i nie wyszukuje haseł tj. DPmaniak, DPlink, DjLeo, czy dobreprogramy. Podaję więc bezpośrednie linki do programów: DPmaniak i DPlink.