49

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

ross
  • 2,684
  • 2
  • 13
  • 22
UKDataGeek
  • 6,338
  • 9
  • 46
  • 63
  • Although I'm not sure whether this is the direction you want, as one of several workarounds, how about using [Markdown API of GitHub](https://developer.github.com/v3/markdown/)? It can think of the following flow. 1. Upload the markdown file to Web Apps of Google side. 2. At Web Apps, the retrieved file is converted to HTML using Markdown API of GitHub and converted to Google Document. It might be required to modify the Document for the template. I'm not sure about your template, the number of files and the maximum file size. So if this was not the direction you want, I apologize. – Tanaike Jun 29 '19 at 23:21
  • Did you ever find a way to do bulk conversions from Markdown into Google Docs? I currently convert individual documents by pasting Markdown into a Markdown editor (e.g. https://dillinger.io) then copying the formatted text — but obviously that doesn't scale! – Sam Dutton Sep 16 '20 at 09:23

7 Answers7

39

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.
Venryx
  • 15,624
  • 10
  • 70
  • 96
Sam Dutton
  • 14,775
  • 6
  • 54
  • 64
33

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.

John Humphreys
  • 37,047
  • 37
  • 155
  • 255
25

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.

fearless_fool
  • 33,645
  • 23
  • 135
  • 217
  • 1
    Can you describe for posterity how to render an .md file in the browser as rich text? – skybondsor Mar 26 '22 at 14:13
  • 1
    @skybondsor Assuming your .md file is already on github, you just view it -- github will render it as rich text. If it is not on github,, you can push it to one of your repositories or if you don't want to do that, use one of the non-github solutions offered here. – fearless_fool Mar 27 '22 at 13:13
  • caveat: This won't work for large md files. – Alexander Jul 06 '23 at 03:42
6

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
3

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).

TheAddonDepot
  • 8,408
  • 2
  • 20
  • 30
2
#!/bin/bash

# Create the "converted" directory if it doesn't already exist
if [ ! -d "converted" ]; then
  mkdir "converted"
fi

# Find all markdown files in the current directory and its subdirectories
find . -name "*.md" | while read filename; do
  # Use pandoc to convert the file to a .docx file
  pandoc "$filename" -o "${filename%.*}.docx"

  # Create the same directory structure under "converted" as the original file
  dir=$(dirname "$filename")
  mkdir -p "converted/$dir"

  # Move the converted file to the "converted" directory
  mv "${filename%.*}.docx" "converted/$dir"
done
0

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.

guo
  • 195
  • 1
  • 2
  • 12