2011年 5月 の投稿一覧

jQuery Mobile で iPhone 用のHTML作成

mod_rewiteでPC版、iPhone版ディレクトリを分ける

今回はトップページだけの手抜きiPhone対応(というか、ただやってみたかっただけ)なので、iPhoneの場合は/iphone/にリダイレクトするようにする。

.htaccess

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule ^$ /iphone/ [R=301,L]

HTTPヘッダーのユーザエージェントで判定。

jQuery Mobile用のマークアップを追加

1時間で携帯サイトをスマートフォン対応にする方法とかjQuery Mobile デモのページを参考に変更。

done.

はじめてのgithub

githubは分散型バージョン管理システムのホスティングサービスです。
今回、Cutegramというinstagramに投稿されている可愛い写真をダラ見するサイトをつくってみたので、githubに登録してみました。

アカウントの作成とgitのインストール

まずはアカウント作成ページからアカウントを作成します。

macportsでgitをインストールします。

$sudo port install git-core

windowsの場合もこちらからダウンロードできるようです。

gitの初期設定

ユーザー名、メールアドレスを登録します。

$ git config --global user.name "Firstname LASTNAME"
$ git config --global user.email example@example.com

設定情報は~/.gitconfigに保存されます。

ソースのコミット

コミットするソースファイルがあるディレクトリに移動してgit initを実行します。

$ cd cutegram
$ git init

$ ll -a
drwxr-xr-x  12 suusuke  admin   408  5 24 14:51 .git

.gitというディレクトリが出来ます。

ここで、コミットしたくないファイルがある場合は.gitignoreというファイルを作成しそこに記述します。

$ vi .gitignore
.DS_Store

ローカル環境へコミット

git addコマンドでコミットします。

$ git add .
$ git commit -m "first commit"

SSHの公開鍵・秘密鍵の作成

ssh-keygenコマンドでsshの鍵を作成します。(rsa)

$ ssh-keygen -t rsa

作成されるとルートディレクトリの.sshに公開鍵と秘密鍵が作成されます。

$ ll ~/.ssh/
-rw-------  1 suusuke  staff  1743  5 24 14:49 id_rsa
-rw-r--r--  1 suusuke  staff   397  5 24 14:39 id_rsa.pub

公開鍵(id_rsa.pub)をgithubのアカウント設定ページに設定します。(コピペ)

githubリポジトリ作成

リポジトリ作成ページからリポジトリを作成します。

作成したら、最後にcontinueのリンクをクリックします。

githubにpushする

ローカルにコミットしたソースファイルをgithubにpushします。

$ git remote add origin git@github.com:username/cutegram.git
$ git push origin master

sshfs が非常に便利 Mac編

以前、Windows編を書きましたが今度はMac編。
もういままで、ローカルで編集してアップとかしてたのが馬鹿らしくなりますね。。。

MacFuseのインストール

こちらから最新版をダウンロードしてインストールする。

MacFUSEは、ファイルシステムをより簡単に拡張できるようにするソフトウェアらしいです。

インストールが完了すると環境設定のMacFUSEの項目が追加されます。

sshfsのインストール

こちらからLeopard用のバイナリをダウンロードする。

解凍後、ファイル名を「sshfs」に変更し実行権限を付与してパスの通ったディレクトリに移動する。

$ mv ~/Desktop/sshfs-static-leopard sshfs
$ chmod +x sshfs
$ sudo mv sshfs /usr/bin/

リモートサーバーのディレクトリをマウントする

マウントするディレクトリを作成し、「sshfs ユーザー名@ホスト名:ディレクトリ名 マウント用ディレクトリ」の書式でマウントする。

$ mkdir ~/mount
$ mkdir ~/mount/serversman
$ sshfs user@suusuke.info:/ ~/mount/serversman

僕はMacでもSCPでファイルアップロードする場合、VMWareにインストールしてるWinSCPでアップしてるのでほんと楽になった。
※理由はいろいろありまして。。。

ちなみに、アンマウントは

$ umount ~/mount/serversman

です!

WordPress memo

WordPressはカスタマイズの仕方は沢山あるが故こうしたい、あーしたいって事が出来るようになるにはやっぱり経験が必要だなと思います。

カスタマイズした際に分かった事メモしときます。

ステータス「非公開」について

カスタマイズしてる最中に「非公開」にしてる投稿が、タイトルの前に「非公開:」とついて表示されることに気付きました。

あれ?間違って、PHPのソース変更しちゃったかなとデバックする事小一時間。

IEで確認したら「非公開」は表示されない。。。。?

何の事は無い管理画面にログインしてると「非公開」の投稿内容も表示されるようです。

本当に訳が分からなかった。。。

検索機能のカスタマイズ

特定のカテゴリーから検索

<form method="get" action="<?php bloginfo('url'); ?>/">
<input type="hidden" value="5" name="cat" />

特定のカテゴリーを除外して検索

<form method="get" action="<?php bloginfo('url'); ?>/">
<input type="hidden" value="-5" name="cat" />

これは便利ですね!

ページのカスタマイズ

特定のページだけ表示させたい項目が有る時

<?php if(関数): ?>
<!-- ここに表示させたい項目追加  -->
<?php endif; ?>

関数の所には「is_page(‘特定のページのID,title,slag’)」で対応できます。

特定のページ以外にも、特定のカテゴリーとかいろいろして出来ます。

if関数で条件を分岐し特定ページだけに記事・情報を表示

sshfs が非常に便利 Windows編

ローカル環境だけでは本番環境と同じ環境が作れないという事が有ると思いますが、そのような場合はVMWareなどを使って仮想化して開発環境を作っていると思います。

仮想化したサーバーのソースを修正する場合は、ちょっとしたものであればputty等で直接修正しても良いのですが、開発となるとそうはいきません。

そんな時は、仮想化したサーバーをマウントして直接ホストから変更できるようにします。

Macの場合は
sshでリモートサーバーをマウント、便利にsshfs
で対応してたのですが、Windowsでもssh経由でマウントが簡単に出来たのでその時のメモ。

といっても、インストールするのは2つだけ。
Dokan

  • Dokanライブラリ
  • Dokan SSHFS

の順でインストールすれば簡単にマウントできます。

ファイルのアップとかもエクスプローラーから簡単に出来ますので大変便利です。