load_skin_set.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. function main_css_get_post() {
  2. var check = document.getElementById('main_css_strike');
  3. if(check.value === 'normal') {
  4. document.cookie = 'main_css_del_strike=0; path=/;';
  5. } else if(check.value === 'change') {
  6. document.cookie = 'main_css_del_strike=1; path=/;';
  7. } else {
  8. document.cookie = 'main_css_del_strike=2; path=/;';
  9. }
  10. check = document.getElementById('main_css_bold');
  11. if(check.value === 'normal') {
  12. document.cookie = 'main_css_del_bold=0; path=/;';
  13. } else if(check.value === 'change') {
  14. document.cookie = 'main_css_del_bold=1; path=/;';
  15. } else {
  16. document.cookie = 'main_css_del_bold=2; path=/;';
  17. }
  18. check = document.getElementById('main_css_include');
  19. if(check.checked) {
  20. document.cookie = 'main_css_include_link=1; path=/;';
  21. } else {
  22. document.cookie = 'main_css_include_link=0; path=/;';
  23. }
  24. check = document.getElementById('main_css_category');
  25. if(check.value === 'bottom') {
  26. document.cookie = 'main_css_category_set=0; path=/;';
  27. } else {
  28. document.cookie = 'main_css_category_set=1; path=/;';
  29. }
  30. check = document.getElementById('main_css_footnote');
  31. if(check.value === 'spread') {
  32. document.cookie = 'main_css_footnote_set=1; path=/;';
  33. } else {
  34. document.cookie = 'main_css_footnote_set=0; path=/;';
  35. }
  36. check = document.getElementById('main_css_image');
  37. if(check.value === 'new_click') {
  38. document.cookie = 'main_css_image_set=2; path=/;';
  39. } else if(check.value === 'click') {
  40. document.cookie = 'main_css_image_set=1; path=/;';
  41. } else {
  42. document.cookie = 'main_css_image_set=0; path=/;';
  43. }
  44. check = document.getElementById('main_css_image_paste');
  45. if(check.checked) {
  46. document.cookie = 'main_css_image_paste=1; path=/;';
  47. } else {
  48. document.cookie = 'main_css_image_paste=0; path=/;';
  49. }
  50. check = document.getElementById('main_css_toc');
  51. if(check.value === 'on') {
  52. document.cookie = 'main_css_toc_set=2; path=/;';
  53. } else if(check.value === 'off') {
  54. document.cookie = 'main_css_toc_set=1; path=/;';
  55. } else {
  56. document.cookie = 'main_css_toc_set=0; path=/;';
  57. }
  58. check = document.getElementById('main_css_font_size');
  59. if(check.value.match(/^[0-9]+$/)) {
  60. document.cookie = 'main_css_font_size=' + check.value + '; path=/;';
  61. } else {
  62. document.cookie = 'main_css_font_size=; path=/;';
  63. }
  64. check = document.getElementById('main_css_monaco');
  65. if(check.checked) {
  66. document.cookie = 'main_css_monaco=1; path=/;';
  67. } else {
  68. document.cookie = 'main_css_monaco=0; path=/;';
  69. }
  70. check = document.getElementById('main_css_exter_link');
  71. if(check.value === 'self') {
  72. document.cookie = 'main_css_exter_link=1; path=/;';
  73. } else {
  74. document.cookie = 'main_css_exter_link=0; path=/;';
  75. }
  76. check = document.getElementById('main_css_link_delimiter');
  77. if(check.checked) {
  78. document.cookie = 'main_css_link_delimiter=1; path=/;';
  79. } else {
  80. document.cookie = 'main_css_link_delimiter=0; path=/;';
  81. }
  82. history.go(0);
  83. }
  84. function main_css_skin_load() {
  85. var head_data = document.querySelector('head');
  86. if(document.cookie.match(opennamu_cookie_split_regex('main_css_toc_set'))) {
  87. if(document.cookie.match(opennamu_cookie_split_regex('main_css_toc_set'))[1] === '2') {
  88. head_data.innerHTML += '<style>#auto_toc { display: none; }</style>';
  89. } else if(document.cookie.match(opennamu_cookie_split_regex('main_css_toc_set'))[1] === '1') {
  90. head_data.innerHTML += '<style>#toc { display: none; }</style>';
  91. }
  92. }
  93. if(
  94. document.cookie.match(opennamu_cookie_split_regex('main_css_font_size')) &&
  95. document.cookie.match(opennamu_cookie_split_regex('main_css_font_size'))[1] !== ''
  96. ) {
  97. head_data.innerHTML += '<style>body, input, textarea { font-size: ' + document.cookie.match(opennamu_cookie_split_regex('main_css_font_size'))[1] + 'px; }</style>';
  98. }
  99. /* 개편 필요 */
  100. if(
  101. document.cookie.match(opennamu_cookie_split_regex('main_css_link_delimiter')) &&
  102. document.cookie.match(opennamu_cookie_split_regex('main_css_link_delimiter'))[1] === '1'
  103. ) {
  104. head_data.innerHTML += '<style>#real_normal_link::before, #not_thing::before, #inside::before { content: \'🅸\'; font-weight: lighter; background: transparent; }</style>';
  105. }
  106. }
  107. function main_css_load_lang(name) {
  108. var set_language = {
  109. "en-US" : {
  110. "default" : "Default",
  111. "change_to_normal" : "Change to normal text",
  112. "delete" : "Delete",
  113. "include_link" : "Using include link",
  114. "save" : "Save",
  115. "strike" : "Strike",
  116. "bold" : "Bold",
  117. "other" : "Other",
  118. "where_category" : "Set category location",
  119. "bottom" : "Bottom",
  120. "top" : "Top",
  121. "set_footnote" : "Set footnote",
  122. "renderer" : "Renderer",
  123. "spread" : "Spread",
  124. "set_image" : "Set image",
  125. "set_toc" : "Set TOC",
  126. "click_load" : "Load on click",
  127. "in_content" : "Only when TOC is in the document",
  128. "all_off" : "Always off",
  129. "set_font_size" : "Set font size",
  130. "change_to_link" : "Change to link",
  131. "font_size" : "font size",
  132. "editor" : "Editor",
  133. "main" : "Main",
  134. "clipboard_upload" : "Clipboard upload",
  135. "only_korean" : "Supported in korean only",
  136. "except_ie" : "Not supported for Internet Explorer",
  137. "use_monaco" : "Use monaco editor",
  138. "self_tab" : "Current tab",
  139. "exter_link_open_method" : "External link",
  140. "link_delimiter" : "Add link delimiter"
  141. }, "ko-KR" : {
  142. "default" : "기본값",
  143. "change_to_normal" : "일반 텍스트로 변경",
  144. "delete" : "삭제",
  145. "include_link" : "틀 링크 사용",
  146. "save" : "저장",
  147. "strike" : "취소선",
  148. "bold" : "볼드체",
  149. "other" : "기타",
  150. "where_category" : "분류 위치 설정",
  151. "bottom" : "아래",
  152. "top" : "위",
  153. "set_footnote" : "각주 설정",
  154. "renderer" : "렌더러",
  155. "spread" : "펼치기",
  156. "set_image" : "이미지 설정",
  157. "set_toc" : "목차 설정",
  158. "click_load" : "클릭시 불러오기",
  159. "in_content" : "문서 안에 있을 때만",
  160. "all_off" : "항상 끔",
  161. "set_font_size" : "글자 크기 설정",
  162. "change_to_link" : "링크로 변경",
  163. "font_size" : "글자 크기",
  164. "editor" : "편집기",
  165. "main" : "메인",
  166. "clipboard_upload" : "클립보드 파일 올리기",
  167. "only_korean" : "한국어로만 지원됨",
  168. "except_ie" : "인터넷 익스플로러에선 지원되지 않음",
  169. "use_monaco" : "모나코 에디터 사용",
  170. "self_tab" : "현재 탭",
  171. "exter_link_open_method" : "외부 링크",
  172. "link_delimiter" : "링크 구분자 추가"
  173. }
  174. }
  175. var server_language = document.cookie.match(opennamu_cookie_split_regex('language'))[1];
  176. var user_language = document.cookie.match(opennamu_cookie_split_regex('user_language'))[1];
  177. if(user_language in set_language) {
  178. language = user_language;
  179. } else {
  180. if(server_language in set_language) {
  181. language = server_language;
  182. } else {
  183. language = 'en-US';
  184. }
  185. }
  186. if(name in set_language[language]) {
  187. return set_language[language][name];
  188. } else {
  189. return name + ' (' + language + ')';
  190. }
  191. }
  192. function main_css_skin_set() {
  193. var set_data = {};
  194. var strike_list = [
  195. ['0', 'normal', main_css_load_lang('default')],
  196. ['1', 'change', main_css_load_lang('change_to_normal')],
  197. ['2', 'delete', main_css_load_lang('delete')]
  198. ];
  199. set_data["strike"] = '';
  200. var i = 0;
  201. while(strike_list[i]) {
  202. if(
  203. document.cookie.match(opennamu_cookie_split_regex('main_css_del_strike')) &&
  204. document.cookie.match(opennamu_cookie_split_regex('main_css_del_strike'))[1] === strike_list[i][0]
  205. ) {
  206. set_data["strike"] = '<option value="' + strike_list[i][1] + '">' + strike_list[i][2] + '</option>' + set_data["strike"];
  207. } else {
  208. set_data["strike"] += '<option value="' + strike_list[i][1] + '">' + strike_list[i][2] + '</option>';
  209. }
  210. i += 1;
  211. }
  212. var bold_list = [
  213. ['0', 'normal', main_css_load_lang('default')],
  214. ['1', 'change', main_css_load_lang('change_to_normal')],
  215. ['2', 'delete', main_css_load_lang('delete')]
  216. ];
  217. set_data["bold"] = '';
  218. i = 0;
  219. while(bold_list[i]) {
  220. if(
  221. document.cookie.match(opennamu_cookie_split_regex('main_css_del_bold')) &&
  222. document.cookie.match(opennamu_cookie_split_regex('main_css_del_bold'))[1] === bold_list[i][0]
  223. ) {
  224. set_data["bold"] = '<option value="' + bold_list[i][1] + '">' + bold_list[i][2] + '</option>' + set_data["bold"];
  225. } else {
  226. set_data["bold"] += '<option value="' + bold_list[i][1] + '">' + bold_list[i][2] + '</option>';
  227. }
  228. i += 1;
  229. }
  230. if(
  231. document.cookie.match(opennamu_cookie_split_regex('main_css_include_link')) &&
  232. document.cookie.match(opennamu_cookie_split_regex('main_css_include_link'))[1] === '1'
  233. ) {
  234. set_data["include"] = "checked";
  235. } else {
  236. set_data["include"] = "";
  237. }
  238. if(
  239. document.cookie.match(opennamu_cookie_split_regex('main_css_image_paste')) &&
  240. document.cookie.match(opennamu_cookie_split_regex('main_css_image_paste'))[1] === '1'
  241. ) {
  242. set_data["image_paste"] = "checked";
  243. } else {
  244. set_data["image_paste"] = "";
  245. }
  246. var category_list = [
  247. ['0', 'bottom', main_css_load_lang('bottom')],
  248. ['1', 'top', main_css_load_lang('top')],
  249. ];
  250. set_data["category"] = '';
  251. i = 0;
  252. while(category_list[i]) {
  253. if(
  254. document.cookie.match(opennamu_cookie_split_regex('main_css_category_set')) &&
  255. document.cookie.match(opennamu_cookie_split_regex('main_css_category_set'))[1] === category_list[i][0]
  256. ) {
  257. set_data["category"] = '<option value="' + category_list[i][1] + '">' + category_list[i][2] + '</option>' + set_data["category"];
  258. } else {
  259. set_data["category"] += '<option value="' + category_list[i][1] + '">' + category_list[i][2] + '</option>';
  260. }
  261. i += 1;
  262. }
  263. var footnote_list = [
  264. ['0', 'normal', main_css_load_lang('default')],
  265. ['1', 'spread', main_css_load_lang('spread')]
  266. ];
  267. set_data["footnote"] = '';
  268. i = 0;
  269. while(footnote_list[i]) {
  270. if(
  271. document.cookie.match(opennamu_cookie_split_regex('main_css_footnote_set')) &&
  272. document.cookie.match(opennamu_cookie_split_regex('main_css_footnote_set'))[1] === footnote_list[i][0]
  273. ) {
  274. set_data["footnote"] = '<option value="' + footnote_list[i][1] + '">' + footnote_list[i][2] + '</option>' + set_data["footnote"];
  275. } else {
  276. set_data["footnote"] += '<option value="' + footnote_list[i][1] + '">' + footnote_list[i][2] + '</option>';
  277. }
  278. i += 1;
  279. }
  280. var image_list = [
  281. ['0', 'normal', main_css_load_lang('default')],
  282. ['1', 'click', main_css_load_lang('change_to_link')],
  283. ['2', 'new_click', main_css_load_lang('click_load')]
  284. ];
  285. set_data["image"] = '';
  286. i = 0;
  287. while(image_list[i]) {
  288. if(
  289. document.cookie.match(opennamu_cookie_split_regex('main_css_image_set')) &&
  290. document.cookie.match(opennamu_cookie_split_regex('main_css_image_set'))[1] === image_list[i][0]
  291. ) {
  292. set_data["image"] = '<option value="' + image_list[i][1] + '">' + image_list[i][2] + '</option>' + set_data["image"];
  293. } else {
  294. set_data["image"] += '<option value="' + image_list[i][1] + '">' + image_list[i][2] + '</option>';
  295. }
  296. i += 1;
  297. }
  298. var toc_list = [
  299. ['0', 'normal', main_css_load_lang('default')],
  300. ['1', 'off', main_css_load_lang('all_off')],
  301. ['2', 'on', main_css_load_lang('in_content')]
  302. ];
  303. set_data["toc"] = '';
  304. i = 0;
  305. while(toc_list[i]) {
  306. if(
  307. document.cookie.match(opennamu_cookie_split_regex('main_css_toc_set')) &&
  308. document.cookie.match(opennamu_cookie_split_regex('main_css_toc_set'))[1] === toc_list[i][0]
  309. ) {
  310. set_data["toc"] = '<option value="' + toc_list[i][1] + '">' + toc_list[i][2] + '</option>' + set_data["toc"];
  311. } else {
  312. set_data["toc"] += '<option value="' + toc_list[i][1] + '">' + toc_list[i][2] + '</option>';
  313. }
  314. i += 1;
  315. }
  316. if(
  317. document.cookie.match(opennamu_cookie_split_regex('main_css_monaco')) &&
  318. document.cookie.match(opennamu_cookie_split_regex('main_css_monaco'))[1] === '1'
  319. ) {
  320. set_data["monaco"] = "checked";
  321. } else {
  322. set_data["monaco"] = "";
  323. }
  324. if(document.cookie.match(opennamu_cookie_split_regex('main_css_font_size'))) {
  325. set_data["font_size"] = document.cookie.match(opennamu_cookie_split_regex('main_css_font_size'))[1];
  326. } else {
  327. set_data["font_size"] = '';
  328. }
  329. let exter_link_list = [
  330. ['0', 'blank', main_css_load_lang('default')],
  331. ['1', 'self', main_css_load_lang('self_tab')]
  332. ];
  333. set_data["exter_link"] = '';
  334. for(let i = 0; exter_link_list[i]; i++) {
  335. if(
  336. document.cookie.match(opennamu_cookie_split_regex('main_css_exter_link')) &&
  337. document.cookie.match(opennamu_cookie_split_regex('main_css_exter_link'))[1] === exter_link_list[i][0]
  338. ) {
  339. set_data["exter_link"] = '<option value="' + exter_link_list[i][1] + '">' + exter_link_list[i][2] + '</option>' + set_data["exter_link"];
  340. } else {
  341. set_data["exter_link"] += '<option value="' + exter_link_list[i][1] + '">' + exter_link_list[i][2] + '</option>';
  342. }
  343. }
  344. if(
  345. document.cookie.match(opennamu_cookie_split_regex('main_css_link_delimiter')) &&
  346. document.cookie.match(opennamu_cookie_split_regex('main_css_link_delimiter'))[1] === '1'
  347. ) {
  348. set_data["link_delimiter"] = "checked";
  349. } else {
  350. set_data["link_delimiter"] = "";
  351. }
  352. document.getElementById("main_skin_set").innerHTML = ' \
  353. <div id="opennamu_simple_render"> \
  354. <h2>1. ' + main_css_load_lang('renderer') + '</h2> \
  355. <h3>1.1. ' + main_css_load_lang('strike') + '</h3> \
  356. <select id="main_css_strike"> \
  357. ' + set_data["strike"] + ' \
  358. </select> \
  359. <h3>1.2. ' + main_css_load_lang('bold') + '</h3> \
  360. <select id="main_css_bold"> \
  361. ' + set_data["bold"] + ' \
  362. </select> \
  363. <h3>1.3. ' + main_css_load_lang('where_category') + '</h3> \
  364. <select id="main_css_category"> \
  365. ' + set_data["category"] + ' \
  366. </select> \
  367. <h3>1.4. ' + main_css_load_lang('set_footnote') + '</h3> \
  368. <select id="main_css_footnote"> \
  369. ' + set_data["footnote"] + ' \
  370. </select> \
  371. <h3>1.5. ' + main_css_load_lang('set_image') + '</h3> \
  372. <select id="main_css_image"> \
  373. ' + set_data["image"] + ' \
  374. </select> \
  375. <h3>1.6. ' + main_css_load_lang('other') + '</h3> \
  376. <input ' + set_data["include"] + ' type="checkbox" id="main_css_include" value="include"> ' + main_css_load_lang('include_link') + ' \
  377. <hr class="main_hr"> \
  378. <input ' + set_data["link_delimiter"] + ' type="checkbox" id="main_css_link_delimiter" value="link_delimiter"> ' + main_css_load_lang('link_delimiter') + '<sup>(1)</sup> \
  379. <h3>1.7. ' + main_css_load_lang('set_toc') + '</h3> \
  380. <select id="main_css_toc"> \
  381. ' + set_data["toc"] + ' \
  382. </select> \
  383. <h3>1.8. ' + main_css_load_lang('set_font_size') + '</h3> \
  384. <input id="main_css_font_size" placeholder="' + main_css_load_lang('font_size') + ' (EX : 11)" value="' + set_data["font_size"] + '"> \
  385. <h3>1.9. ' + main_css_load_lang('exter_link_open_method') + '</h3> \
  386. <select id="main_css_exter_link"> \
  387. ' + set_data["exter_link"] + ' \
  388. </select> \
  389. <h2>2. ' + main_css_load_lang('editor') + '</h2> \
  390. <h3>2.1. ' + main_css_load_lang('main') + '</h3> \
  391. <input ' + set_data["monaco"] + ' type="checkbox" id="main_css_monaco" value="monaco"> ' + main_css_load_lang('use_monaco') + '<sup>(1)</sup> \
  392. <hr class="main_hr"> \
  393. <input ' + set_data["image_paste"] + ' type="checkbox" id="main_css_image_paste" value="image_paste"> ' +
  394. main_css_load_lang('clipboard_upload') + '<sup>(ko-KR)</sup><sup>(1)</sup> \
  395. <hr class="main_hr"> \
  396. <button onclick="main_css_get_post();">' + main_css_load_lang('save') + '</button> \
  397. <hr class="main_hr"> \
  398. <ul id="footnote_data"> \
  399. <li><a id="note_1_end" href="#note_1">(1)</a> ' + main_css_load_lang('except_ie') + '</li> \
  400. <li><a href="#note_1_1">(1.1)</a></li> \
  401. <li><a id="note_2_end" href="#note_2">(ko-KR)</a> ' + main_css_load_lang('only_korean') + '</li> \
  402. </ul> \
  403. </div> \
  404. ';
  405. }
  406. document.addEventListener("DOMContentLoaded", main_css_skin_load);