Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Carl Jacobsen

 On Jul 9, 2014, at 3:07 PM, Michel Fortin michel.for...@michelf.ca wrote:
 
 I sure wish things would be simpler. But as things are now, I have a hard 
 time identifying what flavor could mean. Should Markdown.pl-1.0.1 be a 
 flavor on its own?

Perhaps it would be better to have *two* optional fields:

- A processor field, as in `processor=Markdown.pl-1.0.1` or  
`processor=Pandoc-1.12.4.2-nostrict, which indicates that the sender was 
using (that program) to view the output and was satisfied with it. This could 
be included whenever known, and hopefully *not* relied upon by the recipient, 
but could provide useful clues in some cases where the recipient *has* to 
decide how to interpret something.

- A flavor field consisting of zero or more alphanumeric tokens, separated by 
+ or , or some such, declaring well-understood deviations from, or 
extensions to, the original standard. Not as a completely exhaustive list (you 
don't have to be able to indicate that your processor has, say, special syntax 
for animated gif backgrounds if no one else can use that anyway), but simply to 
promote better interoperability, to be interpreted as the text contained 
herein supports basic markdown, plus *at least* X and Y and Z capabilities. 
Include some useful things like:

- nofill (hard returns should be obeyed rather than joining lines - this 
would clarify that two github flavors situation),
- tables (supports some agreed-upon least common denominator table 
syntax),
- footnotes (similar but for footnotes),
- fencedcodeblocks (you get the idea),
- titleblock (text lines before first blank line are some sort of 
metadata and shouldn't be displayed to casual viewers),
- restrictunderscores (mid-word underscores are not to be interpreted as 
starting/ending emphasized or strong text)

The idea being, merely having the text/markdown content type would not 
guarantee anything beyond well, it's *some* sort of markdown flavored text, 
while specifying one or more of the attributes in the flavor field would 
indicate yes, you can assume that if something looks like an X, it *is* an X 
(where X is something from the list above). It doesn't necessarily mean you 
*will* find, say, a table, in the text, merely that if you see something that 
looks like a table, it likely is.

This way, senders can give a series of hints to make their text more clear to 
parse, using the flavor attribute, and can also declare what processor they 
were using to view/validate things on their end, in case the recipient feels 
they simply must know precisely how to interpret the text (at which point it's 
up to them to decide what, if any, conversion or special handling is 
necessary). And a recipient wouldn't need to consult an exhaustive list of 
processors, but simply look at the flavors attribute to see if it recognizes 
anything there as a useful hint (and render everything else naively).

So, you might have:  content-type=text/markdown flavor=tables+titleblock 
processor=floobity-1.2.3

We'd need an agreed-upon list of, ingredients, to put in the flavors field, 
but, again, you wouldn't want to exhaustively list every variant of every 
extension that any markdown-ish processor has ever come up with, only perhaps a 
dozen cases to cover the most common extensions (if you need to be more 
exacting, go consult the processor field and take matters into your own hands).

Does this make sense to anyone else? (I probably should have gone to sleep a 
long time ago.)

Cheers,
Carl Jacobsen
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Sreeharsha Mudivarti

 So, you might have:  content-type=text/markdown
 flavor=tables+titleblock processor=floobity-1.2.3


That looks fine, but it has too many Combinations.

I don't think Markdown should be standardised.

It is,

1) Incomplete as compared to asciidoc

2) Self-Contradicting

No general escaping

3) No formal grammar

It is typically implemented by regexes.
So unlike html, a bold phrase, can't span two lines.

In the meantime you can standardise asciidoc, multimarkdown, wikicreole
which are saner than the original markdown and they already have specs.

Makrdown dubs its formatting on email conventions.
That's not true, because email conventions are free-form ascii.
Consider this email thread, for example.

Cheers,
Harsha
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Michel Fortin
Le 10-juil.-2014 à 5:00, Sean Leonard dev+i...@seantek.com a écrit :

 I haven't tried it yet, but I suspect PHP Markdown is mostly encoding 
 agnostic only for most encodings that preserve the US-ASCII range.

That's what I meant by mostly encoding agnostic. It'll work with ASCII and 
most European encoding schemes because they are ASCII-compatible, but anything 
more fancy than that will have to be UTF-8.

-- 
Michel Fortin
michel.for...@michelf.ca
http://michelf.ca

___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Michel Fortin
Le 10-juil.-2014 à 1:04, John MacFarlane j...@berkeley.edu a écrit :

 +++ Michel Fortin [Jul 09 14 18:07 ]:
 
 Fun fact: PHP Markdown is mostly encoding agnostic. It understands UTF-8 
 sequences but any byte that is not a valid UTF-8 sequence is treated as a 
 character in itself. It's only relevant when converting tabs into spaces 
 however, and only if you have non-ASCII characters before the tab.
 
 Small amendment: There are at least two places where the difference
 between utf-8 and latin1 matters:  tab expansion (as you note) and
 reference links, since these are stipulated to be case insensitive.
 (Case conversion is sensitive to the encoding.)

Like Markdown.pl, PHP Markdown will just treat non-ASCII characters in a 
case-sensitive way so in my case it doesn't matter.

Also, if you want to compare characters in a case-sensitive manner, the most 
correct way to do it is to use the Unicode Collation Algorithm, not case 
conversion to lower or uppercase, because some characters can't round-trip (see 
[german ß]). Then you'll notice that unfortunately Unicode collation is locale 
dependent (because equivalent characters aren't the same in all locales, see 
the [turkish ı]). And then you'll realize there's not correct way to do it 
universally.

 [GERMAN SS]: https://en.wikipedia.org/wiki/ß
 [TURKISH I]: https://en.wikipedia.org/wiki/Turkish_dotted_and_dotless_I

On Babelmark I see that cheapskate 0.1.0.1 understands the first link above -- 
good job! -- an no one understands the second one.

http://johnmacfarlane.net/babelmark2/?normalize=1text=Also%2C+if+you+want+to+compare+characters+in+a+case-sensitive+manner%2C+the+most+correct+way+to+do+it+is+to+use+the+Unicode+Collation+Algorithm+--+not+case+conversion+to+lower+or+uppercase+--+because+some+characters+can't+round-trip+(see+%5Bgerman+ß%5D).+Then+you'll+notice+that+unfortunately+Unicode+collation+is+locale+dependent+(because+equivalent+characters+aren't+the+same+in+all+locales%2C+see+the+%5Bturkish+ı%5D).+And+then+you'll+realize+there's+not+really+a+correct+way+to+do+it.%0A%0A+%5BGERMAN+SS%5D%3A+https%3A%2F%2Fen.wikipedia.org%2Fwiki%2Fß%0A+%5BTURKISH+I%5D%3A+https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTurkish_dotted_and_dotless_I%0A

-- 
Michel Fortin
michel.for...@michelf.ca
http://michelf.ca

___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Aristotle Pagaltzis
* Carl Jacobsen li...@carlrj.com [2014-07-10 12:50]:
 So, you might have:  content-type=text/markdown flavor=tables+titleblock 
 processor=floobity-1.2.3

That’s very nice, except it will never happen.

• No user is going to annotate their files in such a way that this MIME
  type would ever show up in the wild in such specificity, unless they
  use special software which automatically records the relevant metadata
  (rather than just a text editor + file system workflow).

• No implementor is going to write a Markdown processor that is actually
  capable of dealing with this MIME type. (Except of course the author
  of floobity 1.2.3 itself, in this example, of course – which is not
  for any attempt at making it work in a generic way.)

• If the flavours refer to existing syntax extensions and modifications,
  those are all only vaguely specified, and the implementations that
  offer them are not likely to be changed to follow a more rigorous spec
  of the respective syntax extension any time soon. So in practice these
  flavour specs are no more well-defined than saying the document is
  (some kind of) Markdown.

• Documents are generally written for a specific processor, not for some
  particular combination of syntax extensions in the abstract. There are
  a number of processors which implement half a dozen separate syntax
  extensions. Documents written for these processors notionally employ
  all of these syntax extensions. Will documents in e.g. GitHub-Flavored
  Markdown always have to list the entire enchilada in their MIME type
  (instead of just saying “GFM”)? Or do you force whatever part of the
  infrastructure picks the MIME type to parse the document (and contain
  knowledge of all possible syntax extensions) to figure out which of
  them are actually used?

• I won’t make a separate bullet point for the endless effort of keeping
  track of all the possible syntax extensions, which is going to be
  a cat herder job, because that should be an obvious problem. But what
  if someone wants to implement a new syntax extension – what process do
  they have to go through before they can assign a truthful MIME type to
  their documents?

Metadata is hard. Let’s go shopping.

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Waylan Limberg

On Jul 09, 2014, at 11:49 AM, Sean Leonard dev+i...@seantek.com wrote:

Hi markdown-discuss Folks:

I am working on a Markdown effort in the Internet Engineering Task 
Force, to standardize on text/markdown as the Internet media type for 
all variations of Markdown content. You can read my draft here: 
http://tools.ietf.org/html/draft-seantek-text-markdown-media-type-00        .


My response below is lengthy but covers a number of different points including 
some raised later in the discussion by others. 

Sean, have you reached out to Mr. Gruber specifically? I mention this because 
in the past I have CCed him directly on a response I sent to this list which 
prompted him to respond (admittedly that happened some years ago). I suspect he 
might be amenable to the general idea though. A search of the list archives 
turned up a previous discussion [1] where he indicated a willingness to put in 
some work to obtain a mime type for markdown. Of course, that was back when he 
was still actively involved. Your mileage may vary.

[1]: http://article.gmane.org/gmane.text.markdown.general/1179

In any event, I have some thoughts about your proposal. I like it for the most 
part. But a few comments on some specifics:

Why do we need a Mime Type?


First of all, when is this necessary? In order words, when is plain markdown being sent 
around such that it needs a mime type? In my experience, REST API's (for example) use 
JSON or XML which may contain some Markdown text among other data. That other data may 
identify that the text is markdown, but the mime type for the file is JSON or 
XML (or at least the appropriate mime type for that file type). Or are you proposing that 
everyone standardize on a way to identify the markdown text within JSON and XML documents 
as Markdown text? What am I missing here?

Encodings
--

To shed a different light on the encoding issue, consider Python-Markdown 
(disclosure: I'm the primary developer). Just as in Python 3 (where all strings 
are Unicode), Python-Markdown only works with Unicode. You pass Unicode text 
in, and you get Unicode text out. It is up to the user of the library to 
concern themselves with encoding and decoding a file to/from a specific 
encoding. As Python provides the libraries to do that, it is not a big problem 
-- although for those used to working with byte strings it may be a little 
jarring (I'm seeing that reaction from people who are experimenting with 
Apple's new Swift Language -- which also supports Unicode only strings).

The point is, the Python-Markdown implementation has no use for the encoding 
(except for the included wrapping commandline script). Of course, the user 
(user of the library) will care about that and will need some way to identify 
the encoding before converting and passing the input on to the Python-Markdown 
library. So yes, encoding is very much a real, needed piece of meta-data.

However, if the markdown text is included in a JSON file (see my previous point 
above), then wouldn't the encoding be defined for the JSON file, not the 
markdown text specifically. The JSON parsing library would just spit out a 
Unicode string -- in which case, why do we need this?

Flavors
-

To me, flavors seems like a disaster waiting to happen. Sean, I realize you 
have specifically stated a lack of understanding here, so lets go back in time. The 
following may not be an all-inclusive (or in proper order of events) history of Markdown, 
but provides enough (I hope) to make a point.

Way back when, the flavor of markdown you used depended almost entirely on which language (Perl, 
PHP, Python...) you were using to code your project (blog, wiki, CMS, etc.). If you where using PHP, them 
your flavor was PHP Markdown... There was only one implementation per language and they (mostly?) agreed with 
each other. In that day flavor was completely pointless. I suspect a number of us resistant to 
the flavors part of your proposal are from that period in Markdown's history.

Of course, then Ruby came along. I don't remember which library was which, but when the first 
library came out, it was not very good (lots of bugs and slow). Then a second library came out 
which also wasn't very good, but in different ways (except for the slow part). Some people wrote 
their markdown documents with the bugs of the first implementation in mind, while other's wrote 
their documents with the second in mind. Then a few projects started offering users the option to 
pick which Ruby implementation of Markdown to use for each individual document - and 
flavors were born. Then other people started making ports of those projects to other 
languages and the flavors followed -- even though the other languages didn't really 
have any choices. As a reminder, Github came out of that Ruby culture, which might explain why 
Github-Flavored-Markdown ever existed in the first place (interesting side note: Gruber appears 

Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Fletcher T. Penney
This isn't entirely true.  For example, try to insert a list immediately 
preceding an indented (not fenced) code block, where the code block is 
*not* part of the list.  By doing so, you convert the code block into a 
paragraph that becomes part of the last list item.  Indenting with one 
more tab results in a code block, but that code block is still part of 
the list.  This seems to be one of the first gotchas that gets many 
new users to Markdown.


I suppose it's debatable as to how non-local that effect is 
considered, since the code block immediately follows the list.  But 
inserting one structure (the list) breaks something that previously 
worked (the code block).


A less debatable example is fenced code blocks (not part of Markdown per 
se, but part of many derivatives.)  I was reluctant to include fenced 
code blocks in MultiMarkdown for just this reason.  To my chagrin, after 
adding fenced code block support to MMD, I then realized just how much 
of a bad idea they are.  They are the one syntax element you can't 
identify by simply looking local to that portion of the text.  You have 
to start all the way at the beginning, which can be a headache if you 
have a novel contained in a single text file.



Consider the following excerpt from a document:

```

