mobileの最近のブログ記事

メインページ
メインページ

CSS3で採用されたMedia Queriesを利用して、スマートフォン(iPhone・Android)とPCのスタイルシート(CSS)を振り分ける方法については、メリット、デメリットがありますが、デバイスのOSやUAが何であるかよりも、どのような解像度や画面の大きさでサイトを見るという観点に立てば、こちらのほうがメリットがあると思っています。

デメリットとしては、PC向けサイトをそのまま利用して、不必要なところを"display: none;で"非表示にしているだけなので、レンダリングされなくても、ソースそのものは変わらないので、スマートフォン向けにテンプレートをシンプルにしたものに比べればパケットが多くなることでしょうか。

前々回の記事では、iPhone(スマートフォン)対応テンプレート cssTouch for MT(Movable Type)のテンプレートを利用した方法を紹介しましたが、商業利用が有償であることや、もう少しプレーンなスタイルが欲しかったので、今回は、MovableType (MT4)のブログをJS・CSSのみでiPhoneに対応させる Kawanet Tech Blog/ウェブリブログで紹介されている記事ををベースに、カスタマイズしてみます。

スタイルシートの追加

スマートフォンは表示領域が小さく、pre要素とcode要素からはみ出した内容が表示されないままなので、次のスタイルを追加しました。

メインページ

Movable Typeをスマートフォンに対応させるには、CSS3で採用されたMedia Queriesと、Viewportでデバイスを振り分けるアプローチもあります。

フッタ(cremaバージョン)
フッタ(cremaバージョン)

「iPhoneテンプレートfor MT」でスマートフォン対応にという記事の続きです。

カスタマイズというほどではありませんが、カテゴリリストを追加して見ました。

メインページ(cremaバージョン)

エントリーページ(cremaバージョン)

自分自身がスマートフォンに戻したこともあって、このサイトも、crema designさんの「iPhoneテンプレートfor MT」でスマートフォン対応にしてみました。

ポイントは、iUIという、iPhone向けサイトのUIを提供するライブラリを使うことなんですが、若干、iUIに癖があるので覚書。

MT4iとMTで絵文字を使う

| コメント(1) | トラックバック(0)

最新版のMT4iにはコメント入力時に絵文字を使うことが出来ます。また、MT側でもプラグインを導入することで、携帯電話で入力したコメント欄の絵文字を表示することが出来ます。

解説とダウンロードは、

です。

ただしこのプラグインはMT5では動作しないようですが、表示させるだけなら問題はないのでインストールしましょう。

また、MT4i/3.1/インストール - t2o2-Wiki で解説の、 Encode::JP::Emoji ですが、MT4iを複数インストールしているので、MTアプリケーションディレクトリ直下のlibディレクトリに入れました。

このサイトでも利用させてもらってる、Movaable Type をモバイル対応にするCGIのMT5に対応版のbeta 3 が公開されました。バグフィックスなども進み、前の記事で書いたCGI本体のxhtml化のカスタマイズも不要なバージョンです。

素晴らしいスクリプトとアップデイトの速さに感謝です、皆さんもぜひお試しください。

このサイトでも利用させてもらってる、Movaable Type をモバイル対応にするCGIのMT5に暫定対応版のalpha16が公開されました。テンプレートのxhtml化と絵文字対応のほか、バグフィックスがなされています。

素晴らしいスクリプトに感謝です、皆さんもぜひお試しください。

今回は、テンプレートのxhtml化については開発途中版ということもあるので完全に対応しているわけではありませんので、若干CGI本体に手を入れてxhtml化を少し進めてみることにします。

手順1.トップロゴまわり

524行目以降の

# ----- トップロゴ -----
sub index_title_logo {
    my $str;
    if (( $ua eq 'i-mode' && $cfg{Logo_i} ) || ( $ua ne 'i-mode' && $cfg{Logo_o} )) {
    $str = ($ua eq 'i-mode') ? "<img src=\"$cfg{Logo_i}\">" : "<img src=\"$cfg{Logo_o}\">" ;

# ----- トップロゴ -----
sub index_title_logo {
    my $str;
    if (( $ua eq 'i-mode' && $cfg{Logo_i} ) || ( $ua ne 'i-mode' && $cfg{Logo_o} )) {
    $str = ($ua eq 'i-mode') ? "<img src=\"$cfg{Logo_i}\" alt=\"$blog_name\" />" : "<img src=\"$cfg{Logo_o}\" alt=\"$blog_name\" />" ;

とし、トップロゴ画像にalt属性を付与します。

手順2.画像にalt属性を追加

817行以降の

$caption = "<img src=\"./$cfg{MyName}?mode=thumbnail&amp;".$bid_str."img="
    .($hentities == 1 ? encode_entities($src) : $src)."\" />";


$caption = "<img src=\"./$cfg{MyName}?mode=thumbnail&amp;".$bid_str."img="
.($hentities == 1 ? encode_entities($src) : $src)."\" alt=\"$alt\" />";

とし、画像にalt属性を付与します。

手順3.bqタグ部の色変更をコメントアウト

# bqタグ部の色変更
if ($cfg{BqColor}) {
    $text=~s/<blockquote>/<blockquote><font color="$cfg{BqColor}">/ig;
    $text=~s/<\/blockquote>/<\/font><\/blockquote>/ig;
}

# bqタグ部の色変更
# BqColorをCSSで定義(2010.10.23 Hironori Shikida)
# if ($cfg{BqColor}) {
#     $text=~s/<blockquote>/<blockquote><font color="$cfg{BqColor}">/ig;
#     $text=~s/<\/blockquote>/<\/font><\/blockquote>/ig;
# }

と、bqタグ部の色変更を後述するテンプレートを変更しCSSで定義するためコメントアウトします。

さらに、3924行

$tmpl->param(BODY_VLINK_COLOR => $cfg{VlnkColor});

の次に

$tmpl->param(BODY_BQ_COLOR => $cfg{BqColor});

を付け加え、ここでBqColorを定義します。

手順4.optionタグを閉じる

3861行の

push @categories, "<option value=\"$id\"$selected>$label($count)";

push @categories, "<option value=\"$id\"$selected>$label($count)</option>";

とし、optionタグを閉じます。

手順5.header.tmplテンプレートの書き換え

12行目以降

</head>
<body bgcolor="<TMPL_VAR NAME="BODY_BG_COLOR">" text="<TMPL_VAR NAME="BODY_TEXT_COLOR">" link="<TMPL_VAR NAME="BODY_LINK_COLOR">" alink="<TMPL_VAR NAME="BODY_ALINK_COLOR">" vlink="<TMPL_VAR NAME="BODY_VLINK_COLOR">">

<style type="text/css">
body {
    background: <TMPL_VAR NAME="BODY_BG_COLOR">;
    color: <TMPL_VAR NAME="BODY_TEXT_COLOR">;
    a:link: <TMPL_VAR NAME="BODY_LINK_COLOR">;
    a:active: <TMPL_VAR NAME="BODY_ALINK_COLOR">;
    a:visited: <TMPL_VAR NAME="BODY_VLINK_COLOR">;
}
blockquote {
    background: <TMPL_VAR NAME="BODY_BG_COLOR">;
    color: <TMPL_VAR NAME="BODY_BQ_COLOR">;
}
</style>
</head>
<body>

と書き換え、CSSで色を定義します。

手順6.index.tmplテンプレートの書き換え(好みで)

3行目以降

<h1 align="center" style="color:#FF0000">
    <TMPL_VAR NAME="BLOG_LOGO">
</h1>
<div style="text-align:center">
    mobile ver.
</div>
<TMPL_IF NAME="ADMIN_MODE">
<h2 align="center" style="color:#FF0000">
    管理者モード
</h2>

<h1 style="color:#FF0000; text-align:center">
    <TMPL_VAR NAME="BLOG_LOGO">
</h1>
<div style="text-align:center">
    mobile ver.
</div>
<TMPL_IF NAME="ADMIN_MODE">
<h2 style="color:#FF0000; text-align:center">
    管理者モード
</h2>

とします。

以上、覚書でした。

MT4i version 3.1 alpha3 公開

| コメント(0) | トラックバック(0)

このサイトでも利用させてもらってる、Movaable Type をモバイル対応にするCGIのMT5に暫定対応版のalpha3が公開されました。

ロリポップ、チカッパでEncode.pmがらみのエラーがでる問題が修正されています。これで安心してMT5へ移行できます。

このサイトでも利用させてもらってる、Movaable Type をモバイル対応にするCGIが、MT5に暫定ながら対応して公開されました。

検索機能などもついてパワーアップしています。

【2009-12-28 追記】
現在は、MT4i version 3.1 alpha2 が公開されています。
【2010-01-28 追記】
ロリポップ・チカッパでは、Movaable Type 5.01でEncode.pmがらみでエラーがでるようですが、SAKURAでは動作確認できました。
【2010-03-20 追記】
MT4i3.1 alpha3 は、ロリポップ・チカッパででのEncode.pmがらみでエラーがでる問題が修正されています。これで一安心。