<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>textmate &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/textmate/</link>
	<description>Feed of posts on WordPress.com tagged "textmate"</description>
	<pubDate>Sun, 29 Nov 2009 19:16:59 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Customizing LaTeX.tmbundle]]></title>
<link>http://makukha.wordpress.com/2009/10/30/customizing-latex-tmbundle/</link>
<pubDate>Fri, 30 Oct 2009 08:50:15 +0000</pubDate>
<dc:creator>makukha</dc:creator>
<guid>http://makukha.wordpress.com/2009/10/30/customizing-latex-tmbundle/</guid>
<description><![CDATA[TextMate is a great Mac OS X plain text editor with many features and supported coding languages. La]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://macromates.com">TextMate</a> is a great Mac OS X plain text editor with many features and supported coding languages. <a href="www.latex-project.org">LaTeX</a> support (syntax highlighting, commands, code snippets, etc.) in TextMate is provided by the LaTeX Bundle, that is contained in any TextMate installation by default.</p>
<p>LaTeX bundle defines a default shortcut Command+R to show a typesetting status dialog window with some buttons for additional actions – compiling bibliography, building index, previewing, etc. I wanted to have an additional action button to run MetaPost on the file with .mp extension:</p>
<p><img src="http://makukha.wordpress.com/files/2009/10/latextmbundle.png" alt="latextmbundle" title="latextmbundle" width="596" height="63" class="aligncenter size-full wp-image-132" /></p>
<p>To get the desired functionality, LaTeX bundle should be checked out from TextMate SVN and patched. Save the patch <code>Latex.tmbundle.diff</code> (file contents is listed below) to your Desktop and run the following commands in the Terminal:</p>
<pre class="brush: bash;">
$ cd ~/Desktop
$ svn co http://svn.textmate.org/trunk/Bundles/Latex.tmbundle
$ patch -p1 -d Latex.tmbundle &#60; Latex.tmbundle.diff
</pre>
<p>To install updated LaTeX bundle into TextMate, simply double-click patched <code>Latex.tmbundle</code>, press &#8220;Update&#8221; in the dialog window. &#8220;Bundle Editor&#8221; TextMate window will be displayed, you may just close it.</p>
<p>That&#8217;s all. Your modified <code>Latex.tmbundle</code> was moved to <code>~/Library/Application&#160;Support/TextMate/Pristine&#160;Copy/Bundles</code> and installed.</p>
<h3>Latex.tmbundle.diff</h3>
<p><!--more--></p>
<p>The patch below was tested with TextMate 1.5.8, <code>Latex.tmbundle</code> SVN revision 11795 and LaTeX and MetaPost from <a href="http://www.tug.org/mactex">MacTeX-2008</a>.</p>
<pre class="brush: plain;">
diff -Naur Latex.tmbundle/Support/bin/texMate.py Latex.modified.tmbundle/Support/bin/texMate.py
--- Latex.tmbundle/Support/bin/texMate.py	2009-10-30 18:25:23.000000000 +0200
+++ Latex.modified.tmbundle/Support/bin/texMate.py	2009-10-30 18:26:29.000000000 +0200
@@ -140,6 +140,29 @@
         stat = runObj.wait()
     return stat,fatal,error,warning

+def run_metapost(mpostfile=None,texfile=None,verbose=False):
+    &#34;&#34;&#34;Determine targets and run the metapost command&#34;&#34;&#34;
+    # find all the mp files.
+    fatal,err,warn = 0,0,0
+    mpfiles = []
+    if texfile:
+        basename = texfile[:texfile.rfind('.')]
+    if mpostfile == None:
+        mpfiles = [f[:f.rfind('.mp')] for f in os.listdir('.') if re.search('\.mp$',f) &#62; 0]
+    else:
+        mpfiles = [mpostfile]
+    for f in mpfiles:
+        print '&#60;h4&#62;Processing: %s &#60;/h4&#62;' % f
+        runObj = Popen('mpost -interaction=nonstopmode -tex=latex '+shell_quote(f),
+                       shell=True,stdout=PIPE,stdin=PIPE,stderr=STDOUT,close_fds=True)
+        p = MetaPostParser(runObj.stdout,verbose)
+        f,e,w = p.parseStream()
+        fatal&#124;=f
+        err+=e
+        warn+=w
+        stat = runObj.wait()
+    return stat,fatal,err,warn
+
 def findViewerPath(viewer,pdfFile,fileName):
     &#34;&#34;&#34;Use the find_app command to ensure that the viewer is installed in the system
        For apps that support pdfsync search in pdf set up the command to go to the part of
@@ -572,6 +595,9 @@
     elif texCommand == 'index':
         texStatus, isFatal, numErrs, numWarns = run_makeindex(fileName)

+    elif texCommand == 'metapost':
+        texStatus, isFatal, numErrs, numWarns = run_metapost(texfile=fileName)
+
     elif texCommand == 'clean':
         texCommand = 'latexmk.pl -CA '
         runObj = Popen(texCommand,shell=True,stdout=PIPE,stdin=PIPE,stderr=STDOUT,close_fds=True)
@@ -661,6 +687,7 @@
         print '&#60;input type=&#34;button&#34; value=&#34;Re-Run %s&#34; onclick=&#34;runLatex(); return false&#34; /&#62;' % engine
         print '&#60;input type=&#34;button&#34; value=&#34;Run BibTeX&#34; onclick=&#34;runBibtex(); return false&#34; /&#62;'
         print '&#60;input type=&#34;button&#34; value=&#34;Run Makeindex&#34; onclick=&#34;runMakeIndex(); return false&#34; /&#62;'
+        print '&#60;input type=&#34;button&#34; value=&#34;Run MetaPost&#34; onclick=&#34;runMetaPost(); return false&#34; /&#62;'
         print '&#60;input type=&#34;button&#34; value=&#34;Clean up&#34; onclick=&#34;runClean(); return false&#34; /&#62;'
         if viewer == 'TextMate':
             pdfFile = fileNoSuffix+'.pdf'
diff -Naur Latex.tmbundle/Support/bin/texlib.js Latex.modified.tmbundle/Support/bin/texlib.js
--- Latex.tmbundle/Support/bin/texlib.js	2009-10-30 18:25:23.000000000 +0200
+++ Latex.modified.tmbundle/Support/bin/texlib.js	2009-10-30 18:26:29.000000000 +0200
@@ -49,6 +49,10 @@
     runCommand('index')
 };

+function runMetaPost(){
+    runCommand('metapost')
+};
+
 function runView(){
     runCommand('view')
 };
diff -Naur Latex.tmbundle/Support/bin/texparser.py Latex.modified.tmbundle/Support/bin/texparser.py
--- Latex.tmbundle/Support/bin/texparser.py	2009-10-30 18:25:23.000000000 +0200
+++ Latex.modified.tmbundle/Support/bin/texparser.py	2009-10-30 18:26:29.000000000 +0200
@@ -122,6 +122,20 @@
         self.done = True
         print '&#60;/div&#62;'

+class MetaPostParser(TexParser):
+    &#34;&#34;&#34;Parse and format Error Messages from metapost&#34;&#34;&#34;
+    def __init__(self, btex, verbose):
+        super(MetaPostParser, self).__init__(btex,verbose)
+        self.patterns += [
+            (re.compile('^This is MetaPost'), self.info),
+            (re.compile('^! '), self.error),
+            (re.compile('^Transcript written'), self.finishRun)
+        ]
+
+    def finishRun(self,m,line):
+        self.done = True
+        print '&#60;/div&#62;'
+
 class LaTexParser(TexParser):
     &#34;&#34;&#34;Parse Output From Latex&#34;&#34;&#34;
     def __init__(self, input_stream, verbose, fileName):
</pre>
<p>The code above should be saved as <code>Latex.tmbundle.diff</code> file.</p>
<h3>Patch details</h3>
<p>Here are some details on the code, added by <code>Latex.tmbundle.diff</code>.</p>
<p>The diff file above customizes 3 files in <code>Latex.tmbundle</code> package: <code>texparser.py</code>, <code>texMate.py</code>, and <code>texlib.js</code>, located in <code>Latex.tmbundle/Support/bin</code>.</p>
<p>According to <code>Latex.tmbundle</code> coding style, the main functionality and dialog window modifications should be placed to <code>texMate.py</code>; MetaPost output messages parser should be added to <code>texparser.py</code>; and JavaScript function, wiring <code>texMate.py</code> functionality to dialog window button, should be added to <code>texlib.js</code> file.</p>
<h4>Messages parser: texparser.py</h4>
<p>The following code provides a very simple MetaPost error messages parser:</p>
<pre class="brush: python;">
class MetaPostParser(TexParser):
    &#34;&#34;&#34;Parse and format Error Messages from metapost&#34;&#34;&#34;
    def __init__(self, btex, verbose):
        super(MetaPostParser, self).__init__(btex,verbose)
        self.patterns += [
            (re.compile('^This is MetaPost'), self.info),
            (re.compile('^! '), self.error),
            (re.compile('^Transcript written'), self.finishRun)
        ]

    def finishRun(self,m,line):
        self.done = True
        print '&#60;/div&#62;'
</pre>
<h4>Functionality and template: texMate.py</h4>
<p>A new function should be defined to determine target MetaPost .mp files (files) and run <code>mpost</code> command on them:</p>
<pre class="brush: python;">
def run_metapost(mpostfile=None,texfile=None,verbose=False):
    &#34;&#34;&#34;Determine targets and run the metapost command&#34;&#34;&#34;
    # find all the mp files.
    fatal,err,warn = 0,0,0
    mpfiles = []
    if texfile:
        basename = texfile[:texfile.rfind('.')]
    if mpostfile == None:
        mpfiles = [f[:f.rfind('.mp')] for f in os.listdir('.') if re.search('\.mp$',f) &#62; 0]
    else:
        mpfiles = [mpostfile]
    for f in mpfiles:
        print '&#60;h4&#62;Processing: %s &#60;/h4&#62;' % f
        runObj = Popen('mpost -interaction=nonstopmode -tex=latex '+shell_quote(f),
                       shell=True,stdout=PIPE,stdin=PIPE,stderr=STDOUT,close_fds=True)
        p = MetaPostParser(runObj.stdout,verbose)
        f,e,w = p.parseStream()
        fatal&#124;=f
        err+=e
        warn+=w
        stat = runObj.wait()
    return stat,fatal,err,warn
</pre>
<p>The following piece of code provides additional command-line argument <code>metapost</code>:</p>
<pre class="brush: python;">
    elif texCommand == 'metapost':
        texStatus, isFatal, numErrs, numWarns = run_metapost(texfile=fileName)
</pre>
<p>And finally, the typesetting dialog window template customization:</p>
<pre class="brush: python;">
        print '&#60;input type=&#34;button&#34; value=&#34;Run MetaPost&#34; onclick=&#34;runMetaPost(); return false&#34; /&#62;'
</pre>
<h4>JavaScript layer: texlib.js</h4>
<p>Just add a function that is invoked when the &#8220;Run MetaPost&#8221; button is pressed:</p>
<pre class="brush: jscript;">
function runMetaPost(){
    runCommand('metapost')
};
</pre>
<h4>P.S.</h4>
<p>WordPress <code>sourcecode</code> shortcodes are cool!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Double Shot #571]]></title>
<link>http://afreshcup.com/2009/10/28/double-shot-571/</link>
<pubDate>Wed, 28 Oct 2009 10:09:46 +0000</pubDate>
<dc:creator>Mike Gunderloy</dc:creator>
<guid>http://afreshcup.com/2009/10/28/double-shot-571/</guid>
<description><![CDATA[Today I think I shall be a performance expert. Funding Thinking Sphinx &#8211; Pat Allen is looking ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Today I think I shall be a performance expert. </p>
<ul>
<li><strong><a href="http://freelancing-gods.com/posts/funding_thinking_sphinx">Funding Thinking Sphinx</a></strong> &#8211; Pat Allen is looking for sponsorship to spend a month working on the Thinking Sphinx plugin. That&#8217;s a good cause.</li>
<li><strong><a href="http://mu.daaku.org/docs/index.html">Mu</a></strong> &#8211; Facebook Connect library written in JavaScript.</li>
<li><strong><a href="http://aws.typepad.com/aws/2009/10/introducing-rds-the-amazon-relational-database-service-.html">Introducing Amazon RDS</a></strong> &#8211; The Amazon Relational Database Service  &#8211; Essentially, canned MySQL servers in the Amazon cloud.</li>
<li><strong><a href="http://github.com/briancollins/nice_find">nice_find</a></strong> &#8211; Find replacement for TextMate that uses grep or git_grep on your project.</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[menggunakan template textmate(mac os) untuk notepad++]]></title>
<link>http://capeknulis.wordpress.com/2009/10/21/menggunakan-template-textmatemac-os-untuk-notepad/</link>
<pubDate>Wed, 21 Oct 2009 12:28:00 +0000</pubDate>
<dc:creator>Kribow baggins</dc:creator>
<guid>http://capeknulis.wordpress.com/2009/10/21/menggunakan-template-textmatemac-os-untuk-notepad/</guid>
<description><![CDATA[waa&#8230; baru tau klo tema notepad bawaan mac os (textmate) yang keren2 ternyata bisa di convert a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div class="separator" style="clear:both;text-align:center;"><a href="http://blog.suredev.com/wp-content/uploads/2009/10/clouds-midnight.png" style="clear:left;float:left;margin-bottom:1em;margin-right:1em;"><img border="0" height="320" src="http://blog.suredev.com/wp-content/uploads/2009/10/clouds-midnight.png" width="265" /></a></div>
<p>waa&#8230; baru tau klo tema notepad bawaan mac os (textmate) yang keren2 ternyata bisa di convert ato diubah jadi tema-nya notepad++. meskipun versi terbaru dari notepad++ udah include banyak tema , tapi buat ni kan buat sesuatu yang beda gag papa kan..<br />kamu bisa pilih&#160; tema textmate dari websitenya <a href="http://wiki.macromates.com/Themes/UserSubmittedThemes">sendiri </a>ato gugling bentar banyak banget. abiz itu donlod temanya trus&#160; copy pake editor kesukaan kamu .<br />setelah itu buka <a href="http://framework.lojcomm.com.br/tmTheme2nppStyler/">website converter</a> ini buat convert temanya  . yah donlod deh tema yang udah jadi ,masukin ke folder themes di notepad++ kamu. terakhir buka notepad++ kamu klik setting &#62; styler configuration &#62;trus pilih tema yang udah di convert tadi.<br />selesai&#8230;.<br />oiya donlod juga default fontnya textmate<br />monaco&#160;<a href="http://www.google.com/url?sa=t&#38;source=web&#38;ct=res&#38;cd=1&#38;ved=0CAoQFjAA&#38;url=http%3A%2F%2Fnew.myfonts.com%2Ffonts%2Fapple%2Fmonaco%2F&#38;ei=a_zeStvxIcmSkQWUnPkW&#38;usg=AFQjCNGfQbxDcS4WmiaKU5MV2KMQb3yyZg&#38;sig2=K0WWNO8qCP0k_WidM8Yc-g"> disini&#160;</a><br />inconsolata <a href="http://www.levien.com/type/myfonts/inconsolata.html">disini</a><br />dejavu san mono<br /><a href="http://sourceforge.net/projects/dejavu" title="DejaVu Vera Sans Mono">Disini</a>. <br />biar agak mirip tampilannya.<br />hhe&#8230;ribet banget yah mo nulis&#8230;<br />mpe disini dlu yaaa&#8230;.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[IDE or Text Editor?]]></title>
<link>http://aerowebdevelopment.wordpress.com/2009/10/13/ide-or-text-editor/</link>
<pubDate>Tue, 13 Oct 2009 14:39:00 +0000</pubDate>
<dc:creator>Mr Dude</dc:creator>
<guid>http://aerowebdevelopment.wordpress.com/2009/10/13/ide-or-text-editor/</guid>
<description><![CDATA[As most developers are I am OCD as to how my development environment environment is setup.  For exam]]></description>
<content:encoded><![CDATA[As most developers are I am OCD as to how my development environment environment is setup.  For exam]]></content:encoded>
</item>
<item>
<title><![CDATA[Installing Groovy and Grails bundles in TextMate (updated)]]></title>
<link>http://charliesquires.wordpress.com/2009/10/02/installing-groovy-and-grails-bundles-in-textmate-updated/</link>
<pubDate>Sat, 03 Oct 2009 00:28:28 +0000</pubDate>
<dc:creator>Charlie</dc:creator>
<guid>http://charliesquires.wordpress.com/2009/10/02/installing-groovy-and-grails-bundles-in-textmate-updated/</guid>
<description><![CDATA[It looks like the Groovy and Grails bundles have moved to GitHub.  Here are the new instructions for]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It looks like the Groovy and Grails bundles have moved to GitHub.  Here are the new instructions for installing the bundles.  First, you&#8217;ll need to install GitHub.  The easiest way is to use MacPorts:</p>
<p><span style="color:#008000;">sudo port selfupdate<br />
sudo port install git-core</span></p>
<p><span style="color:#000000;">You can find other GitHub installation instructions at http://help.github.com/mac-git-installation/ </span></p>
<p>Once you have GitHub installed, open Terminal and run these commands to install the TextMate bundles:</p>
<p><span style="color:#008000;">mkdir -p /Library/Application\ Support/TextMate/Bundles<br />
cd /Library/Application\ Support/TextMate/Bundles/<br />
git clone git://github.com/alkemist/groovy.tmbundle.git<br />
git clone git://github.com/alkemist/Groovy-Grails.tmbundle.git</span></p>
<p><span style="color:#008000;"><span style="color:#000000;">I hope this helps!</span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Textmate command for converting HTML back to markdown]]></title>
<link>http://someassholestolemyhandle.wordpress.com/2009/09/29/textmate-command-for-converting-html-back-to-markdown/</link>
<pubDate>Wed, 30 Sep 2009 00:06:40 +0000</pubDate>
<dc:creator>tannern</dc:creator>
<guid>http://someassholestolemyhandle.wordpress.com/2009/09/29/textmate-command-for-converting-html-back-to-markdown/</guid>
<description><![CDATA[I just had to convert about 10 html pages to markdown to update an old site to use a django admin. I]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I just had to convert about 10 html pages to markdown to update an old site to use a django admin. I probably should have just done it by hand, but I don&#8217;t have any Vyvance around so fuck that. So I wrote this command for TextMate to switch out the basic stuff then I just had to glance over them and clean up anything that wouldn&#8217;t fit quickly into a regex.</p>
<pre><code>#!/usr/bin/env python

import sys
import re

output = sys.stdin.read()

matches = [
	[r'&#60;/?strong&#62;', '**'],
	[r'&#60;/?em&#62;', '*'],
	[r'&#60;h1&#62;', '#'],
	[r'&#60;h2&#62;', '##'],
	[r'&#60;h3&#62;', '###'],
	[r'&#60;h4&#62;', '####'],
	[r'&#60;h5&#62;', '#####'],
	[r'&#60;h6&#62;', '######'],
	[r'&#60;/h\d&#62;', '\n'],
	[r'&#60;/?p&#62;', '\n'],
	[r'&#60;br/?&#62;', '  '],
	[r' {3,}', '  '],
	[r'&#60;a\s+href="([^"]+)"\s*&#62;([^&#60;]+)&#60;/a&#62;', '[\2](\1)'],
	[r'&#60;li&#62;', '- '],
	[r'&#60;/li&#62;', ''],
	[r'\n{3}', '\n\n'],
]

for match in matches:
	output = re.sub(match[0], match[1], output)

print output

</code></pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Double Shot #550]]></title>
<link>http://afreshcup.com/2009/09/29/double-shot-550/</link>
<pubDate>Tue, 29 Sep 2009 11:21:17 +0000</pubDate>
<dc:creator>Mike Gunderloy</dc:creator>
<guid>http://afreshcup.com/2009/09/29/double-shot-550/</guid>
<description><![CDATA[At the end of the day, you have to ship code. Or sleep. MySQL vs. PostgreSQL comparison &#8211; Reas]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>At the end of the day, you have to ship code. Or sleep.</p>
<ul>
<li><strong><a href="http://www.anchor.com.au/hosting/dedicated/mysql_vs_postgres">MySQL vs. PostgreSQL comparison</a></strong> &#8211; Reasonably fair, though it misses the fact that GUI tools for MySQL are generally better.</li>
<li><strong><a href="http://www.cdixon.org/?p=1090">Software patents should be abolished</a></strong> &#8211; Amen.</li>
<li><strong><a href="http://freelancing-gods.com/posts/script_nginx">script/nginx</a></strong> &#8211; Instructions for getting nginx + passenger running in your dev environment.</li>
<li><strong><a href="http://www.jetbrains.com/ruby/nextversion/index.html">RubyMine 2.0 Beta Overview</a></strong> &#8211; Some nice features coming in the next version of this IDE.</li>
<li><strong><a href="http://journal.whatisnext.co.uk/post/34522729/textmate-tip-showing-hidden-files-in-the-project">Textmate Tip: Showing hidden files in the project viewer</a></strong> &#8211; Useful for editing .gitignore, among other things.</li>
<li><strong><a href="http://wiki.github.com/brentsnook/bumps">Bumps</a></strong> &#8211; Project to extend Cucumber to work with Google Wave.</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[hi. cn u b my txtm8?]]></title>
<link>http://kumukulongmantika.wordpress.com/2009/09/29/hi-cn-u-b-my-txtm8/</link>
<pubDate>Mon, 28 Sep 2009 23:47:28 +0000</pubDate>
<dc:creator>maelfatalis</dc:creator>
<guid>http://kumukulongmantika.wordpress.com/2009/09/29/hi-cn-u-b-my-txtm8/</guid>
<description><![CDATA[Limang beses sa isang linggo akong sumasakay ng MRT. Siguro nga ay ikakamatay ko kapag nagkapower fa]]></description>
<content:encoded><![CDATA[Limang beses sa isang linggo akong sumasakay ng MRT. Siguro nga ay ikakamatay ko kapag nagkapower fa]]></content:encoded>
</item>
<item>
<title><![CDATA[Использование Textmate для публикации сообщений в блоге на wordpress.com]]></title>
<link>http://railslog.wordpress.com/2009/09/11/textmate-to-wordpress/</link>
<pubDate>Fri, 11 Sep 2009 19:47:09 +0000</pubDate>
<dc:creator>korart</dc:creator>
<guid>http://railslog.wordpress.com/2009/09/11/textmate-to-wordpress/</guid>
<description><![CDATA[Запустив этот блог, первым желанием оказалось настроить возможность публикации сообщений с помощью T]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Запустив этот блог, первым желанием оказалось настроить возможность публикации сообщений с помощью <a href="http://macromates.com/">Textmate</a>.</p>
<p><!--more--></p>
<ol>
<li>
		Нижеперечисленные настройки подойдут для любого блога построенного на <strong>WordPress</strong>
	</li>
<li>
		С помощью <code>Bundles &#62; Blogging &#62; Setup blogs</code><br />
 необходимо настроить Textmate на работу с вашим блогом:</p>
<pre>
			<code>
# List of Blogs
#
# Enter a blog name followed by the endpoint URL
#
# Blog Name      URL
  somename	     http://вашлогин.wordpress.com/xmlrpc.php
			</code>
		</pre>
<p>		Где <strong>somename</strong> &#8211; произвольное имя, которое будет использоваться для идентификации.<br />
		Если блог размещен не на wordpress.com необходимо так же откорректировать и вторую часть url.<br />
		Часть <code>/xmlrpc.php</code> не меняется.
	</li>
<li>
		Следующим шагом будет подготовка вашего сообщения. Для этого используем <code>File &#62; New From Template &#62; Blogging</code>.<br />
		На выбор предлагается 4 варианта шаблонов: Markdown, Textile, HTML, Text.<br />
		Я использую стандартный HTML, но ничто не мешает использовать другой.
	</li>
<li>
		Сгенерированный шаблон выглядит следующим образом:</p>
<pre>
			<code>
Title: untitled

Main entry text

--------------------------------------------
Main entry continued
			</code>
		</pre>
<p>		<code>Title: untitled</code> &#8211; это заголовочная часть вашего шаблона<br />
		<code>Main entry text</code> &#8211; та часть сообщения, которая будет видна на главной странице<br />
		<code>Main entry continued</code> &#8211; та часть сообщения, которая будет &#8220;под катом&#8221;
	</li>
<li>
		Поддерживаются следующие заголовки:</p>
<ul>
<li>Blog: &#8211; имя вашего блога <strong>somename</strong> (п. 2) в конфигурационном файле</li>
<li>Title: &#8211; заголовок вашего сообщения в блоге</li>
<li>Category: &#8211; имеющиеся в блоге рубрики</li>
<li>Comments: &#8211; допускаются значения On или Off устанавливающие возможность добавления комментариев</li>
<li>Date: &#8211; если значение не задано, то сообщения публикуется сразу. Указывается в формате <code>YYYY-MM-DD HH:MM:SS +/-0000</code></li>
<li>Slug: &#8211; задает ссылку на пост в блоге</li>
<li>Status: &#8211; известные мне статусы publish и draft</li>
<li>Keywords: &#8211; допускает перечисление ключевых слов через запятую. На мой взгляд в данной роли должен выступать заголовок Tags:, но он у меня почему-то не сработал</li>
</ul>
<p>		Остальным заголовкам практического применения не нашел, так что если у кого-то есть по ним информация прошу поделиться.<br />
		Все параметры кроме Title: являются необязательными.
	</li>
<li>
		Все! Ваше сообщение готово к публикации.<br />
		<code>Bundles &#62; Blogging &#62; Post to Blog</code><br />
		При первой загрузке Textmate запросит имя пользователя и пароль. В дальнейшем пароль не запрашивается.<br />
		Страница с просмотром опубликованного сообщения открывается автоматически.
	</li>
</ol>
<h2>Удачных публикаций и побольше читателей всем.</h2>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[TextMate Love]]></title>
<link>http://devender.wordpress.com/2009/09/08/textmate-love/</link>
<pubDate>Tue, 08 Sep 2009 18:25:19 +0000</pubDate>
<dc:creator>devender</dc:creator>
<guid>http://devender.wordpress.com/2009/09/08/textmate-love/</guid>
<description><![CDATA[I love TextMate, working in it feels no natural. Although I have been an avid VI user, more and more]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I love TextMate, working in it feels no natural. Although I have been an avid VI user, more and more nowadays I keep opening up TM. And it would be so nice if TM were available on Ubuntu.</p>
<p>And yeah trying to make gedit act like textmate sucks donkey b****</p>
<p>UPDATE: Ok so I tried netbeans and also ruby mine and I still think TextMate is the best.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Double Shot #534]]></title>
<link>http://afreshcup.com/2009/09/07/double-shot-534/</link>
<pubDate>Mon, 07 Sep 2009 11:21:41 +0000</pubDate>
<dc:creator>Mike Gunderloy</dc:creator>
<guid>http://afreshcup.com/2009/09/07/double-shot-534/</guid>
<description><![CDATA[I pulled the trigger and upgraded my main dev box to Snow Leopard. Took about 12 hours including som]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I pulled the trigger and upgraded my main dev box to Snow Leopard. Took about 12 hours including some false starts, but all appears to be well.</p>
<ul>
<li><strong><a href="http://growl.info/beta.html">Growl 1.2b2</a></strong> &#8211; With Snow Leopard compatibility for GrowlMail.</li>
<li><strong><a href="http://blog.matt-darby.com/posts/759-capistrano-make-sure-there-is-something-to-deploy">Capistrano: Make sure there is something to deploy</a> </strong>- Tip passed on by Matt Darby.</li>
<li><strong><a href="http://github.com/terrbear/openid_engine/tree/master">openid_engine</a></strong> &#8211; Rails engine wrapper around the ruby-openid gem.</li>
<li><strong><a href="http://codahale.com/a-lesson-in-timing-attacks/">A Lesson In Timing Attacks (or, Don&#8217;t use MessageDigest.isEquals)</a></strong> &#8211; Some background for folks who don&#8217;t understand the latest Rails security patch.</li>
<li><strong><a href="http://railsmagazine.com/issues/4">Rails Magazine #4</a></strong> &#8211; Free PDF now available.</li>
<li><strong><a href="http://www.rubyinside.com/rvm-ruby-version-manager-2347.html#comment-39480">Make rvm and TextMate play nice</a></strong> &#8211; Patch from Peter Cooper.</li>
<li><strong><a href="http://www.indev.ca/MailTagsSnowLeopard.html">MailTags for Snow Leopard</a></strong> &#8211; Compatibility release, though major new features planned for some time this fall are still a mystery.</li>
<li><strong><a href="http://github.com/edavis10/prepend_engine_views/tree/master">prepend_engine_views</a></strong> &#8211; Code to add Rails engine views ahead of those in the app, from Eric Davis.</li>
<li><strong><a href="http://www.ricroberts.com/articles/2009/09/04/snow-leopard-ruby-development-environment-checklist-gotchas">Snow Leopard Ruby Development Environment Checklist / Gotchas</a></strong> &#8211; Notes from Ric Roberts.</li>
<li><strong><a href="http://www.metaskills.net/2009/9/5/the-ultimate-os-x-snow-leopard-stack-for-rails-development-x86_64-macports-ruby-1-8-1-9-sql-server-more">The Ultimate OS X Snow Leopard Stack For Rails Development &#8211; x86_64, MacPorts, Ruby 1.8/1.9, SQL Server, SQLite3, MySQL &#38; More</a></strong> &#8211; Another install guide, this one MacPorts-centric.</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Traffic Enforcer on Cellphone while on duty ]]></title>
<link>http://vantagepoint360.wordpress.com/2009/09/01/new-traffic-management-method-text-and-go/</link>
<pubDate>Tue, 01 Sep 2009 23:02:09 +0000</pubDate>
<dc:creator>Pow</dc:creator>
<guid>http://vantagepoint360.wordpress.com/2009/09/01/new-traffic-management-method-text-and-go/</guid>
<description><![CDATA[A busy and typical afternoon in Ortigas City, Philippines People crossing the street Motorist pile u]]></description>
<content:encoded><![CDATA[A busy and typical afternoon in Ortigas City, Philippines People crossing the street Motorist pile u]]></content:encoded>
</item>
<item>
<title><![CDATA[TextMate WordPress Widget Snippet]]></title>
<link>http://markjaquith.wordpress.com/2009/08/31/textmate-wordpress-widget-snippet/</link>
<pubDate>Mon, 31 Aug 2009 04:33:26 +0000</pubDate>
<dc:creator>Mark Jaquith</dc:creator>
<guid>http://markjaquith.wordpress.com/2009/08/31/textmate-wordpress-widget-snippet/</guid>
<description><![CDATA[I love WordPress&#8217; sidebar widgets. I also despise coding them. I love how they let me offload ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I love WordPress&#8217; sidebar widgets. I also despise coding them.</p>
<p>I love how they let me offload menial management tasks directly to clients, avoiding all the &#8220;Change this word to another word!&#8221; e-mails. But every time I code them, it seems to involve 15 minutes of Googling, copy-pasting from a previous widget, and looking at documentation.</p>
<p>So I created this TextMate &#8220;snippet&#8221; to make it easier:</p>
<pre class="brush: php;">class ${1:PREFIX_Name}_Widget extends WP_Widget {
	function $1_Widget() {
		\$widget_ops = array( 'classname' =&gt; '${2:CSS class name}', 'description' =&gt; '${3:Description}' );
		\$this-&gt;WP_Widget( '$2', '${4:Title}', \$widget_ops );
	}

	function widget( \$args, \$instance ) {
		extract( \$args, EXTR_SKIP );
		echo \$before_widget;
		echo \$before_title;
		echo '$4'; // Can set this with a widget option, or omit altogether
		echo \$after_title;

		//
		// Widget display logic goes here
		//

		echo \$after_widget;
	}

	function update( \$new_instance, \$old_instance ) {
		// update logic goes here
		\$updated_instance = \$new_instance;
		return \$updated_instance;
	}

	function form( \$instance ) {
		\$instance = wp_parse_args( (array) \$instance, array( ${5:array of option_name =&gt; value pairs} ) );

		// display field names here using:
		// \$this-&gt;get_field_id('option_name') - the CSS ID
		// \$this-&gt;get_field_name('option_name') - the HTML name
		// \$instance['option_name'] - the option value
	}
}

add_action( 'widgets_init', create_function( '', &quot;register_widget('$1_Widget');&quot; ) );</pre>
<p>Just create a WordPress TextMate bundle, create a new snippet, paste in that code and give it a trigger like wpwidget. Then just type that trigger, press TAB, and you&#8217;ll be in the first field. Type, hit TAB to go to the next field. Places where you enter the same thing twice are handled&#8212;you only have to enter it once. There are some helpful comments that&#8217;ll guide you through the rest once you&#8217;ve filled out the basics. I find that with this snippet, I can code up a new widget in a couple of minutes, tops. This is definitely going to make it more likely for me to create a widget for a client instead of just cheating and editing their theme by hand myself.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Installing Groovy and Grails bundles in TextMate]]></title>
<link>http://charliesquires.wordpress.com/2009/08/30/installing-groovy-and-grails-bundles-in-textmate/</link>
<pubDate>Mon, 31 Aug 2009 02:44:41 +0000</pubDate>
<dc:creator>Charlie</dc:creator>
<guid>http://charliesquires.wordpress.com/2009/08/30/installing-groovy-and-grails-bundles-in-textmate/</guid>
<description><![CDATA[These instructions are now outdated.  See http://charliesquires.wordpress.com/2009/10/02/installing-]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:left;"><span style="color:#ff0000;">These instructions are now outdated.  See <a href="http://charliesquires.wordpress.com/2009/10/02/installing-groovy-and-grails-bundles-in-textmate-updated/">http://charliesquires.wordpress.com/2009/10/02/installing-groovy-and-grails-bundles-in-textmate-updated/</a> for updated instructions. Thanks!</span></p>
<p>The Groovy website&#8217;s <a href="http://groovy.codehaus.org/TextMate" target="_blank">instructions</a> for installing the TextMate bundle are very vague.  They point you to the bundle location and link you to the <a href="http://manual.macromates.com/en/bundles" target="_blank">TextMate bundle instructions</a> (which are useful, but long when all you want to know is how to install bundles).  Here&#8217;s all you need to do to install the Groovy and Grails bundles.</p>
<p>Open Terminal and run these commands:</p>
<p><span style="color:#008000;">mkdir -p /Library/Application\ Support/TextMate/Bundles<br />
cd /Library/Application\ Support/TextMate/Bundles/<br />
svn co http://svn.textmate.org/trunk/Bundles/Groovy.tmbundle<br />
svn co http://svn.textmate.org/trunk/Bundles/Groovy%20Grails.tmbundle</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[TextMate Command - Duplicate current selected file]]></title>
<link>http://fedoraswiss.wordpress.com/2009/08/28/textmate-plugin-duplicate-current-selected-file/</link>
<pubDate>Fri, 28 Aug 2009 00:40:36 +0000</pubDate>
<dc:creator>fedoraswiss</dc:creator>
<guid>http://fedoraswiss.wordpress.com/2009/08/28/textmate-plugin-duplicate-current-selected-file/</guid>
<description><![CDATA[How to configure in TextMate Bundle Editor: Here the code: #!/usr/bin/env ruby -w require "ftools" r]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>How to configure in TextMate Bundle Editor:<br />
</strong><br />
<img src="http://prine.ch/img/tools/howtotextmateduplicate.png" alt="How to configure TextMate Duplicate plugin" /></p>
<p><strong>Here the code:</strong><br />
<code><br />
#!/usr/bin/env ruby -w</p>
<p>require "ftools"<br />
require "#{ENV['TM_SUPPORT_PATH']}/lib/textmate"</p>
<p>selected_file = ENV['TM_SELECTED_FILE']</p>
<p>splitted_filename = selected_file.split(".")<br />
extension = splitted_filename[splitted_filename.length-1];</p>
<p>new_filename = selected_file.dup<br />
pos = selected_file.length-(extension.length+1)</p>
<p>new_filename.insert(pos, "_copied")</p>
<p>File.copy(selected_file, new_filename)</p>
<p>if(File.file?(new_filename))<br />
	puts "Successfully copied the file: '${selected_file}'"<br />
else<br />
	puts "FAIL!"<br />
end</p>
<p>TextMate.rescan_project<br />
</code></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[flotsam &amp; jetsam: listing .gitignore files in the Textmate project drawer]]></title>
<link>http://programmanstalt.wordpress.com/2009/08/17/flotsam-jetsam-listing-gitignore-files-in-the-textmate-project-drawer/</link>
<pubDate>Mon, 17 Aug 2009 15:11:59 +0000</pubDate>
<dc:creator>Jan</dc:creator>
<guid>http://programmanstalt.wordpress.com/2009/08/17/flotsam-jetsam-listing-gitignore-files-in-the-textmate-project-drawer/</guid>
<description><![CDATA[Hi there! This blog has moved to http://blog.programmanstalt.de. Click here to read the article: htt]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div style="border:2px solid red;font-weight:bold;padding:5px;">Hi there! This blog has moved to <a href="http://blog.programmanstalt.de">http://blog.programmanstalt.de</a>.</p>
<p> Click here to read the article: <a href="http://blog.programmanstalt.de/articles/flotsam-jetsam-listing-gitignore-files-in-the-textmate-project-drawer/">http://blog.programmanstalt.de/articles/flotsam-jetsam-listing-gitignore-files-in-the-textmate-project-drawer/</a></p>
<p>Please update your links — thanks!</p></div>
</div>]]></content:encoded>
</item>

</channel>
</rss>
