<?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>Brett Terpstramarkdown - Brett Terpstra</title>
	<atom:link href="http://brettterpstra.com/tag/markdown/feed/" rel="self" type="application/rss+xml" />
	<link>http://brettterpstra.com</link>
	<description>Elegant solutions to complex problems.</description>
	<lastBuildDate>Thu, 09 Feb 2012 15:01:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Introducing Gather, a Cocoa Markdownifier</title>
		<link>http://brettterpstra.com/introducing-gather-a-cocoa-markdownifier/</link>
		<comments>http://brettterpstra.com/introducing-gather-a-cocoa-markdownifier/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 02:43:36 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3619</guid>
		<description><![CDATA[<p>I wrote something a couple of nights ago that I thought I’d share. I’m calling it “Gather,” and it’s basically an “appified” version of my Readability/Markdownify work. A Cocoa version of Marky the Markdownifier, if you will. You can paste in a URL and it will attempt to find the core text of the page, download it and turn it&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/introducing-gather-a-cocoa-markdownifier/">Introducing Gather, a Cocoa Markdownifier</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2012/02/GatherNew250.png?9d7bd4" alt="" title="GatherNew250" width="250" height="250" class="alignright size-full wp-image-3624" />I wrote something a couple of nights ago that I thought I’d share. I’m calling it “Gather,” and it’s basically an “appified” version of my <a href="http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages/">Readability/Markdownify</a> work. A Cocoa version of <a href="http://markdownrules.com/">Marky the Markdownifier</a>, if you will. You can paste in a URL and it will attempt to find the core text of the page, download it and turn it into Markdown for clean web clipping. It displays the result in a field you can copy from, and it can optionally auto-copy the result to your clipboard.</p>

<p>It’s a little shaky, especially on sites with bad markup. I’d say that right now it has about a 60% success rate. As I have time to work on it I’ll be improving this and adding a bevy of features that may eventually become an App Store submission. We’ll see. This proof-of-concept version<sup id="fnref:icon"><a href="#fn:icon" rel="footnote">1</a></sup>, however, is free to download. I’ll ask nicely that you please not steal the idea and <a href="http://www.youtube.com/watch?v=PyupJo5SRHI&amp;feature=related">beat me to the punch</a>.</p>

<p>This build is Lion-only; it won’t run at all on Snow Leopard. I’m not really taking any feature suggestions right now, as I already have an extensive roadmap for it that will turn it into something highly useful in many situations (and I’m quite aware of what it lacks in this state). I <em>would</em> enjoy hearing from you with your reactions, though.</p>

<h3>Credit due</h3>

<p>This version uses <a href="https://github.com/curthard89/COCOA-Stuff/tree/master/GGReadabilityParser">GGReadability</a> by Curtis Hard. You should definitely check out his work-in-progress app, <a href="http://www.geekygoodness.com/">Caffeinated</a>. It’s an RSS reader with Google Reader support and some serious potential. I’m also using <a href="http://www.aaronsw.com/2002/html2text/">HTML2Text</a> for “markdownifying.”</p>

<p>Enjoy.</p>

<h3>Download</h3>

<div class="download_desc"><p class="download-icon"><a href="http://brettterpstra.com/downloads/Gather0.1.zip?9d7bd4" title="Download Gather (198)"><img src="http://cdn2.brettterpstra.com/wp-content/uploads/downloads/thumbnails/2012/02/GatherNew250.png?9d7bd4" alt="download image for Gather" width="64" /></a><br /><a href="http://brettterpstra.com/downloads/Gather0.1.zip?9d7bd4" title="Download Gather (198)" class="download-button">Download</a></p><p class="desc"><a href="http://brettterpstra.com/downloads/Gather0.1.zip?9d7bd4" title="Download Gather (198)">Gather</a> — Turn web pages into clean Markdown for clipping. <a href="http://brettterpstra.com/introducing-gather-a-cocoa-markdownifier">More Info</a></p></div>

<div class="footnotes">
<hr />
<ol>

<li id="fn:icon">
<p>I know the icon is pretty terrible. I liked my <a href="http://cdn2.brettterpstra.com/wp-content/uploads/2012/02/GatheredOriginal.png?9d7bd4">first version</a> when it was in Photoshop, but it looked horrible in the Dock. It’ll get better. <a href="#fnref:icon" rev="footnote">↩</a></p>
</li>

</ol>
</div>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/introducing-the-marked-bonus-pack/' rel='bookmark' title='Introducing the Marked Bonus Pack'>Introducing the Marked Bonus Pack</a></li>
<li><a href='http://brettterpstra.com/meet-marky-the-markdownifier/' rel='bookmark' title='Meet Marky, the Markdownifier'>Meet Marky, the Markdownifier</a></li>
<li><a href='http://brettterpstra.com/instapaper-beyond-bugs/' rel='bookmark' title='Instapaper Beyond Bugs (fixed)'>Instapaper Beyond Bugs (fixed)</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/introducing-gather-a-cocoa-markdownifier/">Introducing Gather, a Cocoa Markdownifier</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/introducing-gather-a-cocoa-markdownifier/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>A Service for writing MultiMarkdown footnotes inline</title>
		<link>http://brettterpstra.com/a-service-for-writing-multimarkdown-footnotes-inline/</link>
		<comments>http://brettterpstra.com/a-service-for-writing-multimarkdown-footnotes-inline/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 16:52:39 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[multimarkdown]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[service]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3576</guid>
		<description><![CDATA[<p>This post should have been titled “What happens to my mornings.” I get a lot of one-off requests for scripts and tips on how to handle tasks specific to people’s workflow or writing style. I generally keep myself pretty busy, so I usually reply with a quick idea or thought and leave it up to them to run with it.&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/a-service-for-writing-multimarkdown-footnotes-inline/">A Service for writing MultiMarkdown footnotes inline</a></p>]]></description>
			<content:encoded><![CDATA[<p>This post should have been titled “What happens to my mornings.”</p>

<p>I get a lot of one-off requests for scripts and tips on how to handle tasks specific to people’s workflow or writing style. I generally keep myself pretty busy, so I usually reply with a quick idea or thought and leave it up to them to run with it. <a href="http://havecamerawilltravel.com/">David Coleman</a> emailed me this morning, though, with a request that struck me as an interesting enough idea to whip up a script before work.</p>

<p>What David wanted to do was take the idea behind my “Inline Links to References” command in the <a href="http://brettterpstra.com/project/markdown-service-tools/">Markdown Service Tools</a> and do something similar for footnotes, allowing him to write footnotes inline in a paragraph and have them converted before processing with MultiMarkdown. It’s not such a chore to skip a few lines and drop in the footnote syntax that this should be part of the spec, but it <em>is</em> something I would find handy in several situations. So…</p>

<p><span id="more-3576"></span></p>

<p>The format I picked uses a syntax like this to denote a footnote:</p>

<pre><code>This is the regular text(*This is the footnote*), and you can drop the footnote in at any point.
</code></pre>

<p>The Service can handle footnotes inside of lines, at the end of lines, spanning multiple lines with breaks (creates paragraphs) and does fine with Markdown <em>within</em> the footnote. One nice thing about this syntax is that–if you’re previewing as you write–it italicizes the output to differentiate it until you’ve used the service to move it out of the main text.</p>

<p>Multi-line footnotes need to begin at the end of a line of text, and just use double-newlines to separate paragraphs within the footnote, e.g.:</p>

<pre><code>...the end of the paragraph. (*This is a footnote

which is going to span

more than one line*)
</code></pre>

<p>Here’s the script, also available as a Service download at the end of the post.</p>

<p><strong>Update:</strong> I just added a fix (in code below and the Service download) for making sure that footnote reference titles aren’t duplicated if you have existing MultiMarkdown-formatted footnotes in the document.</p>


<div class="wp_syntax"><div class="code"><pre class="ruby"><span class="co1">#!/usr/bin/env ruby</span>
&nbsp;
<span class="kw1">def</span> e_sh<span class="br0">&#40;</span>str<span class="br0">&#41;</span>
	str.<span class="me1">to_s</span>.<span class="kw3">gsub</span><span class="br0">&#40;</span><span class="sy0">/</span><span class="br0">&#40;</span>?=<span class="br0">&#91;</span>^a<span class="sy0">-</span>zA<span class="sy0">-</span>Z0<span class="sy0">-</span><span class="nu0">9</span>_.\<span class="sy0">/</span>\<span class="sy0">-</span>\x7F<span class="sy0">-</span>\xFF\n<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">/</span>n, <span class="st0">'<span class="es0">\\</span>'</span><span class="br0">&#41;</span>
<span class="kw1">end</span>
&nbsp;
input = STDIN.<span class="me1">read</span>
&nbsp;
footnotes = input.<span class="me1">scan</span><span class="br0">&#40;</span><span class="sy0">/</span>\<span class="br0">&#40;</span>\<span class="sy0">*</span><span class="br0">&#40;</span>.<span class="sy0">*</span>?<span class="br0">&#41;</span>\<span class="sy0">*</span>\<span class="br0">&#41;</span><span class="sy0">/</span>m<span class="br0">&#41;</span>
existing = input.<span class="me1">scan</span><span class="br0">&#40;</span><span class="sy0">/</span>^\<span class="br0">&#91;</span>\^fn<span class="br0">&#40;</span>\d<span class="sy0">+</span><span class="br0">&#41;</span>\<span class="br0">&#93;</span>: <span class="sy0">/</span>i<span class="br0">&#41;</span>
counter = existing.<span class="me1">empty</span>? ? <span class="nu0">1</span> : existing.<span class="me1">uniq</span>.<span class="me1">sort</span><span class="br0">&#91;</span><span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#93;</span>.<span class="me1">join</span>.<span class="me1">to_i</span> <span class="sy0">+</span> <span class="nu0">1</span>
&nbsp;
output = <span class="br0">&#91;</span><span class="br0">&#93;</span>
footnotes.<span class="me1">each</span> <span class="br0">&#123;</span><span class="sy0">|</span>note<span class="sy0">|</span> 
	output <span class="sy0">&lt;&lt;</span> <span class="br0">&#123;</span><span class="st0">'orig'</span> <span class="sy0">=&gt;</span> note<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>, <span class="st0">'title'</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;fn#{counter}&quot;</span>, <span class="st0">'footnote'</span> <span class="sy0">=&gt;</span> note<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="br0">&#125;</span>
	counter <span class="sy0">+</span>= <span class="nu0">1</span>
<span class="br0">&#125;</span>
&nbsp;
o = <span class="br0">&#91;</span><span class="br0">&#93;</span>
output.<span class="me1">each_with_index</span> <span class="br0">&#123;</span> <span class="sy0">|</span>x,i<span class="sy0">|</span> 
	o.<span class="me1">push</span><span class="br0">&#40;</span><span class="st0">&quot;[^#{x['title']}]: #{x['footnote'].gsub(/<span class="es0">\n</span><span class="es0">\n</span>(<span class="es0">\s</span>*.)/,&quot;</span>\n\n\t\\<span class="nu0">1</span><span class="st0">&quot;)}&quot;</span><span class="br0">&#41;</span>
	input.<span class="kw3">gsub!</span><span class="br0">&#40;</span><span class="sy0">/</span>\<span class="br0">&#40;</span>\<span class="sy0">*</span><span class="co1">#{e_sh x['orig']}\*\)/m,&quot;[^#{x['title']}]&quot;)</span>
<span class="br0">&#125;</span>
<span class="kw3">puts</span> input.<span class="me1">strip</span> <span class="sy0">+</span> <span class="st0">&quot;<span class="es0">\n</span><span class="es0">\n</span>#{o.join(&quot;</span>\n\n<span class="st0">&quot;)}<span class="es0">\n</span>&quot;</span></pre></div></div>


<p>I’m in San Francisco for an AOL Tech code jam right now, so I don’t have a lot of time to thoroughly test this. Please let me know about any bugs that need fixing.</p>

<p>If you’re in San Francisco and like coffee or beer, hit me up <a href="http://twitter.com/ttscoff">on Twitter</a>. If you’re here for Macworld, then you’d better be at my <a href="http://www.macworldiworld.com/techtalks/thursday-overview/thursday-agenda/#903">“40 Tips in 40 Minutes”</a> talk with David Sparks and Merlin Mann on Thursday!</p>

<div class="download_desc"><p class="download-icon"><a href="http://brettterpstra.com/downloads/ConvertInlineFootnotesService1.21.zip?9d7bd4" title="Download Convert Inline Footnotes Service (68)"><img src="http://brettterpstra.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif?9d7bd4" alt="download image for Convert Inline Footnotes Service" width="64" /></a><br /><a href="http://brettterpstra.com/downloads/ConvertInlineFootnotesService1.21.zip?9d7bd4" title="Download Convert Inline Footnotes Service (68)" class="download-button">Download</a></p><p class="desc"><a href="http://brettterpstra.com/downloads/ConvertInlineFootnotesService1.21.zip?9d7bd4" title="Download Convert Inline Footnotes Service (68)">Convert Inline Footnotes Service</a> — Convert inline footnotes in ‘(*Footnote to be created*)‘ format to MultiMarkdown footnotes. <a href="http://brettterpstra.com/a-service-for-writing-multimarkdown-footnotes-inline">More Info</a></p></div>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/a-better-os-x-system-service-for-evernote-notes-with-multimarkdown/' rel='bookmark' title='A better System Service for Evernote clipping — with MultiMarkdown'>A better System Service for Evernote clipping — with MultiMarkdown</a></li>
<li><a href='http://brettterpstra.com/auto-convert-your-inline-markdown-links-to-references/' rel='bookmark' title='Auto-convert your inline Markdown links to references'>Auto-convert your inline Markdown links to references</a></li>
<li><a href='http://brettterpstra.com/a-system-service-for-to-url-shortening/' rel='bookmark' title='A System Service for to. url shortening'>A System Service for to. url shortening</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/a-service-for-writing-multimarkdown-footnotes-inline/">A Service for writing MultiMarkdown footnotes inline</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/a-service-for-writing-multimarkdown-footnotes-inline/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scripting Readability and Markdownify for clipping web pages</title>
		<link>http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages/</link>
		<comments>http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 15:07:28 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3524</guid>
		<description><![CDATA[<p>I wanted to share a handy tool that I realized I use daily but rarely talk about. I call it Read2Text, but it’s really just a Frankenstein script which combines Python Readability (license) with html2text (license). The combination allows you to grab web pages, process them with a port of Arc90’s Readability and convert the HTML to Markdown, ready for&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages/">Scripting Readability and Markdownify for clipping web pages</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2012/01/read2textheader.jpg?9d7bd4" alt="read2text header image" title="read2text header" width="650" height="165" class="aligncenter size-full wp-image-3526" /></p>

<p>I wanted to share a handy tool that I realized I use daily but rarely talk about. I call it Read2Text, but it’s really just a Frankenstein script which combines <a href="https://github.com/gfxmonk/python-readability/blob/master/README">Python Readability</a> (<a href="http://www.apache.org/licenses/LICENSE-2.0">license</a>) with <a href="http://www.aaronsw.com/2002/html2text/">html2text</a> (<a href="https://github.com/aaronsw/html2text/blob/master/COPYING">license</a>). The combination allows you to grab web pages, process them with a port of <a href="http://lab.arc90.com/2009/03/02/readability/">Arc90’s Readability</a> and convert the HTML to Markdown, ready for pasting or piping to a text file.</p>

<p><a href="http://brettterpstra.com/project/nvalt/">nvALT</a> has this built in, but it’s been a little crashy lately. I find it more reliable to just do this from the command line. If you install it in your path (both the <code>read2text</code> script and the “readability” folder), you can run <code>read2text http://brettterpstra.com/keybinding-madness/ | pbcopy</code>.</p>

<p>You’ll get a Markdown-ified version of the page, with links, image links, headers, code blocks and text intact, but no comments, sidebars, ads, etc. It’s not perfect, but it does a solid job and cleanup only takes me a minute, even on huge sites. I use this most of the time instead of clipping to Evernote these days.</p>

<p>I alias it in my .bash_profile to <code>rtt</code>, and often redirect the output straight to a text file in my nvALT folder: <code>rtt http://grml.org/zsh/zsh-lovers.html &gt; ~/Dropbox/Notes/nvALT2.1/zsh\ lovers.md</code></p>

<p>Now I have a new note that automatically shows up in nvALT with the text of the zsh-lovers page (yeah, I tried switching to zsh this morning. I’ll have to come back to that). Anyway, I thought others might find this hack of use, so I’m making the download available below.</p>

<div class="download_desc"><p class="download-icon"><a href="http://brettterpstra.com/downloads/Read2Text1.zip?9d7bd4" title="Download Read2Text (289)"><img src="http://cdn2.brettterpstra.com/wp-content/uploads/downloads/thumbnails/2012/01/read2texticon.png?9d7bd4" alt="download image for Read2Text" width="64" /></a><br /><a href="http://brettterpstra.com/downloads/Read2Text1.zip?9d7bd4" title="Download Read2Text (289)" class="download-button">Download</a></p><p class="desc"><a href="http://brettterpstra.com/downloads/Read2Text1.zip?9d7bd4" title="Download Read2Text (289)">Read2Text</a> — A Frankenstinian combination of html2text and Python Readability. This command line tool makes clipping web pages into Markdown text without ads and comments simple. <a href="http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages">More Info</a></p></div>

<p>By the way, I also have <a href="http://markdownrules.com/">a web service</a> for this. You can get <a href="http://fuckyeahmarkdown.com/go/?u=http%3A%2F%2Fbrettterpstra.com%2Fscripting-readability-markdownify-for-clipping-web-pages%2F&amp;read=1">raw markdown</a> or a <a href="http://fuckyeahmarkdown.com/go/?read=1&amp;showframe=1&amp;u=http%3A%2F%2Fbrettterpstra.com%2Fscripting-readability-markdownify-for-clipping-web-pages%2F">nice interface</a> for previewing and copying. There’s also an API and bookmarklets for integration into your favorite browser. Have fun!</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/meet-marky-the-markdownifier/' rel='bookmark' title='Meet Marky, the Markdownifier'>Meet Marky, the Markdownifier</a></li>
<li><a href='http://brettterpstra.com/nvalt-1-0-8-progress/' rel='bookmark' title='nvALT 1.0.8 progress'>nvALT 1.0.8 progress</a></li>
<li><a href='http://brettterpstra.com/clippable/' rel='bookmark' title='Clippable'>Clippable</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages/">Scripting Readability and Markdownify for clipping web pages</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/scripting-readability-markdownify-for-clipping-web-pages/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Markdown QuickTags 0.8 for Christmas</title>
		<link>http://brettterpstra.com/markdown-quicktags-0-8-for-christmas/</link>
		<comments>http://brettterpstra.com/markdown-quicktags-0-8-for-christmas/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 21:38:28 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[mdqt]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3450</guid>
		<description><![CDATA[<p>We’re having a low-key holiday this year. I mean really low-key. Aditi’s napping on the couch, the dogs are all sleeping, the cats and the bird are lazily preening themselves and I just fixed Markdown QuickTags. Markdown QuickTags, my WordPress plugin which adds a massive number of Markdown-editing features to the built-in post/page editor had broken with the release of&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/markdown-quicktags-0-8-for-christmas/">Markdown QuickTags 0.8 for Christmas</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://cdn2.brettterpstra.com/wp-content/uploads/2011/12/mdqt0.8screenshot-full.jpg?9d7bd4"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-3452 shadow" title="Markdown QuickTags 0.8" src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/12/mdqt0.8screenshot.jpg?9d7bd4" alt="Markdown QuickTags 0.8 Screenshot" width="300" height="227" /></a>We’re having a low-key holiday this year. I mean <em>really</em> low-key. Aditi’s napping on the couch, the dogs are all sleeping, the cats and the bird are lazily preening themselves and I just fixed Markdown QuickTags.</p>

<p><a href="http://wordpress.org/extend/plugins/markdown-quicktags/">Markdown QuickTags</a>, my WordPress plugin which adds a massive number of Markdown-editing features to the built-in post/page editor had broken with the release of WordPress 3.3. Basically, the <code>quicktags.js</code> file which generates the buttons in the HTML editor changed completely. For the better, of course, but that’s what Markdown QuickTags (hackishly) overrides to work its magic, and the change pulled the rug out from under the plugin. I had to rewrite a good portion of the JavaScript, and it took me a while just to figure out what was going on, but it’s back in action. I’m writing this post with it right now.</p>

<p>I added some new font options (served via Google Fonts), more size choices and a live editor preview from the settings page. I’m working on adding a few “themes” to the editor and making it a little more customizable, but it’s lower on my list than things like, <em>um,</em> working.</p>

<p>Eventually I’ll make a video of it in action, I think I’ve probably snuck in a few features that I’ve done a poor job of documenting, anyway. I revamped the look this time, too (much more <a href="http://bywordapp.com/">Byword</a>–esque) so a screenshot refresh is in order as well. But that’s for <em>after</em> Christmas.</p>

<p>Happy Holidays, hope you’re all having great times.</p>

<p>If you write in Markdown and use WordPress, you’d be insane not to try this out. Version 0.8 just became available <a href="http://wordpress.org/extend/plugins/markdown-quicktags/">in the WordPress Plugin Repository</a>.</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/markdown-quicktags-wordpress-plugin/' rel='bookmark' title='Markdown QuickTags: WordPress plugin for Markdown lovers'>Markdown QuickTags: WordPress plugin for Markdown lovers</a></li>
<li><a href='http://brettterpstra.com/markdown-quicktags-0-7/' rel='bookmark' title='Markdown QuickTags 0.7'>Markdown QuickTags 0.7</a></li>
<li><a href='http://brettterpstra.com/markdown-quicktags-makes-1000-people-happier-and-more-attractive/' rel='bookmark' title='Markdown QuickTags makes 1000 people happier and more attractive'>Markdown QuickTags makes 1000 people happier and more attractive</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/markdown-quicktags-0-8-for-christmas/">Markdown QuickTags 0.8 for Christmas</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/markdown-quicktags-0-8-for-christmas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Marked 1.3.2 in review</title>
		<link>http://brettterpstra.com/marked-1-3-2-in-review/</link>
		<comments>http://brettterpstra.com/marked-1-3-2-in-review/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 15:48:59 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[marked]]></category>
		<category><![CDATA[multimarkdown]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3399</guid>
		<description><![CDATA[<p>Marked v1.3.2 has been uploaded and is waiting for review. This release, despite being an incremental version number, has some exciting new features. Here’s a preview of the changelog: Fixed More careful when stripping javascript from the document More responsive to a wider range of files/locations (Lion-only) Moved TOC to toolbar button Increased file size limit, offers a warning on&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/marked-1-3-2-in-review/">Marked 1.3.2 in review</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://markedapp.com">Marked</a> v1.3.2 has been uploaded and is waiting for review. This release, despite being an incremental version number, has some exciting new features. Here’s a preview of the changelog:</p>

<p><strong>Fixed</strong></p>

<ul>
<li>More careful when stripping javascript from the document</li>
<li>More responsive to a wider range of files/locations (Lion-only)</li>
<li>Moved TOC to toolbar button</li>
<li>Increased file size limit, offers a warning on large files</li>
</ul>

<p><strong>New</strong></p>

<ul>
<li>Save/Copy as RTF</li>
<li>Word count for selection</li>
<li>Word repetition visualization</li>
<li>Readability Statistics</li>
<li>Keyboard navigation

<ul>
<li>help hud (press “h” in preview) for navigation keyboard shortcuts</li>
</ul></li>
<li>Option to disable SmartyPants typography extension</li>
<li>Updated multimarkdown executable to development version

<ul>
<li>Better handling of HTML5 elements</li>
<li>Fix for bold/emphasis handling in complex blocks</li>
</ul></li>
</ul>

<p>The new location of the Table of Contents avoids a lot of overlap concerns. When there are headers (h2-h6) in the document, a button will appear next to the gear menu (to the left) and clicking it will slide up a list of those headers. Clicking a header in the list will navigate the document to that header and temporarily highlight it.</p>

<p>The <strong>increased file size limit</strong> will allow massive text files to be loaded, presenting a warning about decreased performance one time.</p>

<p><strong>Save/Copy as RTF</strong> should be handy for people composing emails and other documents in Marked. It will maintain most aspects of the current custom style when creating the Rich Text version. The Copy as RTF has a little trouble with blockquotes right now, and I’m not sure I can do much about it, but beyond that it’s a quick way to get your preview into another document.</p>

<p><strong>Word count for selection</strong> is pretty darn nifty: when you make a selection with the mouse, a small popup at the mouse cursor location will tell you the word and character count for just the selected text.</p>

<p><strong>Word repetition visualization</strong> allows you to see words repeated by paragraph or across the entire document. You can click on a bolded (repeated) word and dim everything else so that it’s easy to see where the repetitions are located. It uses a stemming algorithm so that various forms of the same word are dectected, including plurals and conjugations.</p>

<p>The <strong>keyboard navigation</strong> is fairly extensive, with home-key controls for scrolling, the ability to use up to nine numeric bookmarks for rapid return, navigation by header and more. Pressing “h” in the preview will show all available shortcuts.</p>

<p>Fletcher Penney has been really great about providing some <strong>updates to the MultiMarkdown processor</strong> to handle a few edge cases. People who’ve experienced rendering anomolies should be quite satisfied!</p>

<p><strong>Readability statistics</strong> are experimental, but Marked attempts to provide a grade level and Fog Index for your document.</p>

<p>There are a few new options in Preferences to cover some more requests for control over the preview and rendering. I’ve also updated the help system and added a Markdown reference you can keep open while working.</p>

<p>It’s a big release with a little version number… I’ll update the <a href="http://markedapp.com">Marked website</a> and post here as soon as it’s approved. Special thanks to the beta testers and their great feedback on this version. Also, if you buy Marked now, all of these features will be yours for free when the update comes out!</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/marked-is-on-the-mac-app-store/' rel='bookmark' title='Marked is on the Mac App Store'>Marked is on the Mac App Store</a></li>
<li><a href='http://brettterpstra.com/marked-1-3-1-more-multimarkdown-goodies/' rel='bookmark' title='Marked 1.3.1, more MultiMarkdown goodies'>Marked 1.3.1, more MultiMarkdown goodies</a></li>
<li><a href='http://brettterpstra.com/the-second-marked-giveaway/' rel='bookmark' title='The second Marked giveaway!'>The second Marked giveaway!</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/marked-1-3-2-in-review/">Marked 1.3.2 in review</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/marked-1-3-2-in-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The second Marked giveaway!</title>
		<link>http://brettterpstra.com/the-second-marked-giveaway/</link>
		<comments>http://brettterpstra.com/the-second-marked-giveaway/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 14:00:55 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[marked]]></category>
		<category><![CDATA[multimarkdown]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3255</guid>
		<description><![CDATA[<p>Following up on the 50% off Marked sale over the weekend, I’m putting three more Marked promo codes up for grabs. Marked is my own MultiMarkdown preview app which works with any text editor to provide an updated preview every time you save your file. There’s a new version of Marked on the horizon with a few new features, and&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/the-second-marked-giveaway/">The second Marked giveaway!</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/newmarkedlogo.png?9d7bd4" class="alignright" width="122" height="140" />Following up on the 50% off Marked sale over the weekend, I’m putting three more <a href="http://markedapp.com">Marked</a> promo codes up for grabs. Marked is my own MultiMarkdown preview app which works with any text editor to provide an updated preview every time you save your file.</p>

<p>There’s a new version of Marked on the horizon with a few new features, and one a little down the road with built-in support for <a href="http://brettterpstra.com/marked-scripts-nvalt-evernote-marsedit-scrivener/">more applications</a> (that aren’t necessarily straight text editors). Enter for a promo code (by leaving a comment on this post) and you’ll have a chance at a free copy ($3.99). In addition to a fine app, winners will, of course, get free updates as they come out. Winners will be drawn at random from the comments on this post at noon on Saturday, December 3rd. Good luck!</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/marked-1-3-drawing-winners/' rel='bookmark' title='Marked 1.3 drawing winners'>Marked 1.3 drawing winners</a></li>
<li><a href='http://brettterpstra.com/marked-1-3-released-plus-5-free-copies/' rel='bookmark' title='Marked 1.3 released, plus 5 free copies!'>Marked 1.3 released, plus 5 free copies!</a></li>
<li><a href='http://brettterpstra.com/marked-is-on-the-mac-app-store/' rel='bookmark' title='Marked is on the Mac App Store'>Marked is on the Mac App Store</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/the-second-marked-giveaway/">The second Marked giveaway!</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/the-second-marked-giveaway/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>Mac App Giveaway: Byword</title>
		<link>http://brettterpstra.com/mac-app-giveaway-byword/</link>
		<comments>http://brettterpstra.com/mac-app-giveaway-byword/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 14:00:10 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac app store]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3282</guid>
		<description><![CDATA[<p>I’m really excited to be putting this one up: Five promo codes for Byword for Mac. It’s US $9.99 on the App Store, but leave a comment on this post and have a chance to pick up a copy for free! I’ve mentioned Byword before, and it’s one of my favorite writing tools on my Mac. It has great tools&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/mac-app-giveaway-byword/">Mac App Giveaway: Byword</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/08/byword_icon_200.jpg?9d7bd4" class="alignright" />I’m really excited to be putting this one up: Five promo codes for <a href="http://bywordapp.com/">Byword</a> for Mac. It’s US $9.99 <a href="http://itunes.apple.com/us/app/byword/id420212497?mt=12">on the App Store</a>, but <a href="#leave-a-reply">leave a comment</a> on this post and have a chance to pick up a copy for free! I’ve <a href="http://brettterpstra.com/app-review-byword/">mentioned Byword before</a>, and it’s one of my favorite writing tools on my Mac. It has great tools for Markdown writers, too, and some very handy <a href="http://brettterpstra.com/byword-for-keyboard-nerds/">keyboard shortcuts</a>.</p>

<p>Leave a comment below to be entered in the drawing. The “robot” will be randomly selecting winners from the list on Friday, December 2nd at noon. The lucky winners will be notified by email (so use a valid address on your comment). Good luck, and be sure to check out all of the <a href="http://brettterpstra.com/tag/giveaway/">other great giveaways</a> running right now!</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/mac-app-giveaway-textexpander/' rel='bookmark' title='Mac App Giveaway: TextExpander'>Mac App Giveaway: TextExpander</a></li>
<li><a href='http://brettterpstra.com/mac-app-giveaway-pdfpen/' rel='bookmark' title='Mac App Giveaway: PDFpen'>Mac App Giveaway: PDFpen</a></li>
<li><a href='http://brettterpstra.com/app-review-byword/' rel='bookmark' title='App Review: Byword'>App Review: Byword</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/mac-app-giveaway-byword/">Mac App Giveaway: Byword</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/mac-app-giveaway-byword/feed/</wfw:commentRss>
		<slash:comments>135</slash:comments>
		</item>
		<item>
		<title>Mac App Giveaway: MultiMarkdown Composer</title>
		<link>http://brettterpstra.com/mac-app-giveaway-multimarkdown-composer/</link>
		<comments>http://brettterpstra.com/mac-app-giveaway-multimarkdown-composer/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 14:00:47 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac app store]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[multimarkdown]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3290</guid>
		<description><![CDATA[<p>Continuing the very exciting Thanksgiving giveaways today I have five promo codes for Fletcher Penney’s MultiMarkdown Composer (reviewed here). It’s a text editor packed with features for editing Markdown and MultiMarkdown, including syntax highlighting, document header navigation, shortcuts for adding MultiMarkdown syntax and much more. The latest version in development includes some really exciting new features: A HUD panel shows&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/mac-app-giveaway-multimarkdown-composer/">Mac App Giveaway: MultiMarkdown Composer</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/MultiMarkdown-Composer_icon.jpg?9d7bd4" alt="MultiMarkdown Composer icon" title="MultiMarkdown Composer icon" width="250" height="250" class="alignright size-full wp-image-3292" />Continuing the very exciting Thanksgiving <a href="http://brettterpstra.com/tag/giveaway/">giveaways</a> today I have five promo codes for Fletcher Penney’s <a href="http://multimarkdown.com/">MultiMarkdown Composer</a> (<a href="http://brettterpstra.com/multimarkdown-composer-hits-the-app-store/">reviewed here</a>). It’s a text editor packed with features for editing Markdown and MultiMarkdown, including syntax highlighting, document header navigation, shortcuts for adding MultiMarkdown syntax and much more.</p>

<p>The latest version in development includes some really exciting new features:</p>

<ul>
<li>A HUD panel shows a list of labels that have been defined in your document that can be used when creating links, footnotes, citations, etc. This can be used to remind yourself of which label you used previously to define an element by reference. Another HUD panel shows word, paragraph, and character counts for your documents.</li>
<li>A group of new key commands for selecting and moving parts of your document around without using the mouse, as well as for creating and cleaning up lists automatically.</li>
<li>Composer now uses <a href="http://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html">UTIs</a> to define which documents it can open/save. This will have several behind-the-scenes benefits when it comes to saving, opening, previewing, and indexing documents for Spotlight searches.</li>
<li>Significant improvements to responsiveness when working with long documents (e.g. using the ToC to scroll).</li>
<li>Improved support for <code>font-size</code> and <code>font-family</code> in stylesheets. These will help <a href="http://brettterpstra.com/a-few-themes-for-multimarkdown-composer/">my own themes</a> work more smoothly.</li>
<li>Plenty more!</li>
</ul>

<p>Picking up a license now gets you free access to all of the new features when they’re released. Comment below for a chance at one of the five licenses (<a href="http://itunes.apple.com/us/app/multimarkdown-composer/id473566589?ls=1&amp;mt=12">App Store</a> US $9.99). Winners will be drawn at random (by the Giveaway Robot) on <strong>Thursday, December 1st at noon.</strong></p>

<p>Notification is via email, so be sure to use a valid address. It’s also helpful to use a unique name (first and last preferred, but anything to help avoid duplicates) so announcements of the winners don’t get the <em>other</em> “Rob” or “Jim” all excited, only to be disappointed when they figure out it wasn’t them.</p>

<p>There are still a few more (very exciting) giveaways coming up over the next couple of days, so keep checking back. There’s no rule against entering for all of them (once each, please, or the robot gets angry. You don’t want to see him angry), so keep at it!</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/mac-app-giveaway-pdfpen/' rel='bookmark' title='Mac App Giveaway: PDFpen'>Mac App Giveaway: PDFpen</a></li>
<li><a href='http://brettterpstra.com/marked-is-on-the-mac-app-store/' rel='bookmark' title='Marked is on the Mac App Store'>Marked is on the Mac App Store</a></li>
<li><a href='http://brettterpstra.com/break-up-your-text-documents/' rel='bookmark' title='Break up your text documents'>Break up your text documents</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/mac-app-giveaway-multimarkdown-composer/">Mac App Giveaway: MultiMarkdown Composer</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/mac-app-giveaway-multimarkdown-composer/feed/</wfw:commentRss>
		<slash:comments>95</slash:comments>
		</item>
		<item>
		<title>Get Marked: 50% off for Black Friday</title>
		<link>http://brettterpstra.com/get-marked-50-off-for-black-friday/</link>
		<comments>http://brettterpstra.com/get-marked-50-off-for-black-friday/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 06:00:25 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[marked]]></category>
		<category><![CDATA[sale]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3268</guid>
		<description><![CDATA[<p>I caved and jumped on the Black Friday bandwagon. Marked is 50% off ($1.99, was $3.99) in the App Store from Friday through Sunday. The price will jump back up on Monday, so grab it while it’s cheap! Erica Sadun asked, “is that a markdown?” Yes, it’s a markdown. Ba-dum ching. In case you haven’t seen it, Marked is my&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/get-marked-50-off-for-black-friday/">Get Marked: 50% off for Black Friday</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/black-friday-marked.jpg?9d7bd4" alt="It&#039;s funny because it&#039;s true" title="Marked Markdown" width="650" height="272" class="aligncenter size-full wp-image-3273" /></p>

<p>I caved and jumped on the Black Friday bandwagon. <a href="http://markedapp.com">Marked</a> is 50% off ($1.99, was $3.99) <a href="http://itunes.apple.com/us/app/marked/id448925439?mt=12">in the App Store</a> from Friday through Sunday. The price will jump back up on Monday, so grab it while it’s cheap!</p>

<p><a href="http://ericasadun.com/">Erica Sadun</a> asked, “is that a markdown?” Yes, it’s a markdown. Ba-dum ching.</p>

<p>In case you haven’t seen it, Marked is my app for previewing Markdown and MultiMarkdown as rendered HTML. Marked watches the file you’re editing in any text editor and updates the preview after every save. It can handle custom CSS (four built-in styles), custom processor (Textile, Wiki, GitHub flavored Markdown and more) and plenty of features especially for writers. More information on <a href="http://markedapp.com">the Marked website</a>.</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/the-second-marked-giveaway/' rel='bookmark' title='The second Marked giveaway!'>The second Marked giveaway!</a></li>
<li><a href='http://brettterpstra.com/marked-is-on-the-mac-app-store/' rel='bookmark' title='Marked is on the Mac App Store'>Marked is on the Mac App Store</a></li>
<li><a href='http://brettterpstra.com/marked-bonus-pack-fix-and-marked-1-3-progress/' rel='bookmark' title='Marked Bonus Pack fix and Marked 1.3 progress'>Marked Bonus Pack fix and Marked 1.3 progress</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/get-marked-50-off-for-black-friday/">Get Marked: 50% off for Black Friday</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/get-marked-50-off-for-black-friday/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iOS App Giveaway: WriteUp</title>
		<link>http://brettterpstra.com/ios-giveaway-writeup/</link>
		<comments>http://brettterpstra.com/ios-giveaway-writeup/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 14:00:45 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[markdown]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3248</guid>
		<description><![CDATA[<p>As part of my Thanksgiving holiday giveaways, I have five promo codes for the iOS Markdown editor, WriteUp. It’s a slick Dropbox-powered editor for both iPhone and iPad that I recently reviewed. It’s definitely worth a look if you want to edit Markdown files on the go. Leave a comment for a chance to win one of five WriteUp promo&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/ios-giveaway-writeup/">iOS App Giveaway: WriteUp</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/writeup_icon_175.jpg?9d7bd4" class="alignright" />As part of my Thanksgiving holiday giveaways, I have five promo codes for the iOS Markdown editor, <a href="http://itunes.apple.com/us/app/writeup-notes-with-dropbox/id428753315?mt=8">WriteUp</a>. It’s a slick Dropbox-powered editor for both iPhone and iPad that I <a href="http://brettterpstra.com/ios-app-review-writeup/">recently reviewed</a>. It’s definitely worth a look if you want to edit Markdown files on the go.</p>

<p>Leave a comment for a chance to win one of five WriteUp promo codes ($3.99). Winners will be drawn on Tuesday, November 29th at noon!</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/ios-app-giveaway-reading-list/' rel='bookmark' title='iOS App Giveaway: Reading List'>iOS App Giveaway: Reading List</a></li>
<li><a href='http://brettterpstra.com/mac-app-giveaway-byword/' rel='bookmark' title='Mac App Giveaway: Byword'>Mac App Giveaway: Byword</a></li>
<li><a href='http://brettterpstra.com/listary-giveaway-get-yours/' rel='bookmark' title='Listary giveaway, get yours!'>Listary giveaway, get yours!</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/ios-giveaway-writeup/">iOS App Giveaway: WriteUp</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/ios-giveaway-writeup/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
		<item>
		<title>iOS App Review: WriteUp</title>
		<link>http://brettterpstra.com/ios-app-review-writeup/</link>
		<comments>http://brettterpstra.com/ios-app-review-writeup/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 18:30:32 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[appreview]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3193</guid>
		<description><![CDATA[<p>If you’re still looking for a slick Markdown editor for iOS, there’s a new candidate up for your vote. WriteUp is a polished editor that covers the basics well. With Dropbox support and available as a universal app for both iPad and iPhone, it makes a nice addition to your all-around writing workflow. WriteUp comes with a few color styles&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/ios-app-review-writeup/">iOS App Review: WriteUp</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/writeup_icon_175.jpg?9d7bd4" class="alignright" />If you’re still looking for a slick Markdown editor for iOS, there’s a new candidate up for your vote. <a href="http://itunes.apple.com/us/app/id428753315">WriteUp</a> is a polished editor that covers the basics well. With Dropbox support and available as a universal app for both iPad and iPhone, it makes a nice addition to your all-around writing workflow.</p>

<p>WriteUp comes with a few color styles (including <a href="http://ethanschoonover.com/solarized">Solarized</a> light and dark), which work well in its full-screen editing mode. Some of the colors clash a little with the default chrome of the app, so I do wish that the brown menubars and such changed with the editor style, but the options are great to have. You can control the font and font size as well.</p>

<div style="width:480px;margin:0 auto">
<img src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/writeup_ipad_screenshot.jpeg?9d7bd4">
</div>

<p>One very nice feature that just showed up in the latest release is versioning. You can time travel between revisions of your piece and restore a version from any point in its history. You get a full preview of the text of the document in the versions window (available from the box/arrow icon), and it’s easy to traverse.</p>

<p>Dropbox support is a must these days, and WriteUp supports subfolders for organization. You can show multi-line previews in the document list, and subfolders have indicators to show how many documents they contain.</p>

<p>You can export or email both text and HTML versions just by swiping the document in the left-hand list. My workflow generally involves post-processing a document, so exporting text is ideal for me. Being able to email HTML, though, is also a requirement as it allows me to generate better-looking emails than the default email client can.</p>

<p>The auxiliary keyboard above the normal keys offers hashmarks (for headlines), asterisk (for bullet lists), hyphens, underscores and square brackets. There’s also a tab key for quick indentation. Notably, it’s missing parentheses, which would be quite helpful, but the basic tools of Markdown writing are available without having to go to a nested keyboard layout.</p>

<p>Overall, WriteUp is a great editor. It exists in a growing field with a lot of competition, so I’m hoping that new features are consistently added to help differentiate it from the competition. WriteUp is $3.99 <a href="http://itunes.apple.com/us/app/id428753315">on the App Store</a>.</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/ios-giveaway-writeup/' rel='bookmark' title='iOS App Giveaway: WriteUp'>iOS App Giveaway: WriteUp</a></li>
<li><a href='http://brettterpstra.com/ios-review-listary/' rel='bookmark' title='iOS app review: Listary'>iOS app review: Listary</a></li>
<li><a href='http://brettterpstra.com/ios-app-review-reading-list/' rel='bookmark' title='iOS App Review: Reading List'>iOS App Review: Reading List</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/ios-app-review-writeup/">iOS App Review: WriteUp</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/ios-app-review-writeup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The keys that bind: KeyBinding Madness part 2</title>
		<link>http://brettterpstra.com/the-keys-that-bind-keybinding-madness-part-2/</link>
		<comments>http://brettterpstra.com/the-keys-that-bind-keybinding-madness-part-2/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 13:30:38 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[keybindings]]></category>
		<category><![CDATA[markdown]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3169</guid>
		<description><![CDATA[<p>If you’ve poked around this blog at all, you know I dig System Services and TextExpander snippets more than is probably healthy. I have a new obsession, though, and it’s been taking up a lot of my playtime. Welcome to part two of (what is now) an ongoing series about Mac OS X Key Bindings. Originally inspired by Lauri Ranta,&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/the-keys-that-bind-keybinding-madness-part-2/">The keys that bind: KeyBinding Madness part 2</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you’ve poked around this blog at all, you know I dig <a href="http://brettterpstra.com/tag/service/">System Services</a> and <a href="http://brettterpstra.com/tag/textexpander/">TextExpander snippets</a> more than is probably healthy. I have a new obsession, though, and it’s been taking up a lot of my playtime. Welcome to part two of (what is now) an ongoing series about Mac OS X Key Bindings. Originally inspired by <a href="http://lri.me/">Lauri Ranta</a>, I’ve come to believe that system-wide keybindings for the <a href="http://www.hcs.harvard.edu/%7Ejrus/Site/Cocoa%20Text%20System.html">Cocoa Text System</a> are one of the most powerful tools available to any text nerd.</p>

<p>I’ve actually signed on to write the big picture up for <a href="http://www.macworld.com/">Macworld</a>, so I’m going just going to be sharing some of my favorites here and save the details for that post. For now, there’s an overview in my <a href="http://brettterpstra.com/keybinding-madness/">previous KeyBindings post</a>. My fully-updated DefaultKeyBindings.dict file will be available at <a href="https://github.com/ttscoff/KeyBindings">its GitHub page</a> as soon as I finish commenting and documenting. In the meantime, here’s the first of my favorites…</p>

<p><span id="more-3169"></span></p>

<h3>Command-Option-Return</h3>

<p>In some editors (nvALT, MultiMarkdown Composer, TextMate, Byword, et al), starting a Markdown list, entering a line and pressing return will give you another list item character and maintain indentation. It’s really nice when you’re outlining. This keybinding brings that joy to every other Cocoa text editor. It will find the list item delimiter (1., *, -, +) and duplicate it on the next line, with indentation intact. You can trigger it from anywhere on the line; it won’t break the line, just start a new item below. You can make one that <em>does</em> break the line and start a new list item with the part after the cursor, but this one is intended to work as is.</p>

<p>If you already have a <code>~/Library/KeyBindings/DefaultKeyBinding.dict</code> file, just drop the code below into it. If not, create that file in a text editor and add a pair of curly brackets (<code>{}</code>), then paste this code between them.</p>

<pre><code>// Command-Option-Return (Markdown list continuation)
"~@\U000D" = (  
    breakUndoCoalescing,
    moveToEndOfParagraph:,
    insertText:, "x",
    moveToBeginningOfParagraph:,
    selectWord:,
    moveRightAndModifySelection:,
    moveWordForwardAndModifySelection:,
    moveWordBackwardAndModifySelection:,
    moveLeftAndModifySelection:,
    setMark:,
    deleteToMark:,
    yank:,
    moveToEndOfParagraph:,
    deleteBackward:,
    insertNewlineIgnoringFieldEditor:,
    deleteToBeginningOfParagraph:,
    yank:,
    insertText:, " ",
    selectWord:,
    insertText:, " "
);
</code></pre>

<p>It’s spread out for readability, but you can remove the linebreaks and insert it all as one line if your DefaultKeyBindings.dict file is getting a little long.</p>

<p>Yes, there’s a reason for all of that jumping around. It looks like nonsense, but it takes advantage of the way that “move by word” (Option-left/right) works in OS X to kill double whitespace and find delimiters of varying lengths. It works pretty darn well. It’s not perfect, but it’s very, very handy. Imagine having solid Markdown editing tools in a text field in Safari. Yep, it works there.</p>

<p>Some of the extra movement in the keybinding is actually to allow my new bindings to work in the aforementioned editors that already have pairing, list continuation, etc. built in. By inserting and deleting extra spaces, I’m able (in most cases) to prevent triggering the default actions in the editor. I just wanted to be able to train my muscle memory for hotkeys as universally as possible. Note that Byword already has a shortcut on Command-Option-Enter, so if you want to use this there, you’ll need to add a new Application Shortcut for “Enable Paragraph Focus” in the Keyboard pane of System Preferences. I added the same shortcut again for “Disable Paragraph Focus” because the menu title changes, but I’m not sure that was necessary.</p>

<p>You’ll notice that for ordered lists it keeps repeating the same number. Markdown doesn’t care… a number is a number. If the first item at that level of indentation is a number, so are its following siblings. It turns it into an <code>ol</code> (ordered list) tag, and HTML handles the rest. Therefore, you don’t have to worry about numbers when you’re typing, sorting and editing your list<sup id="fnref:byword"><a href="#fn:byword" rel="footnote">1</a></sup>. However, for the sake of readability, it’s nice to have it come together in the end. I packaged up <a href="http://fletcherpenney.net/">Fletcher Penney’s</a> script from the TextMate Markdown bundle as a System Service you can run on a selected list to clean it up and fix the numbering. It turns this:</p>

<pre><code>1. But they're all '1.'!
    1. Markdown reads any digit and orders everything after when it renders
        * To be fair, it just makes an `&lt;ol&gt;` and HTML handles the rest
    1. it does make readability harder
        * at the same time, it makes editing easier
            * you don't have to keep renumbering everything if:
                1. you change the order
                1. add new items out of sequence
1. this Service fixes it in post
    * Just select your list and run it.
    * you'll love it
</code></pre>

<p>into this:</p>

<pre><code>1. But they're all '1.'!
    1. Markdown reads any digit and orders everything after when it renders
        * To be fair, it just makes an `&lt;ol&gt;` and HTML handles the rest
    2. it does make readability harder
        * at the same time, it makes editing easier
            * you don't have to keep renumbering everything if:
                1. you change the order
                2. add new items out of sequence
2. this Service fixes it in post
    * Just select your list and run it.
    * you'll love it
</code></pre>

<p>Download below and <a href="http://brettterpstra.com/howtos/install-an-os-x-system-service/">install</a>.</p>

<div class="download_desc"><p class="download-icon"><a href="http://brettterpstra.com/downloads/FixOrderedList.zip?9d7bd4" title="Download Clean up Markdown Lists (81)"><img src="http://brettterpstra.com/wp-content/images/serviceicon.jpg?9d7bd4" alt="download image for Clean up Markdown Lists" width="64" /></a><br /><a href="http://brettterpstra.com/downloads/FixOrderedList.zip?9d7bd4" title="Download Clean up Markdown Lists (81)" class="download-button">Download</a></p><p class="desc"><a href="http://brettterpstra.com/downloads/FixOrderedList.zip?9d7bd4" title="Download Clean up Markdown Lists (81)">Clean up Markdown Lists</a> — A script by Fletcher Penney, originally for the TextMate MultiMarkdown bundle, packaged as a System Service. Cleans up and re-numbers Markdown lists. <a href="">More Info</a></p></div>

<div class="footnotes">
<hr />
<ol>

<li id="fn:byword">
<p>By the way, <a href="http://bywordapp.com/">Byword</a> does an <em>amazing</em> job with automatically ordering and re-ordering lists for you as you type. Try it. <a href="#fnref:byword" rev="footnote">↩</a></p>
</li>

</ol>
</div>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/keybinding-madness/' rel='bookmark' title='KeyBinding madness'>KeyBinding madness</a></li>
<li><a href='http://brettterpstra.com/fun-with-marsedit-part-i/' rel='bookmark' title='Fun with MarsEdit, part I'>Fun with MarsEdit, part I</a></li>
<li><a href='http://brettterpstra.com/markdown-quicktags-0-7/' rel='bookmark' title='Markdown QuickTags 0.7'>Markdown QuickTags 0.7</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/the-keys-that-bind-keybinding-madness-part-2/">The keys that bind: KeyBinding Madness part 2</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/the-keys-that-bind-keybinding-madness-part-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The MindMeister Markdown Showdown</title>
		<link>http://brettterpstra.com/the-mindmeister-markdown-showdown/</link>
		<comments>http://brettterpstra.com/the-mindmeister-markdown-showdown/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 13:30:27 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[guestblogger]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[mind mapping]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3157</guid>
		<description><![CDATA[<p>Welcome Donald Curtis I’d like to welcome Donald Curtis as a guest blogger today, here to talk about a very cool script we worked on to add some Markdown love to MindMeister. It started with a DM from Donald on Twitter with a link to a GitHub gist, and after some back and forth it became a very cool (and&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/the-mindmeister-markdown-showdown/">The MindMeister Markdown Showdown</a></p>]]></description>
			<content:encoded><![CDATA[<h2>Welcome Donald Curtis</h2>

<p><em>I’d like to welcome <a href="http://milkbox.net">Donald Curtis</a> as a guest blogger today, here to talk about a very cool script we worked on to add some <a href="http://daringfireball.net/projects/markdown/">Markdown</a> love to <a href="http://www.mindmeister.com/">MindMeister</a>. It started with a DM from <a href="http://twitter.com/milkypostman">Donald on Twitter</a> with a link to a GitHub gist, and after some back and forth it became a very cool (and useful) tool. Cool enough that I really wanted to share it here. Since the script is his brainchild and almost entirely his handiwork, I thought it would be cool if Donald did the honors.</em></p>

<h3>The backstory</h3>

<p>I am nearing the end of my first semester as a professor at a small liberal arts college.  My graduate school years left me fairly detached from some of the topics I learned in my undergrad years and so I spend a decent amount of time simply re-aquainting myself with material.  It is easy to digest the second time around, but as I process the material I also have to think about how and what to present.</p>

<p>Mind maps have turned out to be an exceptionally useful tool for organizing the key ideas I want to cover.  And for whatever style of teaching I employ, they end up being a great in-class reference.</p>

<p>When I first started toying with the idea of incorporating mind maps, I did the search for the <em>right</em> software tool. I considered software-only solutions such as <a href="http://itunes.apple.com/us/app/ithoughtshd-mindmapping/id369020033?mt=8">iThoughts HD</a> for iOS and <a href="http://www.mythoughtsformac.com/">My Thoughts</a> for Mac, with <a href="http://db.tt/SmevY5nN">Dropbox</a> as the glue. Both of these apps <em>look</em> amazing and sometimes that’s all the motivation you need.</p>

<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/06_historyview_v4.jpg?9d7bd4" alt="" title="06_historyview_v4" width="300" height="251" class="alignright size-full wp-image-3158" />After reading <a href="http://brettterpstra.com/the-mac-and-ios-mind-mapping-app-extravaganza/">Brett’s Appstravaganza</a> I gave <a href="http://www.mindmeister.com/">MindMeister</a> a spin (because they offer a <em><a href="http://en.wikipedia.org/wiki/Gratis_versus_libre#.22Free_beer.22_vs_.22free_speech.22_distinction">free as in beer</a></em> account). By the time I started paying for the account, I was in. You can read more about the app in Brett’s discussion about mind mapping, but in summary: free trial, web-based (read: multi-platform), decent iOS app, looks good, and roughly equivalent yearly cost to software-only solutions. The added bonus for my application is–on the occasion I have an external link to a picture or movie–MindMeister works on the lecture machines.</p>

<p>Stepping back, I assume teaching isn’t a scenario that a lot of the readership can associate with. Not to worry, mind maps are useful in a wide variety of scenarios.</p>

<p><span id="more-3157"></span></p>

<h3>The MindMeister Markdown Showdown</h3>

<p>MindMeister lacks one feature to satisfy the <a href="http://daringfireball.net/projects/markdown/">Markdown</a> users among us: <em>export to Markdown</em>. <a href="http://brettterpstra.com/quick-tip-mindmanager-to-clean-html/">Brett recently</a> had a <a href="http://brettterpstra.com/tag/quicktip/">Quick Tip</a> that showed how to use <a href="http://www.mindjet.com/">Mindjet MindManager</a> to get a MindMeister map to HTML through <a href="http://daringfireball.net/projects/markdown/">Markdown</a>. I don’t use Mindjet and I didn’t want to really have to install another piece of software and figure out how to migrate my maps through it. After all, the approach was described as a “quick hack” so I assume if I went ahead and described it as a bit contrived–in order to make myself sound smarter–there would be no hard feelings <em>[Ed: there would not]</em>. I would never say such a thing though. It gets the job done.</p>

<p>In order to have a more elegant solution and teach myself <a href="http://www.ruby-lang.org/en/">Ruby</a>, I wrote up a small script that uses the MindMeister API to pull down maps as a markdown-formatted outline. I named the script for clarity as <code>mindmeister2md.rb</code>. With help from Brett to refine much of the output–clean up newlines, fix escaped characters, add notes, add pictures–the core script that I wrote is now very usable.</p>

<h3>Overview</h3>

<p>The script has two functions,</p>

<ul>
<li>list all your maps </li>
<li>output a map as markdown</li>
</ul>

<p>When run with no arguments, the script prints a menu of maps available for you to select:</p>

<pre><code>   Available MindMeister Maps
   ---
    1: Software                      ( 2011-10-31 04:13:58 ) [ 117882387 ]
    2: Internet Layer Protocols      ( 2011-10-27 18:10:26 ) [ 120233062 ]
    3: Network Layer                 ( 2011-10-27 16:41:09 ) [ 119115816 ]
    4: HTML                          ( 2011-10-24 17:59:28 ) [ 117882606 ]
    5: Newbie                        ( 2011-10-24 03:53:40 ) [ 119564927 ]
    6: Ethernet                      ( 2011-10-24 03:53:00 ) [ 116616227 ]
    7: My First iPad Map             ( 2011-10-21 14:19:07 ) [ 119100256 ]
    8: My First iPhone Map           ( 2011-10-21 14:17:30 ) [ 119262965 ]
    9: Threads                       ( 2011-10-20 15:14:29 ) [ 116945908 ]
   10: Computer Hardware             ( 2011-10-12 19:24:19 ) [ 117875898 ]
   11: ACM Programming Tips          ( 2011-10-11 04:03:21 ) [ 117550509 ]
   12: Interprocess Communication    ( 2011-10-04 02:54:56 ) [ 116511362 ]
   Selection: 
</code></pre>

<p>Optionally you can pass either the name of a map (case insensitive) or the map id (given in square brackets in the menu) as argument(s)<sup id="fnref:args"><a href="#fn:args" rel="footnote">1</a></sup>. Both of these would return the “My First iPad Map”,</p>

<pre><code>   ./mindmeister2md.rb my first ipad map
   ./mindmeister2md.rb 119100256
</code></pre>

<p>By default the script outputs the markdown to the screen. There is an optional command-line argument (<code>-o</code>) which will write the markdown to a file.</p>

<p>For the UNIX geeks: Only the generate markdown is sent to standard output (<code>STDOUT</code>).  For Mac users this means the ability to copy the markdown to the copy buffer:</p>

<pre><code>    ./mindmeister2md.rb my first ipad map | pbcopy
</code></pre>

<h3>Configuration</h3>

<p>There is one downside to using the MindMeister API with a script: <em>each user needs to have a <a href="https://www.mindmeister.com/account/api/">MindMeister api key and secret</a> in order to use the script</em><sup id="fnref:doritos"><a href="#fn:doritos" rel="footnote">2</a></sup>. Rather than edit the source code, the script relies on a configuration file named <code>.mindmeister2md</code> in the home directory. The file will be created automatically the first time you run the script; it will complain to you about you needing to update the configuration and specify an API key and your music being too loud.</p>

<p>The configuration file looks like this:</p>

<pre><code>  --- 
   indent: 4
   list_level: 2
   api_key: 
   secret: 
</code></pre>

<p>You get both <code>api_key</code> and <code>secret</code> from the <a href="https://www.mindmeister.com/account/api/">MindMeister api request page</a>. The other two options you can set are:</p>

<dl>
<dt><code>list_level</code></dt>
<dd>The level in the map where lists should begin. At a <code>list_level</code> of 2, the first two levels of the map tree structure are represented as markdown headings, rather than as lists. A <code>list_level</code> of 0 will mean that the map will be exported as a single giant list.</dd>

<dt><code>indent</code></dt>
<dd>specifies the number of spaces that represent a single indent in the list.</dd>
</dl>

<h3>Command Line Options</h3>

<p>Most of the configuration file can also be changed at run-time using optional command line arguments. There is also an option to simply print the maps without actually printing any of them out as well as output to a file.</p>

<p>Usage: mindmeister2md.rb [options] <map id | map name></p>

<dl>
<dt><code>-l, --list</code></dt>
<dd>List available maps and exit.</dd>

<dt><code>-i, --indent &lt;indent&gt;</code></dt>
<dd>Set number of spaces for each indent level. Like temporarily setting <code>indent</code> in the configuration file.</dd>

<dt><code>-s, --listlevel &lt;list_level&gt;</code></dt>
<dd>Set the level at which lists should start. Like temporarily setting <code>list_level</code> in the configuration file.</dd>

<dt><code>-o, --output FILE</code></dt>
<dd>Write output to FILE.</dd>

<dt><code>-h, --help</code></dt>
<dd>Print command-line argument help.</dd>
</dl>

<p>Thanks to Brett for his major contributions to the script–which actually made it useful–and for letting me send him this writeup. You can find me on <a href="http://twitter.com/milkypostman">Twitter</a>, <a href="https://github.com/milkypostman">Github</a>, and I sometimes post bad prose on <a href="http://milkbox.net">milkbox.net</a>.</p>

<p>Check out <a href="https://github.com/milkypostman/mindmeister2md">mindmeister2md on GitHub</a>, or download below.</p>

<h3>Download</h3>

<div class="download_desc"><p class="download-icon"><a href="http://brettterpstra.com/downloads/mm2md" title="Download mindmeister2md (141)"><img src="http://cdn2.brettterpstra.com/wp-content/uploads/downloads/thumbnails/2011/11/mindmeister2mdlogo.png?9d7bd4" alt="download image for mindmeister2md" width="64" /></a><br /><a href="http://brettterpstra.com/downloads/mm2md" title="Download mindmeister2md (141)" class="download-button">Download</a></p><p class="desc"><a href="http://brettterpstra.com/downloads/mm2md" title="Download mindmeister2md (141)">mindmeister2md</a> — A Ruby script by Donald Curtis (and Brett Terpstra) to turn MindMeister mind maps into Markdown outlines, complete with notes and images. <a href="http://brettterpstra.com/?p=3157">More Info</a></p></div>

<div class="footnotes">
<hr />
<ol>

<li id="fn:args">
<p>Normal arguments parsing is abused a bit as you don’t need to quote the entire map name (<code>my first ipad map</code> is actually passing 4 arguments which are concatenated together). <a href="#fnref:args" rev="footnote">↩</a></p>
</li>

<li id="fn:doritos">
<p>Since <code>mindmeister2md.rb</code> is not a compiled program and I cannot–don’t want to–give you <em>my</em> API key, you have to get your own; similar to how I feel anytime I have a bag of Doritos. <a href="#fnref:doritos" rev="footnote">↩</a></p>
</li>

</ol>
</div>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/quick-tip-mindmanager-to-clean-html/' rel='bookmark' title='Quick Tip: MindManager to (clean) HTML'>Quick Tip: MindManager to (clean) HTML</a></li>
<li><a href='http://brettterpstra.com/when-plain-text-is-wrong/' rel='bookmark' title='When plain text is wrong'>When plain text is wrong</a></li>
<li><a href='http://brettterpstra.com/the-mac-and-ios-mind-mapping-app-extravaganza/' rel='bookmark' title='The Mac and iOS mind mapping app extravaganza'>The Mac and iOS mind mapping app extravaganza</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/the-mindmeister-markdown-showdown/">The MindMeister Markdown Showdown</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/the-mindmeister-markdown-showdown/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Byword for keyboard nerds</title>
		<link>http://brettterpstra.com/byword-for-keyboard-nerds/</link>
		<comments>http://brettterpstra.com/byword-for-keyboard-nerds/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 13:30:56 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3120</guid>
		<description><![CDATA[<p>When it comes to keyboard navigation, Vim impresses the hell out of me, but TextMate keyboard shortcuts take up more of my muscle memory than any other app. I’m sure anyone who’s used any IDE for a while has their share of keyboard chops and preferences. Even in the graphics world, you are absolutely not considered a Photoshop pro until&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/byword-for-keyboard-nerds/">Byword for keyboard nerds</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/Apple-Keyboard-Header-Image.jpg?9d7bd4" alt="Post header keyboard image" title="Apple-Keyboard-Header-Image" width="650" height="200" class="aligncenter size-full wp-image-3126" /></p>

<p>When it comes to keyboard navigation, Vim impresses the hell out of me, but TextMate keyboard shortcuts take up more of my muscle memory than any other app. I’m sure anyone who’s used <em>any</em> IDE for a while has their share of keyboard chops and preferences. Even in the graphics world, you are absolutely <strong>not</strong> considered a Photoshop pro until you’ve learned at least 36 keyboard shortcuts.</p>

<p>Today, though, I want to point out a few keyboard shortcuts in a place you might not expect to find them: the plain text editing side of <a href="http://brettterpstra.com/app-review-byword/">one of my favorite</a> writing tools, <a href="http://bywordapp.com/">Byword</a>.</p>

<p><em>Note: I have a lot of <a href="http://brettterpstra.com/keybinding-madness/">custom, system-level keybindings</a> for writing Markdown, so if I say something and you try it and it’s just not there, let me know. Though not likely, I might mix up my own hacks with Byword’s actual features.</em></p>

<p><span id="more-3120"></span></p>

<h3>Byword keyboard shortcuts for fun and profit</h3>

<p>First off, there’s a very handy shortcut for increasing and decreasing the scope of a text selection. <strong>Command-Option-Up Arrow</strong> will expand your selection in both directions, selecting the closest word to the right of the caret<sup id="fnref:caret"><a href="#fn:caret" rel="footnote">1</a></sup>, or the current word if the caret is inside a word. Press it again and the sentence containing the word is selected. Unlike advanced text editors, it’s not aware of scopes, so it doesn’t stop between encompassing quotes or brackets, but for most writing purposes, this is just fine. Pressing it again will select the paragraph you’re working on. One more and you’ll select the whole document. At any point after expanding the selection, you can reduce it back to the next level with <strong>Command-Option-Down Arrow</strong>.</p>

<p>That’s super-handy, but it gets cooler.</p>

<h3>Moving and sorting</h3>

<p><em>Alternate section heading: “So much help with sorting and moving that you’ll have to buy them a 6-pack at the end of the day.” That one got a bit long.</em></p>

<p>It’s also worth pointing out the text movement shortcuts. The first handy one is <strong>Control-Command-Up/Down Arrow</strong>. This moves selected text up and down by lines. If you have a selection in the middle of a line, it will remove that selection from the line and put it above or below (depending on which arrow key you hit). You can reorganize paragraphs very easily with the first selection shortcut I mentioned and then some <strong>Control-Command-Up/Down</strong> action.</p>

<p>The real beauty of this text movement shortcut, though, is in Markdown list editing. <strong>Command-Option-Up-Up</strong> will select the full line of the list item your caret is in, and then you can use <strong>Control-Command-Up/Down</strong> to re-order items. It’s so much faster than copy/paste that it hurts just to think about doing it that way. Guess what? It works for indentation, too. You can indent and outdent with <strong>Control-Command-Left/Right</strong>. Not just lists, either. It works well on paragraphs and blockquotes, and is especially handy for tabbing a block of code (or poetry) in for Markdown formatting.</p>

<h3>More Markdown List Love</h3>

<p>Lastly, jumping back to Markdown lists for a moment… You may know <strong>Command-L</strong> is a shortcut for starting a bullet list. It will also instantly turn an existing line of text into bulleted list item, and you can run it from any point in the line without making a selection. Hitting return from the end of that line will automatically continue a list. You can also run it on any series of lines to turn every line break into a new list item all at once (blank lines will become blank list items, it doesn’t compress whitespace). You can also run it on a line that’s already a list item to remove the bullet, again without selecting anything.</p>

<p>Of course, you can do the same for numbered lists with <strong>Command–<em>Option</em>–L</strong>, same behavior across the board. Quickly create your lists–bullet, numbered or nested–reorder them with the text movement shortcuts and then you’ll come to my favorite of the list commands: <strong>Command-Shift-L</strong> converts lists between bullet and numbered.</p>

<h3>Extensive elaboration on why I love ⌘⇧L</h3>

<p>It’s not my favorite because I use it often, but because it’s one feature that I only ever see in the most well thought-out Markdown editors. <a href="http://fletcherpenney.net/">Fletcher</a> put it into the original MultiMarkdown TextMate bundle (and I expect it will be incorporated into <a href="http://multimarkdown.com/">MultiMarkdown Composer</a>, eventually).</p>

<p>Anyway, you put the caret on any line of your list, type <strong>Command-Shift-L</strong> and every list item at that level gets toggled between numbered and bulleted. It’s smart, too. If you’re operating on an indented line that’s part of a nested list, it will only affect the items in that section of the list. If you run it on a root-level item, it won’t affect any sub-lists, only converting the root items.</p>

<p>Additionally, <strong>Command-Shift-L</strong> re-sequences the numbers when converting to numerical format, making it a breeze to re-build your lists after doing some of that speedy sorting I was talking about earlier. It also comes in handy when creating the list: you start a bulleted list, and then <strong>Control-Command-Right</strong> to indent the list item and hit <strong>Command-Shift-L</strong> to switch to numbers, and when you finish the nested list, outdenting and switching back to bullets is two key-combinations away.</p>

<p>When it toggles the type, it intelligently handles converting mismatches, too, turning a mix of numbers and asterisks first into a properly ordered numbered list and then toggles the whole thing to bullets on a repeat keypress.</p>

<p>That was a whole section about one keyboard shortcut, sorry. I just have a strong appreciation for really thoughtful developers and features like this<sup id="fnref:nvalt"><a href="#fn:nvalt" rel="footnote">2</a></sup>. There are more keyboard shortcuts in Byword, just browse through the menu system!</p>

<h3>I love you, man</h3>

<div id="attachment_3124" class="wp-caption alignright" style="width: 340px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><img src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/11/How-I-roll.jpg?9d7bd4" alt="Dock screenshot" title="How I roll" width="330" height="119" class="size-full wp-image-3124" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">These are a few of my favorite things</p></div>

<p>I know it sounds like I’m drunk now, screaming “man, I love you guys” at mere acquaintances, but I assure you I’m simply impressed enough to have to blabber on for a while.</p>

<p>I also know I’ve already <a href="http://brettterpstra.com/app-review-byword/">reviewed Byword</a>, but I’ll say this: they’ve already turned what started out as an (in my opinion) over-simplified “distraction-free” editor into a beautiful and powerful writing tool, while still maintaining its minimalist interface. It’s like the developers are hacking into my emails (and my brain) and just doing everything I’ve always wanted.</p>

<p>Keep up the awesome work, MetaClassy, you’re quickly setting the bar for Markdown editors.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:caret">
<p>I’m referring to the cursor in the text editor by its “proper” name (caret) to avoid confusion with the mouse cursor. <a href="#fnref:caret" rev="footnote">↩</a></p>
</li>

<li id="fn:nvalt">
<p>Elastic Threads has worked his butt off on a bunch of equally well-thought-out and ingenious features for nvALT. When I get my act together and finish up my part, you’ll all see what I mean. Paste a url onto a selection and turn it into a Markdown link with intelligent detection of whether it should be a reference link or an inline link? Seriously. <a href="#fnref:nvalt" rev="footnote">↩</a></p>
</li>

</ol>
</div>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/quick-tip-repeat-cocoa-text-actions-emacsvim-style/' rel='bookmark' title='Quick Tip: repeat Cocoa text actions, Emacs/Vim style'>Quick Tip: repeat Cocoa text actions, Emacs/Vim style</a></li>
<li><a href='http://brettterpstra.com/mac-app-giveaway-byword/' rel='bookmark' title='Mac App Giveaway: Byword'>Mac App Giveaway: Byword</a></li>
<li><a href='http://brettterpstra.com/a-couple-of-textmate-macros-for-markdown-lists/' rel='bookmark' title='A couple of TextMate Macros for Markdown lists'>A couple of TextMate Macros for Markdown lists</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/byword-for-keyboard-nerds/">Byword for keyboard nerds</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/byword-for-keyboard-nerds/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Marked 1.3.1, more MultiMarkdown goodies</title>
		<link>http://brettterpstra.com/marked-1-3-1-more-multimarkdown-goodies/</link>
		<comments>http://brettterpstra.com/marked-1-3-1-more-multimarkdown-goodies/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 13:00:34 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[marked]]></category>
		<category><![CDATA[multimarkdown]]></category>

		<guid isPermaLink="false">http://brettterpstra.com/?p=3027</guid>
		<description><![CDATA[<p>Just a quick note here to let you know that Marked 1.3.1 has been approved and is up for sale in the App Store. If you’re not familiar with Marked yet, check out the Marked product site (recently updated!). Marked 1.3.1 includes a few bugfixes but adds a surprising number of new features for an incremental version bump. See the&#8230;</p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/marked-1-3-1-more-multimarkdown-goodies/">Marked 1.3.1, more MultiMarkdown goodies</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://cdn2.brettterpstra.com/wp-content/uploads/2011/10/markediconnew.jpg?9d7bd4" alt="Marked&#039;s new icon" title="Marked&#039;s new icon" width="263" height="299" class="alignright size-full wp-image-3029" />Just a quick note here to let you know that Marked 1.3.1 has been approved and is up for sale in the App Store. If you’re not familiar with Marked yet, check out the <a href="http://markedapp.com">Marked product site</a> (recently updated!).</p>

<p>Marked 1.3.1 includes a few bugfixes but adds a surprising number of new features for an incremental version bump. See the <a href="http://markedapp.com/changelog/">changelog</a> for a complete list, but here are the highlights:</p>

<ul>
<li>new icon!</li>
<li>handles larger files</li>
<li>recognizes <code>CSS:</code> and <code>Base Header Level:</code> metadata</li>
<li>locates embedded scripts and includes them in the preview</li>
<li>more keyboard shortcuts </li>
<li>quick toggle for custom processor on a per-document basis.</li>
</ul>

<p>If you’re already a Marked user, the update is in the Mac App Store right now. If you’re not, and you like the Markdown, you should probably <a href="http://markedapp.com">check it out</a>.</p>
<p>Related posts:<ol>
<li><a href='http://brettterpstra.com/marked-1-3-2-is-live/' rel='bookmark' title='Marked 1.3.2 is live!'>Marked 1.3.2 is live!</a></li>
<li><a href='http://brettterpstra.com/marked-is-on-the-mac-app-store/' rel='bookmark' title='Marked is on the Mac App Store'>Marked is on the Mac App Store</a></li>
<li><a href='http://brettterpstra.com/marked-1-3-released-plus-5-free-copies/' rel='bookmark' title='Marked 1.3 released, plus 5 free copies!'>Marked 1.3 released, plus 5 free copies!</a></li>
</ol></p><p>Originally posted on <a href="http://brettterpstra.com" title="BrettTerpstra.com">BrettTerpstra.com</a> at <a href="http://brettterpstra.com/marked-1-3-1-more-multimarkdown-goodies/">Marked 1.3.1, more MultiMarkdown goodies</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettterpstra.com/marked-1-3-1-more-multimarkdown-goodies/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 36/187 queries in 0.332 seconds using xcache
Object Caching 4459/4658 objects using xcache
Content Delivery Network via cdn2.brettterpstra.com

Served from: brettterpstra.com @ 2012-02-09 17:47:34 -->
