ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2012年7月4日水曜日

MacにRedcarpet環境を作る(Winにも)

MacにRedcarpet環境を作る

Windows環境も作るってことで、 先日のエントリからの切り出しです。

1.MarkDown環境を作る

こちらを参考にさせて頂きました。
やったことは下記。

1.1 blueclothの場合

bluecrothをgemでインストール

sudo gem install bluecloth

1.2 redcarpetの場合

MarkDown拡張(PHP-Markdown style Extra?)であるtableが変換できない。
Tableは利用することがありそうなので必要。
BlueClothに変わるライブラリを探してみます。

で、GitHubでも利用されているRedcarpetを試して見ることにしました。
どうやら2.0以降で拡張に対応しているようです。
こちら

sudo gem install redcarpet

で、Readmeを読むとextensionsにtablesを設定すればいいとかいてあります。

redcarpet --help

で、

Usage: redcarpet [--parse-<extension>...] [--render-<extension>...] [--smarty] [<file>...]

とあるので、動作確認。

redcarpet --parse-table /Users/froggugugugu/Documents/MarkDowntest.md > ./out.html

OK.

1.3 vimの環境を整備

Bundleで追加 Markdown.vim

Bundle 'tpope/vim-markdown'--
Bundle 'tyru/open-browser.vim'--

vimrcに設定を追加

" .mdファイルタイプ指定
autocmd BufNewFile,BufRead *.md set filetype=markdown

" ====================================================================
" quickrun-vim 
" ====================================================================
let g:quickrun_config = {}
let g:quickrun_config['markdown'] = {
      \ 'outputter': 'browser',
      \ 'command': 'redcarpet',
      \ 'cmdopt': '--parse-tables'
      \ }

2.markdown.snip

こちらを参考にさせて頂きました。
で、せっかくなのでtableを追記して。

snippet     table
abbr table
    First Header | Second Header | Third Header
    :----------- | :-----------: | -----------:
    Left         | Center        | Right
    Left         | Center        | Right

windowsにRedcarpet環境を作る(解決)

windows環境も同様にしたいので、、、 Rubyを入れないといけないのですね。。。

Rubyインストール

こちらからから rubyinstaller-1.8.7-p370.exeをダウンロードしてきて、 入れます。

インストーラでインストール(Versionは) コマンドプロンプトから ruby -v でバージョンチェック。インストールされていることを確認。 gem -v でgemがインストールされている事を確認。

このまま、 gem install redcarpet

を実行するとDevkitが無いと怒られる。 ので、

RubyDevkitインストール

こちら をみてdevkit-3.4.5r3-20091110.7zをダウンロード。 解凍した構成をそのまま、上記(多分C:\Ruby187)にかぶせる。

redcarpetインストール

gem install redcarpet

2.1.1がインストールされました。

##検証 redcarpet –parse-table /Users/froggugugugu/Documents/MarkDowntest.md > ./out.html

OK..

2012年7月2日月曜日

GeekToolでデスクトップをいじる

結局、先週日曜大工もできず、 隙間でちょこちょこいじるということから インストールしてずっと放っておいたGeekToolを触ってみることにした。

なにからすりゃいいのかわからんかったけど、 @asano_yukiさんにおおまかな流れをきいてたので助かりました。 あと、「数時間持ってかれますよ。」 って言ってた意味がわかった。 これ、きりがない。 たしかに数時間持ってかれたけど、最近Macにさわれてなかったから それはそれで楽しめました。


GeekToolをインストール。あとは、、

こちらこちらを参考にさせてもらいました。 「あと、日付とかバランバランにして配置するんすよ」と教えてくれた @asano_yukiさんありがとう。

基本

追加したい要素をD&Dしてコマンドを書いて結果を出力させていきます。

壁紙

まず壁紙をー。

http://wallpaperswide.com/

フォントDL

それっぽいフォントをー。

atthewindowPRO.ttf

時間(shell)

date "+%H:%M:%S"

日付(shell)

date "+%m(%B).%d(%a).%Y"

カレンダー(shell)

cal

ネットワーク接続プロセス(shell)

lsof -P -i -n | cut -f 1 -d " " | uniq  

ユーザプロセス(shell)

