TITLE:SC改行改段書式の導入
#indent
#contents
////////////////////////////////////////////////////////////////
* 方針 [#l9134ee3]
- 従来の行末にある「~」で行われる改行は、行頭書式に統一すべし。
-- Wikiの行末書式は「~」しかない ⇔ 行頭書式が殆ど
-- 統一した場合、Wikiコードから書式を読むとき、行頭の縦読みだけで済む。
- 行頭が「##;##」で始まる「SC改行改段書式/SemiColon改行改段書式」を導入
-- 多くのプログラミングで用いられる文終了記号「##;##」を次の文の開始記号と再解釈し、行頭に持ってきた。
////////////////////////////////////////////////////////////////
* 仕様 [#b00c412d]
- 行頭が「##;##」 の行は改行を挿入して、前の行に続ける。
- 行頭が「##;;##」の行は改段を挿入する。
////////////////////////////////////////////////////////////////
* 改造 [#g974592b]
+ ##lib/convert_html.php## で、
##class Body## の
## function parse ## の
## while (!empty($lines)) ## 中の下の方に以下のコードを変更・挿入。
### diff #
// Body
class Body extends Element
{
...
function parse(& $lines)
{
...
while (!empty($lines))
{
...
// The first character
- $head = $line{0};
+ $head = substr($line,0,1);
+ $head2 = substr($line,0,2);
+
+ // ; Format
+ if ($head2 == ';;') {// SCNP: SemiColon-NewParagraph
+ $this->last = & $this->last->add(new EmptyLine($this->last)); // Same as Empty Line to add Inter-line Space
+ $this->last = & $this->last->add(new Paragraph(' '.substr($line, 2))); // Same as ~-Format to Add Paragraph
+ continue;
+ }
+ if ($head == ';') {// SCNL: SemiCcolon-NewLine
+ $this->last = & $this->last->add(new Inline("\r".substr($line, 1))); // Same as Default to Add Text
+ continue;
+ }
###
-- 「##-##」で始まる行は ##class Body## からの削除。
-- 「##+##」で始まる行は ##class Body## への追加。
////////////////////////////////////////////////////////////////