This is *text*

```

This is more *text*

```

Without knowing the entire document before the snippet, one cannot 
determine which of those sentences is a code block, and which is a 
paragraph.  The first row of single quotes could be starting a new code 
block, or it could be closing a previous code block.  One accidental 
fence delimiter at the beginning of a document could alter the meaning 
of the entire thing.  It's basically an even/odd problem, and the only 
way to know if a particular fence is even or odd is to count all the 
preceding fences.


This may not really matter that much when a single person creates a 
single document to be converted once into a single web page.  But in 
more complicated real world use, this can be problematic.


I don't know that there is much to do about it at the moment, and I 
don't currently plan to yank fenced code blocks from MMD.  But I mention 
it so that it can be considered when proposing additional new features 
on top of the Markdown base set.



FTP


On 7/10/14, 9:30 AM, Aristotle Pagaltzis wrote:

I’m afraid you entirely misunderstood what I meant by non-local.

What I was referring to is, e.g. in HTML you can insert tags at the top
of a document such as `table` or `pre` which then change the way the
entire remaining document is to be rendered. They affect the document
non-locally.

Markdown does not have such constructs. If you include a Markdown Extra
table in the document and you put that document through Markdown.pl, you
will get a garbled form of the source of the table syntax as output for
the table, but the misrendering is only local. The rest of the document
will be unaffected and will render correctly.


--
Fletcher T. Penney
fletc...@fletcherpenney.net
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Aristotle Pagaltzis
* Fletcher T. Penney fletc...@fletcherpenney.net [2014-07-10 18:30]:
 I suppose it's debatable as to how non-local that effect is
 considered,

I do consider that local. “Local-enough” at least. Tellingly though it’s
also the most common single reason for “how do I” user inquiries on this
list.

 A less debatable example is fenced code blocks

Yes, true.

The annoying thing is, while I was against them when the proposal was
brought up for Markdown in general, after spending some time using them
(by way of GitHub), I do find them convenient as a user. So now I have
a dilemma.

— • —

Still though – because fenced code blocks are an extension, they don’t
much change the principle of what I said: if you use a fenced code
block, then try to render the document using some other processor which
doesn’t support them, you get a garbled code block and then the rest of
the document after that looks fine.

Conversely a documents written for processors that do not support fenced
code blocks are rather unlikely to contain something that looks as if it
were – which would then lead to large-scale botch if you tried to render
them using a processor that supports fenced code blocks. (I feel this is
especially so for backtick fences. Tilda fences seem to have some remote
likelihood of being used as an innocuous part of a non-fenced-code-block
document.)

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Alan Hogan

On Jul 10, 2014, at 8:49 AM, Waylan Limberg waylan.limb...@icloud.com wrote:

 In my experience, REST API's (for example) use JSON or XML which may contain 
 some Markdown text among other data. That other data may identify that the 
 text is markdown, but the mime type for the file is JSON or XML (or at 
 least the appropriate mime type for that file type). 

