Converter entre elementos Markdown

Quais são as opções para analisar o documento Markdown e processar seus elementos para gerar um outro documento Markdown?

Vamos dizer

```
# unaffected #
```

# H1 #

H1
==

## H2 ##

H2
--

### H3 ###

deve ser convertido para

```
# unaffected #
```

## H1 ##

H1
--

### H2 ###

### H2 ###

#### H3 ####

no ambiente do nó. O elemento de destino pode variar (por exemplo, #### pode ser convertido para **).

O documento pode conter outros elementos de marcação que não devem ser afetados.

Como pode ser obtido? Obviamente, não com regexps (usar regexp em vez de lexer completo afetará# unaffected #) Eu esperava usarmarked mas parece que ele é capaz apenas de saída HTML, não de Markdown.

questionAnswers(5)

yourAnswerToTheQuestion