Links in Wiki |
[TeaCode link](http://teacode.com) [TeaCode link][teacode] [teacode]: CONTENT
where
CONTENT <- <url> ('"' <title> '"')? (<attrname> '=' <attrval>)*
@[TeaCode link](any@anydomain.com) @[TeaCode link][teacode] @[teacode]: CONTENT
where
CONTENT <- <email address> ('"' <title> '"')? (<attrname> '=' <attrval>)*
![Caption text](<image url>) ![Caption text][imageID] ![imageID]: CONTENT
where
CONTENT <- <image url> ('"' <image title> '"')? (<attrname> '=' <attrval>)*
>[Caption text](<video url>) >[Caption text][videoID] >[videoID]: CONTENT
where
CONTENT <- <video url> ('"' <video title> '"')? (<attrname> '=' <attrval>)*
:[Caption text](<audio url>) :[Caption text][audioID] :[audioID]: CONTENT
where
CONTENT <- <audio url> ('"' <audio title> '"')? (<attrname> '=' <attrval>)*
~[p.300](Malykh, A., Mantsivoda. A Query Language) ~[p.300][ref1] ~[ref1]: CONTENT
where
CONTENT <- <bibitem paragraph>+
Remark 1. In case of two or more paragraphs, the following paragraphs must be indented by two spaces to be included.
^[tlevel](Here is a text) ^[tlevel][somefootnote] ^[somefootnote]: CONTENT
where
CONTENT <- <footnote paragraph>+
See remark 1. Here tlevel
is the level of a title before which the footnote is inserted.
tlevel <- ('#' ('1' / '2' / '3' / '4' / '5' / '6'))?E.g.:
^[#2](here is a footnote)
– before the next ##
–header.
^[](here is another footnote)
– in the end of document
Организация локальных ссылок:
#[label]
– метка (якорь). Организует ссылку на самый внутренний блок,
в котором находится (если блок существует), либо на место вхождения метки (во внешнем абзаце)
The local link syntax (PEG):
LocalLink <- path fragment? params? path <- (domains / item / paramname) domains <- (user '/' site '/' page) / (site '/' page) item <- '!' DocID paramname <- '$' NAME fragment <- '#' NAME params <- '?' param ('&' param*) param <- key '=' value key <- NAME value <- path user <- NAME site <- NAME page <- NAME
e.g.
asdf/qewr/#header2Here
12345
is the pattern's ID of the linked page.
$2
is the parametric link to the linked page's 1st parameter (i.e., the 2nd parameter of the current page is the 1st parameter of the linked page)
23456
is the ID of the linked page's 2nd parameter
#header
is the anchor within the linked page
Организация локальных ссылок в wiki-документе:
*[link text](localLink) *[link text][otherpage] *[otherpage]: <localLink> ('"' <title> '"')? (<attrname> '=' <attrval>)*
[Link text](http://...#label)
– стандартная гиперссылка
на блок
*[Link text](#label)
– локальная ссылка на блок в том же документе
*[Link text](patternId/parId1/.../parIdN#label)
– локальная ссылка на блок в другом документе
*[Link text][llnk] *[llnk]: CONTENTwhere
CONTENT <- <localLink> ('"' <title> '"')? (<attrname> '=' <attrval>)*
Remark 2. A base (a site) is the collection of wiki-documents accessible from a certain wiki document (the base root) via local cross-references
Remark 3. It is possible to call a page by its local link, e.g.
http://lwiki.com/showlocal/patternId/parId1/.../parIdNHere
patternId/parId1/.../parIdN
is a local link.
+[comment](localLink)
+[comment][insId] +[InsId]: CONTENTwhere
CONTENT <- <localLink> ('"' <title> '"')? (<attrname> '=' <attrval>)*
Blocks are text blocks, which have special meaning or play special structural role in the text. The LibrettoWiki has a number of predefined blocks:
Users can also create their own blocks using the following syntax:
&[Blockname] <paragraph>+The user defines his/her own blocks like theorems, remarks, definitions by selecting their names, e.g. "Remark":
&[Remark] here is the remark text.User defined blocks are automatically numbered. To suppress block numbering use
*
:
&[Definition]* ...Text...Anonymous blocks (the space instead of the name):
&[ ]* Anonymous...
link <- spotlink / reflink / linknote sym <- '$' / '*' / '#' / ':' / '%' / '@' / '!' header <- sym? '[' TEXT ']' rheader <- sym? '[' LINKREF ']' spotlink <- header '(' hyperlink (' ' '"' TEXT '"')? ')' reflink <- header '[' LINKREF ']' linknote <- rheader ':' content content <- PARAGRAPH+ / hyperlink description? attribute* hyperlink <- localLink / URL / '<' (localLink / URL) '>' attribute <- NAME '=' '"' VALUE '"' description <- '"' TEXT '"' / ''' TEXT ''' / '(' TEXT ')' localLink <- (step ('/' step)*)? ('#' anchor)? step <- docId / param param <- '$' NUMBER docId <- <global identifier of the document>