ps -c -U <username> -o command,%cpu,%mem -r | head -n 20

OS情報(shell)

sw_vers

googlecalenger(shell)

*icalBuddyインストール

/usr/local/bin/icalBuddy -nc eventsToday+7 | sed -e "s/*/-/"

gmail(shell)

curl -u xxxxx@gmail.com:pass --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}'| perl -pe 's/^<title>(.*)<\/title>.*?<name>(.*?)<\/name>.*?<email>(.*?)<\/email>.*$/$2 - $1/'

で、ひとまず、 こんなかんじに落ち着きました。

groupでprivateとかつくってカレンダーとGmailはそっちに入れて 非表示にしてキャプチャとってみました。

そのながれで MarkDownのチートシートとコマンドのチートシートがあったので デスクトップ2と3にそれぞれ設定を。

宇宙もいいけど、 自分で設定するのも楽しいですね。

って随分アップするのに時間が空いたな。

2012年5月19日土曜日

Macの整理


最近、いろいろありまして、深夜に起きることが
ちょいちょいあります。
そんな時間を利用してMac環境を少し整理しておこうかと。
興味でいろいろいれてたけどようわからんので色々消してみた。
残った?というか多分これくらいしか使ってない。
のでまっさらになったらもう一度これらを入れよう。

ひとまず必要最低限のリスト

GoogleJapaneseinput:googlejapaneseinput.dmg  
Skype:Skype_5.5.0.2069.dmg  
Xcode:AppStore?  
MacPorts:MacPorts-2.0.4-10.7-Lion.dmg  
git:MacPorts
perl5:MacPorts
Subversion:Subversion-1.6.17-1_10.7.x.pkg  
SCPlugin:SCPlugin-0.8.2-SVN.1.6.9.dmg  
MAMP:MacPorts-2.0.4-10.7-Lion.dmg  
Eclipse:eclipse-jee-indigo-SR2-macosx-cocoa-x86_64.tar.gz/pleiades_1.3.3.zip  
MacVim:macvim-kaoriya-20120105.dmg  
Mou:AppStore?  
ClipMenu:ClipMenu_0.4.3.dmg  
KeyRemapforMacBook:KeyRemap4MacBook-7.5.0.pkg.zip  
DropBox:Dropbox1.2.49.dmg  
KeePassX:KeePassX-0.4.3.dmg  
CCleaner:CCMac1.00.077.dmg  
AppCleaner:AppCleaner_2.0.5.zip  
YoruFukurou:AppStore?  
Skitch:AppStore?  
GeekTool:AppStore?  
iPhoto:AppStore?  
iMovie:AppStore?  
Alfred:AppStore?  
Growl:AppStore?  
GrowlTimer:GrowlTimer.zip  
MuCommander:svn  
apache-ivy-2.3.0-rc1-bin.tar.gz  
apache-ant-1.8.3-bin.tar.gz  
VMWareFusion:buy
Avast

MacPorts のアップグレード

sudo port selfupdate  
ってやったらエラーが起きたので
sudo port upgrade installed  
した。
んだけど、エラーが起きるので
ひとまず
sudo port clean all  
sudo port selfupdate  
してみたらうまく行った。
こちらににお世話になりました。

gitのInstall

sudo port install git-core  

MacVim kaoriya環境

1.MacVim Kaoriyaをダウンロード

ここからダウンロードしてインストール。

2.$HOME配下に.vimディレクトリ生成、.vimrcファイル生成、.gvimrcファイル生成

3. vimrcファイル記述

Windows用の_vimrcを持ってきた

4. gvimrcファイル記述

Windows用の_vimrcを持ってきた。

5.各種プラギンを管理するBundleインストール

こちらを参考にさせて頂きました。
.vimフォルダにgitで引っ張ってくる
git clone git://github.com/gmarik/vundle.git  

6.Bundleで各種プラギンをインストール–

Bandleは、
Bundle 'Shougo/neocomplcache'
Bundle 'scrooloose/nerdcommenter'
Bundle 'tpope/vim-surround'
Bundle 'thinca/vim-ref'
Bundle 'thinca/vim-quickrun'
Bundle 'kana/vim-fakeclip'
Bundle 'scrooloose/nerdtree'
Bundle 'chrismetcalf/vim-yankring'
vimで:BundleInstallを。と。

