@@ -5,7 +5,7 @@ module ContentstackUtils
55 module Model
66 class Options < Interface ::Rendarable
77
8- def initialize ( entry )
8+ def initialize ( entry = nil )
99 @entry = entry
1010 end
1111
@@ -21,11 +21,90 @@ def render_option(embeddedObject, metadata)
2121 when 'inline'
2222 renderString = "<span>#{ embeddedObject [ "title" ] || embeddedObject [ "uid" ] } </span>" ;
2323 when 'link'
24- renderString = "<a href='#{ ( metadata . attributes [ "href" ] ? metadata . attributes [ "href" ] . value : nil ) || embeddedObject [ "url" ] || embeddedObject [ "title" ] || embeddedObject [ "uid" ] } '>#{ ( metadata . text && metadata . text != '' ? metadata . text : ( embeddedObject [ "title" ] || embeddedObject [ "uid" ] ) ) } </a>" ;
24+ metadata . get_attribute_value ( "href" )
25+ renderString = "<a href='#{ metadata . get_attribute_value ( "href" ) || embeddedObject [ "url" ] || embeddedObject [ "title" ] || embeddedObject [ "uid" ] } '>#{ ( metadata . text && metadata . text != '' ? metadata . text : ( embeddedObject [ "title" ] || embeddedObject [ "uid" ] ) ) } </a>" ;
2526 when 'display'
26- renderString = "<img src='#{ ( metadata . attributes [ "href" ] ? metadata . attributes [ "href" ] . value : nil ) || embeddedObject [ "url" ] } ' alt='#{ ( metadata . attributes [ "alt" ] ? metadata . attributes [ "alt" ] . value : ( embeddedObject [ "title" ] || embeddedObject [ "filename" ] || embeddedObject [ "uid" ] ) ) } ' />" ;
27+ renderString = "<img src='#{ metadata . get_attribute_value ( "src" ) || embeddedObject [ "url" ] } ' alt='#{ ( metadata . attributes [ "alt" ] ? metadata . attributes [ "alt" ] . value : ( embeddedObject [ "title" ] || embeddedObject [ "filename" ] || embeddedObject [ "uid" ] ) ) } ' />" ;
2728 when 'download'
28- renderString = "<a href='#{ ( metadata . attributes [ "href" ] ? metadata . attributes [ "href" ] . value : nil ) || embeddedObject [ "url" ] } '>#{ ( metadata . text && metadata . text != '' ? metadata . text : ( embeddedObject [ "filename" ] || embeddedObject [ "title" ] || embeddedObject [ "uid" ] ) ) } </a>" ;
29+ renderString = "<a href='#{ metadata . get_attribute_value ( "href" ) || embeddedObject [ "url" ] } '>#{ ( metadata . text && metadata . text != '' ? metadata . text : ( embeddedObject [ "filename" ] || embeddedObject [ "title" ] || embeddedObject [ "uid" ] ) ) } </a>" ;
30+ end
31+ renderString
32+ end
33+
34+ def render_mark ( mark_type , text )
35+ renderString = text
36+ case mark_type
37+ when 'bold'
38+ renderString = "<strong>#{ text } </strong>"
39+ when 'italic'
40+ renderString = "<em>#{ text } </em>"
41+ when 'underline'
42+ renderString = "<u>#{ text } </u>"
43+ when 'strikethrough'
44+ renderString = "<strike>#{ text } </strike>"
45+ when 'inlineCode'
46+ renderString = "<span>#{ text } </span>"
47+ when 'subscript'
48+ renderString = "<sub>#{ text } </sub>"
49+ when 'superscript'
50+ renderString = "<sup>#{ text } </sup>"
51+ end
52+ renderString
53+ end
54+
55+ def render_node ( node_type , node , inner_html )
56+ renderString = ""
57+ case node_type
58+ when 'doc'
59+ renderString = ""
60+ when 'p'
61+ renderString = "<p>#{ inner_html } </p>"
62+ when 'a'
63+ renderString = "<a href='#{ node [ "attrs" ] [ "href" ] || "" } '>#{ inner_html } </a>"
64+ when 'img'
65+ renderString = "<img src='#{ node [ "attrs" ] [ "src" ] || "" } ' />#{ inner_html } "
66+ when 'embed'
67+ renderString = "<iframe src='#{ node [ "attrs" ] [ "src" ] || "" } '></iframe>"
68+ when 'h1'
69+ renderString = "<h1>#{ inner_html } </h1>"
70+ when 'h2'
71+ renderString = "<h2>#{ inner_html } </h2>"
72+ when 'h3'
73+ renderString = "<h3>#{ inner_html } </h3>"
74+ when 'h4'
75+ renderString = "<h4>#{ inner_html } </h4>"
76+ when 'h5'
77+ renderString = "<h5>#{ inner_html } </h5>"
78+ when 'h6'
79+ renderString = "<h6>#{ inner_html } </h6>"
80+ when 'ol'
81+ renderString = "<ol>#{ inner_html } </ol>"
82+ when 'ul'
83+ renderString = "<ul>#{ inner_html } </ul>"
84+ when 'li'
85+ renderString = "<li>#{ inner_html } </li>"
86+ when 'hr'
87+ renderString = "<hr />"
88+ when 'table'
89+ renderString = "<table>#{ inner_html } </table>"
90+ when 'thead'
91+ renderString = "<thead>#{ inner_html } </thead>"
92+ when 'tbody'
93+ renderString = "<tbody>#{ inner_html } </tbody>"
94+ when 'tfoot'
95+ renderString = "<tfoot>#{ inner_html } </tfoot>"
96+ when 'tr'
97+ renderString = "<tr>#{ inner_html } </tr>"
98+ when 'th'
99+ renderString = "<th>#{ inner_html } </th>"
100+ when 'td'
101+ renderString = "<td>#{ inner_html } </td>"
102+ when 'blockquote'
103+ renderString = "<blockquote>#{ inner_html } </blockquote>"
104+ when 'code'
105+ renderString = "<code>#{ inner_html } </code>"
106+ when 'reference'
107+ renderString = ""
29108 end
30109 renderString
31110 end
0 commit comments