Greasemonkey i Wordpress czyli ułatwione drukowanie
Każdy, kto czyta często dłuższe artykuły w internecie, z pewnością zgodzi się ze stwierdzeniem że czytanie z ekranu monitora szybko męczy wzrok i wygodniej czyta się drukowany tekst. Sam chętnie drukuję dłuższe strony.
Niestety często zdarza się, że na wydruku zamiast samej “esencji” strony (czyli interesującego nas tekstu) drukuje się również wiele niepotrzebnych elementów, np. menu, stopka itp. Dzieje się tak szczególnie wtedy, gdy webmaster nie zadbał o przygotowanie wersji przeznaczonej specjalnie do wydruku (oddzielna podstrona) lub brak jest alternatywnego arkusza stylów dla drukarki. W tym drugim przypadku wystarczy w kodzie strony wstawić odpowiedni znacznik:
<link href=”style-print.css” rel=”stylesheet” type=”text/css” media=”print”>
i poukrywać niepotrzebne blok poprzez zastosowanie display, np. #header { display: none; }
Użytkownikom Firefox’a z pomocą przychodzi dodatek Greasemonkey (pozwalający zmieniać wygląd oraz funkcjonalność stron) i skrypt który dla blogów opartych na popularnym Wordpress’ie ukrywa niepotrzebne elementy.
Aktualnie skrypt przygotowany jest dla stron http://ziemczonek.pl oraz http://alexba.com (chwilowo nieczynna bo autor najwidoczniej zapomniał przedłużyć ważność domeny).
Sam skrypt można łatwo rozbudować o dodatkowe elementy aby miał zastosowanie również dla innych stron.
Na początku znajduje się nagłówek:
// ==UserScript==
// @name WordPress.com Bar Remover
// @description Removes the WordPress.com upper navigation bar
// @include http://ziemczonek.pl*
// @include http://alexba.com*
// ==/UserScript==
W linijkach zaczynających się od // @include ustawiamy adresy stron dla których skrypt ma być aktywny.
Poniżej mamy funkcję addGlobalStyle w której nic nie musimy zmieniać.
function addGlobalStyle(css) {
var head, style;
head = document.getElementsByTagName(’head’)[0];
if (!head) { return; }
style = document.createElement(’style’);
style.type = ‘text/css’;
style.media = ‘print’;
style.innerHTML = css;
head.appendChild(style);
}
I teraz najważniejsza część - zdefiniowanie identyfikatorów i klas które ukrywamy.
addGlobalStyle(’#header { display: none; }’);
addGlobalStyle(’#categories { display: none; }’);
addGlobalStyle(’#postcomment { display: none; }’);
addGlobalStyle(’#commentform { display: none; }’);
addGlobalStyle(’#sk2-footer { display: none; }’);
addGlobalStyle(’#credits { display: none; }’);
addGlobalStyle(’#archives { display: none; }’);
addGlobalStyle(’#blogroll { display: none; }’);
addGlobalStyle(’#pages { display: none; }’);
addGlobalStyle(’#footer { display: none; }’);
addGlobalStyle(’.navigation { display: none; }’);
addGlobalStyle(’#sidebar { display: none; }’);
addGlobalStyle(’#respond { display: none; }’);
addGlobalStyle(’#first_site_bar { display: none; }’);
addGlobalStyle(’#page hr { display: none; }’);
Gdyby ktoś miał problemy z instalacją lub rozbudowaniem skryptu - zapraszam do kontaktu.
grzegorz | Programowanie, Z życia wzięte

Witam
Autor alexba.com niczego nie zapomniał, tylko kiepska firma hostingowa ma bałagan :-)
Strona jest już dostępna, trzeba tylko wyczyścić cache przeglądarki lub zresetować komputer
Pozdrawiam seredecznie
Alex
PS: Ciekawe jakie elementy mojego blogu uważasz za niepotrzebne? :-)
Zasugerowałem się komunikatem “This domain name expired on May 18, 2007″ i tym że sam kiedyś zapomniałem przedłużyć ważność prywatnej domeny (a mając ich kilka(naście) trudno kontrolować datę wygaśnięcia jeśli rejestrator nie przypomni wcześniej).
Za zbędne _na wydruku_ uważam nagłówek, archiwa, stopkę, blogroll itp. Na ekranie są jak najbardziej potrzebne.