連結
Wiki Wiki Web的一項重要特色就是:可以輕易地在文字中加入超連結 PmWiki 更提供了許多種方法來建立這樣的連結:
連結到此wiki中的其它頁面
要建立到其他頁面的連結,只要用雙括號包住頁面的名稱即可,例如[[wiki sandbox]]
以及 [[installation]]
,以上兩個例子可以產生 wiki sandbox和installation這兩個連結。
以上連PmWiki將利用雙括號中的(英文)頁面名稱,而PmWiki系統將會自動將雙括號內英文單字間的空白給消除,並且將空白或是其它分隔號後面的英文單字之首字母放大。產生出來的效果如下:例如輸入[[Wiki sandbox]]
或者是[[wiki sandbox]]
再或者是[[WikiSandbox]]
以上三種不同的表達型式,都會產生一個叫做WikiSandbox的頁面。
也就是說, PmWiki 將遵照一定的規則來命名新增的頁面,但是其名稱的呈現方式仍將依照您所輸入的內容。
(就英文而言)您也可以在連結的後面加上字尾,此字尾將成為連結的一部分,但是它並不是連結的本身。例如輸入[[wiki sandbox]]es
將會產生一個連結到WikiSandbox的連結,但是它的呈現方式將會是wiki sandboxes
在雙括號中的連結內容,若是又位在兩個夾注號中間的話,例如:(文字),則裡面的文字將不會被顯示出來。以下是範例:輸入[[(wiki) sandbox]]
將會連結到WikiSandbox,但是它所呈現出來的樣子是 sandbox。
最後,你可以用直的分隔線,即"|",來為連結(不是指頁面)重新命名(但是頁面的名稱是不變的)。以下是範例:輸入[[WikiSandbox | a play area]]
,將會產生連結至WikiSandbox的連結,但是在頁面中呈現的名稱卻是a play area。您也可以使用箭號(->
)來用不同的型式為連結重新命名,例如輸入[[a play area -> WikiSandbox]]
將會產生a play area這樣的連結。
某些網站是支援WikiWord型式的連結的。這表示在文章中所出現的單字只要符合WikiWord的條件(單字間沒有空白,而兩個單字的首個字母都放大),系統就會自動產生連結,並新增一個以此連結命名的新頁面。
簡短連結
在PmWiki的系統中,可是在標題中使用一些特殊的符號。但是,有時候這些特殊的符號無法在您的電腦、您所使用的網路主機,或者是其它讀者的電腦所辨識。尤其是使用UTF-8的符號更常造成一些問題。所以我們建議不要在標題中使用特殊的符號,並儘量使用ANSCII編號支援的符號。
在PmWiki系統中,任何一個頁面都可以直接顯示其被作者設定的標題:(:title <name>:),而不是顯示它在PmWiki中的檔案名稱,以下的說明將會教您如何使用這個功能:
[[PageName|+]]
將會建立一個連結往「PageName」的連結,但是將連結的名稱以「頁面的標題」來顯示。例如:輸入 [[PmWiki.BasicEditing|+]] 將連結至「基本編輯規則」 (:title 基本編輯語法:) ,但是其連結的名稱卻是 Basic PmWiki editing rules。
[[PageName|#]]
將建立一個連結至reference的連結,如同此頁後面所述[1].
[[!PageName]]
將在一個群組中(又名Category)建立一個連結至 PageName 的連結,請參見Categories
[[~Author]]
建立一個連結到「作者群組」中的特定作者頁面。
~
~~
markup creates a link for the current Author when it encounters three tilde characters (~
) in a row (~
~
~
).
~~
~~
markup creates a link for the current author and appends the current date and time when four tilde characters (~
) in a row are encountered
連結到頁面中的特定位置 -- "anchors"
想要在頁面中建立一個可供快速移動的定位點,輸入此標註:[[#name]]
。此標註將建立一個"anchor",它可以在此頁面中建立一個可供快速移動的位置。然後,您就可以建立連結到此定位點的連結了。您可以輸入:
[[#name|link text]]
來建立頁面中的連結[[PageName#name]]
or[[PageName#name|link text]]
連結到其它頁面中的定位點- 您可以用
[[PageName(#name)]]
的形式來連結名稱中的定位點
舉例說明:Intermaps 將連結至下面的intermaps段落
Notes:
- 定位點的命名,其開頭必須以字母開頭, 不可使用數字
- 連至定位點的連結必須 大小寫相同
- 定位點中不可使用空白,例如: "
[[#my anchor]]
"是無效的,"[[#myanchor]]
"則是有效的
連結行為
要產生一個連結,作為在當前頁面中的行為(action)的話,請使用: [[{$FullName}?action=actionname|linkname]]
範例:
[[{$FullName}?action=edit|Edit]]
來產生「編輯」的連結[[{$FullName}?action=diff|differences]]
來產生查看「版本」的連結
連結至wiki外部
連結至外部網站 (URLs)
要連結至外部的網站,只要直接輸入以'http:'開頭的網址,或者是 'ftp:'等等的開頭,例如輸入:http://google.com/
及 [[http://google.com/]]
都可以連結至google。另外,就如同上文所述,您可以使用雙括號及垂直的分隔線來建立有連結名稱的連結,例如:[[http://google.com/ | Google]]
及 [[Google -> http://google.com]]
。
如果連結中含有 (括號) ,請避免使用它們,並使用 %28 來代替 "(" ;使用 %29 來代替 ")" 例如:
[[http://en.wikipedia.org/wiki/Wiki_%28disambiguation%29 | 連結至 "Wiki (disambiguation)" ]] |
連結至內部網路(本地)檔案
您可以建立連結至內部的檔案系統,輸入以 'file:///'
為開頭的連結(至少對於 Internet Explorer 來說是必要的)。所以如: file:///S:\ProjPlan.mpp
及 [[Shared S drive->file:///S:\]]
都是有效的連結。在Windows 的檔案系統下您可以使用網路位置(例如 \\server1\rootdirectory\subdirectory)來取代對不同使用者可能會不同的磁碟機編號。但是,不是所有的瀏灠器都可以支援這樣的連結型式。
連結特徵
作為 References
連結也可以被用作References的用途。這表示,所輸入的連結將以數字來作為 reference 的呈現方式,而不是以連結名稱的形式。下面的標註範例便顯示了以排序的數字來作為 reference :
輸入: [[http://google.com |#]]
將以這樣的形式呈現: [2] 。
Subsequent occurrence of the reference link format on the same page will be incremented automatically as per the following example: Entering [[http://pmwiki.com |#]]
produces [3], [[#intermaps |#]]
produces [4], and so on for further reference links.
Intermaps
Inter Map? 的連結也是可以使用的 (請參見Inter Map?)。在大部分的情況下,可以使用Path:
的表達方式,也可以使用相對了,或是絕對的位置來表示 (例如: Path:../../somedir/foo.html
or Path:/dir/something.gif
)
連結至其它的wiki group?
連結開啟新視窗
想要在新的視窗中開改啟連結,請使用 %newwin%...%%
,範例如下:
%newwin% http://pmichaud.com %%
將產生 http://pmichaud.com%newwin% [[http://google.com/ | Google]] %%
將產生 Google%newwin% [[Main.WikiSandbox]] %%
將產生 Main.WikiSandbox
你也可使用 %target=_blank%...%%
來產生開新視窗的連結
The following link %target=_blank% http://pmichaud.com %% will open in a new window. | The following link http://pmichaud.com will open in a new window. |
Links that are not followed by robots
Prefix a link with %rel=nofollow% to advise robots and link checkers not to follow it.
連結以及 CSS Classes
PmWiki 將自動地設定一些CSS classes 給某些種類的連結。您也可以各別設定不同種類連結的CSS Classes。
Note: 此列表可能尚未完整
- .selflink
- 目前頁面的連結,可以放在側邊欄來表示 "you are here"(當前位置)
- .wikilink
- 連結到本wiki系統中其它頁面的連結
- .urllink
- 連結到本wiki系統之外的連結
Notes
Note: The default behavior of "+" above can be overridden to display the spaced title, rather than simply the title by adding the following to config.php:
## [[target |+]] title links Markup('[[|+', '<[[|', "/(?>\\[\\[([^|\\]]+))\\|\\s*\\+\\s*]]/e", "Keep(MakeLink(\$pagename, PSS('$1'), PageVar(MakePageName(\$pagename,PSS('$1')), '\$Titlespaced') ),'L')");
我要如何建立一個可以開啟新視窗的連結?
請使用%newwin%
標註,例如:
%newwin% http://example.com/ %% |
我要如何建立一個可以開啟新視窗的連結,而且設定新視窗的大小等特性?
這需要使用到 Javescript,請參見Cookbook:PopupWindow。
我要如何建立一個電子郵件地址的連結?
請使用 mailto:
標註,如下面所示:
* mailto:myaddress@example.com * [[mailto:myaddress@example.com]] * [[mailto:myaddress@example.com | email me]] * [[mailto:myaddress@example.com?subject=Some subject | email me]] |
The markup [[mailto:me@example.com?cc=someoneelse@example.com&bcc=else@example.com&subject=Pre-set Subject&body=Pre-set body | display text]] =]
lets you specify more parameters like the message body and more recipients (may not work in all browsers and e-mail clients).
參見 Cookbook:DeObMail來取得防範垃圾郵件的方法。
我要如何建立一個使用其它協定的連結,例如:nntp:, ssh:, xmpp:......之類的?
我要如何使用 WikiWord 來建一個外部連結,而不是Wiki頁面連結?
請使用連結的標註格式,以下為兩種可用的格式:
[[http://example.com/ | WikiWord]] [[WikiWord -> http://example.com/]]
我要如何找出所有連結到某一頁面的頁面們(即 backlinks)?
在搜尋頁面中,輸入 link=Group.Page
來尋找所有連結到 to Group.Page的頁面
使用link=
選項,它在(:pagelist:)
directive例如:
(:pagelist link=SomePage list=all:) -- 顯示所有連結至某頁的頁面 (:pagelist link={$FullName} list=all:) -- 顯示所有連結至目前頁面的頁面
PmWiki支援哪些連結方法?
請參見PmWiki:Link schemes Link schemes supported by PmWiki
我要如何建立外部連結,並可以開啟新視窗或是加上圖示?
我要如何以圖片作為連結?
輸入:[[Page| Attach:image.jpg ]] 或是 [[ http://site | http://site/image.jpg ]] 請參見 Images#links