Friday, December 17, 2010

Personal Book Publishing : Advanced Windows Setup

[ Crossposted from अनकही ]
Last time I described how a basic windows setup can be created. That can be used to create  a DocBook XML file and convert to PDF in an easy way. Since my requirement was to also generate HTML and ePub, that setup was not sufficient. Also note that I always preer and suggest open-source tools to be used.

For this advanced windows setup, I have installed Dobudish. This provides the complete setup to work on DocBook. You just need to download the archive and extract in a folder. Say your new book name is "New Project", then go to the install folder and give the command:

generator.bat new_project create book

This will create a new DocBook XML file of the type book in the directory documents/new_project/input/ . You can create the project of any suitable name using this command. This is just a template file. You need to open this file in a text editor or XML editor and fill in the content. You can even use Jaxe (in earlier post) to edit this. Or you can use any other good editor like Notepad++ to edit. This is your choice.

Here I would like to tell you that you need to maintain the structure of this file. The tags are not to be removed. If you need to add more paragraphs, for example, you need to add a pair of <para> tags, just like it exists already. If you use a good XML editor like Jaxe, you need not worry about this. Once you have done editing the XML file and your book is complete, you can use the following commands:

generator.bat new_project pdf

generator.bat new_project html

generator.bat new_project epub


To create PDF, HTML and ePub automatically. The output files are located in documents/new_project/output/ . The output documents are very pretty. I have been using Jaxe along with Dobudish and am extremely happy with the results.

Thursday, December 16, 2010

Crossposting Tips

[ Crossposted from अनकही ]
Out of fun, in the past, I had created accounts for blogging on various hosting sites, ranging from wordpress to xanga. Now all that is unmanageable. Same is true for microblogging sites.
Now I want to consolidate them and make my content available everywhere. Solution is to cross-post the articles so that it is posted on one site and linked back to the original site. So, I created my own hosted wordpress site where I have extreme control. Then use different tools to distribute this content.

Two wordpress plugins come handy: twitter tools and posterize.

I configure posterize to post to my posterous account when I publish any post. From posterize, the post is distributed to my various blogs on wordpress.com, tumblr.com, blogger.com etc. using its autopost feature. Full details here: http://blog.prateek.in/2010/12/how-my-blog-posts-flow/

Twitter tools plugin is used to create a status update carrying only the title of the new post. This update is taken in ping.fm using RSS feed and the ping.fm distributes the status updates in its own set of microblogging networks. More details here http://blog.prateek.in/2010/12/how-my-status-update-flows/ . Remember to use bit.ly to shorten the URLs automatically before posting to twitter.

I will honestly say that I do not like this current arrangement, but currently, this is the solution I have. I will think of cleaning all this up in near future. Thanks to posterous and bit.ly for making it possible.

Wednesday, December 15, 2010

Personal Book Publishing : Basic Windows Setup

[ Crossposted from अनकही ]

If you do not have time or courage to explore more elaborate options, Jaxe is for you. It is no frills excellent XML editor. When you start the editor, it presents an option to create a document of one of supported types. Docbook is one of the options. It is simple and straightforward, without any distractions.

What I really love about this editor is its XML capabilities. The editor knows from your document types what tags can be nested where. It helps you insert the allowed tags for that section of document, so you rarely make mistakes. Even after making a fool-proof correct XML (DocBook) document, you can validate the XML and be double sure. While inserting tags, it also presents options on that tag. You can even import any existing DocBook XML file and validate it.

Other stellar features include a built-in spell-checker, Equation editor and help to insert images. What I found lacking was: a simple icon which inserts the basic constructs like ordered lists, unordered lists, bold, italics etc.

Once your document is ready, In the file menu, there is a clear option to export to PDF. It cannot get simpler than that. What I found lacking was the missing option to generate HTML and ePub. However, PDF was my primary requirement and it did the job well.

This tool is excellent choice for quick work, no fuss solution. However, for making HTML and ePub output, I needed a more elaborate solution which I will describe in the follow-up article.

Personal Book Publishing : Introduction

[ Crossposted from अनकही ]

