CSS is becoming ubiquitous in my environment. I’d love a way of styling Scrivener documents.
There are two show-stopper problems with that idea: The first is that Scrivener uses RTF for all of its internal processing and storage, which of course isn’t something that uses CSS. So for most of the outputs it’s just not relevant. The second problem is that although we can convert this RTF data to HTML, we do so using the core engine, which doesn’t really produce a result that works well with user-defined CSS. Of course, it uses CSS internally, but if you examine the HTML closely, you’ll find that all of the internal class assignments are dynamically built when you compile in a sequential fashion. This means it cannot really be predicted by a CSS file you design. It’s also not very semantic. It uses paragraph styling for just about everything, so you can’t approach it like you might normally do so, with header levels and so on.
There is a way to get a very predictable and semantic HTML output using the MultiMarkdown workflow. It means writing using Markdown style syntax instead of the normal rich text tools, but through using MMD you can specify a chosen CSS file using its meta-data system. So there is that option if you’re looking for a clean HTML 5 output with special stylesheets.
I’m seriously considering the markdown route but it’s different than I’m used to, deceases the portability of the text and adds more keystrokes.
I’m not following how it decreases portability. It’s a plain-text format, everything about it is visible and can be keyed in with any keyboard that has basic punctuation available to it. So, basically everything from a fifteen year old Palm Pilot to an iPad, AlphaSmart and other similarly restrictive editing environments can handle it, never mind full-powered computers. One of the big appeals, and the reason Markdown has taken off in recent years, is that you can create styled documents even on a cell phone.
Plus there is the minor point that an MMD document can easily become a WYSIWYG document if you need it.
As for keystrokes, in most cases that shouldn’t hold true. For example, to italicise this word I type Shift–8wordShift–8, the same as Ctrl-IwordCtrl-I. True, bold has an extra pair, but really, double-tapping the key your finger is already on isn’t much of a price to pay. It’s never bothered me, anyway, and since 100% of the format is done with the keyboard, there are never any cases where you have to stop typing and go for the mouse. I’d wager it roughly balances out in the long run.
Where it definitely does exact a time toll is on the formatting end. Since it isn’t really about formatting, and is purely about semantics, one needs to spend time with stylesheets to make the output look the way they want. But, it sounds like you are already heading that way with CSS anyway.
I’m not saying MMD is superior, or that it will work for everyone and every application (I use markup a great deal, but not for everything), but if those are your two main concerns, it might not be as bad as you think. The difference is the main thing, like you say. It’s the difference in appearance that some people find really hard to take a liking to. Others like myself prefer symbols to styling in an editing and writing environment, so I think that one is a bit of a toss-up depending on your preferences.