Advertisement
Guest User

Output Formatter

a guest
Nov 15th, 2018
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Codex Play-by-Forum Output Formatter</title>
  5. </head>
  6. <body>
  7. <script>
  8. function isStarred(str)
  9. {
  10. if (str.length < 2)
  11. {
  12. return false;
  13. }
  14. return str.substr(0,2) === "* ";
  15. }
  16.  
  17. function process()
  18. {
  19. var text = document.getElementById("in").value;
  20.  
  21. text = text.replace(/\[\/?B\]/gi, "**");
  22. text = text.replace(/\[\/?I\]/gi, "_");
  23. text = text.replace(/""/gi, '"');
  24.  
  25. text = text.replace(/STARTING HAND\n?/, "STARTING HAND\n");
  26. text = text.replace(/\* Upkeep/, "\n**Upkeep:**");
  27. text = text.replace(/\* Main/, "\n**Main:**");
  28. text = text.replace(/\* Future/, "\n**Future:**");
  29. text = text.replace(/\* In Graveyard/, "\n**In Graveyard:**");
  30. text = text.replace(/\* Jailed/, "\n**Jailed:**");
  31. text = text.replace(/\* On Loan/, "\n**On Loan:**");
  32. text = text.replace(/\* Trashed/, "\n**Trashed:**");
  33.  
  34. text = text.replace(/HP: 99/g, "HP: \u221e");
  35.  
  36. text = text.replace(/\*\*Board Info:\*\*/, "_**Board Info:**_");
  37. text = text.replace(/\*\*Economy Info:\*\*/, "----------\n_**Economy Info:**_");
  38.  
  39. text = text.replace(/\[details=Thoughts\]/, "----------\n[details=Thoughts]");
  40. text = text.replace(/\[\/details\]/g, "[/spoiler]\n[/details]");
  41. var pieces = text.split("[details=");
  42. text = pieces[0];
  43. var i;
  44. for (i = 1; i < pieces.length; i++)
  45. {
  46. text = text.concat("[details=", pieces[i].replace("]", "]\n[spoiler]"));
  47. }
  48.  
  49. pieces = text.split("\n");
  50. var was_star = isStarred(pieces[0]);
  51. text = pieces[0];
  52. for (i = 1; i < pieces.length; i++)
  53. {
  54. if (isStarred(pieces[i]))
  55. {
  56. was_star = true;
  57. }
  58. else
  59. {
  60. if (was_star && pieces[i].length > 0)
  61. {
  62. text = text.concat("\n");
  63. }
  64. was_star = false;
  65. }
  66. text = text.concat("\n", pieces[i]);
  67. }
  68.  
  69. text = text.replace(/\*\*In Play:\*\*\n\* \n/, "");
  70. if (text[0] == '"')
  71. {
  72. text = text.substr(1, text.length -2);
  73. }
  74.  
  75. document.getElementById("in").value = "";
  76. document.getElementById("out").value = text;
  77. document.getElementById("out").select();
  78. }
  79. </script>
  80. <table>
  81. <tr><td>Raw output from spreadsheet:</td></tr>
  82. <tr><td><textarea id="in" cols="40" rows="10"></textarea></td></tr>
  83. <tr><td>Formatted output to paste in forum:</td></tr>
  84. <tr><td><textarea id="out" cols="40" rows="10"></textarea></td></tr>
  85. <tr><td><button type="button" onclick="process()">Format</button></td></tr>
  86. </table>
  87. </body>
  88. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement