…is now live on the Mac App Store.

This update makes the path bar context menu work again, fixing the regression that appeared in version 1.0.3. (Sorry for the inconvenience that caused — we’ll be more careful next time!)

1.0.4 also fixes a bug wherein using the arrow keys inside a <pre> element would collapse whitespace, just as TypeMetal does in ordinary text. Condensing whitespace makes sense in most parts of an HTML document, but it’s not something you want in a preformatted text block, where whitespace and newlines are significant. With the fix in 1.0.4, you now can safely use the arrow keys inside a <pre> element, without disturbing the formatting of its content.

<pre> elements are especially useful for featuring clippings of literal markup or program source code in your writing, by the way. A common construct for this is a <pre> wrapped around a <code>, where the <pre> element preserves spaces and line breaks, and the <code> element marks the content as being some kind of program source code, typically prompting appropriate styling such as use of a monospaced font.

You can assemble a <pre><code> construct easily by inserting a <pre> element (Control+/ p r [return]), then inserting a <code> element (Control+/ c o [return]). This leaves you inside the <code> element ready to type. Note that when you’re all done typing the content of this code block, and you want to type what follows the <pre><code> block, you can simply hit the [tab] key to pop out of both the <code> and the enclosing <pre>.

Creating this kind of construct will give you something like this in your HTML:

<pre><code>for (id thing in collection) {
    [thing doYourThing];

which, with CSS styling applied, might be rendered something like this:

for (id thing in collection) {
    [thing doYourThing];

If this is a construct you use a lot, you might want to create a snippet to make it even quicker to assemble. The snippet body would look like this:


With that snippet added to my HTML file’s associated snippet set, I’m able to insert a <pre><code> construct by typing Control+/ p r e c [return].

If you ever want to paste some HTML markup for people to read as markup, note that you’ll need to use TypeMetal’s “Paste as Plain Text” command (Command+Shift+Option+V). Ordinary “Paste” (Command+V) would interpret the HTML markup, putting the described elements in your document, instead of the HTML source code description of them. By pasting “as Plain Text”, you get the exact text that’s on the pasteboard, without any interpretation of HTML element tags it might contain. (Relevant User Guide page: Paste)

I hope you’ll enjoy this update! Stay tuned for more improvements to come!

…is ready to download from the Mac App Store!

This update includes a number of enhancements and fixes that were suggested by users in the TypeMetal Support Forum. If you haven’t visited the Support Forum yet, head on over: It’s a great place to ask questions and file requests that can turn into improvements to the app!

One key enhancement in this update is the ability to enable JavaScript execution. Normally, it’s best to play it safe and leave JavaScript disabled when editing your documents, since some scripts may modify a document’s structure or content — not something you’d usually want to allow during editing. But if you’re working with well-understood scripts that you’d like to have active and running during editing, you’re free to turn JavaScript on now, in TypeMetal’s General preference pane.

We’ve also made the Source Loupe a little less transparent, to make its contents easier to read, and fixed a variety of mostly minor issues affecting attribute validation. Most notably, TypeMetal no longer bothers you about unknown (“proprietary”) attributes if you’ve checked “Allow user-defined attributes” in TypeMetal’s General preferences. TypeMetal also more reliably takes you to the site of a validation issue when you click it in the validation issue list. It even opens the attribute editor and focuses the affected attribute for editing, if the validation warning applies to an attribute.

See the new Version History page for the complete list of changes in this and prior versions. And thanks again to our enthusiastic customers for supporting TypeMetal! Stay tuned for further updates: We have lots more great improvements in the development pipeline!

Update 2013-07-23

I just noticed a regression in TypeMetal 1.0.3: The path bar context menu only appears once, the first time you right-click or Control+click a path bar segment. I have a well-understood fix for this already in hand, and will expedite submitting a 1.0.4 build that remedies this issue. In the meantime, if you make frequent use of the path bar context menu, you might want to skip the 1.0.3 update, or revert TypeMetal to 1.0.2 (by restoring from a Time Machine backup or other backup). I apologize for this oversight, and will get a fix out as soon as possible.

Update 2013-07-26

TypeMetal 1.0.4 is out, and includes a fix for the context menu regression.