<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>productivity on I Code It</title>
    <link>https://icodeit.org/categories/productivity/</link>
    <description>Recent content in productivity on I Code It</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Sat, 18 May 2013 00:00:00 +0000</lastBuildDate><atom:link href="https://icodeit.org/categories/productivity/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Alfred插件开发 - Sinatra</title>
      <link>https://icodeit.org/2013/05/create-a-alfred-extension-for-create-sinatra-project/</link>
      <pubDate>Sat, 18 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://icodeit.org/2013/05/create-a-alfred-extension-for-create-sinatra-project/</guid>
      <description>###Alfred简介
Alfred是Mac下的一个小工具，可以极大的提高使用计算机的效率。Alfred提供非常丰富的功能集，比如：
 基本的文件/目录查找功能 应用程序加载器 快速的搜索（google，wikipedia）  ####powerpack
Alfred本身是免费的，但是一些高级的功能，如：
 自定义扩展（非常有用） 剪贴板栈/代码片段管理（非常有用） iTunes控制 近期访过的文档  提供在powerpack中，这个功能是要收费的，不过个人觉得绝对的物超所值。这些功能可以极大的提高我对计算机的使用效率，而且剪贴板栈功能可以节省我很多的时间。
###扩展编写
经常会使用sinatra编写一些简单的Web应用程序，以用作一些showcase和应用程序的原型搭建。但是由于sinatra并不是一个框架，并不会像rails那样自动生成目录结构等，而每个sinatra应用的目录结构和文件依赖都非常相似，因此完全可以考虑将这个过程自动化。
基本思路是：
 定义一个目录结构的模板 每次开始一个sinatra工程时，将个模板目录拷贝到新的工程下 一些库依赖的下载（bundle install以及JavaScript库的下载） 在编辑器中打开这个新的目录  ####一个sinatra工程的原型
$ pwd /Users/twer/develop/templates/sinatra $ tree -a . ├── .rvmrc ├── Gemfile ├── app.rb ├── config.ru ├── public │ ├── css │ └── scripts │ ├── app.js │ └── libs └── views ####Extension shell script
# create the project folder cd ~/develop/ruby &amp;amp;&amp;amp; mkdir -p {query} &amp;amp;&amp;amp; cd {query} # cp info to folder cp -R ~/develop/templates/sinatra/ .</description>
      <content:encoded><![CDATA[<p>###Alfred简介</p>
<p><a href="http://www.alfredapp.com/">Alfred</a>是Mac下的一个小工具，可以极大的提高使用计算机的效率。Alfred提供非常丰富的功能集，比如：</p>
<ol>
<li>基本的文件/目录查找功能</li>
<li>应用程序加载器</li>
<li>快速的搜索（google，wikipedia）</li>
</ol>
<p><img loading="lazy" src="/images/2013/05/alfred-find.png" type="" alt="使用Alfred搜索"  /></p>
<p>####powerpack</p>
<p>Alfred本身是免费的，但是一些高级的功能，如：</p>
<ol>
<li>自定义扩展（<strong>非常有用</strong>）</li>
<li>剪贴板栈/代码片段管理（<strong>非常有用</strong>）</li>
<li>iTunes控制</li>
<li>近期访过的文档</li>
</ol>
<p>提供在<a href="http://www.alfredapp.com/powerpack/">powerpack</a>中，这个功能是要收费的，不过个人觉得绝对的物超所值。这些功能可以极大的提高我对计算机的使用效率，而且剪贴板栈功能可以节省我很多的时间。</p>
<p><img loading="lazy" src="/images/2013/05/alfred-clipboard.png" type="" alt="image"  /></p>
<p>###扩展编写</p>
<p>经常会使用<a href="http://www.sinatrarb.com/">sinatra</a>编写一些简单的Web应用程序，以用作一些showcase和应用程序的原型搭建。但是由于sinatra并不是一个框架，并不会像rails那样自动生成目录结构等，而每个sinatra应用的目录结构和文件依赖都非常相似，因此完全可以考虑将这个过程自动化。</p>
<p>基本思路是：</p>
<ol>
<li>定义一个目录结构的模板</li>
<li>每次开始一个sinatra工程时，将个模板目录拷贝到新的工程下</li>
<li>一些库依赖的下载（bundle install以及JavaScript库的下载）</li>
<li>在编辑器中打开这个新的目录</li>
</ol>
<p>####一个sinatra工程的原型</p>
<pre><code>$ pwd
/Users/twer/develop/templates/sinatra

$ tree -a
.
├── .rvmrc
├── Gemfile
├── app.rb
├── config.ru
├── public
│   ├── css
│   └── scripts
│       ├── app.js
│       └── libs
└── views
</code></pre><p>####Extension shell script</p>
<pre><code># create the project folder
cd ~/develop/ruby &amp;&amp; mkdir -p {query} &amp;&amp; cd {query}

# cp info to folder
cp -R ~/develop/templates/sinatra/ .

# grab jquery
curl http://code.jquery.com/jquery.js &gt; public/scripts/libs/jquery.js

# open the project
/Applications/MacVim.app/Contents/MacOS/Vim -g .
</code></pre><p><img loading="lazy" src="/images/2013/05/sinatra-ext-result.png" type="" alt="image"  /></p>
<p>执行完之后，<code>~/develop/ruby</code>下会生成一个新的目录，即<code>note</code>，这个目录中即为一个可以直接开始开发sinatra应用的工作目录了。</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
