youtube logo

���Ĥ򤵤��YouTube plugin 4 charlow�˥��󥹥ѥ��䤵��ơ�����ʤκ�äƤߤ���

[��] YouTube�ץ饰����
## YouTube
# usage: {{youtube('ID', 'size:1<2<3<4<5(default)<6<7<...')}}
# Ex. {{youtube("e9-L68H0AHU", 2)}}
sub youtube {
    my ($id, $size) = @_;
    $size = 5 if (not defined $size or $size < 1);
    my $url = "http://www.youtube.com/v/$id";
    my ($w, $h) = (85 * $size, 70 * $size);
    qq(<param name="movie" value="$url"></param>).
    qq(<embed src="$url" type="application/x-shockwave-flash" ).
    qq(width="$w" height="$h"></embed></object>\n);
}

�פϡ����Ĥ򤵤��plugin��JavaScript��������Ρ����ʤ���������-�Ȳ������Τ褦�ˡ�³����Τ�ư��򰷤��Τ˼꺢���⤷��ʤ����ʤ��������Ǥϳ�Video�Υ����ȥ�ϡ��Ȳ������entry����������Ѥ�����ID�Ϥ�������������ԥڤ��䤹���ä��Τǡ�

����: �̼�:

�ʾ���������Τ˻��Ѥ����������ϡ�HTML��ʬ��ޤ�ưʲ��ΤȤ��ꡣ<select>��������Ȥ����Ѥ���С�¾�Ǥ��ñ�˻Ȥ����������

���󥹥ѥ���Τ���˼�­�ʤ��鸵�Ȥʤä�perl script��ź�路�Ƥߤ���

ľ���Ƥߤ����ս�ϰʲ��ΤȤ��ꡣ

  1. $size�ν�����ˤĤ���
  2. http://www.youtube.com/v/��ؿ������Hardcode����ΤäƤɤ���?
  3. $w��$h�ϰ�ԤŤ�
  4. �޳�perl�ʤΤ����顢Here Text��

�ޤ�$size�ν�����ʤΤ����ɡ�

$size = 5 if (not defined $size or $size < 1);

�äƤΤ�̵�̤�¿����

$size = 5 if $size < 1;

�ǽ�ʬ���ʤ����Ȥ����ȡ�not defined����Ω������硢$size�Ͽ��ͤǤ�0�ˤʤ�Τǡ�$size < 1����ưŪ����Ω���뤫�顣

����http://www.youtube.com/v/�ʤΤ����ɡ��������ä����������ʤ�٤��ؿ������Ǥ�����������ʤ����ޤ������plugin�ʤΤǡ��ե��������Τ���ɴ�Ԥ⤢��Ȥ������ȤϹͤ��ˤ����Τ����ɡ�����Ǥ⤳�����ä�����Ϥʤ�٤������å�����ʬΥ���Ƥ���������

����$w��$h�⤽����̤��롣85��70�Ȥ��������ϡ���Ϥ�����å�����ʬΥ���Ƥ���������Τ�����������scalar�ξ��ν������list context�ǹԤ��Τ⵿�䡣

�Ǹ��Here Text�ϼ�̣��ʬ�����Ȥ��������Τ�ʤ���Here Text��Ȥ��ȡ�����ǥ�Ȥ�����Ƥ��ޤ��Ȥ������������äơ������Ruby�Dz��Ѥߡ�Perl6�Ǥ⥤��ǥ�Ȥ��θ����Here Text��Ƴ��ͽ��ǤϤ��뤱��ɤ⡢���⤽�⺣���HTML��render����Τǡ�����ǥ�Ȥ����äƤ��Ƥ⤤���Τ���͡�

�Ȥ����櫓�ǡ��ʾ��ȿ�Ǥ�����ȡ�youtube()�Ϥ���ʴ����ˤʤ롣

Readonly $youtube_base     => 'http://www.youtube.com/v/';
Readonly $youtube_w_factor => 85;
Readonly $youtube_h_factor => 70;

sub youtube {
    my ($id, $scale) = @_;
    $scale = 5 if $scale < 1;
    my $uri    = $youtube_base . $id;
    my $width  = $youtube_w_factor * $scale;
    my $height = $youtube_h_factor * $scale;
return << "EOT";
<object width="$width" height="$height">
  <param name="movie" value="$uri"></param>
  <embed src="$uri" type="application/x-shockwave-flash"
   width="$width" height="$height"></embed>
</object>
EOT
}

Dan the YouTubist