load_skin_set.js 19 KB

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