diff options
Diffstat (limited to 'files/pl/tworzenie_mikropodsumowania/index.html')
-rw-r--r-- | files/pl/tworzenie_mikropodsumowania/index.html | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/files/pl/tworzenie_mikropodsumowania/index.html b/files/pl/tworzenie_mikropodsumowania/index.html new file mode 100644 index 0000000000..a5d8492f35 --- /dev/null +++ b/files/pl/tworzenie_mikropodsumowania/index.html @@ -0,0 +1,214 @@ +--- +title: Tworzenie mikropodsumowania +slug: Tworzenie_mikropodsumowania +tags: + - Mikropodsumowania + - Wszystkie_kategorie +translation_of: Archive/Mozilla/Creating_a_microsummary +--- +<p> + </p> +<p> + Generator mikropodsumowań jest to zestaw instrukcji do tworzenia mikropodsumowania na bazie treści strony WWW. Strony WWW mogą odwoływać się do generatorów przez elementy <code><link rel="microsummary"></code> w elementach <code><head></code>. Generatory mogą także być niezależnie pobierane i instalowane przez użytkowników, jeśli zawierają listę stron z którymi współpracują.</p> +<p> + W tym kursie zajmiemy się tworzeniem generatora mikropodsumowań dla <a class="external" href="http://www.spreadfirefox.com/">strony domowej Spread Firefox</a>, która wyświetla aktualną liczbę pobrań Firefoksa i podaje ją wraz z tekstem <cite>Pobrań Firefoksa:</cite>; na przykład: <cite>Pobrań Firefoksa: 174475447</cite>.</p> +<p> + Stworzymy arkusz transformacji XSLT, który przekonwertuje stronę w jej mikropodsumowanie, nauczymy się określać z jakimi stronami pracuje generator i jak przystosować go do pobierania i instalacji.</p> +<p> + W każdym kroku tworzenia arkusza transformacji oraz innych elementów kodu w tym kursie, nowy materiał będzie <b>pogrubiony</b>, aby ułatwić Ci poruszanie się po tekście.</p> +<h2 id="Pocz.C4.85tki" name="Pocz.C4.85tki"> + Początki</h2> +<p> + Generatory są to dokumenty XML, których korzeniem (root element) jest element <code><generator></code> w przestrzeni nazw <cite><a class="external" href="http://www.mozilla.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/microsummaries/0.1</a></cite>. Aby rozpocząć tworzenie generatora, stwórz nowy, pusty plik tekstowy i dodaj deklarację XML oraz pusty znacznik <code><generator></code>:</p> +<pre class="eval"><b><?xml version="1.0" encoding="UTF-8"?></b> +<b><generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"></b> +<b></generator></b> +</pre> +<h2 id="Nadawanie_nazwy" name="Nadawanie_nazwy"> + Nadawanie nazwy</h2> +<p> + Generatory powinny posiadać atrybut <code>name</code> opisujący mikropodsumowania, które te generatory tworzą. Nazwy powinny być wystarczająco dokładne, aby użytkownik miał świadomość jakie dane to mikropodsumowanie dostarcza. Ponieważ nasz generator będzie tworzył mikropodsumowania wyświetlające liczbę pobrań Firefoksa, nazwijmy je "Liczba pobrań Firefoksa":</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + <b>name="Liczba pobrań Firefoksa"</b>> +</generator> +</pre> +<h2 id="Dodawanie_arkusza_transformacji_XSLT" name="Dodawanie_arkusza_transformacji_XSLT"> + Dodawanie arkusza transformacji XSLT</h2> +<p> + Generatory muszą zawierać arkusze transformacji XSLT (znane także jako arkusze XSLT), które transformują treść strony w mikropodsumowanie. XSLT jest potężnym językiem do transformacji dokumentów w inne formy prezentacji tych samych danych.</p> +<p> + Dodaj arkusz transformacji XSLT do generatora, poprzez dołączenie go wewnątrz elementu <code><template></code>:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Liczba pobrań Firefoksa"> + <b><template></b> + <b><transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"></b> + <b></transform></b> + <b></template></b> +</generator> +</pre> +<p> + Zwróć uwagę, że chociaż generatory mikropodsumowań mogą obsługiwać dowolny XSLT, także taki, który tworzy sformatowany tekst, Firefox aktualnie obsługuje tylko czysty tekst jako wynik przetwarzania XSLT.</p> +<h2 id="Okre.C5.9Blanie_typu_wyj.C5.9Bcia" name="Okre.C5.9Blanie_typu_wyj.C5.9Bcia"> + Określanie typu wyjścia</h2> +<p> + Jako, że arkusz transformacji XSLT ma tworzyć tekst mikropodsumowania, powinniśmy dodać element <code><output></code> XSLT:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Liczba pobrań Firefoksa"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <b><output method="text"/></b> + </transform> + </template> +</generator> +</pre> +<h2 id="U.C5.BCycie_prostego_XSLT_.3Ctemplate.3E" name="U.C5.BCycie_prostego_XSLT_.3Ctemplate.3E"> + Użycie prostego XSLT <code><template></code></h2> +<p> + Procesor XSLT transformuje dokumenty porównując każdy element <code><template></code> w arkuszu transformacji ze zbiorem węzłów w dokumencie. Kiedy atrybut <code>match</code> elementu <code><template></code> pasuje do węzła, procesor wykonuje transformację określoną przez zawartość tego elementu.</p> +<p> + Jest to potężny mechanizm, ponieważ pozwala trawersować drzewo węzłów dokumentu, rekursywnie tworząc wyjście bazujące na zawartości samego dokumentu. Ale w naszym przypadku, kiedy tworzymy mikropodsumowanie dla strony Spread Firefox, potrzebujemy tylko jednego elementu <code><template></code>, który pasuje do korzenia (root node) dokumentu i jest wykonywany raz:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Liczba pobrań Firefoksa"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <b><template match="/"></b> + <b></template></b> + </transform> + </template> +</generator> +</pre> +<h2 id="Do.C5.82.C4.85czanie_licznika_pobra.C5.84" name="Do.C5.82.C4.85czanie_licznika_pobra.C5.84"> + Dołączanie licznika pobrań</h2> +<p> + Aby dołączyć licznik pobrań do wyjścia arkusza transformacji XSLT, musimy dodać element <code><value-of></code> do szablonu. Atrybut <code>select</code> tego elementu zawiera wyrażenie XPath, które wskazuje na węzeł zawierający liczbę pobrań.</p> +<p> + XPath jest językiem służącym do identyfikacji węzłów w dokumentach HTML/XML. Posiada także podstawowe funkcje do manipulacji tymi węzłami i ich zawartością. Najłatwiej stworzyć wyrażenie XPath, które wskazuje na węzeł, który chcesz uchwycić, korzystając z <a class="link-https" href="https://addons.mozilla.org/firefox/1095/">rozszerzenia XPath Checker</a>.</p> +<p> + Zainstaluj to rozszerzenie (uruchamiając ponownie Firefoksa, aby zakończyć instalację), a następnie wejdź na stronę <a class="external" href="http://www.spreadfirefox.com/">Spread Firefox</a>, znajdź licznik pobrań Firefoksa (duża liczba na górze strony w prawej kolumnie), kliknij prawym klawiszem myszy na tym elemencie i z menu kontekstowego wybierz <cite>View XPath (Pokaż XPath)</cite>.</p> +<p> + XPath Checker otworzy nowe okno. Będzie w nim pole <cite>XPath</cite> zawierające wyrażenie XPath wskazujące na węzeł licznika pobrań: <cite>id('download-count')</cite>.</p> +<p> + Dodaj element <code><value-of></code> do elementu <code><template></code>. Ustaw atrybut <code>select</code> tego elementu na wyrażenie XPath:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Licznik pobrań Firefoksa"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <b><value-of select="id('download-count')"/></b> + </template> + </transform> + </template> +</generator> +</pre> +<h2 id="Dodawanie_tekstu" name="Dodawanie_tekstu"> + Dodawanie tekstu</h2> +<p> + Aby dodać napis <cite>Pobrań Firefoksa:></cite> do mikropodsumowania, potrzebujemy do elementu <code><template></code> dodać element <code><text></code> zawierający wybrany napis.</p> +<p> + Dodaj element <code><text></code> do szablonu XSLT z treścią <cite>Pobrań Firefoksa:</cite>:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Licznik pobrań Firefoksa"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <b><text>Pobrań Firefoksa: </text></b> + <value-of select="id('download-count')"/> + </template> + </transform> + </template> +</generator> +</pre> +<p> + Zwróć uwagę, że, w odróżnieniu od języka HTML, gdzie białe znaki są prezentowane w postaci pojedynczej spacji, przestrzeń między znacznikami XSLT nie zostanie włączona do wyjścia XSL. Pamiętaj, aby dodać spację na końcu, wewnątrz znacznika, aby oddzielić napis od liczby.</p> +<p> + Po tej zmianie, właśnie skończyliśmy pisać arkusz transformacji XSLT, który konwertuje stronę domową Spread Firefox do postaci mikropodsumowania.</p> +<h2 id="Okre.C5.9Blanie_listy_stron_na_kt.C3.B3rych_generator_dzia.C5.82a" name="Okre.C5.9Blanie_listy_stron_na_kt.C3.B3rych_generator_dzia.C5.82a"> + Określanie listy stron na których generator działa</h2> +<p> + Teraz, kiedy napisaliśmy już arkusz transformacji, musimy określić do jakich stron on pasuje. Gdybyśmy byli twórcami strony Sread Firefox, moglibyśmy po prostu dodać odnośnik do generatora wewnątrz samej stron, dodając znacznik <code><link rel="microsummary"></code> w sekcji <code><head></code>:</p> +<pre class="eval"><head> + ... + <b><link rel="microsummary" href="path/to/our/generator.xml"></b> +</head> +</pre> +<p> + Niestety, nie jesteśmy nimi. Możemy jednak określić stronę z która generator współpracuję wewnątrz samego generatora, a następnie udostępnić nasz generator do pobrania i instalacji innym. Aby określić strony, na których generator działa, należy użyć elementu <code><pages></code> wewnątrz elementu <code><generator></code>:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Licznik pobrań Firefoksa"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <text>Pobrań Firefoksa </text> + <value-of select="id('download-count')"/> + </template> + </transform> + </template> + <b><pages></b> + <b></pages></b> +</generator> +</pre> +<p> + Element <code><pages></code> może zawierać dowolną liczbę elementów <code><include></code> oraz <code><exclude></code>, określających strony na których, generator, odpowiednio, działa, lub nie działa.</p> +<p> + Aby sprawić, by generator działał na danej stronie, dodaj element <code><include></code>, i jako zawartość podaj mu wyrażenie regularne pasujące do adresu tej strony. Aby określić, że generator nie pracuje z daną stroną, dodaj element <code><exclude></code> i jako zawartość podaj wyrażenie regularne pasujące do adresu strony.</p> +<p> + Domyślnie, generatory nie pracują z żadną stroną, więc musisz bezpośrednio określić listę stron, z którymi współpracują, i nie musisz wyłączać żadnych stron, chyba, że wcześniej je włączyłeś.</p> +<p> + Dodaj element <code><include></code> pasujący do strony domowej Spread Firefox:</p> +<pre class="eval"><?xml version="1.0" encoding="UTF-8"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" name="Licznik pobrań Firefoksa"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <text>Pobrań Firefoksa </text> + <value-of select="id('download-count')"/> + </template> + </transform> + </template> + <pages> + <b><include><span class="nowiki">http://(www\.)?spreadfirefox\.com/(index\.php)?</span></include></b> + </pages> +</generator> +</pre> +<h2 id="Udost.C4.99pnianie_generatora_do_pobrania" name="Udost.C4.99pnianie_generatora_do_pobrania"> + Udostępnianie generatora do pobrania</h2> +<p> + Kiedy nasz generator działa już ze stroną Spread Firefox, ostatnią rzeczą, jaka nam pozostała, to sprawić, aby można go było pobrać. Aby to zrobić, musimy postawić stronę WWW i stworzyć odnośnik JavaScript na tej stronie, który wywoła metodę Firefoksa <cite>window.sidebar.addMicrosummaryGenerator()</cite>, aby pobrać i zainstalować generator.</p> +<p> + Na przykład, jeśli wystawisz plik generatora w sieci pod adresem <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml" rel="freelink">http://people.mozilla.com/~myk/micro...-generator.xml</a>, i chcesz, aby użytkownicy mogli go zainstalować z <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/index.html" rel="freelink">http://people.mozilla.com/~myk/micro...ial/index.html</a>, musisz dodać poniższy kod do pliku <cite>index.html</cite> page:</p> +<pre class="eval"><b><a href="javascript:window.sidebar.addMicrosummaryGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')">Zainstaluj mikropodsumowanie strony domowej Spread Firefox!</a></b> +</pre> +<p> + Niestety, naciśnięcie tego odnośnika w przeglądarkach nie obsługujących mikropodsumowań, wywoła błąd JavaScript, więc, aby to poprawić, powinniśmy sprawdzić, czy użytkownik korzysta z przeglądarki obsługującej mikropodsumowania i wyświetlić wyjaśnienie jeśli nie. Może to wyglądać na przykład tak:</p> +<pre class="eval"><b><script></b> +<b> const warning = "Ups! Potrzebujesz przeglądarki obsługującej mikropodsumowania jak Firefox 2.0, aby zainstalować i używać generatorów mikropodsumowań.";</b> +<b> function addGenerator(url) {</b> +<b> if (typeof window.sidebar == "object" &&</b> +<b> typeof window.sidebar.addMicrosummaryGenerator == "function")</b> +<b> window.sidebar.addMicrosummaryGenerator(url);</b> +<b> else</b> +<b> alert(warning);</b> +<b> }</b> +<b></script></b> +<b><a href="javascript:addGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')">Zainstaluj mikropodsumowanie strony domowej Spread Firefox!</a></b> +</pre> +<p> + Uwaga. Ze względu na błąd {{ Bug(341283) }}, <cite>addMicrosummaryGenerator()</cite> nie akceptuje relatywnych adresów URL.</p> +<h2 id="Podsumowanie" name="Podsumowanie"> + Podsumowanie</h2> +<p> + Powinieneś mieć teraz generator mikropodsumowań, który wyświetla aktualną liczbę pobrań Firefoksa. Dodaj stronę domową Spread Firefox do zakładek i wybierz mikropodsumowanie z rozwijanego menu <cite>Podsumowanie</cite> w oknie dialogowym <cite>Dodaj zakładkę</cite>.</p> +<p> + Aby dowiedzieć się więcej o Mikropodsumowaniach, zajrzyj na <a class="external" href="http://wiki.mozilla.org/Microsummaries">stronę domową Mikropodsumowań (en)</a>.</p> |