Loading conllusvg/NihonKanshi2.html 0 → 100644 +407 −0 Original line number Diff line number Diff line <!DOCTYPE html><head><meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Universal Dependencies on 新釈漢文体系 日本漢詩 下</title> <script src="conllusvgview.js"></script> <script src="conllusvgload.js"></script> <script> var Kanshi2=new Object(); Kanshi2.url="/gitlab/api/v4/projects/Kanbun%2Fud-ja-kanbun/repository/"; Kanshi2.init=function(){ var t=document.getElementById("top").cloneNode(true); t.style.position="static"; t.style.visibility="hidden"; document.body.appendChild(t); Kanshi2.svg=new Array(); Kanshi2.pre=new Array(); Kanshi2.timer=setTimeout("clearTimeout(Kanshi2.timer);Kanshi2.checkview()",200); Kanshi2.volchange(); } Kanshi2.checkview=function(){ var t,r,b,i,x; Kanshi2.timer=setTimeout("clearTimeout(Kanshi2.timer);Kanshi2.checkview()",200); if(Kanshi2.curr==null) return; if(Kanshi2.svg[Kanshi2.curr]==null||Kanshi2.pre[Kanshi2.curr]==null){ Kanshi2.buildup(Kanshi2.curr); Kanshi2.lastTop=null; return; } if(Kanshi2.svg[Kanshi2.curr].style.position=="absolute"){ Kanshi2.svg[Kanshi2.curr].style.position="static"; Kanshi2.svg[Kanshi2.curr].style.visibility="visible"; } conllusvg.rewrite("pre"+Kanshi2.curr); r=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect(); t=r.top; b=r.bottom; r=document.getElementById("top").getBoundingClientRect().bottom; x=Kanshi2.curr; if(t-r>20){ while(t-r>0){ i=Kanshi2.svg[Kanshi2.curr-1]; if(i==null) break; if(i.style.position=="absolute") break; Kanshi2.curr--; if(Kanshi2.curr==0) break; t=i.getBoundingClientRect().top; } } else if(b<r){ while(b<r){ i=Kanshi2.svg[Kanshi2.curr+1]; if(i==null) break; if(i.style.position=="absolute") break; Kanshi2.curr++; if(Kanshi2.curr==Kanshi2.currmax) break; b=i.getBoundingClientRect().bottom; } } if(Kanshi2.curr!=x){ if(Kanshi2.retrytimes>0){ Kanshi2.retrytimes--; Kanshi2.curr=parseInt(document.getElementById("count").value,10); t=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect().top; if(Math.abs(t-r)>5){ if(document.scrollingElement==null) document.documentElement.scrollTop+=t-r; else document.scrollingElement.scrollTop+=t-r; } } else document.getElementById("count").value=Kanshi2.curr; } else if(Kanshi2.retrytimes>0) Kanshi2.retrytimes--; Kanshi2.lastTop=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect().top; for(i=Kanshi2.curr+1;i<=Kanshi2.currmax;i++){ if(Kanshi2.svg[i]==null||Kanshi2.pre[i]==null){ Kanshi2.buildup(i); break; } if(Kanshi2.svg[i].style.position=="absolute"){ Kanshi2.svg[i].style.position="static"; Kanshi2.svg[i].style.visibility="visible"; } conllusvg.rewrite("pre"+i); r=Kanshi2.svg[i].getBoundingClientRect(); if(r.top-window.innerHeight-1000>0) break; } for(i=Kanshi2.curr-1;i>=0;i--){ if(Kanshi2.svg[i]==null||Kanshi2.pre[i]==null){ Kanshi2.buildup(i); break; } if(Kanshi2.svg[i].style.position=="absolute"){ if(Kanshi2.pre[i].textContent>""){ Kanshi2.svg[i].style.position="static"; Kanshi2.svg[i].style.visibility="visible"; } else break; } conllusvg.rewrite("pre"+i); r=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect().top; if(Math.abs(r-Kanshi2.lastTop)>5){ if(document.scrollingElement==null) document.documentElement.scrollTop+=r-Kanshi2.lastTop; else document.scrollingElement.scrollTop+=r-Kanshi2.lastTop; Kanshi2.lastTop=r; } r=Kanshi2.svg[i].getBoundingClientRect(); if(parseInt(r.bottom,10)<-300) break; } } Kanshi2.buildup=function(x){ var t,i; if(Kanshi2.svg[x]==null){ t=document.createElementNS("http://www.w3.org/2000/svg","svg"); for(i=parseInt(x,10)+1;i<=Kanshi2.currmax;i++){ if(Kanshi2.svg[i]!=null) break; } t.style.position="absolute"; t.style.visibility="hidden"; if(i>Kanshi2.currmax) document.body.appendChild(t); else document.body.insertBefore(t,Kanshi2.svg[i]); Kanshi2.svg[x]=t; t.addEventListener("mousedown",Kanshi2.onmousedown); t.addEventListener("touchstart",Kanshi2.onmousedown); } if(Kanshi2.pre[x]==null){ t=document.createElement("pre"); t.style.display="none"; t.setAttribute("id","pre"+x); document.body.appendChild(t); Kanshi2.pre[x]=t; if(conllusvg.main["pre"+x]==null) conllusvg.view(Kanshi2.svg[x],"pre"+x); i=Kanshi2.volpath+"/"+("000"+x).slice(-3)+".txt"; conllusvg.loadRemote("pre"+x,Kanshi2.url+"files/"+encodeURIComponent(i)+"/raw?ref=master"); } } Kanshi2.volchange=function(){ var s,x; Kanshi2.clearSVG(); for(s in Kanshi2.pre){ if(Kanshi2.pre[s]!=null){ document.body.removeChild(Kanshi2.pre[s]); } Kanshi2.pre[s]=null; } s=document.getElementById("vol"); Kanshi2.volpath=s.options[s.selectedIndex].value; if(Kanshi2.tail==null) Kanshi2.tail=new Array(); if(Kanshi2.tail[Kanshi2.volpath]==null) Kanshi2.gettree(); else Kanshi2.writeSVG(); } Kanshi2.gettree=function(){ var p; if(Kanshi2.request==null){ Kanshi2.request=new XMLHttpRequest(); Kanshi2.request.onload=Kanshi2.ongettree; } if(Kanshi2.tail[Kanshi2.volpath]==null) p=1; else p=Math.floor(parseInt(Kanshi2.tail[Kanshi2.volpath],10)/100)+2; Kanshi2.request.open("GET",Kanshi2.url+"tree?per_page=100&path="+Kanshi2.volpath+"&page="+p); Kanshi2.request.send(); } Kanshi2.ongettree=function(e){ var i,s; if(Kanshi2.request.status==200){ s=Kanshi2.request.responseText; i=s.lastIndexOf('.txt"'); if(i<0) Kanshi2.writeSVG(); else{ Kanshi2.tail[Kanshi2.volpath]=s.substring(i-3,i); Kanshi2.gettree(); } } } Kanshi2.goto=function(){ Kanshi2.retrytimes=3; Kanshi2.writeSVG(); } Kanshi2.writeSVG=function(){ var c=document.getElementById("count"); Kanshi2.clearSVG(); Kanshi2.currmax=parseInt(Kanshi2.tail[Kanshi2.volpath],10); Kanshi2.curr=parseInt(c.value,10); if(Kanshi2.curr<0) Kanshi2.curr=0; if(Kanshi2.curr>Kanshi2.currmax) Kanshi2.curr=Kanshi2.currmax; c.value=Kanshi2.curr; Kanshi2.lastTop=null; } Kanshi2.clearSVG=function(){ var x; Kanshi2.curr=Kanshi2.lastTop=null; if(Kanshi2.svg!=null){ for(x in Kanshi2.svg){ if(Kanshi2.svg[x]!=null){ Kanshi2.svg[x].style.position="absolute"; Kanshi2.svg[x].style.visibility="hidden"; } } } if(document.scrollingElement==null) document.documentElement.scrollTop=0; else document.scrollingElement.scrollTop=0; } Kanshi2.onmousedown=function(e){ var x,y; if(Kanshi2.lastX==null){ Kanshi2.lastX=e.clientX; Kanshi2.lastY=e.clientY; return; } x=e.clientX-Kanshi2.lastX; y=e.clientY-Kanshi2.lastY; if(x*x+y*y>9){ Kanshi2.lastX=e.clientX; Kanshi2.lastY=e.clientY; return; } Kanshi2.lastX=null; x=e.currentTarget; for(y in Kanshi2.svg){ if(Kanshi2.svg[y]==x){ x=Kanshi2.volpath+"/"+("000"+y).slice(-3)+".txt"; window.open("editor-kanbun.html#"+Kanshi2.url+"files/"+encodeURIComponent(x)+"/raw?ref=master"); break; } } } Kanshi2.reload=function(){ var i,r; for(i=Kanshi2.curr;i<=Kanshi2.currmax;i++){ if(Kanshi2.svg[i]==null||Kanshi2.pre[i]==null) return; r=Kanshi2.svg[i].getBoundingClientRect(); if(r.top>window.innerHeight||r.bottom<0) return; r=Kanshi2.volpath+"/"+("000"+i).slice(-3)+".txt"; conllusvg.loadRemote("pre"+i,Kanshi2.url+"files/"+encodeURIComponent(r)+"/raw?ref=master"); } } Kanshi2.gitlab=function(){ var r=Kanshi2.volpath+"/"+("000"+Kanshi2.curr).slice(-3)+".txt"; window.open("/gitlab/Kanbun/ud-kanbun/blob/master/"+r); } </script> <body onload="Kanshi2.init()"> <div id="top" style="position:fixed; top:0px; left:0px; padding:10px; width:100%; background:white"> <font size="+3"><b>唐詩三百首卷一</b></font> <select id="vol" onchange="Kanshi2.volchange()"> <option value="shinshaku/046/001" selected>送吉田義卿 象山佐久間啓</option> <option value="shinshaku/046/002">辛酉二月出寺蓄髪時作 蒿齋 伴林光平 </option> <option value="shinshaku/046/003">劍舞歌</option> <option value="shinshaku/046/004">失題 江月久坂通武</option> <option value="shinshaku/046/005">題厓山樓 耕雲齋武田正生</option> <option value="shinshaku/046/006">蟹 竹外藤井啓</option> <option value="shinshaku/046/007">芳野 竹外藤井啓</option> <option value="shinshaku/046/008">花朝下澱江 竹外藤井啓</option> <option value="shinshaku/046/009">孤鶴 竹外藤井啓</option> <option value="shinshaku/046/010">風雨望寧樂 竹外藤井啓</option> <option value="shinshaku/046/011">柳 竹外藤井啓</option> <option value="shinshaku/046/012">壇浦夜泊 韡村木下業廣</option> <option value="shinshaku/046/013">山房夜雨 韡村木下業廣</option> <option value="shinshaku/046/014">山行示同志 佩川草場韡</option> <option value="shinshaku/046/015">過禁門 拙堂齋藤正謙</option> <option value="shinshaku/046/016">擬古 鐵兜河野羆</option> <option value="shinshaku/046/017">芳野 鐵兜河野羆</option> <option value="shinshaku/046/018">囚中作 東行高杉春風</option> <option value="shinshaku/046/019">述 靜觀廬森蔚</option> <option value="shinshaku/046/020">問盗 燕石日柳政章</option> <option value="shinshaku/046/021">雨中觀海棠有感 枕月雲井龍雄</option> <option value="shinshaku/046/022">釋大俊發憤時事慨然有濟度之志將歸省其親於尾州賦之以贈焉 枕月雲井龍雄</option> <option value="shinshaku/046/023">逸題 梅窓前原一誠</option> <option value="shinshaku/046/024">寄友人 弘毅齋奥平謙輔</option> <option value="shinshaku/046/025">詠伯夷叔齊 方谷山田球</option> <option value="shinshaku/046/026">偶成 南洲西郷隆盛</option> <option value="shinshaku/046/027">沖永良部島謫居中作 南洲西郷隆盛</option> <option value="shinshaku/046/028">偶成 松菊木戸孝允</option> <option value="shinshaku/046/029">偶成 松菊木戸孝允</option> <option value="shinshaku/046/030">春日山懷古 盤溪大槻淸崇</option> <option value="shinshaku/046/031">蠶婦 碧窗釋大俊</option> <option value="shinshaku/046/032">偶詠 花南丹羽賢</option> <option value="shinshaku/046/033">牡丹蝴蝶圖 紅蘭梁川晩婉</option> <option value="shinshaku/046/034">晩望 佛山村上剛</option> <option value="shinshaku/046/035">過壇浦 佛山村上剛</option> <option value="shinshaku/046/036">有人勸仕贈鯉魚 佛山村上剛</option> <option value="shinshaku/046/037">無題 佛山村上剛</option> <option value="shinshaku/046/038">掃花 聱牙土井有恪</option> <option value="shinshaku/046/039">河内途上 溪琴菊池保定</option> <option value="shinshaku/046/040">望川中島 溪琴菊池保定</option> <option value="shinshaku/046/041">白峯謁祟德帝山陵 朗廬阪谷素</option> <option value="shinshaku/046/042">那耶哥羅観瀑詩 柳北成島弘</option> <option value="shinshaku/046/043">塞昆 柳北成島弘</option> <option value="shinshaku/046/044">丙子歲晩感懷 柳北成島弘</option> <option value="shinshaku/046/045">櫻花 船山草場廉</option> <option value="shinshaku/046/046">岐阜竹枝 春濤森魯直</option> <option value="shinshaku/046/047">踰函關 春濤森魯直</option> <option value="shinshaku/046/048">侍宴恭賦 東野元田永孚</option> <option value="shinshaku/046/049">芳山楠帶刀歌 東野元田永孚</option> <option value="shinshaku/046/050">殘月杜鵑 三溪菊池純</option> <option value="shinshaku/046/051">新涼讀書 三溪菊池純</option> <option value="shinshaku/046/052">題児島高德書櫻樹圖 三溪菊池純</option> <option value="shinshaku/046/053">蘭圖 釋五嶽</option> <option value="shinshaku/046/054">題桃源圖 釋五嶽</option> <option value="shinshaku/046/055">西紅海舟中 櫻洲中井弘</option> <option value="shinshaku/046/056">西都雑詩 櫻洲中井弘</option> <option value="shinshaku/046/057">燕山雜句 三洲長〓(文字が出ません「苂」とは違うし)</option> <option value="shinshaku/046/058">過不孝嶺 鯢山山崎吉謙</option> <option value="shinshaku/046/059">偶作 甕江川田剛</option> <option value="shinshaku/046/060">書感 甕江川田剛</option> <option value="shinshaku/046/061">芳山懷古 松塘鱸元邦</option> <option value="shinshaku/046/062">落花 松塘鱸元邦</option> <option value="shinshaku/046/063">失題 海舟勝安芳</option> <option value="shinshaku/046/064">正氣歌 廣瀨武夫</option> <option value="shinshaku/046/065">偶吟 蒼海副島種臣</option> <option value="shinshaku/046/066">贈奥州佐藤平次郎 蒼海副島種臣</option> <option value="shinshaku/046/067">送鳥居素川之山東 種竹本田秀</option> <option value="shinshaku/046/068">川中島 種竹本田秀</option> <option value="shinshaku/046/069">白虎隊 豐山佐原盛純</option> <option value="shinshaku/046/070">日出 春畝伊藤博文</option> <option value="shinshaku/046/071">朱舜水先生墓 湖山小野長愿</option> <option value="shinshaku/046/072">西伯利車中作 成齊重野安繹</option> <option value="shinshaku/046/073">印度感懷 釋默雷</option> <option value="shinshaku/046/074">王昭君 栗香宮島誠一郎</option> <option value="shinshaku/046/075">暁發白河城 栗香宮島誠一郎</option> <option value="shinshaku/046/076">湖上次韻 槐南森公泰</option> <option value="shinshaku/046/077">牛蠱行 筠軒大須賀履</option> <option value="shinshaku/046/078">題畫一 筠軒大須賀履</option> <option value="shinshaku/046/079">題畫二 筠軒大須賀履</option> <option value="shinshaku/046/080">詠富岳 石樵乃木希典</option> <option value="shinshaku/046/081">金州城下作 石樵乃木希典</option> <option value="shinshaku/046/082">凱旋有感 石樵乃木希典</option> <option value="shinshaku/046/083">城山 琴石西喜大</option> <option value="shinshaku/046/084">詠史 省軒龜谷行</option> <option value="shinshaku/046/085">曝書 省軒龜谷行</option> <option value="shinshaku/046/086">磯濱登望洋樓 中洲三島毅</option> <option value="shinshaku/046/087">失題 火海古莊惟正</option> <option value="shinshaku/046/088">題近江八景圖 佚名氏</option> <option value="shinshaku/046/089">春興 漱石夏目金之助</option> <option value="shinshaku/046/090">武侯墓 井井竹添光鴻</option> <option value="shinshaku/046/091">送人歸長崎 井井竹添光鴻</option> <option value="shinshaku/046/092">雙殉行 井井竹添光鴻</option> <option value="shinshaku/046/093">自訟 梅窓杉浦重剛</option> <option value="shinshaku/046/094">山居雨後 鳳洲土屋弘</option> <option value="shinshaku/046/095">萬里長城 碧堂田邊華</option> <option value="shinshaku/046/096">漫成一 東陵石田羊一郎</option> <option value="shinshaku/046/097">漫成二 東陵石田羊一郎</option> <option value="shinshaku/046/098">漫成三 東陵石田羊一郎</option> <option value="shinshaku/046/099">猛虎行 東陵石田羊一郎</option> <option value="shinshaku/046/100">過江北古戰場 湖南内藤虎次郎</option> <option value="shinshaku/046/101">那須野 天随久保得二</option> <option value="shinshaku/046/102">方廣寺古鐘 天随久保得二</option> <option value="shinshaku/046/103">黨人歎 朴堂安井朝康</option> <option value="shinshaku/046/104">松島 裳川岩溪晉</option> <option value="shinshaku/046/105">芳野懷古一 靑厓國分高胤</option> <option value="shinshaku/046/106">芳野懷古二 靑厓國分高胤</option> <option value="shinshaku/046/107">唯射利 靑厓國分高胤</option> <option value="shinshaku/046/108">古意 天行松平康國</option> <option value="shinshaku/046/109">稲葉一轍 天行松平康國</option> <option value="shinshaku/046/110">咏史 天行松平康國</option> <option value="shinshaku/046/111">山中卽事 器堂市村瓚次郎</option> <option value="shinshaku/046/112">石田三成 雪山川田瑞穂</option> <option value="shinshaku/046/113">曝書 濟齊山田準</option> <option value="shinshaku/046/114">病中雑吟一 紫陽平野彥次郎</option> <option value="shinshaku/046/115">病中雑吟二 紫陽平野彥次郎</option> <option value="shinshaku/046/116">京都東山 蘇峯德富正敬</option> <option value="shinshaku/046/117">我孫子贈友 蘇峯德富正敬</option> <option value="shinshaku/046/118">芳山懷古 天淵加藤虎之亮</option> <option value="shinshaku/046/119">芳山懷古 竹雨土屋久泰</option> <option value="shinshaku/046/120">題畫 竹雨土屋久泰</option> <option value="shinshaku/046/121">山海関 竹雨土屋久泰</option> <option value="shinshaku/046/122">山楼卽事 竹雨土屋久泰</option> <option value="shinshaku/046/123">原爆行 竹雨土屋久泰</option> <option value="shinshaku/046/124">埃及懷古 節山鹽谷溫</option> <option value="shinshaku/046/125">癸巳歲晩書懷 豹軒鈴木虎雄</option> <option value="shinshaku/046/126">屋島懷古 草丘磯部覺太</option> </select> <input type="text" id="count" size=3 value=0 style="text-align:right" onchange="Kanshi2.goto()" /> <input type="button" value="GitLab" onclick="Kanshi2.gitlab()" /> <input type="button" value="Reload" onclick="Kanshi2.reload()" /> <a href="NihonKanshi1.html">上</a> </div> </body> Loading
conllusvg/NihonKanshi2.html 0 → 100644 +407 −0 Original line number Diff line number Diff line <!DOCTYPE html><head><meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Universal Dependencies on 新釈漢文体系 日本漢詩 下</title> <script src="conllusvgview.js"></script> <script src="conllusvgload.js"></script> <script> var Kanshi2=new Object(); Kanshi2.url="/gitlab/api/v4/projects/Kanbun%2Fud-ja-kanbun/repository/"; Kanshi2.init=function(){ var t=document.getElementById("top").cloneNode(true); t.style.position="static"; t.style.visibility="hidden"; document.body.appendChild(t); Kanshi2.svg=new Array(); Kanshi2.pre=new Array(); Kanshi2.timer=setTimeout("clearTimeout(Kanshi2.timer);Kanshi2.checkview()",200); Kanshi2.volchange(); } Kanshi2.checkview=function(){ var t,r,b,i,x; Kanshi2.timer=setTimeout("clearTimeout(Kanshi2.timer);Kanshi2.checkview()",200); if(Kanshi2.curr==null) return; if(Kanshi2.svg[Kanshi2.curr]==null||Kanshi2.pre[Kanshi2.curr]==null){ Kanshi2.buildup(Kanshi2.curr); Kanshi2.lastTop=null; return; } if(Kanshi2.svg[Kanshi2.curr].style.position=="absolute"){ Kanshi2.svg[Kanshi2.curr].style.position="static"; Kanshi2.svg[Kanshi2.curr].style.visibility="visible"; } conllusvg.rewrite("pre"+Kanshi2.curr); r=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect(); t=r.top; b=r.bottom; r=document.getElementById("top").getBoundingClientRect().bottom; x=Kanshi2.curr; if(t-r>20){ while(t-r>0){ i=Kanshi2.svg[Kanshi2.curr-1]; if(i==null) break; if(i.style.position=="absolute") break; Kanshi2.curr--; if(Kanshi2.curr==0) break; t=i.getBoundingClientRect().top; } } else if(b<r){ while(b<r){ i=Kanshi2.svg[Kanshi2.curr+1]; if(i==null) break; if(i.style.position=="absolute") break; Kanshi2.curr++; if(Kanshi2.curr==Kanshi2.currmax) break; b=i.getBoundingClientRect().bottom; } } if(Kanshi2.curr!=x){ if(Kanshi2.retrytimes>0){ Kanshi2.retrytimes--; Kanshi2.curr=parseInt(document.getElementById("count").value,10); t=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect().top; if(Math.abs(t-r)>5){ if(document.scrollingElement==null) document.documentElement.scrollTop+=t-r; else document.scrollingElement.scrollTop+=t-r; } } else document.getElementById("count").value=Kanshi2.curr; } else if(Kanshi2.retrytimes>0) Kanshi2.retrytimes--; Kanshi2.lastTop=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect().top; for(i=Kanshi2.curr+1;i<=Kanshi2.currmax;i++){ if(Kanshi2.svg[i]==null||Kanshi2.pre[i]==null){ Kanshi2.buildup(i); break; } if(Kanshi2.svg[i].style.position=="absolute"){ Kanshi2.svg[i].style.position="static"; Kanshi2.svg[i].style.visibility="visible"; } conllusvg.rewrite("pre"+i); r=Kanshi2.svg[i].getBoundingClientRect(); if(r.top-window.innerHeight-1000>0) break; } for(i=Kanshi2.curr-1;i>=0;i--){ if(Kanshi2.svg[i]==null||Kanshi2.pre[i]==null){ Kanshi2.buildup(i); break; } if(Kanshi2.svg[i].style.position=="absolute"){ if(Kanshi2.pre[i].textContent>""){ Kanshi2.svg[i].style.position="static"; Kanshi2.svg[i].style.visibility="visible"; } else break; } conllusvg.rewrite("pre"+i); r=Kanshi2.svg[Kanshi2.curr].getBoundingClientRect().top; if(Math.abs(r-Kanshi2.lastTop)>5){ if(document.scrollingElement==null) document.documentElement.scrollTop+=r-Kanshi2.lastTop; else document.scrollingElement.scrollTop+=r-Kanshi2.lastTop; Kanshi2.lastTop=r; } r=Kanshi2.svg[i].getBoundingClientRect(); if(parseInt(r.bottom,10)<-300) break; } } Kanshi2.buildup=function(x){ var t,i; if(Kanshi2.svg[x]==null){ t=document.createElementNS("http://www.w3.org/2000/svg","svg"); for(i=parseInt(x,10)+1;i<=Kanshi2.currmax;i++){ if(Kanshi2.svg[i]!=null) break; } t.style.position="absolute"; t.style.visibility="hidden"; if(i>Kanshi2.currmax) document.body.appendChild(t); else document.body.insertBefore(t,Kanshi2.svg[i]); Kanshi2.svg[x]=t; t.addEventListener("mousedown",Kanshi2.onmousedown); t.addEventListener("touchstart",Kanshi2.onmousedown); } if(Kanshi2.pre[x]==null){ t=document.createElement("pre"); t.style.display="none"; t.setAttribute("id","pre"+x); document.body.appendChild(t); Kanshi2.pre[x]=t; if(conllusvg.main["pre"+x]==null) conllusvg.view(Kanshi2.svg[x],"pre"+x); i=Kanshi2.volpath+"/"+("000"+x).slice(-3)+".txt"; conllusvg.loadRemote("pre"+x,Kanshi2.url+"files/"+encodeURIComponent(i)+"/raw?ref=master"); } } Kanshi2.volchange=function(){ var s,x; Kanshi2.clearSVG(); for(s in Kanshi2.pre){ if(Kanshi2.pre[s]!=null){ document.body.removeChild(Kanshi2.pre[s]); } Kanshi2.pre[s]=null; } s=document.getElementById("vol"); Kanshi2.volpath=s.options[s.selectedIndex].value; if(Kanshi2.tail==null) Kanshi2.tail=new Array(); if(Kanshi2.tail[Kanshi2.volpath]==null) Kanshi2.gettree(); else Kanshi2.writeSVG(); } Kanshi2.gettree=function(){ var p; if(Kanshi2.request==null){ Kanshi2.request=new XMLHttpRequest(); Kanshi2.request.onload=Kanshi2.ongettree; } if(Kanshi2.tail[Kanshi2.volpath]==null) p=1; else p=Math.floor(parseInt(Kanshi2.tail[Kanshi2.volpath],10)/100)+2; Kanshi2.request.open("GET",Kanshi2.url+"tree?per_page=100&path="+Kanshi2.volpath+"&page="+p); Kanshi2.request.send(); } Kanshi2.ongettree=function(e){ var i,s; if(Kanshi2.request.status==200){ s=Kanshi2.request.responseText; i=s.lastIndexOf('.txt"'); if(i<0) Kanshi2.writeSVG(); else{ Kanshi2.tail[Kanshi2.volpath]=s.substring(i-3,i); Kanshi2.gettree(); } } } Kanshi2.goto=function(){ Kanshi2.retrytimes=3; Kanshi2.writeSVG(); } Kanshi2.writeSVG=function(){ var c=document.getElementById("count"); Kanshi2.clearSVG(); Kanshi2.currmax=parseInt(Kanshi2.tail[Kanshi2.volpath],10); Kanshi2.curr=parseInt(c.value,10); if(Kanshi2.curr<0) Kanshi2.curr=0; if(Kanshi2.curr>Kanshi2.currmax) Kanshi2.curr=Kanshi2.currmax; c.value=Kanshi2.curr; Kanshi2.lastTop=null; } Kanshi2.clearSVG=function(){ var x; Kanshi2.curr=Kanshi2.lastTop=null; if(Kanshi2.svg!=null){ for(x in Kanshi2.svg){ if(Kanshi2.svg[x]!=null){ Kanshi2.svg[x].style.position="absolute"; Kanshi2.svg[x].style.visibility="hidden"; } } } if(document.scrollingElement==null) document.documentElement.scrollTop=0; else document.scrollingElement.scrollTop=0; } Kanshi2.onmousedown=function(e){ var x,y; if(Kanshi2.lastX==null){ Kanshi2.lastX=e.clientX; Kanshi2.lastY=e.clientY; return; } x=e.clientX-Kanshi2.lastX; y=e.clientY-Kanshi2.lastY; if(x*x+y*y>9){ Kanshi2.lastX=e.clientX; Kanshi2.lastY=e.clientY; return; } Kanshi2.lastX=null; x=e.currentTarget; for(y in Kanshi2.svg){ if(Kanshi2.svg[y]==x){ x=Kanshi2.volpath+"/"+("000"+y).slice(-3)+".txt"; window.open("editor-kanbun.html#"+Kanshi2.url+"files/"+encodeURIComponent(x)+"/raw?ref=master"); break; } } } Kanshi2.reload=function(){ var i,r; for(i=Kanshi2.curr;i<=Kanshi2.currmax;i++){ if(Kanshi2.svg[i]==null||Kanshi2.pre[i]==null) return; r=Kanshi2.svg[i].getBoundingClientRect(); if(r.top>window.innerHeight||r.bottom<0) return; r=Kanshi2.volpath+"/"+("000"+i).slice(-3)+".txt"; conllusvg.loadRemote("pre"+i,Kanshi2.url+"files/"+encodeURIComponent(r)+"/raw?ref=master"); } } Kanshi2.gitlab=function(){ var r=Kanshi2.volpath+"/"+("000"+Kanshi2.curr).slice(-3)+".txt"; window.open("/gitlab/Kanbun/ud-kanbun/blob/master/"+r); } </script> <body onload="Kanshi2.init()"> <div id="top" style="position:fixed; top:0px; left:0px; padding:10px; width:100%; background:white"> <font size="+3"><b>唐詩三百首卷一</b></font> <select id="vol" onchange="Kanshi2.volchange()"> <option value="shinshaku/046/001" selected>送吉田義卿 象山佐久間啓</option> <option value="shinshaku/046/002">辛酉二月出寺蓄髪時作 蒿齋 伴林光平 </option> <option value="shinshaku/046/003">劍舞歌</option> <option value="shinshaku/046/004">失題 江月久坂通武</option> <option value="shinshaku/046/005">題厓山樓 耕雲齋武田正生</option> <option value="shinshaku/046/006">蟹 竹外藤井啓</option> <option value="shinshaku/046/007">芳野 竹外藤井啓</option> <option value="shinshaku/046/008">花朝下澱江 竹外藤井啓</option> <option value="shinshaku/046/009">孤鶴 竹外藤井啓</option> <option value="shinshaku/046/010">風雨望寧樂 竹外藤井啓</option> <option value="shinshaku/046/011">柳 竹外藤井啓</option> <option value="shinshaku/046/012">壇浦夜泊 韡村木下業廣</option> <option value="shinshaku/046/013">山房夜雨 韡村木下業廣</option> <option value="shinshaku/046/014">山行示同志 佩川草場韡</option> <option value="shinshaku/046/015">過禁門 拙堂齋藤正謙</option> <option value="shinshaku/046/016">擬古 鐵兜河野羆</option> <option value="shinshaku/046/017">芳野 鐵兜河野羆</option> <option value="shinshaku/046/018">囚中作 東行高杉春風</option> <option value="shinshaku/046/019">述 靜觀廬森蔚</option> <option value="shinshaku/046/020">問盗 燕石日柳政章</option> <option value="shinshaku/046/021">雨中觀海棠有感 枕月雲井龍雄</option> <option value="shinshaku/046/022">釋大俊發憤時事慨然有濟度之志將歸省其親於尾州賦之以贈焉 枕月雲井龍雄</option> <option value="shinshaku/046/023">逸題 梅窓前原一誠</option> <option value="shinshaku/046/024">寄友人 弘毅齋奥平謙輔</option> <option value="shinshaku/046/025">詠伯夷叔齊 方谷山田球</option> <option value="shinshaku/046/026">偶成 南洲西郷隆盛</option> <option value="shinshaku/046/027">沖永良部島謫居中作 南洲西郷隆盛</option> <option value="shinshaku/046/028">偶成 松菊木戸孝允</option> <option value="shinshaku/046/029">偶成 松菊木戸孝允</option> <option value="shinshaku/046/030">春日山懷古 盤溪大槻淸崇</option> <option value="shinshaku/046/031">蠶婦 碧窗釋大俊</option> <option value="shinshaku/046/032">偶詠 花南丹羽賢</option> <option value="shinshaku/046/033">牡丹蝴蝶圖 紅蘭梁川晩婉</option> <option value="shinshaku/046/034">晩望 佛山村上剛</option> <option value="shinshaku/046/035">過壇浦 佛山村上剛</option> <option value="shinshaku/046/036">有人勸仕贈鯉魚 佛山村上剛</option> <option value="shinshaku/046/037">無題 佛山村上剛</option> <option value="shinshaku/046/038">掃花 聱牙土井有恪</option> <option value="shinshaku/046/039">河内途上 溪琴菊池保定</option> <option value="shinshaku/046/040">望川中島 溪琴菊池保定</option> <option value="shinshaku/046/041">白峯謁祟德帝山陵 朗廬阪谷素</option> <option value="shinshaku/046/042">那耶哥羅観瀑詩 柳北成島弘</option> <option value="shinshaku/046/043">塞昆 柳北成島弘</option> <option value="shinshaku/046/044">丙子歲晩感懷 柳北成島弘</option> <option value="shinshaku/046/045">櫻花 船山草場廉</option> <option value="shinshaku/046/046">岐阜竹枝 春濤森魯直</option> <option value="shinshaku/046/047">踰函關 春濤森魯直</option> <option value="shinshaku/046/048">侍宴恭賦 東野元田永孚</option> <option value="shinshaku/046/049">芳山楠帶刀歌 東野元田永孚</option> <option value="shinshaku/046/050">殘月杜鵑 三溪菊池純</option> <option value="shinshaku/046/051">新涼讀書 三溪菊池純</option> <option value="shinshaku/046/052">題児島高德書櫻樹圖 三溪菊池純</option> <option value="shinshaku/046/053">蘭圖 釋五嶽</option> <option value="shinshaku/046/054">題桃源圖 釋五嶽</option> <option value="shinshaku/046/055">西紅海舟中 櫻洲中井弘</option> <option value="shinshaku/046/056">西都雑詩 櫻洲中井弘</option> <option value="shinshaku/046/057">燕山雜句 三洲長〓(文字が出ません「苂」とは違うし)</option> <option value="shinshaku/046/058">過不孝嶺 鯢山山崎吉謙</option> <option value="shinshaku/046/059">偶作 甕江川田剛</option> <option value="shinshaku/046/060">書感 甕江川田剛</option> <option value="shinshaku/046/061">芳山懷古 松塘鱸元邦</option> <option value="shinshaku/046/062">落花 松塘鱸元邦</option> <option value="shinshaku/046/063">失題 海舟勝安芳</option> <option value="shinshaku/046/064">正氣歌 廣瀨武夫</option> <option value="shinshaku/046/065">偶吟 蒼海副島種臣</option> <option value="shinshaku/046/066">贈奥州佐藤平次郎 蒼海副島種臣</option> <option value="shinshaku/046/067">送鳥居素川之山東 種竹本田秀</option> <option value="shinshaku/046/068">川中島 種竹本田秀</option> <option value="shinshaku/046/069">白虎隊 豐山佐原盛純</option> <option value="shinshaku/046/070">日出 春畝伊藤博文</option> <option value="shinshaku/046/071">朱舜水先生墓 湖山小野長愿</option> <option value="shinshaku/046/072">西伯利車中作 成齊重野安繹</option> <option value="shinshaku/046/073">印度感懷 釋默雷</option> <option value="shinshaku/046/074">王昭君 栗香宮島誠一郎</option> <option value="shinshaku/046/075">暁發白河城 栗香宮島誠一郎</option> <option value="shinshaku/046/076">湖上次韻 槐南森公泰</option> <option value="shinshaku/046/077">牛蠱行 筠軒大須賀履</option> <option value="shinshaku/046/078">題畫一 筠軒大須賀履</option> <option value="shinshaku/046/079">題畫二 筠軒大須賀履</option> <option value="shinshaku/046/080">詠富岳 石樵乃木希典</option> <option value="shinshaku/046/081">金州城下作 石樵乃木希典</option> <option value="shinshaku/046/082">凱旋有感 石樵乃木希典</option> <option value="shinshaku/046/083">城山 琴石西喜大</option> <option value="shinshaku/046/084">詠史 省軒龜谷行</option> <option value="shinshaku/046/085">曝書 省軒龜谷行</option> <option value="shinshaku/046/086">磯濱登望洋樓 中洲三島毅</option> <option value="shinshaku/046/087">失題 火海古莊惟正</option> <option value="shinshaku/046/088">題近江八景圖 佚名氏</option> <option value="shinshaku/046/089">春興 漱石夏目金之助</option> <option value="shinshaku/046/090">武侯墓 井井竹添光鴻</option> <option value="shinshaku/046/091">送人歸長崎 井井竹添光鴻</option> <option value="shinshaku/046/092">雙殉行 井井竹添光鴻</option> <option value="shinshaku/046/093">自訟 梅窓杉浦重剛</option> <option value="shinshaku/046/094">山居雨後 鳳洲土屋弘</option> <option value="shinshaku/046/095">萬里長城 碧堂田邊華</option> <option value="shinshaku/046/096">漫成一 東陵石田羊一郎</option> <option value="shinshaku/046/097">漫成二 東陵石田羊一郎</option> <option value="shinshaku/046/098">漫成三 東陵石田羊一郎</option> <option value="shinshaku/046/099">猛虎行 東陵石田羊一郎</option> <option value="shinshaku/046/100">過江北古戰場 湖南内藤虎次郎</option> <option value="shinshaku/046/101">那須野 天随久保得二</option> <option value="shinshaku/046/102">方廣寺古鐘 天随久保得二</option> <option value="shinshaku/046/103">黨人歎 朴堂安井朝康</option> <option value="shinshaku/046/104">松島 裳川岩溪晉</option> <option value="shinshaku/046/105">芳野懷古一 靑厓國分高胤</option> <option value="shinshaku/046/106">芳野懷古二 靑厓國分高胤</option> <option value="shinshaku/046/107">唯射利 靑厓國分高胤</option> <option value="shinshaku/046/108">古意 天行松平康國</option> <option value="shinshaku/046/109">稲葉一轍 天行松平康國</option> <option value="shinshaku/046/110">咏史 天行松平康國</option> <option value="shinshaku/046/111">山中卽事 器堂市村瓚次郎</option> <option value="shinshaku/046/112">石田三成 雪山川田瑞穂</option> <option value="shinshaku/046/113">曝書 濟齊山田準</option> <option value="shinshaku/046/114">病中雑吟一 紫陽平野彥次郎</option> <option value="shinshaku/046/115">病中雑吟二 紫陽平野彥次郎</option> <option value="shinshaku/046/116">京都東山 蘇峯德富正敬</option> <option value="shinshaku/046/117">我孫子贈友 蘇峯德富正敬</option> <option value="shinshaku/046/118">芳山懷古 天淵加藤虎之亮</option> <option value="shinshaku/046/119">芳山懷古 竹雨土屋久泰</option> <option value="shinshaku/046/120">題畫 竹雨土屋久泰</option> <option value="shinshaku/046/121">山海関 竹雨土屋久泰</option> <option value="shinshaku/046/122">山楼卽事 竹雨土屋久泰</option> <option value="shinshaku/046/123">原爆行 竹雨土屋久泰</option> <option value="shinshaku/046/124">埃及懷古 節山鹽谷溫</option> <option value="shinshaku/046/125">癸巳歲晩書懷 豹軒鈴木虎雄</option> <option value="shinshaku/046/126">屋島懷古 草丘磯部覺太</option> </select> <input type="text" id="count" size=3 value=0 style="text-align:right" onchange="Kanshi2.goto()" /> <input type="button" value="GitLab" onclick="Kanshi2.gitlab()" /> <input type="button" value="Reload" onclick="Kanshi2.reload()" /> <a href="NihonKanshi1.html">上</a> </div> </body>