﻿ticket,summary,type,release,owner,status,created,modified,_description,_reporter
11921,Footnote numbers are duplicated in Trac 1.0.1 ticket preview,defect,1.0,,new,2014-08-14T14:29:03+02:00,2020-05-06T02:05:20+02:00,"If you put one or more footnotes (`[[FootNote(some text)]]`) and the macro invocation to *display* the footnotes (`[[FootNote()]]`) in a ticket comment, while you work, the footnotes show up in the preview as

{{{
----
1. 1. some text
}}}

but once you've submitted it, it shows up as

{{{
----
1. some text
}}}

so, the macro has some weird interaction with the new preview feature.  For all I know, if you clicked <<Preview>> in 0.11 it did the same thing.",Chris Nelson
9883,Can't insert a macro within the FootNote macro text,defect,0.12,,new,2012-03-06T18:28:42+01:00,2020-05-06T02:05:20+02:00,"The following does not render correctly:

`See the Image macro documentation for more details [[FootNote([[MacroList(Image)]])]]`.


[[Image(MacroWithinMacro.png)]]",Ryan J Ollos
8676,Support for multiple parallel footnote sets,enhancement,0.11,,new,2011-04-05T21:50:24+02:00,2020-05-06T02:05:20+02:00,"I'd find it grand if one could specify something like a realm for footnotes. 

Something like this:

{{{
Testing out the !FootNoteMacro[[FootNote(foo,Here is the first footnote.)]]. 
This will be a good test to exercise all of its functionality
[[FootNote(foo,Here is the second footnote)]]. And now I'll add a 
footnote[[FootNote(bar,http://trac-hacks.org/wiki/FootNoteMacro)]] 
of a second set, like for a collection of external link 
references[[FootNote(bar,http://en.wikipedia.org/wiki/Reference)]].

== Links ==

[[FootNote(bar)]]

== Addendum ==

[[FootNote(foo)]]

}}}

It would, for example, allow collecting different sets of Footnotes, using them arbtitrarily throughout the document, and not only one new set after another set has been displayed.

Different formattings could be achieved through custom CSS (or ''style'' parameter), like having ""normal"" sets formatted like they are at the moment, whereas other sets (e.g., external References) could be displayed [1] like this [2].

[1] http://en.wikipedia.org/wiki/Display [[BR]]
[2] http://en.wiktionary.org/wiki/this

What do you think?",memartin
11012,Automatically insert footnotes at end of page,enhancement,,,new,2013-04-10T14:06:33+02:00,2020-05-06T02:05:20+02:00,"I think it would be a great idea if footnotes would automatically be displayed at the end of a wiki page, if `[[FootNote]]` is not placed manually anywhere on the page. More specifically, I would propose that a list of footnotes is inserted at the end if any footnotes are declared after the last occurrence of `[[FootNote]]`. I see two benefits from that change:

 - Simplify the common case of a short wiki entry where all footnotes should be shown in a single group at the end of a page anyway. 

 - Reduces confusion for inexperienced users (principle of least astonishment) which just want to insert a footnote somewhere and are surprised that the footnote is not shown anywhere. This may also happen when part of a page containing footnotes is moved from one page to another page where the destination page does not already contain a `[[FootNote]]`.

What do you think?",Michael Schwarz
14228,Support for reusing footnote by name,enhancement,,Ryan J Ollos,new,2023-06-11T17:15:24+02:00,2023-06-12T09:27:03+02:00,"The current `[[FootNote(1)]]` reference is fragile to insertion of new footnotes, as numbers can change. It might make sense to, well, allow people to refer to footnotes by name.

The new proposed interface takes the form `[[FootNote(name=...)]]` on reference, and `[[FootNote(name=..., content)]]` on definition. The new ""keyword"" argument idea is to preserve possible extensibility when we want to set a `group`, like in #8676.

And since we are doing multiple arguments, some splitting will be necessary. Just keep the note content at the end for now, so no fancy argument parser will be needed. The parsing is probably like:

{{{#!py
KWARGS = [""name"", ""group""]

if content:
  kwargs = {k: None for k in KWARGS}
  while True:
    old_content = content
    try:
      part, content = content.split(',', maxsplit=1)
    except ValueError:
      part = content
      content = ''
    try:
      key, value = part.trim().split('=', maxsplit=1)
      if key in kwargs:
        kwargs[key] = value
      else:
        raise ValueError(""no such kw, must be talking about something else..."")
    except ValueError:
      content = old_content
      break
  # go on do stuff with kwargs. 
}}}

For keeping track of the footnotes, hmm, make a new `context._footnote_names = {}` mapping strings to indices.",Mingye Wang
