Introducing mallard-mode, a new major mode for Emacs



Hello everyone,

When I first tried configure my Emacs to provide decent support for DocBook and Mallard, what bothered me most was how unnecessarily complicated the whole process was. I mean, why should every single user tell their editor where to find the schema, how to recognize the file type, and how to indent the XML code? Well, I wanted to learn Emacs Lisp anyway, and so I decided to bite the bullet and make all this simpler.

mallard-mode [1] is a new major mode for editing Mallard pages in Emacs and just like my Mallard snippets [2] for this editor, it is available as an installable package in MELPA [3]. All you need to configure your editor to fully support Mallard is to enable the MELPA repository and run the following Emacs commands:

  M-x package-refresh-contents
  M-x package-install mallard-mode

That is it. With this package installed, whenever you open a Mallard page or open a file with the .page or .page.stub file extension, Emacs automatically enables mallard-mode, loads the corresponding RELAX NG schema, sets appropriate indentation rules, and enables automatic line wrapping. In addition, if you happen to have the yelp-check utility installed, you can use some of its features directly from your editor by using the following key bindings:

  C-c C-c  Display editorial comments in the file.
  C-c C-h  Display broken external links in the file.
  C-c C-s  Display the status of the file.
  C-c C-v  Validate the currently edited file.

For a detailed description of what this mode offers and how to customize and use it, please, refer to its GitHub page [1] where you can also clone it, fork it, submit pull requests, or report issues. Any feedback is of course very appreciated and so are feature requests.

Many thanks to Shaun McCance for allowing me to distribute the RELAX NG schema for Mallard 1.0 with this package!

Thank you,
Jaromir

P.S.: Mallard is also supported by Vim [4][5]. If you think that integration with yelp and yelp-check is a good idea, I can certainly make it possible in Vim as well.

[1] https://github.com/jhradilek/emacs-mallard-mode
[2] https://github.com/jhradilek/emacs-mallard-snippets
[3] http://melpa.milkbox.net/#installing
[4] https://github.com/jhradilek/vim-mallard
[5] https://github.com/jhradilek/vim-snippets

--
Jaromir Hradilek


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]