7.Windows環境と共存

こちらこちらこちらを参考にさせていただきました。 誠に感謝です。ありがとうございました。
Windows環境でのsubmodule updateがうまく行かなかったため、
git rm でインデックスを削除してから
submodule add /dotfiles/vundle.gitしてwindows環境にも再度addしました。

その後のBundleInstallで[set shellslash]があるためにインストールにコケていたので
Install時はvimrcのset shellslashをコメントアウトしてインストールを実行。

これで同期ができました。

macのターミナルから、
windowsのgitbashから、

両方からvim環境を更新して最新版を保持できるようになったというわけです。
※自分でみずらかったのでMarkDown設定は別にわけることにしよう。

2012年5月5日土曜日

MBP買いました。

あ、そうそう、

ブログの順番が逆ですが、

MBPを買いました。


買ってすぐ、通電確認だけしてSSDに換装したんですが、
LionのCD作るのに間違ってLionを再度買ってしまうわ
SSDに換装したもんだからiPhotoないわ、iMovieないわ、GarageBandないわって
もう一度HDDにして購入済み選択して
またSSDに換装するわなど、、

Mac初心者っぷりが痛すぎますが、
ようやっと開発環境も少し整ってきたんではないでしょうか。

念願のMacです。




muCommanderをほんの少しだけ覗いてみました。 (Alfredも使い始めました)


ソースを見るにあたり、まずはDLしてこないといかんのです。

・ソースDL
ソースはsvnで引っ張ります。
最初は0.9.0の最新版をDLしていじったんだけど ant app 後のjarでmainがないよ~(?)とかいろいろ言われるんで、調査を断念して(しょぼいですが)0.8.5をDLして対応することにしました。Javaなんてちゃんとやったことないしね。
svn checkout https://svn.mucommander.com/mucommander/tags/release_0_8_5 mucommander

・ビルド環境
antっていうビルドツールとantでのビルド時に必要なライブラリを管理(引っ張ってきたりしてくれる)ivyってやつが必要みたいですね。

・Java..
じつはMacOSXにはすでにインストールされていた。
(右往左往しててなぜかEclipse入れちゃってるし。。。)

・antインストール
こちらからhttp://ant.apache.org/bindownload.cgi
DLします。TOPページのニュースに最新版のリリースニュースからリンクたどれるし
左メニューのDownloadからでもダウンロードサイトに行けます。
DLしたらJavaの環境に展開します。
/Library/Java/antというフォルダになるわけですね。

こちらを参考にさせて頂きました。
http://homepage.mac.com/kurusaki/iblog/C403418858/E529803029/index.html
apache-ant-1.8.3-bin.tar.gz
環境変数はzsh用に設定することになります。
~/.zshrcに
PATH=$HOME/bin:/sbin:/usr/sbin:/usr/local/sbin:/Library/Java/ant/bin:$PATH
こんなかんじでantのパスを通しておく。追記したのは「/Library/Java/ant/bin:」。

・ivyインストール
こちらからhttp://ant.apache.org/ivy/download.cgi
DLします。
展開後の ivy-2.3.0-rc1.jar ファイルを
/Library/Java/ant/lib/に設置します。
/Library/Java/ant/lib/ivy-2.3.0-rc1.jarということになるわけですね。


■ソースをビルドしてみる。
コンソールでmucommanderフォルダに移動してantでOKです。
BuildSuccessの後にmuCommanderが起動します。
さらっと動かしてみます。


■ソースをapp形式にする。
ant コマンドに appというパラメタで実行します。
つまりant appとします。
同一階層のdistにapp形式で出来上がります。
その場で起動してみても動くんですが、Mac初心者の為、
一応、Applicationフォルダに入れて起動するか確認してみました。


これで準備が整ったのでいじります。


■どこを弄ろうか

最初はkey関連でgrepかけてAction系の基底クラス部分で動く際に
フィルタすりゃ対応も楽とかおもったんだけどそれだと違ったので中止。
(キーを設定している部分の制御をちょいといじくりゃいいんだろうと思っていた)
まぁ、結果から言うともっと上っ面な対応で終わりました。

■どこを弄ろうか2
結局
「任意」/mucommander/source/com/mucommander/ui/main/table/FileTable.Java
こちらを変更しました。

で、QuickSearchクラスで実装してるんだけど
そいつはmain配下のFileTableでstart,end制御されてて
        public synchronized void keyPressed(KeyEvent e) {
内でそのあたりの制御は実装されていました。

L.1835 あたりから
                //modify SLASHの時のみ開始
                if(keyChar == KeyEvent.VK_SLASH){
                    // Start the quick search and continue to process the current key event
                    start();
                    return;
                }

よーするにスラッシュじゃないと開始しないようにしたこと。
と、

L.1902 あたりから
            //modify isActive add
            else if(isValidQuickSearchInput(e) && isActive()) {

Active状態じゃないと検索文字列に追加しないようにした。

■Versionを変えておこっと。
混乱しないようにVersionも0.8.5.1ってことにしておいた。
「任意」/mucommander/source/com/mucommander/build/mucommander/structure.xml

L.30あたりを。


ホントはね、GUI上でQuickSerchmodeのON/OFFを切り替えられる設定ができるようにするの
がいいんだろうけど、、ね。


=少し迷ったこと=======
■これは諦めた未解決問題(0.9.0)

antからWarningが出た。
http://d.hatena.ne.jp/eggtoothcroc/20100526/p1
こちらの現象。ひとまず回避。

つぎのが厄介。
どうすりゃいいか右往左往した。
mainがないっていわれるんだけど、Lancharの中にあるし。
build.xmlのなかみてみたけど、あんま関係なさそうだし。
ふつーにコンパイル実行時は起動して動くんだけどなぁ。。

Exception in thread "main" java.lang.NoClassDefFoundError: mucommander
Caused by: java.lang.ClassNotFoundException: mucommander
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

結局いろいろ調べたけど、
もういいや。
諦めました。



=今後の展開(できたらいいなぁと思うこと)====
ActionManagerで管理されたActionをキーから取得してきて
Actionのperformを実行しているのだけど、
つまり、このアクションに選択パスを渡すことさえ出来れば
他のActionと同様に実装して、内部でsvnコマンド叩いて。。
ってやればsvnコマンドを叩けるので今のだいなにより近づくんだけどね。
という話です。
あとはQuickSearchモードでnで後方への検索、Nで前方への検索
をやってみたいなぁ。。と。
多分半年くらいは触らないでしょうけど。



=Alfredについて=
QuickSilver、、Preferenceを開くと落ちるので困ってたら
@asanoさんがAlfred教えてくれました。
すごく困っていたのでかなり良いです!!こういうのいい。


実際使ってる人に聞いて動いてるの見て
ってのがいいですね。
ホント感謝です。
@flame1980さん、@asanoさん
ありがとうございました。
おしまい。

muCommanderを使ってみてます


忘れるのでメモっておこうというネタが出たので更新しておきやす。

まず、ブログを完全に放置してました。
ここ最近の4ヶ月間、いろんなことがありましたので。
いまもいろんなことは起き続けています。
が、


GWなのと、ネタができたのでブログを更新します。



muCommanderを使ってみてます。



■muCommanderを教えてもらったよ。

Macを買ってから、随分と触われてなくてモヤモヤしてたんですが。
そう言いつつも環境を整えたくてちまちまとやってました。
Finderに慣れずMacで2画面ファイラをさがしてました。
Forkliftってソフトを入れて買うかどうか悩んでたんです。

すると、、
@flame1980さんになんとまぁナイスなソフトを
教えてもらいました!

「muCommander」

です。
keybind設定ができるので
こちらはだいなファイラと同様に設定して利用しています。
keyの設定の実体は/Library/Preferences/muCommander/action_keymap.xml

にあります。

■現在のkeybind設定
現在の設定は・・・



<?xml version="1.0" encoding="UTF-8"?>
<!-- See http://trac.mucommander.com/wiki/ActionKeyMap for information on how to customize this file -->
<keymap version="0.8.5">
<action id="GoToParent" keystroke="H" alt_keystroke="LEFT"/>
<action id="MarkNextBlock"/>
<action id="Mkdir" keystroke="shift M"/>
<action id="RevealInDesktop"/>
<action id="SwitchActiveTable" keystroke="ctrl L" alt_keystroke="ctrl H"/>
<action id="CopyFilesToClipboard" keystroke="ctrl C"/>
<action id="Mkfile" keystroke="shift N"/>
<action id="AddBookmark" keystroke="shift B"/>
<action id="Rename" keystroke="R"/>
<action id="MarkNextRow" keystroke="shift J"/>
<action id="Delete" keystroke="D" alt_keystroke="DELETE"/>
<action id="MarkPreviousRow" keystroke="shift K"/>
<action id="OpenInOtherPanel" keystroke="shift EQUALS"/>
<action id="ExploreBookmarks" keystroke="meta B"/>
<action id="ToggleHiddenFiles" keystroke="alt H"/>
<action id="FocusNext"/>
<action id="SortByDate" keystroke="meta D"/>
<action id="InternalEdit" keystroke="E"/>
<action id="ShowParentFoldersQL" keystroke="UP"/>
<action id="PasteClipboardFiles"/>
<action id="SortByName" keystroke="meta S"/>
<action id="SelectNextPage" keystroke="ctrl F"/>
<action id="SelectPreviousPage" keystroke="ctrl F"/>
<action id="MinimizeWindow"/>
<action id="SelectPreviousBlock" keystroke="G"/>
<action id="SelectNextBlock" keystroke="shift G"/>
<action id="Refresh" keystroke="F5"/>
<action id="Open" keystroke="L" alt_keystroke="ENTER"/>
<action id="SelectPreviousRow" keystroke="K"/>
<action id="MarkPreviousBlock"/>
<action id="Move" keystroke="M" alt_keystroke="meta M"/>
<action id="FocusPrevious"/>
<action id="Copy" keystroke="C" alt_keystroke="meta C"/>
<action id="SelectNextRow" keystroke="J"/>
<action id="LocalCopy" keystroke="W"/>
</keymap>



こんな具合です。
hで上の階層
jkで上下
lで下へ
Ctrl+h
Ctrl+jでウィンドウの移動
Shift+~で該当フォルダを他方のウィンドウへ
と行った感じで現在のだいなふぁいらに合わせてあります。
このファイルの設定はGUIで可能です。

内部ではこのkeystrokeからidを取得して該当するActionを
取得して実行しているようですね。


で、「うーん」という感じがひとつありました。

■問題

まず、上でも書いたようにmuCommanderでのkeybindをだいなふぁいらと同じ様にしています。
で、だいなでのファイルのインクリメンタルサーチは「/」で有効としてるんです。
で、muCommanderだとkeybind自体はそれっぽく決まるんですが
このインクリメンタルサーチが常にON状態のため、
通常のキー入力でインクリメンタルサーチが走ってしまいます。
かつ、keybind優先なのでhjklとかから始まるファイルにヒットできない。。。

運用のリズムとしては
hjklでフォルダ移動やら上下移動してて、
「/」でインクリメンタルサーチのモードにして
ファイル名までジャンプして、、というのを期待してるのだけど
/入力が効いてしまうのでhogeというファイル名までジャンプしようとすると
「/hoge」とかになるし、「d」だと削除になってしまったり、
当然hjklは使えない。。。


■では、どうすればいいか?

以前Forkliftを使おうかと迷っていた際に入れていたKeyRemap4MacBookで
調整も考えたけど、影響が他にもでるのでNG。

色々調べるけど今ひとつ。
同じ悩みをもった方が対応版を提供して下さっていたけど、
0.8.4っぽいのでやめて今後の自分カスタマイズを考えると
一度ソースをのぞいてみるのも良いかと思い。。。


就寝前に数カ月ぶりに趣味の時間をとったわけです(先日のことです。。)

(続く。)

node + ejs + Socket.io のサンプル

まずい。。 一年間、一回も更新してない!!! つまり、、 趣味の時間がほぼ皆無ということの現れです。 業務と子育てに追われた一年でしたね。。。。。 危なく年をこすところだった。あぶない。なぶあい。 話を変えて。 今月初旬に 社内でちょっとしたプレゼンをする事に...