Convert a Markdown text file into a Google Document using Appscript?

Viewed 24708

I am trying to migrate a load of documentation which was written in markdown into a Google Doc so it can be used by our marketing department.

Is there a mechanism using appscript/ Google Docs Api that I can import a file and convert it to a Google Doc using a predefined template? Eg H1s will map to Title, etc

6 Answers

One suggestion: use Pandoc to convert Markdown to docx, then import to Google Docs using the Google Drive API.

You can also accomplish this using the Google Drive web interface:

  1. Convert markdown to ODT (or some other intermediate) using pandoc: pandoc MyFile.md -f markdown -t odt -s -o MyFile.odt
  2. Move the ODT file into your Google Drive folder.
  3. Right-click the ODT file (in the web version of Drive) and press "Open With -> Google Docs".
  4. Google Drive will now create a new Google Doc, with contents matching the ODT file, and open it for you.

No add-ons needed

I just stumbled upon a really simple approach that may suit your needs.

In github, I opened a ReadMe.md file, rendered in the browser as rich text. I copied it from the browser and pasted it into a new Google Doc.

Voila: Google Docs preserved the headings, bullets, etc. I can't vouch for what it does with links and other fancier markdown ops, but it was a quick way to get started.

Easiest way that most likely requires no new tooling for many developers (if you're willing to do some manual pasting):

Just use Visual Studio Code.

  1. Paste text into the editor.
  2. At bottom right, select markdown as language.
  3. Top right, click the preview button.
  4. This will split the screen and show the rendered markdown you can paste into google docs.
  5. It's pretty quick at this point to just keep paste markdown/copy result/repeat as long as you don't have hundreds of docs.

Of course, if it's a ton of docs, you'll want something more automated than this.

I don't know of a tool or library that allows for a direct conversion from markdown to a google doc.

Maybe you can convert your markdown to an intermediary format compatible with Google Docs (viable formats include .docx, .docm .dot, .dotx, .dotm, .html, plain text (.txt), .rtf and .odt) and then go from there.

You just need to find a tool that can convert markdown to one of those formats and also process your files in bulk (maybe some command-line utility could help with that).

One variation of the suggestion to use pandoc: try using the docx format instead of odt. Google Docs handles MS Office files natively so I found formatting was preserved somewhat better using this approach.

Revised steps:

  1. Convert markdown to DOCX using pandoc: pandoc MyFile.md -f markdown -t docx -s -o MyFile.docx
  2. Upload MyFile.docx into your Google Drive folder
  3. Double-click MyFile.docx in the web version of Drive
  4. Google Drive will open MyFile.docx in a new tab

There is the Google Docs Addon Markdown to Docs ... which converts Markdown to Google Docs.

It has its limitations due to the Gdoc format but works otherwise very well.

Related