load_skin_set.js 18 KB

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