BlogTop > Archives > 2011年6月 Archive

2011年6月 Archive

« 2011年5月 | 2011年6月 | 2011年7月 »

『ネタフル』がiPhoneアプリケーションに。使ってみました

  • Posted by: maRk
  • topic
  • はてなブックマークに追加

『ネタフル』がiPhoneアプリ化されたということで、iPod touchにいれてみることにしました。

『ネタフル』というと知名度の高い個人のブログサイトであります。iPhoneアプリがリリースされたというのでお試しにつかってみることに。以下に当人による紹介記事があります。

iPod touchでも同様でApp Storeから入手できます。「IT・デジモノ記事のネタフル」という登録名のアプリなのですが「ネタフル」の検索語でもでてきます(デジモノだけだっただろうか疑問ですが)。

ヘッドラインからは最新の新着記事をチェックできます。

netafull_iphone_app01.PNG

カテゴリ一覧があって好みのジャンルの記事にたどりつくこともできるようです。

netafull_iphone_app02.PNG

閲覧だけでなくて、シェアできる機能もあります。

netafull_iphone_app03.PNG

個人のブログサイトがアプリケーションを持つ時代に(?)なってしまったのかと驚きですが、自分の視点で何が一番よかったのかというと記事更新の速度がはやいものですからRSSで未読記事の数値がすぐに加算されていくんですね。これを使えばRSSから解除しても問題なさそう。といった点です。

今月のいらんことしい(2011年6月)

今月(2011年6月)ブログのカスタマイズをしたところをまとめたエントリです

  • Evernote登録ボタン(サイトメモリー)を記事ページに設置
  • mt-search.cgiを復活させてみた

今更ながらですが、Evernoteのアプリケーションをいれてみましたので、それとともにサイトメモリーのボタンを設置してみることにしました。設置は以下のページを参考にコードをMovable Typeのものに置き換えしておこないました。

なおVicunaテンプレートの構造からそのままでは指定する範囲(id属性)が広くなってしまうので、エントリー部分をdivで新たに括ることとしました。

mt-search.cgiでタグ検索で使ってるXSearchと共存できなかったなどの理由で止めてたりしたのですが復活させてみました。が、まだテスト中で実際にAjax検索のほうから戻すのかどうかまでは未定です。

カスタマイズとは別な話ですが、今月はMovable Type 5.1正式版がリリースされましたが、それとともにセキュリティアップデートもおこなわれていました。

アップデートは4.29、4.291、4.292と合計で3回おこなわれました(もしかしてまだある?)。セキュリティ問題の修正がおこなわれているそうですのでまだなかたはおこなっておいたほうがいいでしょう。

今月のカスタマイズは以上です。以下に過去のカスタマイズ記録リストがあります

メモ:mt.Vicuna simpleにSyntaxHighlighter 3.xの設置

mt.Vicuna simple pluginテーマにSyntaxHighlighterを置いてみました。

コード表記の表示でみやすくするライブラリなのですが、mt.Vicuna simpleに設置をしてみましたので、そのときのメモとして記録しておきます。

mt.Vicuna Simpleはmt.Vicuna Simple - Movable Type Plugins and Themes Directoryから

行程の概要

大雑把な流れは以下のリストのようなものとなっています。

  • SyntaxHighlighter(version 3.x)の入手
  • 必要なファイルをアップロード
  • テンプレートモジュールの作成とインクルード
  • mt:entrybody,mt:entrymoreの改行出力の調整
  • 記事内のclass属性の変更
SyntaxHilighterの入手先:
ファイルのアップロード:

自分の場合ですが、サイトのディレクトリ下にlibフォルダを作りその下にSyntaxHighlighterフォルダ、その配下にscripts,stylesフォルダとしてアップロードしています。

  • lib
    • SyntaxHighlighter
      • scripts
      • styles

テンプレートモジュールの作成とテンプレート修正について

以降はmt.Vicunaテンプレート向けの話として記述しています。

管理上の都合でモジュールテンプレートとしてインクルードする形としました。コード内で使っている変数名は任意のものです。

具体的には専用の変数をあらかじめセットしておき、その値によりSyntaxHilighterを使えるようにするかどうかを判断して分岐させます。

ということで作成したSyntaxHighlighterという名のモジュールテンプレートは以下です。

<mt:SetVars>
Shlib=http://localhost/lib/SyntaxHighlighter/
</mt:SetVars>
<link href="<$mtvar name="Shlib"$>styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="<$mtvar name="Shlib"$>styles/shCoreDefault.css" type="text/css" rel="stylesheet" />
<script src="<$mtvar name="Shlib"$>scripts/shCore.js" type="text/javascript"></script>
<script src="<$mtvar name="Shlib"$>scripts/shAutoloader.js" type="text/javascript"></script>
<script type="text/javascript">
setTimeout ( function(){
    SyntaxHighlighter.autoloader(
         "bash                      <$mtvar name="Shlib"$>scripts/shBrushBash.js"
         ,"css                      <$mtvar name="Shlib"$>scripts/shBrushCss.js"
         ,"html xml xhtml           <$mtvar name="Shlib"$>scripts/shBrushXml.js"
         ,"js jscript javascript    <$mtvar name="Shlib"$>scripts/shBrushJScript.js"
         ,"perl pl                  <$mtvar name="Shlib"$>scripts/shBrushPerl.js"
         ,"plain                    <$mtvar name="Shlib"$>scripts/shBrushPlain.js"
         ,"php                      <$mtvar name="Shlib"$>scripts/shBrushPhp.js"
    );

SyntaxHighlighter.all();
},0);
</script>

この例ではあらかじめ変数に共通するSyntaxHighlighterのあるフォルダをセットしてmtvar(MTGetVar)で呼び出しをしています。使いたいテンプレートで階層に変化があっても困らないようにhttp://から始まるパスにしています。

