You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.4 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. const DIAGRAM_1_A =
  2. '+---------+-------------+\n' +
  3. '| Classes | Metaclasses |\n' +
  4. '+---------+-------------|\n' +
  5. '| MyClass > MyMetaClass |\n' +
  6. '| | v |\n' +
  7. '| object ---> type <+ |\n' +
  8. '| | ^ +---+ |\n' +
  9. '| str -------+ |\n' +
  10. '+---------+-------------+\n';
  11. const DIAGRAM_1_B =
  12. '┏━━━━━━━━━┯━━━━━━━━━━━━━┓\n' +
  13. '┃ Classes │ Metaclasses ┃\n' +
  14. '┠─────────┼─────────────┨\n' +
  15. '┃ MyClass → MyMetaClass ┃\n' +
  16. '┃ │ ↓ ┃\n' +
  17. '┃ object ───→ type ←╮ ┃\n' +
  18. '┃ │ ↑ ╰───╯ ┃\n' +
  19. '┃ str ───────╯ ┃\n' +
  20. '┗━━━━━━━━━┷━━━━━━━━━━━━━┛\n';
  21. const DIAGRAM_2_A =
  22. '+---------+-------------+\n' +
  23. '| Classes | Metaclasses |\n' +
  24. '+---------+-------------|\n' +
  25. '| MyClass | MyMetaClass |\n' +
  26. '| v | v |\n' +
  27. '| object <--- type |\n' +
  28. '| ^ | |\n' +
  29. '| str | |\n' +
  30. '+---------+-------------+\n';
  31. const DIAGRAM_2_B =
  32. '┏━━━━━━━━━┯━━━━━━━━━━━━━┓\n' +
  33. '┃ Classes │ Metaclasses ┃\n' +
  34. '┠─────────┼─────────────┨\n' +
  35. '┃ MyClass │ MyMetaClass ┃\n' +
  36. '┃ ↓ │ ↓ ┃\n' +
  37. '┃ object ←─── type ┃\n' +
  38. '┃ ↑ │ ┃\n' +
  39. '┃ str │ ┃\n' +
  40. '┗━━━━━━━━━┷━━━━━━━━━━━━━┛\n';
  41. (function(d){function c(c){b.style.fontFamily=c;e.appendChild(b);f=b.clientWidth;e.removeChild(b);return f}var f,e=d.body,b=d.createElement("span");b.innerHTML=Array(100).join("wi");b.style.cssText=["position:absolute","width:auto","font-size:128px","left:-99999px"].join(" !important;");var g=c("monospace"),h=c("serif"),k=c("sans-serif");window.isFontAvailable=function(b){return g!==c(b+",monospace")||k!==c(b+",sans-serif")||h!==c(b+",serif")}})(document);
  42. if (!isFontAvailable('Menlo')) {
  43. $(`code:contains(${DIAGRAM_1_B})`).html(DIAGRAM_1_A);
  44. $(`code:contains(${DIAGRAM_2_B})`).html(DIAGRAM_2_A);
  45. var htmlString = $('code:contains(ᴺᴱᵂ)').html().replace(/ᴺᴱᵂ/g, '');
  46. $('code:contains(ᴺᴱᵂ)').html(htmlString);
  47. }