marktext / marktext

📝A simple and elegant markdown editor, available for Linux, macOS and Windows.
https://www.marktext.cc/
MIT License
46.48k stars 3.46k forks source link

Marktext should not move footnotes contents to the real end of document #2036

Open N0rbert opened 4 years ago

N0rbert commented 4 years ago

Description

Using MarkText with version control system become difficult because of moving footnotes to the real end of document.

Steps to reproduce

  1. Have Markdown document with footnotes defined

    Text before footnote.

    A footnote [^1]

    [^1]: Here is the footnote.

    Text after footnote.

  2. Open the document using MarkText

  3. Save the document

Expected behavior:

the MarkText does not change the document

Actual behavior:

the MarkText changed the document, moved footnote to the real end of the document:

Text before footnote.

A footnote [^1]

Text after footnote.

[^1]: Here is the footnote.

Versions

fxha commented 4 years ago

Thank you for taking the time to report this issue. @Jocs Could you please explain, why we put the footnotes that the end of the document and whether it's possible to keep the old position.

Jocs commented 4 years ago

According pandoc document

The footnotes themselves need not be placed at the end of the document. They may appear anywhere except inside other block elements (lists, block quotes, tables, etc.). Each footnote should be separated from surrounding content (including other footnotes) by blank lines.

At the time of development, it placed at the end of document according to the usual habits, or my personal habits, I did not consider it too much, this will be optimized in the future.

gilbertohasnofb commented 3 years ago

@N0rbert out of curiosity, does Mark Text display [^1] as a number one superscript, i.e. ¹, or is it literally displayed as ^1 in your text? In my Linux installation, Mark Text displays the latter.

N0rbert commented 3 years ago

@gilbertohasnofb my main gold standard here is retext.

retext footnote

The PDF and HTML exports from MarkText v0.16.2 looks the same.

But footnote is still moved to the end of document on save.

gilbertohasnofb commented 3 years ago

Strangely enough, footnotes do not seem to work on my Linux Mintt 18.3 installation and MarkText 0.16.2. Pasting your minimal example in source code mode:

image

Going back into regular mode, I see:

image

So:

  1. The syntax [^1] is not resulting in superscripts
  2. the [^1]: footnote line is not being recognised as a footnote line
  3. the save function is not sending it to the end of the file, though this is likely because it is not recognising the syntax [^1]: as a footnote
N0rbert commented 3 years ago

@gilbertohasnofb this behaviour may be caused by disabled Markdown Extensions (i.e. Use pandoc-style footnotes) in the Preferences. Below is what I have set:

enable footnotes

Then after restart I the following:

document with footnote

gilbertohasnofb commented 3 years ago

That was it, I did not know that this was not enabled by default. Now I can reproduce your issue and the output looks exactly like the last screenshot.

N0rbert commented 2 years ago

Still not fixed in 0.16.3.