load_onmark_render.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. function do_onmark_text_render(data) {
  2. data = data.replace(/'''((?:(?!''').)+)'''/g, '<b>$1</b>');
  3. data = data.replace(/''((?:(?!'').)+)''/g, '<i>$1</i>');
  4. data = data.replace(/__((?:(?!__).)+)__/g, '<u>$1</u>');
  5. data = data.replace(/\^\^((?:(?!\^\^).)+)\^\^/g, '<sup>$1</sup>');
  6. data = data.replace(/,,((?:(?!,,).)+),,/g, '<sub>$1</sub>');
  7. data = data.replace(/--((?:(?!--).)+)--/g, '<s>$1</s>');
  8. data = data.replace(/~~((?:(?!~~).)+)~~/g, '<s>$1</s>');
  9. return data;
  10. }
  11. function do_onmark_heading_render(data) {
  12. var heading_re = /<br>(={1,6}) ?([^=]+) ?={1,6}<br>/;
  13. var heading_level_all = [0, 0, 0, 0, 0, 0];
  14. while(data.match(heading_re)) {
  15. console.log(data.match(heading_re));
  16. data = data.replace(heading_re, function(x, heading_level, heading_data) {
  17. console.log(heading_level);
  18. heading_level = heading_level.length;
  19. heading_level_all[heading_level - 1] += 1;
  20. var i = 6;
  21. while(i > heading_level - 1) {
  22. heading_level_all[i] = 0;
  23. i -= 1;
  24. }
  25. console.log(heading_level_all);
  26. heading_level = String(heading_level);
  27. heading_level_string = heading_level_all.join('.');
  28. console.log(heading_level_string);
  29. return '<h' + heading_level + '>' + heading_data + '</h' + heading_level + '><br>';
  30. });
  31. }
  32. console.log(data.match(heading_re));
  33. return data;
  34. }
  35. function do_onmark_render(id_name) {
  36. var data = document.getElementById(id_name).innerHTML;
  37. data = '<br>' + data.replace(/\n/g, '<br>') + '<br>';
  38. data = do_onmark_text_render(data);
  39. data = do_onmark_heading_render(data);
  40. document.getElementById(id_name).innerHTML = data;
  41. }