1 <?xml version="1.0" encoding="utf-8" ?>
\r
2 <?xml-stylesheet type="text/xsl" href="wiki.xsl"?>
\r
5 xmlns="http://purl.org/rss/1.0/"
\r
6 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
\r
7 xmlns:content="http://purl.org/rss/1.0/modules/content/"
\r
8 xmlns:dc="http://purl.org/dc/elements/1.1/"
\r
11 <channel rdf:about="http://sourceforge.jp/projects/pettanr/wiki/!feeds/list">
\r
12 <title>ぺったんR Wiki</title>
\r
13 <link>http://sourceforge.jp/projects/pettanr/wiki/!feeds/list</link>
\r
15 ぺったんR プロジェクト Wiki ページ一覧 </description>
\r
16 <dc:date>2012-01-07T10:06:07+09:00</dc:date>
\r
20 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ItoZyun" />
\r
21 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto" />
\r
22 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors" />
\r
23 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/FrontPage" />
\r
24 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage" />
\r
25 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutModels" />
\r
26 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor" />
\r
28 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc" />
\r
29 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema" />
\r
30 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController" />
\r
31 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel" />
\r
32 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel" />
\r
33 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController" />
\r
34 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers" />
\r
35 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon" />
\r
36 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2" />
\r
38 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon" />
\r
39 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ClientSide" />
\r
40 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PngFix" />
\r
41 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters" />
\r
42 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon" />
\r
43 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/JsonApi" />
\r
44 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/AboutLisence" />
\r
45 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/CommonLisencesController" />
\r
46 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/LisencesController" />
\r
48 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers" />
\r
49 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan" />
\r
50 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist" />
\r
51 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor" />
\r
52 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements" />
\r
53 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/PictureIo" />
\r
54 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick" />
\r
55 <rdf:li rdf:resource="http://sourceforge.jp/projects/pettanr/wiki/InstallRubyAndRails" />
\r
61 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ItoZyun">
\r
62 <title>ItoZyun</title>
\r
63 <link>http://sourceforge.jp/projects/pettanr/wiki/ItoZyun</link>
\r
64 <dc:identifier>ItoZyun</dc:identifier>
\r
65 <dc:date>2012-01-07T10:06:07+09:00</dc:date>
\r
69 * ユーザーログイン後の操作(マンガ管理・コマ作成・画像管理・設定)は、すべて js 有効 が前提の Ajax ページで行う.
\r
70 * ログインしたユーザーのマンガ閲覧も、Ajaxページで行う.画像読み込みを非同期化して、画面外の画像の読み込みを抑止する.
\r
72 = javascript のクリーンアップ、圧縮
\r
74 javascript は、変数宣言時]]>
\r
77 <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E5.81.B4">クライアント側</h1><ul><li>ユーザーログイン後の操作(マンガ管理・コマ作成・画像管理・設定)は、すべて js 有効 が前提の Ajax ページで行う.
\r
78 </li><li>ログインしたユーザーのマンガ閲覧も、Ajaxページで行う.画像読み込みを非同期化して、画面外の画像の読み込みを抑止する.
\r
79 </li></ul><h1 id="h1-javascript.20.E3.81.AE.E3.82.AF.E3.83.AA.E3.83.BC.E3.83.B3.E3.82.A2.E3.83.83.E3.83.97.E3.80.81.E5.9C.A7.E7.B8.AE">javascript のクリーンアップ、圧縮</h1><h2 id="h2-.E3.82.AF.E3.83.AA.E3.83.BC.E3.83.B3.E3.82.A2.E3.83.83.E3.83.97">クリーンアップ</h2><p>javascript は、変数宣言時の区切り文字や、行の終わりのセミコロンなどを間違えていても、予期したとおりに動作したりして潜在的な問題を抱えることになる.<br />
\r
80 以上のものは、Aptana で警告されないものも結構ある.<br />
\r
81 jsDo.it にアップロードすると、Webコンソールで javascript の警告を教えてくれる.<br />
\r
82 その警告に従って修正したところ、Aptana2 の構文解析も動くようになった.コード量が増えると勝手に構文解析も止まるのかと思っていたけど、そのようなわけだった、、、<br />
\r
83 </p><h2 id="h2-.E5.9C.A7.E7.B8.AE">圧縮</h2><p>以上を済ませた後に、圧縮(難読化)を行うことで、js ファイルの読み込みや動作を早くし、負荷を抑えることができる.<br />
\r
84 圧縮ツールには、Web アプリとして提供されているものもあって便利.<br />
\r
85 <a href="http://compressorrater.thruhere.net/" class="external" rel="nofollow">http://compressorrater.thruhere.net/</a> が、複数の圧縮エンジンに通した結果を比較表示してくれる.<br />
\r
86 現在 140KB 程度の js ファイルを 60KB 程度にすることができた.<br />
\r
87 ただし、その圧縮後のファイルが動かないこともあり(というかほとんど動かない、または操作中に動かなくなる)圧縮ツール用にコードを書く必要がある.<br />
\r
88 jsは、コードが実行される順番に変数宣言をしていけばいいのだが、圧縮ツール用には、変数の宣言を最初の変数の登場より先にしなくてはならない.<br />
\r
89 </p><p>変数の宣言がないままに変数が登場すると、
\r
90 <pre>function createPopup(){
\r
91 // Popup クラスから Popup インスタンスを作る.
\r
92 var _popup = PopupClass.apply( {}, []);
\r
96 var PopupClass = function(){};
\r
97 </pre>圧縮ツールは、最初に登場する <a href="http://sourceforge.jp/projects/pettanr/wiki/PopupClass">PopupClass</a> はそのまま.var <a href="http://sourceforge.jp/projects/pettanr/wiki/PopupClass">PopupClass</a>= のみ、var a= などと圧縮をかける.結果、createPopup() したときに <a href="http://sourceforge.jp/projects/pettanr/wiki/PopupClass">PopupClass</a> が未定義だよ!となる.<br />
\r
98 </p><ul><li>決定版はこれだ! Javascriptの圧縮、難読化ツール 比較検討 <a href="http://gogolounge.blog.shinobi.jp/Entry/4/" class="external" rel="nofollow">http://gogolounge.blog.shinobi.jp/Entry/4/</a>
\r
99 </li></ul><h1 id="h1-javascript.20.E3.81.AE.E3.83.A1.E3.83.A2.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.AF">javascript のメモリリーク</h1><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/%E9%96%8B%E7%99%BA">開発</a>IEメモリリークの最後の壁はAjaxのonreadystatechangeやった!! <a href="http://d.hatena.ne.jp/AWAWA/20071207/1197036423" class="external" rel="nofollow">http://d.hatena.ne.jp/AWAWA/20071207/1197036423</a>
\r
100 </li><li>Internet Explorer リーク パターンを理解して解決する <a href="http://msdn.microsoft.com/ja-jp/library/bb250448" class="external" rel="nofollow">http://msdn.microsoft.com/ja-jp/library/bb250448</a>
\r
101 </li></ul><p>クロージャがまずい.<br />
\r
102 dom追加は、appendChild を先に.あとからプロパティをセット.<br />
\r
103 イベントハンドラに、グローバルで定義された 空の function を突っ込んで解除する.
\r
104 </p><h1 id="h1-.E3.82.B9.E3.82.BF.E3.83.B3.E3.83.89.E3.82.A2.E3.83.AD.E3.83.BC.E3.83.B3.E7.89.88.20IE.20.E3.81.AE.E9.80.9A.E5.B8.B8.E7.89.88.E3.81.A8.E7.95.B0.E3.81.AA.E3.82.8B.E6.8C.99.E5.8B.95">スタンドアローン版 IE の通常版と異なる挙動</h1><p>IETester で 条件付コメントによる、vml のインストールの有無のチェックができない挙動に遭遇.<br />
\r
105 vml のチェックは、現在は条件付コメントを動的に付与して行っている.(他にいい方法ないかな、、、?)
\r
106 <pre>VML: ( function(){
\r
107 if( isIE === false || ieVersion > 8) return false;
\r
108 var globalObjectName = createGrobalObjectName(), script;
\r
109 document.writeln( [ '<!--[if gte vml 1]><script type="text/javascript">window.', globalObjectName,'=1;</script><![endif]-->'].join( ''));
\r
110 if( window[ globalObjectName] === 1){
\r
111 window[ globalObjectName] = undefined;
\r
116 </pre></p><p>XPsp3 に IETester をインストールして 6, 7, 8 をテストできる環境にしているが、6 と 7 では、vml のチェックが働かない.<br />
\r
117 これは、スタンドアローン版 IE は 条件付コメントが働かない、ためと思われる.<br />
\r
118 一方で、8 で正しく動いているのは、8 が Windows 環境のデフォルトの ie なので通常版であるため、と思う.<br />
\r
119 </p><p>navigator.ua で取得したバージョンと 動的に書き出した条件付コメント(内でスクリプトを使用)が不一致だったら、スタンドアローン版として処理する.
\r
120 </p><ul><li>条件付コメント文の誤算 <a href="http://bopsublog.blog.shinobi.jp/Entry/15/" class="external" rel="nofollow">http://bopsublog.blog.shinobi.jp/Entry/15/</a>
\r
121 </li><li><a href="http://philip.html5.org/data/ccs.html" class="external" rel="nofollow">http://philip.html5.org/data/ccs.html</a>
\r
122 </li></ul><h1 id="h1-about.20itozyun">about itozyun</h1><ul><li>目立ちたがり屋という点でフロントエンジニアが性に合っている.
\r
123 </li><li>好奇心に負けて地雷を踏む性格なので、API 設計などを任せてはいけない.</li></ul>]]>
\r
126 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">
\r
127 <title>YasushiIto</title>
\r
129 <link>http://sourceforge.jp/projects/pettanr/wiki/YasushiIto</link>
\r
130 <dc:identifier>YasushiIto</dc:identifier>
\r
131 <dc:date>2012-01-06T19:59:29+09:00</dc:date>
\r
133 <![CDATA[管理者メンテナンスページを分離
\r
138 * min_width→lower_limit
\r
141 <property name="fontSize"/>
\r
142 <property name="fontColor"/>
\r
147 <![CDATA[<p>管理者メンテナンスページを分離
\r
148 </p><h1 id="h1-w.E3.81.A8h.E3.81.AB.E3.83.9E.E3.82.A4.E3.83.8A.E3.82.B9.E3.81.AF.E3.81.82.E3.82.8A.EF.BC.9F">wとhにマイナスはあり?</h1><ul><li>逆フキダシ
\r
149 </li><li>min_width→lower_limit
\r
151 <pre> <property name="fontSize"/>
\r
152 <property name="fontColor"/>
\r
153 <property name="fontWeight"/>
\r
154 <property name="serif"/>
\r
155 <property name="way"/>
\r
156 <property name="textAlign"/>
\r
157 </pre></li><li>no_adult ?
\r
158 </li></ul><ul><li> →
\r
165 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors">
\r
166 <title>ForAuthors</title>
\r
167 <link>http://sourceforge.jp/projects/pettanr/wiki/ForAuthors</link>
\r
168 <dc:identifier>ForAuthors</dc:identifier>
\r
170 <dc:date>2012-01-06T19:53:55+09:00</dc:date>
\r
172 <![CDATA[== 奥行きzと時間軸t
\r
173 コミックの各コマには奥行きと時間軸があります。
\r
175 奥行きとは、キャラクターの重なり順序とも言いかえることができて、CSS上ではzindexと同じ意味です。
\r
177 時間軸はストーリー上での時間の流れの順序で、読者がフキダシやキャラクターを目で追う順序とも言えます。コマのデータを時間軸順に並べれば、台本を読むのと同じになるイメージです。
\r
182 <![CDATA[<h2 id="h2-.E5.A5.A5.E8.A1.8C.E3.81.8Dz.E3.81.A8.E6.99.82.E9.96.93.E8.BB.B8t">奥行きzと時間軸t</h2><p>コミックの各コマには奥行きと時間軸があります。
\r
183 </p><p>奥行きとは、キャラクターの重なり順序とも言いかえることができて、CSS上ではzindexと同じ意味です。
\r
184 </p><p>時間軸はストーリー上での時間の流れの順序で、読者がフキダシやキャラクターを目で追う順序とも言えます。コマのデータを時間軸順に並べれば、台本を読むのと同じになるイメージです。
\r
185 </p><p>これらをコミック上で正しく並べるために、奥行きzと時間軸tが用意してあります。奥行きに関してはエディタでビジュアルに操作している限り問題ありません。しかし、コマの外観だけを見て制作すると、時間軸は必ず正しく並ぶというわけではありません。時間軸を意識することで、より違和感のない漫画ができるとぺったんRでは考えています。画像がきれいに表示されない環境や読み上げソフトなどを使った場合は、特に効果があるはずです。
\r
186 </p><h2 id="h2-.E3.83.A6.E3.83.8B.E3.83.BC.E3.82.AF.E3.81.AA.E5.A5.A5.E8.A1.8C.E3.81.8D.E3.83.87.E3.83.BC.E3.82.BF.E4.BD.9C.E6.88.90">ユニークな奥行きデータ作成</h2><p>ページ内で同じzindexを持っては意味がありません。そこでzが重ならないようにデータをユニークに作成する必要があります。
\r
187 </p><h2 id="h2-.E3.83.A6.E3.83.8B.E3.83.BC.E3.82.AF.E3.81.AA.E6.99.82.E9.96.93.E8.BB.B8.E3.83.87.E3.83.BC.E3.82.BF.E4.BD.9C.E6.88.90">ユニークな時間軸データ作成</h2><ul><li>コマ単位でtを順序づけ。
\r
188 <ul><li>コミック表示など複数のコマが表示される場合は、コマ番号tからのオフセット
\r
189 </li><li>例えば、コマ1にオブジェクトが4つあるとき、コマ2のtは4から始まる。
\r
190 </li><li>コマ2に6つのオブジェクトがあるなら、コマ3のtは10から始まる。
\r
191 </li><li>コマ3に添付されたコマ絵のtが2なら、コマ3のt(オフセット)10+2で12
\r
192 <ul><li>まぁ、ここはクライアントが好きにしていい話か。別に1-2とか2-3で管理してもいいけど。
\r
193 </li></ul></li></ul></li><li>tは0から始まる
\r
194 </li><li>コマpanels内でコマ絵panel_picturesとフキダシ枠speach_balloonのtは重なっちゃだめ。両者は同じレベル。
\r
195 <ul><li>ただし、フキダシ枠speach_balloonの中にあるセリフspeachesは一つレベルが下。セリフspeachesのtは一つのフキダシ枠speach_balloonの中でユニーク。ほとんどのフキダシにはセリフスペースは一個しかないから、多段フキダシを除けばspeaches.tは常に0。
\r
196 </li></ul></li></ul>]]>
\r
200 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/FrontPage">
\r
201 <title>FrontPage</title>
\r
202 <link>http://sourceforge.jp/projects/pettanr/wiki/FrontPage</link>
\r
203 <dc:identifier>FrontPage</dc:identifier>
\r
204 <dc:date>2012-01-06T18:30:57+09:00</dc:date>
\r
206 <![CDATA[= ぺったんRのWiki =
\r
207 [[Embed(http://static.sourceforge.jp/thumb/g/2/926/640x640_0.png)]]
\r
209 ぺったんを参考に、より使い勝手の良い漫画作成ツールを作ろうとしている。Rの意味はみなさんで勝手に想像してください。
\r
212 * http://sourceforge.jp/projec]]>
\r
216 <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AEWiki">ぺったんRのWiki</h1><img src="http://static.sourceforge.jp/thumb/g/2/926/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9262f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>
\r
217 </p><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.A3.E3.81.A6.E4.BD.95.E3.81.A0.E3.81.A3.E3.81.A6.E3.81.B0.E3.82.88.EF.BC.9F">ぺったんRって何だってばよ?</h2><p>ぺったんを参考に、より使い勝手の良い漫画作成ツールを作ろうとしている。Rの意味はみなさんで勝手に想像してください。
\r
219 </p><ul><li><a href="http://sourceforge.jp/projects/pettan/">http://sourceforge.jp/projects/pettan/</a>
\r
220 </li><li><a href="http://sourceforge.jp/projects/pettanoss/">http://sourceforge.jp/projects/pettanoss/</a>
\r
221 </li></ul><p>より詳しくは<a href="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan">WhatsPettan</a>
\r
222 </p><h2 id="h2-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93R.E3.81.AE.E7.9B.AE.E6.A8.99">ぺったんRの目標</h2><h3 id="h3-.E7.B7.8F.E5.90.88.E7.9B.AE.E6.A8.99">総合目標</h3><ul><li>漫画形式の表現がブラウザだけでできる
\r
223 </li><li>漫画形式のブログを簡単に始められる
\r
224 </li><li>漫画形式のSNSを簡単に始められる
\r
225 </li><li>漫画形式の記事をブログに埋め込める
\r
226 </li><li>その他あらゆるwebページに最小限の労力で漫画を表示できる
\r
227 </li></ul><h3 id="h3-.E9.96.8B.E7.99.BA.E7.9B.AE.E6.A8.99">開発目標</h3><ul><li>ぺったんR Web API
\r
228 </li><li>ぺったんR Web API に対応した、ひとつ以上のサーバ側実装
\r
229 </li><li>ぺったんR Web API に対応した、ひとつ以上のクライアント側実装
\r
230 </li><li>ぺったんR をお試しできる Web サービスの運営
\r
231 </li></ul><h2 id="h2-.E7.8F.BE.E5.9C.A8.E3.81.AE.E7.8A.B6.E6.B3.81">現在の状況</h2><ul><li>プロトタイプ作成中。 <a href="http://pettanr.heroku.com/" class="external" rel="nofollow">http://pettanr.heroku.com/</a>
\r
232 </li><li>プロジェクト Web サイトの制作中 <a href="http://pettanr.sourceforge.jp/index.html" class="external" rel="nofollow">http://pettanr.sourceforge.jp/index.html</a>
\r
233 </li></ul><h2 id="h2-.E9.96.8B.E7.99.BA.E8.80.85.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">開発者向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers">ForDevelopers</a>
\r
234 </li></ul><h2 id="h2-.E7.B7.A8.E9.9B.86.E9.95.B7.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">編集長向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters">ForWebmasters</a>
\r
235 </li></ul><h2 id="h2-.E4.BD.9C.E5.AE.B6.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">作家向けドキュメント</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors">ForAuthors</a>
\r
236 </li></ul><h2 id="h2-.E5.90.84.E8.87.AA.E3.81.AE.E3.83.A1.E3.83.A2">各自のメモ</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/YasushiIto">YasushiIto</a>
\r
237 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ItonZyun">ItonZyun</a>
\r
238 </li></ul><h2 id="h2-.E8.B3.87.E6.96.99.E3.83.BB.E3.83.9E.E3.83.B3.E3.82.AC.E8.A6.81.E7.B4.A0.E3.81.AE.E6.97.A5.E8.8B.B1.E5.AF.BE.E8.A8.B3">資料・マンガ要素の日英対訳</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements">TranslationComicElements</a>
\r
239 </li></ul><script src="/projects/pettanr/files/compact.js" type="text/javascript" charset="utf-8"></script>
\r
240 <div class="dashboard-widget"><h3 class="titlebar">最近のチケット一覧</h3><div class="dashboard-body"><div class="noent">(empty)</div></div></div>
\r
244 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">
\r
245 <title>XbackendReversibleImage</title>
\r
246 <link>http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage</link>
\r
248 <dc:identifier>XbackendReversibleImage</dc:identifier>
\r
249 <dc:date>2012-01-06T08:09:10+09:00</dc:date>
\r
251 <![CDATA[= クロスバックエンドな反転画像機能
\r
252 [[Embed(http://static.sourceforge.jp/thumb/g/2/933/640x640_0.png)]]
\r
253 ぺったん運営時から、画像を反転させて使用したい、という要望はあった.[[BR]]
\r
254 とくにキャラクター画像を左右に反転させたい、という要望だ.[[BR]]
\r
256 ぺったんR では、その反転に取り組む.[[BR]]
\r
260 <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.AD.E3.82.B9.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AA.E5.8F.8D.E8.BB.A2.E7.94.BB.E5.83.8F.E6.A9.9F.E8.83.BD">クロスバックエンドな反転画像機能</h1><img src="http://static.sourceforge.jp/thumb/g/2/933/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9332f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>
\r
261 ぺったん運営時から、画像を反転させて使用したい、という要望はあった.[[BR]]
\r
262 <br />とくにキャラクター画像を左右に反転させたい、という要望だ.[[BR]]
\r
263 <br /></p><p>ぺったんR では、その反転に取り組む.[[BR]]
\r
264 <br />サーバー側での反転画像の準備と、ブラウザでのクロスバックエンドな対応、という二段構えだ.[[BR]]
\r
265 <br /></p><h2 id="h2-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E5.81.B4.E3.81.A7.E3.81.AE.E3.82.AF.E3.83.AD.E3.82.B9.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AA.E5.8F.8D.E8.BB.A2.E8.A1.A8.E7.A4.BA">ブラウザ側でのクロスバックエンドな反転表示</h2><h3 id="h3-.E3.81.AF.E3.81.98.E3.82.81.E3.81.AB">はじめに</h3><p>ブラウザのネイティブな反転表示機能(css3)および、ブラウザの独自拡張や Flash 等のプラグインを使用する.[[BR]]
\r
266 <br />これらの機能をサポートしない、または切っているブラウザは、サーバー側で生成した画像を利用することになる.[[BR]]
\r
267 <br />ブラウザ側でなるべく画像を用意しサーバーへの負荷を極力抑えます.
\r
268 </p><h3 id="h3-.E4.BD.BF.E7.94.A8.E3.81.99.E3.82.8B.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89">使用するバックエンド</h3><h4 id="h4-css3">css3</h4><p>例
\r
269 <pre>img.img-flip-v { /* 上下反転 */
\r
270 transform: scale( 1, -1);
\r
271 -o-transform: scale( 1, -1);
\r
272 -ms-transform: scale( 1, -1);
\r
273 -moz-transform: scale( 1, -1);
\r
274 -webkit-transform: scale( 1, -1);
\r
276 img.img-flip-h { /* 左右反転 */
\r
277 transform: scale( -1, 1);
\r
278 -o-transform: scale( -1, 1);
\r
279 -ms-transform: scale( -1, 1);
\r
280 -moz-transform: scale( -1, 1);
\r
281 -webkit-transform: scale( -1, 1);
\r
283 img.img-flip-vh { /* 上下左右反転 */
\r
284 transform: scale( -1, -1);
\r
285 -o-transform: scale( -1, -1);
\r
286 -ms-transform: scale( -1, -1);
\r
287 -moz-transform: scale( -1, -1);
\r
288 -webkit-transform: scale( -1, -1);
\r
290 </pre></p><h4 id="h4-VML">VML</h4><p>例
\r
291 <pre>v\:image.img-flip-v {
\r
294 v\:image.img-flip-h {
\r
296 }v\:image.img-flip-vh {
\r
297 rotation : 180; /* vml */
\r
299 </pre>ie独自拡張の VML が ie6~8 での反転画像の本命となる.上記のように vml 用の css も使える.(ただし js による css の適用にくせがある.)[[BR]]
\r
300 <br />VML で表示された画像は、ie6 以下にある透過 png の問題も解消される.(但し ie6 のみ.ie5.5 以下では透過表示が不十分)[[BR]]
\r
301 <br /></p><blockquote class="citation"><p>Windows版 IE 5以降の VMLレンダラで半透明、透過PNGを表示する[[BR]]
\r
302 <br /><a href="http://www.minc.ne.jp/~konda/new/png/urawaza04.html" class="external" rel="nofollow">http://www.minc.ne.jp/~konda/new/png/urawaza04.html</a><br />
\r
303 IE 5 及び 5.5 (5.50.4133.200)の vgx.dll(Microsoft Vector Graphics Rendering(VML))は、Beta バージョンですから 半透明系は、以下の画像の様に擬似半透明表示(ディザリング)されます
\r
304 </p></blockquote><pre><!--[if !gte vml 1]><!--><img src="*.png" width="*" height="*" alt="*" /><!--<![endif]-->
\r
305 <!--[if gte vml 1]><v:image src="*.png" style="width: *px; height: *px; behavior: url(#default#vml)" alt="*" /><![endif]-->
\r
306 </pre><p>さらに、ActiveX よりも動作が速い(らしい).[[BR]]
\r
307 <br />但し VML は windows の構成によってはインストールされていない場合があり、必ずしも使えるわけではない.[[BR]]
\r
308 <br />itozyun の環境のひとつでも VML が使えなかった.nlite で削ってしまったためと思われる.
\r
309 </p><h3 id="h3-SVG">SVG</h3><p>svg な xml を js で作って data スキームで読み込む。Opera8+ でも画像反転できるかも。Opera9.6 で静的に埋め込んだ以上の html では反転表示ができた。ただし Firefox3.6 Chrome8 では表示できない。[[BR]]
\r
310 <br />dataスキームになった svg に対しては、画像の url を絶対座標で与える。
\r
311 svg を html に直接埋め込む方式では、なぜか手元で一度も成功していない。
\r
312 <pre><?xml version="1.0"?>
\r
313 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
\r
314 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
\r
315 <image x="0" y="0" width="200" height="200" xlink:href="1.gif" transform="scale(-1,1) translate(-200,0)" />
\r
317 </pre></p><ul><li><a href="http://software.hixie.ch/utilities/cgi/data/data" class="external" rel="nofollow">http://software.hixie.ch/utilities/cgi/data/data</a>
\r
318 </li><li>サイトの表示スピードを改善!dataスキームURIを使った画像の埋め込み http://labs.cybridge.jp/2011/12/data-uri.html
\r
319 <a href="http://labs.cybridge.jp/2011/12/data-uri.html" class="external" rel="nofollow">http://labs.cybridge.jp/2011/12/data-uri.html</a><ul><li>データスキーム対応ブラウザ
\r
325 </li></ul></li></ul><pre><img src="data:image/svg+xml;charset=utf-8,%3c%3fxml%20version%3d%221.0%22%3f%3e%3c!DOCTYPE%20svg%20PUBLIC%20%22-%2f%2fW3C%2f%2fDTD%20SVG%201.1%2f%2fEN%22%20%22http%3a%2f%2fwww.w3.org%2fGraphics%2fSVG%2f1.1%2fDTD%2fsvg11.dtd%22%3e%3csvg%20xmlns%3d%22http%3a%2f%2fwww.w3.org%2f2000%2fsvg%22%20version%3d%221.1%22%20xmlns%3axlink%3d%22http%3a%2f%2fwww.w3.org%2f1999%2fxlink%22%20width%3d%22200%22%20height%3d%22200%22%3e%3cimage%20x%3d%220%22%20y%3d%220%22%20width%3d%22200%22%20height%3d%22200%22%20xlink%3ahref%3d%22http%3a%2f%2fstatic.sourceforge.jp%2fthumb%2fg%2f2%2f930%2f640x640_0.png%22%20transform%3d%22scale(-1%2c1)%20translate(-200%2c0)%22%20%2f%3e%3c%2fsvg%3e">
\r
326 </pre><h4 id="h4-ActiveX">ActiveX</h4><pre>img.img-flip-v { /* 上下反転 */
\r
327 filter: progid:DXImageTransform.Microsoft.BasicImage( Mirror=1, Rotation=2);
\r
328 -ms-filter: progid:DXImageTransform.Microsoft.BasicImage( Mirror=1, Rotation=2);
\r
330 img.img-flip-h { /* 左右反転 */
\r
331 filter: progid:DXImageTransform.Microsoft.BasicImage( Mirror=1);
\r
332 -ms-filter: progid:DXImageTransform.Microsoft.BasicImage( Mirror=1);
\r
334 img.img-flip-vh { /* 上下左右反転 */
\r
335 filter: progid:DXImageTransform.Microsoft.BasicImage( Rotation=2);
\r
336 -ms-filter: progid:DXImageTransform.Microsoft.BasicImage( Rotation=2);
\r
338 </pre><p>ActiveX は、ie6 以下のための pngfix にも使いたいが、反転とAlpha Image Loader を同時に使用することはできない.[[BR]]
\r
339 <br />ie6では、ActiveX による反転は、png 画像に対しては使用できない.
\r
340 </p><h4 id="h4-Flash">Flash</h4><p>クロスドメインな画像に対しても、読み込み、反転表示は行える.[[BR]]
\r
341 <br />なるべく バージョンの古い Flash で用意してサポート範囲を広くしたいが、js と連携する ExternalInterface が使えなくなったりと多難かもしれない.
\r
342 <a href="http://sourceforge.jp/projects/pettanr/wiki/ExternalInterface">ExternalInterface</a></p><h4 id="h4-Canvas">Canvas</h4><p>同一ドメインの画像のみになるが、画像のピクセルデータを取得し反転しつつ描画することができる.[[BR]]
\r
343 <br /></p><blockquote class="citation"><p>Canvasによる画像ファイル(img要素)の読み書き[[BR]]
\r
344 <br /><a href="http://www.programmingmat.jp/webhtml_lab/canvas_image.html" class="external" rel="nofollow">http://www.programmingmat.jp/webhtml_lab/canvas_image.html</a>
\r
345 </p></blockquote><h4 id="h4-Silverlight">Silverlight</h4><h4 id="h4-.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.82.B5.E3.82.A4.E3.83.89.E7.94.BB.E5.83.8F">サーバーサイド画像</h4><p>サーバー側で反転画像を用する.このサーバ画像へのアクセスを極力減らすのが、X Backend Imageの目的のひとつ.
\r
346 <pre>picture/001.png
\r
350 </pre></p><h3 id="h3-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E6.A9.9F.E8.83.BD.E5.AF.BE.E5.BF.9C.E8.A1.A8">ブラウザ機能対応表</h3><table class="wikitable" border="1"><tbody><tr><td>バックエンド</td><td>ie5+5.5</td><td>ie6</td><td>ie7 & 8</td><td>ie9+</td><td>FF</td><td>Safari</td><td>Chrome</td><td>Opera</td></tr><tr><td>CSS3:transform</td><td>×</td><td>×</td><td>×</td><td>○</td><td>3.5+</td><td>3.1+(?)</td><td>1+</td><td>10.5+</td></tr><tr><td>VML</td><td>▲透過pngの表示が汚い</td><td>△</td><td>△環境による</td><td>?</td><td>×</td><td>×</td><td>×</td><td>×</td></tr><tr><td>Canvas</td><td>×</td><td>×</td><td>×</td><td>○</td><td>1.5+</td><td>1.3+</td><td>1+</td><td>9+</td></tr><tr><td>SVG +DATAスキーム</td><td>×</td><td>×</td><td>×</td><td>?</td><td>?</td><td>?</td><td>?</td><td>8+(?)</td></tr><tr><td>サーバー画像</td><td>△</td><td>△要pngfix</td><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td></tr></tbody></table>]]>
\r
354 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">
\r
355 <title>AboutModels</title>
\r
356 <link>http://sourceforge.jp/projects/pettanr/wiki/AboutModels</link>
\r
357 <dc:identifier>AboutModels</dc:identifier>
\r
358 <dc:date>2012-01-05T17:49:46+09:00</dc:date>
\r
362 下記のページを参考にすれば生成できるはずだが、Windows環境では画像に落とせない。
\r
364 * http://sawada0903.blogspot.com/2010/10/rails30er.html
\r
365 * http://rails-erd.rubyforge.org/install.html
\r
367 出力されるERD.dotはdotっていうグラフ描画ツールのマクロ。
\r
372 <![CDATA[<h1 id="h1-ER.E5.9B.B3">ER図</h1><p>下記のページを参考にすれば生成できるはずだが、Windows環境では画像に落とせない。
\r
373 </p><ul><li><a href="http://sawada0903.blogspot.com/2010/10/rails30er.html" class="external" rel="nofollow">http://sawada0903.blogspot.com/2010/10/rails30er.html</a>
\r
374 </li><li><a href="http://rails-erd.rubyforge.org/install.html" class="external" rel="nofollow">http://rails-erd.rubyforge.org/install.html</a>
\r
375 </li></ul><p>出力されるERD.dotはdotっていうグラフ描画ツールのマクロ。
\r
376 </p><p><a href="http://sourceforge.jp/projects/pettanr/wiki/GraphViz">GraphViz</a>のbinにdot.exeがあるからこれで画像にできる
\r
377 <pre>dot.exe -Tgif ERD.dot > erd.gif
\r
378 </pre></p><h1 id="h1-.E3.83.86.E3.83.BC.E3.83.96.E3.83.AB.E3.81.A8.E3.82.AB.E3.83.A9.E3.83.A0">テーブルとカラム</h1><h2 id="h2-admins.20.E7.AE.A1.E7.90.86.E8.80.85">admins 管理者</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>email</td><td></td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>encrypted_password</td><td></td><td>string</td><td> </td><td>FALSE</td><td>128</td><td></td></tr><tr><td>reset_password_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>reset_password_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>remember_created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>sign_in_count</td><td></td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmed_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AdminModel">AdminModel</a>
\r
379 </li></ul><h2 id="h2-artists.20.E7.B5.B5.E5.B8.AB">artists 絵師</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>email</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>homepage_url</td><td>ホームページURL</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>api_url</td><td>素材配布APIのURL</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>default_lisence_id</td><td>省略時のライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>crowled_at</td><td>素材配布APIの最新呼び出し時刻</td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>author_id</td><td>作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistModel">ArtistModel</a>
\r
380 </li></ul><h2 id="h2-authors.20.E4.BD.9C.E5.AE.B6">authors 作家</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ペンネーム</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>email</td><td>メールアドレス</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>encrypted_password</td><td></td><td>string</td><td> </td><td>FALSE</td><td>128</td><td></td></tr><tr><td>reset_password_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>reset_password_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>remember_created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>sign_in_count</td><td></td><td>integer</td><td>0</td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>current_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>last_sign_in_ip</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>authentication_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_token</td><td></td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmed_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>confirmation_sent_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorModel">AuthorModel</a>
\r
381 </li></ul><h2 id="h2-balloon_templates.20.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E6.9E.A0.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">balloon_templates フキダシ枠テンプレート</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>speach_balloon_id</td><td>フキダシテンプレートid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>system_picture_id</td><td>フキダシ素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail</td><td>尻尾の向き</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size</td><td>サイズのバリエーション</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>min_width</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>max_width</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>min_height</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>max_height</td><td>サイズ切り替えしきい値</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BallonTemplateModel">BallonTemplateModel</a>
\r
382 </li></ul><h2 id="h2-balloons.20.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7">balloons フキダシ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>panel_id</td><td>所属パネルid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>balloon_template_id</td><td>フキダシ枠テンプレート種id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>system_picture_id</td><td>フキダシ素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail</td><td>尻尾の向き</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size</td><td>サイズのバリエーション</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>z</td><td>表示順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>表示幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>表示高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonModel">BalloonModel</a>
\r
383 </li></ul><h2 id="h2-comics.20.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF">comics コミック</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>title</td><td>作品名</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>width</td><td>コマの幅デフォルト値</td><td>integer</td><td>200</td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマの高さデフォルト値</td><td>integer</td><td>80</td><td>FALSE</td><td> </td><td></td></tr><tr><td>visible</td><td>公開フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>可視範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>editable</td><td>編集フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>許可範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>author_id</td><td>作者の作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicModel">ComicModel</a>
\r
384 </li></ul><h2 id="h2-common_lisences.20.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">common_lisences コモンライセンス</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>lisence_id</td><td>ライセンスid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLisenceModel">CommonLisenceModel</a>
\r
385 </li></ul><h2 id="h2-lisences.20.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">lisences ライセンス</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/LisenceModel">LisenceModel</a>
\r
386 </li></ul><h2 id="h2-original_lisences.20.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">original_lisences オリジナルライセンス</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>artist_id</td><td>ライセンス策定者 絵師id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>lisence_id</td><td>ライセンスid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>name</td><td>ライセンス名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>url</td><td>条項ページURL</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_by</td><td>クリエイティブコモンズBYフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_sa</td><td>クリエイティブコモンズSAフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nd</td><td>クリエイティブコモンズNDフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>cc_nc</td><td>クリエイティブコモンズNCフラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_resize</td><td>サイズ変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_flip</td><td>反転不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>keep_aspect_ratio</td><td>縦横比変更不可フラグ</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLisenceModel">OriginalLisenceModel</a>
\r
387 </li></ul><h2 id="h2-original_pictures.20.E5.8E.9F.E7.94.BB">original_pictures 原画</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>artist_id</td><td>投稿者 絵師id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>lisence_id</td><td>付与ライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>
\r
388 </li></ul><h2 id="h2-system_pictures.20.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E7.94.BB.E5.83.8F">system_pictures システム画像</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SystemPictureModel">SystemPictureModel</a>
\r
389 </li></ul><h2 id="h2-panel_pictures.20.E3.82.B3.E3.83.9E.E7.B5.B5">panel_pictures コマ絵</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>panel_id</td><td>所属パネル</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>素材id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>link</td><td>リンク</td><td>string</td><td> </td><td> </td><td>200</td><td>参照するページをリンクできる</td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>z</td><td>表示順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>コマ絵の幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマ絵の高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>flipv</td><td>垂直反転</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>fliph</td><td>水平反転</td><td>integer</td><td>0</td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">PanelPictureModel</a>
\r
390 </li></ul><h2 id="h2-panels.20.E3.82.B3.E3.83.9E">panels コマ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>comic_id</td><td>所属コミック</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>resource_picture_id</td><td>背景画像 素材id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>width</td><td>コマの幅</td><td>integer</td><td>200</td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>コマの高さ</td><td>integer</td><td>80</td><td>FALSE</td><td> </td><td></td></tr><tr><td>border</td><td>コマの枠線の太さ</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>y</td><td>表示位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>z</td><td>表示優先順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>t</td><td>コマ番号</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>author_id</td><td>コマの投稿者 作家id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelModel">PanelModel</a>
\r
391 </li></ul><h2 id="h2-resource_pictures.20.E7.B4.A0.E6.9D.90">resource_pictures 素材</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>ext</td><td>画像フォーマット</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅ピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さピクセル数</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>filesize</td><td>画像サイズ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>artist_id</td><td>投稿者 絵師id</td><td>integer</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>lisence_id</td><td>付与ライセンスid</td><td>integer</td><td> </td><td> </td><td> </td><td><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicture">OriginalPicture</a>のコピー 変更不可</td></tr><tr><td>original_picture_id</td><td>原画id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a>
\r
392 </li></ul><h2 id="h2-speach_balloons.20.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">speach_balloons フキダシテンプレート</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>name</td><td>フキダシ名</td><td>string</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>tail_count</td><td>尻尾の向きの数</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>size_count</td><td>サイズのバリエーション数</td><td>integer</td><td>1</td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>表示順</td><td>integer</td><td>1</td><td>false</td><td> </td><td>ファイルエクスプローラーなどで</td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonModel">SpeachBalloonModel</a>
\r
393 </li></ul><h2 id="h2-speach_templates.20.E3.82.BB.E3.83.AA.E3.83.95.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">speach_templates セリフテンプレート</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>balloon_template_id</td><td>フキダシ枠テンプレートid</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>width</td><td>幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplateModel">SpeachTemplateModel</a>
\r
394 </li></ul><h2 id="h2-speaches.20.E3.82.BB.E3.83.AA.E3.83.95">speaches セリフ</h2><table class="wikitable" border="1"><tbody><tr><td>name</td><td>和名</td><td>type</td><td>default</td><td>null</td><td>limit</td><td>note</td></tr><tr><td>balloon_id</td><td>フキダシ枠id</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>content</td><td>台詞</td><td>string</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>x</td><td>表示開始位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>y</td><td>表示開始位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr><tr><td>width</td><td>幅</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>height</td><td>高さ</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td></td></tr><tr><td>created_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr><tr><td>updated_at</td><td></td><td>datetime</td><td> </td><td> </td><td> </td><td></td></tr></tbody></table><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachModel">SpeachModel</a>
\r
398 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor">
\r
399 <title>JavascriptEditor</title>
\r
401 <link>http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor</link>
\r
402 <dc:identifier>JavascriptEditor</dc:identifier>
\r
403 <dc:date>2012-01-04T22:04:51+09:00</dc:date>
\r
405 <![CDATA[= Javascript
\r
406 js は 閲覧時 に使われるもの、ログイン後に使われるもの、その両方で使われるものがある.
\r
420 <![CDATA[<h1 id="h1-Javascript">Javascript</h1><div class="indent">js は 閲覧時 に使われるもの、ログイン後に使われるもの、その両方で使われるものがある.
\r
421 </div><h2 id="h2-common.js">common.js</h2><ul><li>pettnar.
\r
422 </li><li>pettanr.const
\r
423 </li><li>pettanr.ua
\r
424 <ul><li>ブラウザの情報、プラグインの情報
\r
425 </li></ul></li><li>pettnar.util
\r
427 </li></ul></li><li>pettnar.overlay
\r
428 <ul><li>ポップアップオーバーレイを管理する.
\r
429 </li></ul></li><li>pettnar.key
\r
430 <ul><li>キーイベントの発行、テキスト入力エリアの管理
\r
431 </li></ul></li><li>pettnar.balloon
\r
432 <ul><li>クロスバックエンドな吹きだし画像のためのラッパーの発行.XbackendSpeachBalloon
\r
433 <a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">XbackendSpeachBalloon</a></li><li>SVG, VML といったベクター画像で吹きだし(balloon)を描画する(ベクター画像のサポートがない場合は代替画像を表示する)
\r
434 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">AboutSpeachBalloon</a>
\r
435 </li></ul></li><li>pettnar.image
\r
436 <ul><li>クロスバックエンドな、Reversible Image のためのラッパーを発行.XbackendReversibleImage
\r
437 <a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">XbackendReversibleImage</a></li><li>css3, VML, ActiveX, Flash, サーバー側で生成した反転画像 を使用して画像の反転を行う.
\r
438 </li><li>透過 PNG のサポートが甘い IE6 以下にたいして、VML, Flash, ActiveX+サーバー画像 による描画サポートを行う.PngFix
\r
439 <a href="http://sourceforge.jp/projects/pettanr/wiki/PngFix">PngFix</a></li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">PictureIo</a>
\r
440 </li></ul></li><li>pettnar.i18n
\r
441 <ul><li>マルチ言語情報の保持.言語変更イベントの管理.
\r
442 </li></ul></li><li>pettnar.io
\r
444 </li><li>xml としてサーバに置かれた ajax なリソースに対して、ajax feed api を使った json リクエスト(xmlより転送量が少ない)などの 複数経路でリクエストを行うラッパー
\r
445 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">JsonApi</a>
\r
446 </li></ul></li><li>pettnar.load
\r
447 <ul><li>work.js と jQuery のロード.min や debag version の切り替え.jQuery version の切り替え.
\r
448 </li></ul></li></ul><h2 id="h2-work.js">work.js</h2><p>ログイン後のユーザー(管理者)の操作.コミック・画像の管理やコマの作成.
\r
449 </p><ul><li>pettnar.view
\r
450 <ul><li>現在のビューを管理する.Window Resize イベントの監視.
\r
451 </li></ul></li><li>pettnar.editor
\r
453 </li></ul></li><li>pettnar.file
\r
454 <ul><li>サーバから取得したリソース情報を保持し、データの取得やアクセス権のチェック、データのアップデートをラップする.
\r
455 </li></ul></li><li>pettnar.finder
\r
456 <ul><li>ファイル(リソース)エクスプローラー
\r
457 </li><li>コミック、コマ、画像、吹きだし、画像提供絵師情報</li></ul></li></ul>]]>
\r
460 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc">
\r
461 <title>ChangeDoc</title>
\r
462 <link>http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc</link>
\r
463 <dc:identifier>ChangeDoc</dc:identifier>
\r
465 <dc:date>2012-01-04T18:19:48+09:00</dc:date>
\r
471 * border → size
\r
472 * min_width →
\r
473 * max_width →
\r
474 * min_height →
\r
475 * max_height →
\r
477 * border → size
\r
481 <![CDATA[<h1 id="h1-.E6.94.B9.E5.A4.89.E4.BA.88.E5.91.8A">改変予告</h1><h2 id="h2-.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E5.A4.89.E5.90.8D">モデルの変名</h2><p>balloon_templates
\r
482 </p><ul><li>border → size
\r
483 </li><li>min_width →
\r
484 </li><li>max_width →
\r
485 </li><li>min_height →
\r
486 </li><li>max_height →
\r
487 </li></ul><p>balloons
\r
488 </p><ul><li>border → size
\r
489 </li><li>zindex → z
\r
490 </li><li>top_offset → y
\r
491 </li><li>left_offset → x
\r
494 </li></ul><p>comics
\r
495 </p><ul><li>default_width → width
\r
496 </li><li>default_height → height
\r
497 </li></ul><p>original_pictures
\r
498 </p><ul><li>width →
\r
500 </li></ul><p>panel_pictures
\r
501 </p><ul><li>width →
\r
503 </li><li>top_offset → y
\r
504 </li><li>left_offset → x
\r
505 </li><li>zindex → z
\r
508 </li></ul><p>panels
\r
509 </p><ul><li>width →
\r
512 </li></ul><p>speach_balloons
\r
513 </p><ul><li>tail_limit → tail_count
\r
514 </li><li>border_limit → size_count
\r
515 </li></ul><p>speach_templates
\r
516 </p><ul><li>top_offset → y
\r
517 </li><li>left_offset → x
\r
520 </li></ul><p>speaches
\r
521 </p><ul><li>top_offset → y
\r
522 </li><li>left_offset → x
\r
525 </li></ul><p>balloons
\r
526 <table class="wikitable" border="1"><tbody><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:ストーリー上の順序も品質に関わるため
\r
528 <table class="wikitable" border="1"><tbody><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:ストーリー上の順序も品質に関わるため
\r
530 <table class="wikitable" border="1"><tbody><tr><td>x</td><td>表示位置x</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>y</td><td>表示位置y</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr><tr><td>z</td><td>表示優先順位</td><td>integer</td><td> </td><td>FALSE</td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:将来の拡張に備えるため
\r
531 </p><p>panel_pictures
\r
532 <table class="wikitable" border="1"><tbody><tr><td>url</td><td>リンク</td><td>string</td><td> </td><td> </td><td>200</td><td>参照するページをリンクできる</td></tr></tbody></table></p><p>追加理由:本家から取り込んでなかった
\r
533 <table class="wikitable" border="1"><tbody><tr><td>t</td><td>時間軸 順序</td><td>integer</td><td>1</td><td>false</td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:ストーリー上の順序も品質に関わるため
\r
535 <table class="wikitable" border="1"><tbody><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:ie6がpng透過できないためgif変換の必要ができたため
\r
536 </p><p>common_lisences
\r
537 <table class="wikitable" border="1"><tbody><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:ie6がpng透過できないためgif変換の必要ができたため
\r
538 </p><p>original_lisences
\r
539 <table class="wikitable" border="1"><tbody><tr><td>no_convert</td><td>フォーマット・色合い変換の禁止</td><td>integer</td><td> </td><td> </td><td> </td><td> </td></tr></tbody></table></p><p>追加理由:ie6がpng透過できないためgif変換の必要ができたため
\r
541 <table class="wikitable" border="1"><tbody><tr><td>visible</td><td>公開フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>可視範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr><tr><td>editable</td><td>編集フラグ</td><td>integer</td><td>0</td><td>false</td><td> </td><td>許可範囲 0:本人のみ 1:友人まで 2:ユーザまで 3:誰でも</td></tr></tbody></table></p><p>追加理由:本家から取り込んでなかった
\r
542 </p><p>speach_balloons
\r
543 <table class="wikitable" border="1"><tbody><tr><td>t</td><td>表示順</td><td>integer</td><td>1</td><td>false</td><td> </td><td>ファイルエクスプローラーなどで</td></tr></tbody></table></p>]]>
\r
547 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema">
\r
548 <title>DatabaseSchema</title>
\r
549 <link>http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema</link>
\r
550 <dc:identifier>DatabaseSchema</dc:identifier>
\r
551 <dc:date>2012-01-04T18:05:04+09:00</dc:date>
\r
557 ActiveRecord::Schema.define(:version => 20120102071851) do
\r
559 create_table "admins", :force => true do |t|
\r
560 t.string "email", ]]>
\r
564 <![CDATA[<h1 id="h1-.E5.AE.9A.E7.BE.A9">定義</h1><p>超やっつけだけど、無いよりはマシか。
\r
565 </p><pre>ActiveRecord::Schema.define(:version => 20120102071851) do
\r
567 create_table "admins", :force => true do |t|
\r
568 t.string "email", :default => "", :null => false
\r
569 t.string "encrypted_password", :limit => 128, :default => "", :null => false
\r
570 t.string "reset_password_token"
\r
571 t.datetime "reset_password_sent_at"
\r
572 t.datetime "remember_created_at"
\r
573 t.integer "sign_in_count", :default => 0
\r
574 t.datetime "current_sign_in_at"
\r
575 t.datetime "last_sign_in_at"
\r
576 t.string "current_sign_in_ip"
\r
577 t.string "last_sign_in_ip"
\r
578 t.string "confirmation_token"
\r
579 t.datetime "confirmed_at"
\r
580 t.datetime "confirmation_sent_at"
\r
581 t.string "authentication_token"
\r
582 t.datetime "created_at"
\r
583 t.datetime "updated_at"
\r
586 add_index "admins", ["authentication_token"], :name => "index_admins_on_authentication_token", :unique => true
\r
587 add_index "admins", ["confirmation_token"], :name => "index_admins_on_confirmation_token", :unique => true
\r
588 add_index "admins", ["email"], :name => "index_admins_on_email", :unique => true
\r
589 add_index "admins", ["reset_password_token"], :name => "index_admins_on_reset_password_token", :unique => true
\r
591 create_table "artists", :force => true do |t|
\r
592 t.string "email"
\r
593 t.string "name"
\r
594 t.string "homepage_url"
\r
595 t.string "api_url"
\r
596 t.integer "default_lisence_id"
\r
597 t.datetime "crowled_at"
\r
598 t.datetime "created_at"
\r
599 t.datetime "updated_at"
\r
600 t.integer "author_id"
\r
603 create_table "authors", :force => true do |t|
\r
604 t.string "name"
\r
605 t.string "email", :default => "", :null => false
\r
606 t.string "encrypted_password", :limit => 128, :default => "", :null => false
\r
607 t.string "reset_password_token"
\r
608 t.datetime "reset_password_sent_at"
\r
609 t.datetime "remember_created_at"
\r
610 t.integer "sign_in_count", :default => 0
\r
611 t.datetime "current_sign_in_at"
\r
612 t.datetime "last_sign_in_at"
\r
613 t.string "current_sign_in_ip"
\r
614 t.string "last_sign_in_ip"
\r
615 t.string "authentication_token"
\r
616 t.string "confirmation_token"
\r
617 t.datetime "confirmed_at"
\r
618 t.datetime "confirmation_sent_at"
\r
619 t.datetime "created_at"
\r
620 t.datetime "updated_at"
\r
623 add_index "authors", ["authentication_token"], :name => "index_authors_on_authentication_token", :unique => true
\r
624 add_index "authors", ["confirmation_token"], :name => "index_authors_on_confirmation_token", :unique => true
\r
625 add_index "authors", ["email"], :name => "index_authors_on_email", :unique => true
\r
626 add_index "authors", ["reset_password_token"], :name => "index_authors_on_reset_password_token", :unique => true
\r
628 create_table "balloon_templates", :force => true do |t|
\r
629 t.integer "speach_balloon_id", :null => false
\r
630 t.integer "system_picture_id", :null => false
\r
631 t.integer "tail", :default => 1, :null => false
\r
632 t.integer "size", :default => 1, :null => false
\r
633 t.integer "min_width", :default => 0, :null => false
\r
634 t.integer "max_width", :default => 0, :null => false
\r
635 t.integer "min_height", :default => 0, :null => false
\r
636 t.integer "max_height", :default => 0, :null => false
\r
637 t.datetime "created_at"
\r
638 t.datetime "updated_at"
\r
641 add_index "balloon_templates", ["speach_balloon_id", "tail", "size"], :name => "balloon_templates_idts", :unique => true
\r
642 add_index "balloon_templates", ["speach_balloon_id"], :name => "index_balloon_templates_on_speach_balloon_id"
\r
644 create_table "balloons", :force => true do |t|
\r
645 t.integer "panel_id", :null => false
\r
646 t.integer "balloon_template_id", :null => false
\r
647 t.integer "system_picture_id", :null => false
\r
648 t.integer "tail", :default => 1, :null => false
\r
649 t.integer "size", :default => 1, :null => false
\r
650 t.integer "x", :null => false
\r
651 t.integer "y", :null => false
\r
652 t.integer "z", :null => false
\r
653 t.integer "t", :default => 1, :null => false
\r
654 t.integer "width", :null => false
\r
655 t.integer "height", :null => false
\r
656 t.datetime "created_at"
\r
657 t.datetime "updated_at"
\r
660 add_index "balloons", ["panel_id", "t"], :name => "balloon_idt", :unique => true
\r
661 add_index "balloons", ["panel_id"], :name => "index_balloons_on_panel_id"
\r
663 create_table "comics", :force => true do |t|
\r
664 t.string "title"
\r
665 t.integer "width", :default => 200, :null => false
\r
666 t.integer "height", :default => 80, :null => false
\r
667 t.integer "visible", :default => 0, :null => false
\r
668 t.integer "editable", :default => 0, :null => false
\r
669 t.integer "author_id"
\r
670 t.datetime "created_at"
\r
671 t.datetime "updated_at"
\r
674 add_index "comics", ["author_id"], :name => "index_comics_on_author_id"
\r
676 create_table "common_lisences", :force => true do |t|
\r
677 t.integer "lisence_id", :null => false
\r
678 t.string "name", :null => false
\r
679 t.string "url", :null => false
\r
680 t.integer "cc_by", :default => 0, :null => false
\r
681 t.integer "cc_sa", :default => 0, :null => false
\r
682 t.integer "cc_nd", :default => 0, :null => false
\r
683 t.integer "cc_nc", :default => 0, :null => false
\r
684 t.integer "no_resize", :default => 0, :null => false
\r
685 t.integer "no_flip", :default => 0, :null => false
\r
686 t.integer "no_convert", :default => 0, :null => false
\r
687 t.integer "keep_aspect_ratio", :default => 0, :null => false
\r
688 t.datetime "created_at"
\r
689 t.datetime "updated_at"
\r
692 create_table "lisences", :force => true do |t|
\r
693 t.string "name", :null => false
\r
694 t.string "url", :null => false
\r
695 t.integer "cc_by", :default => 0, :null => false
\r
696 t.integer "cc_sa", :default => 0, :null => false
\r
697 t.integer "cc_nd", :default => 0, :null => false
\r
698 t.integer "cc_nc", :default => 0, :null => false
\r
699 t.integer "no_resize", :default => 0, :null => false
\r
700 t.integer "no_flip", :default => 0, :null => false
\r
701 t.integer "no_convert", :default => 0, :null => false
\r
702 t.integer "keep_aspect_ratio", :default => 0, :null => false
\r
703 t.datetime "created_at"
\r
704 t.datetime "updated_at"
\r
707 add_index "lisences", ["url"], :name => "index_lisences_on_url", :unique => true
\r
709 create_table "original_lisences", :force => true do |t|
\r
710 t.integer "artist_id", :null => false
\r
711 t.integer "lisence_id", :null => false
\r
712 t.string "name", :null => false
\r
713 t.string "url", :null => false
\r
714 t.integer "cc_by", :default => 0, :null => false
\r
715 t.integer "cc_sa", :default => 0, :null => false
\r
716 t.integer "cc_nd", :default => 0, :null => false
\r
717 t.integer "cc_nc", :default => 0, :null => false
\r
718 t.integer "no_resize", :default => 0, :null => false
\r
719 t.integer "no_flip", :default => 0, :null => false
\r
720 t.integer "no_convert", :default => 0, :null => false
\r
721 t.integer "keep_aspect_ratio", :default => 0, :null => false
\r
722 t.datetime "created_at"
\r
723 t.datetime "updated_at"
\r
726 create_table "original_pictures", :force => true do |t|
\r
727 t.string "ext", :null => false
\r
728 t.integer "width", :null => false
\r
729 t.integer "height", :null => false
\r
730 t.integer "filesize", :null => false
\r
731 t.integer "artist_id"
\r
732 t.integer "lisence_id"
\r
733 t.datetime "created_at"
\r
734 t.datetime "updated_at"
\r
737 add_index "original_pictures", ["artist_id"], :name => "index_original_pictures_on_artist_id"
\r
739 create_table "panel_pictures", :force => true do |t|
\r
740 t.integer "panel_id", :null => false
\r
741 t.integer "resource_picture_id", :null => false
\r
742 t.string "url", :limit => 200
\r
743 t.integer "x", :null => false
\r
744 t.integer "y", :null => false
\r
745 t.integer "z", :null => false
\r
746 t.integer "t", :default => 1, :null => false
\r
747 t.integer "width", :null => false
\r
748 t.integer "height", :null => false
\r
749 t.integer "flipv", :default => 0, :null => false
\r
750 t.integer "fliph", :default => 0, :null => false
\r
751 t.datetime "created_at"
\r
752 t.datetime "updated_at"
\r
755 add_index "panel_pictures", ["panel_id", "t"], :name => "panel_pictures_idt", :unique => true
\r
757 create_table "panels", :force => true do |t|
\r
758 t.integer "comic_id", :null => false
\r
759 t.integer "resource_picture_id"
\r
760 t.integer "width", :default => 200, :null => false
\r
761 t.integer "height", :default => 80, :null => false
\r
762 t.integer "border", :default => 1, :null => false
\r
763 t.integer "x", :null => false
\r
764 t.integer "y", :null => false
\r
765 t.integer "z", :null => false
\r
766 t.integer "t", :default => 1, :null => false
\r
767 t.integer "author_id"
\r
768 t.datetime "created_at"
\r
769 t.datetime "updated_at"
\r
772 add_index "panels", ["author_id"], :name => "index_panels_on_author_id"
\r
773 add_index "panels", ["comic_id", "t"], :name => "panels_idt", :unique => true
\r
775 create_table "resource_pictures", :force => true do |t|
\r
776 t.string "ext", :null => false
\r
777 t.integer "width", :null => false
\r
778 t.integer "height", :null => false
\r
779 t.integer "filesize", :null => false
\r
780 t.integer "artist_id"
\r
781 t.integer "lisence_id"
\r
782 t.integer "original_picture_id", :null => false
\r
783 t.datetime "created_at"
\r
784 t.datetime "updated_at"
\r
787 create_table "speach_balloons", :force => true do |t|
\r
788 t.string "name", :null => false
\r
789 t.integer "tail_count", :default => 1, :null => false
\r
790 t.integer "size_count", :default => 1, :null => false
\r
791 t.integer "t", :default => 1, :null => false
\r
792 t.datetime "created_at"
\r
793 t.datetime "updated_at"
\r
796 add_index "speach_balloons", ["t"], :name => "speach_balloons_t", :unique => true
\r
798 create_table "speach_templates", :force => true do |t|
\r
799 t.integer "balloon_template_id", :null => false
\r
800 t.integer "x", :null => false
\r
801 t.integer "y", :null => false
\r
802 t.integer "t", :default => 1, :null => false
\r
803 t.integer "width", :null => false
\r
804 t.integer "height", :null => false
\r
805 t.datetime "created_at"
\r
806 t.datetime "updated_at"
\r
809 add_index "speach_templates", ["balloon_template_id", "t"], :name => "speach_templates_idt", :unique => true
\r
811 create_table "speaches", :force => true do |t|
\r
812 t.integer "balloon_id", :null => false
\r
813 t.string "content"
\r
814 t.integer "x", :null => false
\r
815 t.integer "y", :null => false
\r
816 t.integer "t", :default => 1, :null => false
\r
817 t.integer "width", :null => false
\r
818 t.integer "height", :null => false
\r
819 t.datetime "created_at"
\r
820 t.datetime "updated_at"
\r
823 add_index "speaches", ["balloon_id", "t"], :name => "speaches_bt", :unique => true
\r
824 add_index "speaches", ["balloon_id"], :name => "index_speaches_on_balloon_id"
\r
826 create_table "system_pictures", :force => true do |t|
\r
827 t.string "ext", :null => false
\r
828 t.integer "width", :null => false
\r
829 t.integer "height", :null => false
\r
830 t.integer "filesize", :null => false
\r
831 t.datetime "created_at"
\r
832 t.datetime "updated_at"
\r
839 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController">
\r
840 <title>SpeachBalloonsController</title>
\r
841 <link>http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController</link>
\r
843 <dc:identifier>SpeachBalloonsController</dc:identifier>
\r
844 <dc:date>2012-01-04T07:58:05+09:00</dc:date>
\r
846 <![CDATA[= フキダシテンプレート
\r
847 コマ上に添付するためのフキダシ見本と、それを管理する処理。主に二つの使われ方をする。
\r
849 * 作家が使うエディタ上のフキダシエクスプローラーで見本として表示するための情報をjsonで返す。
\r
850 * 管理者がフキダシの基礎情報をメンテナンスする。
\r
852 メンテナンスはjson経由で行うことが多い。枠テンプレートとセリフテンプレートのすべての情報を同時に更新する必要があ]]>
\r
855 <![CDATA[<h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">フキダシテンプレート</h1><p>コマ上に添付するためのフキダシ見本と、それを管理する処理。主に二つの使われ方をする。
\r
856 </p><ul><li>作家が使うエディタ上のフキダシエクスプローラーで見本として表示するための情報をjsonで返す。
\r
857 </li><li>管理者がフキダシの基礎情報をメンテナンスする。
\r
858 </li></ul><p>メンテナンスはjson経由で行うことが多い。枠テンプレートとセリフテンプレートのすべての情報を同時に更新する必要があるためである。詳しくはAboutSpeachBalloon。
\r
859 <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">AboutSpeachBalloon</a></p><p>参考:Spea<a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonModel">SpeachBalloonModel</a></p><h2 id="h2-index">index</h2><p>一覧形式
\r
860 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>なし</td></tr><tr><td>権限</td><td>作家/管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>○</td></tr></tbody></table></p><p>主にクライアントのエディタがフキダシリストを得るために使う。全レコードがt順で返る。
\r
861 </p><p>html形式では、管理者がメンテナンスのために閲覧する。重要なカラムの情報が一覧で表示されるほか、showへの誘導と、削除のボタンが配置される。
\r
862 </p><h2 id="h2-show">show</h2><p>単票形式
\r
863 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>管理者がメンテナンスのために閲覧する機能。
\r
864 </p><h2 id="h2-create">create</h2><p>作成
\r
865 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>json形式で</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>管理者がフキダシを追加するための機能。
\r
866 </p><p>jsonデータを元にフキダシテンプレートを作成する。データ作成方法はHowToMakeSpeachBalloonを見る。
\r
867 <a href="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">HowToMakeSpeachBalloon</a></p><h2 id="h2-update">update</h2><p>更新
\r
868 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>×</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>管理者がフキダシを修正するための機能。
\r
869 </p><p>指定されたidのフキダシテンプレートを、jsonデータを元に更新する。データ作成方法はHowToMakeSpeachBalloonを見る。
\r
870 <a href="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">HowToMakeSpeachBalloon</a></p><h3 id="h3-.E4.BE.8B.E5.A4.96">例外</h3><p>権限がないアカウントで要求された場合は、処理を中断し、サインインを促すページに遷移する。
\r
871 指定されたidが存在しない場合は、404エラーコードが返る。
\r
872 </p><h2 id="h2-destroy">destroy</h2><p>削除
\r
873 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr><tr><td>html</td><td>○</td></tr><tr><td>json</td><td>○</td></tr><tr><td>jsonp</td><td>×</td></tr></tbody></table></p><p>指定されたidのフキダシテンプレートを削除する。フキダシテンプレートだけでなく、枠テンプレートとセリフテンプレートも同時に削除される。
\r
874 </p><h3 id="h3-.E4.BE.8B.E5.A4.96-2">例外</h3><p>権限がないアカウントで要求された場合は、処理を中断し、サインインを促すページに遷移する。
\r
875 指定されたidが存在しない場合は、404エラーコードが返る。
\r
880 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">
\r
881 <title>PanelPictureModel</title>
\r
882 <link>http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel</link>
\r
883 <dc:identifier>PanelPictureModel</dc:identifier>
\r
884 <dc:date>2012-01-03T12:34:36+09:00</dc:date>
\r
888 コマ上に添付された素材に関するデータ。
\r
890 参考:PanelPicturesController
\r
895 コマ絵は常にパネル経由で作成されるため、PanelsControllerからjsonフォーマットで送信する。
\r
897 コマ絵は素材のコピーなので、素材ResourcePictureModelのデータを元に作成する。行の新規作成時はデフォルト値と]]>
\r
900 <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9E.E7.B5.B5">コマ絵</h1><p>コマ上に添付された素材に関するデータ。
\r
901 </p><p>参考:Pane<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">PanelPicturesController</a></p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2><p>コマ絵は常にパネル経由で作成されるため、PanelsControllerからjsonフォーマットで送信する。
\r
902 <a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a></p><p>コマ絵は素材のコピーなので、素材ResourcePictureModelのデータを元に作成する。<a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">ResourcePictureModel</a>のように値をコピーすること。
\r
903 </p><table class="wikitable" border="1"><tbody><tr><td><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicture">PanelPicture</a></td><td><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicture">ResourcePicture</a></td></tr><tr><td>width</td><td>width</td></tr></tbody></table>]]>
\r
906 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel">
\r
907 <title>ResourcePictureModel</title>
\r
909 <link>http://sourceforge.jp/projects/pettanr/wiki/ResourcePictureModel</link>
\r
910 <dc:identifier>ResourcePictureModel</dc:identifier>
\r
911 <dc:date>2012-01-03T11:56:43+09:00</dc:date>
\r
914 絵師から提供された原画OriginalPictureModelをコマPanel上で扱いやすいように整えた画像に関するデータ。
\r
916 参考:ResourcePicturesController
\r
925 <![CDATA[<h1 id="h1-.E7.B4.A0.E6.9D.90">素材</h1><p>絵師から提供された原画OriginalPictureModelをコ<a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPictureModel">OriginalPictureModel</a>像に関するデータ。
\r
926 </p><p>参考:Reso<a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a></p><h2 id="h2-.E3.82.AB.E3.83.A9.E3.83.A0">カラム</h2><h2 id="h2-.E4.BD.9C.E6.88.90.E6.89.8B.E9.A0.86">作成手順</h2>]]>
\r
929 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">
\r
930 <title>PanelPicturesController</title>
\r
931 <link>http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController</link>
\r
932 <dc:identifier>PanelPicturesController</dc:identifier>
\r
934 <dc:date>2012-01-03T11:39:51+09:00</dc:date>
\r
939 コマ絵の操作はパネル経由でしか許可されていないので、処理することはない。かろうじて管理者がレコード値を閲覧できるのみである。
\r
941 参考:PanelPictureModel
\r
954 <![CDATA[<h1 id="h1-.E3.82.B3.E3.83.9E.E7.B5.B5">コマ絵</h1><p>コマ上に添付された素材に関する処理。
\r
955 </p><p>コマ絵の操作はパネル経由でしか許可されていないので、処理することはない。かろうじて管理者がレコード値を閲覧できるのみである。
\r
956 </p><p>参考:Pane<a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPictureModel">PanelPictureModel</a></p><h2 id="h2-index">index</h2><p>一覧形式
\r
957 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>なし</td></tr><tr><td>権限</td><td>管理者</td></tr></tbody></table></p><h2 id="h2-show">show</h2><p>単票形式
\r
958 <table class="wikitable" border="1"><tbody><tr><td>パラメータ</td><td>id</td></tr><tr><td>権限</td><td>管理者</td></tr></tbody></table></p>]]>
\r
962 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers">
\r
963 <title>ForDevelopers</title>
\r
964 <link>http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers</link>
\r
965 <dc:identifier>ForDevelopers</dc:identifier>
\r
966 <dc:date>2012-01-02T13:28:58+09:00</dc:date>
\r
968 <![CDATA[= 開発者向けドキュメント
\r
973 * InstallRubyAndRails
\r
974 * DownloadSourceCode
\r
976 * RmagickAndDmagick
\r
979 * html4.01 + css2.1 に加え css3, SV]]>
\r
983 <![CDATA[<h1 id="h1-.E9.96.8B.E7.99.BA.E8.80.85.E5.90.91.E3.81.91.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88">開発者向けドキュメント</h1><h2 id="h2-.E9.96.8B.E7.99.BA.E7.92.B0.E5.A2.83">開発環境</h2><h3 id="h3-.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.82.B5.E3.82.A4.E3.83.89">サーバーサイド</h3><ul><li>Ruby1.9+Rails3.1
\r
984 </li></ul><h4 id="h4-.E6.A7.8B.E7.AF.89">構築</h4><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/InstallRubyAndRails">InstallRubyAndRails</a>
\r
985 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/DownloadSourceCode">DownloadSourceCode</a>
\r
986 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">PictureIo</a>
\r
987 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick">RmagickAndDmagick</a>
\r
988 </li></ul><h3 id="h3-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E3.82.B5.E3.82.A4.E3.83.89">クライアントサイド</h3><ul><li>html4.01 + css2.1 に加え css3, SVG, XML, ActiveX, Flash のうちのいくつか.
\r
989 <ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ClientSide">ClientSide</a>
\r
990 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">XbackendReversibleImage</a>
\r
991 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">XbackendSpeachBalloon</a>
\r
992 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PngFix">PngFix</a>
\r
993 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">HtmlAndCss2</a>
\r
994 </li></ul></li><li>javascript( jQuery + plugin)
\r
995 <ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor">JavascriptEditor</a>
\r
996 </li></ul></li></ul><h3 id="h3-.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9">データベース</h3><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutModels">AboutModels</a>
\r
997 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/DatabaseSchema">DatabaseSchema</a>
\r
998 </li></ul><h2 id="h2-.E6.A9.9F.E8.83.BD">機能</h2><ul><li>サーバ側の機能 RailsControllers<a href="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">RailsControllers</a></li><li>JsonAPI Js<a href="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">JsonApi</a></li></ul><h2 id="h2-.E6.94.B9.E5.A4.89.E4.BA.88.E5.91.8A">改変予告</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ChangeDoc">ChangeDoc</a></li></ul>]]>
\r
1001 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">
\r
1002 <title>XbackendSpeachBalloon</title>
\r
1003 <link>http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon</link>
\r
1005 <dc:identifier>XbackendSpeachBalloon</dc:identifier>
\r
1006 <dc:date>2012-01-02T01:06:05+09:00</dc:date>
\r
1008 <![CDATA[= クロスバックエンドな吹きだし表示機能
\r
1010 ぺったんRの吹きだしは、さまざまな尻尾の向きを持つ吹きだし画像を用意します.[[BR]]
\r
1011 また、吹き出しが巨大になったときに、吹きだしの枠線も太ってしまわないように、枠線のバリエーションも複数用意します.[[BR]]
\r
1013 吹きだし画像は gif で注意深く用意されるため一枚につき、数キロバイトという軽量なものです.しかしコマの編集時にはユーザーが]]>
\r
1016 <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.AD.E3.82.B9.E3.83.90.E3.83.83.E3.82.AF.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AA.E5.90.B9.E3.81.8D.E3.81.A0.E3.81.97.E8.A1.A8.E7.A4.BA.E6.A9.9F.E8.83.BD">クロスバックエンドな吹きだし表示機能</h1><p>ぺったんRの吹きだしは、さまざまな尻尾の向きを持つ吹きだし画像を用意します.[[BR]]
\r
1017 <br />また、吹き出しが巨大になったときに、吹きだしの枠線も太ってしまわないように、枠線のバリエーションも複数用意します.[[BR]]
\r
1018 <br /></p><p>吹きだし画像は gif で注意深く用意されるため一枚につき、数キロバイトという軽量なものです.しかしコマの編集時にはユーザーが操作している間にそのすべてのバリエーションを読み込んでしまう事態になります.[[BR]]
\r
1019 <br />また、マンガという表現スタイルを考えると、キャラクター画像一枚に対して、ひとつ程度の吹き出しが登場する、と仮定するという仮定で、ぺったんのページ読み込み時の全画像アクセスのうち、半分を吹きだし画像が締めることになる試算です.[[BR]]
\r
1020 <br />(もちろん、キャラクター画像の方がはるかにファイルサイズが大きくなります.注意深く容量を抑えて作られた場合でも 10KB ~ 20KB という試算です.)[[BR]]
\r
1021 <br /></p><p>このような、吹きだし画像へのアクセスを抑止して、サービスの安定を図るためベクター画像をサポートするブラウザについては、ブラウザ側で吹きだし画像を用意します.
\r
1022 </p><h1 id="h1-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E6.A9.9F.E8.83.BD.E5.AF.BE.E5.BF.9C.E8.A1.A8">ブラウザ機能対応表</h1><table class="wikitable" border="1"><tbody><tr><td>バックエンド</td><td>ie5~8</td><td>ie9+</td><td>FF</td><td>safari</td><td>chrome</td><td>Opera</td></tr><tr><td>VML</td><td>○</td><td>?</td><td>×</td><td>×</td><td>×</td><td>×</td></tr><tr><td>SVG</td><td>×</td><td>○</td><td>1.5+</td><td>3.0+</td><td>1+</td><td>8+</td></tr></tbody></table>]]>
\r
1023 </content:encoded>
\r
1026 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">
\r
1027 <title>HtmlAndCss2</title>
\r
1028 <link>http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2</link>
\r
1029 <dc:identifier>HtmlAndCss2</dc:identifier>
\r
1030 <dc:date>2012-01-02T00:24:05+09:00</dc:date>
\r
1033 <![CDATA[= Html + css2.1
\r
1034 ぺったんR は、html4.01 + css2.1 をサポートするブラウザで作者の意図したとおりのコンテンツの表示を目指す.[[BR]]
\r
1035 しかし、これは最低限の環境であるため、ぺったんR が用意する便利でパワフルな機能の恩恵のすべてを必ずしも享けられるわけではない.
\r
1037 == マンガの表示に使用する css プロパティ
\r
1042 <![CDATA[<h1 id="h1-Html.20.2B.20css2.1">Html + css2.1</h1><p>ぺったんR は、html4.01 + css2.1 をサポートするブラウザで作者の意図したとおりのコンテンツの表示を目指す.[[BR]]
\r
1043 <br />しかし、これは最低限の環境であるため、ぺったんR が用意する便利でパワフルな機能の恩恵のすべてを必ずしも享けられるわけではない.
\r
1044 </p><h2 id="h2-.E3.83.9E.E3.83.B3.E3.82.AC.E3.81.AE.E8.A1.A8.E7.A4.BA.E3.81.AB.E4.BD.BF.E7.94.A8.E3.81.99.E3.82.8B.20css.20.E3.83.97.E3.83.AD.E3.83.91.E3.83.86.E3.82.A3">マンガの表示に使用する css プロパティ</h2><ul><li>overflow:hidden
\r
1045 <ul><li>コマの外にはみ出してしまう部分を隠す.コマの枠となる div に指定.
\r
1046 </li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_001.html" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_001.html</a>
\r
1047 </li></ul></li><li>position:absolute, left, top
\r
1048 <ul><li>コミック要素(画像や吹きだし)の配置に使用.
\r
1049 </li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_property.html#position" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_property.html#position</a>
\r
1050 </li></ul></li><li>z-index
\r
1051 <ul><li>html要素の順を無視して、コミック要素の重ね順を変更するときに使用.
\r
1052 </li><li>html要素は意味順(時系列順)に並ぶが、コミックでは演出によって、最後に起こったことが奥に行くことも手前に来ることもある.
\r
1053 </li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_position_003.html" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_position_003.html</a>
\r
1054 </li></ul></li><li>display:table, display:teble-cell
\r
1055 <ul><li>吹きだし内テキストの上下中央配置に使用を考えたが、、、ぺったんでは、table 要素を使用していた.
\r
1056 </li><li><a href="http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_003.html" class="external" rel="nofollow">http://www5e.biglobe.ne.jp/~access_r/hp/css/css_look_003.html</a>
\r
1057 </li></ul></li></ul><h2 id="h2-.E5.AF.BE.E5.BF.9C.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6">対応ブラウザ</h2><table class="wikitable" border="1"><tbody><tr><td>プロパティ</td><td>ie</td><td>NN</td><td>firefox</td><td>safari</td><td>chrome</td><td>opera</td></tr><tr><td>overflow:hidden</td><td>5+</td><td>6+</td><td>1+</td><td>?</td><td>1+</td><td>6+</td></tr><tr><td>position:absolute, top, left</td><td>position&top:4+, left:5+</td><td>4+</td><td>1+</td><td>?</td><td>1+</td><td>6+</td></tr><tr><td>z-index</td><td>4+</td><td>4+</td><td>1+</td><td>4+</td><td>1+</td><td>6+</td></tr><tr><td>display:table,table-cell</td><td>8+</td><td>6+</td><td>2+</td><td>2+</td><td>1+</td><td>9+</td></tr></tbody></table><h3 id="h3-.E5.90.B9.E3.81.8D.E3.81.A0.E3.81.97.E5.86.85.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.81.AE.E4.B8.8A.E4.B8.8B.E4.B8.AD.E5.A4.AE.E9.85.8D.E7.BD.AE">吹きだし内テキストの上下中央配置</h3><p>display:table, display:table-cell は、吹きだし内のテキストの上下中央配置に使用が検討されるが...[[BR]]
\r
1058 <br />ie7 以下については、条件付コメントで、tableタグを使用.
\r
1060 <pre><!--[if lte IE 7]><a href="#"><table><tr><td><![endif]-->
\r
1061 <span>Hello</span>
\r
1062 <!--[if lte IE 7]></td></tr></table></a><![endif]-->
\r
1063 </pre></p><p>xsl中で使うと
\r
1064 <pre><xsl:comment><![CDATA[[if lte IE 7]><table><tr><td><![endif]]]></xsl:comment>
\r
1065 <span><xsl:apply-templates/></span>
\r
1066 <xsl:comment><![CDATA[[if lte IE 7]></td></tr></table><![endif]]]></xsl:comment>
\r
1067 </pre></p><p>また、firefox3.5 について、display:table 周りのバグについて報告されている.
\r
1068 </p><blockquote class="citation"><p>Project IE: Firefox 3.5 の display: table;(table-row; table-cell;) 関連の挙動について[[BR]]
\r
1069 <br /><a href="http://ie-style.blogspot.com/2009/08/firefox-35-display-tabletable-row-table.html" class="external" rel="nofollow">http://ie-style.blogspot.com/2009/08/firefox-35-display-tabletable-row-table.html</a><br />
\r
1070 CSSで display: table-cell; を指定してマルチカラムレイアウトを行っている場合に Firefox 3.5 だとまれにカラム落ちしてしまうという現象が起きてしまいます。
\r
1071 </p></blockquote><p>記事によると、display:table-cell に対して、display:table でなく、display:table-row を使っておくのがいいそうだ.</p>]]>
\r
1072 </content:encoded>
\r
1074 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">
\r
1075 <title>HowToMakeSpeachBalloon</title>
\r
1077 <link>http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon</link>
\r
1078 <dc:identifier>HowToMakeSpeachBalloon</dc:identifier>
\r
1079 <dc:date>2012-01-01T01:59:53+09:00</dc:date>
\r
1081 <![CDATA[== フキダシテンプレート
\r
1082 [[Embed(http://static.sourceforge.jp/thumb/g/2/949/640x640_0.png)]]
\r
1083 フキダシテンプレートを追加するには尻尾の向きと枠のサイズのバリエーションがいくつになるかを決定しなければなりません。
\r
1084 尻尾のバリエーション数をtail_limit、枠のバリエーション数を_limitとして決定してください。
\r
1089 <![CDATA[<h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">フキダシテンプレート</h2><img src="http://static.sourceforge.jp/thumb/g/2/949/640x640_0.png" alt="640x640_0.png" id="emb-http:2f2fstatic.sourceforge.jp2fthumb2fg2f22f9492f640x640_0.png-1" title="640x640_0.png" class="embed-image"><p>
\r
1090 フキダシテンプレートを追加するには尻尾の向きと枠のサイズのバリエーションがいくつになるかを決定しなければなりません。
\r
1091 尻尾のバリエーション数をtail_limit、枠のバリエーション数を_limitとして決定してください。
\r
1092 そして、それらすべての組み合わせの枠テンプレートとテキストテンプレートを用意してください。一つでも欠けると追加できません。
\r
1093 </p><p>例えば、尻尾が上下左右ならtail_limitが4。サイズが大中小ならで_limitが3で、4*3で合計12の枠テンプレートとテキストテンプレートを用意します。
\r
1094 </p><p>→tail ↓Border
\r
1095 <table class="wikitable" border="1"><tbody><tr><td> </td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr><td>1</td><td>小-上</td><td>小-右</td><td>小-下</td><td>小-左</td></tr><tr><td>2</td><td>中-上</td><td>中-右</td><td>中-下</td><td>中-左</td></tr><tr><td>3</td><td>大-上</td><td>大-右</td><td>大-下</td><td>大-左</td></tr></tbody></table></p><p>フキダシテンプレートに必要な項目は以下です。
\r
1096 <table class="wikitable" border="1"><tbody><tr><td>項目名</td><td>意味</td><td>備考</td></tr><tr><td>name</td><td>フキダシの名前</td><td> </td></tr><tr><td>tail_limit</td><td>尻尾のバリエーション数</td><td> </td></tr><tr><td>border_limit</td><td>サイズのバリエーション数</td><td> </td></tr></tbody></table></p><h2 id="h2-.E6.9E.A0.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">枠テンプレート</h2><p>枠は画像で用意します。フキダシ用の画像を用意して素材として投稿します。
\r
1097 各種フキダシ素材を投稿したらIDをメモします。
\r
1098 </p><p>枠テンプレートに必要な項目は以下です。
\r
1099 <table class="wikitable" border="1"><tbody><tr><td>項目名</td><td>意味</td><td>備考</td></tr><tr><td>resource_picture_id</td><td>フキダシ素材のID</td><td> </td></tr><tr><td>tail</td><td>尻尾の番号</td><td>1から始まりtail_limit-1で終わること</td></tr><tr><td>border</td><td>サイズの番号</td><td>1から始まり_limit-1で終わること</td></tr><tr><td>min_width</td><td>横方向のサイズが小さい方に切り替わる幅</td><td>0のとき、切り替えは発生しない</td></tr><tr><td>max_width</td><td>横方向のサイズが大きい方に切り替わる幅</td><td>0のとき、切り替えは発生しない</td></tr><tr><td>min_height</td><td>縦方向のサイズが小さい方に切り替わる高さ</td><td>0のとき、切り替えは発生しない</td></tr><tr><td>max_height</td><td>縦方向のサイズが大きい方に切り替わる高さ</td><td>0のとき、切り替えは発生しない</td></tr></tbody></table></p><h2 id="h2-.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">テキストテンプレート</h2><p>枠画像のどの位置にテキストを表示するかを決めて座標をメモします。
\r
1100 </p><table class="wikitable" border="1"><tbody><tr><td>項目名</td><td>意味</td><td>備考</td></tr><tr><td>top_offset</td><td>テキストの表示を開始するx座標</td><td> </td></tr><tr><td>left_offset</td><td>テキストの表示を開始するy座標</td><td> </td></tr><tr><td>width</td><td>テキストの表示幅</td><td> </td></tr><tr><td>height</td><td>テキストの表示高さ</td><td> </td></tr></tbody></table><p>offset と width, height ですが、単位は % になりますか??(itozyun)
\r
1101 </p><h3 id="h3-.E3.83.87.E3.83.BC.E3.82.BF.E4.BD.9C.E6.88.90">データ作成</h3><p>これまでのメモからデータを作成します。データはjsonで作成します。
\r
1103 </content:encoded>
\r
1105 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ClientSide">
\r
1106 <title>ClientSide</title>
\r
1107 <link>http://sourceforge.jp/projects/pettanr/wiki/ClientSide</link>
\r
1108 <dc:identifier>ClientSide</dc:identifier>
\r
1110 <dc:date>2011-12-31T22:34:44+09:00</dc:date>
\r
1112 <![CDATA[= クライアント側
\r
1114 ぺったんR におけるユーザーの行動はマンガの閲覧 と マンガの編集に大きく分けられる.[[BR]]
\r
1115 マンガの閲覧がすべてのユーザーに可能であるのに対し、マンガの編集は原則ログインしたユーザーが可能となる。[[BR]]
\r
1116 またログイン以降のユーザーの操作は、javascriptを有効にする必要がある.[[BR]]
\r
1122 <![CDATA[<h1 id="h1-.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3.E3.83.88.E5.81.B4">クライアント側</h1><div class="indent">
\r
1123 </div><p>ぺったんR におけるユーザーの行動はマンガの閲覧 と マンガの編集に大きく分けられる.[[BR]]
\r
1124 <br />マンガの閲覧がすべてのユーザーに可能であるのに対し、マンガの編集は原則ログインしたユーザーが可能となる。[[BR]]
\r
1125 <br />またログイン以降のユーザーの操作は、javascriptを有効にする必要がある.[[BR]]
\r
1126 <br /></p><h2 id="h2-.E3.83.9E.E3.83.B3.E3.82.AC.E3.81.AE.E9.96.B2.E8.A6.A7">マンガの閲覧</h2><p>ぺったんR において、ブラウザでのマンガ状コンテンツの閲覧のために、ユーザーは Flash も含めて特別なプラグインを必要としない.
\r
1127 </p><h3 id="h3-html.20.2B.20css2.1">html + css2.1</h3><p>ぺったんと、ぺったんを元にする ぺったんRは、マンガ状のコンテンツの表示に css2.1 でレイアウトする.[[BR]]
\r
1128 <br />以上をサポートするブラウザであれば、ぺったん 及び ぺったんR のコンテンツは閲覧ができる.[[BR]]
\r
1129 <br /></p><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/HtmlAndCss2">HtmlAndCss2</a>
\r
1130 </li></ul><h3 id="h3-javascript">javascript</h3><p>ぺったんR で新たに追加された機能や、ぺったんRサーバへの負荷を抑えるため、javascript に加え css3, SVG といった新しいWeb標準が使われる.[[BR]]
\r
1131 <br />これらをサポートしないブラウザも少なくなく、VML, ActiveX, flash といった非Web標準も利用する.[[BR]]
\r
1132 <br /></p><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendReversibleImage">XbackendReversibleImage</a>
\r
1133 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/XbackendSpeachBalloon">XbackendSpeachBalloon</a>
\r
1134 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PngFix">PngFix</a>
\r
1135 </li></ul><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.81.AE.E7.AE.A1.E7.90.86.E3.83.BB.E7.94.BB.E5.83.8F.E3.81.AE.E7.AE.A1.E7.90.86.E3.83.BB.E3.82.B3.E3.83.9E.E3.81.AE.E7.B7.A8.E9.9B.86.E3.83.BB.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E8.A8.AD.E5.AE.9A">コミックの管理・画像の管理・コマの編集・ユーザー設定</h2><p>これらのログインユーザーのための機能は、javascript が前提となる.[[BR]]
\r
1136 <br />画面は Ajax で用意されるため、サーバ側はユーザのデータの管理とクライアントとの通信に専念できる.[[BR]]
\r
1137 <br /></p><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JavascriptEditor">JavascriptEditor</a>
\r
1138 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">JsonApi</a>
\r
1139 </li></ul><h2 id="h2-.E5.AF.BE.E5.BF.9C.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6">対応ブラウザ</h2><h3 id="h3-.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.B7.E3.82.A7.E3.82.A2">ブラウザシェア</h3><p>IE系では、css3 や SVG をサポートしない IE8 以下がまだまだ多く、IE6 でそのシェアは10%近く.ブラウザシェアは国毎にばらつきがあり、お隣の中国・韓国では IE のシェアが多く、IE6 でも 20~30% になる.[[BR]]
\r
1140 <br /></p><blockquote class="citation"><p>今なおブラウザシェア10.1%もあるIE6とどう向き合えばいいのか[[BR]]
\r
1141 <br /><a href="http://weboook.blog22.fc2.com/blog-entry-248.html" class="external" rel="nofollow">http://weboook.blog22.fc2.com/blog-entry-248.html</a>
\r
1142 </p></blockquote><p>javascript を切っているブラウザは 1% ほどらしい.[[BR]]
\r
1143 <br /></p><blockquote class="citation"><p><a href="http://sourceforge.jp/projects/pettanr/wiki/JavaScript">JavaScript</a>をオフにしているブラウザは1%前後。米ヤフー調べ[[BR]]
\r
1144 <br /><a href="http://www.publickey1.jp/blog/10/javascript1.html" class="external" rel="nofollow">http://www.publickey1.jp/blog/10/javascript1.html</a>
\r
1145 </p></blockquote>]]>
\r
1146 </content:encoded>
\r
1149 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PngFix">
\r
1150 <title>PngFix</title>
\r
1151 <link>http://sourceforge.jp/projects/pettanr/wiki/PngFix</link>
\r
1152 <dc:identifier>PngFix</dc:identifier>
\r
1153 <dc:date>2011-12-29T16:31:59+09:00</dc:date>
\r
1155 <![CDATA[= Internet Exproler 6 以下での PNG 画像の表示について
\r
1156 ie6 以下のブラウザでは 透過情報付の png 画像を正しく表示することができない.[[BR]]
\r
1157 このため ぺったん では、png 画像を非推奨としてきた.[[BR]]
\r
1158 ぺったんRでも それを踏襲することは変わりない.[[BR]]
\r
1159 しかし、可能な限り作者の意図したとおりに作品を閲覧してもらうため、クロスバッ]]>
\r
1163 <![CDATA[<h1 id="h1-Internet.20Exproler.206.20.E4.BB.A5.E4.B8.8B.E3.81.A7.E3.81.AE.20PNG.20.E7.94.BB.E5.83.8F.E3.81.AE.E8.A1.A8.E7.A4.BA.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">Internet Exproler 6 以下での PNG 画像の表示について</h1><p>ie6 以下のブラウザでは 透過情報付の png 画像を正しく表示することができない.[[BR]]
\r
1164 <br />このため ぺったん では、png 画像を非推奨としてきた.[[BR]]
\r
1165 <br />ぺったんRでも それを踏襲することは変わりない.[[BR]]
\r
1166 <br />しかし、可能な限り作者の意図したとおりに作品を閲覧してもらうため、クロスバックエンドな png 表示サポートを実施する.[[BR]]
\r
1167 <br />とはいえ、必要なプラグイン等がインストールされていない、機能が無効になっている場合、透過情報は正しく反映されない.[[BR]]
\r
1168 <br /></p><h2 id="h2-.E3.81.AF.E3.81.98.E3.82.81.E3.81.AB">はじめに</h2><h2 id="h2-VML">VML</h2><h2 id="h2-ActiveX.20Alpha.20Image.20Loader">ActiveX Alpha Image Loader</h2><h2 id="h2-Flash">Flash</h2>]]>
\r
1169 </content:encoded>
\r
1171 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters">
\r
1172 <title>ForWebmasters</title>
\r
1173 <link>http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters</link>
\r
1175 <dc:identifier>ForWebmasters</dc:identifier>
\r
1176 <dc:date>2011-12-28T09:07:11+09:00</dc:date>
\r
1180 == フキダシテンプレートのメンテナンス
\r
1181 * フキダシテンプレートについて AboutSpeachBalloon
\r
1182 * フキダシテンプレートの追加 HowToMakeSpeachBalloon
\r
1188 <![CDATA[<h1 id="h1-.E7.AE.A1.E7.90.86.E8.80.85.E5.90.91.E3.81.91">管理者向け</h1><h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E3.81.AE.E3.83.A1.E3.83.B3.E3.83.86.E3.83.8A.E3.83.B3.E3.82.B9">フキダシテンプレートのメンテナンス</h2><ul><li>フキダシテンプレートについて AboutSpeachBalloon
\r
1189 <a href="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">AboutSpeachBalloon</a></li><li>フキダシテンプレートの追加 HowToMakeSpeachBalloon
\r
1190 <a href="http://sourceforge.jp/projects/pettanr/wiki/HowToMakeSpeachBalloon">HowToMakeSpeachBalloon</a></li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.AE.E3.83.A1.E3.83.B3.E3.83.86.E3.83.8A.E3.83.B3.E3.82.B9">ライセンスのメンテナンス</h2><ul><li>ライセンスについて</li></ul>]]>
\r
1191 </content:encoded>
\r
1194 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon">
\r
1195 <title>AboutSpeachBalloon</title>
\r
1196 <link>http://sourceforge.jp/projects/pettanr/wiki/AboutSpeachBalloon</link>
\r
1197 <dc:identifier>AboutSpeachBalloon</dc:identifier>
\r
1198 <dc:date>2011-12-28T08:57:17+09:00</dc:date>
\r
1201 <![CDATA[= フキダシテンプレート
\r
1202 フキダシとは、線で囲まれた枠の中に文章が書かれたものです。つまり、枠と文章を合わせたものがフキダシとなるわけです。
\r
1204 ぺったんでフキダシを作るには、枠の素材をコマに貼り、その上にテキストを貼ります。
\r
1206 しかし、このような作り方は操作に手数がかかり、扱いも煩雑になります。漫画はフキダシで絵をしゃべらすことで初めて成立するものです。漫画ツールとしては当たり前の機能で]]>
\r
1209 <![CDATA[<h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88">フキダシテンプレート</h1><p>フキダシとは、線で囲まれた枠の中に文章が書かれたものです。つまり、枠と文章を合わせたものがフキダシとなるわけです。
\r
1210 </p><p>ぺったんでフキダシを作るには、枠の素材をコマに貼り、その上にテキストを貼ります。
\r
1211 </p><p>しかし、このような作り方は操作に手数がかかり、扱いも煩雑になります。漫画はフキダシで絵をしゃべらすことで初めて成立するものです。漫画ツールとしては当たり前の機能ですから、最小限の操作でフキダシを扱えなければ困ります。そこで、ぺったんはオーソドックスなフキダシをテンプレート化して用意しました。もちろんテンプレートは自由に追加できます。
\r
1212 </p><h1 id="h1-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E3.81.AE.E6.A7.8B.E6.88.90">フキダシテンプレートの構成</h1><p>フキダシテンプレートは次の三つの階層で構成されています。
\r
1213 </p><ul><li>フキダシテンプレート SpeachBalloon
\r
1214 <a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloon">SpeachBalloon</a></li><li>枠テンプレート BalloonTemplate
\r
1215 <a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonTemplate">BalloonTemplate</a></li><li>テキストテンプレート SpeachTemplate
\r
1216 <a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplate">SpeachTemplate</a></li></ul><p>フキダシは枠とテキストから構成されます。枠テンプレートとテキストテンプレートがそれです。ただし、フキダシには大抵吹き出し口(ぺったんでは尻尾と言います)が付きますから、同じフキダシでもいくつかのバリエーションができます。それをグループ化するのがフキダシテンプレートです。
\r
1217 </p><h2 id="h2-.E6.83.B3.E5.AE.9A.E3.81.99.E3.82.8B.E3.83.90.E3.83.AA.E3.82.A8.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3">想定するバリエーション</h2><p>ぺったんでは次の二つのバリエーションを想定しています。
\r
1220 </li></ul><p>尻尾の向きはフキダシの使われ方によって変わりますが、上下左右や角の四隅などに付くことが多いでしょうか。このバリエーションが多いほど融通が利くフキダシになります。
\r
1221 </p><p>ぺったんはコマに貼ったフキダシを自由にサイズ調整できますが、フキダシを極端に拡大あるいは縮小すると、枠の画像によっては線が太ってしまったり、かすれてしまうことがあります。枠の画像には適正なサイズが要求されますので、より良いテンプレートはいくつかのサイズのバリエーションを用意する必要があります。
\r
1223 </content:encoded>
\r
1225 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/JsonApi">
\r
1226 <title>JsonApi</title>
\r
1228 <link>http://sourceforge.jp/projects/pettanr/wiki/JsonApi</link>
\r
1229 <dc:identifier>JsonApi</dc:identifier>
\r
1230 <dc:date>2011-12-26T19:13:24+09:00</dc:date>
\r
1232 <![CDATA[= JsonAPI
\r
1233 ぺったんはjsonを利用したAPIに対応している。というよりRailsの仕様に乗っかっている。Rails知ってる人はよまなくていい。
\r
1235 JsonAPIを使えば、ブラウザから操作せずとも直接データを操作できる。外部のプログラムからぺったんを楽しめる。
\r
1237 APIにはCRUD、つまり、create,read,update,deleteがあり、それぞれがHTTPのPOST,G]]>
\r
1241 <![CDATA[<h1 id="h1-JsonAPI">JsonAPI</h1><p>ぺったんはjsonを利用したAPIに対応している。というよりRailsの仕様に乗っかっている。Rails知ってる人はよまなくていい。
\r
1242 </p><p>JsonAPIを使えば、ブラウザから操作せずとも直接データを操作できる。外部のプログラムからぺったんを楽しめる。
\r
1243 </p><p>APIにはCRUD、つまり、create,read,update,deleteがあり、それぞれがHTTPのPOST,GET,PUT,DELETEに対応しているが、普通のブラウザからはGETしかできないので、手っ取り早くJsonAPIで遊ぶならcurlをインストールすると良い。
\r
1244 </p><p>なお、railsではjsonでのやり取りを次のように規定している。
\r
1245 </p><ul><li>URLの末尾を拡張子のように.jsonする
\r
1246 </li><li>リクエストヘッダはContent-Type: application/jsonとする
\r
1247 </li></ul><h2 id="h2-json.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.8F.96.E5.BE.97">jsonデータの取得</h2><p>例えば、ID:2のコマPanelのデータをcurlで取得するには次のようにする。
\r
1248 </p><pre>curl http://hostname/panels/2.json -X GET -H "Content-Type: application/json"
\r
1249 </pre><h2 id="h2-json.E3.81.A7.E3.81.AE.E6.8A.95.E7.A8.BF">jsonでの投稿</h2><p>例えば、コミックをcurlで作成するには次のようにする。このとき、作成するためのjsonデータはcomic_create.jsonファイルに用意されているものとする。
\r
1250 </p><pre>curl http://hostname/comics.json -X POST -H "Content-Type: application/json" -d @comic_create.json
\r
1251 </pre><h2 id="h2-json.E3.81.A7.E3.81.AE.E6.9B.B4.E6.96.B0">jsonでの更新</h2><p>例えば、コミックをcurlで更新するには次のようにする。このとき、更新するためのjsonデータはcomic_update.jsonファイルに用意されているものとする。
\r
1252 </p><pre>curl http://hostname/comics.json -X PUT -H "Content-Type: application/json" -d @comic_update.json
\r
1253 </pre><h2 id="h2-json.E3.81.A7.E3.81.AE.E5.89.8A.E9.99.A4">jsonでの削除</h2><p>例えば、コミックをcurlで削除するには次のようにする。このとき、削除するためのjsonデータはcomic_delete.jsonファイルに用意されているものとする。
\r
1254 </p><pre>curl http://hostname/comics.json -X DELETE -H "Content-Type: application/json" -d @comic_delete.json
\r
1255 </pre><p>※普通に削除するだけならDELETEメソッドだけで削除できる。jsonデータcomic_delete.jsonは必要ないはずだが、誰でも削除できるのはおかしな話なので、大抵の場合は認証がいるだろう。認証に必要なauth_tokenを渡すのだが、auth_tokenについては後述する。
\r
1256 </p><h2 id="h2-json.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E4.BD.9C.E3.82.8A.E6.96.B9">jsonデータの作り方</h2><p>jsonデータがどんなものかはググッてもらうとして、rails風なところを…
\r
1257 </p><p>コミック作成に使ったcomic_create.jsonを例とすると次のようになる。
\r
1259 "comic": {
\r
1260 "title": "コミック作るテスト",
\r
1261 "default_width": 400,
\r
1262 "default_height": 200
\r
1264 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1266 </pre>comicはコミックのmodel、titleなどはmodelのカラム。モデルの下に必要なカラムをキーにして値を記述する。
\r
1267 </p><p>auth_tokenは認証が必要な操作をする場合に記述する。
\r
1268 </p><h3 id="h3-auth_token">auth_token</h3><p>認証が必要な操作をする場合にはauth_tokenを用意する。auth_tokenはログイン後にプロフィールページを開くと書いてある。今のところは。
\r
1269 </p><h3 id="h3-.E3.83.8D.E3.82.B9.E3.83.88.E3.81.97.E3.81.9F.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E4.BD.9C.E3.82.8A.E6.96.B9">ネストしたデータの作り方</h3><p>コマの投稿など、複数のモデルを一つのトランザクションで更新するような操作はjsonデータも複数のモデルについて記述しなければならない。
\r
1270 </p><p>ネストされている子のデータはモデル名+_attributesをキーとしたハッシュ型の値をペアにして記述する。例えば、コマ絵のモデルpanel_picturesはpanel_pictures_attributesとなる。値側は複数のレコードを含むことが想定されるので、これもハッシュ型とする。こちらのキーは一意であれば何でもよく、値がレコードのデータである。文章じゃよくわからんので、コマ絵panel_pictures一つを含んだコマpanelを作成する場合の実際のデータを示す。
\r
1272 "panel": {
\r
1273 "border": 1,
\r
1274 "comic_id": 5,
\r
1275 "resource_picture_id": 1,
\r
1276 "width": 400,
\r
1277 "height": 200,
\r
1278 "panel_pictures_attributes": {
\r
1279 "new1": {
\r
1280 "width": 100,
\r
1281 "height": 103,
\r
1282 "resource_picture_id": 4,
\r
1283 "top_offset": 10,
\r
1284 "left_offset": 135,
\r
1285 "zindex": 1,
\r
1291 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1293 </pre><p>コマ絵が二枚だと、こんな感じ。
\r
1295 "panel": {
\r
1296 "border": 1,
\r
1297 "comic_id": 5,
\r
1298 "resource_picture_id": 1,
\r
1299 "width": 400,
\r
1300 "height": 200,
\r
1301 "panel_pictures_attributes": {
\r
1302 "new1": {
\r
1303 "width": 100,
\r
1304 "height": 103,
\r
1305 "resource_picture_id": 4,
\r
1306 "top_offset": 10,
\r
1307 "left_offset": 135,
\r
1308 "zindex": 1,
\r
1312 "new2": {
\r
1313 "width": 50,
\r
1314 "height": 75,
\r
1315 "resource_picture_id": 1,
\r
1316 "top_offset": 30,
\r
1317 "left_offset": 14,
\r
1318 "zindex": 2,
\r
1324 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1326 </pre></p><p>キーの"new1"と"new2"は適当な命名なんであるが、こんな要領で列挙していけばまとめて作成できる。
\r
1327 </p><p>では、次にコマ絵だけでなくフキダシとセリフも含むデータを作成してみるが、その前に各モデルの関係を整理しておく。
\r
1334 "panel": {
\r
1335 "border": 1,
\r
1336 "comic_id": 5,
\r
1337 "resource_picture_id": 1,
\r
1338 "width": 400,
\r
1339 "height": 200,
\r
1340 "panel_pictures_attributes": {
\r
1341 "new1": {
\r
1342 "width": 100,
\r
1343 "height": 103,
\r
1344 "resource_picture_id": 4,
\r
1345 "top_offset": 10,
\r
1346 "left_offset": 135,
\r
1347 "zindex": 3,
\r
1352 "balloons_attributes": {
\r
1353 "newf1": {
\r
1354 "balloon_template_id": 1,
\r
1355 "resource_picture_id": 2,
\r
1356 "tail": 1,
\r
1357 "border": 1,
\r
1358 "zindex": 5,
\r
1359 "width": 81,
\r
1360 "height": 63,
\r
1361 "top_offset": 120,
\r
1362 "left_offset": 35,
\r
1363 "speaches_attributes": {
\r
1364 "newf1s1": {
\r
1365 "content": "test",
\r
1366 "width": 61,
\r
1367 "height": 43,
\r
1368 "top_offset": 10,
\r
1369 "left_offset": 10
\r
1375 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1377 </pre></p><h3 id="h3-.E3.83.8D.E3.82.B9.E3.83.88.E3.81.97.E3.81.9F.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E6.9B.B4.E6.96.B0">ネストしたデータの更新</h3><p>あるコマのセリフを変更したいとする。セリフはspeachなのでspeaches経由で更新したいところだが、ぺったんの仕様はコマ全体で更新することになっているので、speachesのAPIは用意されていない。コマの変更はpanel経由で行う。このとき、jsonデータでは、どのように変更対象のセリフを指示するのだろうか。
\r
1378 </p><p>結論としてはidをデータに含めて指定する。例えば、セリフのidが3のときは次のようになる。
\r
1380 "panel": {
\r
1381 "balloons_attributes": {
\r
1383 "id": 2,
\r
1384 "speaches_attributes": {
\r
1386 "id": 3,
\r
1387 "content": "modify"
\r
1393 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1395 </pre><p>idが指定されていないと新規追加となってしまう。
\r
1396 </p><h3 id="h3-.E3.83.8D.E3.82.B9.E3.83.88.E3.81.97.E3.81.9F.E3.83.87.E3.83.BC.E3.82.BF.E3.81.AE.E5.89.8A.E9.99.A4">ネストしたデータの削除</h3><p>削除する場合、更新のときと同じようにidを指定しつつ_destroyにフラグを立てる。例えば、idが2のフキダシをコマから削除する場合、次のようにする。
\r
1398 "panel": {
\r
1399 "balloons_attributes": {
\r
1401 "id": 2,
\r
1402 "_destroy": 1
\r
1406 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1408 </pre><h2 id="h2-.E7.94.BB.E5.83.8F.E3.81.AE.E6.8A.95.E7.A8.BF">画像の投稿</h2><p>auth_tokenを含みながらのファイル送信がよくわからん。いろんなパターンで試してみたが素直にはいかなかった。苦肉の策が画像データを一度Base64でエンコードしたものをテキストとして送信すること。次の例は当然エンコードテキストは省略されている。
\r
1410 "original_picture": {
\r
1411 "file":
\r
1412 "iVBORw0KGgoAAAANSUhEUgAAAWIAAAF7CAYAAADohYEpAAAcW0lEQVR4nO3d
\r
1415 ghgAlP0/Bxl7hN5Zu0EAAAAASUVORK5CYII=
\r
1418 "auth_token": "XXXXXXXXXXXXXXXX"
\r
1421 </content:encoded>
\r
1423 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/AboutLisence">
\r
1424 <title>AboutLisence</title>
\r
1425 <link>http://sourceforge.jp/projects/pettanr/wiki/AboutLisence</link>
\r
1426 <dc:identifier>AboutLisence</dc:identifier>
\r
1428 <dc:date>2011-12-25T12:47:25+09:00</dc:date>
\r
1430 <![CDATA[= ライセンスについて
\r
1431 ※ここはぺったんに投稿された画像の著作権に関する話題です。
\r
1434 ぺったんには、あらかじめ一般的なライセンスを用意してあります。パブリックドメインやクリエイティブコモンズなどです。
\r
1436 絵師は提供する素材にこれらのライセンスを付与して明記することができます。
\r
1443 <![CDATA[<h1 id="h1-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6">ライセンスについて</h1><p>※ここはぺったんに投稿された画像の著作権に関する話題です。
\r
1444 </p><h2 id="h2-.E9.81.B8.E3.81.B9.E3.82.8B.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">選べるライセンス</h2><p>ぺったんには、あらかじめ一般的なライセンスを用意してあります。パブリックドメインやクリエイティブコモンズなどです。
\r
1445 </p><p>絵師は提供する素材にこれらのライセンスを付与して明記することができます。
\r
1446 </p><h2 id="h2-.E7.94.A8.E6.84.8F.E3.81.95.E3.82.8C.E3.81.9F.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">用意されたライセンス</h2><ul><li>Public Domain
\r
1447 <ul><li>ライセンス表示 http://ja.wiki<a href="http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3" class="external" rel="nofollow">http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3</a></li></ul></li><li>Creative Commons 3.0(by)
\r
1448 <ul><li>ライセンス表示 http://creativ<a href="http://creativecommons.org/licenses/by/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by/3.0/legalcode</a></li></ul></li><li>Creative Commons 3.0(by_sa)
\r
1449 <ul><li>ライセンス表示 http://creativ<a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-sa/3.0/legalcode</a></li></ul></li><li>Creative Commons 3.0(by_nd)
\r
1450 <ul><li>ライセンス表示 http://creativ<a href="http://creativecommons.org/licenses/by-nd/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nd/3.0/legalcode</a></li></ul></li><li>Creative Commons 3.0(by_nc)
\r
1451 <ul><li>ライセンス表示 http://creativ<a href="http://creativecommons.org/licenses/by-nc/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nc/3.0/legalcode</a></li></ul></li><li>Creative Commons 3.0(by_nc_sa)
\r
1452 <ul><li>ライセンス表示 http://creativ<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode</a></li></ul></li><li>Creative Commons 3.0(by_nc_nd)
\r
1453 <ul><li>ライセンス表示 http://creativ<a href="http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode" class="external" rel="nofollow">http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode</a></li></ul></li><li>Unknown
\r
1454 <ul><li>著作権がはっきりしないもの
\r
1455 </li></ul></li></ul><h2 id="h2-.E5.90.88.E3.81.A3.E3.81.9F.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.8C.E3.81.AA.E3.81.84">合ったライセンスがない</h2><p>自前の作品に特殊なライセンスを付与したいと考えるケースもあるでしょう。そういった場合、絵師がライセンスを作成することができます。このような特殊なライセンスをぺったんではオリジナルライセンスと言います。それに対して、ぺったんにあらかじめ用意されたライセンスをコモンライセンスと言います。
\r
1456 </p><p>特に区別したい場合は、コモンライセンス・オリジナルライセンスと言いますが、ただライセンスと言った場合は、両者を合わせたものとなります。
\r
1457 </p><h2 id="h2-.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">コモンライセンス</h2><p>コモンライセンスをメンテナンスできるのは管理者だけです。
\r
1458 </p><h2 id="h2-.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">オリジナルライセンス</h2><p>絵師はオリジナルライセンスを作成できます。また、自分が作成したオリジナルライセンスを更新できます。
\r
1459 </p><h3 id="h3-.E3.82.B3.E3.83.A2.E3.83.B3.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.B8.E3.81.AE.E6.98.87.E6.A0.BC">コモンライセンスへの昇格</h3><p>何かと信頼の薄いオリジナルライセンスですが、ある程度の評価が得られ、ぺったん管理者が有用性を認めればコモンライセンスへ昇格することもあります。
\r
1460 </p><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.8C.E5.89.8A.E9.99.A4.E3.81.95.E3.82.8C.E3.82.8B.E3.81.A8">ライセンスが削除されると</h2><p>ライセンスを削除してしまうと、そのライセンスを適用した素材はすべてライセンスなしになってしまいます。それを避けるために一枚でも適用されているライセンスは削除できません。
\r
1461 </p><h2 id="h2-.E3.82.AA.E3.83.AA.E3.82.B8.E3.83.8A.E3.83.AB.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E3.81.A7.E6.98.8E.E7.A4.BA.E3.81.A7.E3.81.8D.E3.82.8B.E3.81.93.E3.81.A8">オリジナルライセンスで明示できること</h2><ul><li>cc_by
\r
1463 </li></ul></li><li>cc_sa
\r
1466 </li><li>no_resize
\r
1468 </li><li>値が 0のとき無効 1のとき有効
\r
1469 </li><li>素材をコマ上でリサイズしてはならない
\r
1470 </li></ul></li><li>no_flip
\r
1472 </li><li>値が 0のとき無効 1のとき有効
\r
1473 </li><li>素材をコマ上で垂直反転水平反転してはならない
\r
1474 </li></ul></li><li>keep_aspect_ratio
\r
1476 </li><li>値が 0のとき無効 1のとき有効
\r
1477 </li><li>素材をコマ上でリサイズしてもよいが縦横比を変えてはならない
\r
1478 </li></ul></li></ul><p>クリエイティブコモンズの属性はすべて用意しましたが、ぺったん上ではあまり効果を発揮できません。というのも、ぺったんには画像を改変する機能が備わっていませんから、改変しようがないし、投稿された素材が改変されたものであるかを判別する手立てがないのです。非営利についても似たようなもので、web上の配布に営利はありません。もちろんアフィリエイトも禁止されているわけではありません。
\r
1479 </p><p>作者の表示については必ず同一ページ内に表示します。ただし、ぺったんRはオープンソースライセンスですから、ソースコードが改変された場合は、その限りではありません。
\r
1481 </content:encoded>
\r
1484 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/CommonLisencesController">
\r
1485 <title>CommonLisencesController</title>
\r
1486 <link>http://sourceforge.jp/projects/pettanr/wiki/CommonLisencesController</link>
\r
1487 <dc:identifier>CommonLisencesController</dc:identifier>
\r
1488 <dc:date>2011-12-24T11:03:09+09:00</dc:date>
\r
1490 <![CDATA[= CommonLisencesController
\r
1491 管理者以外に用はないから、すべての機能で管理者だけが認証をパスする。
\r
1496 <![CDATA[<h1 id="h1-CommonLisencesController"><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLisencesController">CommonLisencesController</a></h1><p>管理者以外に用はないから、すべての機能で管理者だけが認証をパスする。
\r
1498 </content:encoded>
\r
1500 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/LisencesController">
\r
1501 <title>LisencesController</title>
\r
1502 <link>http://sourceforge.jp/projects/pettanr/wiki/LisencesController</link>
\r
1504 <dc:identifier>LisencesController</dc:identifier>
\r
1505 <dc:date>2011-12-24T10:46:17+09:00</dc:date>
\r
1507 <![CDATA[= LisencesController
\r
1508 コモンライセンスとオリジナルライセンスを統合するためだけにある。閲覧のみで操作はできない。変更作業はすべてCommonLisencesControllerとOriginalLisencesController側にある。
\r
1510 常識で考えれば、こんな冗長な設計はないんだけど、絵師が作家機能を切り捨てた「絵師サーバ」を独自に稼働させる予定なので切り離してお]]>
\r
1513 <![CDATA[<h1 id="h1-LisencesController"><a href="http://sourceforge.jp/projects/pettanr/wiki/LisencesController">LisencesController</a></h1><p>コモンライセンスとオリジナルライセンスを統合するためだけにある。閲覧のみで操作はできない。変更作業はすべてCommonLisencesControllerとOriginalLisencesController側にある。
\r
1514 <a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLisencesController">CommonLisencesController</a></p><p>常識で考えれば、こんな冗長な設計はないんだけど、絵師が作家機能を切り捨てた「絵師サーバ」を独自に稼働させる予定なので切り離しておいた。
\r
1516 </content:encoded>
\r
1519 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RailsControllers">
\r
1520 <title>RailsControllers</title>
\r
1521 <link>http://sourceforge.jp/projects/pettanr/wiki/RailsControllers</link>
\r
1522 <dc:identifier>RailsControllers</dc:identifier>
\r
1523 <dc:date>2011-12-24T10:26:53+09:00</dc:date>
\r
1526 <![CDATA[= サーバ側の機能
\r
1528 * ComicsController
\r
1529 * PanelsController
\r
1530 * PanelPicturesController
\r
1531 * BalloonsController
\r
1532 * SpeachsController
\r
1534 * OriginalPicturesController
\r
1535 * ResourcePicturesCont]]>
\r
1538 <![CDATA[<h1 id="h1-.E3.82.B5.E3.83.BC.E3.83.90.E5.81.B4.E3.81.AE.E6.A9.9F.E8.83.BD">サーバ側の機能</h1><h2 id="h2-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E9.96.A2.E4.BF.82">コミック関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ComicsController">ComicsController</a>
\r
1539 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelsController">PanelsController</a>
\r
1540 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/PanelPicturesController">PanelPicturesController</a>
\r
1541 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BalloonsController">BalloonsController</a>
\r
1542 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachsController">SpeachsController</a>
\r
1543 </li></ul><h2 id="h2-.E7.B4.A0.E6.9D.90.E9.96.A2.E4.BF.82">素材関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalPicturesController">OriginalPicturesController</a>
\r
1544 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ResourcePicturesController">ResourcePicturesController</a>
\r
1545 </li></ul><h2 id="h2-.E3.83.95.E3.82.AD.E3.83.80.E3.82.B7.E3.83.86.E3.83.B3.E3.83.97.E3.83.AC.E3.83.BC.E3.83.88.E9.96.A2.E4.BF.82">フキダシテンプレート関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachBalloonsController">SpeachBalloonsController</a>
\r
1546 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/BallonTemplatesController">BallonTemplatesController</a>
\r
1547 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/SpeachTemplatesController">SpeachTemplatesController</a>
\r
1548 </li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9.E9.96.A2.E4.BF.82">ライセンス関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/LisencesController">LisencesController</a>
\r
1549 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/CommonLisencesController">CommonLisencesController</a>
\r
1550 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/OriginalLisencesController">OriginalLisencesController</a>
\r
1551 </li></ul><h2 id="h2-.E5.BD.B9.E5.89.B2.E9.96.A2.E4.BF.82">役割関係</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AuthorsController">AuthorsController</a>
\r
1552 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/ArtistsController">ArtistsController</a>
\r
1553 </li><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AdminsController">AdminsController</a>
\r
1555 </content:encoded>
\r
1557 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan">
\r
1558 <title>WhatsPettan</title>
\r
1560 <link>http://sourceforge.jp/projects/pettanr/wiki/WhatsPettan</link>
\r
1561 <dc:identifier>WhatsPettan</dc:identifier>
\r
1562 <dc:date>2011-12-24T09:18:24+09:00</dc:date>
\r
1565 以下からは一般向け文書。ヘルプとかマニュアルです。
\r
1567 * GuidanceForArtist
\r
1569 * GuidanceForAuthor
\r
1576 <![CDATA[<h1 id="h1-.E3.81.BA.E3.81.A3.E3.81.9F.E3.82.93.E3.81.A8.E3.81.AF">ぺったんとは</h1><p>以下からは一般向け文書。ヘルプとかマニュアルです。
\r
1577 </p><h2 id="h2-.E7.B5.B5.E5.B8.AB">絵師</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">GuidanceForArtist</a>
\r
1578 </li></ul><h2 id="h2-.E4.BD.9C.E5.AE.B6">作家</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor">GuidanceForAuthor</a>
\r
1579 </li></ul><h2 id="h2-.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">ライセンス</h2><ul><li><a href="http://sourceforge.jp/projects/pettanr/wiki/AboutLisence">AboutLisence</a>
\r
1581 </content:encoded>
\r
1583 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">
\r
1584 <title>GuidanceForArtist</title>
\r
1585 <link>http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist</link>
\r
1586 <dc:identifier>GuidanceForArtist</dc:identifier>
\r
1588 <dc:date>2011-12-23T17:08:22+09:00</dc:date>
\r
1590 <![CDATA[= 絵師さん向け文書?
\r
1596 ぺったんは投稿された画像を次のように扱います
\r
1597 * 画像をサーバ内のディスクスペースに保存します
\r
1599 * 原画を縮小・反転などの加工を施したものをサーバ内のディスクスペースに保存します
\r
1604 <![CDATA[<h1 id="h1-.E7.B5.B5.E5.B8.AB.E3.81.95.E3.82.93.E5.90.91.E3.81.91.E6.96.87.E6.9B.B8.EF.BC.9F">絵師さん向け文書?</h1><h2 id="h2-.E7.B5.B5.E5.B8.AB.E3.81.AE.E5.BD.B9.E5.89.B2">絵師の役割</h2><h2 id="h2-.E7.B5.B5.E5.B8.AB.E3.81.AB.E3.81.AA.E3.82.8B.E3.81.AB.E3.81.AF">絵師になるには</h2><h2 id="h2-.E7.B5.B5.E3.81.AE.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9">絵のライセンス</h2><h2 id="h2-.E7.B5.B5.E3.81.AE.E6.B4.BB.E7.94.A8">絵の活用</h2><p>ぺったんは投稿された画像を次のように扱います
\r
1605 </p><ul><li>画像をサーバ内のディスクスペースに保存します
\r
1606 <ul><li>この画像を原画と言います
\r
1607 </li></ul></li><li>原画を縮小・反転などの加工を施したものをサーバ内のディスクスペースに保存します
\r
1608 <ul><li>これらの画像を素材と言います
\r
1609 </li><li>原画が反転禁止のライセンスを採用しているときは反転画像を保存しません
\r
1610 </li></ul></li><li>素材は作家がコマ上に添付されます
\r
1611 <ul><li>利用するコマエディタの
\r
1612 </li></ul></li></ul><p>コマ上での扱い
\r
1613 </p><ul><li><ul><li>原画が拡縮禁止のライセンスを採用しているときは拡縮画像を保存しません
\r
1614 <ul><li>ただし、サムネイル画像のサイズに収まらない画像については縮小して表示します
\r
1615 </li></ul></li></ul></li></ul><p>素材→コマ絵
\r
1616 </p><h2 id="h2-.E9.85.8D.E5.B8.83.E3.81.AE.E5.81.9C.E6.AD.A2">配布の停止</h2><h2 id="h2-.E7.B4.A0.E6.9D.90.E3.82.B5.E3.83.BC.E3.83.90">素材サーバ</h2>]]>
\r
1617 </content:encoded>
\r
1620 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor">
\r
1621 <title>GuidanceForAuthor</title>
\r
1622 <link>http://sourceforge.jp/projects/pettanr/wiki/GuidanceForAuthor</link>
\r
1623 <dc:identifier>GuidanceForAuthor</dc:identifier>
\r
1624 <dc:date>2011-12-23T16:48:50+09:00</dc:date>
\r
1626 <![CDATA[= 作家さん向け文書?
\r
1628 ぺったんサーバが提供する素材とフキダシを利用して漫画状のコマを作ることで表現する人を作家と言います。
\r
1630 作家となるには、サイトへの登録が必要です。
\r
1644 <![CDATA[<h1 id="h1-.E4.BD.9C.E5.AE.B6.E3.81.95.E3.82.93.E5.90.91.E3.81.91.E6.96.87.E6.9B.B8.EF.BC.9F">作家さん向け文書?</h1><h2 id="h2-.E4.BD.9C.E5.AE.B6.E3.81.A8.E3.81.AF">作家とは</h2><p>ぺったんサーバが提供する素材とフキダシを利用して漫画状のコマを作ることで表現する人を作家と言います。
\r
1645 </p><p>作家となるには、サイトへの登録が必要です。
\r
1646 </p><h2 id="h2-.E4.BD.9C.E5.AE.B6.E3.81.8C.E3.81.A7.E3.81.8D.E3.82.8B.E8.A1.A8.E7.8F.BE">作家ができる表現</h2><ul><li>コマを作る
\r
1648 </li><li>コミックの配布範囲を決める
\r
1649 </li></ul><h3 id="h3-.E3.82.B3.E3.83.9E.E3.82.92.E4.BD.9C.E3.82.8B">コマを作る</h3><h3 id="h3-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.82.92.E4.BD.9C.E3.82.8B">コミックを作る</h3><h3 id="h3-.E3.82.B3.E3.83.9F.E3.83.83.E3.82.AF.E3.81.AE.E9.85.8D.E5.B8.83.E7.AF.84.E5.9B.B2.E3.82.92.E6.B1.BA.E3.82.81.E3.82.8B">コミックの配布範囲を決める</h3><h2 id="h2-.E7.B4.A0.E6.9D.90.E3.82.92.E7.94.A8.E6.84.8F.E3.81.99.E3.82.8B">素材を用意する</h2><h3 id="h3-.E7.B4.A0.E6.9D.90.E3.81.AE.E5.89.8D.E3.81.AB.E7.B5.B5.E5.B8.AB.E7.99.BB.E9.8C.B2">素材の前に絵師登録</h3><p>作家は素材を投稿することができません。素材は絵師が投稿することになっています。なぜなら、ぺったんはあなたの素材を容易に他のぺったんサイトに提供できるようになっているからです。少々面倒な構成にはなっていますが、心配には及びません。絵師の登録はワンクリック程度で完了します。
\r
1650 </p><p>登録に必要な情報は下記の項目です。
\r
1651 </p><ul><li>ペンネーム デフォルトで作家名が設定されます
\r
1652 </li><li>デフォルトのライセンス
\r
1653 </li></ul><h3 id="h3-.E7.B4.A0.E6.9D.90.E3.81.AE.E6.8A.95.E7.A8.BF">素材の投稿</h3><p>絵師登録が完了すると、素材エクスプローラーに投稿フォームが現れます。
\r
1654 </p><p>素材を投稿するにあたっての注意事項はGuidanceForArtistをご覧下さい。
\r
1655 <a href="http://sourceforge.jp/projects/pettanr/wiki/GuidanceForArtist">GuidanceForArtist</a></p>]]>
\r
1656 </content:encoded>
\r
1658 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements">
\r
1659 <title>TranslationComicElements</title>
\r
1660 <link>http://sourceforge.jp/projects/pettanr/wiki/TranslationComicElements</link>
\r
1662 <dc:identifier>TranslationComicElements</dc:identifier>
\r
1663 <dc:date>2011-12-23T11:41:06+09:00</dc:date>
\r
1665 <![CDATA[= 資料・マンガ要素の日英対訳
\r
1666 * コーディング中の命名や、国際化対応のための資料にする.
\r
1669 * コママンガ(jp) - comic strip(en)
\r
1670 * コマ(jp) - panel(en)
\r
1672 * 吹き出し(jp) - speach balloon, speach bubble(en)
\r
1676 <![CDATA[<h1 id="h1-.E8.B3.87.E6.96.99.E3.83.BB.E3.83.9E.E3.83.B3.E3.82.AC.E8.A6.81.E7.B4.A0.E3.81.AE.E6.97.A5.E8.8B.B1.E5.AF.BE.E8.A8.B3">資料・マンガ要素の日英対訳</h1><ul><li>コーディング中の命名や、国際化対応のための資料にする.
\r
1677 </li></ul><h2 id="h2-.E3.83.9E.E3.83.B3.E3.82.AC.E3.81.AE.E9.83.A8.E5.93.81.E5.90.8D.E3.81.AE.E5.AF.BE.E8.A8.B3">マンガの部品名の対訳</h2><ul><li>コママンガ(jp) - comic strip(en)
\r
1678 </li><li>コマ(jp) - panel(en)
\r
1679 </li><li>枠線(jp) -(en)
\r
1680 </li><li>吹き出し(jp) - speach balloon, speach bubble(en)
\r
1681 </li><li></li></ul>]]>
\r
1682 </content:encoded>
\r
1685 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/PictureIo">
\r
1686 <title>PictureIo</title>
\r
1687 <link>http://sourceforge.jp/projects/pettanr/wiki/PictureIo</link>
\r
1688 <dc:identifier>PictureIo</dc:identifier>
\r
1689 <dc:date>2011-12-23T11:28:56+09:00</dc:date>
\r
1692 <![CDATA[= PictureIO
\r
1693 == 画像はPictureIOが出し入れする
\r
1694 投稿された素材はデータベースではなく、ファイルに保管される。保管先は大抵の場合ローカルマシンになるが、herokuのようにローカルファイルを触れないホストもあるので、ファイルの入出力は柔軟に切り替わるようにPictureIOとして分離した。
\r
1696 差し当たってローカルファイル用のLocalPictureIOとAmazonAW]]>
\r
1699 <![CDATA[<h1 id="h1-PictureIO">PictureIO</h1><h2 id="h2-.E7.94.BB.E5.83.8F.E3.81.AFPictureIO.E3.81.8C.E5.87.BA.E3.81.97.E5.85.A5.E3.82.8C.E3.81.99.E3.82.8B">画像はPictureIOが出し入れする</h2><p>投稿された素材はデータベースではなく、ファイルに保管される。保管先は大抵の場合ローカルマシンになるが、herokuのようにローカルファイルを触れないホストもあるので、ファイルの入出力は柔軟に切り替わるようにPictureIOとして分離した。
\r
1700 </p><p>差し当たってローカルファイル用のLocalPictureIOとAmazonAWS用のS3Pict<a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>意した。
\r
1701 </p><p>デフォルトでは、開発・テスト環境ではLocalPictureIOを使い、本番ではS3PictureIOを使っ<a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>環境に合わせて設定を変える必要がある。設定は下記のファイルを書き換える。
\r
1702 <pre>config/environments/development.rb
\r
1703 config/environments/production.rb
\r
1704 </pre></p><h2 id="h2-LocalPictureIO"><a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>IO</h2><p><a href="http://sourceforge.jp/projects/pettanr/wiki/LocalPicture">LocalPicture</a>IOを使う場合は、config/environments/development.rb で、以下のように書く。
\r
1705 <pre>require 'local_picture'
\r
1706 PictureIO.setup do |config|
\r
1707 config.original_picture_io = PictureIO::LocalPicture.new '/pettanr/original/'
\r
1708 config.resource_picture_io = PictureIO::LocalPicture.new '/pettanr/resource/'
\r
1710 </pre></p><p>これで原画は/pettanr/original/に保管され、素材は/pettanr/resource/に保管される。
\r
1711 </p><p>※パス処理がショボいのでスラッシュの有無に大きな違いがある。あと、ディレクトリ掘ってないとコケる。
\r
1712 </p><h2 id="h2-S3PictureIO"><a href="http://sourceforge.jp/projects/pettanr/wiki/S3Picture">S3Picture</a>IO</h2><p>AmazonAWSを使うなら、当然S3が使えるよう、準備しておく。Amazonからキーがもらえるので設定する。
\r
1713 </p><p>まず、config/aws.yaml.orgをコピーする。
\r
1714 <pre>cp config/aws.yaml.org config/aws.yaml
\r
1715 </pre>コピーしたaws.yamlを編集。
\r
1716 <pre>access_key_id: XXXXXXXXXXXXXXXXXXXX
\r
1717 secret_access_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\r
1718 </pre></p><p><a href="http://sourceforge.jp/projects/pettanr/wiki/S3Picture">S3Picture</a>IOを使う場合は、config/environments/production.rbで、以下のように書く。
\r
1719 <pre>require 'aws/s3'
\r
1722 y = YAML.load(open(Rails.root + 'config/aws.yaml').read)
\r
1723 AWS::S3::Base.establish_connection!(
\r
1724 :access_key_id => y["access_key_id"],
\r
1725 :secret_access_key => y["secret_access_key"]
\r
1727 require 's3_picture'
\r
1728 PictureIO.setup do |config|
\r
1729 config.original_picture_io = PictureIO::S3Picture.new 'pettanr-original'
\r
1730 config.resource_picture_io = PictureIO::S3Picture.new 'pettanr-stable'
\r
1732 </pre>これで原画はpettanr-original/に保管され、素材はpettanr-stable/に保管される。
\r
1734 </content:encoded>
\r
1736 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick">
\r
1737 <title>RmagickAndDmagick</title>
\r
1739 <link>http://sourceforge.jp/projects/pettanr/wiki/RmagickAndDmagick</link>
\r
1740 <dc:identifier>RmagickAndDmagick</dc:identifier>
\r
1741 <dc:date>2011-12-23T10:53:11+09:00</dc:date>
\r
1743 <![CDATA[= RMagickとDMagick
\r
1745 絵師から預かった素材はRMagickで処理される。主にサムネイル画像の生成などで。
\r
1750 コンパイラを持たずバイナリインストールしていると、大抵RMagickのインストールでコケる。
\r
1753 RMagickなしでは丸で動かないので]]>
\r
1757 <![CDATA[<h1 id="h1-RMagick.E3.81.A8DMagick">RMagickとDMagick</h1><h2 id="h2-.E7.94.BB.E5.83.8F.E5.87.A6.E7.90.86.E3.81.AFRMagick">画像処理はRMagick</h2><p>絵師から預かった素材はRMagickで処理される。主にサムネイル画像の生成などで。
\r
1758 </p><h2 id="h2-RMagick.E3.81.AF.E6.A1.88.E5.A4.96.E5.9C.B0.E7.8D.84">RMagickは案外地獄</h2><p>Windows環境では。
\r
1759 </p><p>コンパイラを持たずバイナリインストールしていると、大抵RMagickのインストールでコケる。
\r
1760 </p><h1 id="h1-.E4.BB.95.E6.96.B9.E3.81.AA.E3.81.84.E3.81.8B.E3.82.89DMagick">仕方ないからDMagick</h1><p>RMagickなしでは丸で動かないので、あたかもRMagickがあるかのように振る舞う空箱を用意した。それがDMagick。
\r
1761 </p><p>デフォルトでは開発環境でDMagickを使うようにしてあるので、RMagickが使えるなら、config/environments/development.rbを書き換える。
\r
1763 </content:encoded>
\r
1765 <item rdf:about="http://sourceforge.jp/projects/pettanr/wiki/InstallRubyAndRails">
\r
1766 <title>InstallRubyAndRails</title>
\r
1767 <link>http://sourceforge.jp/projects/pettanr/wiki/InstallRubyAndRails</link>
\r
1768 <dc:identifier>InstallRubyAndRails</dc:identifier>
\r
1770 <dc:date>2011-12-22T18:14:49+09:00</dc:date>
\r
1774 ruby1.9系が入っていることを確認
\r
1775 > ruby -v[[BR]]
\r
1776 > ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
\r
1779 > gem install bundler
\r
1782 > git clone git://git.sourceforge.jp]]>
\r
1785 <![CDATA[<h1 id="h1-.E7.92.B0.E5.A2.83.E6.A7.8B.E7.AF.89">環境構築</h1><h2 id="h2-Ruby">Ruby</h2><p>ruby1.9系が入っていることを確認
\r
1786 </p><blockquote class="citation"><p>ruby -v<br />
\r
1787 ruby 1.9.2p290 (2011-07-09) <a href="http://sourceforge.jp/projects/pettanr/wiki/i386-mingw32">i386-mingw32</a>
\r
1788 </p></blockquote><h2 id="h2-gem">gem</h2><blockquote class="citation"><p>gem install bundler
\r
1789 </p></blockquote><h2 id="h2-source.20code">source code</h2><blockquote class="citation"><p>git clone git://git.sourceforge.jp/gitroot/pettanr/pettanr.git peta
\r
1791 </p></blockquote><h2 id="h2-gem.20library.20install">gem library install</h2><blockquote class="citation"><p>bundle install --without production
\r
1792 </p></blockquote><h2 id="h2-init.20database">init database</h2><blockquote class="citation"><p>rake db:migrate
\r
1793 </p></blockquote><h2 id="h2-create.20admin.20account">create admin account</h2><blockquote class="citation"><p>rails r "Admin.start('admin@mail.adr.ess', 'admin_password')"
\r
1794 </p></blockquote><h2 id="h2-configure.20file.20io">configure file io</h2>]]>
\r
1795 </content:encoded>
\r