mawatari.jp
ウェブエンジニアのメモ帳
  • ブログ
  • ブックマーク
  • 本棚
  • GitHub
  • プロファイル
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby
RSS
2012年12月1日

CakePHPにTwitter Bootstrapプラグインを導入する

mawatari 日記 Bootstrap, CakePHP, JSHint, LESS, Node.js, PHP, RECESS, UglifyJS 1 Comment

CakePHPに@slywalkerさんのTwitterBootstrapプラグインを導入する方法をメモしておきます。
ここでは、Twitter BootstrapプラグインをGit Submoduleとして登録し、用意されたコマンドを利用してビルドする方法を示しています。必ずしも、この方法をとる必要はありません。次の状態になれば良いので、手作業での配置でも問題ありません。

  • CakePHPのPluginディレクトリ以下にTwitter Bootstrapプラグインが配置されている
  • WEBROOT_DIRにTwitter Bootstrap関連ファイルが配置されている(CDNを利用する場合は、その限りではない)
    • css/bootstrap.css
    • css/bootstrap-responsive.css
    • img/glyphicons-halflings.png
    • img/glyphicons-halflings-white.png
    • js/bootstrap.js

ただし、繰り返し利用することがあるのであれば、環境を作っておいた方が楽だと思います。
参考リンク:GitHub – slywalker/TwitterBootstrap

環境

今回インストールした環境は以下の通りです。UnixライクなOSであれば、同様の手順で問題ないと思います。

ソフトウェアバージョン
MacOS10.7.5

nvmとNode.jsをインストールし、LESS, JSHint, RECESS, UglifyJSをインストールする

Twitter Bootstrapをコンパイルするには、NodeとNodeモジュール(LESS, JSHint, RECESS, UglifyJS)が必要になります。まずは、その環境を整えましょう。Twitter Bootstrap Extendでも、詳しく解説されています。
Node, nvm, npm の解説やインストールに関しては、以下の記事にまとめておりますので、詳しくはそちらをご覧ください。ここでは手順のみを示します。
nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る

nvmとNodeをインストールし、LESS, JSHint, RECESS, UglifyJSをインストールする
1
2
3
4
5
6
7
8
9
10
11
12
# nvmをclone
git clone git://github.com/creationix/nvm.git ~/nvm
 
# nvmを実行
. ~/nvm/nvm.sh
# 特に何も表示されません
 
# nvmでnodeをインストール
nvm install v0.8.14
 
# npmでLESS, JSHint, RECESS, UglifyJSをインストール
npm install -g less jshint recess uglify-js

CakePHPにTwitter Bootstrapプラグインを導入する

Twitter BootstrapプラグインをGit Submoduleとして登録し、プラグインのロード設定をした後、ビルドします。
ちなみに、OS X Lion (10.7.5) には、初期状態では makeが入っていませんので、ない場合は、インストールしておいてください。

MacOSにnvmとNodeをインストールし、LESS, JSHint, RECESS, UglifyJSをインストールする
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cd your_work_dir
# CakePHPをclone
git clone git://github.com/cakephp/cakephp.git
 
# Git 初期化
cd cakephp
rm -rf .git
git init
 
# TwitterBootstrapプラグインをサブモジュールとして登録
git submodule add git://github.com/slywalker/TwitterBootstrap app/Plugin/TwitterBootstrap
git submodule update --init --recursive
 
# TwitterBootstrapプラグインのロード設定
# CakePlugin::load() に TwitterBootstrap を追加、もしくは CakePlugin::loadAll()
vi app/Config/bootstrap.php
 
# Twitter Bootstrap関連ファイルをビルド(要Node)
# WEBROOT_DIRにファイルが生成される
app/Console/cake TwitterBootstrap.copy
app/Console/cake TwitterBootstrap.make

最後にレイアウトとヘルパーの設定を行います。CDNやMinifiedを使う場合は、適宜読み替えてください。

View/Layouts/default.ctp
PHP
1
2
3
4
5
6
7
    // 〜省略
    <?php
        echo $this->Html->css('bootstrap');
        echo $this->Html->css('bootstrap-responsive');
        echo $this->Html->script('bootstrap');
    ?>
    // 〜省略

app/Controller/AppController.php 34行目付近
PHP
34
35
36
37
38
39
40
41
42
43
class AppController extends Controller {
 
    public $helpers = array(
        'Session',
        'Html' => array('className' => 'TwitterBootstrap.BootstrapHtml'),
        'Form' => array('className' => 'TwitterBootstrap.BootstrapForm'),
        'Paginator' => array('className' => 'TwitterBootstrap.BootstrapPaginator'),
    );
 
}

以上で、準備完了です。
使い方に関しては、READMEや、http://{webroot}/twitter_bootstrap を参考にしてください。
ソースコードは、 app/Plugin/TwitterBootstrap/View/TwitterBootstrap/index.ctpが参考になります。

— 追記
Twitter Bootstrapプラグインを使ったサンプルアプリケーションを公開しました。メインテーマは、Searchプラグインで、Twitter Bootstrapプラグインの使い方等を解説している訳ではありませんが参考までに。
Searchプラグインを使ってCakePHPに検索を実装する

2012年11月26日

overflow時に惰性スクロールを有効にする

mawatari 日記 CSS, iOS, Tips 0 Comments

以下のようなCSSを組むと、iframe風のボックスを作ることができます。中のコンテンツがオーバーフローするときには、それをスクロールさせることができます。

高さ200pxのボックスを作り、その中身のコンテンツをスクロールできるようにする
CSS
1
2
3
4
5
#box {
    width: 100%;
    height: 200px;
    overflow: auto;
}

iPhoneやiPad等のiOSで、このボックス内でネイティブアプリのような惰性スクロール(はじくようにフリックしたときに、スルスルっとスクロールする動き)を有効にしたい場合は、以下のように -webkit-overflow-scrollingプロパティに touchを指定しましょう。

CSS
1
2
3
4
5
6
#box {
    width: 100%;
    height: 200px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

Androidでは期待通りには動かないようです。JavaScriptで実装している例をいくつか見かけました。今回は、iOSだけでよかったので、これで対応しました。以上メモです。

2012年11月14日

MacOSにRECESSとUglifyJSをインストールしたときのメモ

mawatari 日記 JavaScript, Node.js, RECESS, UglifyJS 0 Comments

nvmでNodeをインストールし、npmでRECESS, UglifyJSをインストールしました。
Node.js, nvm, npm の解説やインストールに関しては、以下の記事にまとめておりますので、詳しくはそちらをご覧ください。今回はコマンドとログのみを残しておきます。
nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る

環境

環境は以下の通りです。

ソフトウェアバージョン
MacOS10.7.5

MacOSにnvmとNode.jsをインストールし、RECESS, UglifyJSをインストールする

MacOSにnvmとNode.jsをインストールし、RECESS, UglifyJSをインストールする
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# nvmをclone
git clone git://github.com/creationix/nvm.git ~/nvm
 
# nvmを実行
. ~/nvm/nvm.sh
# 特に何も表示されません
 
# nvmでnodeをインストール
nvm install v0.8.14
 
# npmでrecessをインストール
npm install -g recess
 
# npmでuglify-jsをインストール
npm install -g uglify-js

以下の通りにインストールされました。

ソフトウェアバージョン
Node.js0.8.14
recess1.1.6
uglify-js1.3.4

RECESS, UglifyJSをMacOS 10.7.5にインストールしたときのログ

RECESS, UglifyJSをMacOS 10.7.5にインストールしたときのログ(ハイライトがコマンド)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
npm install recess -g
npm http GET https://registry.npmjs.org/recess
npm http 200 https://registry.npmjs.org/recess
npm http GET https://registry.npmjs.org/recess/-/recess-1.1.6.tgz
npm http 200 https://registry.npmjs.org/recess/-/recess-1.1.6.tgz
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/watch
npm http GET https://registry.npmjs.org/less
npm http 200 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/watch
npm http GET https://registry.npmjs.org/watch/-/watch-0.5.1.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.2.tgz
npm http 200 https://registry.npmjs.org/less
npm http GET https://registry.npmjs.org/less/-/less-1.3.1.tgz
npm http 200 https://registry.npmjs.org/watch/-/watch-0.5.1.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz
npm http 200 https://registry.npmjs.org/less/-/less-1.3.1.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.2.tgz
npm http GET https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.3.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.3.tgz
/Users/username/nvm/v0.8.14/bin/recess -> /Users/username/nvm/v0.8.14/lib/node_modules/recess/bin/recess
recess@1.1.6 /Users/username/nvm/v0.8.14/lib/node_modules/recess
├── colors@0.6.0-1
├── watch@0.5.1
├── underscore@1.4.2
├── less@1.3.1
└── nopt@2.0.0 (abbrev@1.0.3)
 
npm install uglify-js
npm http GET https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
/Users/username/nvm/v0.8.14/bin/uglifyjs -> /Users/username/nvm/v0.8.14/lib/node_modules/uglify-js/bin/uglifyjs
uglify-js@1.3.4 /Users/username/nvm/v0.8.14/lib/node_modules/uglify-js

2012年11月5日

PHPMatsuri 2012に参加してきた

mawatari 勉強会・交流会 PHP, PHPMatsuri 1 Comment

2012年11月3日(土)10時〜11月4日(日)16時という日程で、福岡で開催された “PHP Matsuri 2012” に参加してきました。30時間耐久のPHPer達のお祭りです!ブログを書くまでが勉強会ということで、早速、書きたいと思います。

目次

  • 2012年11月3日(土)10時〜
  • 2012年11月3日(土)11時〜
  • 2012年11月3日(土)12時〜
  • 2012年11月3日(土)13時〜
  • 2012年11月3日(土)14時〜23時
  • 2012年11月3日(土)23時〜25時
  • 2012年11月4日(日)01時〜10時
  • 2012年11月4日(日)10時〜16時
  • 振り返り

2012年11月3日(土)10時〜

  • 開場時間の10時に到着。PHPのイベントだけど、会場は福岡県Ruby・コンテンツ産業振興センター。
    phpmatsuri-2012-01
  • 受付。
    phpmatsuri-2012-02
  • 開場時間に来たけど、すでに結構な数の参加者の姿が。
    phpmatsuri-2012-03
  • シール等のノベルティがたくさん。とりあえず、一通り頂きました。(この後も続々と増えてました。)
    phpmatsuri-2012-04
  • 参加特典のTシャツ。もちろん、これを着込んでお祭り気分を高めます。
    phpmatsuri-2012-05

顔見知りの方に挨拶をして回る等して過ごした一時間でした。

続きを読む

2012年10月27日

Fukuoka.php Vol.4 参加報告

mawatari 勉強会・交流会 Fukuoka.php, PHP 0 Comments

イベント情報

タイトルFukuoka.php Vol.4
日時2012年7月20日(金)20時00分〜23時00分
定員30人
会場GuildCafe Costa
住所福岡県福岡市中央区大名1-10-14 MATCH 2F
告知サイトATND – Fukuoka.php Vol.4
関連サイトFukuoka.php
ハッシュタグ#fukuokaphp
概要挨拶(@akase244)
セッション1:アメリカ訪問記(@withelmo)
セッション2:WordPressのローカライズとか多言語処理のお話(@takayukister)
セッション3:初心者向けっぽいお話(Kagasawa-san)

余った時間でみんなで自己紹介とかディスカッションとか?
PHP周辺について、最近気になった記事とかニュースとか聞きたいこととか困ってることとか、
皆さん色々あるかと思いますので、気軽にみんなでワイワイしましょう。

リポート

fukuoka-php-vol-4-report-01
Fukuoka.php Vol.4に参加してきました。
今回は、Fukuoka.php Vol.2と同じスタイルで、乾杯のご発声から勉強会がスタートしました。世界的に有名なWordPressプラグイン「Contact Form 7」の作者@takayukisterによるセッションが行われる等、いつながらに盛り上がった勉強会となりました。
@withelmoさんのセッションでは、Rubyシリコンバレーミッションという福岡県が支援するイベントで、シリコンバレーを代表する企業を訪問した内容が報告されました。
謎のプログラマこと、Kagasawa-sanによるセッションは、初心者向けとは銘打ってるけど、非常に濃い内容でした。実は、僕が幾人か初心者をFukuoka.phpに誘っていたこともあって行われたセッションだったんですが、当日、体調不良で参加できずという……。申し訳ない気持ちでしたが、この内容は責任を持って伝えておきます!
懇親会は会場そのままGuildCafe Costaで。

参加者による報告ブログ

@atyksさんによる報告。相変わらず、まとめ方がうまい。
[勉強会][php]Fukuoka.php Vol.4 – そうだ車輪と名づけよう 5th

ツイートまとめ

«‹ 15 16 17 18›»

フォロー

follow us in feedly
人購読中

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた
  • rbenvでRubyの最新安定版をインストールするワンライナー
  • Ansibleの実行結果を通知する
  • MacにComposerをインストールする

Twitter

@mawatarinさんのツイート

カテゴリー

  • 勉強会・交流会 (56)
  • 日記 (104)

タグクラウド

Ansible Apache AWS Backbone.js baserCMS Bootstrap CakePHP CentOS CSS EC-CUBE facebookアプリ開発 fancyBox FuelPHP Fukuoka.php Git GitHub Homebrew HTML5 iOS JavaScript Jenkins Jenkins実践入門 jQuery Mac MAMP MySQL Node.js OSC PHP PHPMatsuri PhpStorm PHPUnit Rails rbenv Ruby RubyMine SwimmyStudy Tips Twitter Vagrant VMware WordPress Xdebug アジャイル 福岡インフラ勉強会
mawatari.jpのはてなブックマーク数
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた

フォロー

follow us in feedly
人購読中
mawatari.jpのはてなブックマーク数

新着はてなブックマーク

  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

↑

© mawatari.jp 2025
Powered by WordPress • Themify WordPress Themes