Pomoc w edycji wiki: Różnice pomiędzy wersjami

Z Wiki piwo.org
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 99: Linia 99:


Przestrzeń nazw (''namespace'') to jakby przedrostek w nazwie strony. Od nazwy oddziela go dwukropek, np. "Help:Template". Normalne strony należą do domyślnej przestrzeni nazw. MediaWiki definiuje też ponad 10 standardowych przestrzeni, takich jak "Meta", "Help", "Category", "Image", "User", "Talk". Własne przestrzenie nazw można dodać tylko poprzez modyfikację kodu skryptu.
Przestrzeń nazw (''namespace'') to jakby przedrostek w nazwie strony. Od nazwy oddziela go dwukropek, np. "Help:Template". Normalne strony należą do domyślnej przestrzeni nazw. MediaWiki definiuje też ponad 10 standardowych przestrzeni, takich jak "Meta", "Help", "Category", "Image", "User", "Talk". Własne przestrzenie nazw można dodać tylko poprzez modyfikację kodu skryptu.
=== Instalacja ===
MediaWiki wymaga do działania PHP w wersji 5 oraz bazy danych MySQL. Sam skrypt zajmuje nieco ponad 10 MB. Myślę, że trzeba być jednak przygotowanym na duży rozmiar bazy danych - system pamięta każdą poprzednią wersję strony.
Instalacja jest bardzo prosta i polega na wysłaniu plików na serwer, nadaniu odpowiednich uprawnień katalogom, a następnie uruchomieniu specjalnego skryptu instalacyjnego, który jest zwykłą stroną PHP. Potem należy dokonać konfiguracji.


=== Konfiguracja ===
=== Konfiguracja ===

Wersja z 19:49, 1 lip 2009

Co to jest Wiki?

  • Jako idea, wiki to strona WWW umożliwiająca każdemu utworzenie nowego lub zmianę istniejącego tekstu, a także powrót do każdej poprzedniej wersji.
  • Z punktu widzenia technicznego, Wiki to bardzo ogólny i uniwersalny CMS, za pomocą którego można szybko i prosto, bez pisania żadnych skryptów, zrealizować różnego rodzaju organizację i prezentację informacji.

Poznać Wiki

Jeśli chcesz uruchomić własne Wiki lub aktywnie uczestniczyć w tworzeniu i edycji istniejącego, musisz choć trochę poznać ten temat. Na początek polecam te linki:

Na poznanie czekają zwłaszcza następujące kwestie:

Strony

W Wiki wszystko jest stroną. Całe Wiki to płaski, bezpostaciowy i niezorganizowany zbiór stron. Każda strona ma po prostu nazwę i treść. Nazwa jest jednocześnie jej identyfikatorem i częścią jej adresu URL. Nazwę obowiązują pewne dość skomplikowane zasady, jak nie mająca znaczenia wielkość pierwszej litery czy zamienność spacji ze znakiem "_".

Wiki pamięta każdą poprzednią wersję strony sprzed modyfikacji i pozwala do niej powrócić - zupełnie jak systemy kontroli wersji typu CVS czy SVN (Subversion). Dzięki temu można dać dostęp do edycji wszystkim internautom nie bojąc się o zniszczenie serwisu.

Można przejść do strony o podanej nazwie, a także wyszukiwać pełnotekstowo w treściach stron. Aby utworzyć stronę, można spróbować wejść na stronę o podanej nazwie i wraz z komunikatem o jej braku pojawi się link do edycji treści. Można też od razu wpisać odpowiedni URL.

Strony można organizować na różne sposoby:

  • Wstawiając linki do innych stron
  • Przypisując strony do kategorii
  • Tworząc strony do przestrzeniach nazw
  • Tworząc podstrony
  • Tworząc przekierowania

Podstronę tworzy się po prostu podając jako jej nazwę łańcuch w rodzaju "Nazwa strony nadrzędnej/Nazwa danej strony", ale używanie tego mechanizmu jest niezalecane.

Kategorie

