   # inline image
   # reference image
 
-
+objectToAssociativeArray = (obj) ->
+  return obj if Array.isArray(obj)
+  retArr = []
+  for key, value of obj
+    assObj = {}
+    assObj[key] = value
+    retArr.unshift(assObj)
+  retArr
 
 createNode = (content, htmlfier, descriptor, klass) ->
   node = {}
   node.content = content
   node.htmlfier = htmlfier
-  node.descriptor = descriptor
+  node.descriptor = objectToAssociativeArray(descriptor)
   node.klass = klass
   node.subnodes = []
   node.supernode = null # Unused

# //g -> inline image
# //g -> reference image
markdownSyntaxDescriptor =
  "title":         [/^\s{0,3}\#{1,6}.*$/m, /^.+?\n[=-]{2,}\s*$/m]
  "block":         /^\s{0,3}>\s+.*$/m
  "emphasis":      /([\*_]).+?\1/m
  "strong":        /([\*_]{2}).+?\1/m
  "strikethrough": /~~.+?~~/m
  "orderedlist":   /^\s*[0-9]+\. .+$/m
  "unorderedlist": /^\s*[*+-] .+$/m
  "inlinecode":    /`.+?`/m
  "codeblock":     [/```.+?```/m, /^(?: {4}|\t).+$/m]
  "rule":          /^[-\*]{3,}/m
  # "table":
  # "inlinehtml"

    div.data("content", area.val()).trigger("receive-content")

  div.on "receive-content", ->
    # Fix big cursor issue
    if div.text().length == 0
      div.css("display", "block")
    else
      div.css("display", "inline-block")
    div.html(dataTextToFormattedText(div.data("content")))
  div.on "send-content", ->
    # Fix big cursor issue
    if div.text().length == 0
      div.css("display", "block")
    else
