The Mirror Editor enables composing entries with Media Blocks, such as embedded NFTs from across the Ethereum ecosystem, Subscribe to Mint NFTs, images and videos, along with Action Blocks including “subscribe” and “mint entry”. It uses plain text and Markdown with a few formatting conventions.
Composition takes place in
Edit mode. To preview your entry as it will appear when it is live on Mirror, enter
Preview mode by clicking on the arrow button in the toolbar (the arrow will appear after entering an entry title and body):
To easily create a Media Block from the Editor toolbar, first click inside your entry to place the cursor where you’d like the Block to appear. Next, click the Blocks area of the toolbar, or focus with the keyboard shortcut ⌘+/. The Blocks menu will appear, showing you all available Blocks. Selecting a Block may prompt you for secondary information. Once you’re done, confirm the information to insert the Block into your entry.
Media Blocks can also be created via hyperlink with a simple formatting convention: an individual link on its own line of text. To manually create a Block, insert a new line of text, add a link, then add a line break. Ensure that the new line only contains a single link. Here is an example which creates a Youtube video Block.
Powers of Ten illustrates the universe as an arena of both continuity and change, of everyday picnics and cosmic mystery.
[Powers of Ten](https://www.youtube.com/watch?v=0fKBhvDjuy0)
We hear about scale every day, whether it be supertankers, stars burning thousands of lightyears away, the study of microscopic viruses, or global warming. Understanding scale, or as the Eameses said, “the effect of adding another zero,” has the power to make us better scholars and better citizens.
Mirror parses basic links—as opposed to introducing Mirror-specific syntax—to ensure portability. If the markdown is rendered with Mirror, you will see a Mirror Block. If it’s rendered anywhere else, you will see a simple plain text link.
Images can be embedded by dragging and dropping them into the Editor, selecting Image in the Blocks menu, or manually creating a markdown image tag. Reserving the space of the image prior to embedding is possible by defining the
height query parameters, which are automatically set when uploading an image to Mirror.
You can read more about suggested image dimensions and file formats here.
Mirror displays a progressively enhanced preview of all links based on the universal standard of OpenGraph tags.
Embed an individual Tweet or an entire tweet thread by inserting a link to any tweet's URL.
[Mirror’s first tweet](https://twitter.com/viamirror/status/1325856116748726273)
Videos can be embedded by clicking the “Video” icon in the Blocks toolbar. You can paste a link to a YouTube, Vimeo, or hosted MP4 video. Any of these URLs pasted directly into the Editor will also automatically unfurl into video embeds.
Advanced video embeds
.mp4 video by inserting a link to an externally hosted video file. It is also possible to set
controls by setting the related query parameters. Ensure you manually define the
height parameters to reserve the vertical space for your video.
[Powers of Ten](https://jkm-library.s3.amazonaws.com/blocks/powers-of-10.mp4?height=480&width=640&autoplay=true&loop=true&muted=true)
NFT Embeds support static images, animations, and audio. As a result, you can embed your favorite PFP, art, and music into your blog post - from any of the blockchains we support. Simply add the network, contract address, and token ID to include the NFT in your entry.
Embedded NFTs will be collectable directly from your entry.
Learn more about NFT Embeds here.
It’s possible to embed any web page by creating an iFrame block. This is useful when embedding interactive WebGL content, for example. Simply set
display=iframe as a query parameter.
Please note that in some cases, you may need to use "&display=iframe" instead of "?".
If you’re looking to create a more "editorial"-style layout for your entry, consider setting custom layout sizes for certain media blocks. Supported block types include Image, Video, YouTube and iFrame.