您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

board.html 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <!DOCTYPE html>
  2. <html lang="{{language}}">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>{{board}} | WBO | {{translations.collaborative_whiteboard}}</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1" />
  7. <link rel="stylesheet" type="text/css" href="../board.css" />
  8. <script src="../socket.io/socket.io.js"></script>
  9. <meta name="description" content="{{translations.tagline}}" />
  10. <meta name="keywords"
  11. content="{{translations.collaborative_whiteboard}},online,draw,paint,shared,realtime,wbo,whitebophir" />
  12. <link rel="apple-touch-icon" href="../favicon.svg">
  13. <link rel="icon" type="image/x-icon" sizes="16x16" href="../favicon.ico">
  14. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0" />
  15. <meta property="og:title" content="{{board}} board on WBO" />
  16. <meta property="og:url" content="{{baseUrl}}/boards/{{boardUriComponent}}" />
  17. <meta property="og:image" content="{{baseUrl}}/preview/{{boardUriComponent}}" />
  18. <link rel="canonical" href="{{boardUriComponent}}?lang={{language}}" />
  19. {{#languages}}
  20. <link rel="alternate" hreflang="{{.}}" href="{{../boardUriComponent}}?lang={{.}}" />
  21. {{/languages}}
  22. <script src="../polyfill.min.js"></script>
  23. </head>
  24. <body>
  25. <div id="board">
  26. <svg id="canvas" width="500" height="500" version="1.1" xmlns="http://www.w3.org/2000/svg">
  27. <defs id="defs"></defs>
  28. <g id="drawingArea"></g>
  29. <g id="cursors"></g>
  30. </svg>
  31. </div>
  32. <div id="loadingMessage">{{translations.loading}}</div>
  33. <div id="menu" {{#hideMenu}}style="display:none;"{{/hideMenu}}>
  34. <div id="menuItems">
  35. <ul id="tools" class="tools">
  36. <li class="tool" tabindex="-1">
  37. <img class="tool-icon" width="35" height="35" src="" alt="icon" />
  38. <span class="tool-name"></span>
  39. <img class="tool-icon secondaryIcon" width="35" height="35" src="data:," alt="icon" />
  40. </li>
  41. </ul>
  42. <ul class="tools" id="settings">
  43. <li class="tool" tabindex="-1">
  44. <input class="tool-icon" type="color" id="chooseColor" value="#1913B0" />
  45. <label class="tool-name" for="chooseColor">{{translations.color}}</label>
  46. <span class="colorPresets" id="colorPresetSel">
  47. <span class="colorPresetButton"></span>
  48. </span>
  49. </li>
  50. <li class="tool" tabindex="-1"
  51. title="{{translations.size}} ({{translations.keyboard_shortcut}}: alt + {{translations.mousewheel}})">
  52. <img class="tool-icon" width="60" height="60" src="icon-size.svg" alt="size" />
  53. <label class="tool-name slider" for="chooseSize">
  54. <span>{{translations.size}}</span>
  55. <input type="range" id="chooseSize" value="4" min="1" max="50" step="1" class="rangeChooser" />
  56. </label>
  57. </li>
  58. <li class="tool" tabindex="-1">
  59. <span class="tool-icon">
  60. <svg viewBox="0 0 8 8">
  61. <pattern id="opacityPattern" x="0" y="0" width="4" height="4" patternUnits="userSpaceOnUse">
  62. <rect x=0 y=0 width=2 height=2 fill=black></rect>
  63. <rect x=2 y=2 width=2 height=2 fill=black></rect>
  64. <rect x=2 y=0 width=2 height=2 fill=#eeeeee></rect>
  65. <rect x=0 y=2 width=2 height=2 fill=#eeeeee></rect>
  66. </pattern>
  67. <circle cx=4 cy=4 id="opacityIndicator" r=3.5 fill="url(#opacityPattern)"></circle>
  68. </svg>
  69. </span>
  70. <label class="tool-name slider" for="chooseOpacity">
  71. <span>{{translations.opacity}}</span>
  72. <input type="range" id="chooseOpacity" value="1" min="0.2" max="1" step="0.1"
  73. class="rangeChooser" />
  74. </label>
  75. </li>
  76. </ul>
  77. </div>
  78. </div>
  79. <script type="application/json" id="translations">{{{ json translations }}}</script>
  80. <script type="application/json" id="configuration">{{{ json configuration }}}</script>
  81. <script src="../js/path-data-polyfill.js"></script>
  82. <script src="../js/minitpl.js"></script>
  83. <script src="../js/board.js"></script>
  84. <script src="../tools/pencil/wbo_pencil_point.js"></script>
  85. <script src="../tools/pencil/pencil.js"></script>
  86. <script src="../tools/cursor/cursor.js"></script>
  87. <script src="../tools/line/line.js"></script>
  88. <script src="../tools/rect/rect.js"></script>
  89. <script src="../tools/ellipse/ellipse.js"></script>
  90. <script src="../tools/text/text.js"></script>
  91. <script src="../tools/eraser/eraser.js"></script>
  92. <script src="../tools/hand/hand.js"></script>
  93. <script src="../tools/grid/grid.js"></script>
  94. <script src="../tools/zoom/zoom.js"></script>
  95. <script src="../js/canvascolor.js"></script>
  96. </body>
  97. </html>