To mechanizm, dzięki któremu strony można grupować. Kategoria to też strona, ale leżąca w przestrzeni nazw "Category", np. "Category:Kategoria1". Tekst może należeć do dowolnej liczby kategorii. Aby tekst należał do danej kategorii, umieść w jego treści:

[[Category:Kategoria1]]

Kategoria może mieć podkategorie. W tym celu wystarczy, że dana podkategoria będzie w swojej treści miała wpisane, że należy do danej kategorii. Na stronie kategorii automatycznie generuje się posortowana i pogrupowana alfabetycznie lista podkategorii i stron, które do niej należą.

Szablony

Szablon (template) to fragment kodu, który można wstawiać do innych stron. Sam szablon też jest stroną, ale należącą do przestrzeni nazw "Template", np. "Template:Szablon1". Można o szablonie myśleć jak o funkcji, która wywołana wypisze coś na wyjściu. Można przekazywać jej parametry. Może też wywoływać inne szablony.

Szablony to temat rozległy i być może najbardziej skomplikowany w całym Wiki. Postaram się go pokrótce przedstawić, ale radzę zapoznać się z tekstami spod linków poniżej. Warto też zajrzeć do źródeł stron na Wikipedii takich jak strona jakiegoś miasta - np. Częstochowa, czy jakiegoś programu - np. MySQL, żeby zobaczyć, jak oni zrobili tą ramkę po prawej stronie z opisem podstawowych parametrów.

Szablony służą właśnie do robienia takich ramek lub - bardziej ogólnie - do wstawiania na różne strony wspólnego fragmentu kodu. Programiście najłatwiej pomyśleć o szablonie jako o funkcji, którą można wywołać, a ona wypisze coś na wyjściu. Można też przekazać jej parametry. Szablon może użyć innego szablonu itd.

Utworzenie szablonu polega na (zgadnij!) utworzeniu normalnej strony Wiki, tylko że należącej do przestrzeni nazw "Template", np. "Template:Program". Użycie szablonu na innej stronie wygląda tak:

{{Program}}

Parametry mogą mieć nazwy. Wówczas wywołanie szablonu wygląda tak:

{{Program|Nazwa=MySQL|Licencja=Open Source}}

Natomiast użycie parametru w jego treści tak:

Oto program.
<br>Nazwa: {{{Nazwa}}}
<br>Licencja: {{{Licencja}}}

Jeśli się nie poda parametru, to na wyjście trafi niestety paskudny, dosłownie przepisany ciąg w rodzaju "{{{Licencja}}}". Dlatego zawsze trzeba podawać wszystkie parametry, choćby ich wartość była pusta. Chyba, że ktoś znajdzie rozwiązanie tego problemu - ja nie znalazłem. Na Wikipedii też podają zawsze wszystkie parametry szablonu.

Parametry mogą być też numerowane. Wówczas podaje się je podczas użycia szablonu po prostu po kolei:

{{Program|MySQL|Open Source}}

A w treści szablonu odwołuje się do nich poprzez ich numery:

Oto program.
<br>Nazwa: {{{1}}}
<br>Licencja: {{{2}}}

W razie potrzeby (np. kiedy w wartości parametru występuje znak równości '=') można też wyspecyfkować parametr numerowany tak jak nazwany, pisząc po prostu "1=Wartość|2=Wartość" itp.

Kilka innych drobiazgów:

<noinclude>...</noinclude>

Wypisuje treść tylko kiedy szablon jest pokazywany jako strona, a nie użyty w innej stronie jako szablon. Przydatne do umieszczania opisu szablonu, jego parametrów i ogólnych informacji do czego służy oraz jak go używać.

<includeonly>...</includeonly>

Przeciwieństwo powyższego. Wypisuje treść tylko kiedy jest użyty jako szablon na innej stronie.

