Version 28 (modified by Adrian Fritz, 6 years ago) (diff)

Page refactor. Install details. Tested as per [13654]

Add footnotes to wiki


The FootNoteMacro automatically collates1 and generates footnotes.

There is an open ticket for integrating this feature to the Trac core, t:#9037.


To use it, simply call the FootNoteMacro with the footnote content2 as the only argument to the macro:

[[FootNote(This is a footnote)]]

Footnotes are numbered by the order in which they appear.

To create a reference to an existing footnote, pass the footnote number as the only argument to the macro:


In addition, identical footnotes are coalesced into one entry. The following will generate one footnote entry with two references:

Some text[[FootNote(A footnote)]] and some more text [[FootNote(A footnote)]].


And finally, to display a list of foot-notes call the macro with no arguments:


Once a set of footnotes has been displayed (by the use of [[FootNote]] macro), a complete new set of footnotes can be created. This allows multiple sets of footnotes per page.


The plugin follows the standard installation procedures described in t:TracPlugins. Here are some specifics and highlights.

  1. Install globally with:
    $ [sudo] easy_install
  2. Enable the plugin (globally or per environment) by updating TracIni file (..../trac.ini) as follows:
    footnotemacro.macro.* = enabled
  3. Restart web server on command line:
    $ [sudo] /etc/init.d/apache2 restart

Bugs/Feature Requests

Existing bugs and feature requests for FootNoteMacro are here.

If you have any issues, create a new ticket.

Source & Download

You can check out FootNoteMacro from here using Subversion, or browse the source with Trac.

Download the zipped source from [download:footnotemacro here].


Here are the footnotes assembled from this page.

  1. 1. Arranges in numerical order
  2. 2. Any WikiFormatting can be used as content

Here is some wiki markup that will exercise all the functionality of the macro.

Testing out the !FootNoteMacro[[FootNote(Here is the first footnote)]]. 
This will be a good test to exercise all of its
functionality[[FootNote(Here is the second footnote)]].
And now I'll add an identical footnote and refer to the first footnote
again[[FootNote(Here is the second footnote)]][[FootNote(1)]].


Now that I've called the !FootNoteMacro to print all the footnotes
[[FootNote(I did that in the paragraph above)]], I should be able to
generate more
footnotes[[FootNote(It would be really cool if this feature was integrated into the Trac core)]]
and print just the one that have been generated since the start of the second paragraph.
Just for good measure I'll try referring to some footnotes in the first paragraph
again[[FootNote(1)]][[FootNote(Here is the second footnote)]].


Screen capture of the output that is produced:

No image "FootNoteMacroExample.png" attached to FootNoteMacro

Recent Changes

16604 by rjollos on 2017-05-22 04:08:35
TracFootNoteMacro 1.6: Change package name
16395 by rjollos on 2017-03-25 09:25:02
Remove obsolete "0.8" directories
14822 by rjollos on 2015-07-20 04:43:08
1.5: Require Trac >= 0.11.


Authors: athomas, coderanger
Maintainer: rjollos
Contributors: JoshuaH