@@ -164,6 +164,8 @@ <h1 id=info>
164164 </ div >
165165 </ h1 >
166166
167+ < div id =desc >
168+ </ div >
167169
168170
169171
@@ -224,6 +226,9 @@ <h1 id=info>
224226
225227 $ ( '#date' ) . textContent = date ;
226228 $ ( '#file' ) . textContent = fn ;
229+
230+ desc ( rel ) ;
231+
227232 console . log ( fext , fn ) ;
228233 var dom ;
229234 switch ( fext ) {
@@ -233,6 +238,7 @@ <h1 id=info>
233238
234239 } //switch
235240
241+
236242 dom . setAttribute ( 'id' , 'test' ) ;
237243 dom . toggleAttribute ( 'component' , true ) ;
238244 dom . toggleAttribute ( 'v2.0' , true ) ;
@@ -244,8 +250,91 @@ <h1 id=info>
244250 await mod . test . init ( ) ;
245251 mod . test . initdom ( ) ;
246252
253+
247254 } //query
248255
256+
257+ async function desc ( rel ) {
258+
259+ var i = rel . lastIndexOf ( '.' ) ;
260+ var path = rel . slice ( 0 , i + 1 ) ;
261+ path += 'md' ;
262+
263+ var err ;
264+ try {
265+
266+ var res = await fetch ( path ) ;
267+
268+ } //try
269+ catch ( err2 ) {
270+
271+ err = err2 ;
272+
273+ } //catch
274+ if ( err ) {
275+ return ;
276+ }
277+ if ( ! res . ok ) {
278+ return ;
279+ }
280+
281+ var txt = await res . text ( ) ;
282+
283+ await libs ( ) ;
284+
285+ var opts = { linkTarget :'_blank' } ;
286+ opts . html = true ;
287+ opts . breaks = false ;
288+ opts . linkify = true ;
289+
290+ var md = markdownit ( opts ) ;
291+ var opts2 = { leftDelimiter :'{' , rightDelimiter :'}' , allowedAttributes :[ 'id' , 'class' , / ^ d a t a - .* $ / ] } ;
292+ md . use ( markdownItAttrs , opts2 ) ;
293+ var html = md . render ( txt ) ;
294+
295+ $ ( '#desc' ) . innerHTML = html ;
296+
297+
298+ } //desc
299+
300+
301+
302+ function libs ( ) {
303+
304+ var link = document . createElement ( 'link' ) ;
305+ link . setAttribute ( 'rel' , 'stylesheet' ) ;
306+ link . setAttribute ( 'href' , 'css/github-markdown-light.css' ) ;
307+ document . head . append ( link ) ;
308+
309+ var resolve , promise = new Promise ( res => resolve = res ) ;
310+ var ct = 0 ;
311+
312+ var script = document . createElement ( 'script' ) ;
313+ script . src = 'https://cdn.jsdelivr.net/npm/markdown-it/dist/markdown-it.min.js' ;
314+ script . onload = onload ;
315+ document . head . append ( script ) ;
316+
317+ var script = document . createElement ( 'script' ) ;
318+ script . src = 'https://cdn.jsdelivr.net/npm/markdown-it-attrs@4.3.1/markdown-it-attrs.browser.min.js' ;
319+ script . onload = onload ;
320+ document . head . append ( script ) ;
321+
322+ return promise ;
323+
324+
325+ function onload ( ) {
326+
327+ ct ++ ;
328+ if ( ct != 2 ) return ;
329+ resolve ( ) ;
330+
331+ } //onload
332+
333+ } //libs
334+
335+
336+
337+
249338/*
250339 query.html = async function(src){
251340
0 commit comments