load_skin_set.js 17 KB

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