WikiForme 0.2 準備中

明日あたり0.2を公開予定。


↓文章構造。

block:


####
## Document
##
  document:
    type: group

  book:
    group: [document]
    contain: [part, blank]

  article:
    group: [document]
    contain: [chapter, blank]


####
## Parts
##
  parts:
    type: group

  part:
    group: [parts]
    contain: [chapter, contents, blank]

  chapter:
    group: [parts]
    contain: [section, contents, blank]

  section:
    group: [parts]
    contain: [subsection, contents, blank]

  subsection:
    group: [parts]
    contain: [contents, blank]

  paragraph:
    group: [contents]



####
## Basics
##
  BLANK:
    extend: blank

  TEXT:
    extend: paragraph

  contents:
    type: group

  blank:

  close:
    type: closer


####
## Lists
##
  list:
    type: group

  ul1_frame:
    group: [contents, list]
    contain: [ul1]
  ul2_frame:
    contain: [ul2]
  ul3_frame:
    contain: [ul3]
  ul4_frame:
    contain: [ul4]
  ul1:
    parent: ul1_frame
    contain: [ul2_frame, contents, no ul1_frame]
  ul2:
    parent: ul2_frame
    contain: [ul3_frame, contents, no ul1_frame]
  ul3:
    parent: ul3_frame
    contain: [ul3_frame, contents, no ul1_frame]
  ul4:
    parent: ul4_frame
    contain: [contents, no ul1_frame]

  ol1_frame:
    group: [contents, list]
    contain: [ul1]
  ol2_frame:
    contain: [ul2]
  ol3_frame:
    contain: [ul3]
  ol4_frame:
    contain: [ul4]
  ol1:
    parent: ol1_frame
    contain: [ol2_frame, contents, no ol1_frame]
  ol2:
    parent: ol2_frame
    contain: [ol3_frame, contents, no ol1_frame]
  ol3:
    parent: ol3_frame
    contain: [ol4_frame, contents, no ol1_frame]
  ol4:
    parent: ol4_frame
    contain: [contents, no ol1_frame]


  dl:
    group: [contents]
    contain: [dt, dd, dd_split]
  dt:
    parent: dl
  dd:
    parent: dl
  dd_split:
    parent: dl


####
## Table
##
  table_frame:
    group: [contents]
    contain: [table_body, table_head, table_foot]
  
  table_body:
    parent: table_frame
    contain: [table_row]
  
  table_head:
    extend: table_body
    parent: table_frame
    contain: [table_row, table_colgroup]
  
  table_colgroup:
    parent: table_head
    contain: [table_col]
  
  table_col:
    parent: table_colgroup
  
  table_foot:
    extend: table_body
    parent: table_frame
    contain: [table_row]
  
  table_row:
    parent: table_body
    contain: [table_cell]
  
  table_split:
    extend: table_row
    parent: table_body
    contain: [contents, no table_frame]
  
  table_cell:
    parent: table_row
    contain: [contents, no table_frame]


####
## Image
##
# ブロック画像
  image:
    group: [contents]


####
## Multiline
##
# 整形済みテキスト
  pre:
    type: multiline
    group: [contents]

# プログラムコード
  code:
    type: multiline
    group: [contents]

# 引用
  quote:
    type: multiline
    group: [contents]


# quote実装用
  quote_body:
    contain: [contents]



####
## Action
##
  include:
    type: action
  
  title:
    type: action
  
  caption:
    type: action


####
## Inline
##
inline:

# 太字
  bold:

# 斜体
  italic:
  
  link:
  
  url:
    regexp:  "((?:(?:https?|ftp|itunes):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+)"

# 強制改行
  br:

# 引用
  quote:

# インライン画像
  image:
  
  colorful:
  colorful_red:
  colorful_blue:
  colorful_green:
  colorful_purple:
  colorful_yellow:


どこにでもありそうな要素は一応網羅?
脚注とか割注とかが要るかな。割注はインライン要素でいいとして、脚注はどうやって実装するんだろか。インラインの脚注要素と、ブロックの脚注表示要素を使う?