Programowanie

maj 192007

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.

2 komentarz
mar 012007

Monitor temperatury w Firefoxie

Od kiedy jeżdżę po mieście skuterem dość istotną sprawą stało się sprawdzanie jaka jest temperatura na zewnątrz (szczególnie w zimie). Co prawda jest pokazana pogoda na WP i na Onecie, mamy również aktualną temperaturę na Siedlce24.pl ale wszystko to wymaga wejścia na odpowiednie strony.

Dlatego poszukałem informacji nt. tworzenia dodatków do Firefoxa i tak oto powstał Monitor temperatury w Siedlcach (aktualna wersja na końcu postu).

A tak wygląda dodatek po zainstalowaniu:

temperatura-2.jpg

a tak po najechaniu myszą

temperatura-2.jpg

W razie problemów z instalacją proszę o pozostawienie komentarza.

Aktualizacja 2009-01-28: wersja 0.2.

2 komentarz
1 2