diff --git a/a.rb b/a.rb new file mode 100755 index 0000000..2249653 --- /dev/null +++ b/a.rb @@ -0,0 +1,31 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +asobu = gets.chomp.to_i +kinyuu = gets.chomp + +puts"遊ぶなら1、遊ばないなら2を入力して下さい" +puts"数字を入力:" +while true + if asobu == 1 + puts"名前を決めてね!" + puts"記入:" + sleep(1) + puts"..." + sleep(2) + printf("%dさんよろしくね!\n",kinyuu) + puts"ー対戦ー" + puts"" + + + break + elsif asobu == 2 + puts"了解です" + break + else + puts"もう一回入力してね" + redo + end +end + + diff --git a/after1.jpg b/after1.jpg new file mode 100644 index 0000000..869bd59 --- /dev/null +++ b/after1.jpg Binary files differ diff --git a/after2.jpg b/after2.jpg new file mode 100644 index 0000000..cf38a52 --- /dev/null +++ b/after2.jpg Binary files differ diff --git a/after3.jpg b/after3.jpg new file mode 100644 index 0000000..96b41d6 --- /dev/null +++ b/after3.jpg Binary files differ diff --git a/before.jpg b/before.jpg new file mode 100644 index 0000000..660e13f --- /dev/null +++ b/before.jpg Binary files differ diff --git a/game.rb b/game.rb index 0287991..ecb365f 100755 --- a/game.rb +++ b/game.rb @@ -1,15 +1,12 @@ #!/usr/bin/env ruby # -*- coding: utf-8 -*- - +while true print "Roading.......\n" -nokori = 10 - -while nokori > 0 sleep(5) - nokori = nokori - 1 + puts"START" + puts"タイピングをしよう!" + end -puts"MUSIC GAME" - diff --git a/jaken...rb b/jaken...rb new file mode 100755 index 0000000..3ca8096 --- /dev/null +++ b/jaken...rb @@ -0,0 +1,3 @@ +#!/usr/bin/env/ruby +# -*- coding: utf-8 -*- + diff --git a/program.rb b/program.rb new file mode 100755 index 0000000..675d86f --- /dev/null +++ b/program.rb @@ -0,0 +1,60 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +30+20 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +30+20 after1.jpg&") + elsif i == 2 + system("display -geometry +30+20 after2.jpg&") + elsif i == 3 + system("display -geometry +30+20 after3.jpg&") + end + setpos(0,0) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回 反応時間%5.3f秒\n", correct, total/10) diff --git a/program_advanced.rb b/program_advanced.rb new file mode 100644 index 0000000..d740d94 --- /dev/null +++ b/program_advanced.rb @@ -0,0 +1,66 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +0+0 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +400+0 quiz1.jpg&") + sleep(0.5) + system("display -geometry +0+0 after1.jpg&") + elsif i == 2 + system("display -geometry +400+0 quiz1.jpg") + sleep(0.5) + system("display -geometry +0+0 after2.jpg&") + elsif i == 3 + system("display -geometry +400+0 quiz1.jpg&") + sleep(0.5) + system("display -geometry +0+0 after3.jpg&") + end + setpos(0,0) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回 反応時間%5.3f秒\n", correct, total/10) diff --git a/quiz.csv b/quiz.csv new file mode 100644 index 0000000..4c25671 --- /dev/null +++ b/quiz.csv @@ -0,0 +1,5 @@ +問題,選択肢1,選択肢2,選択肢3,正解番号,正解コメント,不正解コメント +パンはパンでも食べられないパンは,腐ったパン,フライパン,シャンパン,3,"シャンパンは飲み物 +他のは腹を壊していいなら行ける(行くなよ)",ぶぶー +アルミ缶の上にあるものは,未完,ある蜜柑,蜜柑がみっかんない,2,「或る」蜜柑なのだ,ぶぶー +Rubyで文字列を読み取るときは,gets,def,yomu,1,kotae=gets.chompなんてするといいね,ぶぶー diff --git a/quiz1.jpg b/quiz1.jpg new file mode 100644 index 0000000..a9e568d --- /dev/null +++ b/quiz1.jpg Binary files differ diff --git a/quiz2.jpg b/quiz2.jpg new file mode 100644 index 0000000..f8cced8 --- /dev/null +++ b/quiz2.jpg Binary files differ diff --git a/roket.rb b/roket.rb new file mode 100755 index 0000000..e8b4930 --- /dev/null +++ b/roket.rb @@ -0,0 +1,182 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- +# Curses でロケットの運動を描画する +# 作者:山本裕樹 + +require "curses" + +# 万有引力定数 G = 6.67430×10^-11 [m^3/kg/s^2] +# 地球の質量 ME = 5.9724×10^24 [kg] +# 地球の半径 RE = 6.3781x10^6 [m] +$G = 6.67430e-11 +$ME = 5.9724e24 +$RE = 6.3781e6 + +# 現実の座標から端末上の座標に変換するための x, y 方向のスケール +$xscale = 10.0 +$yscale = 5.0 + +# 初期値 +# ($x0, $y0):ロケットの発射位置(単位 [m]) +# ($u0, $v0):ロケットの発射速度(単位 [m/s]) +# $dt:時間の刻み(単位 [s]) +$x0 = $RE + 10 +$y0 = 0 +$u0 = 6000 +$v0 = 6000 +$dt = 60 + +# 原点から (x, y) までの距離 +def r(x, y) + return Math.sqrt(x ** 2 + y ** 2) +end + +# 運動方程式の右辺1 +def f(x, y) + return - $G * $ME * x / r(x, y) ** 3 +end + +# 運動方程式の右辺2 +def g(x, y) + return - $G * $ME * y / r(x, y) ** 3 +end + +# ku, kv, kx, ky の計算 +def calc_k(u, v, x, y, du, dv, dx, dy) + return f(x + dx, y + dy) * $dt, + g(x + dx, y + dy) * $dt, + (u + du) * $dt, + (v + dv) * $dt +end + +# ルンゲ=クッタ法で $dt 後の (x,y) と (u,v) を求める +def next_step(u, v, x, y) + ku1, kv1, kx1, ky1 = calc_k(u, v, x, y, 0, 0, 0, 0) + ku2, kv2, kx2, ky2 = calc_k(u, v, x, y, + ku1 * 0.5, kv1 * 0.5, kx1 * 0.5, ky1 * 0.5) + ku3, kv3, kx3, ky3 = calc_k(u, v, x, y, + ku2 * 0.5, kv2 * 0.5, kx2 * 0.5, ky2 * 0.5) + ku4, kv4, kx4, ky4 = calc_k(u, v, x, y, ku3, kv3, kx3, ky3) + return u + (ku1 + 2 * ku2 + 2 * ku3 + ku4) / 6.0, + v + (kv1 + 2 * kv2 + 2 * kv3 + kv4) / 6.0, + x + (kx1 + 2 * kx2 + 2 * kx3 + kx4) / 6.0, + y + (ky1 + 2 * ky2 + 2 * ky3 + ky4) / 6.0 +end + +# 現実の座標 (x,y) から端末上の座標 (cx,cy) へ変換 +def x2cx(x) ($cox + x / $RE * $xscale).round end +def y2cy(y) ($coy - y / $RE * $yscale).round end + +# 端末上の座標 (cx,cy) から現実の座標 (x,y) へ変換 +def cx2x(cx) (cx - $cox) * $RE / $xscale end +def cy2y(cy) -(cy - $coy) * $RE / $yscale end + +# (0, 0) を中心に地球を描く +def draw_earth + # 地球の色の設定 + Curses.attrset(Curses.color_pair(2)) + + # 端末上の全ての座標をスキャンして地球の半径内なら地球を出力 + 0.upto(Curses.cols - 1) do |cx| + 0.upto(Curses.lines - 1) do |cy| + if r(cx2x(cx), cy2y(cy)) < $RE + Curses.setpos(cy, cx) + Curses.addch(' ') + end + end + end +end + +# 現実の座標 (x,y) から端末上の座標へ変換して文字 ch を出力 +def puts_char(x, y, ch) + cx = x2cx(x) + cy = y2cy(y) + if (cx >= 0 && cx <= Curses.cols - 1) && + (cy >= 0 && cy <= Curses.lines - 1) + Curses.setpos(cy, cx) + Curses.addch(ch) + end +end + +# Cursesの初期化 +Curses.init_screen + +begin + # 色の設定 + Curses.start_color + Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLACK) + Curses.init_pair(2, Curses::COLOR_BLACK, Curses::COLOR_BLUE) + Curses.init_pair(3, Curses::COLOR_CYAN, Curses::COLOR_BLACK) + Curses.init_pair(4, Curses::COLOR_BLACK, Curses::COLOR_RED) + + # 端末の中央の座標 + $cox = ((Curses.cols - 1) * 0.5).round + 0.5 + $coy = ((Curses.lines - 1) * 0.5).round + 0.5 + + # カーソルを非表示 + Curses.curs_set(0) + + # キー入力で待つ時間(ミリ秒) + Curses.stdscr.timeout = 60 + + # 初期値を代入 + x = $x0 + y = $y0 + u = $u0 + v = $v0 + + # 時間 + i = 0 + + # ロケットの軌道を描くループ + while 1 + # 地球を出力 + draw_earth + + # デフォルトの色 + Curses.attrset(Curses.color_pair(1)) + + # 時刻の出力 + Curses.setpos(Curses.lines - 1, 0) + Curses.addstr(sprintf("t=%d[s]\n", i * $dt)) + + if (r(x, y) > $RE) + # ロケットを出力 + puts_char(x, y, 'R') + else + # 爆発を出力 + Curses.attrset(Curses.color_pair(4)) + puts_char(x, y, 'X') + Curses.refresh + # ループを抜ける + break + end + + # キー入力があるか + if Curses.getch != nil + # ループを抜ける + break + end + + # (x, y) にロケットの跡を出力 + Curses.attrset(Curses.color_pair(3)) + puts_char(x, y, '.') + + # 画面表示の更新 + Curses.refresh + + # $dt 後の (x,y) を求める + u, v, x, y = next_step(u, v, x, y) + i += 1 + end + + # キー入力があるまでずっと待つ + Curses.stdscr.timeout = -1 + Curses.getch + +ensure + # Cursesの終了処理 + Curses.close_screen +end + + diff --git a/tiping..rb b/tiping..rb new file mode 100755 index 0000000..abbe1b0 --- /dev/null +++ b/tiping..rb @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +asobu = gets.chomp.to_i + +def hiragana() + betto = ["あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ","た","ち","つ","て","と","な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ","ま","み","む","め","も","や","ゆ","よ","ら","り","る","れ","ろ","わ","を","ん","!","?","。","、"] + betto[rand(betto.length)] +end + + puts"遊ぶなら1、遊ばないなら2を入力して下さい" + puts"数字を入力:" +while true + if asobu == 1 + puts"指定されたどうりに文字を打ち、おばけを倒して下さい" + puts"始めます" + printf("%sと入力:\n",hiragana) + + break + elsif asobu == 2 + puts"了解です" + break + else + puts"もう一回入力してね" + redo + end +end + + diff --git a/tiping.rb b/tiping.rb index 64eab23..d71d643 100755 --- a/tiping.rb +++ b/tiping.rb @@ -1,15 +1,19 @@ #!/usr/bin/env ruby # -*- coding: utf-8 -*- - puts"遊びますか?" puts"始めると入力:" asobu = gets.chomp +def moji() + spell = ["あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ","た","ち","つ","て","と","な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ","ま","み","む","め","も","や","ゆ","よ","ら","り","る","れ","ろ","わ","を","ん"] + spell[rand(spell.length)] +end while true if asobu == "始める" srand() rizumu = rand(10) +1 -puts"できるだけ早くタイピングして下さい(%sくらいで、タイピングできればすごいです)" +puts"できるだけ早くタイピングして下さい(?くらいで、タイピングできればすごいです)" + puts"すたーと" hajime = Time.now.to_f stop = gets.chomp diff --git a/tukiryokou.rb b/tukiryokou.rb new file mode 100755 index 0000000..f74d81a --- /dev/null +++ b/tukiryokou.rb @@ -0,0 +1,45 @@ +#!/usr/bin/env/ruby +# -*- coding: utf-8 -*- + +puts"宇宙旅行行くよ!!" +puts"今日の天気は?" +puts"晴れ、雨、曇り:" + +kyori = 38000 +hiniti = 0 +while true + tenki = gets.chomp + if tenki == "晴れ" || tenki == "曇り" + puts"今日は出発可能です" + puts"早速出発をしよう!" + puts"10日超高速旅行だよ" + puts"とても早く進むけど、安心してね。機内は安全でとても早く動いていても中は快適だから" + puts"準備はできた?(OK!って書いたら5秒後に発射するよ)" + jyunbi = gets.chomp + while true + if jyunbi == "OK!" + puts"わかった!いいんだね" + sleep(5) + puts"GO!!" + puts"____________________________________________" + puts"現在、地球から月までの距離は約38000000m(38000km)です" + puts"とても遠いですね" + kyori = kyori-3800 + hiniti += 1 + printf("現在、%d日目で地球からの距離は%dm離れています\n",hiniti,kyori) + + break + elsif jyuubi == "だめ" + puts"10秒待つね" + sleep(10) + redo + elsif tenki == "雨" + puts"また、明日にしよう" + break + else + puts"...?" + redo + end +end + end +end diff --git a/utyuryokou.rb b/utyuryokou.rb new file mode 100755 index 0000000..8e485b0 --- /dev/null +++ b/utyuryokou.rb @@ -0,0 +1,43 @@ +#!/usr/bin/env/ruby +# -*- coding: utf-8 -*- + +puts"宇宙旅行行くよ!!" +puts"今日の天気は?" +puts"晴れ、雨、曇り:" + +kyori = 38000 +hiniti = 10 +while true + tenki = gets.chomp + if tenki == "晴れ" || tenki == "曇り" + puts"今日は出発可能です" + puts"早速出発をしよう!" + puts"10日超高速旅行だよ" + puts"とても早く進むけど、安心してね。機内は安全でとても早く動いていても中は快適だから" + puts"準備はできた?(OK!って書いたら5秒後に発射するよ)" + jyunbi = gets.chomp + while true + if jyunbi == "OK!" + puts"わかった!いいんだね" + sleep(5) + puts"GO!!" + puts"____________________________________________" + puts"現在、地球から月までの距離は約38000000m(38000km)です" + puts"とても遠いですね" + kyori = kyori-3800 || hiniti-9 *= 1..10 + printf("現在、%d日目で地球からの距離は%dm離れています\n",hiniti,kyori) + brea + elsif jyuubi == "だめ" + puts"10秒待つね" + sleep(10) + redo + elsif tenki == "雨" + puts"また、明日にしよう" + break + else + puts"...?" + redo + end +end + end +end diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai.html" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai.html" new file mode 100644 index 0000000..5680c2e --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai.html" @@ -0,0 +1,159 @@ + +
+ + + +Driven by +s4 +©2015-2021 by +yuuji + + +
\ No newline at end of file diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/157-after1.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/157-after1.jpeg" new file mode 100644 index 0000000..e986449 --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/157-after1.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/158-after2.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/158-after2.jpeg" new file mode 100644 index 0000000..a8a996d --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/158-after2.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/159-after3.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/159-after3.jpeg" new file mode 100644 index 0000000..4c9bb43 --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/159-after3.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/160-before.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/160-before.jpeg" new file mode 100644 index 0000000..ae2cbbb --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/160-before.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/163-quiz1.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/163-quiz1.jpeg" new file mode 100644 index 0000000..ecdba14 --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/163-quiz1.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/164-quiz2.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/164-quiz2.jpeg" new file mode 100644 index 0000000..d0788fe --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/164-quiz2.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/165-quiz3.jpeg" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/165-quiz3.jpeg" new file mode 100644 index 0000000..36ac682 --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/165-quiz3.jpeg" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/default.css" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/default.css" new file mode 100644 index 0000000..2bf82ff --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/default.css" @@ -0,0 +1,481 @@ +/* + * Default CSS definitions + */ +@media print { + div.blogcomment, div.blogcomment *, div.topmenu, + table.bloghead button { + display: none + } + a {text-decoration: none;} +} +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.td4r td:nth-child(4) {text-align: right;} +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;} +span.fileinput { + display: inline-block; height: 3.2ex; + border: 1px solid #4444; border-radius: 1ex; + position: relative; width: 16em; background: #e7e7ea; text-align: center; +} +span.fileinput input[type="file"] { + position: absolute; width: 100%; height: 100%; left: 0; top: 0; + padding: 0; +} +span.fileinput:hover {background: #efc;} +/* 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:not(.fileinput), +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; +} +tr.preface em {color: navy; text-decoration: underline; padding-right: 0.3ex;} +tr.preface strong {color: navy; background: #eea;} +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;} +:root {--repl-heading-color: #a22;} +td.repl h2:before {content: "■"; color: var(--repl-heading-color);} +td.repl h3:before {content: "◆"; color: var(--repl-heading-color);} +td.repl h4:before {content: "◎"; color: var(--repl-heading-color);} +td.repl div.atall { + color: white; background: #66f; padding: 0 0.8ex; + display: inline-block; border-radius: 0.8ex; +} +td.repl.atall:first-line {font-size: 125%;} + +.blog_replies td.repatt {min-width: 12em;} +.blog_replies td.hideauthor {display: none;} +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;} +form.replyblog table s { + text-decoration: line-through #ff111180 0.3ex solid; +} + +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;} + +@media screen { + 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: 1; 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; +} +button#c { + padding: 0.2ex 4em; border-radius: 0.5ex; +} +input#cmt input[type="submit"] {height: 4em;} + +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, input[type="reset"] {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/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/file-icon.png" "b/\343\200\22010-28\343\200\221\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/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/file-icon.png" Binary files differ diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/j2023.css" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/j2023.css" new file mode 100644 index 0000000..5287ca2 --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/j2023.css" @@ -0,0 +1,9 @@ +@import url("default.css"); +body {background: url("img/jds4_bg_2023.png") #ffffbf no-repeat center fixed; + background-size: cover; margin: 2px; padding: 6px; +} +body.moderated {background: #e4ecc5; border: 3px gold solid;} +div.topmenu ul li { + background: #ffd531; border: #ed8 2px groove; margin: 0 +} +div.topmenu ul li:hover {background: #da6;} diff --git "a/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/s4-main.js" "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/s4-main.js" new file mode 100644 index 0000000..0bc713e --- /dev/null +++ "b/\343\200\22010-28\343\200\221\346\234\254\350\254\233\347\276\251 JDs4 - JD-Chokai_files/s4-main.js" @@ -0,0 +1,1223 @@ +// 愛 +(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("<", '<') + .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
+ // + //Driven by +s4 +©2015-2021 by +yuuji + + +
\ No newline at end of file diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/175-janken_gu.jpeg" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/175-janken_gu.jpeg" new file mode 100644 index 0000000..7fe27ba --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/175-janken_gu.jpeg" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/176-janken_pa.jpeg" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/176-janken_pa.jpeg" new file mode 100644 index 0000000..0663c35 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/176-janken_pa.jpeg" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/177-janken_tyoki.jpeg" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/177-janken_tyoki.jpeg" new file mode 100644 index 0000000..baf7f57 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/177-janken_tyoki.jpeg" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_1380.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_1380.png" new file mode 100644 index 0000000..d9c40ee --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_1380.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_M_houtin2.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_M_houtin2.png" new file mode 100644 index 0000000..3ef8b8a --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_M_houtin2.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_blueimpulse.jpg" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_blueimpulse.jpg" new file mode 100644 index 0000000..fef8ef4 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_blueimpulse.jpg" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_kqQX6PD7.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_kqQX6PD7.png" new file mode 100644 index 0000000..4782de1 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_kqQX6PD7.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_saa45.JPG" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_saa45.JPG" new file mode 100644 index 0000000..0b6d828 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_saa45.JPG" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_sp3.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_sp3.png" new file mode 100644 index 0000000..43fbf52 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_sp3.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_\347\204\241\351\241\214.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_\347\204\241\351\241\214.png" new file mode 100644 index 0000000..895888f --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_\347\204\241\351\241\214.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_\347\204\241\351\241\214172.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_\347\204\241\351\241\214172.png" new file mode 100644 index 0000000..14ac74a --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/S_\347\204\241\351\241\214172.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/default.css" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/default.css" new file mode 100644 index 0000000..2bf82ff --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/default.css" @@ -0,0 +1,481 @@ +/* + * Default CSS definitions + */ +@media print { + div.blogcomment, div.blogcomment *, div.topmenu, + table.bloghead button { + display: none + } + a {text-decoration: none;} +} +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.td4r td:nth-child(4) {text-align: right;} +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;} +span.fileinput { + display: inline-block; height: 3.2ex; + border: 1px solid #4444; border-radius: 1ex; + position: relative; width: 16em; background: #e7e7ea; text-align: center; +} +span.fileinput input[type="file"] { + position: absolute; width: 100%; height: 100%; left: 0; top: 0; + padding: 0; +} +span.fileinput:hover {background: #efc;} +/* 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:not(.fileinput), +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; +} +tr.preface em {color: navy; text-decoration: underline; padding-right: 0.3ex;} +tr.preface strong {color: navy; background: #eea;} +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;} +:root {--repl-heading-color: #a22;} +td.repl h2:before {content: "■"; color: var(--repl-heading-color);} +td.repl h3:before {content: "◆"; color: var(--repl-heading-color);} +td.repl h4:before {content: "◎"; color: var(--repl-heading-color);} +td.repl div.atall { + color: white; background: #66f; padding: 0 0.8ex; + display: inline-block; border-radius: 0.8ex; +} +td.repl.atall:first-line {font-size: 125%;} + +.blog_replies td.repatt {min-width: 12em;} +.blog_replies td.hideauthor {display: none;} +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;} +form.replyblog table s { + text-decoration: line-through #ff111180 0.3ex solid; +} + +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;} + +@media screen { + 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: 1; 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; +} +button#c { + padding: 0.2ex 4em; border-radius: 0.5ex; +} +input#cmt input[type="submit"] {height: 4em;} + +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, input[type="reset"] {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/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/file-icon.png" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/file-icon.png" new file mode 100644 index 0000000..d82f259 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/file-icon.png" Binary files differ diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/j2023.css" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/j2023.css" new file mode 100644 index 0000000..5287ca2 --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/j2023.css" @@ -0,0 +1,9 @@ +@import url("default.css"); +body {background: url("img/jds4_bg_2023.png") #ffffbf no-repeat center fixed; + background-size: cover; margin: 2px; padding: 6px; +} +body.moderated {background: #e4ecc5; border: 3px gold solid;} +div.topmenu ul li { + background: #ffd531; border: #ed8 2px groove; margin: 0 +} +div.topmenu ul li:hover {background: #da6;} diff --git "a/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/s4-main.js" "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/s4-main.js" new file mode 100644 index 0000000..0bc713e --- /dev/null +++ "b/\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\345\213\237\351\233\206\357\274\201 JDs4 - JD-Chokai_files/s4-main.js" @@ -0,0 +1,1223 @@ +// 愛 +(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("<", '<') + .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
+ // + //