diff --git "a/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai.html" "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai.html" new file mode 100644 index 0000000..ac8c7e4 --- /dev/null +++ "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai.html" @@ -0,0 +1,147 @@ + +
+ + + +Driven by +s4 +©2015-2021 by +yuuji + + +
\ No newline at end of file diff --git "a/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/S_AD19FBA5-24D6-48B6-8915-5A642B2E1DED.jpeg" "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/S_AD19FBA5-24D6-48B6-8915-5A642B2E1DED.jpeg" new file mode 100644 index 0000000..abbf9c4 --- /dev/null +++ "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/S_AD19FBA5-24D6-48B6-8915-5A642B2E1DED.jpeg" Binary files differ diff --git "a/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/default.css" "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/default.css" new file mode 100644 index 0000000..9c71018 --- /dev/null +++ "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/default.css" @@ -0,0 +1,447 @@ +/* + * Default CSS definitions + */ +body {background: #eff; margin: 2px; padding: 6px;} +h2, h3, hr {clear: both;} +*.warn {color: red;} +*.warnbg {background: red;} +*.hidden {visibility: hidden;} +*.border {border: 1px solid #113;} +div.topmenu { + margin: 0; padding: 0; width: 100%; height: 2em; +} +div.topmenu ul {width: 100%; position: fixed; z-index: 5; margin: 0; + margin: 0 auto;} +div.topmenu ul li { + float: left; width: 18%; + background: rgba(68,255,102,0.8); border: #3e5 2px groove; margin: 0; + text-align: center; font-size: 80%; list-style: none; + box-shadow: #242 2px 3px 5px; + text-shadow: #fff 0px 0px 10px; +} +div.topmenu ul li.worldname {background: #eeeeff;} +div.topmenu ul li:hover {background: #8fa;} +div.topmenu ul a {text-decoration: none;} + +ldiv.topmenu + h1 {clear: both; margin-top: 3em;} +pre.list { + overflow: auto; width: 96%; height: 40%; background: white; + border: 2px inset; +} +p.copyright { + border-top: 2px inset #555; text-align: right; clear: both; + font-size: 50%; +} +p.copyright a, a#reload {text-decoration: none;} + +td {padding-left: 0.5ex; padding-right: 0.5ex;} +table.td2r td:nth-child(2) {text-align: right;} +table.td3r td:nth-child(3) {text-align: right;} +table.td3rr td:nth-child(n+3) {text-align: right;} +table.td3evw th:nth-child(2n+4), span.textdigest { + background: white; +} +table.thl th {text-align: left;} +span#reverse {background: white; padding: 0 0 0 0.4ex; border: outset;} + +table.form, table.b, table.b tr, table.b td, table.b th { + border: 1px solid black; border-collapse: collapse; +} +table.b, table.bloghead { + border-radius: 1ex; box-shadow: rgb(250,222,222) 1px 2px 3px; +} +td.warn {background: #fcc;} +input[type="checkbox"][name="rm"]:checked ~ table {background: red;} +input[type="checkbox"][name="rm"] ~ span {display: none;} +input[type="checkbox"][name="rm"]:checked ~ span {display: inline;} + +input[type="radio"][value="replace"] + input.replace[type="file"] { + visibility: hidden;} +input[type="radio"][value="replace"]:checked + input.replace[type="file"] { + visibility: visible; +} +button#morefile {visibility: hidden; background: #fe9;} +label.admin span {border-bottom: 1px solid blue;} +label.admin:after {content: "(ADMIN)"; color: red; text-decoration: none;} + +/* keep/edit/rm action selector */ +input.action ~ input:not(.action), input.action ~ textarea { + display: none; +} +input.action[value="edit"]:checked ~ input[class="edit"], +input.action[value="mv"]:checked ~ input[type="text"] {display: inline;} +input.action[value="edit"]:checked ~ textarea {display: block;} +input.action[value="edit"]:checked ~ span, +input.action[value="mv"]:checked ~ span {display: none;} +input.action[value="rm"]:checked ~ span {background: red;} +label.confirm {display: none;} +*.inline, +input.action[value="rm"]:checked ~ label.confirm { + display: inline; +} + +input.hidesub ~ input[type="submit"] {visibility: hidden;} +input.hidesub:focus ~ input[type="submit"], +p:active input[type="submit"] +{visibility: visible;} +input[type=text]:focus {background: #ffa;} + +form.replyblog {xxx-margin-bottom: 40%;} +div.blogcomment { + position: fixed; bottom: 0; left: 0; + z-index: 2; background-color: rgba(250,222,222,0.6); +} +/* div.blogcomment textarea:focus {background: yellow; + position: fixed; top: 0; bottom: auto; } Need to consider narrow display */ +div.blogcomment * {opacity: 1.0;} +table.bloghead, .bloghead tr, .bloghead td { + border: 1px solid black; border-collapse: collapse; + min-width: 30em; +} +table.bloghead tr.preface { + font-size: 150%; background: yellow; /* text-align: center; */ + white-space: pre-wrap; +} +table.bloghead tr.frozen { + background: #ccf; border: blue thick solid; color: navy; +} + +table.bloghead {margin-bottom: 1em;} + +table.blog_replies, .blog_replies tr, .blog_replies td { + border: 1px solid #999; border-collapse: collapse; + white-space: pre-wrap; +} +table.bloghead tr.preface td ul, +table.bloghead tr.preface td ol, +table.bloghead tr.preface h2, +table.bloghead tr.preface h3, +table.bloghead tr.preface h4, +table.bloghead tr.preface h5, +table.bloghead tr.preface h5, +table.blog_replies video, +table.blog_replies iframe, +table.blog_replies ul, .blog_replies tr ul, .blog_replies td ul, +table.blog_replies ol, .blog_replies tr ol, .blog_replies td ol { + text-align: left; white-space: normal; margin: 1ex 0; +} +table.bloghead tr.preface h2, +table.bloghead tr.preface h3, +table.bloghead tr.preface h4, +table.bloghead tr.preface h5, +table.bloghead tr.preface h5 +{ + display: inline-block; +} +table.blog_replies p.proficon { + float: right; margin: 0 1ex 0 0; +} +table.blog_replies+p.update_link {margin-top: 0; margin-bottom: 14em;} +.blog_replies td.repl { + vertical-align: top; min-width: 30em; height: 3em; + max-width: 50em; +} +.blog_replies td.repl img {max-width: 30%;} +td.repl h2, td.repl h3, td.repl h4 { + display: inline; /* Because td.repl's white space is pre-wrap */ + /* text-shadow: blue 0px 1px; */ +} +td.repl hr {display: inline-block; width: 95%; color: #cde} +td.repl em {color: #a00; text-decoration: underline; padding-right: 0.3ex;} +td.repl strong {color: white; background: #00a; padding: 0 0.5ex;} +td.repl h2:before {content: "■"; color: #a22;} +td.repl h3:before {content: "◆"; color: #a22;} +td.repl h4:before {content: "○";} +td.repl div.atall { + color: white; background: #66f; padding: 0 0.8ex; + display: inline-block; border-radius: 0.8ex; +} +.blog_replies td.repatt {min-width: 12em;} +table.blog_replies iframe { + width: 80%; min-height: 300px; max-width: 50em; max-height: 80vw; + padding: 0; border: 0; +} +table.blog_replies td.new { /* New Article from last visit */ + background: white +} +table.mini, table.mini tr, table.mini th, table.mini td { + margin: 0; border-width: 0; + border-collapse: collapse; + vertical-align: top; width: auto; height: 1em; +} +table.mini th {background: #cee;} +table.mini tr {border-bottom: solid 1px #bcc;} +table.mini th, table.mini td {text-align: justify;} +table.mini td, table.mini th {padding: 1px 0.5ex; min-width: 1em;} +table.mini {margin-left: 1em; border-left: 2px solid #686;} +div.pjaxview, div.pjaxview2 { + position: fixed; top: 1ex; left: 0; width: 9vw; height: 9vh; + background: #ffffee; border: 1px double navy; border-radius: 2em; + z-index: 7; +} +div.pjaxview2 { + width: 100vw; height: 98vh; transition: 0.5s; +} +div.pjaxview iframe { + width: 98%; height: 90%; object-fit: scale-down; +} +div.pjaxview p { + padding: 0.5ex; text-align: left; margin: 0 2em; + white-space: nowrap; overflow: hidden; +} +div.pjaxview p button { font-size: large; padding: 0 1em;} +div.pjaxview p button { background: #eeeee0; } +div.pjaxview p button:focus { background: #fffff8; } + +/* "visibility: collapse" not working on chromium browser */ +div.noprofimg tr.profimg {visibility: collapse; display: none;} +div.noprofimg tr:hover + tr.profimg, div.noprofimg tr:active + tr.profimg, +div.noprofimg tr.profimg:hover, div.noprofimg tr.profimg:active { + visibility: visible; display: table-row;} + +/* Used for overlapping image */ +img.overlap {position: absolute; top: 40px; left: 50px; z-index: 2;} + +/* Used in user's home page */ +p.profimg {float: left; max-width: 50%; max-height: 400px; + overflow: hidden; margin: 0 1em 1ex; + padding: 0; border: white 1px solid; box-shadow: 2px 3px 4px + } +p.profimg img {max-width: 400px;} +div.home+* {clear: both;} +body.grouphome p.groupimg { + float: right; margin: 0 1em 1ex; + overflow: hidden;} +body.grouphome p.groupimg img { + max-width: 380px; max-height: 380px;} + +div.fold {margin-top: 1em; border-top: 1px solid black; padding-top: 1em;} +div.noborder {border: 0px; margin: 0;} +div.fold > div { + xxdisplay: none; max-height: 80%; overflow: auto; + height: 0px; opacity: 0; padding: 0 1ex; +} +div.fold input[type="checkbox"]:checked ~ div, +div.fold input[type="radio"]:checked ~ div { + display: block; background: #fadede; + height: auto; opacity: 1.0; transition: 1s; +} +input.fold + label + *.folded {opacity: 0; display: none; hight: 0;} +input[type="checkbox"].fold:checked + label + *.folded { + opacity: 1.0; transition: 2s; +} +input[type="checkbox"].fold:checked + label + div.folded { + display: block; hight: auto; transition: 2s; +} + +/* fold2!! */ +div.foldtabs { + position: relative; height: 5em; margin-top: 1em; + border-top: 1px solid black; padding-top: 1em; +} +div.foldtabs > div { + position: absolute; top: 2.5em; opacity: 0.0; background: pink; + margin: 2px; overflow: auto; +} +div.foldtabs input[type="radio"] {display: none;} +div.foldtabs input[type="radio"]:checked + label + div { + display: block; opacity: 1.0; transition: 0.2s; width: 100%; + margin: 0; z-index: 2; +} +div.foldtabs > label { + border: 1px outset #ddd; background: #ddd; xbackground: pink; + border-top-left-radius: 0.8em; border-top-right-radius: 0.8em; + margin: 0; + padding: 0.2ex 0.5em; height: 3em; +} +div.foldtabs > input:active + label {background: white;} +div.foldtabs input:checked + label { + background: pink; border: pink 1px solid; border-bottom-width: 6px; +} +div.foldtabs input:checked + label:last-of-type {border-width: 1px;} +input[type="checkbox"] + label + input[type="submit"] {display: none;} +input[type="checkbox"]:checked + label + input[type="submit"] { + display: inline;} +div.foldtabs p {margin: 0;} + +/* ToDo List CheckBox inspired by https://cultureacademia.jp/webcreate/303/ */ +input.s4-checkbox {display: none;} /* Do not show real checkbox */ +input.s4-checkbox + label { + position: relative; padding-left: 0.8em; margin-right: 1em; +} +input.s4-checkbox + label:before, +input.s4-checkbox + label:after { + content: ""; display: block; /* Mimic Checkbox by absolute box */ + position: absolute; top: 0; left: 0; margin: 0; +} +input.s4-checkbox + label:before { /* checkbox frame */ + width: 0.8em; height: 0.8em; border: 1px solid #aaa; border-radius: 20%; + background: #ddd; +} +input.s4-checkbox:checked + label:before { /* checked frame bg */ + background: pink; +} +input.s4-checkbox:checked + label { /* checked text */ + /* text-shadow: red 1px 1px; */ +} +input.s4-checkbox:checked + label:after { /* checked mark */ + width: 0.6em; height: 0.4em; top: 0.05em; left: 0.1em; + border-bottom: 3px solid navy; + border-left: 3px solid navy; + transform: rotate(-40deg); +} +/* ---------------------------------------------------- */ + +div.dumptable {max-height: 70vw; overflow: auto;} +div.dumptable tr:hover {background-color: #fee;} +table.dumpblogs td, +div.lcto td { /* LINK + CTIME + TITLE + OWNER + something... */ + white-space: nowrap; overflow: hidden;} +table.dumpblogs td:nth-child(4), +div.lcto td:nth-child(2) {max-width: 8em;} +table.dumpblogs td:nth-child(5), /* team */ +table.dumpblogs td:nth-child(6), /* title */ +table.dumpblogs td:nth-child(7), /* heading */ +div.lcto td:nth-child(3), /* title */ +div.lcto td:nth-child(4) /* owner */ + {max-width: 14em;} +/* https://curecode.jp/tech/css-table-position-sticky-with-background-border-vanished/ */ +div.dumptable table.dumpblogs th { + position: sticky; top: 0; z-index: 0; background: #fcf0f0; + border: 1px solid black; border-collapse: collapse; + background-clip: padding-box; +} + +table.dumpblogs tr.凍結 td:nth-child(n+2) {opacity: 0.5;} +table.dumpblogs tr.凍結 td:last-child {opacity: 1.0; color: blue;} +*.frozen, *.凍結 {color: blue;} + +/* +table.dumpblogs td:nth-child(4) { + max-width: 7.6em; overflow: hidden;} +table.dumpblogs td:nth-child(5), +table.dumpblogs td:nth-child(6) { + max-width: 12em; overflow: hidden;} +table.dumpblogs td:nth-child(7) { + min-width: 5em; overflow: hidden;} +*/ + +/********************* icon list *********************/ +div.iconlist { + text-align: center; float: left; margin: 1ex 1em; + border: dotted #dfd 2px; padding: 1ex; +} +div.iconlist p {margin: 0; padding: 0;} +div.iconlist p.tag {background: #ffa; border-radius: 4em;} +div.iconlist p._temp {background: cyan;} +div.iconlist p._lecture {background: pink;} +div.iconlist p._admin {background: yellow;} +div.iconlist p._friend {background: fuchsia;} +div.iconlist p._fellows {background: #9f9;} /* light green */ +div.iconlist p._club {background: #4bb;} /* light teal */ +div.iconlist p._event {background: maroon; color: white;} +div.iconlist p._misc {background: purple; color: white;} +div.iconlist p._record {background: red; color: white;} +div.iconlist p._info {background: #eff;} /* light cyan */ +div.iconlist p._support {background: #ffe;} /* light yellow */ +div.iconlist p._test {background: #ffb6c1;} /* light pink */ +input#ismembtn:checked ~ div.iconlist, +input#isadmbtn:checked ~ div.iconlist {display: none;} +input#ismembtn:checked ~ div.iconlist.Member, +input#isadmbtn:checked ~ div.iconlist.ADMIN, +input#ismembtn:checked ~ div.iconlist.ADMIN {display: block;} +div.xy120x120 {min-width: 120px; min-height: 140px;} +div.xy96x96 {min-width: 96px; min-height: 116px;} +div.xy96x96 img {max-width: 96px;} +div.xy50x50 {min-width: 50px; min-height: 70px;} +div.xy50x50 img {max-width: 50px;} +div.moderated {background: rgba(255, 215, 0, 0.3);} /* gold */ +body.moderated {background: #fffec4;} /* #faed8a */ +body.ismember, div.ismember {border-top: 4px red solid; margin-top: 0;} +div.right, div.search {clear: both; float: right;} +*.clear {clear: both;} +div.search input[type="text"] { + border: solid 1px #bbb; border-radius: 0.5ex; min-height: 20px; + margin: 1em; padding: 0 0.5ex; padding-left: 18px; + background: url("../../img/loupe.png") left center no-repeat + rgba(242,240,240,0.7); + position: relative; +} +div.search div.fr, *.relative {position: relative;} +div.search p.help, textarea + p.help {display: none;} +div.search input:focus + p.help, +textarea:focus + p.help { + display: block; background: white; + position: absolute; right: 15em; white-space: pre; + border: 1px solid #888; border-radius: 1em; padding: 1ex; + box-shadow: #555 2px 2px; +} +textarea:focus + p.help { + position: fixed; + top: 0em; left: 0; +} +form.summary input[type=submit], +input[type="submit"].all, button.all { + background: #cfc; padding: 0.4ex 2ex; +} +input[type="reset"] {margin-left: 4em;} + +/* + * World List + */ +li.casmenu div {display: none; position: relative; width: 200%; + min-width: 80%; margin-right: 0;} +li.casmenu div table { + background: white; position: absolute; top: 0em; border: 3px solid navy; + max-width: 100%; +} +li.casmenu div table td {text-align: left; padding: 0.5ex 1em;} +li.casmenu:hover div, li.casmenu:active div, +li.casmenu div:hover, li.casmenu div:active +{display: block;} +span.pre {white-space: pre;} + +/* + * Frozen toggle button + */ +td.稼動状態 {text-align: center;} +button.toggle-frozen { + padding: 0 1emex; + background: #fdb585; + border-radius: 1ex; + border-bottom: solid 2px #d27d88; + box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0,0,0, 0.19); + background: linear-gradient(#fdeaea, #fdb2b2); // ffc8a8 +} +.凍結 button.toggle-frozen, .凍結 button.toggle-frozen::before { + background: linear-gradient(#d8e2ea, #83bbea); +} +.凍結 button.toggle-frozen::before { + content: attr(frozen-marker); color: blue; +} +.toggle-frozen::before { + content: attr(running-marker); +} +.info-tooltip { + position: absolute; padding: 1ex; + background: ivory; + border-radius: 1em; border: double 5px blue; + min-width: 10em; right: 0; bottom: 0; +} +.dissolving {opacity: 0; transition: 3.0s;} +.emerging {opacity: 1; transition: 3s;} +button#c, button#reload {display: inline-block;} +span.loading, button#c:disabled, button#reload:disabled { + visibility: visible; transform: rotateX(3600deg); transition: 30s; +} +span.loading {padding: 0 1em;} +input.aux {margin-left: 10em; transform: scale(0.7);} + +/* + * PR Web + */ +body.pr {font-size: 200%;} +body.pr h1 { + text-align: center; width: 80%; padding: 3ex 0; margin: 0 auto; + background: #ffefef; border: double 5px navy; +} diff --git "a/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/file-icon.png" "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/file-icon.png" new file mode 100644 index 0000000..d82f259 --- /dev/null +++ "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/file-icon.png" Binary files differ diff --git "a/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/jds4.css" "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/jds4.css" new file mode 100644 index 0000000..acec5ff --- /dev/null +++ "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/jds4.css" @@ -0,0 +1,10 @@ +/* + * Default CSS definitions + */ +@import("default.css"); +body {background: #ccc3f3 url("img/jds4_bg_2022.png") no-repeat center fixed; + background-size: cover; margin: 2px; padding: 6px;} +div.topmenu ul li { + background: #afeeeecc; border: #35e 2px groove; margin: 0; +} +div.topmenu ul li:hover {background: #adf;} diff --git "a/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/s4-main.js" "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/s4-main.js" new file mode 100644 index 0000000..8a2b4ca --- /dev/null +++ "b/8_9\346\234\254\350\254\233\347\276\251 |JDs4 - JD-Chokai_files/s4-main.js" @@ -0,0 +1,1097 @@ +// 愛 +(function (){ + var isOlderJS; // Set in init(); + var hoverTextLines = 10; + var hasTouchPad = + (navigator.maxTouchPoints && navigator.maxTouchPoints >0); + var myurl = document.URL, + mypath = myurl.substring(myurl.lastIndexOf("/")); + var art_m_list = []; + var mathjax = false; + let input_pdfsw = 'input[name="comppdf"]'; + if (mypath.match(/(.*)\/(.*)/)) { + mypath = RegExp.$2; + mypath = mypath.substring(0, mypath.lastIndexOf("?")); + //alert("mypath="+mypath); + } + function escapeChars(old) { + return old.replaceAll('"', '"') + .replaceAll("<", '<') + .replaceAll(">", '>'); + } + function collectElementsByAttr(elm, attr, val) { + var e = document.getElementsByTagName(elm); + if (!e) return null; + var list = []; + for (var i of e) { + if (i.getAttribute(attr) == val) + list.push(i) + } + return list; + } + function nthChildOf(parent, n, elem) { // Return Nth child of type ELEM + // N begins with 1 + var i=0; + var le = elem.toLowerCase(); + for (var c of parent.childNodes) { + if (!c.tagName) continue; + if (c.tagName.toLowerCase() == le) { + if (++i >= n) return c; + } + } + return null; + } + function insertRedirect(e) { + var articleId, textarea = document.getElementById("text"); + var p = e.target, checked = p.checked; + while (p = p.parentNode) + if (p.nodeName.match(/^td$/i)) break; + if (!p) return; + while (p = p.nextSibling) + if (p.nodeName.match(/^td$/i)) break; + if (!p) return; + articleId = p.getAttribute("id"); + if (textarea && articleId) { + var tv = textarea.value, lines; + if (tv) + lines = tv.split("\n"); + else + lines = [""]; + var re = new RegExp("[, ]*#"+articleId+"(?![0-9])"); + checked = (p.nodeName.match(/^input$/) + ? p.checked // checkbox obeys its status + : !lines[0].match(re)) // a-elment toggles redirection + if (checked) { + if (!lines[0].match(re)) { + var re2 = new RegExp(/>#[#0-9, ]+[0-9]/); + if (lines[0].match(re2)) + lines[0] = lines[0].replace( + re2, '$&, '+'#'+articleId); + else { + if (lines[0] > "") lines[0] = " "+lines[0]; + lines[0] = ">#"+articleId+lines[0]; + } + } + } else { // Remove #xxxxx + if (lines[0].match(/^>#[0-9 ,]+#/)) // 2 or more #id's + lines[0] = lines[0].replace( + new RegExp("^>#"+articleId+"[ ,]*"), ">").replace( + new RegExp("[ ,]*#"+articleId), ""); + else { + lines[0] = lines[0].replace( + new RegExp(">#"+articleId+"[ ,]*"), ""); + } + } + lines[0] = lines[0].replace(/^> *$/, ''); + textarea.value = lines.join("\n"); + } + } + function registPjaxViewers(aHrefList) { + let apos=art_m_list.length; + for (let a of aHrefList) { + let href = a.getAttribute("href"); + let localvar = apos; + let td = a.parentNode, + tr = td.parentNode, + id = td.id, + text = td.textContent, + author = tr.getElementsByTagName("a"); + if (author) author = author[0].getAttribute("title"); + if (href.match(/\?showattc\+article_m\+([0-9]+)$/)) { + if (td.innerHTML.match(/読み取り不可/)) { + a.removeAttribute("href"); + continue; + } + let url = RegExp.lastMatch; + // console.log("pjaxView(e, "+href+", "+apos+")"); + a.addEventListener("click", function(e) { + // Shoud use closure local variable: localvar + pjaxView(e, href, localvar); + }, false); + apos++; + art_m_list.push({ + url: href, id: id, author: author, text: text + }); + } + } + } + function registInsertDirect(aHrefList) { + for (i of aHrefList) + if (i.getAttribute("href").match(/^#[0-9]+$/)) + if (RegExp.lastMatch == i.innerHTML) + i.addEventListener("click", insertRedirect, false) + } + function mathjaxUpdate(arg) { + try { + if (MathJax && MathJax.typesetPromise) { + MathJax.texReset(); // Reset Math counters + MathJax.typesetPromise(arg); // MathJax v3 + } + } catch (err) {console.log(err);} + } + var ajaxSubmit; + function replAddNews(newtable) { + let newids = [], idlist=[]; + let getArticleID = function (td) { + return parseInt(td.parentNode.getElementsByTagName("td")[1].id); + } + for (let i of newtable.querySelectorAll("td.repl")) + newids.push(i); + newids = newids.sort((a,b)=> { + return (getArticleID(a) - getArticleID(b)); + }); + for (i of newids) + idlist.push(getArticleID(i)); + console.log("IDList="+idlist.join()); + let cnt=0, ntr; + let current = collectElementsByAttr("td", "class", "repl"), + ncur=0, n, icur=0, o, oid, nid, otr; + current = document.querySelectorAll('td[class="repl"]'); + let last=current[current.length-1], + tbody = last.parentNode.parentNode; + let addEventsToNewTr = function(tr) { + let td = tr.getElementsByTagName("td"), + td0 = td[0], td1 = td[1]; + td0.classList.add("new"); + registInsertDirect(td0.querySelectorAll("a[href]")); + registPjaxViewers(td1.querySelectorAll("a[href]")); + } + // Erase all "new article" flags before merging + for (let i of document.querySelectorAll("td.new")) + i.classList.remove("new"); + // Now reconstruct articles with merge-sort like method + outer: for (; ncur+ // + //
info1 info2
+ // + //[[ RAW TEXT(DOWNLOAD here) ]]
+
+#!/usr/koeki/env ruby
+# -*- coding: utf-8 -*-
+
+month = (0:1月 1:2月 2:3月 3:4月 4:5月 5:6月 6:7月 7:8月 9:10月 10:11月 11:12月 )
+
+stone = (ガーネット アメジスト アクアマリン ダイアモンド エメラルド パール ルビー ペリドット サファイア トルマリン トパーズ タンザナイト)
+
+puts
+puts"何月生まれですか?"
+a =
+ ("あなたの誕生石は%s!\n", )
+
+
+
+
diff --git a/kakezann.rb b/kakezann.rb
new file mode 100755
index 0000000..d211540
--- /dev/null
+++ b/kakezann.rb
@@ -0,0 +1,5 @@
+#!/usr/bin/env ruby
+# -*- coding: utf-8 -*-
+printf"掛け算をします"
+printf"かけられる数を入力してください"
+kakerarerukazzu=