Paroday

Paroday:ニュースやアニメのレビュー、FC2ブログのテンプレート・プラグインなどを配信しています。

もしかして Parody ではありませんか? yes

新blogサーバ 共有テンプレートの仕様、utf-8などの改変について

 2011年2月15日現在におけるブログサーバ番号なし(id.blog.fc2.com)の仕様です。

 blog126などの多言語版FC2ブログサーバと同様の処理が行われます。番号なしは管理ページが日本語の多言語版FC2ブログといえるかもしれません。ただし、広告は表示されます。今のところ、多言語版では広告が表示されません。

 関連記事 : 新規FC2ブログの仕様変更

 サーバ番号ありとの主な違いは次の通りです。

  1. 【2月15日追記】
    多言語に公開しなくても共有テンプレートページに公開されるように
    なりました。
    共有テンプレートは強制的に多言語用テンプレートになる。
    多言語に公開しないと表示されない(クエリによるプレビューは可)。
  2. 文字コードが強制的に utf-8 になる。
    HTMLとCSSすべての『euc-jp』を『utf-8』に変換する(テキストやファイルアドレスも含む)。
  3. HTMLの lang="ja" などの言語指定を除去する。
  4. 多言語用変数と表記が一致するテキストは、多言語用変数に変換される(例外あり) 。

 2~4についてはプレビューの時点では euc-jp であり、変換もありませんが、ダウンロードすると変換されます。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp" />
<script type="text/javascript" charset="euc-jp">
var hoge = 'euc-jp';
 ↓
<html xmlns="http://www.w3.org/1999/xhtml"  >
<head>
<meta http-equiv"content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" charset="utf-8">
var hoge = 'utf-8';
<!-- コメントはここまで -->
<!-- 不要な場合は削除してください -->
 ↓
<!-- <%template_comment>:はここまで -->
<!-- 不要な場合は<%template_delete>してください -->
http://blog-imgs-37.fc2.com/p/a/r/paro2day/euc-jp01.gif
 ↓
http://blog-imgs-37.fc2.com/p/a/r/paro2day/utf-801.gif" />
CSS
@charset "ecu-jp";
/* euc-jp は utf-8 に適宜変更 */
 ↓
@charset "utf-8";
/* utf-8 は utf-8 に適宜変更 */

home

 ↓

ホーム

 というようなふざけた改変を行うので、多言語の配布を一時停止したり、登録テンプレートを削除して、自分のブログやサイトで配布した方がいいかもしれません。そうすると、FC2の審査もなくいつでも修正可能です。

 調整されそうな気がしないでもないので、しばらく様子を見るのもいいと思います。変に対応しても無駄骨になりそうです。

サンプル : http://ptemplate.blog.fc2.com/
(リンクの『Home』が多言語変数に変換され、日本語の『ホーム』を表示)


確認しておくこと

多言語用に公開する

【2月15日追記】
多言語に公開しなくても共有テンプレートページに公開されるようになりました。

 blog.fc2.com では強制的に多言語用テンプレートになります。したがって、共有テンプレートを多言語用に公開していない場合は、サーバ番号なしの共有テンプレートページには表示されません

 多言語用に公開しますか?: 公開する を指定します。

 設定の変更は審査もなく、すぐに公開されます。

管理ページのリンクには <%server_url> を使う。

 『http://blog<%server_no>.fc2.com/』がテンプレートにある場合は、はすべて『<%server_url>』にします。

http://blog<%server_no>.fc2.com/control.php
↓
<%server_url>control.php

 記事編集ページへのリンクは次のようにしないと、blogサーバでは機能しません。

<%server_url>control.php?mode=editor&amp;process=load&amp;eno=<%topentry_no>

コメント装飾スクリプトの修正

 共有テンプレートでコメント装飾を設置している場合は、<%template_comment_js> に変更します。次のようなコードは変更が必要です。

