Zmienne TWiki są to ciągi znakowe (takie, jak np.
), które są zamieniane w odpowiednie napisy przy każdym wyświetleniu strony. Gdy strona jest przygotowywana do wyświetlenia,
są zastępowane przez dane ustawione przez użytkownika, lub dane generowane automatycznie przez TWiki (np. bieżąca data, lub bieżąca nazwa konta). Istnieją zmienne predefiniowane i zmienne przeznaczone do konfiguracji danego działu, lub strony. Można również tworzyć nowe zmienne.
, podczas instalacji TWiki, lub zawiera informacje otrzymane z serwera, na którym zainstalowano TWiki (jak np. bieżąca nazwa konta, data i czas). Wiele z tych zmiennych umożliwia sformatowanie tekstu wyświetlanego na stronie.
W tej wersji TWiki - Fri, 31 Mar 2006 build 9626 - zdefiniowano następujące zmienne (umieszczone między znakami procent
| Zmienna: | Wartość: |
%WIKIHOMEURL% |
Podstawowy adres URL TWiki: /knapp/bin/view |
%SCRIPTURL% |
Adres URL do skryptów TWiki: http://knapp.pb.edu.pl/knapp/bin |
%SCRIPTURLPATH% |
Ścieżka dostępu do skryptów TWiki: /knapp/bin |
%SCRIPTSUFFIX% |
Rozszerzenie nazwy plików skryptowych, np.: .pl, .cgi: |
%PUBURL% |
Publiczny adres URL TWiki: http://knapp.pb.edu.pl/knapp/pub. Przykład: skrót do pliku załącznika umieszczonego na innej stronie: %PUBURL%/%WEB%/InnaStrona/rysunek.gif |
%PUBURLPATH% |
Ścieżka dostępu do publicznego adresu URL TWiki: /knapp/pub |
%ATTACHURL% |
Adres URL załącznika do bieżącej strony: http://knapp.pb.edu.pl/knapp/pub/TWiki/TWikiVariables. Przykład: skrót do pliku załącznika umieszczonego na bieżącej stronie: %ATTACHURL%/rysunek.gif |
%ATTACHURLPATH% |
Ścieżka dostępu do załącznika do bieżącej strony: /knapp/pub/TWiki/TWikiVariables |
%URLPARAM{"name"}% |
Wartość parametru URL. Istnieje możliwość nadużycia tej zmiennej przy cross-scripting. Przykład: zmienna %URLPARAM{"skin"}% ma wartość print dla URL .../view/TWiki/TWikiVariables?skin=print. Wartość: |
%URLENCODE{"string"}% |
Zakodowanie napisu tak, aby mógł być użyty jako parametr URL. Przykład: %URLENCODE{"napis ze spacjami"}% zwraca: napis%20ze%20spacjami |
%WIKITOOLNAME% |
Nazwa portalu TWiki: TWiki |
%WIKIVERSION% |
Bieżąca wersja TWiki: Fri, 31 Mar 2006 build 9626 |
%USERNAME% |
Nazwa konta użytkownika: guest |
%WIKINAME% |
Nazwa użytkownika TWiki. Jeśli nie zdefiniowano jej na stronie TWikiUsers, to taka sama, jak %USERNAME%. |
%WIKIUSERNAME% |
Nazwa użytkownika %WIKINAME% poprzedzona nazwą działu Main - proszę zawsze stosować pełne nazwy: Main.TWikiGuest |
%MAINWEB% |
Dział zawierający strony: TWikiUsers, OfficeLocations? i TWikiGroups: Main |
%TWIKIWEB% |
Dział zawierający strony z dokumentacją i ustawieniami globalnymi TWiki: TWiki |
%WEB% |
Nazwa bieżącego działu: TWiki |
%BASEWEB% |
Nazwa działu zawierającego stronę, od której rozpoczęto włączenie (INCLUDE). W przypadku braku INCLUDE jest taka sama, jak: %WEB%. |
%INCLUDINGWEB% |
Nazwa działu zawierającego stronę, na której znajduje się włączenie (INCLUDE) bieżącej strony. W przypadku braku INCLUDE jest taka sama, jak: %WEB%. |
%HOMETOPIC% |
Nazwa strony domowej każdego działu: WebHome |
%NOTIFYTOPIC% |
Nazwa strony służącej do wysyłania powiadomień: WebNotify |
%WIKIUSERSTOPIC% |
Nazwa strony zawierającej listę kont użytkowników: TWikiUsers |
%WIKIPREFSTOPIC% |
Nazwa strony z ustawieniami globalnymi: TWikiPreferences |
%WEBPREFSTOPIC% |
Nazwa strony z ustawieniami na poziomie działu: WebPreferences |
%STATISTICSTOPIC% |
Nazwa strony ze statystykami działu: WebStatistics |
%TOPIC% |
Nazwa bieżącej strony: TWikiVariables |
%BASETOPIC% |
Nazwa strony od której rozpoczęło się pojedyncze, lub wielokrotne włączanie (INCLUDE). Jeśli strona nie zawiera INCLUDE, to jest taka sama, jak: %TOPIC%. |
%INCLUDINGTOPIC% |
Nazwa strony, która zawiera włączenie (INCLUDE) bieżącej strony. Jeśli strona nie została wykorzystana jako INCLUDE, to taka sama, jak: %TOPIC%. |
%SPACEDTOPIC% |
Nazwa bieżącej strony z dodanymi spacjami. Wykorzystywana przy wyszukiwaniu za pomocą wyrażeń regularnych, lub wyszukiwaniu odwołań do strony: TWiki%20*Variables |
%TOPICLIST{"format"}% |
Lista stron w danym dziale. Format pozycji jest określony przez "format" i może zawierać zmienne: $name - nazwa strony; $web - nazwa działu.
Parametry to: format, separator i nazwa działu:
| Parametr: | Opis: | Wartość domyślna: |
"format" | Format danej pozycji listy, może zawierać zmienne: $name i $web | "$name" |
format="format" | J.w. | "$name" |
separator=", " | Separator poziomy | "\n" (znak nowej linii) |
web="Nazwa" | Nazwa działu | Nazwa bieżącego działu |
Przykłady:
%TOPICLIST{" * $web.$name"}% - lista wyliczeniowa zawierająca nazwy wszystkich stron.
%TOPICLIST{separator=", "}% lista nazw stron oddzielonych przecinkami.
%TOPICLIST{" <option>$name</option>"}% lista nazw stron w postaci opcji (do użycia w menu rozwijalnym). |
%WEBLIST{"format"}% |
Lista działów TWiki. Na liście nie są umieszczane działy ukryte, tzn. działy w których ustawiono wartość zmiennej NOSEARCHALL na on. Format pozycji jest określony przez "format" i może zawierać zmienne: $name - nazwa działu, $qname - nazwa działu umieszczona między podwójnymi cudzysłowami, $marker - tekst znacznika służącego do zaznaczenia działów umieszczonych na dodatkowej liście selection.
Parametrami są: format, separator i web:
| Parametr: | Opis: | Wartość domyślna: |
"format" | Format jednej linii, może zawierać zmienną $name | "$name" |
format="format" | J.w. | "$name" |
separator=", " | Separator poziomy | "\n" (znak nowej linii) |
webs="public" | Lista nazw działów, oddzielonych przecinkami, "public" dotyczy wszystkich działów nie ukrytych | "public" |
marker="selected" | Tekst znacznika służącego do zaznaczania działów umieszczonych na dodatkowej liście selection (może być pusty, tzn. "") | "selected" |
selection="%WEB%" | Dodatkowa lista działów, które zostaną zaznaczone za pomocą znacznika $marker$ | =section="%WEB%" |
Przykłady: %WEBLIST{" * [[$name.WebHome]]"}% - lista wyliczeniowa zawierająca nazwy wszystkich działów.
%WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% - lista składająca się z: wszystkich działów publicznych i działu Trash; bieżący dział zostanie podświetlony.
|
%GMTIME% |
Czas GMT: 08 Sep 2010 - 08:22 |
%GMTIME{"format"}% |
Sformatowany czas GMT. Do formatowania służą następujące zmienne.
| Zmienna: | Jednostka: | Przykład |
| $seconds | Sekundy | 59 |
| $minutes | Minuty | 59 |
| $hours | Godziny | 23 |
| $day | Dzień miesiąca | 31 |
| $month | Dzień w formacie ISO | Dec |
| $mo | Miesiąc w formacie dwucyfrowym | 12 |
| $year | Rok w formacie czterocyfrowym | 1999 |
| $ye | Rok w formacie dwucyfrowym | 99 |
Zmienne można skrócić do 3 znaków. Przykład: wpisując: %GMTIME{"$day $month, $year - $hour:$min:$sec"}%, otrzymamy: 08 Sep, 2010 - 08:22:35 |
%SERVERTIME% |
Lokalny czas na serwerze: 08 Sep 2010 - 10:22 |
%SERVERTIME{"format"}% |
Sformatowany czas na serwerze. Przykład: wpisując: %SERVERTIME{"$hou:$min"}%, otrzymamy: 10:22 |
%HTTP_HOST% |
Wartość zmiennej środowiskowej HTTP_HOST: knapp.pb.edu.pl |
%REMOTE_ADDR% |
Wartość zmiennej środowiskowej REMOTE_ADDR: 38.107.191.88 |
%REMOTE_PORT% |
Wartość zmiennej środowiskowej REMOTE_PORT: 41876 |
%REMOTE_USER% |
Wartość zmiennej środowiskowej REMOTE_USER: |
%INCLUDE{"strona" ...}% |
Włączenie strony (zobacz IncludeTopicsAndWebPages):
| Parametr: | Opis: | Wartość domyślna: |
"JakasStrona" | Nazwa strony w bieżącym dziale, np. %INCLUDE{"WebNotify"}% | |
"Dzial.Strona" | Nazwa strony w innym dziale, np. %INCLUDE{"TWiki.SiteMap"}% | |
"http://..." | Pełny adres URL, np. %INCLUDE{"http://twiki.org/"}% | |
pattern="..." | Wzorzec w postaci wyrażenia regularnego (RegularExpression) umożliwiający włączenie szeregu stron o nazwach pasujących do tego wzorca | Brak |
rev="1.2" | Włączenie poprzedniej wersji danej strony; nie ma znaczenia dla adresów URL | Ostatnia wersja |
|
%STARTINCLUDE% |
Oznaczenie miejsca rozpoczęcia włączania tekstu ze strony. Zostanie włączony tekst od miejsca %STARTINCLUDE%, do końca pliku, lub do miejsca oznaczonego zmienną %STOPINCLUDE%. Sama zmienna %STARTINCLUDE% nie zostanie włączona. |
%STOPINCLUDE% |
Oznaczenie miejsca zakończenia włączania tekstu ze strony. Sama zmienna %STOPINCLUDE% nie zostanie włączona. |
%TOC% |
Spis treści bieżącej strony. |
%TOC{"JakasStrona" ...}% |
Spis treści utworzony automatycznie na podstawie nagłówków umieszczonych na stronie. W spisie zostaną umieszczone nagłówki sformatowane zgodnie ze zasadami WikiSyntax ("---++ Nagłówek") oraz nagłówki HTML ("<h2>Nagłówek</h2>"). Tekst wpisany w nagłówku za dwoma znakami wykrzyknika "!!" nie zostanie umieszczony w spisie treści, np. jeśli wpiszemy "---+!! Nagłówek", wtedy taki nagłówek nie zostanie umieszczony w spisie treści. Parametry to: nazwa strony, nazwa działu i głębokość:
| Parametr: | Opis: | Wartość domyślna: |
"TopicName" | Nazwa strony | Nazwa bieżącej strony |
web="nazwa" | Nazwa działu | Nazwa bieżącego działu |
depth="2" | Ograniczenie poziomu nagłówków umieszczanych w spisie treści | 6 |
Przykłady: %TOC{depth="2"}%, %TOC{"TWikiDocumentation" web="TWiki"}%
|
%SEARCH{"tekst" ...}% |
Wyniki wyszukiwania. Parametry, to: wyszukiwany ciąg znaków, nazwa działu, zasięg wyszukiwania, kolejność i in.: [1]
| Parametr: | Opis: | Wartość domyślna: |
"tekst" | W zależności od parametru regex, może to być szukany ciąg znaków, lub wzorzec wyszukiwania (dla wyrażeń regularnych RegularExpression). W przypadku wyszukiwania z wykorzystaniem wyrażeń regularnych można korzystać ze znaku średnika ";" do oznaczenia koniunkcji wzorców, np. zapis "kot;pies" oznacza, że poszukiwane są strony, które zawierają zarówno napis "kot" jak i napis "pies" . | Wymagany |
search="tekst" | J.w. | |
web="Nazwa" web="Main Nazwa" web="all" | Nazwy przeszukiwanych działów w formacie: nazwa działu, lista nazw działów rozdzielonych spacjami, lub all, czyli wszystkie działy. [2] | Nazwa bieżącego działu |
scope="topic" scope="text" | Zakres wyszukiwania: w zawartości stron, lub tylko w nazwach stron. | Zawartość stron |
order="topic" order="modified" order="editby" order= "formfield(nazwa)" | Uporządkowanie wyników wyszukiwania wg: nazw stron, daty modyfikacji, ostatniego użytkownika, lub nazwy pola w formularzu TWikiForms | Wg nazw stron |
limit="all" limit="16" | Ograniczenie na liczbę wyników wyszukiwania | Wszystkie wyniki |
regex="on" | Wyszukiwanie z wykorzystaniem wyrażeń regularnych (RegularExpression) i włączenie koniunkcji wzorców za pomocą średnika ";" | Wyszukiwanie zwykłe |
reverse="on" | Odwrócenie kolejności porządkowania wyników | Rosnąco |
casesensitive="on" | Wyszukiwanie z uwzględnianiem wielkości liter | Nieuwzględnianie wielkości liter |
nosummary="on" | Wyświetlenie tylko nazw stron | Wyświetlenie fragmentów stron |
bookview="on" | Wyszukiwanie w formacie BookView, tzn. wyświetlenie całych zawartości wyszukanych stron | Wyświetlenie fragmentów stron |
nosearch="on" | Wyszukiwanie stron nie zawierających podanego napisu | Wyszukiwanie stron zawierających podany napis |
noheader="on" | Wyświetlenie wyników wyszukiwania bez nagłówka: Nazwa strony: Data zmiany: Użytkownik: | Wyświetlenie nagłówka |
nototal="on" | Wyłączenie wyświetlania liczby znalezionych stron | Wyświetlenie liczby znalezionych stron |
header="..." format="..." | Wyświetlenie wyników wyszukiwania zgodnie z podanym formatem (zobacz FormattedSearch) | Wyświetlenie wyników w postaci tabeli |
Przykład: %SEARCH{"kot" web="Main" scope="topic"}%
Przykład z formatowaniem: %SEARCH{"pies" scope="topic" nosearch="on" nototal="on" header="| *Nazwa strony: * | *Fragment: * |" format="| $topic | $summary |"% (wyświetlenie wyników w niestandardowej tabeli - szczegóły).
Jeśli zainstalowano wtyczkę TWiki:Plugins.TablePlugin, to można przed zmienną %SEARCH% ustawić zmienną %TABLE{}%, co pozwoli zmienić sposób wyświetlania wyników. Przykład: %TABLE{ tablewidth="90%" }%
|
%METASEARCH{...}% |
Specjalizowane wyszukianie metainformacji na stronach
| Parametr: | Opis: | Wartość domyślna: |
type="topicmoved" | Rodzaj wyszukiwania "topicmoved" wyszukiwanie stron przeniesionych "parent" wyszukiwanie stron podrzędnych dla podanej strony | Wymagany |
web="%WEB%" | Nazwy przeszukiwanych działów w formacie: nazwa działu, lista nazw działów rozdzielonych spacjami, lub all, czyli wszystkie działy. | Wymagany |
topic="%TOPIC%" | Nazwa przeszukiwanej strony | Wymagana |
title="Napis" | Napis poprzedzający każdy z wyświetlanych wyników wyszukiwania | Wymagany |
Przykład: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="Ta strona została przeniesiona: "}%. Przykład ten może zostać wykorzystany np. na stronie WebTopicViewTemplate, lub WebTopicNonWikiTemplate
%METASEARCH{type="parent" web="%WEB%" topic="%TOPIC%" title="Strony podrzędne: "}%
|
%VAR{"NAZWA" web="Dział"}% |
Wartość zmiennej %NAZWA% zdefiniowanej w innym dziale. Przykład: aby otrzymać kod koloru w dziale Main można napisać: %VAR{"WEBBGCOLOR" web="Main"}%, co spowoduje wyświetlenie: #FFFFC0 |
Dodatkowe zmienne, tzw. zmienne konfiguracyjne są definiowane w ustawieniach:
| Zmienna: | Poziom: | Przeznaczenie: |
%WIKIWEBMASTER% |
UG |
Adres email administratora TWiki: z.kulesza@pb.bialystok.pl |
%WIKIWEBLIST% |
UG |
Lista działów TWiki wyświetlana w lewym górnym rogu każdej strony |
%WEBTOPICLIST% |
UD |
Skróty wyświetlane w drugiej linii każdej strony |
%WEBCOPYRIGHT% |
UG , UD |
Informacja o prawach autorskich (lewy dolny róg każdej strony) |
%WEBBGCOLOR% |
UD |
Kolor tła działu |
%NOSEARCHALL% |
UD |
Wyłączenie działu z przeszukiwań wszystkich działów (web="all"; należy ustawić na on dla działów ukrytych) |
%NEWTOPICBGCOLOR% |
UG , UU |
Kolor tła nowej strony |
%NEWTOPICFONTCOLOR% |
UG , UU |
Kolor czcionki na nowej stronie |
%EDITBOXWIDTH% |
UG , UU |
Szerokość okienka edycyjnego: 70 |
%EDITBOXHEIGHT% |
UG , UU |
Wysokość okienka edycyjnego: 17 |
%RELEASEEDITLOCKCHECKBOX% |
UG , UU |
Domyślna wartość w polu "Odblokowanie edycji strony" (UnlockTopic) na podglądzie strony. Jeśli ustawiono Set RELEASEEDITLOCKCHECKBOX = checked, to pole zostanie włączone, natomiast jeśli pozostawiono wartość pustą, to pole zostanie wyłączone. Jeśli pole zostanie włączone, to należy kliknąć Edycja, aby wprowadzić dodatkowe zmiany na stronie. Nie należy klikać Wstecz, gdyż może się zdarzyć, że w tym samym czasie inna osoba wprowadzi zmiany na stronie. Wartość: %RELEASEEDITLOCKCHECKBOX% |
%DONTNOTIFYCHECKBOX% |
UG , UU |
Domyślna wartość pola "Niewielkie zmiany, nie powiadamiaj" (DontNotify) na podglądzie strony. Ustawienie Set DONTNOTIFYCHECKBOX = checked, spowoduje włączenie pola, natomiast ustawienie puste - wyłączenie. Wartość: |
%ATTACHLINKBOX% |
UG , UU |
Domyślna wartość pola skrót na stronie służącej do przesyłania załączników. Ustawienie Set ATTACHLINKBOX = checked, spowoduje włączenie pola, ustawienie puste - wyłączenie. Włączenie tego pola spowoduje utworzenie skrótu na dole strony do pliku załącznika. Wartość: |
%HTTP_EQUIV_ON_VIEW% |
UG |
http-equiv meta-identyfikatory dla skryptów: view, rdiff, attach, search*. |
%HTTP_EQUIV_ON_EDIT% |
UG , UU |
http-equiv meta-identyfikatory dla skryptu edit. |
%HTTP_EQUIV_ON_PREVIEW% |
UG , UU |
http-equiv meta-identyfikatory dla skryptu preview. |
%DENYWEBCHANGE% |
UD |
Lista użytkowników i grup nieuprawnionych do zmiany stron w danym dziale TWiki (więcej na stronie TWikiAccessControl). |
%ALLOWWEBCHANGE% |
UD |
Lista użytkowników i grup uprawnionych do zmiany stron w danym dziale TWiki (więcej na stronie TWikiAccessControl). |
%DENYTOPICCHANGE% |
(dowolna strona) |
Lista użytkkowników i grup nieuprawnionych do edycji danej strony (więcej na stronie TWikiAccessControl). |
%ALLOWTOPICCHANGE% |
(dowolna strona) |
Lista użytkowników i grup uprawnionych do edycji danej strony (więcej na stronie TWikiAccessControl). |
%DENYWEBRENAME% |
UD |
Lista użytkowników i grup nieuprawnionych do zmian nazw stron w danym dziale TWiki (więcej na stronie TWikiAccessControl). |
%ALLOWWEBRENAME% |
UD |
Lista użytkowników i grup uprawnionych do zmian nazw stron w danym dziale TWiki (więcej na stronie TWikiAccessControl). |
%DENYTOPICRENAME% |
(dowolna strona) |
Lista użytkowników i grup nieuprawnionych do zmiany nazwy danej strony (więcej na stronie TWikiAccessControl). |
%ALLOWTOPICRENAME% |
(dowolna strona) |
Lista użytkowników i grup uprawnionych do zmiany nazwy danej strony (więcej na stronie TWikiAccessControl). |
%FINALPREFERENCES% |
UG , UD |
Lista ustawień, które nie mogą być zmienione na niższym poziomie dostępu. |