<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Threepress Consulting blog &#187; tools</title>
	<atom:link href="http://blog.threepress.org/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.threepress.org</link>
	<description>Threepress creates software for publishers, educators and authors.</description>
	<lastBuildDate>Mon, 09 Jan 2012 13:02:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Caveman: An HTML5 cache manifest validator</title>
		<link>http://blog.threepress.org/2011/11/07/caveman-an-html5-cache-manifest-validator/</link>
		<comments>http://blog.threepress.org/2011/11/07/caveman-an-html5-cache-manifest-validator/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 14:03:34 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=2146</guid>
		<description><![CDATA[Over on his own blog, Ned Batchelder has written up his HTML5 appcache validator tool he whipped together while working on Ibis Reader:

The result is Caveman, a Python tool to validate HTML5 cache manifests. It scrapes the HTML page you specify, finding resources, then compares them to the cache manifest and reports problems.

Full blog post [...]]]></description>
			<content:encoded><![CDATA[<p>Over on his own blog, <a href="http://nedbatchelder.com/">Ned Batchelder</a> has written up his HTML5 appcache validator tool he whipped together while working on <a href="http://ibisreader.com/">Ibis Reader</a>:</p>
<blockquote>
<p>The result is <a href="http://nedbatchelder.com/code/caveman/">Caveman</a>, a Python tool to validate HTML5 cache manifests. It scrapes the HTML page you specify, finding resources, then compares them to the cache manifest and reports problems.</p>
</blockquote>
<p><a href="http://nedbatchelder.com/blog/201111/caveman.html">Full blog post</a> and <a href="http://nedbatchelder.com/code/caveman/">complete documentation on Caveman</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2011/11/07/caveman-an-html5-cache-manifest-validator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can an author create an EPUB using normal tools? Part 2: Scrivener</title>
		<link>http://blog.threepress.org/2011/06/02/can-an-author-create-an-epub-using-normal-tools-part-2-scrivener/</link>
		<comments>http://blog.threepress.org/2011/06/02/can-an-author-create-an-epub-using-normal-tools-part-2-scrivener/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 15:59:41 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[epub]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1966</guid>
		<description><![CDATA[This is part two of a series on using author-friendly word-processing tools with native EPUB export. Part 1 was about Apple Pages.
Part two: Scrivener
I first became aware of Scrivener&#8217;s support for EPUB export in November of 2010, when they released a special edition for NaNoWriMo (and the less said about my novel-writing experiment, the better). [...]]]></description>
			<content:encoded><![CDATA[<p>This is part two of a series on using author-friendly word-processing tools with native EPUB export. <a href="http://blog.threepress.org/2011/06/01/can-an-author-create-an-epub-file-using-normal-tools-part-1-pages/">Part 1 was about Apple Pages</a>.</p>
<h3>Part two: Scrivener</h3>
<p>I first became aware of Scrivener&#8217;s support for EPUB export in November of 2010, when they released a special edition for <a href="http://www.nanowrimo.org/">NaNoWriMo</a> (and the less said about my novel-writing experiment, the better). EPUB export is now available in the latest major release.</p>
<p>Though Scrivener is primarily a Mac application, there are <a href="http://www.literatureandlatte.com/scrivenerforwindows/">beta versions for Windows and Linux</a>. I have no idea if they support EPUB export &#8212;  please comment if you know either way!</p>
<h4>The sample document</h4>
<p>Scrivener&#8217;s interface can be intimidating if you have only worked with relatively straightforward word processors.  It&#8217;s less of a document editor than a book authoring platform (or the way I would look at it, it&#8217;s Visual Studio, not emacs).</p>
<p><a href="http://3press-blog.s3.amazonaws.com/scrivener-main-screen.png"><img src="http://3press-blog.s3.amazonaws.com/sm-scrivener-main-screen.png" alt="Screenshot of Scrivener main screen with numerous panels"/></a> </p>
<p>For this test I used the &#8220;Manuscript&#8221; style, which provides many of the utilities that an author of a novel-length book might want, rather than starting with an entirely blank document (analogous to using the EPUB sample document in Pages).  For one thing, the Manuscript layout already provides obvious support for structured blocks like chapters and parts.  In fact Scrivener segments documents even further into &#8220;scenes&#8221; which can be relocated easily through the document.  Programmers love structured content!</p>
<p>As in the previous post, I set up the sample document to include all of the obvious stylistic elements that I wanted to test. I didn&#8217;t attempt to exactly re-create the Pages sample as that would be soul-crushing.</p>
<p>Finding the EPUB export feature can be challenging; it&#8217;s actually listed as &#8220;Compile.&#8221;</p>
<h4>Export options</h4>
<p>No complaints here.  There are dozens of options for EPUB configuration from the menus.</p>
<p>EPUB-specific output options:</p>
<p><img src="http://3press-blog.s3.amazonaws.com/scrivener-1.png" alt="Scrivener panel" /></p>
<p>Select which content segments are included in the book, and in what order:</p>
<p><img src="http://3press-blog.s3.amazonaws.com/scrivener-2.png" alt="Scrivener panel" /></p>
<p>My favorite pane. Look at all that metadata!</p>
<p><img src="http://3press-blog.s3.amazonaws.com/scrivener-3.png" alt="Scrivener panel" /></p>
<h4>Output</h4>
<p>Scrivener&#8217;s output is variable in quality.  Some things are nice.  It&#8217;s valid, for one thing, and I was able to produce this valid output without any special handling &#8212; I didn&#8217;t change any of the menu items beyond adding the metadata, which indeed trickles down nicely into the OPF file:</p>
<pre class="brush: xml;">
       &lt;dc:title&gt;Creating an EPUB sample document&lt;/dc:title&gt;
        &lt;dc:identifier id=&quot;PrimaryID&quot;&gt;urn:uuid:A54DCD13-A6E0-4ACA-8B31-4E0EBA0624EF&lt;/dc:identifier&gt;
        &lt;dc:language&gt;en&lt;/dc:language&gt;
        &lt;dc:creator opf:role=&quot;aut&quot;&gt;Liza Daly&lt;/dc:creator&gt;
        &lt;dc:subject&gt;Non-fiction&lt;/dc:subject&gt;
        &lt;dc:description&gt;An EPUB test of Scrivener's output&lt;/dc:description&gt;
        &lt;dc:publisher&gt;Threepress Consulting Inc.&lt;/dc:publisher&gt;
        &lt;dc:rights&gt;http://creativecommons.org/licenses/by-sa/2.0/deed.en&lt;/dc:rights&gt;
        &lt;dc:date&gt;2011-05-29&lt;/dc:date&gt;
</pre>
<p>Whitespace is exported as significant. While this makes the web developer in me cringe (I&#8217;d rather see CSS margins used here), it&#8217;s acceptable, especially since whitespace <em>is</em> semantically relevant in fiction, as when used for scene breaks:</p>
<pre class="brush: xml;">
&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;Hello world!&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;I have lists and tables!&lt;/p&gt;
</pre>
<p>Unlike Pages, lists are generated as the correct list elements:</p>
<pre class="brush: xml;">
&lt;ol class=&quot;ol1&quot;&gt;
  &lt;li class=&quot;li3&quot;&gt;Numbered lists are numerous.&lt;/li&gt;
  &lt;li class=&quot;li3&quot;&gt;We often have more than one item.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;ul1&quot;&gt;
  &lt;li class=&quot;li3&quot;&gt;Make love&lt;/li&gt;
  &lt;li class=&quot;li3&quot;&gt;Not bullets&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Tables are fine, though I&#8217;d like for these tools to have a &#8220;table header&#8221; style that could ultimately map to <code>th</code> elements.  This is a little more readable than the Pages output.</p>
<pre class="brush: xml;">
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;t1&quot;&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign=&quot;top&quot; class=&quot;td1&quot;&gt;
        &lt;p class=&quot;p2&quot;&gt;Not sure how to make headers&lt;/p&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot; class=&quot;td1&quot;&gt;
        &lt;p class=&quot;p2&quot;&gt;Without just using colors&lt;/p&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot; class=&quot;td1&quot;&gt;
        &lt;p class=&quot;p2&quot;&gt;Not semantic&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
</pre>
<p>Headers are curiously not optimal:</p>
<pre class="brush: xml;">
&lt;h2 style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 138% Optima&quot;&gt;&lt;b&gt;First, a header.&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 92% Optima&quot;&gt;&lt;b&gt;A subheader.&lt;/b&gt;&lt;/h3&gt;
</pre>
<p>Why the inline margins and font? Why the <code>b</code>?  And like Pages, no apparent way to generate <code>strong</code> and <code>em</code>:</p>
<pre class="brush: xml;">
&lt;p class=&quot;p2&quot;&gt;Back to body text. But with &lt;b&gt;strong&lt;/b&gt; and &lt;i&gt;emphasis&lt;/i&gt;?&lt;/p&gt;
</pre>
<p>Drag-and-drop images and internal and external hyperlinking all worked well:</p>
<pre class="brush: xml;">
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;img src=&quot;images/droppedImage.png&quot; width=&quot;272&quot; alt=&quot;Image&quot; /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Hello dog.&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p4&quot;&gt;Inline URL: &lt;a href=&quot;http://www.flickr.com/photos/beinecke_library/5166412915/in/set-72157625240109163/&quot;&gt;http://www.flickr.com/photos/beinecke_library/5166412915/in/set-72157625240109163/&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;p4&quot;&gt;A hyperlink to &lt;a href=&quot;body1.xhtml&quot;&gt;Chapter One.&lt;/a&gt; A hyperlink to &lt;a href=&quot;http://placekitten.com&quot;&gt;a website&lt;/a&gt;.&lt;/p&gt;
</pre>
<p>I pulled the image out of the Pages EPUB output &#8211; Pages renamed it to <code>droppedImage.png</code>, and Scrivener retained the filename, which is a nice touch.</p>
<h4>Room for improvement</h4>
<ul>
<li>Scrivener seems to generate <em><span style="text-decoration: line-through">one CSS file for each XHTML file</span> too many CSS files by default</em>. Uncool!  This could potentially generate huge unwieldy EPUB books.  There&#8217;s no reason to have more than one CSS file in an automatically-converted document, and the styles should be normalized across XHTML files.
</li>
<li> Like Pages, there was no obvious way to add <code>alt</code> text values to images.</li>
<li>Also like Pages, I&#8217;d like to be able to customize the elements and class names in the outputted XHTML using simple menus.</li>
</ul>
<p>A pleasant surprise to me was that Scrivener has a lot of options for power-users under the hood, including integration with version control tools like Subversion, use of a text-based markup format for better serialization to other formats, or low-level customization of the CSS or even XSLT: <a href="http://www.literatureandlatte.com/wiki/doku.php?id=mac:faq:advanced_topics">Scrivener advanced topics</a>.  This means it&#8217;s potentially a better choice for an ambitious digital-only publisher; you can start with the basic WYSIWYG layer, and gradually customize the output by diving into the lower level.  This will be especially true once Scrivener is fully cross-platform.</p>
<p>Recommended with reservations (but mainly because of the CSS file issue).</p>
<p><a href="http://3press-blog.s3.amazonaws.com/epub-sample-scrivener.epub">Download the sample EPUB file</a> and <a href="http://3press-blog.s3.amazonaws.com/epub-sample-scriv.zip">Scrivener file (unzip first)</a>.  (Released under a <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution</a> license)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2011/06/02/can-an-author-create-an-epub-using-normal-tools-part-2-scrivener/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Can an author create an EPUB file using normal tools? Part 1: Pages</title>
		<link>http://blog.threepress.org/2011/06/01/can-an-author-create-an-epub-file-using-normal-tools-part-1-pages/</link>
		<comments>http://blog.threepress.org/2011/06/01/can-an-author-create-an-epub-file-using-normal-tools-part-1-pages/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 14:00:40 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[epub]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1960</guid>
		<description><![CDATA[Yes, but it may require a Mac.
The IDPF board met on the last day of the Digital Book 2011 conference at Book Expo America. One of our topics for discussion was what the IDPF as an organization should do to further the adoption of  EPUB. I brought up an issue that&#8217;s been concerning me [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, but it may require a Mac.</p>
<p>The IDPF board met on the last day of the <a href="http://idpf.org/digitalbook2011">Digital Book 2011</a> conference at Book Expo America. One of our topics for discussion was what the IDPF as an organization should do to further the adoption of  EPUB. I brought up an issue that&#8217;s been concerning me for some time: the lack of digital-native authoring tools aimed at <em>authors</em>, not publishers.</p>
<p>If publishers are struggling to produce high-quality EPUB files either via InDesign, XML workflows, or strategic outsourcing, authors are in an even worse place. This is especially true for authors with an ambition to self-publish, or to start a micro-publishing outfit, and yet still retain some creative control over the look of their digital product. InDesign (especially CS5.5) is a great solution for small- to medium-sized publishers who produce both print and digital books, but its feature set is inappropriate for digital-native publishing, and its price and complexity are unsuited for self-publishers.</p>
<p>I&#8217;m aware of two document creation tools right now that have <em>native</em> EPUB support and are available for my platform, Mac OS X: <a href="http://www.apple.com/iwork/pages/">Pages</a>, and <a href="http://www.literatureandlatte.com/scrivener.php">Scrivener</a>. (The only product I know of on the Windows side is <a href="http://www.atlantiswordprocessor.com/en/">Atlantis</a>. Linux users have to make do with plugins for <a href="http://openoffice.org/">OpenOffice</a> &#8212; judging from the comments in the <a href="http://openoffice.org/bugzilla/show_bug.cgi?id=104604">issue tracker</a>, EPUB export is not a priority, to say the least.)</p>
<p>This post will cover Apple Pages.  A subsequent post covers <a href="http://blog.threepress.org/2011/06/02/can-an-author-create-an-epub-using-normal-tools-part-2-scrivener/">outputting EPUB with Scrivener</a>.</p>
<h2>Pages</h2>
<p>Apple&#8217;s Pages was the first major commercial word processor to <a href="http://support.apple.com/kb/ht4168">include EPUB export</a>. I <a href="http://blog.threepress.org/2010/08/26/test-driving-apple-pages-with-epub-export/">reviewed the initial EPUB support</a> in August 2010, but it&#8217;s been through some updates since then, and I wanted to dive into the semantics of the outputted code more closely.</p>
<p><a href="http://3press-blog.s3.amazonaws.com/pages-screen.png"><img src="http://3press-blog.s3.amazonaws.com/sm-pages-screen.png" alt="Screenshot of a sample EPUB file in Apple Pages" /></a></p>
<h3>The sample document</h3>
<p>I started with the <a href="http://images.apple.com/support/pages/docs/ePub_Best_Practices_EN.zip">Apple-provided EPUB template</a> (more on that later) and added a number of new elements and semantic tests.  In particular, I added:</p>
<ul>
<li> Chapters and headings</li>
<li> Emphasis and strong text (rendered in Pages as italics and bold)</li>
<li> Numbered and unnumbered lists</li>
<li> Hyperlinks both internal to the document and external to the web</li>
<li> Inline images (by dragging and dropping)</li>
<li> A cover page with an image</li>
<li> All available metadata in the export pane</li>
<li> Tables</li>
</ul>
<p>In all cases, I used only styles available in the style drawer; I did not change any font sizes or font weight via the toolbar buttons.</p>
<h3>The EPUB output</h3>
<p>As in my previous test, this produced a valid EPUB 2.0.1 document according to EPUBCheck 1.1.  Hooray!</p>
<h4>Headers and subheaders</h4>
<p>The semantics are much-improved from my first test.  Paragraphs are now wrapped in <code>&lt;p&gt;</code> elements, for example, and headers are headers:</p>
<pre class="brush: xml;">
  &lt;body&gt;
    &lt;div class=&quot;body&quot; style=&quot;white-space:pre-wrap&quot;&gt;
      &lt;h3&gt;Chapter Two: The Chaptering&lt;/h3&gt;
      &lt;p class=&quot;s2&quot;&gt;This chapter has an introduction. Hello!&lt;/p&gt;
      &lt;h4&gt;I’m a subchapter or section under that. &lt;/h4&gt;
      &lt;p class=&quot;s2&quot;&gt;Don’t hold it against me. I just have a lot of things to say.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/body&gt;</pre>
<p>However, the <code>white-space:pre-wrap</code> style is curious: the property is meant to specify that whitespace inside the XHTML is significant, meaning that the ereader/web browser should retain it.  That is emphatically not a best practice in general text; on the other hand, there was no whitespace in the output at all, so I&#8217;m unsure of its purpose.  If I were post-processing this EPUB file, I would remove that style.</p>
<p>I used the &#8220;Chapter&#8221; style to generate the chapter heading.  This header should be an <code>h1</code> rather than an <code>h3</code>, but at least the subheading is also a header and one step down.</p>
<h4>Go boldly</h4>
<p>I completely failed to find a way to output <code>strong</code> and <code>em</code> rather than <code>b</code> or <code>i</code>.</p>
<h4>Listless</h4>
<p>I used the list styles provided in the template, but these are not the lists you&#8217;re looking for:</p>
<pre class="brush: xml;">
      &lt;h3&gt;Chapter Three: Lists&lt;/h3&gt;
      &lt;p class=&quot;s2&quot;&gt;Reasons why people love lists, in order.&lt;/p&gt;
      &lt;p class=&quot;s2 s3&quot;&gt;&lt;span class=&quot;c2&quot;&gt;1.&lt;/span&gt;Lists are neat.&lt;/p&gt;
      &lt;p class=&quot;s2 s3&quot;&gt;&lt;span class=&quot;c2&quot;&gt;2.&lt;/span&gt;It’s cool to let the computer fill in numbering.&lt;/p&gt;
      &lt;p class=&quot;s2 s3&quot;&gt;&lt;span class=&quot;c2&quot;&gt;3.&lt;/span&gt;Yessir.&lt;/p&gt;
      &lt;p class=&quot;s2&quot;&gt;Other reasons that people like lists, in no particular order:&lt;/p&gt;
      &lt;p class=&quot;s2 s4&quot;&gt;&lt;span class=&quot;c3&quot;&gt;•&lt;/span&gt;Sometimes they have bullets&lt;/p&gt;
      &lt;p class=&quot;s2 s4&quot;&gt;&lt;span class=&quot;c3&quot;&gt;•&lt;/span&gt;Not real bullets.&lt;/p&gt;
      &lt;p class=&quot;s2 s4&quot;&gt;&lt;span class=&quot;c3&quot;&gt;•&lt;/span&gt;Those are scary.&lt;/p&gt;
</pre>
<p>This must be fixed.</p>
<h4>Tables</h4>
<p>A little verbose markup-wise, but basically fine:</p>
<pre class="brush: xml;">
      &lt;table class=&quot;s5&quot; style=&quot;margin-left:0.0px;width:99.8%;border-collapse:collapse&quot;&gt;
        &lt;col style=&quot;width:33.3%&quot;/&gt;
        &lt;col style=&quot;width:33.3%&quot;/&gt;
        &lt;col style=&quot;width:33.3%&quot;/&gt;
        &lt;tr style=&quot;height:25.0%&quot;&gt;
          &lt;td class=&quot;s8 s6 s7&quot;&gt;
            &lt;h2 class=&quot;s9&quot;&gt;Reasons why tables are nice&lt;/h2&gt;
          &lt;/td&gt;
          &lt;td class=&quot;s8 s6 s7&quot;&gt;
            &lt;h2 class=&quot;s9&quot;&gt;Who feels this way&lt;/h2&gt;
          &lt;/td&gt;
          &lt;td class=&quot;s8 s6 s7&quot;&gt;
            &lt;h2 class=&quot;s9&quot;&gt;I can’t think of a third thing.&lt;/h2&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
        ....
</pre>
<h4>Images, covers, and links</h4>
<p>Creating an image is as easy as dragging it in.  I&#8217;m not sure if it&#8217;s possible to add <code>alt</code> text to the image &#8212; I believe document creation tools should prompt users to add descriptive text by default. </p>
<p><a href="http://3press-blog.s3.amazonaws.com/ipad-rendered-pages-test.png"><img src="http://3press-blog.s3.amazonaws.com/sm-ipad-rendered-pages-test.png" alt="Page of sample ebook in iBooks showing an image of a dog" /></a></p>
<pre class="brush: xml;">
      &lt;p class=&quot;s2&quot;&gt;
        &lt;img src=&quot;images/droppedImage.png&quot; alt=&quot;droppedImage.png&quot; style=&quot;&quot;/&gt;
      &lt;/p&gt;
</pre>
<p>Only images styled as &#8220;inline&#8221; will be exported; Pages will warn you that the image was discarded if it had a floating or fixed style. I tried to select a page with an inline image as the cover page but Pages gave me a warning that it was being discarded. Then it actually shows up in iBooks anyway. </p>
<p>It would be nice if the original filename were preserved (it was not &#8220;droppedImage.png&#8221;), and the empty <code>style</code> attribute should be discarded on output.</p>
<pre class="brush: xml;">
      &lt;h1&gt;&lt;span id=&quot;chapter-5-sh1&quot;/&gt;Chapter Five: Hyperlinks&lt;/h1&gt;
      &lt;p class=&quot;s2&quot;&gt;This is an internal link to &lt;a href=&quot;chapter-1.xhtml#b1&quot;&gt;&lt;span class=&quot;c1&quot;&gt;chapter one&lt;/span&gt;&lt;/a&gt;. This is an external link to &lt;a href=&quot;http://placekitten.com/&quot;&gt;&lt;span class=&quot;c1&quot;&gt;photos of kittens&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
</pre>
<p>The empty <code>span</code> here is for the purpose of creating a back-link.  A similar one was auto-added to Chapter One. Adding an internal hyperlink requires an initial step of creating a Pages &#8220;bookmark&#8221;, and then linking to that bookmark, which was a little confusing; I should be able to target any point in the document using the hyperlink feature.</p>
<p>I didn&#8217;t test HTML5 video output, but I&#8217;ve been told that video <em>can</em> be successfully embedded and output such that the video will work in iBooks (it will use HTML5 tagging).</p>
<h4>Metadata</h4>
<p>Both the OPF and the NCX were perfectly well-formed.  The EPUB export dialog should optionally request richer metadata than the current list of author/title/subject, though.</p>
<h4>The dreaded sample document</h4>
<p>The EPUB export function is next to useless on large documents unless you start with the <a href="http://images.apple.com/support/pages/docs/ePub_Best_Practices_EN.zip">sample template</a>, or import its styles later and tediously update yours to match. The EPUB styles are completely opaque &#8212; I have no idea why they have magical properties, or what I would do to my own styles to emulate them. <span style="text-decoration: line-through">Since the Pages native file format is binary, there&#8217;s nothing for me to inspect to reverse-engineer the styling</span>. The Pages file format is zipped XML, so it may be possible to inspect it directly &#8212; thanks Steve!</p>
<p><em>The native header/paragraph/list styles in the blank template should output useful semantics in the XHTML.</em> It is unacceptable to force users to import an external document to produce a half-decent EPUB file.  At the very least, an EPUB-friendly template should be one of the default choices available when creating a new document. </p>
<h4>Improvements</h4>
<ul>
<li>The list styles should generate lists. They should be ordered or unordered as appropriate to the style.</li>
<li>EPUBs should be importable as well as exportable. It&#8217;s understandable that they won&#8217;t magically re-constitute into the original Pages document, but a conversion pipeline is entirely reasonable.</li>
<li>It should be possible to export chunked EPUBS (with multiple XHTML chapters) <em>without</em> having to use the sample template.</li>
<li>It should be possible for a power user to understand how to create styles that will have specific behaviors.</li>
<li>It should be possible to customize the XHTML serialization (&#8220;I want the style named &#8217;strong&#8217; to output <code>strong</code> elements with the classname &#8216;foo&#8217;&#8221;).</li>
<li>There should be much more metadata allowable in the OPF file.</li>
<li>Images should require or at least prompt for <code>alt</code> attribute values.</li>
<li>Bold and italic buttons should output <code>strong</code> and <code>em</code> with the appropriate CSS styling in all cases. I would say this is actually true of any EPUB output tools &#8212; it&#8217;s unreasonable to ask users to create named styles (as in InDesign) when those tempting bold and italic buttons are available. </li>
</ul>
<p>I don&#8217;t expect Windows/Linux versions of Pages to ever exist, which means that Pages will remain a marginal tool in the publishing ecosystem, but it&#8217;s perfectly adequate for an individual Mac-only user.</p>
<p><a href="http://3press-blog.s3.amazonaws.com/epub-sample-from-pages.epub">Download the sample EPUB file</a> and <a href="http://3press-blog.s3.amazonaws.com/epub-sample.pages">sample Pages document</a>,  (released under a <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution</a> license).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2011/06/01/can-an-author-create-an-epub-file-using-normal-tools-part-1-pages/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>EPUB export improvements in Apple Pages 4.0.5</title>
		<link>http://blog.threepress.org/2011/01/07/epub-export-improvements-in-apple-pages-4-0-5/</link>
		<comments>http://blog.threepress.org/2011/01/07/epub-export-improvements-in-apple-pages-4-0-5/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 15:44:09 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[epub]]></category>
		<category><![CDATA[ibooks]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1752</guid>
		<description><![CDATA[I haven&#8217;t been checking each incremental release so it&#8217;s possible this landed earlier, but the current version of Apple Pages has improved the semantics of their EPUB export.
The original template now produces &#60;p&#62; elements instead of &#60;div&#62;s, an important update:

&#60;h1 class=&#34;s7&#34;&#62;Introduction to ePub&#60;/h1&#62;

&#60;p class=&#34;s6&#34;&#62;This document will show you how to use paragraph styles to create [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t been checking each incremental release so it&#8217;s possible this landed earlier, but the current version of Apple Pages has improved the semantics of their EPUB export.</p>
<p>The original <a href="http://images.apple.com/support/pages/docs/ePub_Best_Practices_EN.zip">template</a> now produces &lt;p&gt; elements instead of &lt;div&gt;s, an important update:</p>
<pre class="brush: xml;">
&lt;h1 class=&quot;s7&quot;&gt;Introduction to ePub&lt;/h1&gt;

&lt;p class=&quot;s6&quot;&gt;This document will show you how to use paragraph styles to create a publication that looks great and is easy to navigate in ePub readers like iBooks... &lt;/p&gt;
</pre>
<p>Presumably this affects the degree to which Pages-outputted styles are visible in iBooks (as user preferences may override), but it&#8217;s great to see more semantically-correct output. This corrects my <a href="http://blog.threepress.org/2010/08/26/test-driving-apple-pages-with-epub-export/">earlier reservation about using Pages</a> for EPUB creation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2011/01/07/epub-export-improvements-in-apple-pages-4-0-5/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Three for Threepress</title>
		<link>http://blog.threepress.org/2011/01/04/three-for-threepress/</link>
		<comments>http://blog.threepress.org/2011/01/04/three-for-threepress/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 13:30:34 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[ibisreader]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1742</guid>
		<description><![CDATA[We&#8217;re very excited to have a new team member for Ibis Reader.  Ned Batchelder will be working with us in the weeks ahead to update and improve Ibis, and to add some features that have been requested by current and prospective software licensees.
First up is internationalization. One of the key advantages of an HTML5 [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re very excited to have a new team member for <a href="http://ibisreader.com/">Ibis Reader</a>.  <a href="http://nedbatchelder.com/">Ned Batchelder</a> will be working with us in the weeks ahead to update and improve Ibis, and to add some features that have been requested by current and prospective software licensees.</p>
<p>First up is internationalization. One of the key advantages of an HTML5 webapp versus a native app is that they can be installed in any country on a supported device, even in countries that don&#8217;t yet have an Apple App Store.  But first the application needs to be localized for the regional language.</p>
<p>Ibis uses the <a href="http://www.djangoproject.com/">Django application framework</a> and Django comes with native internationalization support.  We also used this when <a href="http://labs.oreilly.com/2009/03/how-to-contribute-translations-to-bookworm.html">internationalizing Bookworm</a> with the help of some great volunteers.  </p>
<p>Before translators can get to work, the application needs to be readied: each bit of text in the site needs to be marked for translation.  This step can be time-consuming and difficult to test.</p>
<h2>Automating translation testing</h2>
<p>Ned has <a href="http://nedbatchelder.com/blog/201012/faked_translations_poxxpy.html">posted some code</a> on his own blog that he used to help validate the internationalization process.  Some good comments point to more advanced tools that take a similar approach.  Recommended reading for anyone doing internationalization work.</p>
<p>The tool fakes a translation by randomly capitalizing all of the letters in the site text.  If done properly, you should get a result like this:</p>
<p align="center">
<img src="http://3press-blog.s3.amazonaws.com/ibis-fake-translation.png" alt="Ibis with a fake translation" />
</p>
<p>The book title <em>Middlemarch</em> and the chapter name look normal; those should not be translated.  The remaining words are directions to the user and will need to be in a regional language.  If any of the site text, like &#8220;Next&#8221; or &#8220;Previous&#8221;, showed up with normal capitalization, we would know that we missed a step.</p>
<p>We won&#8217;t be rolling out translated versions to <a href="http://ibisreader.com/">ibisreader.com</a> in the near future, but we will be posting some performance enhancements and feature updates very soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2011/01/04/three-for-threepress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running epubcheck on your computer</title>
		<link>http://blog.threepress.org/2010/12/16/running-epubcheck-on-your-computer/</link>
		<comments>http://blog.threepress.org/2010/12/16/running-epubcheck-on-your-computer/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 18:19:54 +0000</pubDate>
		<dc:creator>Keith Fahlgren</dc:creator>
				<category><![CDATA[epub]]></category>
		<category><![CDATA[epubcheck]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1726</guid>
		<description><![CDATA[epubcheck is a valuable tool for anyone working with EPUB documents. Many beginners choose to start using it via the online validator at http://threepress.org/document/epub-validate, but it&#8217;s a mistake to use that too often. More explicitly:
If you&#8217;re making more than 3 EPUBs this year, you must setup epubcheck on your computer
Why setup epubcheck locally? If you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/epubcheck/">epubcheck</a> is a valuable tool for anyone working with EPUB documents. Many beginners choose to start using it via the online validator at <a href="http://threepress.org/document/epub-validate">http://threepress.org/document/epub-validate</a>, but it&#8217;s a mistake to use that too often. More explicitly:</p>
<p><strong style="font-size: xx-large">If you&#8217;re making more than 3 EPUBs this year, you <em>must</em> setup epubcheck on your computer</strong></p>
<p>Why setup epubcheck locally? If you have a local copy, you can:</p>
<ul>
<li>run it even if the online validator is down (it was this morning)</li>
<li>run any version of epubcheck you want (useful when <a href="http://blog.threepress.org/2010/09/28/epubcheck-developer-build-with-check-for-unmanifested-files-available-for-testing/">new versions are near release</a>)</li>
<li>run it more quickly</li>
<li>run it on a lot of documents quickly (with a little command-line-foo)</li>
</ul>
<h3>Warning</h3>
<p>This is a brief description of how you might be able to run epubcheck locally. This isn&#8217;t a tech support site, so please don&#8217;t post system questions in the comments.</p>
<h3>Setup for both platforms</h3>
<ol>
<li>Ensure java is installed and in your <code>PATH</code> (Google is your friend if not)</li>
<li>Download the &#8220;binary&#8221; release you&#8217;d like to use (probably the featured one) from the <a href="http://code.google.com/p/epubcheck/downloads/list">epubcheck downloads page</a></li>
<li>Unzip the downloaded <code>.zip</code> file to somewhere on your computer</li>
<li>Find the file <code>epubcheck-[something].jar</code> in the newly unzipped folder (and keep this window open)</li>
<li>Find the EPUB file you&#8217;d like to validate (and keep this window open)</li>
</ol>
<p>Each time you&#8217;d like to run epubcheck, you&#8217;ll need to ask the <code>java</code> command to run the epubcheck program (packaged as a <code>.jar</code> file) against your EPUB file. Happily, you can get drag and drop to help you with most of the filenames. </p>
<h3>Windows</h3>
<ol>
<li>Open the &#8220;Run&#8230;&#8221; menu using [Windows-key]+r, Start Menu->Run&#8230;, or <a href="http://windows.microsoft.com/en-US/windows-vista/What-happened-to-the-Run-command">turning it on for Vista</a>.</li>
<li>In the &#8220;Run&#8230;&#8221; menu, type <code>cmd.exe</code>.</li>
<li>In the new Command Prompt window (the &#8220;prompt&#8221;), type <code>java -jar </code> (note trailing space after &#8220;-jar&#8221;).</li>
<li>Drag the epubcheck <code>.jar</code> file from the unzipped folder into the Command Prompt window (the location of the file ["path"] should be copied).</li>
<li>Type another space in the terminal window after the <code>.jar</code> filename.</li>
<li>Similarly, drag the EPUB file from wherever into the Command Prompt window (it&#8217;s path should also be copied).</li>
<li>Press Enter.</li>
<li>Note the results in the Command Prompt window (<code>No errors or warnings detected</code> means it passed).</li>
</ol>
<h3>Mac</h3>
<ol>
<li>In the Finder, to Go->Utilities, then find the Terminal application (or do a Spotlight search for &#8220;Terminal&#8221;)  and start it.</li>
<li>In the new Terminal window (the &#8220;prompt&#8221;), type <code>java -jar </code> (note trailing space after &#8220;-jar&#8221;).</li>
<li>Drag the epubcheck <code>.jar</code> file from the unzipped folder in the Finder into the Terminal window (the location of the file ["path"] should be copied).</li>
<li>Type another space in the terminal window after the <code>.jar</code> filename.</li>
<li>Similarly, drag the EPUB file from wherever in the Finder into the Terminal window (it&#8217;s path should also be copied).</li>
<li>Press Return.</li>
<li>Note the results in the Terminal window (<code>No errors or warnings detected</code> means it passed).</li>
</ol>
<h3>Linux</h3>
<p>Ha, you&#8217;re on your own! (But do see the good comment from Toby Stevenson, below.)</p>
<h3>Other tools</h3>
<p>Now that you&#8217;ve mastered the above, you can try to run the epubpreflight checking tool in the same manner. It helps check if files are too big for the older Sony Reader devices, for example.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2010/12/16/running-epubcheck-on-your-computer/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>EpubCheck 1.1 released</title>
		<link>http://blog.threepress.org/2010/11/19/epubcheck-1-1-released/</link>
		<comments>http://blog.threepress.org/2010/11/19/epubcheck-1-1-released/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 19:08:19 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[epubcheck]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1715</guid>
		<description><![CDATA[EpubCheck, the open-source tool widely used for checking and testing EPUB files, has been updated to release 1.1.  The release is available on Google Code.
Note: There is a new jar file in lib/. Ensure you copy that to the same place as your existing saxon.jar.
Threepress sponsored the following fixes:

Error message generated for valid ISO8601 [...]]]></description>
			<content:encoded><![CDATA[<p>EpubCheck, the open-source tool widely used for checking and testing EPUB files, has been updated to release 1.1.  The release is available on <a href="http://code.google.com/p/epubcheck/">Google Code</a>.</p>
<p><strong>Note:</strong> There is a new jar file in <code>lib/</code>. Ensure you copy that to the same place as your existing <code>saxon.jar</code>.</p>
<p>Threepress sponsored the following fixes:</p>
<ol>
<li>Error message generated for valid ISO8601 date [BUG] <em> Dates with timestamps were being incorrectly flagged as invalid.</em>
</li>
<li> Checking for unused files which are not in the manifest [ENHANCEMENT] <em>  EpubCheck will now issue a warning if files are in the package that are not in the manifest or META-INF.</em>
</li>
<li> Existence of files referenced in guide not checked [BUG]
</li>
<li> Valildation problems with guide and fragment identifiers [BUG]</li>
<p>The unmanifested file warning in particular has been a critical issue for publishers working in the EPUB ecosystem, as some retailers require that only manifested files be included in the package.</p>
<p>The date issue has also been problematic for EPUB files generated out of tools like Calibre that produce dates with timestamps in them.</p>
<p>Our <a href="http://threepress.org/document/epub-validate">web-based validator</a> will be updated to epubcheck 1.1 shortly.
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2010/11/19/epubcheck-1-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>epubcheck 1.1 release candidate 1 available for testing</title>
		<link>http://blog.threepress.org/2010/10/14/epubcheck-1-1-release-candidate-1-available-for-testing/</link>
		<comments>http://blog.threepress.org/2010/10/14/epubcheck-1-1-release-candidate-1-available-for-testing/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 15:00:58 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[epubcheck]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1645</guid>
		<description><![CDATA[Threepress has contributed patches to a number of significant bugs and improvements to epubcheck recently:
Error message generated for valid ISO8601 date [BUG]
Checking for unused files which are not in the manifest [ENHANCEMENT]
	Existence of files referenced in guide not checked [BUG]
Version r128 has broken test suite [BUG]
The unmanifested file warning in particular has been a critical [...]]]></description>
			<content:encoded><![CDATA[<p>Threepress has contributed patches to a number of significant bugs and improvements to <a href="http://code.google.com/p/epubcheck/">epubcheck</a> recently:</p>
<p><a href="http://code.google.com/p/epubcheck/issues/detail?id=56">Error message generated for valid ISO8601 date</a> [BUG]<br />
<a href="http://code.google.com/p/epubcheck/issues/detail?id=58">Checking for unused files which are not in the manifest</a> [ENHANCEMENT]<br />
<a href="http://code.google.com/p/epubcheck/issues/detail?id=45">	Existence of files referenced in guide not checked</a> [BUG]<br />
<a href="http://code.google.com/p/epubcheck/issues/detail?id=75">Version r128 has broken test suite</a> [BUG]</p>
<p>The unmanifested file warning in particular has been a critical issue for publishers working in the EPUB ecosystem, and we believe this update alone warrants a new public release and a version number push.  The date issue has also been problematic for EPUB files generated out of tools like Calibre that produce dates with timestamps in them.</p>
<p>Download epubcheck 1.1-rc1: <a href="https://s3.amazonaws.com/3press-blog/epubcheck-1.1-rc1.jar">epubcheck-1.1-rc1.jar</a>.  Note that you will need to know how to run the command-line epubcheck for this, and is intended for developers only.</p>
<p>Please report all issues to the <a href="http://code.google.com/p/epubcheck/issues/list">epubcheck issues list</a>, not this blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2010/10/14/epubcheck-1-1-release-candidate-1-available-for-testing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Epubcheck developer build with check for unmanifested files: available for testing</title>
		<link>http://blog.threepress.org/2010/09/28/epubcheck-developer-build-with-check-for-unmanifested-files-available-for-testing/</link>
		<comments>http://blog.threepress.org/2010/09/28/epubcheck-developer-build-with-check-for-unmanifested-files-available-for-testing/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 14:02:38 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[epub]]></category>
		<category><![CDATA[epubcheck]]></category>
		<category><![CDATA[ibooks]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1614</guid>
		<description><![CDATA[Apple&#8217;s iBookstore requirement that all files in the .epub must be listed in the OPF manifest has caused a lot of headaches for content producers. There&#8217;s no such requirement in the actual EPUB 2.0 specification, and therefore no test for this condition has been in epubcheck.  
However, the vast majority of cases where this [...]]]></description>
			<content:encoded><![CDATA[<p>Apple&#8217;s iBookstore requirement that all files in the .epub <i>must</i> be listed in the OPF manifest has caused a lot of headaches for content producers. There&#8217;s no such requirement in the actual EPUB 2.0 specification, and therefore no test for this condition has been in <a href="http://code.google.com/p/epubcheck/">epubcheck</a>.  </p>
<p>However, the vast majority of cases where this occurs are unwanted accidents: publishers including backup files, unused images, or operating system cruft like &#8220;.DS_Store.&#8221; It&#8217;s surprisingly easy to generate very large .epub files due to multiple backups, so while it&#8217;s not a formal requirement of the spec, it&#8217;s a reasonable best practice.</p>
<p>We consulted with other EPUB developers and have contributed a patch to epubcheck to flag files that are missing from the manifest as a warning.  There are three exceptions to this rule:</p>
<ul>
<li> Required files that aren&#8217;t meant to be in the manifest, like <code>mimetype</code>. </li>
<li> Any files listed in <code>META-INF/container.xml</code>, including the OPF file itself. </li>
<li> Any files found in the <code>META-INF</code> directory. </li>
</ul>
<p>All other unmanifested files will generate a warning:</p>
<blockquote><p>
WARNING: ./general/Unmanifested.epub: item (Unmanifested.txt) exists in the zip file, but is not declared in the OPF file
</p></blockquote>
<p>More details available in the <a href="http://code.google.com/p/epubcheck/issues/detail?id=58">original issue</a>.</p>
<p>We&#8217;d like the community to review the patch to ensure that we&#8217;ve caught all the necessary cases.  If you find a problem, <a href="http://code.google.com/p/epubcheck/issues/">report it as a formal bug</a>, not as a comment here (or do both!).  Please include a sample EPUB file as an attachment in the issue so we can generate a test case to verify the fix.</p>
<p>You can download the latest code (revision 135+) either from <a href="http://code.google.com/p/epubcheck/source/checkout">Google Code</a> as source, or just <a href="https://s3.amazonaws.com/3press-blog/epubcheck-1.0.6-dev.jar">download epubcheck-1.0.6-dev.jar</a>. </p>
<p>Because this is a developer preview, our <a href="http://threepress.org/document/epub-validate">online EPUB validator</a> does <em>not</em> use this version. If you are not familiar with how to run epubcheck from the command-line, please continue to use the online version.</p>
<p><strong>Do not use this build for production systems.</strong></p>
<p>If no problems are found we propose that the formal revision number become epubcheck 1.1 to reflect the increase in functionality.  We plan to continue work on additional outstanding epubcheck issues as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2010/09/28/epubcheck-developer-build-with-check-for-unmanifested-files-available-for-testing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>DocBook-XSL 1.76.0 released for testing with many EPUB enhancements</title>
		<link>http://blog.threepress.org/2010/09/03/docbook-xsl-1-76-0-released-for-testing-with-many-epub-enhancements/</link>
		<comments>http://blog.threepress.org/2010/09/03/docbook-xsl-1-76-0-released-for-testing-with-many-epub-enhancements/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 23:28:28 +0000</pubDate>
		<dc:creator>Keith Fahlgren</dc:creator>
				<category><![CDATA[docbook]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=1609</guid>
		<description><![CDATA[Version 1.76.0 of the open source DocBook-XSL stylesheets, which convert DocBook documents into a variety of outputs including PDF, HTML, and EPUB, has just been released into the wild for testing. It includes a number of EPUB enhancements and bugfixes that we&#8217;ve contributed over the last year, so we&#8217;d love to have your feedback.
DocBook-XSL uses [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://sourceforge.net/projects/docbook/files/#files">Version 1.76.0 of the open source DocBook-XSL stylesheets</a>, which convert DocBook documents into a variety of outputs including PDF, HTML, and EPUB, has just been released into the wild for testing. It includes a number of EPUB enhancements and bugfixes that we&#8217;ve contributed over the last year, so we&#8217;d love to <a href="https://sourceforge.net/tracker/?group_id=21935&#038;atid=373747">have your feedback</a>.</p>
<p>DocBook-XSL uses their <em>experimental</em> .0 releases, like 1.76.0, to encourage real-world testing. They should <strong>not</strong> be used in production systems, but are usually followed by stable releases, like 1.76.1, in a few weeks.</p>
<p>Some of the EPUB improvements include:</p>
<ol>
<li>Support for multiple embedded fonts</li>
<li>Improved selection of cover images</li>
<li>Workarounds for ADE bugs</li>
<li>Changes to NCX documents to create better inputs for <code>kindlegen</code> (to create Mobis)</li>
<li>Better date outputs for <code>epubcheck</code> validation</li>
</ol>
<p>Please report issues and bugs to the <a href="https://sourceforge.net/tracker/?group_id=21935&#038;atid=373747">DocBook-XSL bug tracker</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2010/09/03/docbook-xsl-1-76-0-released-for-testing-with-many-epub-enhancements/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

