?, http://www.gudangkado.com/new-federal-government-mother-board-storage-slot-machine-games.html?nocache=1 online slots uk, 5718, http://www.pelioem.com/nl/node/293839 free slots no deposit required uk, acjtyc, http://www.bajacafeboca.com/content/equine-auto-racing-slots-addition-oh-problem-3?nocache=1 slots online, nletmx, http://edufac.edu.vn/uprofile/20140406/6292 slots, >:-PPP, http://89.248.107.68/sv/node/293844 new online slots uk, 8-)), http://www.virtualcriativa.com.br/clientes/joggue2/quadras/cbs-television-studios-contributes-golden-boy-order-mid-season-plan-video-poker-machines mobile slots uk no deposit, %-[, http://demo.sd4.vps-private.net/ru/node/4140 slots uk, 860, http://svadobne-saty.lepsie.com/svadobne-saty/alluring-tiki-delights-video-poker-machines slots online, xgbka, http://www.corkhouse.ru/vopros-3902 free online slots no deposit uk, =-PPP, http://notstupid.org/video-poker-machines-games slots online, jdcj, http://www.gudangkado.com/making-love-and-also-city-amazing.html?nocache=1 online slots no deposit required uk, 8[[[, http://www.menahpf.org/node/160469 online slots uk paypal, 46287, http://granville.countync.us/node/405247?nocache=1 slots online uk, >:-PPP,
方針 - 従来の行末にある「~」で行われる改行は、行頭書式に統一すべし。(要語先行)
- 統一した場合、Wikiコードから書式を読むとき、行頭の縦読みだけで済む。
- Wikiの行末書式は「~」しかない ⇔ 行頭書式が殆ど
- 行頭が「;」で始まる「SC改行改段書式/SemiColon改行改段書式」を導入
- 多くのプログラミングで用いられる文終了記号「;」を次の文の開始記号と再解釈し、行頭に持ってきた。
仕様 - 行頭が「;.」の行は無書式として、何もせずに前の行に続ける。
- 行頭が「;,」の行は行頭で改行する。
- 行頭が「;:」の行は行頭で改段する。空行を挿入せず、他の行頭書式に干渉しない。(形式段落用)
- 行頭が「;;」の行は行頭で改段する。空行を挿入し、他の行頭書式を終わらす。(意味段落用)
- 行頭が「;」 は改行の省略表現。(文節区切りで改行する体裁用)
- 行頭改行が段頭に来た場合は無効化する。
- 区切りの強いさは、点の大きさと数に比例する。
- Cなど多くのプログラミング言語での区切りの強い順になっている。
- 「.」はPHPでは文字列連結演算子に使われる ⇒ 行結合
改造 - 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 == ';.') {// SCNF: SemiColon-NoFormat + $this->last = & $this->last->add(new Inline(substr($line, 2))); + continue; + } + if ($head2 == ';,') {// SCNL: SemiCcolon-NewLine + $this->last = & $this->last->add(new Inline("\r".substr($line, 2))); // Same as Default to Add Text + continue; + } + if ($head2 == ';:') {// SCNP: SemiColon-NewParagraph (Week) + $this->last = & $this->last->add(new Paragraph(' '.substr($line, 2))); // Same as ~-Format to Add Paragraph + continue; + } + 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 // Equal to ($head2 == ';,') + $this->last = & $this->last->add(new Inline("\r".substr($line, 1))); + continue; + } ###- 「-」で始まる行は class Body からの削除。
- 「+」で始まる行は class Body への追加。
- lib/convert_html.php で、class Inline のfunction & toPara に以下のコードを挿入。 ### diff class Inline extends Element { ... function & toPara($class = '') { $obj = & new Paragraph('', $class); $obj->insert($this); + + if (substr($this->elements[0],0,6)=='<br />'){ // To cancel SCNL which is after empty-line. + $this->elements[0] = substr($this->elements[0],7); + } return $obj; } } ###
|