**[[質問箱/344]] [#be56f32c]
|RIGHT:70|LEFT:410|c
|~サマリ|入力時の改行の扱いについて再び|
|~バージョン|1.4.2|
|~投稿者|[[km]]|
|~状態|完了|
|~投稿日|&new{2003-12-01 (MON) 17:52:40};|
***質問 [#r12f6169]
:|
~とても便利なソフトPukiWikiを公開していただきありがとうございます。[[質問箱/280]]で却下されている件に関してです
~Pukiwikiの公式なフォーマットとしてではなく、自分のサイトへインストールしたPukiwikiの改造について質問させていただきます
~日本語の入力においてはフロントプロセッサの存在により、~の入力が改行の入力より余分なキーストロークが必要な場合が多く、ちょっと不便&heart;という問題があります。
~そこで、空行を改行として使用するためにconvert_html.phpの750行目付近に次のような文を挿入してテストしてみました。
 // 行頭文字
 $head = substr($line,0,1);
 
 if ($line == '' and $exists_vl == FALSE) { // 空行
      $line = '~';
      $exists_vl = TRUE;
 }
 else{
     $exists_vl = FALSE;
 }
 
 if ($line == '') { // 空行
~制御行の扱いに少しばかり違いが出るようですが
砂場のコピーでテストしてみた限りでは問題なさそうです
~何分PHPに関しては全く素人なので、お伺いしたいのですが
この改造で運用しても問題はないのでしょうか
~下が改造してテストしているPukiWikiのサイトです
--http://h8s.chips.jp/bbs/index.php?%B2%FE%B9%D4%A5%C6%A5%B9%A5%C8
***回答 [#r63063f8]
-[[km]] &new{2003-12-01 (MON) 20:21:08};
~自己レスです
~この質問箱でやってみるともともと空行で改行出来る仕様になっているじゃない!と汗、だったのですが、よく見ると空行で改行すると次の行が字下げをするようになっているし手元のオリジナルでは空行は行数にかかわらず1行の空行として表示されるので無駄な作業ではなかったと、一安心したところです。~
上の変更で大きな副作用がなければ当面、この改造で運用したいと思っています~
-[[reimy]] &new{2003-12-02 (TUE) 00:48:12};
~大きな副作用があります。空行は改行ではありません。また、改行と改段落の区別もあります。[[ヘルプ]]をよくお読みください。
-[[km]] &new{2003-12-02 (TUE) 02:21:49};
~そうですか、ヘルプは読んでみたんですがどうもぴんとこないんです。。    副作用というのはセキュリティとか基本的なところに影響するかなということだったのですが、ヘルプの範囲でということであればそれは心配なさそうですね。    英文にはパラグラフという概念はありますが改段落での字下げはありませんし、段落の形としては開発日記のフォーマットの方がしっくりきますが    細かい形式は別にして、tDiaryと較べてみても私にはPukiWikiの方が圧倒的に使いやすく優れたシステムです。    今後とも有難く愛用させていただきますのでよろしくお願いします、ご回答ありがとうございました。
-[[reimy]] &new{2003-12-02 (TUE) 06:49:58};
~空行を改行として使うと、ブロック要素の脱出を伴うため、ブロック要素の階層化ができなくなります。そのため、一部のプラグインでも副作用が発生します。
-[[ぱんだ]] &new{2003-12-02 (TUE) 18:32:42};
~これを試してみてください。
 diff -u -r1.57 convert_html.php
 --- convert_html.php	12 Nov 2003 01:21:21 -0000	1.57
 +++ convert_html.php	2 Dec 2003 09:31:42 -0000
 @@ -103,9 +103,12 @@
  	function toString()
  	{
  		$ret = array();
 +		$b_inline = FALSE;
  		if (isset($this->elements) and count($this->elements) > 0) {
  			foreach ($this->elements as $obj) {
 -				$ret[] = $obj->toString();
 +				$_b_inline = is_a($obj,'Inline');
 +				$ret[] = (($b_inline and $_b_inline) ? '<br />' : '') . $obj->toString();
 +				$b_inline = $_b_inline;
  			}
  		}
  		return join("\n",$ret);
-[[reimy]] &new{2003-12-05 (FRI) 13:38:40};
~[[dev:開発日記/2003-12-03]]のsetlinebreak.inc.phpで対応済み。

#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.056 sec.

OSDN