Autoloaderについて簡単に触れておくと、使いたい言語のハイライトのためのJSを読み込んでくれるメソッドのようです。詳しくはよく知らなかったりします。

モジュールテンプレートをインクルード

先に示したモジュールのインクルードです。取り込み箇所は、今回はhead要素内にということにしてみました。

以下をHTMLヘッダーモジュールテンプレート内に記述します。場所はmeta要素より下ならば任意の箇所で。自分は<$MTCCLicenseRDF$>の上に記述するとしました。

<MTIf name="Shenabled" eq="1">
<mt:include module="SyntaxHighlighter" />
</MTIf>

以下を必要なアーカイブテンプレートなどの先頭のSetVarsテンプレートタグの中に追加しておきます。

Shenabled=1

MTEntryBody等の出力の修正

pre要素を使ったときに、出力で改行コードが減らされているために整形済のテキストを示せなくなるので(強制改行を使えば表現できますが)以下のようにモディファイアを取り去ります。

<MTIf tag="EntryBody" strip_linefeeds="1" trim="1">

上記の箇所を、以下のように。MTEntryMoreについても同様です。

<MTIf tag="EntryBody">

実際の利用

あとは、記事のなかのコードの箇所にコードを記述します。pre内で表示するのに、&などは文字実体参照に置き換えをします。これは面倒だというときの方法があるのですが、自分はMT記事編集画面で文字実体参照に一発変換するボタンを利用してるのでそのままの状態で使っています。

そしてその対象とする要素にclass="brush: js;"のように言語に応じてclass名を指定しておけば完了です。

ちょっと書き足りてない気はしますが、だいたいこのような形です。

住宅用火災警報器を設置してみました

  • Posted by: maRk
  • myown
  • はてなブックマークに追加

法令により住宅用火災警報器等の設置が義務づけられましたので取り付けを行ないました。

詳細等につきましては、以下のページなどを参照されることをおすすめします。

ホームセンターや家電量販店などで購入できます。けむり感知タイプと熱感知の2タイプがあります。また居住地域によって(条例により)義務づけとした設置箇所が決められていることがあるようですので、このあたりも購入前に調べておいたほうがいいでしょう。

具体的な設置方法は購入した機器の説明書に記載されています。以下設置レポートのようなものです。

用意したもの

  • 電動式ドライバー (取付け用のネジが結構な長さがあるので電動式を使うと楽です)
  • 脚立など (安定した自分の背丈で体を伸ばさずに天井まで届くもの)

設置作業

詳細は取り付けの機器の説明書に従うとします。設置作業は先月(2011年5月)に執り行いました。

まずは機器の本体を開けてバッテリーを装着します。極性がありコードの色で示されています。コネクタの向きがあわないと差し込めない構造ですので向きに注意して装着します。

  • firealarm_01.JPG

とりつけ用の部分のほうを天井に取り付けました。ちなみに壁側にも設置可能となっていまして、その場合では空調などから離すなど設置箇所に制約があるので天井の設置を選択しました。

天井・壁の取り付け側と本体側の向きがあるので裏表を間違えないようにします。

  • firealarm_02.JPG

本体部分をセットします。

  • firealarm_03.JPG

以上で取り付け完了です。

  • firealarm_04.JPG

MT:カスタムボタン:公開日の秒数を切り上げ0に設定してフォームに投げるボタン

久々のCustom Editor Button用追加ボタンです。投稿日のフォームへ秒数を00にして切り上げた状態のものをセットします。

最近公開時間の秒数を00にそろえるというのが自分のマイブームとなっています(何をやってるんだか)。ようするにきっちりと揃えたいというだけなのです。前は現在時刻をフォームにいれるボタンを使っていましたが、秒数だけ修正するのに面倒になってきたのでボタンを作ることにしました。

config.yamlファイル

name: PublishDateSetZeroSecondsButton
id: PublishDateSetZeroSecondsButton
key: PublishDateSetZeroSecondsButton
author_link: http://www.markdiary.com/
author_name: maRk
description: utility button for Custom Editor Button2 plugins
version: 0.1
#
# require Custom Editor Button 2 Plugin https://github.com/aklaswad/mt-plugin-custom-editor-button-2/
#
buttons:
    util_curtime2:
        title: Publish Date would set as zero seconds to Current Time
        image: images/now0.png
        code: |
            function ceb_util_curtime2 (text, args) {
                function zp(num) {
                    if(num < 10){num = '0' + num;}
                    return num;
                }
                var now = new Date();
                    if (zp(now.getMinutes()) < 59 ){
                        var date = '' + now.getFullYear() + '-' + zp(now.getMonth() + 1) + '-' + zp(now.getDate());
                        var time = zp(now.getHours()) + ':' + zp(now.getMinutes() + 1) + ':00';
                        document.entry_form.authored_on_date.value = date;
                        document.entry_form.authored_on_time.value = time;
                    } else if (zp(now.getHours()) != 23 && zp(now.getMinutes()) == 59) {
                        var time = zp(now.getHours()+1) + ':' +'00:00';
                        document.entry_form.authored_on_time.value = time;
                    } else { var time = zp(now.getHours()) + ':' + zp(now.getMinutes()) + ':00';
                      alert('wait few minutes');
                }
                return undefined;
            }

config.yamlは、PublishDateSetZeroSecondsButtonフォルダにいれてpluginsディレクトリへ。now0.pngは適当な画像を/mt-static/plugins/PublishDateSetZeroSecondsButton/images/.にいれるとします。

* Custom Editor Button 2プラグインが必要です

Index of all entries

BlogTop > Archives > 2011年6月 Archive

Feeds
Elsewhere

Action Streams

logo

Comment powered by DISQUS

Return to page top