I’m no [REST Police][1], but in my understanding, REST encourages the embracing 
of HTTP verbs to perform actions on hypertext objects. Consider an API call 
that updates the Markdown source of a blog post, for example. You are entirely 
correct that there is a strong chance that this API call would actually send an 
updated copy of a JSON object including fields such as “title”, “date”, “url”, 
and “body”, the last of which may implicitly or explicitly be Markdown data. 
(And the MIME type on that call would be application/json or whatever.) But 
perhaps the most RESTful way to do this would be to send a plain Markdown file 
(as text/markdown). (As far as the metadata goes, the server could extract the 
title from the markdown document itself (first level-one heading or first line 
of text, for example), set the date automatically, and so on.

That’s not to say that a JSON API for updating a blog post isn’t RESTful, but 
rather that the non-JSON, pure-Markdown API is where the new MIME type would be 
most needed.

[1]: https://twitter.com/RESTPOLICE

Alan

___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


case in reference links (was: Re: text/markdown effort in IETF)

2014-07-10 Thread John MacFarlane

+++ Michel Fortin [Jul 10 14 07:53 ]:

Le 10-juil.-2014 à 1:04, John MacFarlane j...@berkeley.edu a écrit :


+++ Michel Fortin [Jul 09 14 18:07 ]:


Fun fact: PHP Markdown is mostly encoding agnostic. It understands UTF-8 
sequences but any byte that is not a valid UTF-8 sequence is treated as a 
character in itself. It's only relevant when converting tabs into spaces 
however, and only if you have non-ASCII characters before the tab.


Small amendment: There are at least two places where the difference
between utf-8 and latin1 matters:  tab expansion (as you note) and
reference links, since these are stipulated to be case insensitive.
(Case conversion is sensitive to the encoding.)


Like Markdown.pl, PHP Markdown will just treat non-ASCII characters in a 
case-sensitive way so in my case it doesn't matter.


I think this is a deficiency in Markdown.pl.  The syntax description
says that reference links are case-insensitive, and it doesn't say
anything about this just applying to ascii references.  I think someone
who writes in, say, Spanish, would be quite naturally expect words with
accents to behave the same as words without accents in reference links.

By the way, I'm not sure what the motivation for making the reference
links case-insensitive was.  I conjecture that it was to allow the
following sort of thing:

   [Foo][] is better than [bar][].  And [Bar][] is worse than [foo][].

   [foo]: /url1
   [bar]: /url2

This is a good motivation:  it would be a  burden to have to define
separate references for capitalized and uncapitalized versions of a
phrase, or to use the longer form `[Foo][foo]` for capitalized
versions.  But this motivation extends naturally beyond ascii.

Hence, I think markdown processors *should* do a proper unicode
case fold in determining when references match.

Unfortunately, as you point out, this becomes very complex, and
brings in locale dependence for a few cases (e.g. Turkish).  Still,
I think it's the ideal we should aspire to.

___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread John MacFarlane

+++ Aristotle Pagaltzis [Jul 10 14 14:18 ]:

• No implementor is going to write a Markdown processor that is actually
 capable of dealing with this MIME type. (Except of course the author
 of floobity 1.2.3 itself, in this example, of course – which is not
 for any attempt at making it work in a generic way.)


Pandoc can already do this. Quick demo:

pandoc -s -f markdown_strict+pandoc_title_block+tex_math_dollars -t 
markdown_strict+mmd_title_block+tex_math_double_backslash


% Demo
% John
% July 1, 2014

Here is some math:  $e=mc^2$.

^D
author: John
date: July 1, 2014
title: Demo

Here is some math: \\(e=mc^2\\).


Here's my current list of extensions/variations (from the pandoc
source code).  Of course, it's nowhere near exhaustive:

 Ext_footnotes   -- ^ Pandoc/PHP/MMD style footnotes
   | Ext_inline_notes-- ^ Pandoc-style inline notes
   | Ext_pandoc_title_block  -- ^ Pandoc title block
   | Ext_yaml_metadata_block -- ^ YAML metadata block
   | Ext_mmd_title_block -- ^ Multimarkdown metadata block
   | Ext_table_captions  -- ^ Pandoc-style table captions
   | Ext_implicit_figures-- ^ A paragraph with just an image is a figure
   | Ext_simple_tables   -- ^ Pandoc-style simple tables
   | Ext_multiline_tables-- ^ Pandoc-style multiline tables
   | Ext_grid_tables -- ^ Grid tables (pandoc, reST)
   | Ext_pipe_tables -- ^ Pipe tables (as in PHP markdown extra)
   | Ext_citations   -- ^ Pandoc/citeproc citations
   | Ext_raw_tex -- ^ Allow raw TeX (other than math)
   | Ext_raw_html-- ^ Allow raw HTML
   | Ext_tex_math_dollars-- ^ TeX math between $..$ or $$..$$
   | Ext_tex_math_single_backslash  -- ^ TeX math btw \(..\) \[..\]
   | Ext_tex_math_double_backslash  -- ^ TeX math btw \\(..\\) \\[..\\]
   | Ext_latex_macros-- ^ Parse LaTeX macro definitions (for math only)
   | Ext_fenced_code_blocks  -- ^ Parse fenced code blocks
   | Ext_fenced_code_attributes  -- ^ Allow attributes on fenced code blocks
   | Ext_backtick_code_blocks-- ^ Github style ``` code blocks
   | Ext_inline_code_attributes  -- ^ Allow attributes on inline code
   | Ext_markdown_in_html_blocks -- ^ Interpret as markdown inside HTML blocks
   | Ext_markdown_attribute  -- ^ Interpret text inside HTML as markdown
 --   iff container has attribute 'markdown'
   | Ext_escaped_line_breaks -- ^ Treat a backslash at EOL as linebreak
   | Ext_link_attributes -- ^ MMD style reference link attributes
   | Ext_autolink_bare_uris  -- ^ Make all absolute URIs into links
   | Ext_fancy_lists -- ^ Enable fancy list numbers and delimiters
   | Ext_lists_without_preceding_blankline -- ^ Allow lists without preceding 
blank
   | Ext_startnum-- ^ Make start number of ordered list significant
   | Ext_definition_lists-- ^ Definition lists as in pandoc, mmd, php
   | Ext_example_lists   -- ^ Markdown-style numbered examples
   | Ext_all_symbols_escapable  -- ^ Make all non-alphanumerics escapable
   | Ext_intraword_underscores  -- ^ Treat underscore inside word as literal
   | Ext_blank_before_blockquote -- ^ Require blank line before a blockquote
   | Ext_blank_before_header -- ^ Require blank line before a header
   | Ext_strikeout   -- ^ Strikeout using ~~this~~ syntax
   | Ext_superscript -- ^ Superscript using ^this^ syntax
   | Ext_subscript   -- ^ Subscript using ~this~ syntax
   | Ext_hard_line_breaks-- ^ All newlines become hard line breaks
   | Ext_ignore_line_breaks  -- ^ Newlines in paragraphs are ignored
   | Ext_literate_haskell-- ^ Enable literate Haskell conventions
   | Ext_abbreviations   -- ^ PHP markdown extra abbreviation definitions
   | Ext_auto_identifiers-- ^ Automatic identifiers for headers
   | Ext_ascii_identifiers   -- ^ ascii-only identifiers for headers
   | Ext_header_attributes   -- ^ Explicit header attributes {#id .class k=v}
   | Ext_mmd_header_identifiers -- ^ Multimarkdown style header identifiers 
[myid]
   | Ext_implicit_header_references -- ^ Implicit reference links for headers
   | Ext_line_blocks -- ^ RST style line blocks


___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: text/markdown effort in IETF (invite)

2014-07-10 Thread Sreeharsha Mudivarti
On Fri, Jul 11, 2014 at 3:58 AM, John MacFarlane j...@berkeley.edu :



 Here is some math: \\(e=mc^2\\).


 Here's my current list of extensions/variations (from the pandoc
 source code).  Of course, it's nowhere near exhaustive:

  Ext_footnotes   -- ^ Pandoc/PHP/MMD style footnotes
| Ext_inline_notes-- ^ Pandoc-style inline notes
| Ext_pandoc_title_block  -- ^ Pandoc title block
| Ext_yaml_metadata_block -- ^ YAML metadata block


As much as admirable pandoc is, testing that is difficult.

Given that features can nested, the combinations is easily greater
than the number of lines in

https://github.com/jgm/pandoc/blob/master/tests/Tests/Readers/Markdown.hs

Markdown is an over-loaded term. It is safe to say that,
there are at-least two useful Markdowns

1) Plain

Useful for,

* Non-technical publishing
* Simple comment systems

( Markdown.pl )

2) Complete

* DocBook / Latex style publishing
* Editors

( MultiMarkdown )

A third type of Markdown can be labelled Proprietary Markdown,
of which Github Markdown is a prime example.

Markdown implementations can give pre-processors and post-processors,
which can implement Proprietary Extensions.

I don't understand why different things have to be conflated together.

If the IETF draft is from the perspective of publishing 1) can be ignored.
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss