MacDownApp / macdown

Open source Markdown editor for macOS.
https://macdown.uranusjr.com/
9.43k stars 1.09k forks source link

Intradocument links don't work unless md file is saved to disk. #262

Open ohthetrees opened 9 years ago

ohthetrees commented 9 years ago

If I insert an anchor and link to it internally within the same document, the links don't work until the document is saved to disk.

Also, perhaps this is more of an issue for hoedown upstream, but it would be nice if MultiMarkdown style internal links were supported. It feels strange to drop into html to do an internal link.

uranusjr commented 9 years ago

This seems to work for me. Could you describe a set of minimal steps that can reproduce this problem? What I did is

  1. Open a new (untitled) document.
  2. Copy some text inside (long enough so that I can notice the anchor jump).
  3. Create an anchored element (<div id="foo"></div> or a footnote).
  4. Create an intra-document link (something like [foo](#foo)).
  5. Click on the link
ohthetrees commented 9 years ago

If I paste the code block below into a new file, clicking the "Anchor" link opens a new finder window. After saving the file, the link works as expected. However, the odd thing is, even after it is saved and starts working, if I right click on the link, and select "Copy Link" I end up with this on my clipboard: file:///Users/cedar/#the_anchor which is not a valid link. So I don't quite know why it ever works.

[Go to Anchor](#the_anchor)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra arcu ut sollicitudin faucibus. Nam sodales semper efficitur. Ut eu diam non neque consectetur molestie vel eu nisi. Nullam interdum est euismod tempus convallis. Quisque felis urna, iaculis vitae leo aliquet, euismod dignissim risus. Nulla facilisi. Nullam nec enim eget mauris accumsan aliquet. Suspendisse potenti. Morbi hendrerit risus lobortis lectus pharetra, posuere viverra lacus porta. Proin blandit elit eget leo auctor maximus quis ut purus.

Suspendisse lacinia semper metus eleifend condimentum. Maecenas justo nisl, sagittis et accumsan eget, iaculis sit amet mi. Vivamus consequat consectetur faucibus. Nulla eget aliquet quam. Suspendisse facilisis ac ipsum a gravida. Nullam aliquam varius tempus. Maecenas pellentesque lorem sit amet nisl mollis, sed malesuada nulla rhoncus. Proin fringilla lorem elit, et euismod magna interdum ut. Fusce vehicula, metus eget lobortis sagittis, sapien urna sodales tortor, consequat malesuada urna est a tortor. Phasellus vestibulum massa metus, ut commodo ex porta et. Etiam in ligula sit amet mi placerat faucibus id et lacus.

Suspendisse lacinia semper metus eleifend condimentum. Maecenas justo nisl, sagittis et accumsan eget, iaculis sit amet mi. Vivamus consequat consectetur faucibus. Nulla eget aliquet quam. Suspendisse facilisis ac ipsum a gravida. Nullam aliquam varius tempus. Maecenas pellentesque lorem sit amet nisl mollis, sed malesuada nulla rhoncus. Proin fringilla lorem elit, et euismod magna interdum ut. Fusce vehicula, metus eget lobortis sagittis, sapien urna sodales tortor, consequat malesuada urna est a tortor. Phasellus vestibulum massa metus, ut commodo ex porta et. Etiam in ligula sit amet mi placerat faucibus id et lacus.

Suspendisse lacinia semper metus eleifend condimentum. Maecenas justo nisl, sagittis et accumsan eget, iaculis sit amet mi. Vivamus consequat consectetur faucibus. Nulla eget aliquet quam. Suspendisse facilisis ac ipsum a gravida. Nullam aliquam varius tempus. Maecenas pellentesque lorem sit amet nisl mollis, sed malesuada nulla rhoncus. Proin fringilla lorem elit, et euismod magna interdum ut. Fusce vehicula, metus eget lobortis sagittis, sapien urna sodales tortor, consequat malesuada urna est a tortor. Phasellus vestibulum massa metus, ut commodo ex porta et. Etiam in ligula sit amet mi placerat faucibus id et lacus.

Suspendisse lacinia semper metus eleifend condimentum. Maecenas justo nisl, sagittis et accumsan eget, iaculis sit amet mi. Vivamus consequat consectetur faucibus. Nulla eget aliquet quam. Suspendisse facilisis ac ipsum a gravida. Nullam aliquam varius tempus. Maecenas pellentesque lorem sit amet nisl mollis, sed malesuada nulla rhoncus. Proin fringilla lorem elit, et euismod magna interdum ut. Fusce vehicula, metus eget lobortis sagittis, sapien urna sodales tortor, consequat malesuada urna est a tortor. Phasellus vestibulum massa metus, ut commodo ex porta et. Etiam in ligula sit amet mi placerat faucibus id et lacus.

<a name="the_anchor">Anchor</a>
ohthetrees commented 9 years ago

New info. If I paste the code block above into a new document, and click the "Go to Anchor" link, it does not work. However, it doesn't actually matter if I save at this point or not. Click it a second time and the link does work! The link still looks bad if I right click and "Copy Link": file:///Users/cedar/#the_anchor

If the preview window re-renders (because of editing, or hitting command-R then the links stop working, until clicked twice.

ohthetrees commented 9 years ago

As a side-note, the right-click contextual menu should probably have some items that don't work or make no sense suppressed. For example, "Open Link in New Window" and "Download Linked File" don't seem to do anything.