Code And Text Editors markdown

Introduction to Haroopad

In one of our previous blog articles we have already given you an introduction to Markdown — an easy-to-write, clever and very flexible document description language. Markdown allows you to generate HTML documents as well as to maintain technical documentation, blog articles, and presentations. Furthermore, we talked about writing Markdown documents using the text editors PileMD and EME. In this article we focus on Haroopad which claims to be the next document processor for the Markdown language licensed under GPLv3.As long-term writers we have clearly figured out which tools help us in order to be most productive to create text documents — either working on the command-line, or using a graphical user interface (GUI). As an example, Pandoc, Asciidoc and Asciidoctor are command-line tools to transform Markdown documents into HTML files whereas PileMd, Vim-gtk, Atom and Haroopad follow an approach based on a GUI, instead. Figure 1 shows how Haroopad looks like — a dual-panel approach with the source code of the document on the left, and the document translated into HTML on the right side.

Introduction Haroopad

Figure 1

Installation and setup

Haroopad aims to give you the same experiences in editing regardless of the platform you are working on. Developed by the Korean programmer Rhio Kim, Haroopad is available from the project website for Microsoft Windows, Mac OS X, and Linux as binary packages for 32 and 64 bit systems. For this article we have tested the package for Debian GNU/Linux 9 (64 bit) and downloaded the according deb package.

To install the Haroopad package on your machine use the following command (as user root or via sudo command):

$ dpkg -i haroopad-v0.13.1-x64.deb

In our test environment just a single software package was missing — the GNOME configuration library named libgconf-2-4. Use either apt, apt-get or aptitude to install the missing package:

$ apt-get install libgconf-2-4

Haroopad itself is based on NodeJS/webkit and is fully documented online. The Haroopad binary package does not contain a manual page, nor has Haroopad help options available as it is common for UNIX/Linux programs like –help. In order to have a look at both the source code and the documentation you will also have to download the corresponding package from GitHub.

Once you have completed the installation you can either start Haroopad by selecting the entry from the Development section of the software menu on your Linux desktop accordingly or by using the following command in a terminal:

$ haroopad

Similar to figure 1 the Haroopad window opens and allows you to edit a new document right away. As already explained above the left panel contains the edit window (the Markdown source code of the document) and the right panel contains its translation that is synchronised with the source code of the document as soon as you have changed it. Above the panels you will find a menu with common items to open and close files, search for text by pattern, insert specific Markdown elements and adjust the way the Haroopad GUI looks like.

The bottom line of the Haroopad window (see Figure 2) contains several items that range from a help window to statistical information, donation buttons, publishing directly on various social media channels and display options. The spaces button allows you to adjust the tab width of the editor window and the column button switches between the way the text is displayed in the output document — as single, double, or three columns. The wheel at the right end allows you to toggle between a normal and a full-screen display.

Figure 2

Exporting documents

Once you are done with your document Haroopad offers to store it in different formats such as an email, as raw HTML, and HTML combined with CSS. The current version failed to export but the menu entry “File” -> “Save as” worked, and created a HTML/CSS page (see figure 3).

figure 3

Haroopad Experiences

What we like about Haroopad is that its complexity is made available in a very simple user interface combined with the What You See Is What You Get approach (WYSIWYG). Writing Markdown feels easy anyway but Haroopad simplifies it even a bit more. This includes auto-completion of lists as well as pre-defined text modules for inline code, text emphasis, links and blockquotes. Also, there is support for several Markdown dialects that are used in GitHub for example. If desired you can enable keybindings for Vi/Vim. Figure 4 shows the according Insert menu.

Figure 4

Haroopad is very customizable in terms of themes for the GUI as well as the general layout, the font size, text indentations and automated corrections if needed. Figure 5 shows the preferences dialog. You can extend the list of available themes by adding your own CSS-based layouts.

Figure 5

Haroopad can be used for scientific documents as well. Using the JavaScript engine MathJax, mathematical equations can be exported to the browser. Also, LaTeX output is supported.

On the downside of Haroopad is that some parts of the software package need further improvements and that the official documentation is in Korean. So it may be a bit hard for non-Korean speakers to find their way around Haroopad. Step by step the translation into English is done.

Also, the default theme is quite dark and makes it a bit complicated to read the source code of the document. A lighter theme could be an option, and improve the usability.

Conclusion

Haroopad simplifies your life a lot. It is quite stable and it is fun to use. Haroopad is under constant development for the given platforms. It is a powerful competitor of Atom,  Remarkable and ReText. We are excited to see it grow. Well done!

Acknowledgements

The author would like to thank Mandy Neumeyer for her support while preparing this article.

About the author

Frank Hofmann

Frank Hofmann is an IT developer, trainer, and author and prefers to work from Berlin, Geneva and Cape Town. Co-author of the Debian Package Management Book available from dpmb.org.