Table of contents example TOC :

GNS3 NVCT

Networking Vendor Colorcode Table for the GNS3 stock SVG iconset:

Vendor GNS3 appliance color
A10 A10 Networks
Alcatel Alcatel Lucent
Arista Arista Networks
Aruba Aruba Networks
B.I.R.D. B.I.R.D
Cisco Cisco Systems
Cumulus Cumulus Networks
Dell Dell - Networking Division
Ericsson Ericsson
Extreme Extreme Networks
FS FS
freerTr freerTr
FRRouting FRRouting
H3C H3C Networks
Hillstone Hillstone NETWORKS
HPE Hewlett Packard Enterprise
Huawei Huawei
Juniper Juniper Networks
LANCOM LANCOM
Marconi Marconi
MikroTik MikroTik
Nokia Nokia Networks
Quagga Quagga
Redback Redback Networks
Ruckus Ruckus Networks
Ruijie Ruijie Networks
VyOS VyOS

Copyright and License

CSS shadow example

Alcatel Lucent SR12

HTML code

Selection:

code looks
display 🌁
display 🌉
display 🌐
display 🐡
display 💻
display 📃
display 📄
display 📑
display 📒
display 📓
display 📔
display 📕
display 📖
display 📗
display 📘
display 📙
display 📞
display 📡
display 🗿

This should be 5 times bigger as the above list, absolute size set to 100px, but seems to ignore:

📡

Pagestats

Show the top 7 pagestats tags in table style:

CLI127
linux111
networking64
netlab43
gentoo39
routing31
IOS29

By default, the names of pages are shown. The show parameter can be used (with a non-numeric value) to show the titles or descriptions of pages instead (as set by the meta directive). For example:

Example by description

CLI127
linux111
networking64
netlab43
gentoo39

Example by title

pages tagged CLI127
pages tagged linux111
pages tagged networking64
pages tagged netlab43
pages tagged gentoo39

Perl

Herr Thomas Fahle, hat einen Blogartikel über den Einsatz dieser Bibliothek geschrieben. Lesenswert, gut erklärt, verständlich, in einfach lesbarer Sprache. mit pratischen Beispielen. Nicht überladen. Gut investierte Zeit wenn man Etwas lernen möchte.

microformats and variables and pubdate bugs

Overview over the avaialbe microformats^114 ikiwiki supports. pubdate variable changes^115

Enable the CTIME in the page.tmpl or create own template. CTIME is commmented out in the default setting.

footnotes

urlsandbox

mdwn_footnotes: If set to 1, implementations that support it will recognise the footnote syntax originating in PHP Markdown Extra, with Footnote reference^1 and ^1: Footnote definition. The default is 1.

Reference

RFC1925^1 or CologneRFC^2 some hints may be found at RFC6666^3

Definition

Example

I get 10 times more traffic from metaGer than from duck or HotBot.

toggle

like the more click ikiwiki link shown below, but different:

show

RSR1#show version 
System description      : Ruijie (X86 TESTBENCH) by Ruijie Networks.
System start time       : 2023-07-06 12:57:25
System uptime           : 0:00:02:37
System hardware version : 1.00
System software version : X86_RGOS 12.5(5)
System patch number     : NA
System serial number    : R0C8830730000
System boot version     : NA
System rboot version    : NA
Module information:
Slot 0 : X86
    System uptime       : 0:00:02:37
    Hardware version    : 1.00
    Boot version        : NA
    Rboot version       : NA
    Software version    : X86_RGOS 12.5(5)
    Serial number       : R0C8830730000

R225#show radius vendor-specific
id    vendor-specific      type-value
- - - - - - - - - - - - - - - - - - -
1     max-down-rate        1
2     port-priority        2
3     user-ip              3
4     vlan-id              4
5     last-supplicant-vers 5
  ion
6     net-ip               6
7     user-name            7
8     password             8
9     file-directory       9
10    file-count           10
11    file-name-0          11
12    file-name-1          12
13    file-name-2          13
14    file-name-3          14
15    file-name-4          15
16    max-up-rate          16
17    current-supplicant-v 17
      ersion
18    flux-max-high32      18
19    flux-max-low32       19
20    proxy-avoid          20
21    dialup-avoid         21
22    ip-privilege         22
23    login-privilege      42
26    ipv6-multicast-addre 79
      ss
27    ipv4-multicast-addre 87
      ss
62    access-user-type     62
118   wlan-id              118
125   private terminate ca 125
      use
126   terminal-type        126
133   ipv6-output-packets  133
132   ipv6-input-packets   132
135   ipv6-output-octets   135
134   ipv6-input-octets    134
137   ipv6-output-gigaword 137
      s
136   ipv6-output-gigaword 136
      s
154   flux-policy          154
158   atname               158

hide

traillink

  • This needs plugin activation as well this traillink.

These are traillinks, just 2 different examples:

Click here to start the trail Click here to start the other trail

tables and -> more

Table and click for more do not play nice in one article, this is the syntax for the click for more

[[more linktext="click for more" text="""
mehr text
"""]]

The tables syntax has also the triple """ for begin and and this breaks either the URL or the table, depends on position in the article.

new line in template

Add   in the template to generate a one line break.

avoid generating HTML paragraph tag

ikiwiki generates HTML <p> tag in template output, happens if following output is in the CLI, this is a example output, it has all the special cases:

R1# show ip route

Gateway of last resort is via 10.100.100.1 to network 0.0.0.0
  Destination                 Gateway                                        Dist/Metric       Last Change
----------------------------------------------------------------------------------------------------------
*S    0.0.0.0/0           via 10.100.100.1         ethernet1/1/1           1/0               01:31:58
C     10.100.100.0/24     via 10.100.100.110       ethernet1/1/1           0/0               01:30:57

A paragraph will be generated, or something else will be misinterpreted and make crippled template output, when

  • empty line output having CR or LF in it or both at same time
  • *
  • #
  • ----

Solution

Add <nowiki> tag to the command line output where a empty line resides, escaping special symbols in the command like output like. This is the pragmatic solution, sure there is some other way to solve this.

inline code

inline code is written code

taglink

  • http://ikiwiki.info/ikiwiki/directive/tag/

netlab [[!taglib netlab]]

tagged as netlab <a href="./tags/netlab.html">tagged as netlab</a>

template

cmd.mdwn template example:

cmd

user % show ip add

template id=cmd uses TMPL_VAR: command= output=

cmd template example

user % pinky

Login Name TTY Idle When Where user tty1 20d 2022-01-04 23:36 user pts/0 2022-01-04 23:36 :1

rootcmd

rootcmd.mdwn template:

root # ip add

template id=rootcmd uses TMPL_VAR: command= output=

rootcmd template example:

root # id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),26(tape),27(video),240(distcc)

note

note.tmpl example:

  • template id=note
  • uses TMPL_VAR text
  • default note template is found in /usr/share/ikiwiki/basewiki/templates

clibox

clibox.mdwn template

user $ ip route

template id=clibox uses TMPL_VAR: command= output=

Example output of a clibox:

user $ ip route

default via 192.0.2.254 dev wlan0 proto dhcp src 192.0.2.245 metric 10 192.0.2.0/24 dev wlan0 proto dhcp scope link src 192.0.2.245 metric 10 127.0.0.0/8 via 127.0.0.1 dev lo

rtrcli

The routercli template has as only the prompt VARIABLE. The prompt as itself is set to has already # integrated in the same color, differing to the other templates, which are used for computer node terminal. The configuring user has maximal right from the beginning shown by the #:

admin@R1# ip add print

template id=rtrcli uses TMPL_VAR: prompt= command= output=

rtrcli.mdwn template example with RouterOS prompt and command. Not exactly but almost:

admin@R33# ip add print

Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 159.148.147.211/32 159.148.147.213 ether1 1 D 10.92.94.49/32 10.92.94.49 lte1

rtr-user

OS10> show privileged

rtr-admin

FTOS10# ip add print Flags: X - disabled, I - invalid, D - dynamic

exos-user

R130 > show telnet This user does not have permissions for this command.

exos-admin

R140 # show tacacs-accounting

TACACS+ Configuration Accounting : disabled Acct Server Connect Timeout : 3 sec Primary Accounting Server : none Secondary Accounting Server : none

ios-user

R200>show ip route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP a - application route + - replicated route, % - next hop override, p - overrides from PfR   Gateway of last resort is 10.100.100.1 to network 0.0.0.0   S* 0.0.0.0/0 [1/0] via 10.100.100.1 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.100.100.0/24 is directly connected, GigabitEthernet0/0 L 10.100.100.200/32 is directly connected, GigabitEthernet0/0

ios-admin

R200#show ip route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP a - application route + - replicated route, % - next hop override, p - overrides from PfR   Gateway of last resort is 10.100.100.1 to network 0.0.0.0   S* 0.0.0.0/0 [1/0] via 10.100.100.1 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.100.100.0/24 is directly connected, GigabitEthernet0/0 L 10.100.100.200/32 is directly connected, GigabitEthernet0/0

vrpuser

<R112>dis ip route

Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 159.148.147.211/32 159.148.147.213 ether1 1 D 10.92.94.49/32 10.92.94.49 lte1

vrpsystem

[R112]dis ip route

Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 159.148.147.211/32 159.148.147.213 ether1 1 D 10.92.94.49/32 10.92.94.49 lte1

notifications boxes

Hint

Hint template example:

📗 Hint

template id=hint uses TMPL_VAR: text=

Notify

Notification template example:

📘 Note

template id=notify uses TMPL_VAR: text=

Important

Important template example:

📙 Important

template id=important uses TMPL_VAR: text

Warning

Warning template example:

📕 Warning

template id=warning uses TMPL_VAR: text

file

This file template, is a bit misbehaving need to fix it.

📄 File /template/file

template id=file uses TMPL_VAR: filename= text=

📄 File /lorem/ipsum

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea commodo consequat. Duis aute irure dolor inreprehenderit in voluptate velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id est laborum.

Ipsum ipsum, lorem lorem. amet constructor baptisising elitsts, usig sed doas usrmod teporarily incdient in the net labore with Dolores magma aqua. It animal mad minimal in vein I am. doas no strace exercitation ulam & co. in the laboratory no sense italian equip ex commodore conseqential. Doas auto ...

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea commodo consequat. Duis aute irure dolor inreprehenderit in voluptate velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea commodo consequat. Duis aute irure dolor inreprehenderit in voluptate velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim veniam, quis nostrud exercitation ull

Different border style

A solid border.

highlight

Highlight does not work, as you can see. Fix it.

void main () { printf("hello, world!"); }

-bar +foo

print "hello, world\n";

print "hello, world\n";

View raw file

header example

h1

h2

h3

h4

h5
h6

font example

kursiv fett

fett und kursiv zugleich


Test der Schrift zwischen 2 horizontalen Linien


Test 2 der Schrift

color

Here the foreground color is defined as a word, while the background color is defined as a HTML color code:

White text on red background

The background color is missing, so the text is displayed on default background:

Orange text on black background

The foreground is missing, so the text has the default foreground color:

Default color text on black background

Testing 201610111 more Testing this is a new test

Table Examples

example table 1:

Customer Amount
Fulanito 134,34
Menganito 234,56
Menganito 234,56

OSPF table 2:

OSPF command Parameters Default optimize disabled Default optimize enabled
timers throttle spf
initial (ms) 5000 50
min-delay(ms) 10000 200
max-delay (ms) 10000 5000
timers throttle lsa all
Initial (ms) 0 50
min-delay (ms) 5000 200
max-delay(ms) 5000 5000
timers lsa arrival ms 1000 100

NSAP Loopback adresses overview:

Router NSAP address IPv6 loopback IPv4 loobpack
R1 49.0001.1111.1111.1111.00 2001:db8:1111::/128 192.0.2.1/32
R2 49.0001.2222.2222.2222.00 2001:db8:2222::/128 192.0.2.2/32
R3 49.0001.3333.3333.3333.00 2001:db8:3333::/128 192.0.2.3/32
R4 49.0001.4444.4444.4444.00 2001:db8:4444::/128 192.0.2.4/32
R5 49.0001.5555.5555.5555.00 2001:db8:5555::/128 192.0.2.5/32

random table 3:

10 sets: You requested 10 sets with 3 unique random integers in each, taken from the [1100,64999] range. The integers in each set were sorted in ascending order.

Sets data

Set 1st 2nd 3rd
1 26798 45912 62565
2 14720 24476 40373
3 3309 7723 43846
4 7187 42923 64908
5 19044 44402 51280
6 7773 21930 58200
7 19215 25249 40060
8 8237 47914 62564
9 12542 15832 23867
10 23834 42933 43098

super table

Customer Amount
Fulanito 134,34
Menganito 234,56
Menganito 234,56

inline URL

unnumbered list (ul)

  • Unordered list can use asterisks (*)
  • Or minuses (-)
  • Or pluses (+)

numbered list (nl) ?

Not sure, do not know the syntax :/

markdown syntax

fortune

Must install fortune and enable the plugin to work.

Fortune cookie test:

[[!fortune ]]

currently not enabled.

keyboard CTRL

keyboard keys are needed, best would be as keyboardkeys.tmpl file, here the ikiwiki available KBD: CTRL E keyboard shortcut.

terminal color sheet for XTerm

format

The format directive is supplied by the format plugin.

The directive allows formatting a chunk of text using any available page format. It takes two parameters. First is the type of format to use, ie the extension that would be used for a standalone file of this type. Second is the text to format.

For example, this will embed an otl outline inside a page using mdwn or some other format:

[[!format <span class="error">Error: unsupported page format otl</span>]]

Note that if the highlight plugin is enabled, this directive can also be used to display syntax highlighted code. Many languages and formats are supported. For example:

    print "hello, world\n";

format can also be used to format entire source files and display them on a page. Simply put an inline directive with the raw attribute set inside a format. This can be useful if you want to both serve the file raw, as well as show it syntax highlighted on a page. An example:

<span class="createlink">View raw file</span>

ikiwiki

ikiwiki setup variations, easy to follow, the copy/paste manner:

distributed wikis

  • https://ikiwiki.info/tips/distributed_wikis/

ikiwiki FULLY distributed setup

The fully distributed ikiwiki setup

This is a specific use-case for single-user:

  • https://unix.stackexchange.com/a/293063

If you do not understand it this setup, you will not need it running your ikiwiki.

Picture visualisation:

fully distributed ikiwiki setup Picture source: https://ikiwiki.info

This setup explains having ikiwiki.git $REPOSITORY on:

  • far-end-host - left side in the picture
  • localhost - right side in the picture

Swap the localhosts hostname with personal laptop or workstation@home.

The setup runs a complete independent mirror of a already working ikiwiki setup on far-end-host, mirrored to localhost usage.

Syncing back the localhost git to far-end-host is a option, not mandatory.

Setup assumes for localhost:

  • $WEBSERVER is running
  • $WEBSERVER is setup for .localhost webhosting

All following commands displayed are on the localhost node:

Mirror $REPOSITORY

Create a mirror from the far-end wiki.git $REPOSITORY to a localhost /local/path/wiki.git $REPOSITORY

git clone --mirror user@server:/path/to/bare/repository.git /local/path/wiki.git

Create on localhost the following ikiwiki directories:

  • $srcdir - Where you edit the wiki and make changes
  • $dstdir - The $WEBSERVER directory for HTML rendered files

Create $SRCDIR

Change to the $srcdir, in example ~/myblog

cd myblog

To be able edit, clone initially from the localhost $REPOSITORY to ~/mydir:

git clone /local/path/wiki.git .

Now all files should are available in ~/mydir for editing.

Setup the ikiwiki ~/blog.setup to match the localhost path's.

To render the wiki on localhost, create on localhost the $dstdir, in example ikiwiki

Create $DSTDIR

mkdir -p /var/www/ikiwiki

Preview changes

After adding changes, it is possible to render ikiwiki locally, without commiting changes to ikiwiki.git.

change to the home directory

cd 

Initially render the whole ikiwiki to the /var/www/ikiwiki:

ikiwiki --setup blog.localhost.setup --rebuild

Review the result on the using the f.e.: ikiwiki.localhost URL.

Finally if any changes have been done to the files refresh ikiwki

ikiwiki --setup blog.localhost.setup --refresh

Commit changes (optional)

This is the best case, scenario. Rendered changes are good. Commit to ikiwiki.git on localhost:

cd ~/myblog
git commit -a -m 'refactoring finished'

Sync to far-end $REPOSITORY (optional)

Now we’re ready to send those updated references back to the far-end $REPOSITORY. This command is ran from the ~/myblog directory

cd ~/myblog

Now push it using git command:

git push user@server:/path/git/repo.git 

Update local mirror

To fetch updates from the origin, cd to $REPOSITORY

cd /local/path/wiki.git
git fetch -p origin

Push updates from mirror to origin

To update the far-end origin $REPOSITORY, from the local mirror $REPOSITORY

cd /local/path/wiki.git
git push --mirror

Another setup option explaining this setup above is here Laptop IkiWiki with git

cool ikikwiki examples

cool ikiwiki .setup

ikistrap

What is Bootstrap 5 theme? I am also curious, I think this is it, and especially the theme used:

  • https://getbootstrap.com/docs/5.0/examples/

And looks like this here:

  • https://pages.gitlab.io/ikiwiki/

Generate the website using the bootstrap theme, example command to inclue

ikiwiki --setup .ikiwiki/ikiwiki.setup --libdir themes/ikistrap/lib

Preview the themed object open the generated:

public/index.html 

in a browser.

Changing ikiwiki.setup

If changing setup, like removing plugins or adding, following procedure suggested to refresh the wiki

ikiwiki blog.setup --refresh

ikiwiki blog.setup --rebuild

ikiwiki FAQ's

How to setup, the ikiwiki community is slow to respond. Further interesting questions, with answers, elsewhere:

  • https://ikiwiki.info/forum/Using_ikiwiki_via_command_line:Workflowand_permission_problem/ ** https://unix.stackexchange.com/questions/388870/using-ikiwiki-via-command-line-workflow-and-permission-problem