Action
test: filter structured markdown
Last update
over 4 years ago
- Unlisted
Steps
-
script
// https://forums.getdrafts.com/t/filter-structured-markdown/8609 var p = Prompt.create(); p.title = "Filter"; p.message = "Filter Structured Markdown!"; p.addTextField("search_term", "Filter for", ""); p.addButton("Filter"); var didSelect = p.show(); var search_term = p.fieldValues["search_term"] var active_block = false const student_layer = '###' const flip = true var xlines = '# Assignment 1\n\n## Draft 1\n\n### Billy\n\ngreat paper\n\n### Johnny \n\nbad paper\n## Draft 2\n\n### Billy\n\nbad paper\n\n### Johnny \n\ngood paper\n' var line = "" var filtered_lines ='' var prefix = '' var array_lines = xlines.split(/\n/) if(flip) { filtered_lines = '# '+search_term+ '\n' prefix = '#' } var parser_info = '' var show= false for( var i=0 ; i < array_lines.length; i +=1 ) { line = array_lines[i].trim() if( line.length == 0 ) { continue; } if ( line[0] == '#' ) { if(line.search(student_layer)==0) { if( line.search(search_term) > 0 ) { active_block = true show = true if(!flip) { filtered_lines += line + '\n' } } else { active_block = false show = false } } else { show = true filtered_lines += prefix+line+ '\n' } } else { if(active_block) { show = true filtered_lines += line+ '\n' } else { show = false } } parser_info += 'line '+i+ ', '+line+', show='+show+', active_block='+active_block+'\n' } let d = new Draft(); d.content = filtered_lines d.addTag(search_term); d.addTag("filtered"); d.update(); alert(parser_info)
Options
-
After Success Default Notification Info Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.