<script type="text/javascript" src="http://blog2.fc2.com/load.js"></script>
<script type="text/javascript" src="http://blog<%server_no>.fc2.com/load.js"></script>

 上記いずれかが使用されている場合は、次のどちらかに変更します。基本的にcharsetは不要です。番号ありでは『euc-jp』、番号なしでは『utf-8』のファイルが呼び出されます。

<script type="text/javascript" src="<%template_comment_js>"></script>
<script type="text/javascript" src="<%server_url>load.js"></script>
lang属性の ja などには多言語変数を使う

 属性ごと削除してしまうので、言語指定は変数を使うようにします。

lang="ja" // NG
 ↓
lang="<%template_language>" // OK
JavaScirptなどのファイルは utf-8 で作成して charset="utf-8" を指定

 文字化けのために charset="euc-jp" を指定しても、 utf-8 に変換されるため、ファイルは最初から utf-8 で保存して、charset="utf-8" とした方がいいかもしれません。

<script type="text/javascript" charset="utf-8" src="hoge.js"></script>
プレビューなどでどうしてもcssが正常に反映されないとき

※特に問題のない場合は必要ありません。スタイルシートの charset はダウンロード時に自動で utf-8 に変換されます

 スタイルシートの1行目を削除。

@charset "ecu-jp"; ←削除

 charset をつけるときはlink要素に。

<link rel="stylesheet" type="text/css" charset="<%template_charset>" href="<%css_link>" />

多言語変数に変換される恐れのあるものを変更する
  • 『euc-jp』をファイル名に使用している場合は別の名前に変更。
  • コメントアウトなどで、『削除』『送信』といったテキストを使用している場合は、『削 除』『送 信』などするか別の表記に変更。

多言語変数などにに変換されるテキストの一例

 コメントアウトの中でも変換される可能性があることに注意します。

<a href="./">Home</a>
 → <a href="./"><%template_home></a>

 Homeがa要素に挟まれていると変換されます。Homeの前後にスペースや改行などを入れると変換されないようです。
 → <a href="./"> Home</a>

元テキスト変換備考
euc-jputf-8『euc-jp』はすべて『utf-8』になります。charsetなどに関係なく、ファイルアドレスもテキストもすべてです。HTMLだけでなくCSSも含みます。
削除<%template_delete>コメントアウト注意。あいだに半角スペースを入れる。『削 除』
コメント<%template_comment>:コメントアウト注意。コロンがつきます。
トラックバック<%template_trackback>:コメントアウト注意。コロンがつきます。
続きを読む<%template_extend>-
前のページ
前ページ
前頁へ移動する
<%template_prevpage>-
次のページ
次ページ
次頁へ移動する
<%template_nextpage>-
最初の記事first-
トップtop-
このページのトップへ<%template_go_top>-
ジャンル<%template_genre>-
テーマ<%template_theme>-
このエントリーのカテゴリ名前<%template_view_category>-
コメントの投稿<%template_post_comment>-
送信<template_send>-
コメントの編集<%template_edit_comment>-
管理者にだけ表示を許可する<%template_private_check>-
この記事にトラックバックする(FC2ブログユーザー)<%template_trackback_this>-
<link title="prev"<template_prevpage>場所限定変換。link要素のtitle属性に『"prev"』。『'prev'』では変換されないようです。
<link title="next"<template_nextpage>場所限定変換。link要素のtitle属性に『"next"』。『'next'』では変換されないようです。
場所限定変換 : <label for="xxxx">xxxx</label> の形式のみ変換
テキストの前後にスペースやコロンなどを入れて回避。
<label for="xxxx"> xxxx</label>
Comment、COMMENT...<%template_body>場所限定変換。
Mail、MAIL...<%template_address>場所限定変換。
Subject、SUBJECT...<%template_title>場所限定変換。
Name、NAME...<%template_name>場所限定変換。
Pass、PASS...<%template_password>場所限定変換。
Secret、SECRET...<%template_private>場所限定変換。
関連記事
  1. comment

コメント

Icon ※必須 :
Pass  ※入力した英数字を識別コードとしてNoに表示(123→LkZag.iM)

トラックバック

http://paro2day.blog122.fc2.com/tb.php/662-7412362c

  1. trackback