forked from lordhollow/PhantomPain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.memo.txt
258 lines (185 loc) · 8.22 KB
/
.memo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
*Ticket
メディアビュアーのピックアップ限定
IDもトリップもないとトラッキングの起点にできないようにする(メニューにボタンを表示しない)
pickupのアイコンを☆にしたほうがいいかも
deployされていないノードに対するトラッキングとその解除がちょっと変かも。
Finder.express後にスクロールを一番上に戻す
**PP2にあってPP3にないもの
***実装するもの
名前が数字の人の名前にポイントするとポップアップ
トラッキングにも適用(これは設定にて不可にもできる)
ピックアップ限定のメディアビュー
youtubeの動画ポップアップ
***実装しないかもしれないもの
板一覧のドラッグによるサイズ変更
レスノードに画像などのコンテンツが追加された(または削除された)時に表示位置ができるだけ変わらないように頑張る
ノード検索で高速化のためにXPATHを使う(CSSセレクタ機能を使うかも)
グロ注意
画像サムネイルの目隠し(モザイク、ブラー、オーバーレイ)
初期状態
警告対象(警告レスによるフラグ立て)
インライン書き込みフォーム(拡張は作らないので、既存拡張(書き込みヘルパー?)でできれば実装する
アップデート確認(http://chlice.qee.jp/app/upjson.cgi/pp2/checkVersionCallback)
メディアビューアで表示範囲に関わらず1-1000のデータを全部列挙
youtube(とニコ)以外の動画のポップアップ
キーワード/おすすめ2ch(faviconクリックでURLに飛ばすとかその程度)
**実装しないもの
ポップアップのフェード
タイトルバーを畳む
アウトリンク発火時のリダイレクト設定
メールアドレスや日付等に限定した検索
タイトルバーにスレッドステータス書き込み
**PP2にもないけど実装するもの
検索モードに入るとき(選択的に)既読レスを全部ロード?
Twitterに投げる
*マルチスレッド処理の書き方
スレッドの処理を別ファイルに書く。
onmessage = function(event){}として、トリガを受けたときの処理を記載。
それ以外の部分はロード時に実行されると思われる。
event.dataを参照すると、データのやり取りは可能。DOMの操作はできないとの情報があるので
やらないのが無難か。createElementだけなら通る?XMLHTTPRequestは可。
呼び出し元への通知はpostMessage()によって実施。
onmessage = function(event)
{
var dt = event.data;
for (var i=dt.begins; i<dt.begins+100000 ; i++)
{
factorization(i);
}
postMessage({code: -1, begins: dt.begins});
}
function factorization(n){ ... }
**Worker内で使えるもの
navigator
location(ただし読み込みに限る)
XMLHttpRequest
タイマ(setTimeout()/clearTimeout()/setInterval()/clearInterval())
外部スクリプト(importScripts()メソッドを使う)
他のワーカーを起動
**Worker内で使えないもの
DOM
window
document
parent
どうやらDOMオブジェクトを含むオブジェクトですら受け渡せないようなので、
jsonで渡せる程度のものしか渡せないと考えたほうがよさそう。
そう考えると、一旦resからjsonデータを抜いてくる必要があって、
その手間を考えたら最初からjsonで抜いてきてonLoadでdeployしたくなるものの、
本文のescapeができないのでダメだな。
一方でConcurrent.Thread.jsではタイマでスライシングしているだけなのでDOMの操作も可能。
しかし、マルチスレッド化に期待する効率化(マルチコアCPUでの効率化)は期待できない。
DOMに関わらない重い処理ならWebWorkersがよさそうだが、果たしてそんなものがどれだけあることか。
*基本データ
resDomNode[]
resNode[]
これらは常にindexにレス番号を持つ箱。
初期状態で1001のサイズを持つ。
resDomNode[n] == nullなら、そのレスは未ロード。
resDomNode[n] != null かつ resNode == null ならそのレスは未解釈。
ロード後、バックグラウンドでてけとーにXMLHttpRequestしながら未ロードレスを埋めていく。
*要求仕様
**テンプレート
>>1-10のポップアップをするための土台。
resanchorにしておけばOK?
**しおり
**ピックアップ/透明化
**抽出
**画像展開
**More/AutoReload
**新着Notice
**書き込み
**設定
**ポップアップギア
単一レスのポップアップの場合、ギアアイコンが表示される。
ギアアイコン上でホイールゴリゴリするとその前後のレスに内容を変更。
ギアアイコンからフォーカスを外すと、元のレスを表示。
**ついーと
オリジナルのURL+レス番号でツイート。
ページメニューからだと /10-60(l50でなく、表示範囲でn-mを作る)なんかがデフォルト状態、
レスメニューからだと/10(レス番号)がデフォルト状態。どちらもツイートポップアップで変更可能。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
bbs2chreader スキンの仕様
bbs2chreader 0.1.0 以降からスレッド表示にスキンを利用できるようになりました。
必要なファイル
プロファイルフォルダ/bbs2chreader/skin にスキン名と同じ名前のフォルダをつくり、その中に以下のファイルを作成します。
Header.html Footer.html
スレッド表示部分の最初と最後に適用されるファイルです。
次のタグは、適用時に置換されます。
<THREADNAME/> : スレッドのタイトル (Header.htmlのみ)
<THREADURL/> : スレッドの URL
<SKINPATH/> : スキンの URL
<BOARDURL/> : スレッドの所属する板の URL
<SERVERURL/> : bbs2chreaderで使っているURL (ver.0.2のbbs2ch:threadに相当 / ver.0.3.0以降)
<FONTNAME/> : フォントの名前 (ver.0.4pre2以降)
<FONTSIZE/> : フォントのサイズ (ver0.4pre2以降)
<AAFONTNAME/> : AA表示に使うフォントの名前 (ver.0.4.1以降)
<AAFONTSIZE/> : AA表示に使うフォントのサイズ (ver.0.4.1以降)
<AALINEHEIGHT/> : AA表示に使う行の高さ (ver.0.5pre2 rev.510以降)
<STATUS/> : HTTP ステータスなどのスレッド取得情報 (Footer.htmlのみ)
<GETRESCOUNT/> : 取得したレスの数 (Footer.htmlのみ)
<NEWRESCOUNT/> : 新着レスの数 (Footer.htmlのみ)
<ALLRESCOUNT/> : レスの総数 (Footer.htmlのみ)
<SIZE/> : スレッドのサイズ (バイト単位 / Footer.htmlのみ / ver.0.4pre6以降)
<SIZEKB/> : スレッドのサイズ (キロバイト単位 / Footer.htmlのみ / ver.0.4pre6以降)
Res.html NewRes.html
Res.html は既読レスに、NewRes.html は新着レスに適用されるファイルです。
<NUMBER/> : レスの番号
<PLAINNUMBER/> : レスの番号
<NAME/> : 名前
<MAIL/> : メールアドレス
<MAILNAME/> : <a href="mailto:メールアドレス">名前</a>
<DATE/> : 投稿日
<ID/> : 投稿者の ID
<IDCOLOR/> : ID 固有の CSS カラー (ver 0.2.13以降)
<IDBACKGROUNDCOLOR/> : <IDCOLOR/> の背景色版(ver 0.2.13以降)
<BEID/> : 投稿者の BeID
<MESSAGE/> : レス本文
NewMark.html
既読レスと未読スレの間に適用されます。
諸注意
書き込み用リンク
書き込み用リンクを追加するには、以下のようにします。
<a href="bbs2ch:post:<THREADURL/>">書き込み</a>
スクリプト使用時の注意
置換文字列に、'\' が使われている場合、<script> 外では文字化けを起こしてしまいます。
<button onclick="alert('<NAME/>')">TEST</button>
次の場合は正しく動作します。
<script>
var name_<PLAINNUMBER/> = '<NAME/>';
</script>
<button onclick="alert(name_<PLAINNUMBER/>)">TEST</button>
スキン標準化プロジェクトとの互換性
bbs2chreader のスキンは スキン標準化プロジェクト の仕様にほぼ準拠していますが、多くの 2ch ブラウザ用スキンは IE コンポーネントに特化しているため、そのままでは動作しないと思われます。
<MESSAGE/> 内の リンク
<MESSAGE/> 内のリンク(a タグ)には、以下のクラス名がつきます。resPointer (レス番リンク)outLink (外部リンク)
<MESSAGE/> 内の AA
<MESSAGE/> 内でAAと判定された部分は、aaResというクラス名を持ったspan要素になります。(ver.0.4.1以降)
<STATUS/> の動作
Footer.html 内に <STATUS/> が存在しない場合、自動的に<p class="info"><STATUS/></p> が追加されます。
<DATE/> の動作
Res.html(NewRes.html) 内に、<DATE/> しか無いときは、日付、ID そして BeID に置換されます。<ID/> や <BEID/> が存在する場合は、日付のみに置換されます。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■オリジナル画像のツイートボタンを作る方法
http://freesoft.tvbok.com/tips/net_tips/blog_twitter_link.html
※画像は自分で用意しましょう。
ここでは作成するリンクの表記方法のみの解説を行っています。
ツイート用のリンク
http://twitter.com/share?count=horizontal&original_referer=http://ブログのURL&text=ツイートするテキスト&url=http://ブログのurl&via=ツイッターID
赤字部分に、TwitterでつぶやきたいURLや言葉を入れ、
自分で画像を用意し、そこに上記リンクを貼り付ければOK。
http://ブログのURL・・・・つぶやきたいURLを記載します
テキスト・・・・ブログ記事のタイトル等を記載します
ツイッターID・・・自分のTwitter IDを記載します(viaとは、「~~~経由」という意味)
こんな場合におすすめ
・好きな画像でツイートボタンを作りたい
・余分なアクセスを減らし、少しでも高速に表示させたい
■Twitterで用意された方法1
iframeを利用した方法です。
ツイート用のリンク
<iframe allowtransparency="true" frameborder="0" scrolling="no"
src="http://platform.twitter.com/widgets/tweet_button.html?url=http://ブログのURL
&text=ツイートするテキスト
&via=ツイッターID&lang=en&count=horizontal"style="width:130px; height:20px;"></iframe>
こちらも赤字部分に、TwitterでつぶやきたいURLや言葉と入れればOKです。
こんな場合におすすめ
・ツイート数も表示させたい