this repo has no description
1
2THIS FILE IS OUTDATED, DO NOT READ
3
4
5🔸🔶🟧 EXAMPLE 🟧🔶🔸
6
7═[HTML]══════════════════════════════════════
8<link rel=stylesheet href=markup.css>
9<script src=parse.js></script>
10<script src=render.js></script>
11═[JS]════════════════════════════════════════
12let element = document.createElement('div')
13element.classList.add('🍂')
14document.body.append(element)
15
16let text = "/test/ 123"
17
18Markup.convert(text, element)
19/* OR: */
20let fragment = Markup.convert(text)
21element.append(fragment)
22═════════════════════════════════════════════
23
24See ❲markup.css❳ for example styles
25
26🔸🔶🟧 SBS CONTENTAPI EXAMPLE 🟧🔶🔸
27
28═[HTML]═════════════════════════════════════════════
29<link rel=stylesheet href=markup.css>
30<script src=parse.js></script>
31<script src=render.js></script>
32<script src=legacy.js></script>
33═[JS]═══════════════════════════════════════════════
34let element = document.createElement('div')
35document.body.append(element)
36
37let message = {
38 text: "[i]test[/i] 123",
39 values: {m: 'bbcode'}
40}
41
42Markup.convert_lang(message.text, message.values.m, element)
43// result: <div class='🍂'><i>test</i> 123</div>
44// (set Markup.css_class to change the class name)
45/* OR: */
46let fragment = convert_lang(message.text, message.values.m)
47element.append(fragment)
48element.classList.add('whatever')
49════════════════════════════════════════════════════
50
51🔸🔶🟧 FUNCTIONS 🟧🔶🔸
52
53‹ParentElement› = ‹Element› OR ‹DocumentFragment› OR ‹Document›
54
55‹tree› = {type:ENUM(...), ?args:‹Object›, ?content:LIST(‹branch›)}
56
57‹branch› = ‹tree› OR ‹String› OR `true`
58
59‹parser› = FUNCTION(‹String›) ⤑ ‹tree›
60
61📒❲parse.js❳
62 ┃
63 ┗🏭❲Markup_12y2:CLASS()❳
64 ┃
65 ┣📜❲.prototype❳
66 ┃
67 ┗📦❲new❳
68 ┃
69 ┗📑❲.parse:‹parser›❳
70 ⎝parser, outputs a tree
71
72📒❲render.js❳
73 ┃
74 ┗🏭❲Markup_Render:CLASS()❳
75 ┃
76 ┣📜❲.prototype❳
77 ┃
78 ┗📦❲new❳
79 ┃
80 ┣📑❲.render:FUNCTION(tree‹tree›, ?parent‹ParentNode›) ⤑ ‹ParentNode›❳
81 ┃ ⎜renderer, converts the parser's tree into html.
82 ┃ ⎜if `parent` is passed, the output is inserted into that node.
83 ┃ ⎝otherwise, it creates and returns a new ‹DocumentFragment›
84 ┃
85 ┣📑❲.create:DICT ⤑ ❲FUNCTION(...) ⤑ ‹Node›❳❳
86 ┃
87 ┗📑❲.url_scheme:DICT ⤑ ❲FUNCTION(‹URL›) ⤑ ‹String›❳❳
88
89📒❲legacy.js❳
90 ┃
91 ┗🏭❲Markup_Langs:CLASS()❳
92 ┃
93 ┣📜❲.prototype❳
94 ┃
95 ┗📦❲new❳
96 ┃
97 ┣📑❲.12y2:‹parser›❳
98 ┣📑❲.text:‹parser›❳
99 ┣📑❲.12y:‹parser›❳
100 ┣📑❲.bbcode:‹parser›❳
101 ┗📑❲.plaintext:‹parser›❳
102
103📒❲helpers.js❳
104 ┃
105 ┣🏭❲SbsLocation:CLASS(‹String›)❳
106 ┃ ┃
107 ┃ ┣📜❲.prototype❳
108 ┃ ┃ ┃
109 ┃ ┃ ┗📑❲.toString:FUNCTION() ⤑ ‹String›❳
110 ┃ ┃
111 ┃ ┗📦❲new❳
112 ┃ ┃
113 ┃ ┣📑❲.type:‹String›❳
114 ┃ ┃
115 ┃ ┣📑❲?.id:‹String› OR ‹Number›❳
116 ┃ ┃
117 ┃ ┣📑❲.query:DICT ⤑ ‹String›❳
118 ┃ ┃
119 ┃ ┗📑❲?.fragment:‹String›❳
120 ┃
121 ┗📦❲???:CLASS() extends Markup_Render❳
122 ┃
123 ┣📜❲.prototype❳
124 ┃ ┃
125 ┃ ┣📑❲.parse:FUNCTION(‹String›, ‹String›) ⤑ ‹tree›❳
126 ┃ ┃
127 ┃ ┗📑❲.convert_lang:FUNCTION(‹String›, ‹String›, ?‹Element›, ?TABLE) ⤑ ‹ParentElement›❳
128 ┃
129 ┗📦❲new❳
130 ┃
131 ┣📑❲.langs:TABLE ⤑ ‹parser›❳
132 ┃ ⎝table of parser functions for different markup languages
133 ┃
134 ┗📑❲.css_class:‹String›❳
135 ⎜The css class used by `Markup.convert_lang`
136 ⎝default value: "🍂"
137
138📒❲legacy.js❳
139 ┃
140 ┣📑❲Markup.convert_lang(text‹String›, ?lang‹String›, ?parent‹Element›, ?settings) ⤑ ‹ParentNode›❳
141 ┃ ⎜similar to Markup.convert, but supports other markup languages
142 ┃ ⎜(see `Markup.langs`) if `lang` is invalid, 'plaintext' is used.
143 ┃ ⎜`Markup.css_class` is added to `parent`'s class list, if passed.
144 ┃ ⎝otherwise, creates and returns a new ‹DocumentFragment›
145 ┃
146 ┣📑❲Markup.css_class ‹String›❳
147 ┃ ⎜The css class used by `Markup.convert_lang`
148 ┃ ⎝default value: "🍂"
149 ┃
150 ┗📑❲Markup.langs[‹String›] ⤑ ❲‹Function›(‹String›) ⤑ ‹tree›❳❳
151 ┃ ⎜table of parser functions for different markup languages
152 ┃ ⎝(all output the same AST format)
153 ┃
154 ┣ Markup.langs['12y2']
155 ┃ ⎝12y2 parser (Markup.parse)
156 ┣ Markup.langs['text']
157 ┃ ⎝new plaintext parser
158 ┣ Markup.langs['12y']
159 ┃ ⎝old 12y parser
160 ┣ Markup.langs['bbcode']
161 ┃ ⎝old bbcode parser
162 ┗ Markup.langs['plaintext']
163 ⎝old plaintext parser (autolinker)
164
165
166🔸🔶🟧 FILES 🟧🔶🔸
167
168📚❲./❳
169 ┃
170 ┣📕❲index.html❳
171 ┃ demo page
172 ┃
173 ┣📔❲README.txt❳
174 ┃ readme
175 ┣📔❲LICENSE.txt❳
176 ┃ license
177 ┃
178 ┣📒❲parse.js❳
179 ┃ parsing (text -> tree)
180 ┣📒❲render.js❳
181 ┃ rendering (tree -> html (DocumentFragment))
182 ┣📒❲legacy.js❳
183 ┃ parsers for old sbs markup formats
184 ┃
185 ┣📘❲markup.css❳
186 ┃ example styles for markup
187 ┃
188 ┗📚❲testing/❳
189 ┃ tests
190 ┃
191 ┣📕❲index.html❳
192 ┃ run tests
193 ┣📕❲editor.html❳
194 ┃ test editing tool
195 ┃
196 ┣📘❲style.css❳
197 ┃ common styles for test pages
198 ┣📒❲test.js❳
199 ┃ test system
200 ┗📒❲draw.js❳
201 test output rendering
202
203
204🔸🔶🟧 CREDITS 🟧🔶🔸
205
206🔸𝟷𝟸
207🔸𝔂
208🔸𝓬𝓱𝓮𝓻𝓻𝔂
209🔸𝓷𝓲𝓬𝓸𝓵𝓮