Last week somebody asked me that what tools to use for writing a small book. Since this is not going to any publisher, the idea is to publish the book on the Internet. It is just a hobby thing, running ~30 pages. In normal case, since it is just a hobby thing, I was about to recommend her to use MS Word and get on with it. But I wanted to have a second look and understand whether it would be a good option for publishing on the web.

Since I have not checked this area in last few years, I thought it wise to just research  what is the current trends and softwares available for the purpose. My basic requirements are simple.:


  • A simple to use methodology which does not daunt the author. It should not distract the author by providing unnecessary options and it should not be difficult to learn.

  • Since the book is intended for web reading, it should support output in PDF, HTML and ePub. For MS Word documents, readers should have this paid software installed. Moreover, people may read documents in e-book readers where you cannot install softwares.

  • It should be future proof. Few years ago, documents were written in wordstar and books in ventura. Now, it is hard to find readers which can open those documents.
  • I evaluated following options:

    MS Word: Yuk. I won't go for it. Large document support is pathetic. I is WYSIWYG, so the author gets distracted by the many options. No open support, you need to microsoft purchased software installed. Even OpenOffice is better than this. Although, if I had to write a letter or a 4-page article, MS Word would be my first choice.

    OpenOffice Word: Has good PDF output support. Low learning curve. But then it is WYSIWYG. It is better with most type of home documents.

    LaTeX: I love this from my college days. It let me focus on the technical things, and took care of every aesthetics by itself. Good thing is that it can produce excellent PDF and HTML very well. But I am not so sure about ePub. The math presentation is excellent. However, I see it having a slightly higher learning curve. huge community support. Usually popular with UNIX community.

    Lout: A newer sibling LaTeX. I like the easier syntax and nice output styles. But lack of community support and tools make it prohibitive.

    DocBook: This is an open standard. It is supported on windows platforms as well as UNIX. Has native Unicode support. It has huge number of output options, including PDF & ePub. Huge community support and best of all, it is future proof! It is very easy to explain to new user and there are good XML editors available. DocBook files are normal text files encoded with HTML-like tags. It has very intuitive XML syntax and lot of tools available. The input XML files are passed through a series of tools/programs to generate final output. That sequence is called a toolchain.

    As much as I love LaTeX, I would still go with DocBook now, for the sake of ease of use, output formats and future compatibility. DocBook files are normal text files with HTML like angular bracket tags. In follow-up article, I will explain how to setup a DocBook toolchain on windows.

    The best thing (probably the deciding factor) why I prefer DocBook XML over other solutions is that it maintains clear differentiation between design and content. The author is only worried about the content and story. The design, layout and looks can be taken care by a different person and can be worked in parallel. This segregation of design and content is very important. And anyways, even if I love LaTeX, I have the option to convert the DocBook XML to LaTeX and use it.

    I may have missed out several other good solutions, but maybe that is because I do not know them quite so well. I hope to enhance this post in future, if required.

    References:

    http://www.latex-project.org
    http://www.tug.org/

    http://www.openoffice.org/

    http://www.danielstender.com/granthinam/2152/

    http://savannah.nongnu.org/projects/lout

    http://www.docbook.org/

yet another test 2

[ Crossposted from अनकही
]sorry, please ignore this.

Another test post

[ Crossposted from अनकही ]please ignore.

How my blog posts flow

Main source: http://blog.prateek.in

Cross posted to: Posterous

As Status Update From Posterous --> Twitter (via autopost)

Twitter  --> Ping.fm   (via Rss import)

then

Ping.fm   --> BrightKite

Ping.fm   --> Plurk

Ping.fm   --> YouAre

Ping.fm   --> StatusNet

Ping.fm   --> Identica

As Blog Entry From

Posterous --> Facebook page (via autopost)

Posterous --> wordpress.com (via autopost)

Posterous --> blogger.com (via autopost)

Posterous --> tumblr.com (via autopost)

Posterous --> typepad.com (via autopost)

Posterous --> xanga.com (via autopost)

Saturday, December 11, 2010

Testing of my Blog

please ignore this

How my blog posts flow

Main source: Posterous

