Markdown tools

Mark It Down

Article from Issue 170/2015
Author(s):

From note-taking applications to wikis – there are plenty of handy tools for working with Markdown-formatted content. Here are a few worth adding to your toolbox.

Markdown has become the de facto standard for lightweight formatting markup, and understandably so. Its simplified syntax is easy to master, and the markup itself is human-readable and straightforward in use. Markdown's versatility also means that you can use it for a wide range of tasks: from note-taking and technical documentation, to creating ebooks and maintaining blogs. No wonder more and more services and applications are embracing Markdown as their default formatting system.

Markdown Editors

Almost every decent text editor these days provides at least partial support for Markdown. For example, Gedit, Kate, Atom, and many others can handle Markdown syntax highlighting, so you can use any of them to edit Markdown-formatted text files. If you are looking for a dedicated Markdown editor, however, you do have a few options at your disposal.

ReText [1] is a simple yet versatile text editor that supports Markdown and can export Markdown-formatted text files to the ODF, PDF, and HTML formats. ReText features HTML syntax highlighting, autosave, live preview, and spell check (Figure 1). The editor sports a tabbed interface, so you can manage multiple text files, and the Preview pane lets you view the formatted output of the currently edited file. The Tags and Symbols drop-down lists let you quickly insert often-used HTML tags and symbols.

Figure 1: ReText offers several useful features such as syntax highlighting, spell check, and auto save.

Like any competent text editor, ReText supports a simple find feature (although it lacks search and replace functionality), as well as undo and redo operations. On Ubuntu, ReText is available in the official software repositories, so you can easily install it through the Software Center or by using the default package manager.

UberWriter [2] will appeal to users looking for a distraction-free Markdown editor. Despite its simple and unobtrusive interface, UberWriter includes all essential features, including word count and spell check, preview functionality, the focus mode that highlights the current line, and a search and replace feature. Similar to ReText, UberWriter can export Markdown-formatted files to the HTML, ODF, and PDF formats. The editor also supports the full-screen mode for distraction-free writing (Figure 2). UberWriter is built for Ubuntu and its derivatives, and the paid version of the editor is available in the Software Center. However, you can install the application free of charge via the dedicated PPA by running the following commands:

sudo add-apt-repository ppa:w-vollprecht/ppa
sudo apt-get update
sudo apt-get install uberwriter
Figure 2: UberWriter provides a distraction-free writing environment.

In case ReText and UberWriter are too limited for your needs, you might want to give MdCharm [3] a try. This editor offers a full-featured environment for working with Markdown files (Figure 3). Besides the usual editing and preview panes, MdCharm also features dedicated Project and TOC panes. Unlike ReText and UberWriter, MdCharm lets you open an entire directory, and you can use the Project pane to browse and open Markdown files.

Figure 3: MdCharm is probably one of the most feature-rich Markdown editors out there.

This feature can come in particularly useful if you're working on a project with multiple Markdown files (e.g., an ebook or a blog). Additionally, the editing pane supports tabs, so you can open multiple files and quickly switch between them. The preview pane updates in real time, so you can immediately preview all edits. Better still, the editor lets you enable synchronized scrolling, so you can synchronously scroll both editing and preview panes.

MdCharm automatically generates a linked table of contents for long Markdown files containing headings and displays it in the TOC pane. You can use the generated table of contents to jump quickly to a specific section in the file. This feature can be a real time-saver when working with long and complex Markdown files. MdCharm features other creature comforts, including extensive support for keyboard shortcuts, the ability to specify the default font and size, spell check, autopairing (automatically inserting and closing quotes and parentheses), and export to the HTML, ODF, and PDF formats.

If you happen to run a 64-bit version of Ubuntu or any of its derivatives, you can install MdCharm using the amd64.deb package from the project's GitHub repository. If the editor fails to start on your system, try installing the libhunspell-dev package using

sudo apt-get install libhunspell-dev

to fix the issue.

Research and Note-Taking with Turtl

An application that makes it possible to organize your text snippets, images, bookmarks, and more is an essential productivity tool, which probably explains the success of Evernote and similar services. However, if you prefer to use an open source solution that keeps your data safe and uses Markdown for formatting, Turtl [4] is right up your alley (Figure 4). It's a combination of a desktop application, a browser extension, and a service for storing data and syncing it across multiple machines.

Figure 4: Turtl is an ideal tool for storing and organizing notes, bookmarks, and images.

