LyXBlogger

Premise

LyX really is a new way of thinking about documents. There is a bit of a learning curve about it, but once you get the formatting set up the way you want it, each successive chapter in your book sets up exactly the same-- automatically. It also prevents you from doing things that don’t normally make sense, like putting two spaces between a word, or a space at the beginning of a paragraph. It won’t even let you accidentally (or on purpose) put two blank lines between paragraphs. Content is content and layout is layout - and LyX does a good job keeping them separate.
So many of us have become LyX addicts for these and other reasons. But when one wants to publish to the web, as in creating an online blog, there comes a dilemma of the having your cake and eating it too variety. Of course LyX users still want to compose everything they do in LyX. But blogging engines, such as WordPress, don’t speak LyX, and they don’t understand PDF either. They hunger for none other than xhtml. Ah, but how to get your beautiful looking, carefully arranged document from LyX to WordPress, while retaining your document’s organization and allowing you to still manage your own CSS style file to tweak the formatting?
LyX die-hards have done it the hard way before. Like composing a document in LyX, then copying the screen into the blog engine composition window, and re-adding any formatting that was lost for titles, headings, emphasis, lists, and so on. Well those days are over. Now you can talk directly from LyX to your favorite blogging engine. That is, as long as your favorite blogging engine is WordPress.

Solution

LyXBlogger allows you to post to your WordPress blog right from LyX. Recent versions include the following features:

Screenshot

Here is a screenshot of LyXBlogger 0.40 running on OSX.
figure images/screenshot.png

Download

LyXBlogger is available as a free download from the GNU mirrors. If the mirrors don’t show a brand new release yet (a 24 hour delay is typical), try the direct link.

Installation

LyXBlogger is installed as a Python module. For instructions, see the user's guide.

Supported xhtml converters for LyX 2.0

Supported xhtml converters for LyX 1.6.x

Usage

LyXBlogger is called from the export menu of LyX. First, see if LyXBlogger is already listed in your LyX export menu. If it’s not, see the user's guide for help in setting it up.
Alternatively, LyXBlogger can be invoked from the command line as
$ python -m lyxblogger <input_file>
See the user's guide for details.

Test Drive

LyXBlogger comes out of the box ready to upload to a test site (blogtest.letseatalready.com) where you can test its posting capability. LyXBlogger will ask you whether to post to the test site or not. For details, see see the user's guide.

History

For the literary inclined, you can read about the initial work on LyXBlogger here, here, and here. For the technically inclined, see the official change log. For the rest of you, here is the history of LyXBlogger in a nutshell:

Contact

For questions, support, and bug reports, you can contact the main developer at JackDesert@gmail.com. By doing so you can help the author improve LyXBlogger for future users. You can send your sample documents with a description of the errors encountered. Any documents sent will be treated with the utmost confidentiality.

Acknowledgments

Thanks to Becky Carson for inspiring me to become a blogger. Thanks to Bruce Veidt for coining the name LyXBlogger. Thanks to Alex Fernandez for producing one of the xhtml converters that LyXBlogger works with, eLyXer, for creating complete documentation which was easy to modify for this site, and for providing much-needed background information about how to integrate a Python project with LyX. Thanks to Anne Geoghegan for letting me test LyXBlogger on her Mac. Thanks to Andrea Bussinger for her continued support as I sat on my throne and typed away. Thanks to Richard Heck for reviewing LyX / LyXBlogger integration patches. Thank you Kevin Unhammer for drafting support for multiple profiles. Thanks to nongnu.org for hosting this project. Thanks to those who have asked for clarification, that the documentation may improve.