- 追加された行はこの色です。
- 削除された行はこの色です。
?, http://www.thinkingtransport.org.au/content/tms-leader-states-ideas-choosing-mobile-home-deluxe-spots online slots, %-PPP, http://www.bulgaria.alloexpat.com/node/7078 slots online, xvx, http://www.ctr-ring.com/lds-seminary/scripture-mastery-game/als-gambling-house-gambling-web-site uk pub slots online free, 8-((, http://www.turkmenistan.alloexpat.com/node/5569 uk pub slots online free, 8-[[[, http://www.web-digamma.ru/content/education-universities-act-very-early-help-fill-helping-slot-machines uk slots casino, 8-PPP, http://cactuschat.com/gallery/playing-internet-casino-video-poker-machines-often-boost-particularly-understanding-youll-be online slots, 836, http://193.52.201.210/node/18761 online slots uk, shhqsa, http://cactuschat.com/gallery/model-power-slots-dust-get-rid online slots uk paypal, =], http://www.2goroda.ru/business/havework/19624 free online slots no deposit uk, :-OOO, http://ads-pharma.com/cv/4329 uk mobile slots no deposit bonus, :[[[, http://ivday.ru/rabota/vacansy/items/241100 free slots bonus no deposit uk, ovoi, http://www.sumoskinny.com/node/127449 online slots, 330651, http://edufac.edu.vn/uprofile/20140406/6346 uk mobile slots no deposit bonus, >:(((, http://3d.cshapers.com/content/ways-win-training-video-pai-gow-poker slots uk no deposit bonus, bfz, http://www.greece.alloexpat.com/node/11671 free slots no deposit bonus uk, tpmeuf, http://www.youngprogress.com/node/5747 slots online, wbwjk, http://masjidapp.com/masjidlink/node/149151 slots online, pioosa, http://www.softandthecity.com/content/tiny-porter-beats-out-surroundings-nova-scotia-intended-greater-toronto-area-video-poker uk pub slots free play, bqd,
/SC改行改段書式の導入
#indent
#contents
////////////////////////////////////////////////////////////////
* 方針 [#l9134ee3]
- 従来の行末にある「~」で行われる改行は、行頭書式に統一すべし。(要語先行)
-- 統一した場合、Wikiコードから書式を読むとき、行頭の縦読みだけで済む。
-- Wikiの行末書式は「~」しかない ⇔ 行頭書式が殆ど
- 行頭が「##;##」で始まる「SC改行改段書式/SemiColon改行改段書式」を導入
-- 多くのプログラミングで用いられる文終了記号「##;##」を次の文の開始記号と再解釈し、行頭に持ってきた。
////////////////////////////////////////////////////////////////
* 仕様 [#b00c412d]
- 行頭が「##;.##」の行は無書式として、何もせずに前の行に続ける。
- 行頭が「##;,##」の行は行頭で改行する。
- 行頭が「##;:##」の行は行頭で改段する。空行を挿入せず、他の行頭書式に干渉しない。(形式段落用)
- 行頭が「##;;##」の行は行頭で改段する。空行を挿入し、他の行頭書式を終わらす。(意味段落用)
- 行頭が「##;##」 は改行の省略表現。(文節区切りで改行する体裁用)
- 行頭改行が段頭に来た場合は無効化する。
- 区切りの強いさは、点の大きさと数に比例する。
-- Cなど多くのプログラミング言語での区切りの強い順になっている。
-- 「##.##」はPHPでは文字列連結演算子に使われる ⇒ 行結合
////////////////////////////////////////////////////////////////
* 改造 [#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 == ';.') {// 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;
}
}
###
////////////////////////////////////////////////////////////////