【HTML】StrictなHTMLのBBSを作ろう【Perl,PHP】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/27 10:29:37ID:???strictの種類としては、html4.01.XHTML問いません。
書き込みに対し、どのような処理を与え、どんな結果を出すことが望ましいか、
そのコードはどんな風にすればよいか、を話し合うスレです。
参照スレッド
Strict-HTML スレッド25@Web制作
http://pc5.2ch.net/test/read.cgi/hp/1101043958/l50
0209nobodyさん
04/12/01 00:29:14ID:???あのさぁ、機能を削るぐらいなんでもないでしょう?
改行で <p> を終わらせたり > で引用にさせたりなんて Wiki まわりで全部実装されてるってだけ。
0210nobodyさん
04/12/01 00:47:38ID:???<p>この掲示板では連続した改行は表示することができません。</p>
<p>例えば、下記のような投稿を行うと</p>
<code>strictなHTMLを出力するBBSを作成するスレッドです。 (↓)
strictの種類としては、html4.01.XHTML問いません。 (↓)
書き込みに対し、どのような処理を与え、どんな結果を出すことが望ましいか、 (↓)
そのコードはどんな風にすればよいか、を話し合うスレです。 (↓)
(↓)
(↓)
参照スレッド(↓)
Strict-HTML スレッド25@Web制作(↓)
http://pc5.2ch.net/test/read.cgi/hp/1101043958/l50(↓)
</code>
<div class="SamplePreview">
<p>strictなHTMLを出力するBBSを作成するスレッドです。<br>
strictの種類としては、html4.01.XHTML問いません。<br>
書き込みに対し、どのような処理を与え、どんな結果を出すことが望ましいか、<br>
そのコードはどんな風にすればよいか、を話し合うスレです。
</p><p>
参照スレッド<br>
Strict-HTML スレッド25@Web制作<br>
http://pc5.2ch.net/test/read.cgi/hp/1101043958/l50
</p>
</div>
<p>上記のように表示されます。
そのため、視覚的表現のみの目的で改行を用いることはご遠慮ください</p>
0211nobodyさん
04/12/01 01:53:11ID:???</p><p style="margin-top:2em">
に置き換えるとかいう手もあるが。
0212nobodyさん
04/12/01 04:34:30ID:???改行の回数を「間隔をあけたい距離」と解釈するわけか。
まあ、「間隔をあけたい距離」を「間」とするのもいいかもな。
行間で間、を嫌悪する人もいるし、
「改行はいくついれても2個以上だと段落終了と次の段落の開始と見做す」
とを設置者がオプションで選択できてもいいかな。
0213nobodyさん
04/12/01 09:39:27ID:???>>199 のように blockquote 内 blockquote はまだわかりやすいとしても、
リスト内リストとかはどーすんの? 考えない?
0214nobodyさん
04/12/01 09:43:38ID:???じゃなく、考えてから物言え馬鹿。
0215nobodyさん
04/12/01 09:47:22ID:???リストのネストって語呂がいいな。
リストのネストって、引用の引用みたいな単純なものじゃないし、
また、そこまで深い階層の書き込みなんてそうそうあるものかなぁ。
なくても不便ではないような希ガス
0216nobodyさん
04/12/01 10:07:27ID:???ディレクトリ構成とか、いちいちpre要素で囲んで図作るのか?
リストで表すのが普通じゃないの。
で、その場合ネスト必要。
っつーか、リストのネストは単純に簡単だし。
0217nobodyさん
04/12/01 10:17:06ID:???いや、>>213 が言ってくれてるように、
2階層以上のリストとかは考えないで無視するのか? って言いたかった。
言葉足らずスマソ
それから
----------------------
・・・・はぁ
・・鬱だ
----------------------
と書いたらリストになってしまうわけだが、
この辺どうするかは投稿者が決定したらいいのか、
それとも「・連続 はリストとみなさない」とスクリプト内で判断すべき?
0219nobodyさん
04/12/01 10:29:11ID:???0221nobodyさん
04/12/01 11:25:20ID:???・2ちゃんねる
・ネット関係
・Web制作板
・WebProg板
こういう書き込みってあるのかなぁ。今まで見たことない。
ul要素は一行目でいいとして、ol要素は考えない?
0222nobodyさん
04/12/01 11:37:40ID:???俺が見てきた中では、図で表してるのが殆ど。
↓例
ディレクトリ構成どうしてる?
http://pc5.2ch.net/test/read.cgi/hp/1030814119/
普通はこう書くわな。
こればかりは、書式を利用者側に覚えてもらっても良いんでない?
図で書くよりも手間が省けるだろうし。
0224nobodyさん
04/12/01 14:38:23ID:???>>222
ディレクトリ構成を掲示板に書き込む、ってケースはかなり特殊じゃないか?
まあ、特殊だから無視していい、ってわけではないけど。
0226nobodyさん
04/12/01 19:04:44ID:???(;;;;;;;´Д`)
0227120
04/12/01 19:58:09ID:???リストについてなんだが、今のところ
「連続しない・」で始まる行が2行以上連続する場合にリストと見なすよう実装している。
2行以上ってのは>>36みたいなケースに対処するためだが、
意外と1行のリストも有り得るかも知れないな…どうだろう。
リストのネストについては、正直あまり必要性を感じない。
>>224が言うように、ディレクトリ構成みたいな純粋なネスト構造は希だろう。
ほとんどの場合は複数のリストをフラットに並べれば表現できる気がする。
一応「何でも出来る」ような基礎は作っておくつもりなので、
そういう特殊用途にはその都度改造しておくれ、というのが作る側の本音だ。
>>211,223安易に「見た目」に繋げるのはどうかと思うが…
とりあえず連続する空行の数は数えられるようにしておく。
0228nobodyさん
04/12/01 20:28:53ID:???お疲れ様です。
>>68のを改造ってことはラウンジ型のまま?それともスレッド式とかレス式なのかな?
> >>211,223安易に「見た目」に繋げるのはどうかと思うが…
確かにそう思う。
でもまぁ利用者に対して選択肢を広げるってのはまぁ悪い事でもないかもね…。
0231nobodyさん
04/12/02 12:46:58ID:???あっちにも顔出したりしてます。
まぁヘタレは何処までいってもヘタレですが(;´Д`)
0232nobodyさん
04/12/02 13:18:31ID:???0233nobodyさん
04/12/02 17:30:50ID:???0237nobodyさん
04/12/02 20:06:10ID:???0238nobodyさん
04/12/02 21:33:01ID:pa/YvkmO0239nobodyさん
04/12/02 21:59:12ID:???0240120
04/12/02 22:15:05ID:???何かおかしな方向へ行っているし、とりあえず動くものを。
http://rain.s88.xrea.com/strictbbs/
純粋に変換を試してみたい人はここで。
http://rain.s88.xrea.com/strictbbs/clrea/parse.php
clreaに組み込んだサンプルはここ。
http://rain.s88.xrea.com/strictbbs/clrea/
0241nobodyさん
04/12/02 23:22:12ID:???・リスト。
・リスト。
・リスト。
・・・・テスト。
・リスト。
・・・・テスト。
これを変換したら最初の「・・・・テスト。」の前に「・リスト。」が自動で挿入される模様
0243241
04/12/03 01:19:30ID:???今さらで申し訳ないんだが、空白後に「・」の場合は?
現状どこぞの掲示板に書き込むときはインデント代わりに空白入れたりしちゃってるが、
>240のサンプルだとそれは反映しない設定になってるよね?
・リスト1
・リスト2
2chとかにリストを書き込むときこんな感じで(自分内整形)書くことがあるんだけど。
0244nobodyさん
04/12/03 01:29:04ID:???空白1つとは限らないしなぁ。
そこ難しいところかも。
0245nobodyさん
04/12/03 04:00:15ID:???0246nobodyさん
04/12/03 07:06:23ID:???全角スペースまで無視しちゃうと、AAが貼れなくなるわけだが。
0247nobodyさん
04/12/03 11:32:40ID:???0249nobodyさん
04/12/03 18:36:04ID:???いつの時代だよ・・・
0250120
04/12/03 20:17:14ID:???というWebProg側の主張を”実演”したつもりなんだが、ちゃんと伝わっただろうか…。
この反応の薄さは成功したと見て良いのか…あるいは単に人が少ないだけか(笑。
>>243行頭の半角/全角空白はリスト判定時には無視するようにしてみた。
>>246リスト判定から外れれば空白も残るよ。
---------------------
・リスト。
・リスト。
・・・・テスト。
---------------------
<ul><li>リスト。</li><li>リスト。</li></ul><p> ・・・・テスト。</p>
---------------------
AAについては…まあよく考えておくれ。
0251120
04/12/03 20:19:23ID:???しまった、空白が消えてしまった…。
全角で書き直し。
---------------------
・リスト。
・リスト。
・・・・テスト。
---------------------
<ul><li>リスト。</li><li>リスト。</li></ul><p> ・・・・テスト。</p>
---------------------
0252nobodyさん
04/12/03 21:44:30ID:???という疑問が…。
0253nobodyさん
04/12/03 22:15:28ID:???0254nobodyさん
04/12/04 11:57:26ID:???もし実用公開されたらサポート掲示板として使わせてもらうよ。
0255nobodyさん
04/12/04 17:26:55ID:???これでもリスト判定されるみたい。
------------------------
>>・テスト1
>・テスト2
------------------------
<blockquote><blockquote><ul><li>テスト1</li><li>テスト2</li></ul></blockquote></blockquote>
------------------------
<strong>や<em>は利用者にタグを書かせれば良いんでない?
0256nobodyさん
04/12/04 21:21:11ID:???><strong>や<em>は利用者にタグを書かせれば良いんでない?
掲示板でHTMLの話をする場合、<strong> と書かず <strong&gt;
と書かなきゃならなくなるのか?
0257nobodyさん
04/12/04 21:52:27ID:???'<' => '<', '>' => '>'
0258nobodyさん
04/12/04 21:54:55ID:???0259nobodyさん
04/12/04 21:55:43ID:???0260120
04/12/04 23:51:15ID:???http://rain.s88.xrea.com/strictbbs/
HTML変換部分のソースを切り出したり、色々変更。
>>255のも修正されたはず。
<em>や<strong>は…どうだろうな。
日本語としても適当な表記があれば良いんだが、
「」とかは用法が広すぎるし…。
0261nobodyさん
04/12/05 02:34:15ID:???「!」が使われてる部分を強調すると言うのはどうだろうか?
------------------------
テスト!
テスト,テスト!
テスト、テスト!
テスト。テスト!
テスト!テスト。
------------------------
<p>
<strong>テスト!</strong><br />
テスト,<strong>テスト!</strong><br />
テスト、<strong>テスト!</strong><br />
テスト。<strong>テスト!</strong><br />
<strong>テスト!</strong>テスト。
</p>
------------------------
でもこれだとAAを書く時問題が出そう…。
0263nobodyさん
04/12/05 12:12:49ID:???AAは無しでいいじゃん・・・
body {font-family:○○; /*MS Pゴシックなどに*/
}
0264nobodyさん
04/12/05 12:28:50ID:???もしそれを実装するなら>>255も実装出来ると思う。
<select name="" tabindex="">
<optgroup label="通常投稿用">
<option value="1"><strong>,<em>タグ有効</option>
<option value="2"><strong>,<em>タグ無効</option>
</optgroup>
<optgroup label="AA用">
<option value="3"><pre>で書く</option>
<option value="4">段落まで<pre>で書く</option>
</optgroup>
</select>
0265nobodyさん
04/12/05 16:48:27ID:???0266nobodyさん
04/12/05 16:48:45ID:???0267nobodyさん
04/12/05 21:40:53ID:???0268nobodyさん
04/12/05 23:08:25ID:???0269nobodyさん
04/12/06 00:11:06ID:???0271nobodyさん
04/12/06 06:18:43ID:???利用してくれるとは思えないんだよね。実際に使うのはBBSの管理人
だけになりそうな予感。
0274nobodyさん
04/12/07 17:22:26ID:???結構大変なのかな…
0275120
04/12/07 21:59:03ID:???とりあえず>>270、「選ぶ」ためには予め全部作っておく必要があることを忘れないでくれよ。
…実業務でも往々にしてある構図だな、これ(苦笑。
それとPRE(AA用のブロック?)とかって、結局どんな処理を期待してるの?
要するに改行をそのまま表示する(段落区切りと見なさない)ってこと?
それだけなら、まあそのまま素直に実装するけど…。
あと困ってると言ったのは、<em>とか<strong>とか置換する際の問題。
平たく言えば、書き手を信じて単純に置換すると
<strong><em></strong></em>こうなりかねない、ってこと。
完全に対処するためにはもう一段階解析を細かくしなくちゃいけないんだけど、
流石に面倒になってきた。適当な妥協策を探るか、覚悟を決めて書き直すか…。
0276nobodyさん
04/12/07 22:17:24ID:???> それとPRE(AA用のブロック?)とかって、結局どんな処理を期待してるの?
> 要するに改行をそのまま表示する(段落区切りと見なさない)ってこと?
じゃなくて、
連続スペースは無視しようぜ→じゃあAAは?→AAはpreで括ろうぜ
ってだけの話で、preにする理由はそんな流れ。
0277nobodyさん
04/12/07 22:41:28ID:???0279nobodyさん
04/12/07 23:04:02ID:???ないよりあったほうがいいと思う。
0281120
04/12/07 23:34:50ID:???>>276とりあえずAAを書く上での問題が連続スペース「だけ」なら、
現状でも特に問題はないはず。
デフォルトで空白は保持されるから。
一方で、普通PREという名称でイメージする領域、
つまり連続改行による段落区切りを無効にした領域が
別に必要なんですか?
もしくは強調などのインライン要素置換をも
無効にした領域(それをPREと呼ぶべきかは知らない)がご所望ですか?
と訊いたのが>>275
…ついでに
「重要度に関わらず、とりあえず選択式で」ってのは勘弁してくれ、とも言ってるわけだが(笑
0282nobodyさん
04/12/07 23:36:28ID:???0283nobodyさん
04/12/07 23:46:25ID:???> デフォルトで空白は保持されるから。
保持しないオプションつけてくれ、はスルーされるわけね。
連続スペースは気持ち悪い。
0284120
04/12/08 22:21:13ID:???http://rain.s88.xrea.com/strictbbs/clrea/parse.php
ソースはまだぐちゃぐちゃだが、動くことは動くはず。
<pre>と</pre>に囲まれた領域では、全ての改行が単純に<br />に置き換わる。
インライン要素置換は起こらない。勿論リスト引用等々も機能しない。
あとインライン要素置換のテスト用に<em>を実装しておいた。
作ってから気付いたけど、tag-map.iniで
preformatted=<pre>%CONTENTS%</pre>
となってるのを
preformatted=<pre><code>%CONTENTS%</code></pre>
にすればソースコード用に、
preformatted=<p>%CONTENTS%</p>
にすればAA用になるな、これ。
排他使用でも良いけど、どうせなら複数同時に使えれば平和になりそうな気がする。
0285120
04/12/08 22:22:24ID:???それは設置時のオプションとして、ってことだよね?
確かに、<pre>を実装するとなると空白の扱いくらいは
設置者のポリシーとして設定できた方が良いかも知れないな。
ちなみに「空白を保持しない」ってのは
「連続する半角/全角空白を半角空白1つに置き換える」くらいの意味でOK?
0287nobodyさん
04/12/10 18:52:57ID:???0288nobodyさん
04/12/10 22:50:16ID:???仕様かも知れないけど一応報告。
------------------------
<pre>
テスト
</pre>
------------------------
<pre><br />テスト<br /></pre>
------------------------
あと、
1 文字
2 文字
3 文字
みたいに連番になると<ol>なんてどうかな……?
0289nobodyさん
04/12/11 20:56:51ID:???* foo
* bar
* baz
みたくするとulでリスト化するとか
0290289
04/12/11 20:57:41ID:???スマソ
0291nobodyさん
04/12/11 21:39:47ID:???0292120
04/12/13 21:02:49ID:???http://rain.s88.xrea.com/strictbbs/clrea/parse.php
PRE系統のタグが複数同時に使用できるようになった。
デフォルトでは<pre>と<AA>が使用可能だが、カスタマイズも可能。
(方法については別途実験用のラウンジにでも詳述しておく)。
あと空白の扱いと<pre>系タグの使用許否も設定できるようになった。
/StrictBBS/config.php
内の定数で設定する。例えば
define('PRESERVE_WS', false);
にすれば、連続する全角/半角空白とタブは半角空白1つに置換される。
またこの設定は実際の変換時にダイナミックに変更することも出来る。
上URLで実演しているので試してみて欲しい。
0293120
04/12/13 21:10:23ID:???それはずばり仕様。
中途半端に改行を削ったりすると意味が無くなってしまうので。
あと<ol>については、<ul>以上に書き方のバリエーションが
ありすぎるので保留にしている。
0294nobodyさん
04/12/14 01:06:25ID:???> あと<ol>については、<ul>以上に書き方のバリエーションが
見当違いだったらごめん。バリエーションって、ナンバリングのスタート地点とかのこととかかな?
だったら、type属性もstart属性もvalue属性もcompact属性も非推奨だから気にしなくていいと思うよ。
strictBBSなんだし。
0295nobodyさん
04/12/14 02:47:27ID:???見当違いとかいう以前に、非推奨の意味を誤解していないか?
HTMLで見かけを指定する要素が非推奨という意味は、標準の見かけだけを
考えればいいということではなく、見かけが違っても本質は同じものなら
本質の方だけを考えろという意味だよ。見かけはいくらでもあり得るわけ。
つまり、非推奨だからこそ、よりバリエーションがあり得るんだけど。
0296nobodyさん
04/12/14 10:47:42ID:???> つまり、非推奨だからこそ、よりバリエーションがあり得るんだけど。
ごめん。意味がわかんない。
非推奨は実装しなくていいんだからそれによって増えうるバリエーションはない、ってのはあってるよね?
0297nobodyさん
04/12/14 12:18:32ID:???そこが違ってるんだって。例えば、
1. ぬるぽ
2. がっ
i. ぬるぽ
ii. がっ
この2つは数の表示方法が違うけど、本質的な論理構造は「ぬるぽ」と
「がっ」がこの順序に並んだリストという意味で全く同じものを表している。
だから本質的でない見栄えの違いをtype属性などで指定したりはせずに、
<ol><li>ぬるぽ</li><li>がっ</li></ol>
と、どちらも本質部分だけを書こうというのがStrict。それをおまいさんは、
上のリストが推奨で下が非推奨と誤解していないか?…と。
0298nobodyさん
04/12/14 13:17:38ID:???先頭に少数付きの数字を書きたいときに競合するか。ふーむ…。
0299nobodyさん
04/12/14 14:18:39ID:???0301nobodyさん
04/12/14 20:42:16ID:???ttp://www.htmlhelp.com/ja/reference/css/classification/list-style-type.html
0302120
04/12/14 21:03:41ID:???<ol>のバリエーションってのは単純に、
1. 2. と書く人もいれば I. II. と書く人も i. ii. (1) (2) 1、2、等と書く人もいるから難しい、
というだけの話。
これだけ多くのバリエーションがあると、全てに対応するのはまず無理だ。
かといって>>298が言うような限定的な実装をすると、本当に使われるのかどうかが疑問になってくる。
そのあたりうまい妥協点が見出せないから、実装の手間も考えて保留中、ってこと。
0303nobodyさん
04/12/14 23:16:15ID:???0304nobodyさん
04/12/15 17:39:11ID:???書き込まれ方、って話?
そんなのは「引用の場合は文頭に「>」を」というのと同じで、ルール作っておけばいいでしょ。
「iiにしたい」と思う書き込み人のことを考慮する、ってのはstrictBBS的な発想じゃないし。
数字のタイプはページ管理者の一存でいいでそ。
0305nobodyさん
04/12/15 19:36:37ID:???iiだろうが2だろうがolはolであって、どう見栄えをコントロールしようかなんて話にはなっていないが。
0306nobodyさん
04/12/16 00:55:37ID:???> そうじゃなくて、olにしたいけどどの書き込み方法を実装しようか、って話だろ?
だから、「いずれか一種類にする」でいい、と言ってるわけでしょ。
>あと<ol>については、<ul>以上に書き方のバリエーションが
この言い方ではいろんな書き方をカバーするつもりととれるから。
■ このスレッドは過去ログ倉庫に格納されています