As Status Update From Posterous --> Twitter (via autopost)

Twitter  --> Ping.fm   (via Rss import)

then

Ping.fm   --> BrightKite

Ping.fm   --> Plurk

Ping.fm   --> YouAre

Ping.fm   --> StatusNet

Ping.fm   --> Identica

 

How my status update flows

Main source: Twitter

From twitter --> Facebook page (via twitter facebook app)

Twitter  --> Ping.fm   (via Rss import)

then

Ping.fm   --> BrightKite

Ping.fm   --> Plurk

Ping.fm   --> YouAre

Ping.fm   --> StatusNet

Ping.fm   --> Identica

 

Update Distribution Scheme

Often I want to write a blog or status update at one place and want to distribute this update at various sites. This can range from very simple to elaborate schemes. I earlier used friendfeed for this purpose but now they are no longer reliable after acquisition. Usually it is a good idea to update the same post to multiple blogs so that if one is not available, other source is able to take over. Or even just to maintain backups. Also, each blog location has its own community tied to it. Similar thing is true for twitter and facebook page. These are dominant update sharing networks and they have different purpose.

 

Simple Scheme

Requirement: I want to blog at a single location and update my other blogs, on wordpress.com, tumblr.com and blogger automatically. Also, I want to status update on twitter and my facebook page with the title of the post.

Solution: Use http://Posterous.com ! Write the blog at posterous, one single place, or send update via email! Setup autopost on posterous for my other blogs: wordpress and blogger. Also, for my tumble blogging site on tumblr and of course twitter and facebook page. Once my post is updated on posterous, I can see the content automatically posted everywhere. I do this because I do not have to worry about SEO and branding and stuff like that. It is all personal. This is just an example, posterous supports many other networks like linkedin, google buzz etc. So, it is as below:

<pre>

Posterous  ------> Blogs                       --------> Wordpress.com

                                                         --------> blogger.com

                          Tumble blogs            ---------> tumblr.com

                          Status Updates        ----------> twitter.com

                                                        ----------> facebook.com

</pre>

SEO Friendly Scheme

Requirement: Someone loves their privately hosted wordpress for its flexibility and SEO capabilities. They do not want to make posterous as their primary blog. Then how to distribute?

Solution: Use http://ping.fm ! Update your private blog at any site. Feed the RSS of your main blog to ping.fm. Add your target networks to ping.fm for update. Ping.fm can update more than 30 networks and is equally good in that regard. Best part: all the links to post go to your main blog.

<pre>

Main Blog          ------>           Ping.fm       -------->            Blogs                       --------> Wordpress.com

                                                                                                                   --------> blogger.com

                                                                                                                   --------> posterous.com

                                                                                    Tumble blogs            ---------> tumblr.com

                                                                                    Status Updates        ----------> twitter.com

                                                                                                                  ----------> facebook.com

 </pre>

 

 

Complex Scheme

Requirement: For my college alumni community, I needed something more complex. There are two set of information: blogs/status updates and discussions/mailing lists. They have to be consolidated seperately. All discussions in forums or yahoogroups have to be consolidated to be consolidated in one google group. Also there are several blogs.

Solution: Firstly, I have setup all forums/discussions to come to my gmail inbox. I have applied a filter there to forward those emails to my googlegroup.com com emails.

Then, all the blog RSS are mixed using rssmix.com (or similar feed combining service) to one single RSS feed. This is needed because ping.fm supports only one RSS as input. This input is fed to ping.fm and to several output netwrks from there.

Finally, I as admin update only on posterous and posterous distributes it to all necessary sites.

<pre>

Forums          ------>           Gmail       -------->            Google group

 

All Blogs        ------>           RSSmix.com       -------->            Blogs                  --------> posterous.com

                                                                                    Status Updates        ----------> twitter.com

                                                                                                                  ----------> facebook.com

Admin Posterous  ------> Blogs             --------> Wordpress.com

                                                         --------> blogger.com

                          Tumble blogs            ---------> tumblr.com

                          Status Updates        ----------> twitter.com

                                                        ----------> facebook.com

</pre>