DokuWiki

It's better when it's simple

Narzędzia użytkownika

Narzędzia witryny


pl:namespaces

Przestrzenie nazw

Przestrzeń nazw jest podobna do folderu, podczas gdy nazwy stron wykazują podobieństwo do plików. Możesz użyć przestrzeni nazw by porządkować strony w DokuWiki. Nazwy przestrzeni nazw mają takie same ograniczenia jak nazwy stron.

Domyślnie instalacja DokuWiki zawiera wbudowaną przestrzeń nazw: wiki.

Tworzenie przestrzeni nazw

Nie musisz tworzyć przestrzeni nazw oddzielnie; po prostu utwórz strony z dwukropkami w nazwie strony. Słowo po ostatnim dwukropku stanie się stroną, podczas gdy pozostałe słowa będą przestrzeniami nazw. Wszystkie przestrzenie nazw użyte w nazwie strony, które nie istniały przed tworzeniem strony, zostaną utworzone automatycznie przez DokuWiki.

(Strony w DokuWiki są tworzone tak, jak we wszystkich innych wiki. Po prostu utwórz link do nieistniejącej strony, wejdź w ten link, po czym wciśnij Utwórz stronę.) Patrz Dodawanie stron.

Przykłady:
example
.example
.:example
odnosi sie do strony „example” w aktualnej przestrzeni nazw.
:exampleodnosi się do strony „example” w głównej (root) przestrzeni nazw.
..example
..:example
.:..:example
odnosi się do strony „example” w nadrzędnej przestrzeni nazw.
wiki:exampleodnosi się do strony „example” w przestrzeni nazw „wiki”. przestrzeń nazw „wiki” położona jest wewnątrz głównej przestrzeni nazw.
ns1:ns2:example
:ns1:ns2:example
odnosi się do strony „example” w przestrzeni nazw ns2. Przestrzeń nazw ns2 leży wewnątrz przestrzeni nazw ns1; przestrzeń nazw ns1 leży wewnątrz głównej przestrzeni nazw.
.ns1:ns2:example
.:ns1:ns2:example
odnosi się do strony „example” w przestrzeni nazw ns2. Przestrzeń nazw ns2 leży wewnątrz przestrzeni nazw ns1; przestrzeń nazw ns1 leży wewnątrz aktualnej przestrzeni nazw.
..ns1:ns2:example
..:ns1:ns2:example
odnosi się do strony „example” w przestrzeni nazw ns2. Przestrzeń nazw ns2 leży wewnątrz przestrzeni nazw ns1; przestrzeń nazw ns1 leży nadrzędnej dla aktualnej przestrzeni nazw (tj. zarówno ns1 jak i aktualna przestrzeń nazw leżą wewnątrz tej samej nadrzędnej przestrzeni nazw, gdziekolwiek względem głównej przestrzeni nazw ta przestrzeń by się nie znajdowała).
.ns1:ns2:
.:ns1:ns2:
odnosi się do strony „start” w przestrzeni nazw ns2. Przestrzeń nazw ns2 leży wewnątrz przestrzeni nazw ns1; przestrzeń nazw ns1 leży w aktualnej przestrzeni nazw.

(Domyślna strona może nazywać się inaczej niż „start” wedle ustawień parametru konfiguracji startpage.)

Pułapka: Składnia dla względnych i bezwzględnych linków wewnętrznych nie jest unikalna i złożona względem konwencji nazewniczej folderów i plików. Ścieżka jest bezwzględna wtedy i tylko wtedy, gdy zaczyna się od „/”. Linki są bezwzględne wtedy i tylko wtedy, gdy mają na początku „:” lub nie mają przedrostka, ale mają wewnątrz (lub na końcu) „:” Linki względne do aktualnej przestrzeni nazw mogą zaczynać się od „.” albo „.:” („..” albo „..:” dla nadrzędnej przestrzeni nazw).

Usuwanie przestrzeni nazw