Trudno wyobrazić sobie też dobre używanie szablonów bez doinstalowania wtyczki ParserFunctions, która wzbogaca składnię języka opisu Wiki o dyrektywy takie jak {{#if}}.

Przestrzenie nazw

Przestrzeń nazw (namespace) to jakby przedrostek w nazwie strony. Od nazwy oddziela go dwukropek, np. "Help:Template". Normalne strony należą do domyślnej przestrzeni nazw. MediaWiki definiuje też ponad 10 standardowych przestrzeni, takich jak "Meta", "Help", "Category", "Image", "User", "Talk". Własne przestrzenie nazw można dodać tylko poprzez modyfikację kodu skryptu.

Konfiguracja

Konfiguracja jest prosta i polega na modyfikacji lub uzupełnianiu pliku LocalSettings.php. Znajdują się tam definicje zmiennych globalnych wpływających na działanie systemu, np. określających uprawnienia anonimowych użytkoników do edycji strony. Ustawienia domyślne (dużo więcej!) można znaleźć w pliku includes/DefaultSettings.php.

Użytkownicy i uprawnienia

Domyślnie każdy użytkownik ma prawo do tworzenia i edytowania stron. Można te uprawnienia zmienić w konfiguracji skryptu. Wiki, jak każdy CMS, posiada funkcję kont, rejestracji i logowania. Konto użytkownika może mieć nadane specjalne uprawnienia. Możliwe poziomy uprawnień to:

Bureaucrat
Taki status ma konto domyślne - to pierwsze tworzone po instalacji. To najwyższy poziom. Niektóre źródła z dokumentacji MediaWiki podają, że można je nadać tylko ręcznie w bazie danych, ale w obecnej wersji to chyba nie jest już prawdą. Bureaucrat może dawać sysopa.
Sysop (administrator)
Może usuwać i przywracać usuwane strony. Może zabezpieczać i odbezpieczać strony przed edycją. Może blokować konta użytkowników, adresy IP i zakresy adresów IP.
Bot
Uprawnienie dla botów (automatów edytujących Wiki, jeśli takie są), żeby wprowadzane przez nich zmiany nie były pokazywane w historii.

Można utworzyć własne grupy użytkowników, ale tylko manipulując w skryptach.

Zabezpieczenia

Dostępne zabezpieczenia to:

  • Zmiana uprawnień do edycji i innych operacji dla poszczególnych rodzajów użytkowników (w konfiguracji skryptu)
  • Banowanie kont
  • Banowanie adresów IP i zakresów adresów IP
  • Zabezpieczanie poszczególnych stron przed edycją
  • Patrolling

Patrolling to mechanizm czegoś w rodzaju moderacji. Osobno przydzielane są uprawnienia do edycji i osobno do zaznaczania wersji strony jako "patrolled". Wersja "patrolled" oznacza, że strona jest OK i jest zatwierdzona przez modów. Tylko tyle. Mimo tego mechanizmu zmiany "unpatrolled" są najprawdopodobniej od razu widoczne dla wszystkich. Wiki nie posiada więc niestety możliwości zgłaszania zmian, które dopiero po przejściu moderacji wejdą w życie.

Strony specjalne

Jeśli szukasz linków do pewnych mechanizmów systemu Wiki innych, niż tylko pokazanie strony o podanej nazwie - np. listy wszystkich stron, plików, kategorii itp., zapewne nie wiesz, że kryją się one w menu po lewej stronie pod niepozornym linkiem zatytułowanym Strony specjalne.

Obrazki i inne pliki

Oprócz edycji stron można też dołączać pliki. Plik to też tak naprawdę strona, tylko należąca do przestrzeni nazw "Image", np. "Image:XXX_1265.jpg". Domyślnie może je wysyłać każdy, kto może tworzyć i edytować strony. Robi się to za pomocą linka "Prześlij plik" w "Stronach specjalnych".

Dla Wiki plik i obrazek to to samo. Nic dziwnego - domyślnie jedynymi akceptowanymi typami plików są obrazki w stosowanych w Internecie formatach graficznych. Ten sam mechanizm można jednak wykorzystać do zamieszczania wszelkich plików. Wystarczy tylko uzupełnić listę akceptowanych rozszerzeń w konfiguracji skryptu.

Zmiana wyglądu

Bardzo łatwo zmienić logo. Ogólny styl już "nieco" trudniej, bowiem plik CSS liczy sobie ponad 1400 linii. Ten domyślny wygląda przy tym całkiem nieźle. Nic dziwnego więc, że większość nawet poważnych serwisów opartych na Wiki stosuje styl domyślny - MonoBook.

WikiText

Treść stron pisze się w specjalnym języku opisu zwanym WikiText. Jest to dziwaczny twór pozwalający zwięźle i wygodnie dokonywać podstawowych formatowań, a do pozostałych funkcji wykorzystujący HTML lub własne, podobne do HTML-a znaczniki. Na początek polecam te linki:

Ogólne

Jeden koniec wiersza nie ma znaczenia. Dwa końce wiersza (pusta linia) tworzą nowy akapit. Zupełnie jak w TeX.

''Tekst''
Tekst Pochylenie
'''Tekst'''
Tekst Pogrubienie
'''''Tekst'''''
Tekst Pogrubienie i pochylenie
* Pozycja 1
* Pozycja 2
  • Pozycja 1
  • Pozycja 2
Lista wypunktowana
# Pozycja 1
# Pozycja 2
  1. Pozycja 1
  2. Pozycja 2
Lista numerowana
# Pozycja 1
# Pozycja 2
#* Pozycja 2,1
#* Pozycja 2,2
  1. Pozycja 1
  2. Pozycja 2
    • Pozycja 2,1
    • Pozycja 2,2
Lista zagnieżdżona
; słowo 1 : definicja 1
; słowo 2
: definicja 2
słowo 1
definicja 1
słowo 2
definicja 2
Lista definicyjna
: tekst
tekst
Wcięcie
 kod
kod
Kod (każda linijka zaczyna się od spacji). Ja jednak preferuję HTML-owe <pre>.
~~~
Adam Sawicki Nazwa użytkownika (dobre do dyskusji)
~~~~
Adam Sawicki 22:31, 23 paź 2006 (CEST) Nazwa użytkownika, data i czas edycji (dobre do dyskusji)
~~~~~
22:31, 23 paź 2006 (CEST) Data i czas edycji (dobre do dyskusji)
-----
----- Linia pozioma

Dozwolone są też elementy HTML-a, takie jak pokazane poniżej:

<br>, <br/>
<pre>
<blockquote>
<center>
<div>
<span>
<table>, <tr>, <td>
<tt>, <code>
<small>, <big>
<u>, <s>, <strike>
<ins>, <del>
<sub>, <sup>
<ol>, <ul>, <li>
<font>

Dozwolone są także:

  • Atrybuty HTML, np. "style" z dowolnie wpisanym stylem CSS
  • Komentarze HTML <!-- ... -->
  • Encje HTML, jak &#93;, &copy;, &lt;

Sekcje

Sekcje, czyli nagłówki robi się tak:

== Nagłówek poziomu 1 ==
=== Nagłówek poziomu 2 ===
==== Nagłówek poziomu 3 ===

Automatycznie generuje się z nich spis treści.

Linki

[[Nazwa]]
Link do innej strony tego Wiki o podanej nazwie.
Najnowszego [[Windows]]a
Link z dołączoną końcówką.
Najnowszego [[Linux|Linuksa]]
Link z jawnie podanym tekstem, który ma być tym linkiem.
[[Nazwa#Sekcja1]]
Link do konkretnej sekcji danej strony. Sekcja1 to tytuł nagłówka.
[[:Category:Kategoria1]]
Link do kategorii (bez tego dwukropka na początku to nie byłby link, tylko przypisanie strony do kategorii).
[[:Image:XXX_1024.jpg]]
Link do strony obrazka (bez tego dwukropka na początku to nie byłby link, tylko wstawienie obrazka).
[[media:XXX_1024.jpg|Opis]]
Link bezpośrednio do pliku.
http://www.google.pl/
Link zewnętrzny. Pokaże się adres.
[http://www.google.pl/]
Link zewnętrzny. Pokaże się coś w rodzaju "[1]".
[http://www.google.pl/ Google]
Link zewnętrzny. Pokaże się podany tekst.

Obrazki

Ogólna składnia do wstawienia obrazka to:

[[Image:NazwaPliku|Typ|Lokacja|Rozmiar|Tytuł]]
  • Typ: thumb, thumbnail, frame (brak oznacza wstawienie normalnego obrazka)
  • Lokacja: left, right, center, none
  • Rozmiar: #px lub #x#px

Na przykład:

[[Image:Plik1.png]]

Zwykły obrazek

[[Image:Plik1.png|Tekst alternatywny]]

Obrazek z alternatywnym tekstem pokazywanym w dymku. Zaleca się go zawsze podawać. Tylko komu się chce... :)

[[Image:Plik1.png|frame|Tekst alternatywny]]

Obrazek pływający po prawej stronie. Tekst będzie go oblewał.

[[Image:Plik1.png|30 px]]

Obrazek przeskalowany do podanej szerokości. Proporcje zachowane.

<gallery>
Image:Plik1.jpg
Image:Plik2.jpg|Opis pliku
Tekścik
</gallery>

Galeria obrazków.

Tabele

Tabele można robić tradycyjnie, w HTML-u, np. tak:

<table>
  <tr>
    <th>Komórka 1,1 (nagłówek)
    <th>Komórka 1,2 (nagłówek)
  <tr>
    <td>Komórka 2,1
    <td>Komórka 2,2
</table>
Komórka 1,1 (nagłówek) Komórka 1,2 (nagłówek)
Komórka 2,1 Komórka 2,2

Lub specjalną składnią WikiText, w której:

  • {| to początek tabeli
  • |} to koniec tabeli
  • |+ to podpis tabeli
  • |- to nowy wiersz
  • | to nowa komórka
  • ! to nowa komórka nagłówkowa
  • || to nowa komórka zapisana w tej samej linii
  • !! to nowa komórka nagłówkowa zapisana w tej samej linii

Na przykład:

{|
|+ Tytuł tabeli
|-
!Komórka 1,1 (nagłówek) !! Komórka 1,2 (nagłówek)
|-
|Komórka 2,1
|Komórka 2,2
|}
Tytuł tabeli
Komórka 1,1 (nagłówek) Komórka 1,2 (nagłówek)
Komórka 2,1 Komórka 2,2

Można nawet mieszać atrybuty CSS z tabelami WikiText, ale lepiej wyglądają chyba tabele pisane HTML-em. Atrybut align="right" dla tabeli uczyni ją pływającą z prawej strony, a tekst będzie ją oblewał.

Ramka na stronę główną

Zastanawiasz sie, jak zrobić taką ładną ramkę, jaką ma na stronie głównej Wikipedia i inne Wiki? To nic wielkiego! - trzeba ją sobie ręcznie zrealizować w HTML-u za pomocą tabeli i stylu CSS, o tak:

<table style="width:100%" cellspacing="5">
<tr>
<td style="padding:1em; background-color:#F0FFFF; border:1px solid #A0FFFF;">
== Nagłówek 1 ==
Treść 1
</td>
<td style="padding:1em; background-color:#FFF0FF; border:1px solid #FFA0FF;">
== Nagłówek 2 ==
Treść 2
</td>
</tr>
</table>

Efekt:

Nagłówek 1

Treść 1

Nagłówek 2

Treść 2

Inne

__TOC__

W tym miejscu będzie spis treści, zamiast na początku strony.

__NOTOC__

Spowoduje, że na tej stronie nie będzie spisu treści.

__NOEDITSECTION__

Spowoduje, że na tej stronie nie będzie linków do edycji poszczególnych części strony przy nagłówkach sekcji.

#REDIRECT [[Tytuł strony]]

Ta strona będzie tylko przekierowaniem do podanej innej strony.

RFC 4321

Automatycznie stanie się linkiem do podanego RFC.

Adam Sawicki
23 października 2006