# Parsing markdown files

**URL:** <https://community.wolfram.com/t/parsing-markdown-files/17233>\
**Category:** Staff Picks\
**Tags:** data-science, wolfram-add-ons, import-and-export, packages-and-paclets, computational-linguistics, staff-pick, computational-humanities\
**Created:** [December 20, 2020, 4:31am UTC](https://community.wolfram.com/t/parsing-markdown-files/17233 "2020-12-20T04:31:28Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![faizonz](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/faizonz/32/22804_2.png) [@faizonz](https://community.wolfram.com/u/faizonz)\
**Post date:** [December 20, 2020, 4:31am UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/1 "2020-12-20T04:31:28Z")

</div>

![ScreenShot2020-12-20at12.13.28AM.jpg](https://global.discourse-cdn.com/wolfram/original/2X/1/1d03ff02ed96f2482daeb6a865543df841686eab.jpeg)

[Open in Wolfram Cloud ↗](https://www.wolframcloud.com/obj/672a6b0b-095b-41f4-9413-feb2bfaeae10)

---

<div class="post-metadata">

**Author:** ![wolframcommunity](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/wolframcommunity/32/8335_2.png) [@wolframcommunity](https://community.wolfram.com/u/wolframcommunity)\
**Post date:** [December 22, 2020, 10:19am UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/2 "2020-12-22T10:19:33Z")

</div>

![news-congrads-kkluyshnik-02-04-19.jpg](https://global.discourse-cdn.com/wolfram/original/3X/6/a/6a310c2d0904616faf4e6e148260c9f29ab9f4eb.jpeg) – you have earned _ **Featured Contributor Badge** _ ![2015-11-02_10-07-11.png](https://global.discourse-cdn.com/wolfram/original/3X/5/0/50e59c9ead62f729e7130d3ea1482555a75602b6.png)  
Your exceptional post has been selected for our editorial column _ **Staff Picks** _ [http://wolfr.am/StaffPicks](http://wolfr.am/StaffPicks) and [Your Profile](http://community.wolfram.com/web/faizonz) is now distinguished by a _ **Featured Contributor Badge** _ and is displayed on the [Featured Contributor Board](https://community.wolfram.com/people). Thank you!

---

<div class="post-metadata">

**Author:** ![antononcube](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/antononcube/32/7348_2.png) [@antononcube](https://community.wolfram.com/u/antononcube)\
**Post date:** [December 29, 2020, 1:39pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/3 "2020-12-29T13:39:57Z")

</div>

Interesting work! Can you post the link to `MarkdownParse` repository you mention?  
Is it this one: [GitHub - dishmint/Markdown2WL: Lex and Parse Markdown in Wolfram Language · GitHub](https://github.com/dishmint/Markdown2WL) ?

---

<div class="post-metadata">

**Author:** ![faizonz](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/faizonz/32/22804_2.png) [@faizonz](https://community.wolfram.com/u/faizonz)\
**Post date:** [December 29, 2020, 8:35pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/4 "2020-12-29T20:35:41Z")

</div>

Thanks Anton! Yeah, that’s the one.

---

<div class="post-metadata">

**Author:** ![antononcube](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/antononcube/32/7348_2.png) [@antononcube](https://community.wolfram.com/u/antononcube)\
**Post date:** [December 30, 2020, 12:45pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/5 "2020-12-30T12:45:41Z")

</div>

I think you should update your notebook to include the line:

```
Import["https://raw.githubusercontent.com/dishmint/Markdown2WL/master/Parser/MarkdownParse.wl"]

```

Or something similar…

---

<div class="post-metadata">

**Author:** ![faizonz](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/faizonz/32/22804_2.png) [@faizonz](https://community.wolfram.com/u/faizonz)\
**Post date:** [December 31, 2020, 11:20pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/6 "2020-12-31T23:20:28Z")

</div>

Ah, the package file, not the repository, I understand now. Sure I’ll add that asaic, having some trouble with cloud nbs atm.

---

<div class="post-metadata">

**Author:** ![phoenicia](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/phoenicia/32/15315_2.png) [@phoenicia](https://community.wolfram.com/u/phoenicia)\
**Post date:** [March 27, 2021, 12:19pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/7 "2021-03-27T12:19:22Z")

</div>

This has potential, Faizon. I think it can really fly as a conversion/migration-tool plug-in for markdown editors with an active community, such as Obsidian.md and others. Simple single-command-set of hotkeys could manipulate note formats contained there.

---

<div class="post-metadata">

**Author:** ![antononcube](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/antononcube/32/7348_2.png) [@antononcube](https://community.wolfram.com/u/antononcube)\
**Post date:** [September 26, 2022, 9:42pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/8 "2022-09-26T21:42:12Z")

</div>

I much more productized effort of converting Markdown to Mathematica is described in [“Markdown::Grammar”](https://rakuforprediction.wordpress.com/2022/09/24/markdowngrammar/).

_(Yes, the statement above is both obnoxious and self-promoting…)_

---

<div class="post-metadata">

**Author:** ![faizonz](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/faizonz/32/22804_2.png) [@faizonz](https://community.wolfram.com/u/faizonz)\
**Post date:** [April 17, 2024, 4:16pm UTC](https://community.wolfram.com/t/parsing-markdown-files/17233/9 "2024-04-17T16:16:43Z")

</div>

Minor FYI — I’ve refactored my parsing strategy and am working through updating tests. I’ve refactored about 100 tests so far, with ~600 remaining.

Most of the paclet component tests have been updated, the rest are for CommonMark v0.30.

I don’t have a timeline as the updating is a bit tedious, but I will write a new post and link here once complete.