The desktop application requires no installation. Grab the latest release of the application, extract the downloaded archive, and run the turtl binary. Then, create a new account, and you are good to go. Populating Turtl with notes is equally easy: Press the Add Note button to create a new note. Turtl supports GitHub-flavored Markdown, which improves and extends the standard Markdown. Additionally, the handy Formatting help link gives you a quick overview of formatting options along with usage examples. You can also add a file attachment to the note as well as assign multiple tags to it. Besides regular notes, you can add links and images using the appropriate sections in the Add Note window.

To keep all your notes neatly organized, Turtl allows you to create boards. Thus, you can, for example, create separate boards for bookmarks, research notes, and images. Unfortunately, the current version of the application doesn't allow you to move existing entries between boards.

The Turtl browser extension can be used to add notes to the desktop application from the convenience of your favorite browser. The extension is available for both Google Chrome (and Chromium) and Mozilla Firefox browsers. To make the communication process between the extension and the desktop application secure, you must pair the two by pasting the generated code into the appropriate field when you use the extension for the first time.

Turtl is built with security in mind, and the application encrypts all your data, so that only you can access them. In fact, the service doesn't even store your password or any personal information, so if you lose the password, Turtl can't help you to recover it or your data. Although Turtl does its best to keep your data private, it does offer a way to share boards with other users. The application lets you create a so-called persona, or a profile, that attaches an email address and name (both are hidden and private by default) to a Turtl account. You can then use the created persona to share a board by sending an email invite to another user.

Although Turtl may not be a drop-in replacement for Evernote, it provides an alternative for users who value security and privacy and prefer simplicity to advanced functionality. Of course, Turtl will appeal to those who use Markdown as their formatting markup of choice.

Markdown-Powered Wikis

Wikitten [5] can be a perfect fit if you need a no-frills and easy-to-deploy wiki engine that supports Markdown (Figure  5). Written in PHP, Wikitten will happily run on any machine with the Apache server with the mod_rewrite module and PHP 5.3. Deploying Wikitten is as easy as cloning the project's GitHub repository to the document root of your server using:

git clone https://github.com/victorstanciu/Wikitten.git
Figure 5: Wikitten is a slick and simple wiki engine written in PHP.

To change the default Wikitten configuration, rename the config.php.example file to config.php, open it for editing, and modify the available options. Adding content to Wikitten is a matter of placing Markdown-formatted .md files in the library directory. To organize pages, you can use subdirectories. Along with .md files, Wikitten can handle code snippets saved as text files with the appropriate file extensions (e.g., .sh for Bash shell scripts, .js for JavaScript files, .py for Python scripts, etc.). These files are rendered as code listings with syntax highlighting. As a personal wiki, Wikitten doesn't have any access control functionality. However, you can open your wiki for public editing by uncommenting the define('ENABLE_EDITING', true); line in the config.php file.

MDwiki [6] is another Markdown-powered wiki engine for setting up a simple wiki with little effort (Figure 6). Two features in particular make MDwiki stand out from the crowd. First, the wiki engine consists of a single file. Second, MDwiki is written in HTML5/JavaScript and runs entirely in the browser (i.e., all processing and rendering are done in the client, not on the server). This means you can run MDwiki on practically any web server or on your local machine using the Python's built-in server with:

python -m SimpleHTTPServer 8080
Figure 6: MDwiki is a versatile wiki engine that runs entirely in the browser.

To deploy MDwiki, download the latest version of mdwiki.html from the project's website and drop it into the document root of your server. To populate MDwiki with content, put index.md and other .md pages in the directory where mdwiki.html resides. To add a navigation bar, create the navigation.md file and add navigation; for example:

# Wiki Name
[Page 1](page1.md)
[Page 2](page2.md)
[Page 2](page3.md)

You can also create a more advanced hierarchical navigation menu, and you'll find instructions on how to do that on the project's website. MDwiki supports themes from Bootswatch [7], and you can change the default look of your wiki by adding a so-called gimmick (or plugin) to the navigation.md file with [gimmick:theme](THEME), replacing THEME with the actual name of the desired theme.

In addition to the theme gimmick, MDwiki features a handful of other useful plugins. The Alerts gimmick, for example, automatically converts the paragraph that starts with a specific trigger word (Attention, Note, Hint, etc.) into a stylized box. The GitHub Gists gimmick makes it possible to insert code snippets from GitHub into pages, whereas the Google Maps gimmick lets you embed maps.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus