Get me outta here!

blog.delphinus.dev

vim とか Perl な話題とか……

Menu

Skip to content
  • プライバシーポリシー
  • perl
  • Vim
  • 映画
  • 投稿一覧
  • はじめに

Author Archives

delphinus

SyntaxHighlighter でTemplate Toolkitをハイライトする その2

2010年1月27日 by delphinus

前回の状態ではTT2構文のハイライトはうまくいくものの、本来の用途である、HTML中に埋め込んだ状態ではそれが反映されなかった。それは今回使用したプラグインにおける以下の仕様のためだ。

SyntaxHighlighter for Movable Type « kwLog

  • SyntaxHighlighterのconfigurationには対応していません

よってプラグインの構文を無理矢理拡張して対応。さらにカラフルになった。

#!/usr/bin/perl
use utf8;
use strict;
use warnings;
use errors;

my $word = shift;
if ( $word =~ /orz/ ) {
    die "ズコー";
}

Continue reading →

Movable Type perl SyntaxHighlighter Leave a comment

SyntaxHighlighterでTemplate Toolkitをハイライトする

2010年1月26日 by delphinus

これは結構大変だった。前回いじったshBrushPerl.jsと同じ場所1にshBrushTT2.jsを置いても、それだけでは反映されない。次のファイルをいじる。

/mt/plugins/SyntaxHighlighter/lib/SyntaxHighlighter/Plugin.pm

# 149行目あたりに2行を追加
        'html'=>'shBrushXml',
        'xhtml'=>'shBrushXml',
        'tt' => 'shBrushTT2',
        'tt2' => 'shBrushTT2',
    );

これで後はHTMLヘッダーテンプレートに”tt2″を加えるだけだ。

<$mt:SyntaxHighlighterInclude brush="html,perl,jscript,bash,tt2,plain" theme="default"$>

肝心のshBrushTT2.jsの中身は次の通り。

Continue reading →

Movable Type SyntaxHighlighter Leave a comment

SyntaxHighlighterにハイライトしたい語句を追加する

2010年1月26日 by delphinus

Perl5.10で登場した語句や、Mooseなキーワードがハイライトされないのでそれを改良。といっても大したことはない。次のファイルをいじる。

/mt-static/plugins/SyntaxHighlighter/2.0/scripts/shBrushPerl.js

// 53行目あたり
'undef unlink unpack ... ' +
'say';
// 59行目あたり
'require return sub ... ' +
'try catch with using otherwise finally given when state BEGIN END ' +
'extends requires has';

後は必要なときに付け足していこう。

Movable Type SyntaxHighlighter Leave a comment

$c->uri_for_actionの引数

2010年1月25日 by delphinus

やっと理解できたのでメモ。uri_for_actionはドキュメントによると次のような構文になる。

$c->uri_for_action( $path, \@captures?, @args?, \%query_values? )

この“\@captures”と“@args”がそれぞれアトリビュートの“CaptureArgs”、“Args”に対応する。

例として、次のようなチェーンドアクションを考える。ユーザー情報を編集するようなページを想定している。

Continue reading →

catalyst perl Leave a comment

Image::Magickのインストール@Mac OS X

2010年1月24日 by delphinus

Movable Type の必要モジュールのうち、Image::Magick がなかなか入らなかった。結局これが一番手っ取り早いみたい。

Installing ImageMagick on OSX (Global Moxie)
http://globalmoxie.com/blog/imagemagick-install-osx.shtml

長々と書いてあるが、真ん中のこれでうまくいった。-no_x11 じゃなくて、+no_x11 でした。4 ヶ月も経って気づいたorz

$ sudo port install ImageMagick +no_x11 +perl

Image-Magick 本体と、Perl のバージョンが合わないから云々が理由だった由。

Mac Movable Type perl Leave a comment

use errors; のススメ

2010年1月24日 by delphinus

Perlでのエラー処理として一番初めに思いつくのがeval〜if。

#!/usr/bin/perl
eval {
    print 1 / 0;
};
if ( $@ ) {
    die "ouch! : $@";
}
# 実行すると
# ouch! : Illegal division by zero at 何たら
# と表示される。

これはお世辞にもエレガントとはいえない構文なのでいろんな代替策が作られている。

Continue reading →

perl Leave a comment

iTunesライブラリの危機

2010年1月24日 by delphinus

朝起きて充電がてらiPhoneの同期を始めたらエラい目にあった。iTunesを眺めてたらみるみるうちに音楽とアプリが消えていく! 慌てて同期を中止したが、見てみると全ての音楽に「!」マーク(リンク切れのサイン)がついている。

僕の環境ではiTunes Library自体はHDDにおいて、iTunes Media自体はNAS上にある。どうやらそれが原因らしい。でも、NASはちゃんと動いてるぞ……?

実は寝ている間にNASに異常が起きて再起動してしまったようだ。そのため、今まで「/Volumes/share」にマウントされていたドライブが、勝手に「/Volumes/share-1」と名前を変えてマウントされてしまい、それでライブラリ中のファイルが見つからなかったんだと。とりあえず現在の「/Volumes/share-1」をアンマウント。そして「/Volumes/share」を削除する。

$ umount /Volumes/share-1
$ umount /Volumes/share
umount: share: not currently mounted
$ rmdir /Volumes/share

その後、もう一度NASをマウントすると万事うまくいった。iPhoneのアプリの並びがぐちゃぐちゃになってしまったが、それくらいはまあよし。

ふと見ると「ディスク1にエラー発生」と言うメールが大量に来ていた。HDD交換マンドクサ(‘A`)

Mac Leave a comment

Post navigation

← Older posts
Newer posts →

アカウントでログイン

最近の投稿

  • Moves API のための Perl モジュールを作りました 2013年9月11日
  • ロボットは僕に言った「君は人間じゃない」 2013年7月30日
  • 人は一生に何回キーを叩くんだろう? 2013年7月29日
  • 【Vim】カラースキームを切り替えるたった一つのさえたやりかた 2013年7月23日
  • 【WordPress】「前の記事」「次の記事」のリンクにサムネイルを付ける 2013年7月17日
  • 【Powerline】Git branch セグメントが Mac OS X で動かない? 2013年7月16日
  • 【Vim】80桁教信者の憂鬱 その2(ホットキーでトグル、他) 2013年6月24日
  • 【vim】80桁教信者の憂鬱 2013年6月20日
  • 【MacVim】メニューバーでアイコンが見えない! 2013年6月19日
  • 【unite.vim】set_substitute_pattern は衰退しました(その2) 2013年6月18日
Proudly powered by WordPress | Theme: Something Fishy by Caroline Moore.
blog.delphinus.dev
Proudly powered by WordPress | Theme: Something Fishy by Caroline Moore.