Using Markdown is different than using a WYSIWYG editor. In an application like Microsoft Word, you click buttons to format words and phrases, and the changes are visible immediately. Markdown isn't like that. When you create a Markdown-formatted file, you add Markdown syntax to the text to indicate which words and phrases should look different
Markdown has a few implementations. Buttondown starts from Python-Markdown, and we add a handful of extensions & tools to make your editing experience even better.
All HTML is valid Markdown, so if you ever want to use something more complex than what the Markdown syntax offers you can just use HTML!
If you write in Markdown, you can drag and drop your image into the editor.
Once the image is uploaded, you can update the alt text by changing the contents of the text in the square brackets. This will look something like:
If you'd like to turn the image into a link you can with Markdown! To do this, you'll wrap all the image code inside a Markdown link, like so:
In addition, Buttondown uses a handful of extensions:
In addition to all of those, Buttondown uses some proprietary extensions for embedding things like tweets, YouTube videos, and gifs — but none of these should affect your general rendering experience.
Embeds can be invoked by putting the URL of the resource (Tweet, post, image, etc.) on its own line. Only the URL should be on the line. Any additional whitespace or characters will intercept the magic of embeds.
Embeds support URLs from the following sources:
Play around with it!
Embeds only trigger on their own self-contained lines. If you're looking for an escape hatch out of these embeds, you can simply wrap the link in an HTML tag, like so:
If you're interested in creating a table of contents in your Buttondown newsletter, be sure to use names (such as <a name='heading'>) rather than ids (such as <a id='heading'>)! Gmail and many other email clients strip id tags from emails, which will break internal links.