function filterMarkdown( contentFilename ){ // if (!file) return // special filter, done via URL, no local file (for now at least) if ( contentFilename.endsWith(".md") ) { console.log('it is a markdown file', contentFilename) // mereology option let openingOptions = filesWithMetadata[contentFilename].openingOptions // can be used via e.g. showFile("https://fabien.benetou.fr/?action=source",{ mereology:"whole"}) fetch( contentFilename ) .then( r => r.text() ).then( r => { console.log('markdown', r) console.log( "mereology", openingOptions.mereology ) switch( openingOptions.mereology ) { case "whole": addNewNote(r, "0 1.4 -.8") break; case "section": r.split(/! /).map( (c,i) => addNewNote(c, "0 "+(1+i/10)+" -.8") ) // untested break; case "line": r.split('\n').reverse().map( (c,i) => addNewNote(c, "0 "+(1+i/10)+" -.8") ) break; case "listonly": r.replaceAll('* ','').split('\n').map( (c,i) => addNewNote(c, "0 "+(1+i/10)+" -.8") ) // based on pmwiki, should also work with + or - default: r.split('\n').reverse().map( (c,i) => addNewNote(c, "0 "+(1+i/10)+" -.8") ) } AFRAME.scenes[0].emit('markdownloaded', contentFilename) // to use the event consider : //AFRAME.scenes[0].addEventListener("markdownloaded", e => console.log(e)) }) } applyNextFilter( contentFilename ) } sequentialFilters.push( filterMarkdown )