• 追加された行はこの色です。
  • 削除された行はこの色です。
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## への追加。

////////////////////////////////////////////////////////////////

    初基 一覧 検索 最新 バックアップ リンク元   ヘルプ   最終更新のRSS