Tuesday, March 23, 2010

β3

The third beta of Sigil 0.2.0 has just been released. Here are the release notes:

  • added two new WYSIWYG actions that work for both Views: "Insert SGF Chapter Marker" which inserts the old SGF horizontal rule chapter breaking marker and "Split On SGF Chapter Markers" which splits the current chapter according to the placement of these markers (issue #262)
  • chapter splitting now works in Code View
  • fixed an issue with Sigil adding "xmlns='http://www.w3.org/1999/xhtml'" to every element when performing a chapter break operation (issue #313)
  • fixed a rare issue with false spaces being inserted into words during import (issue #139)
  • added a confirmation dialog for removing items in the Book Browser (issue #306)
  • fixed an issue with the line number area overlapping the text in the Code View
  • made Sigil remove the CSS cruft WebKit was adding to the "body" element
  • fixed an issue with spaces in filenames causing bad anchor element path updates
  • fixed an issue with spaces in filenames not being URL encoded in "href" and "src" attributes in the OPF and NCX files
  • fixed an issue with spaces in filenames causing invalid IDs (issue #301)
  • fixed a regression causing Sigil to crash when importing HTML files that reference resources that don't exist on disk
  • Tidy now converts all uppercase attributes to lowercase; mixed-case attributes are left as is
  • fixed an issue with Tidy choking on uppercase attribute names

The beta process is taking substantially longer than I expected. This is mostly because I have less time to work on Sigil than I expected to have, but it’s also because of a huge number of suggestions and bug reports contributed by users since the process began. I can’t thank you all enough, Sigil is better for it.

Some of the feature requests have surprised me, but in a good way. The long awaited SGF chapter markers and splitting are now finally in, so I hope you all put it to good use (and report bugs if you find any).

Epub-wide search&replace is still MIA since I’ve yet to figure out a way to do it that doesn’t suck. I’m not satisfied with the approaches I’ve tried. But I’ll figure it out, don’t worry.

The next three weeks will see little development activity for Sigil since I’m heading into another round of university exams.

Wednesday, March 10, 2010

β2

The second beta of Sigil 0.2.0 has just been released. Here are the release notes:

  • fixed an issue with exported HTML/CSS/etc. files inside EPUBs having superfluous newlines
  • fixed an issue with the TOC editor adding empty "class" attributes to headings (issue #297)   
  • added a new "Window" menu item with new "Next Tab", "Previous Tab" and "Close Tab" actions (issue #273)
  • fixed an issue with the font used in the line number area in the Code View being incorrect when the Code View is first opened; the problem affected mostly Mac machines (issue #290)  
  • Sigil now handles corrupt epub files with an OPF referencing non-existent files (issue #289)   
  • the Book Browser now doesn't scroll back to the top when an item is deleted or added (issue #263)  
  • the Book Browser now allows a file's extension to change between HTM, HTML, XHTML and XML (issue #264)   
  • OPF and NCX files don't rely anymore on UTF-8 XML default parsing, but specify their UTF-8  encoding directly in the declaration   
  • fixed an issue with changes in the TOC editor not being reflected in the book (issue #277)   
  • fixed an issue with the TOC editor not recognizing the "title" attribute on headings (issue #271)  
  • fixed an issue with the user seeing the old, unclean source in the Code View (issue #286)  
  • fixed an issue with the user being prompted to save when quitting even when no changes  have been performed on the new/loaded file (issue #276)   
  • fixed an issue with Book/Code View keyboard shortcuts firing in the wrong view (issue #266)   
  • tentatively fixed an issue with Sigil locking up when chapter breaking (issue #267)   
  • fixed an issue with Tidy adding a superfluous “lang” attribute that is also not allowed  in XHTML 1.1   
  • making sure that ID attributes used in the manifest section of the OPF are always valid   
  • fixing export of epubs with XML files for OPS documents

Quite a few things made it to the second beta. As you can see, a truly great deal of bugs were fixed. Some of the things I wanted to include in this release didn’t make it in (like breaking chapters on SGF chapter breaks, issue #262). Sorry guys, but there were some really critical bugs in the previous beta (like the TOC editor not working… at all), and I wanted to push fixes for those ASAP.

My university duties and responsibilities are picking up again, so Sigil development will slow down a bit. Not too much I hope…

Tuesday, March 2, 2010

β1

Let’s get this out of the way: the first beta of Sigil 0.2.0 is now out. It’s what all of you want to know, right? There you go. There is also a release thread in the Sigil subforum on MobileRead, and all discussion on the beta should happen there.

You can only get it from the “Downloads” section, not from the main page. The 0.1.9 version is still the “official” one, and the new version notification will not be triggered. Bear in mind that this is the very first public release of the code I’ve been working on for the past 3+ months, so it’s going to be buggy. I’m hoping most of the major bugs will be reported quickly and the second beta will have them remedied.

So really try to bash it. Do whatever you normally do in Sigil and report any (unintentional) differences on the tracker. Or anything else you feel should be reported. Just don’t forget to state that you’re using the β1 release in your issue. This would also be a good opportunity to read the Reporting Issues wiki page if you haven’t already.

Why a beta and not a Release Candidate as I’ve previously announced? Well because not all the features that I want in the 0.2.0 release are done. The biggest omission is the cross-file search: in the current beta, you can only search (and replace) in the currently open tab, but not across all the files in the book. The whole search mechanism is about to be overhauled, since Qt 4.6 finally brought a native API for interacting with elements in a QWebPage.

There are numerous other minor annoyances that need to be dealt with before I proclaim a “real” 0.2.0. Things like being able to select multiple items in the Book Browser and delete them; currently you have to delete them one by one, which I find annoying.

Bottom line, it needs a bit of polish. I tried to stay away from that since you always try to make things work first, and then gradually improve them later.

So, betas first, and then after a few of those you’ll see at least one Release Candidate. When I’m satisfied with the way it looks and behaves, I’ll mark the next release after that as “official”.

With that settled, let’s move on.

SGF is now dead

The SGF format was created to provide Sigil with a native file format that could be changed and modified as needed. Initially, I wanted to make epub Sigil’s native format, but that didn’t seem like a good idea at the time. Back then, I wanted Sigil to eventually be able to save many different e-book formats, so I needed to make sure Sigil could store anything the epub format couldn’t but that was potentially in use by the other formats. So SGF was born. Whenever someone asked about it, the short answer was “SGF is to Sigil what PSD is to Photoshop”.

It was a product of thinking for the future… but the future has changed. Sigil is now mainly focused on producing epub books. With that, the major reason for SGF’s existence was gone.

SGF had a few advantages over epub in Sigil 0.1.x. For one thing, it stored the text you saw in the Code View raw, with no preprocessing on save. Saving as epub would split the One Huge Flow™ into different XHTML files according to your chapter breaks, and a great deal of other “book normalization” transformations were applied as well. So SGF was definitely the more “native” format.

In Sigil 0.2.0, the separate files are now kept separate, and any advantage the SGF format had is gone. With no advantage and no real future need for it, SGF format export has been removed: epub is now Sigil’s native file format.

Before you start screaming “but I have hundreds of SGF files!”, 0.2.0 can still open SGF. From there, you’re just a click away from saving it as epub. I’m not leaving you people out in the rain. :)

Show & Tell

I prepared this little screen cast of 0.2.0 in action. Things to watch out for:

  • The loading speed;
  • The  “paragraph merging” speed;
  • The Table of Contents open/close speed;
  • The CSS tab;
  • The XPGT tab;
  • The image tab, which supports SVG.

And here is the video…