Gdy wszystkie strony wewnątrz przestrzeni nazw są usunięte, sama przestrzeń nazw logicznie przestaje istnieć. DokuWiki często usuwa również pusty już folder.

Jak zmienić nazwę przestrzeni nazw?

Sposób ręczny

Aby przemianować ręcznie przestrzeń nazw musisz:

  • Zmienić nazwę folderów reprezentujących przestrzeń nazw w:
    • data/pages
    • data/media (jeśli istnieje)
  • Zmienić metadane dla przestrzeni nazw wewnątrz data/meta
  • Usunąć poprzednie dane dla przestrzeni nazw w data/attic (lub przenieś je również, jeśli chcesz zachować poprzednie wersje)

dla przykładu na serwerze Unix mógłbyś:

  • mv /dokuwiki_base/data/pages/old_namespace /dokuwiki_base/data/pages/new_namespace
  • mv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespace
  • rm -Rf /dokuwiki_base/data/meta/old_namespace
  • rm -Rf /dokuwiki_base/data/attic/old_namespace

Zauważ, że wyrażenia old_namespace i new_namespace mogą wymagać kodowania jeśli nie jest używany zestaw znaków Latin (czyli np. grecki, rosyjski, itp).

  • Popraw (edytując je) wszystkie linki do stron z przeniesionej przestrzeni nazw (możesz odnaleźć je przed przeniesieniem przestrzeni nazw przeglądając linki wsteczne wszystkich stron.
  • Przejrzyj każdą ze stron w nowej przestrzeni nazw. Utworzy to brakujące informacje indeksujące i metadane dla stron wewnątrz przeniesionej przestrzeni nazw.

Jednak pozostaje wciąż wiele śmieci wokoło. Na przykład w data/changes.log, różne pliki w pamięci podręcznej (w tym pliki .idx itp). Jeśli to możliwe mógłbyś po prostu zacząć od stanu pustego w poniższy sposób (ponownie pod Unixem) ale ostrzegamy, że będzie to oznaczać utratę wszystkich informacji historycznych (np. recent changes):

  • cat /dev/null > /dokuwiki_base/data/changes.log
  • rm -Rf /dokuwiki_base/data/attic/*
  • rm -Rf /dokuwiki_base/data/cache/?
  • rm -Rf /dokuwiki_base/data/cache/*.idx
  • rm -Rf /dokuwiki_base/data/cache/purgefile
  • Browse each and every page of your Wiki.

WYŁĄCZENIE ODPOWIEDZIALNOŚCI: Rozumiem, że jest to zawiłe (i być może coś zapomniałem/pomieszałem kilka rzeczy, które należy również wykonać). W sumie to wrzód na tyłku. Możesz także użyć kilku wtyczek, przy pomocy których można (od)tworzyć indeks wyszukiwania całej wiki, usunąć całą pamięć podręczną i/lub poprzednimi wersjami wiki unikając w ten sposób robienia tego ręcznie.

Sposób z użyciem wtyczki

Możesz skorzystać z wtyczki PageMove osób trzecich by przenieść każdą ze stron z poprzedniej do nowej przestrzeni nazw. Przejrzyj dokumentację by przekonać się, czy wtyczka spełnia twoje wymagania. Uwaga - wtyczka PageMove nie działa i jest obecnie przestarzała.

Domyślne przekierowanie do przestrzeni nazw

Możliwe jest przekierowanie do pliku domyślnego w przestrzeni nazw przez zakończenie linku dwukropkiem: [[foo:bar:]]. To, do której strony zostanie przekierowany link zależy od istnienia plików o określonych nazwach. Dla linku [[foo:bar:]] sprawdzone zostaną następujące strony:

foo:bar:$conf['start']
foo:bar:bar
foo:bar

Strony sprawdzane są w tej kolejności i która strona zostanie najpierw odnaleziona pierwsza, ta zostanie podłączona.

pl/namespaces.txt · ostatnio zmienione: 2023-03-29 11:53 przez 79.184.108.103

Wszystkie treści w tym wiki, którym nie przyporządkowano licencji, podlegają licencji: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki