2013.02.04

Aptana3 複数行のマルチファイル一括置換 (´;ω;`)?

Aptana Studio を3.3.1にバージョンアップしたら、複数ファイル間で一括検索&置換のやり方が判らなくなってしまいました。
一行だといけるのですが、改行のはいる複数行を選択→検索→置換をしたい場合。
ap-4

で、できん。

素直に複数行を選択して懐中電灯をクリックでファイル検索したところ、「含まれるテキスト:」には最初のタグだけしか入らず、当然最初のタグしか置換されません。
置換…ボタンを押しても、対象がありません。とか言われたりすることも…。
あるぇ〜?以前のバージョンでは、出来たような気がするんだけど。

不便なので、色々やってみた。

置換対象の複数行を選択。
ツールバーの検索からテキストを選択。今回はプロジェクト内なのでプロジェクトを選択。
ap_1

検索結果(検索ビュー)のプロジェクト名を右クリック、メニューから全てを置換を選択。
選択テキスト表示の下に隠れてることがあるので、検索ビューを最大化するか区切り線をドラッグ。
ap_2

「テキスト一致の置換」ウィンドウの「次と:」フィールドに置換するテキストを入力。
おkの前にプレビューもできる。
ap_3

あ、できますた(∩・ω・)∩

しかし、なんかたまに選択行を「検索→テキスト」で検索しても最初の一行しか選択されないことがあります。
その場合は control+Hで検索ダイアログを出し、「含まれるテキスト:」のフィールドに複数行のコピペをして検索ボタンを押し、同じように検索結果からプロジェクトを右クリックしてすべて置換…。

ん?キモは検索ダイアログの置換を使わないで、検索結果から置換をかければいいのかー。
直感的に出来なかったよね )`ε′(
Aptana難しいです。Eclipseベースなので、Eclipseでググると割と幸せが訪れます。

2013.01.27

MAMP:LAN上のMacからアクセスするぜ!(しかしなんとなく…)

LAN上の他のMacからMAMPで構築したローカルホストにブラウザから接続するための、またまた備忘録です。
訳わかめなので苦労は尽きません。
検索しまくりで時間を潰すので同じような誰かのお役に立ちたいなぁとは思うものの、完璧に説明できるスキルを持ち合わせておらず…しかも疑問が残る結果ですので、ご利用の際はあくまで解決のとっかかりという感じでゆるーくご理解くださいませ。

MAMPに関して、ちゅんもす開設当初から、いつもこちらのサイトさまを参考にさせて頂いております。

参考サイト:
MAMPを使ってローカルで複数サイトのバーチャルホストを設定&イントラ環境や仮想環境からもそのサイトを確認する設定方法 | THE HAM MEDIA BLOG

上記ページの”仮想PGやイントラネットからアクセス出来るようにするために“という項目を参考に、

/Applications/MAMP/conf/apache/httpd.conf の
#Listen 12.34.56.78:80 という記述の下に
Listen 80 というのがデフォルトであります。
その下に
Listen 5678 (使用中のポートと被らない好きな番号)

Lanからアクセスしたいポートを追加。

/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf で
<VirtualHost *:5678>
 DocumentRoot "/Users/****/site/fugafuga"
 ServerName fugafuga.com
</VirtualHost>

上記ポートの設定を追加。
ブラウザのアドレスバーにhttp://192.168.***.***:5678/を入力すると。
htmlで構成されてる普通のサイトは問題なくLAN内のMacからアクセスできるようになりました。

WordPress 迷走編

WordPressでちょっとつまずく。
Forbidden You don’t have permission to access がでちゃったので、httpd.confの

と、外部からのアクセスを禁止している箇所に、8行目を追加して接続するMacのipアドレスを許可してやりました。
(<Directory />にAllow form ipアドレスと書く暴挙に出ていたので訂正)
こちらのサイト様を参考にさせて頂きました。

参考サイト:
外部からのアクセスを制限する-独学!未経験からWebデザイナーになる!!

しかし!
Listenにて適宜ポートを設定し、httpd-vhosts.confにて設定を加えても、192.168.***.***:1234(適宜ポート)/でアクセスしてもリダイレクト?され192.168.***.***を直に見にいってしまい、階層と今は使っていないWordpressのフォルダが表示されてしまいます。ポート80に接続されているということでしょうか?
(追記:<VirtualHost>のところマッチするVirtualHostを上から順番に探してゆくらしい)
httpd-vhosts.confにMAMP初期設定のDocumentRoot /Applications/MAMP/htdocsも記述してあります。無くてもいいのかな?
適宜ポートが通用しないので、192.168.***.***でアクセスすることにして、尚かつlocalhost部分はコメントアウトしました…消極的解決法。(追記:一番下に追いやりました。)

原因がお判りの方!教えて頂けると助かります(´;ω;`)。

表示されましたが…cssが全く読み込まれてないので、ノーレイアウトの画面が表示されます。
MAMPを入れたホストのMacには、httpd-vhosts.confで設定したServerNameをhostsファイルで対応させ、WordPressのドメインhttp://hogehoge.comでアクセスできるようにしてあるわけだけど…

MAMPを入れたホスト機のhostsファイルの記述
127.0.0.1 localhost fugafuga.com hogehoge.com

しかし、LAN上のクライアントのMacにとっては、WordPressが書き出すurl
href="http://hogehoge.com/wp-content/themes/略/style.css"
などのhogehoge.comの部分は「は?どこなわけ?それシベリア?」状態。
WordPressの一般設定 WordPress アドレス (URL)をhttp://192.168.***.***:8888/WordPressのあるところ
にしてしまう方法もあるようですが、せっかくポート80にしてバーチャルなドメインを設定しているし、またテーブルを書き換える羽目になるのはいやなので、そこんところ触りたくない。

hogehoge.comがどこなのか教えてあげればいいのか!という事で、クライアントのhostsファイルでServerName(ドメイン)hogehoge.comとIPアドレスを対応させてみます。
調べてみたところ、クライアントは自分のhostsファイルに従ってIPアドレスを逆引きしてホストへリクエストを送り、ホストではApacheがバーチャルホストhogehoge.comのルートに導いてくれるんじゃないかと。
………Snow Leopardはさ、hostsファイルのアクセス権変えてmi(エディタ)で開いて直書き保存できたけど、Mountain Lionはできるの?
またまた有り難いサイトさまにお世話になりますよ。

参考サイト:
Mac OS X LionのTerminalにてnanoを使ってhostsファイルを書き換える話(画像付き)。|linker journal|linker

クライアントのhostsファイルに追加
192.168.***.*** hogehoge.com

おお!できた!!(∩・ω・)∩

しかし…こんなのでいいのかかなり不安です。

2013.01.20

jQuery スクロールに付いてくるtopに戻るボタン

先日に引き続き備忘録なんです。
今回はこのブログのヒヨコがにょろっと横から出てきて、にやにやしながら着いてくる スクロールに追随して動く”トップに戻る”ボタンについて。
これがfooterに達したら固定しようという試みです。

元のjQueryはこちらから頂きました。多謝!!!勉強になります!
jQueryでスクロールすると表示する系いろいろ | webOpixel

上記webOpixelさんの

1.ちょっとスクロールしたら「トップへ戻るボタン」を表示
 ・スライドアニメーションして表示

の下からでて来るところを横からでてくるように変更させて頂いて使っております。

いまさら気付いたんですが、iPhoneのサファリで閲覧すると最下部までスクロールした時にfooterにもろかぶりです。
下になってしまうrssアイコンはあまり利用することもないと思いますが、気になるっちゃー気になる。
下までスクロールしたらfooterのちょうどいい位置にボタンが固定されるようにしたい。

webOpixelさんの同ページに“下部までスクロールすると横からスライドして表示”の例を見つけ、参考にさせて頂きました。

しかし、.scrollまわりのバグ?らしくiosのSafariでは期待通りには動きません。
Safari及び普通のブラウザでは正常に動作するのでそのまま使用。
iPhone,iPad,iPod,いちおうAndroidはデフォルトのscriptで使うことにしました。

//追記 jQuery iOSでもひよこを止めろ!
という記事を書きました。ブラウザ共通のスクリプトでひよこを止めることができました。

ひよこを止めろ

まずは使わせてもらっている部分と追加したscript

ハイライトしたところが付け加えた箇所です。

changeBottom = $('body').height() – windowRoll.height() – 190;

bodyの高さを.height()で取得して、そこからウィンドウの高さとボタンをストップさせる位置の下からの距離を引き、基準の高さchangeBottomを決めときました。

if ($(this).scrollTop() <= changeBottom) {

んで、.scrollTop()で取得した数値がchangeBottomより小さい まだ基準までスクロールしてないとき
changeBottomより大きい 基準までスクロールしたときを条件づけ、それぞれに用意したクラスを加えたり除いたりすることにしました。

ボタンはposition:fixedでスクロールしてもウィンドウに位置固定され、追随しているように見えてます。
基準値に達していない時は、fixedでウィンドウの下から20pxの位置に表示されます。
基準値に達した時は、absoluteで親要素に絶対配置されます。

ios対策にデフォルトで使用

//追記 jQuery iOSでもひよこを止めろ!
という記事を書きました。ブラウザ共通のスクリプトでひよこを止めることができました。

そしてios Safari用に振り分けるため
上記jQueryの21行目からのハイライト部分に分岐とclassを追加。

cssは単純に重ならないようbottomのpxを増やしました。
当初fixedを忘れて悲しいことにw

いや〜
使わせて頂いたscriptに少々何か加えただけなんですが、相当時間掛かっちゃいました。
javascriptの基礎が全くないというのはアレです。やりながら覚えるしかないですねぇ。

2013.01.16

備忘録 jQuery .loadでfooterを管理 & ウィンドウサイズで位置変更

備忘録を長年、”ぼうびろく”だと誤認していた管理人です。みなさまいかがお過ごしですか。

ちまちまとメインサイト”さわやかまみれ”に学習を兼ねてjQuerを装備しております。
今回は”footerを外部から読み込む”のと”ウィンドウサイズによって要素の位置を替える”二つのscriptを装備してみました。

.loadで共通コンテンツを一括管理

ページ数が増えてくると各ページのfooterなどの共通のコンテンツをいちいち手動で修正するのは苦行だったりします。
DWのテンプレートやAptanaなどエディタのページ置換を利用するのも手ですが、DW持ってないしw置換もわりと手間が掛かります。

そこでjQueryでAjaxとか言うのを使って、ひとつのhtmlを修正すれば全てのページに反映されるようにして楽しようと思います。
しかし、Javascriptをオフで閲覧する場合は全く持って表示されないことになりますので、とりあえずリンクや新着などの利便性を考えて設置したfooterだけをjQueryで一括管理することにしました。

footerの内容を記述するHTMLファイル/side-footer.htmlを作っておきます。
DOCTYPEやheadは要らないようですが、愛用のAptanaが気にするので自分は一応いれておきました。
読み込みたい部分にidを振っておきます。#footerとしました。

このdivの所(”#footer_wrap”)に、命令.load(外部に作ったファイルside-footer.htmldiv#footerを読み込んでね)
という判りやすいscriptで出来ますた。

パスに注意!
自分の場合は、間抜けなことにリモートとローカルのドキュメントルートのお名前が違うので、相対パスを使っています。
そうすると別の階層につっこんだページではfooterにあるリンクが切れてしまいます。あまりスマートな方法ではありませんが、読み込むhtmlファイルを別階層用に用意しました。
出来うるなら、MAMPなどでローカルサーバを立ち上げ、公開するサーバと同じ環境を構築してフルパスでリンクを貼るのがベターかと思います。
蛇足ですが、サーバを介さずに直接ブラウザでhtmlをプレビューすると.loadが実行されないことがあります。MAMPおすすめ。

Ajaxとやらは、セキュリティ上の理由で別のドメインのファイルにはリクエストできません。実現するにはもっと難しいことをせなばならないようです。クロスドメインでググってみますか。

.loadした部分にscriptが効かないYO!

クリックなどイベントが発生する要素では.liveを使うと良いようです。

【追記】.liveはjQuery 1.9から使えなくなってしまいました。換わりに.onを使うようになりました。
jQuery 1.7から追加されたイベントですので、早めに書き換えるのが吉かもしれません〜

当サイトでは、読み込んだfooter内のボタンをクリックでスクロールしてトップに戻るという処理をしていますが、

と、することでクリックした時にscriptが実行されます。
.liveで使えるイベントではない場合、.loadのコールバック関数とやらを使います。まだちゃんと理解しておりませんので備忘録ということで勘弁してください。事例は次のウィンドウサイズで要素の位置を変化させる”スズメは右にscript”に続きます。

スズメは右に

上記.loadでfooterを読み込んだ訳ですが、footer内のスズメのrssアイコンの位置をウィンドウの幅によって変えたかったとです。

footer_su
wrapにしているdivにcssでmin-width:950pxを指定しており、尚かつアイコンをposition: absolute;right:-15pxでwrap外に出しております。

ウィンドウの幅が950px以下で読み込んだ時、背景が切れるなどかっこ悪いので、jQueryでアイコンのright:-15pxを10pxに替えて内側に表示することにしました。

なんかこんな感じで、ウィンドウの幅を.width()で取得して、不等号(より大きい)という条件にしました。
ウィンドウの幅が982pxより大きい時、cssでright:-15px
そうじゃない時(小さいとき)cssはright:10px
ウィンドウの幅にはスクロールバーの部分も含まれるようなので、標準の17pxを足しておきました。(スクロールバーの分の幅を足して置いた方が余白が出なく安定します。)

そしてこのif〜を.loadで取得したfooter部分に効かせたい訳ですが…ちょっとお悩み。上記の.liveには該当するイベントはありません。

でどーよ? と思いましたがjQuery1.8では非推奨らしいのと(1.7使ってますがw)画像なども全て読み込んだタイミングで働くので画像ばかりのページだと厳しそうです。
.loadのコールバック関数を使えば外部ファイルを読み込んだタイミングで上記のifが読み込めるらしい。

{ }の中に上記のif〜を突っ込んでやればいいような気がします。
しかし、if〜は読み込み時のみならず、ウィンドウリサイズ時にも使い回すのでユーザー定義関数にしときました。

FirefoxとSafariでは動いておりますw

.onで動くようにしたスクロールしてトップに戻るクリックイベントを
.loadのコールバック関数に仕込んでもよろしいかと。かえってスマートかと思われ…。お、.onは勉強なんだからねっ///。

2013.01.05

EIZO EasyPIX SoftwareがMac 10.8に対応したけれどー

twitterでもさんざん愚痴ったのですが、まとめて置きます )`ε′(

miniにこのディスプレイ SX2262W-PXGYを使用してるですが、キャリブレーションソフトとツール同梱モデルなので重宝しておりました。

対応の遅れていたEasyPIX Softwareが2.3.0で山ライオンに対応しました!ちなみにここからたどれます
早速いそいそと前バージョンをアンインストールののち、ダウンロード&インストールしたのでございます。
なぜかインストールできません…しおしお〜
インストーラは無事に完了しました!とか言いやがりますが、その後すぐ開く筈のAdobi Airも立ち上がらなければ、Applicationフォルダにも何も生成されません。

結論から申し上げるとMacでマルチブートやTime machineを利用している場合、他のHDDボリュームの影響によりEIZO Easy PIXのインストールが正しく完了しない。とのこと。

対応
EasyPIX2.3.0、Adobe AIRを共にアンインストール(ライブラリなどには色々インストールされてる)
外付けやボリュームをアンマウントして、レッツ インストロール!!
それでもダメなら物理的にケーブルを引っこ抜いてお試しください。

一応カスタマーサービスに問い合わせをしたのでご報告。もちろん意訳。こんなふざけた事は仰いません。

返信メールが来るまで、どーにもヒマなので悔しいので、コンソールをつらつらと眺めていたら…

installed app~中略~/TimeMachine/~中略~/Macintos HD/Applications/EIZO EasyPIX.appとか仰ってる。
なんだってーΩΩΩ

外付けのTimeMachineの中のMacintos HDをわざわざ探し当て、その中のApplicationフォルダへインストールしてやがるじゃありませんか!
インストーラでボリュームを選択するプロセスがあり、その時間違えたのかと思ったので確認しましたがMacintos HDは一個しか出てきませんでした。間違えようがない訳で。
インストーラはTimeMachineの中のMacintos HDにインストールを試みますが、どうやらTimeMachinの中のデータは無傷のようです。一安心。
TimeMachineを使っていると他のソフトのインストールでも出くわす問題なんでしょうか?

早まってw山ライオンにしてしまったので、久々のキャリブレートになりました。
操作は前バージョンと同じです。変更点はなし。
設定3つを、気軽に変えられるので便利でございます。

PageTop