or .
This is text is indented by two spaces.
This is preformatted code all spaces are preserved: like <-this
This is pretty much the same, but you could use it to show that you quoted a file.
Those blocks were created by this source:
This is text is indented by two spaces.
This is preformatted code all spaces are preserved: like <-this
This is pretty much the same, but you could use it to show that you quoted a file.
Syntax Highlighting
DokuWiki can highlight sourcecode, which makes it easier to read. It uses the GeSHi Generic Syntax Highlighter – so any language supported by GeSHi is supported. The syntax uses the same code and file blocks described in the previous section, but this time the name of the language syntax to be highlighted is included inside the tag, e.g. or .
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
The following language strings are currently recognized: 4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript-french, actionscript, actionscript3, ada, algol68, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, epc, ecmascript, eiffel, email, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, go, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, html5, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
Downloadable Code Blocks
When you use the or syntax as above, you might want to make the shown code available for download as well. You can do this by specifying a file name after language code like this:
If you don't want any highlighting but want a downloadable file, specify a dash (-) as the language code: .
Embedding HTML and PHP
You can embed raw HTML (HyperText Markup Language) or PHP (Hypertext Preprocessor) code into your documents by using the or tags. (Use uppercase tags if you need to enclose block level elements.)
HTML (HyperText Markup Language) example:
This is some inline HTML
And this is some block HTML
This is some inline HTML
And this is some block HTML
PHP (Hypertext Preprocessor) example:
echo 'A logo generated by PHP:';
echo '';
echo '(generated inline HTML)';
echo 'The same, but inside a block level element: ';
echo ' ';
echo '
';
echo 'A logo generated by PHP:';
echo '';
echo '(inline HTML)';
echo 'The same, but inside a block level element: ';
echo ' ';
echo '
';
Please Note: HTML (HyperText Markup Language) and PHP (Hypertext Preprocessor) embedding is disabled by default in the configuration. If disabled, the code is displayed instead of executed.
RSS/ATOM Feed Aggregation
DokuWiki can integrate data from external XML (Extensible Markup Language) feeds. For parsing the XML (Extensible Markup Language) feeds, SimplePie is used. All formats understood by SimplePie can be used in DokuWiki as well. You can influence the rendering by multiple additional space separated parameters:
Parameter , Description
any number , will be used as maximum number items to show, defaults to 8
reverse , display the last items in the feed first
author , show item authors names
date , show item dates
description, show the item description. If HTML is disabled all tags will be stripped
n[dhm] , refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours).
The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. DokuWiki will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells DokuWiki to re-render the page if it is more than refresh period since the page was last rendered.
Example:
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
Control Macros
Some syntax influences how DokuWiki renders a page without creating any output it self. The following control macros are availble:
Macro , Description
~~NOTOC~~ , If this macro is found on the page, no table of contents will be created
~~NOCACHE~~ , DokuWiki caches all output by default. Sometimes this might not be wanted (eg. when the syntax above is used), adding this macro will force DokuWiki to rerender a page on every call
Syntax Plugins
DokuWiki's syntax can be extended by Plugins. How the installed plugins are used is described on their appropriate description pages. The following syntax plugins are available in this particular DokuWiki installation:
Open Document Plugin 2010-10-30 par Andreas Gohr, Aurelien Bompard Export the current Wiki page to a OpenOffice ODT file Info Plugin 2008-09-12 par Andreas Gohr Displays information about various DokuWiki internals Dw2Pdf plugin 2020-05-11 par Andreas Gohr and Luigi Micco DokuWiki to PDF converter
1) This is a footnote
2) when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing