岩家小変更

2007.9.17(月) 3:26   タグ: お知らせ
岩家 ver. 4.1.0.

当サイトをマイナーチェンジしました.ただしこのぶろぐを除きます.

主に 2点,ここ数日の夜間に格闘してました.

1点目

内部的なものです.

今までは,サイト構築の練習にと HTMLテンプレートを呼んで表示する部分を自作などしてましたが,その効率の悪さと, 以前のエントリ で挙げた Template Toolkit をさくらのレンタルサーバ上でも使えることが判ったことから,Template Toolkit を使った記述に乗り換えました.

また,データの読み書き関係を 1つのモジュールにまとめたりもしてみました.

なんだかんだでモジュールの修正が大部分でしたが,まぁ今後の管理が少しでも楽になればいいな,と自分に言い聞かせときます.

2点目

コンテンツ 写真 の,タグまわりの実装を進めてみました.

今回の実装で,複数のタグによるメイン写真の絞込みができるようになりました.

おまけ

mod_rewrite 問題,何とかなりませんかねぇ...

おまけ その 2

今回の内部的変更で,表部分で書く cgi の量がかなり減りました.大した意味はありませんが,現状でのトップページ cgi のソースを晒してみます.

#!/usr/bin/perl
use strict;
use warnings;
if( $ENV{SERVER_NAME} =~ m{iwa\-ya\.net} ) {
  use lib qw( さくらサーバでのライブラリパス );
}
else {
  use lib qw( ローカル環境でのライブラリパス );
}

use Iwy::Config;
use Iwy::HTML;

my $config = Iwy::Config->new->{config};
my $html = Iwy::HTML->new(
  config  => $config,
  name    => ‘top’,
  nocache => 1,
  favicon => 1,
  title   => [],
  css     => [ ‘photos.css’, ‘top.css’ ],
  js      => [ ‘iwy.js’ ],
);

#——————————————————————————–
#
# 本処理 ここから
#
#——————————————————————————–
$html->{var}->{news} = $html->{data}->newslist( n => 1 )->[0];
$html->{var}->{blog} = {
  n         => 5,
  entrylist => $html->{data}->blogentrylist( n => 5 ),
};

$html->{var}->{photolist} = $html->{data}->photolist_main( n => 5 );
#——————————————————————————–
#
# 本処理 ここまで
#
#——————————————————————————–

$html->out;
1;
__END__

現在とあるお仕事で PHP フレームワーク Ethna を使った開発をしてたりしますが,今まで MVC な実装を心がけてこなかった私にとって非常に勉強になってます.

今後はその辺の意識を反映させていきたいところです.

FormFocusManager - フォーム要素のフォーカスなんぞを管理する Javascript

2007.9.13(木) 4:43   タグ: JavaScript
Form Focus Manager.

ここ最近,片道きゃっちぼーる が頭の中で流れ続けている issm です.CD 買ってみようかな...

さて,14日夜に行われる WCAN mini Markup vol.3 に参加させていただくわけですが,その中で Javascript なテーマも扱うということで,ホンノ小ネタとしてタイトルに示す一クラスを用意してみました.まだ改良の余地がいくらでもありますが,とりあえず公開してみます.

概要

指定したフォーム下の要素のフォーカスを,Enter で次の要素に,Shift + Enter で前の要素に,それぞれ切り替えます.また,最後の要素で Enter,もしくは任意の要素で Ctrl + Enter で submit します.それくらいです.

なお,ffm-ignore クラスを指定すれば,その要素をフォーカスの対象から外すことができます.

以下でサンプルを用意していますのでよろしければ.

FormFocusManager - 岩家らぼ

使い方

まず, FormFocusManager.js を読み込みます. (それ以前に prototype.js を読み込んでいる必要があります.)

で,

<form id="form-hoge">
…
</form>

なフォームに対してこの記述以降に

<script type="text/javascript">new FormFocusManager( 'form-hoge' );</script>

と 1行追加するだけで適用されます.

気になること

本 FormFocusManager クラスは,フォーム下の各要素 (除く ffm-ignore クラス) に keypressfocus の各イベントリスナーを仕込ませています.

ので,対象のフォーム下の要素のいずれかにあらかじめそれらが仕込まれていた場合,どんな挙動を示すのでしょうかねぇ...今後の課題としておきます.

Akismet de-spam View Hack - 非スパム探しの悩みを解決してくれる hack

2007.9.12(水) 0:17   タグ: 個人的LifeHacks, WordPress
Akismet de-spam View Hack.

はじめに

1日数百件...世界のどこかから当ぶろぐへやってくるトラックバックスパムの数です.

以前に導入したプラグイン akismet がそれらを食べてくれるため,一見問題がないように見えますが,強力すぎるのか何なのか,マトモなトラックバック,コメントまで食べてくれてしまいます.

食べられたマトモなトラックバック,コメントはそのままでは表示されないので,手動で 「de-spam」する必要があるわけですが,akismet の 「Latest Spam」 リストからそれらを見つけ出さなければなりません.

これはけっこう,というかかなり骨が折れます.最近はもう,チェックの途中で 「すべて削除」 してしまってます.

検索してみた

そんな悩みにたまりかね,Yahoo! でグg...いや,普通にググってみたところ,次のエントリにたどり着きました.

なお,はじめの 2つは akismet 1.x 系について,3つ目は 同 2.0 系についてそれぞれ書かれています.私は 2.0 系を入れてますので以下,その方向で進めます.

どうなるの?

akismet の 「Latest Spam」 リストにおいて,日本語 (というかマルチバイト文字) を含むもののみが表示されるようになります.

当然ながら,マトモなトラックバック,コメントであっても,all-english なものも表示されなくなります.

何するの?

まずはかる~く肩慣らしでひろまささんのハック。akismet.phpをエディタで開いて、「$end = $start + 50;」を検索します。この行に続いて、以下のように修正してやればOKです。

if ( $page < 2 )
	$page = 1;

$start = ( $page - 1 ) * 50;
$end = $start + 50;
//
//$comments = $wpdb->get_results(”SELECT * FROM $wpdb->comments WHERE comment_approved = ’spam’ ORDER BY comment_date DESC LIMIT $start, $end”);
//$total = $wpdb->get_var( “SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = ’spam’” );
//
//Akismet de-spam View Hack respect for Hiromasa
$comments = $wpdb->get_results(”SELECT * FROM $wpdb->comments WHERE comment_approved = ’spam’ AND LENGTH(comment_content) <> CHAR_LENGTH(comment_content) ORDER BY comment_date DESC LIMIT $start, $end”);
$total = $wpdb->get_var( “SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = ’spam’  AND LENGTH(comment_content) <> CHAR_LENGTH(comment_content) ” );
//end
}

[WP] Akismet de-spam View Hack, WP2.2対応版 « Odysseygate.com

$blogdir/wp-content/plugins/akismet/akismet.php$blogdir は適宜置換を) の 2行を書き換えるだけです.

注意

私の場合,先で紹介した 3つ目のエントリ内のソースの該当部分をそのままコピペさせていただいたわけですが,シングルクォーテーション,ダブルクォーテーションがそれぞれ全角になってました.(WordPress の仕様ですかね?)

ので,これらを半角に変換してやらないと怒られます.

AjaxSourceLoader - 指定した URL のソースを表示する Javascript なクラス

2007.9.8(土) 18:35   タグ: JavaScript

最近生活が gdgd な issm です.

既出そうな小ネタですが...Ajax を使ってソースを読み込む処理を,ひとクラスにまとめてみました.要 prototype.js です.

使い方

AjaxSourceLoader.js を読み込んで次のように記述することでソースコードを表示します.

new AjaxSourceLoader( 'ソースコードのURL', '表示対象要素のID' );

後述の 「表示例」 の部分では

<div id="source-342-1"></div>

という div 要素を用意した後に

new AjaxSourceLoader( '/js/lib/AjaxSourceLoader.js', 'source-342-1' );

を実行しています.

ソースコードの格納先

pre 要素を生成し,この中に読み込んだソースコードを放り込んでいます.で,表示対象要素.appendChild( このpre要素 ) しています.

また,この pre 要素には,ajaxsourceloader というクラス名をつけてますので,pre.ajaxsourceloader { ... } などとしてスタイルを指定することもできます.

実行後の構造をタグで書くとこんな感じです.(改行は便宜上.)

<div id="hogehoge">
<pre class=”ajaxsourceloader”>
…
ソースコード
…
</pre>
</div>

表示例

以下,本 js を使って,本 js のソースコードを表示してみます.大したことはしていません.

ぶろぐ内検索

WCAN 2008 Autumn

wcan2008autumn

DeLLa.JS

細々公開ちゅう

  • ごよてい?
  • にこぐらふ
  • twitomonitor [ついともにた]
  • issm's ...
  • 今さら攻略 スーパーマリオブラザーズ 2

I'm doing...

Loading...

最近のエントリ

最近のトラックバック

最近のコメント

タグ

月別

数値いくつか

  • issmの泳いだ距離
  • issmの100m個メタイム(秒)
  • issmのBMIとissmの体脂肪率
  • issmの最高血圧とissmの最低血圧

スポンサード リンク

メタ情報