Add Scrivener link conversion to "Convert XXX to Multimarkdown" compile options

Currently if you want to convert Scrivener links into markdown, you have to use “Convert rich text to multimarkdown” — BUT this escapes all markup characters and therefore breaks compiling for hybrid users. “Convert lists and tables to Multimarkdown” can be used by hybrid users, but does not apply to links. For other things like bold/italic, we can use Styles to replace the RTF without issue (and styles are overall much more powerful). But styles cannot recover the link URL+text and therefore cannot be used to replace lost functionality. We can use raw text markup, but we lose the nice GUI that Scrivener has for link management.

If links were added to this Convert option, then hybrid users could also easily use Scrivener links: “Convert links, lists and tables to Multimarkdown” 8)

It’s something we did discuss! The main reason it’s not included in that checkbox is because I want to use lists and tables, but I most certainly do not want all of my internal Wiki-style hyperlinks to be exported.

Tables and lists are a safe option. As particular RTF constructs, they have absolutely no relevance to plain-text output otherwise, and the only reason we don’t turn them on by default is… actually I’m not sure to be honest. :slight_smile: If you don’t like them, you don’t use them. Links on the other hand are very preferential. They are why we have a checkbox in the formats where they would export, to specifically not export them. Grouping them in with tables and lists mixes something fairly evenly desirable (where if you want lists but not tables, you just don’t use tables, because why would use tables otherwise with Markdown?) with something you might really not want.

Of course one way around that would be to add the “Remove all hyperlinks” checkbox, from other rich text oriented option panes—but then that option becomes awkwardly useless unless you use one of these two checkboxes enabled, meaning it would make more sense to just have link conversion as a third checkbox, making it a positive choice rather than a negative.

But then at that point we start getting into awkward territory, where if one goes down the path of selectively activating different types of formatting for conversion, why stop at just links? Why not a checkbox for simple bold/italic conversion as well? Etc.

I think if a conversation were to be started with that line of thinking as the premise, we’d be looking toward a different kind of mechanism than checkboxes in the options pane. Maybe something like a popover with a variety of different options provided. Personally I wouldn’t be opposed to that kind of approach, it’s a more a matter of how much of a mess, at the code level, it turns the conversion routine into I guess.

:smiley: Yes I suppose the ideal design would offer us a central smörgåsbord of features from which we could choose!

But based on the current design, we seem to have limited options:

  1. add links to lists and tables
  • optionally add “remove hyperlinks” to afford more control
  1. add a new checkbox “Convert links to Multimarkdown”, no need for “remove hyperlinks”.

Now, you needed lists/tables converted but not links, and this is a specific use-case… I do however think Links are very important for other workflows, especially cross-linking within the document which is much harder to manage post-compile. Personally I would always want my links converted, I can’t think of a use-case for my writing where I would want to “remove hyperlinks”. But we are all different, and so option 2 above would cater to us all, simply following the existing design choice (checkbox toggles either/or) in that panel 8)

I would agree with this, as someone who is reading up on all the MMD integration and figuring out when I will dip my toes into this for some of the technical material I work on. I get what Amber is saying about having a laundry list of toggles, but at the same time, I think tables/lists and links are both such unique types of content it makes sense to allow/disallow their conversion separately.

I suppose, though it isn’t as critical as with rich text since with Pandoc/MMD there are good ways of cross-referencing without any external help. That’s the way I’ve always done it: I use the syntax if I want a public cross-reference, often in conjunction with an internal link—which is easy with the double-bracket helper in Scrivener, you just add three instead of two. Then I use internal links alone if it is purely an internal link. That kind of decision isn’t possible to make with the rich text workflows, where links are all or nothing (well, wrapping all internal links in inline annotations aside). Another reason I prefer it is that it is much easier to position the cursor and [edit text that looks like this][some link], than text that looks like this, given how the Mac text engine works (I wish it worked like LibreOffice, frankly, where you have to hold down a modifier to activate a link).

But again, that’s just my personal preference, I understand why one would find this handy. It is why we did consider and discuss the merits of including it in the options. And to be clear I think it is still worth consideration. I think there are a number of people that would like to see links converted.

Yeah, to my mind tables and lists are more like footnotes and images in Scrivener. If you don’t want Scrivener to turn them into Markdown code then you don’t use them. They are preferential by default.

In fact I wonder if in retrospect if that isn’t another approach to putting a damper on proliferation: what if lists and tables always converted, like images do? Then without that checkbox there could be a simple choice to have links converted and that’s it.

Can you think of any cases where it might be useful to have a list or table in a Markdown-based project, where you would want the RTF engine’s take on what these things look like converted to plain-text? List output is only slightly useful in the sense that it needs to be fixed with Replacements to be anything other than a code block, but table output is utterly useless.

The link conversion toggle is now available in Scrivener 3.1 beta, thank you!!! 8) 8) 8)

:wink:

And a very nice revision of the manual sections explaining these new settings (and markdown in general; happy to see escaping as a toggle option too)!!! 8)

Thanks! :smiley: