There’s no doubt: paper sales of books and magazines are declining as more and more people switch to reading content digitally. One thing the shift to digital publishing does is open it up to everyone – now anyone can publish their own books for no upfront costs using services like Lulu.
Lulu and most eBook readers utilise the EPUB format, and converting your finished work to EPUB can be tricky if you do it by hand. It’s all XHTML code and tricky formatting, but the good news is that you can quickly and easily produce an EPUB file with no coding skills thanks to Sigil. This open-source tool takes a WYSIWYG approach to putting together your finished manuscript, and comes with all the basic formatting tools you need.
Import your finished text into EPUB as plain text and you’re ready to go. Your work is divided up into separate XHTML-based chapters, and by styling up your text using headings you can generate a full table of contents with a single click, allowing your readers to jump around your work quickly and easily.
You can even insert images into the text, including your book’s own cover. Make sure it’s 590 pixels wide by 750 high, then place it at the beginning of your document and insert a chapter break immediately after it and before your text. Finish by expanding the Images section of the Book Browser pane, then right-click your cover image and choose Add Semantics > Cover Image.
Sigil also features a tool that will check your EPUB file for errors – click the green tick to verify it’s problem-free before distributing it.
Although it’s still in a relatively early phase of its life, Sigil packs all the features you need to create striking EPUB-format books that could set you on the way to becoming a published author.
Version 0.8.9 (Full Changelog):
|- Kill tidy and replace it with a combination of a specially modified Gumbo|
|parser that supports html5|
|- Kill Xerces and XercesExtras.|
|- Kill Boost, replace with C++ 11|
|- Kill unused bundles.|
|- Replace all "undefined - behaviour" use of "Null" References with proper|
|pointers across entire codebase to allow it to work with the latest|
|- Completely revamp the build process to embed the Python 3.4 Interpreter|
|inside of Sigil and integrate it in, including as site-packages:|
|[lxml, bs4, PIL, regex, six, html5lib]. This will allow plugins|
|that use the internal Python 3.X engine access to all of these|
|specialized packaes by default with no additional action|
|needed by end users of their plugin.|
|- Create our own version of BeautifulSoup4-4.4.0 called sigil_bs4 that|
|fixes lxml namespace bugs, fixes serialization/prettyprinting of|
|inline xhtml tags, and modifies the bs4 codebase so that a single|
|sourcecode works equally well on both Python 2.7 and Python 3.X|
|- Replace internal opf and ncx xml processing and cleaning with a|
|combination of embedded Python 3.4, sigil_bs4 / lxml|
|- Build hunspell as a shared library and then add a ctypes interface to allow|
|plugins to spellcheck|
|- Build our modified gumbo html5 parser as a shared library|
|and provide a bs4 ctypes interface to it for easy xhtml processing|
|in plugins that use Python 2.7 and Python 3.X|
|- Allow plugins to auto-fix "text/html" media-types to "application/xhtml+xml"|
|- Redesign the ebook source updates upon load process to use our modified|
|- Begin the transition to allow for both epub2 and epub3 editing|
|(Note: epub3 editing is still incomplete)|
|- Convert Flightcrew to become a Sigil plugin and replace it with|
|a simple and fast internal sanity checker.|
|- Update Hunspell dictionaries to be actual dictioanries and not word lists for en_US and en_GB|
|- Updated other dictionaries to their most current version to match what is used in LibreOffice 5|
|- Fix issue #54 modified date using local numerials when it should be|
|using Arabic numerals per the spec.|
|- Set the book to modified when font's are obfuscated.|
|- Change FORCE_BUNDLED_COPIES build flag to USE_SYSTEM_LIBS. This flips|
|the meaning of the flag. Now USE_SYSTEM_LIBS will enable using system|
|libraries. Also, SYSTEM_LIBS_REQUIRED was added which will fail the|
|cmake configure if any system libraries are not found instead of|
|falling back to the bundled copy. Finally, this makes the build more|
|consistent for Windows and OS X users.|