Commit 47119119 authored by Koichi Yasuoka's avatar Koichi Yasuoka
Browse files

initial release

parent 8e1b43b4
Loading
Loading
Loading
Loading
+325 −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 Tangshi=new Object();
Tangshi.url="/gitlab/api/v4/projects/Kanbun%2Fud-kanbun/repository/";
Tangshi.init=function(){
  var t=document.getElementById("top").cloneNode(true);
  t.style.position="static";
  t.style.visibility="hidden";
  document.body.appendChild(t);
  Tangshi.svg=new Array();
  Tangshi.pre=new Array();
  Tangshi.timer=setTimeout("clearTimeout(Tangshi.timer);Tangshi.checkview()",200);
  Tangshi.volchange();
}
Tangshi.checkview=function(){
  var t,r,b,i,x;
  Tangshi.timer=setTimeout("clearTimeout(Tangshi.timer);Tangshi.checkview()",200);
  if(Tangshi.curr==null)
    return;
  if(Tangshi.svg[Tangshi.curr]==null||Tangshi.pre[Tangshi.curr]==null){
    Tangshi.buildup(Tangshi.curr);
    Tangshi.lastTop=null;
    return;
  }
  if(Tangshi.svg[Tangshi.curr].style.position=="absolute"){
    Tangshi.svg[Tangshi.curr].style.position="static";
    Tangshi.svg[Tangshi.curr].style.visibility="visible";
  }
  conllusvg.rewrite("pre"+Tangshi.curr);
  r=Tangshi.svg[Tangshi.curr].getBoundingClientRect();
  t=r.top;
  b=r.bottom;
  r=document.getElementById("top").getBoundingClientRect().bottom;
  x=Tangshi.curr;
  if(t-r>20){
    while(t-r>0){
      i=Tangshi.svg[Tangshi.curr-1];
      if(i==null)
	break;
      if(i.style.position=="absolute")
	break;
      Tangshi.curr--;
      if(Tangshi.curr==0)
	break;
      t=i.getBoundingClientRect().top;
    }
  }
  else if(b<r){
    while(b<r){
      i=Tangshi.svg[Tangshi.curr+1];
      if(i==null)
	break;
      if(i.style.position=="absolute")
        break;
      Tangshi.curr++;
      if(Tangshi.curr==Tangshi.currmax)
	break;
      b=i.getBoundingClientRect().bottom;
    }
  }
  if(Tangshi.curr!=x){
    if(Tangshi.retrytimes>0){
      Tangshi.retrytimes--;
      Tangshi.curr=parseInt(document.getElementById("count").value,10);
      t=Tangshi.svg[Tangshi.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=Tangshi.curr;
  }
  else if(Tangshi.retrytimes>0)
    Tangshi.retrytimes--;
  Tangshi.lastTop=Tangshi.svg[Tangshi.curr].getBoundingClientRect().top;
  for(i=Tangshi.curr+1;i<=Tangshi.currmax;i++){
    if(Tangshi.svg[i]==null||Tangshi.pre[i]==null){
      Tangshi.buildup(i);
      break;
    }
    if(Tangshi.svg[i].style.position=="absolute"){
      Tangshi.svg[i].style.position="static";
      Tangshi.svg[i].style.visibility="visible";
    }
    conllusvg.rewrite("pre"+i);
    r=Tangshi.svg[i].getBoundingClientRect();
    if(r.top-window.innerHeight-1000>0)
      break;
  }
  for(i=Tangshi.curr-1;i>=0;i--){
    if(Tangshi.svg[i]==null||Tangshi.pre[i]==null){
      Tangshi.buildup(i);
      break;
    }
    if(Tangshi.svg[i].style.position=="absolute"){
      if(Tangshi.pre[i].textContent>""){
	Tangshi.svg[i].style.position="static";
	Tangshi.svg[i].style.visibility="visible";
      }
      else
	break;
    }
    conllusvg.rewrite("pre"+i);
    r=Tangshi.svg[Tangshi.curr].getBoundingClientRect().top;
    if(Math.abs(r-Tangshi.lastTop)>5){
      if(document.scrollingElement==null)
        document.documentElement.scrollTop+=r-Tangshi.lastTop;
      else
        document.scrollingElement.scrollTop+=r-Tangshi.lastTop;
      Tangshi.lastTop=r;
    }
    r=Tangshi.svg[i].getBoundingClientRect();
    if(parseInt(r.bottom,10)<-300)
      break;
  }
}
Tangshi.buildup=function(x){
  var t,i;
  if(Tangshi.svg[x]==null){
    t=document.createElementNS("http://www.w3.org/2000/svg","svg");
    for(i=parseInt(x,10)+1;i<=Tangshi.currmax;i++){
      if(Tangshi.svg[i]!=null)
	break;
    }
    t.style.position="absolute";
    t.style.visibility="hidden";
    if(i>Tangshi.currmax)
      document.body.appendChild(t);
    else
      document.body.insertBefore(t,Tangshi.svg[i]);
    Tangshi.svg[x]=t;
    t.addEventListener("mousedown",Tangshi.onmousedown);
    t.addEventListener("touchstart",Tangshi.onmousedown);
  }
  if(Tangshi.pre[x]==null){
    t=document.createElement("pre");
    t.style.display="none";
    t.setAttribute("id","pre"+x);
    document.body.appendChild(t);
    Tangshi.pre[x]=t;
    if(conllusvg.main["pre"+x]==null)
      conllusvg.view(Tangshi.svg[x],"pre"+x);
    i=Tangshi.volpath+"/"+("000"+x).slice(-3)+".txt";
    conllusvg.loadRemote("pre"+x,Tangshi.url+"files/"+encodeURIComponent(i)+"/raw?ref=master");
  }
}
Tangshi.volchange=function(){
  var s,x;
  Tangshi.clearSVG();
  for(s in Tangshi.pre){
    if(Tangshi.pre[s]!=null){
      document.body.removeChild(Tangshi.pre[s]);
    }
    Tangshi.pre[s]=null;
  }
  s=document.getElementById("vol");
  Tangshi.volpath=s.options[s.selectedIndex].value;
  if(Tangshi.tail==null)
    Tangshi.tail=new Array();
  if(Tangshi.tail[Tangshi.volpath]==null)
    Tangshi.gettree();
  else
    Tangshi.writeSVG();
}
Tangshi.gettree=function(){
  var p;
  if(Tangshi.request==null){
    Tangshi.request=new XMLHttpRequest();
    Tangshi.request.onload=Tangshi.ongettree;
  }
  if(Tangshi.tail[Tangshi.volpath]==null)
    p=1;
  else
    p=Math.floor(parseInt(Tangshi.tail[Tangshi.volpath],10)/100)+2;
  Tangshi.request.open("GET",Tangshi.url+"tree?per_page=100&path="+Tangshi.volpath+"&page="+p);
  Tangshi.request.send();
}
Tangshi.ongettree=function(e){
  var i,s;
  if(Tangshi.request.status==200){
    s=Tangshi.request.responseText;
    i=s.lastIndexOf('.txt"');
    if(i<0)
      Tangshi.writeSVG();
    else{
      Tangshi.tail[Tangshi.volpath]=s.substring(i-3,i);
      Tangshi.gettree();
    }
  }
}
Tangshi.goto=function(){
  Tangshi.retrytimes=3;
  Tangshi.writeSVG();
}
Tangshi.writeSVG=function(){
  var c=document.getElementById("count");
  Tangshi.clearSVG();
  Tangshi.currmax=parseInt(Tangshi.tail[Tangshi.volpath],10);
  Tangshi.curr=parseInt(c.value,10);
  if(Tangshi.curr<0)
    Tangshi.curr=0;
  if(Tangshi.curr>Tangshi.currmax)
    Tangshi.curr=Tangshi.currmax;
  c.value=Tangshi.curr;
  Tangshi.lastTop=null;
}
Tangshi.clearSVG=function(){
  var x;
  Tangshi.curr=Tangshi.lastTop=null;
  if(Tangshi.svg!=null){
    for(x in Tangshi.svg){
      if(Tangshi.svg[x]!=null){
	Tangshi.svg[x].style.position="absolute";
	Tangshi.svg[x].style.visibility="hidden";
      }
    }
  }
  if(document.scrollingElement==null)
    document.documentElement.scrollTop=0;
  else
    document.scrollingElement.scrollTop=0;
}
Tangshi.onmousedown=function(e){
  var x,y;
  if(Tangshi.lastX==null){
    Tangshi.lastX=e.clientX;
    Tangshi.lastY=e.clientY;
    return;
  }
  x=e.clientX-Tangshi.lastX;
  y=e.clientY-Tangshi.lastY;
  if(x*x+y*y>9){
    Tangshi.lastX=e.clientX;
    Tangshi.lastY=e.clientY;
    return;
  }
  Tangshi.lastX=null;
  x=e.currentTarget;
  for(y in Tangshi.svg){
    if(Tangshi.svg[y]==x){
      x=Tangshi.volpath+"/"+("000"+y).slice(-3)+".txt";
      window.open("editor-kanbun.html#"+Tangshi.url+"files/"+encodeURIComponent(x)+"/raw?ref=master");
      break;
    }
  }
}
Tangshi.reload=function(){
  var i,r;
  for(i=Tangshi.curr;i<=Tangshi.currmax;i++){
    if(Tangshi.svg[i]==null||Tangshi.pre[i]==null)
      return;
    r=Tangshi.svg[i].getBoundingClientRect();
    if(r.top>window.innerHeight||r.bottom<0)
      return;
    r=Tangshi.volpath+"/"+("000"+i).slice(-3)+".txt";
    conllusvg.loadRemote("pre"+i,Tangshi.url+"files/"+encodeURIComponent(r)+"/raw?ref=master");
  }
}
Tangshi.gitlab=function(){
  var r=Tangshi.volpath+"/"+("000"+Tangshi.curr).slice(-3)+".txt";
  window.open("/gitlab/Kanbun/ud-kanbun/blob/master/"+r);
}
</script>
<body onload="Tangshi.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="Tangshi.volchange()">
<option value="kanripo/kR4h0169/001" selected>張九齡 感遇四首之一</option>
<option value="kanripo/kR4h0169/002">張九齡 感遇四首之二</option>
<option value="kanripo/kR4h0169/003">張九齡 感遇四首之三</option>
<option value="kanripo/kR4h0169/004">張九齡 感遇四首之四</option>
<option value="kanripo/kR4h0169/005">李白 下終南山過斛斯山人宿置酒</option>
<option value="kanripo/kR4h0169/006">李白 月下獨酌</option>
<option value="kanripo/kR4h0169/007">李白 春思</option>
<option value="kanripo/kR4h0169/008">杜甫 望嶽</option>
<option value="kanripo/kR4h0169/009">杜甫 贈衛八處士</option>
<option value="kanripo/kR4h0169/010">杜甫 佳人</option>
<option value="kanripo/kR4h0169/011">杜甫 夢李白二首之一</option>
<option value="kanripo/kR4h0169/012">杜甫 夢李白二首之二</option>
<option value="kanripo/kR4h0169/013">王維 送別</option>
<option value="kanripo/kR4h0169/014">王維 送綦毋潛落第還鄉</option>
<option value="kanripo/kR4h0169/015">王維 青谿</option>
<option value="kanripo/kR4h0169/016">王維 渭川田家</option>
<option value="kanripo/kR4h0169/017">王維 西施詠</option>
<option value="kanripo/kR4h0169/018">孟浩然 秋登蘭山寄張五</option>
<option value="kanripo/kR4h0169/019">孟浩然 夏日南亭懷辛大</option>
<option value="kanripo/kR4h0169/020">孟浩然 宿業師山房待丁大不至</option>
<option value="kanripo/kR4h0169/021">王昌齡 同從弟南齋翫月憶山陰崔少府</option>
<option value="kanripo/kR4h0169/022">邱為 尋西山隱者不遇</option>
<option value="kanripo/kR4h0169/023">綦毋潛 春泛若耶溪</option>
<option value="kanripo/kR4h0169/024">常建 宿王昌齡隱居</option>
<option value="kanripo/kR4h0169/025">岑參 與高適薛據登慈恩寺浮圖</option>
<option value="kanripo/kR4h0169/026">元結 賊退示官吏</option>
<option value="kanripo/kR4h0169/027">韋應物 郡齋雨中與諸文士燕集</option>
<option value="kanripo/kR4h0169/028">韋應物 初發揚子寄元大校書</option>
<option value="kanripo/kR4h0169/029">韋應物 寄全椒山中道士</option>
<option value="kanripo/kR4h0169/030">韋應物 長安遇馮著</option>
<option value="kanripo/kR4h0169/031">韋應物 夕次盱眙縣</option>
<option value="kanripo/kR4h0169/032">韋應物 東郊</option>
<option value="kanripo/kR4h0169/033">韋應物 送楊氏女</option>
<option value="kanripo/kR4h0169/034">柳宗元 晨詣超師院讀禪經</option>
<option value="kanripo/kR4h0169/035">柳宗元 溪居</option>
<option value="kanripo/kR4h0169/036">王昌齡 塞上曲</option>
<option value="kanripo/kR4h0169/037">王昌齡 塞下曲</option>
<option value="kanripo/kR4h0169/038">李白 關山月</option>
<option value="kanripo/kR4h0169/039">李白 子夜四時歌 春歌</option>
<option value="kanripo/kR4h0169/040">李白 子夜四時歌 夏歌</option>
<option value="kanripo/kR4h0169/041">李白 子夜四時歌 秋歌</option>
<option value="kanripo/kR4h0169/042">李白 子夜四時歌 冬歌</option>
<option value="kanripo/kR4h0169/043">李白 長干行</option>
<option value="kanripo/kR4h0169/044">孟郊 烈女操</option>
<option value="kanripo/kR4h0169/045">孟郊 遊子吟</option>
</select>
<input type="text" id="count" size=3 value=0 style="text-align:right" onchange="Tangshi.goto()" />
<input type="button" value="GitLab" onclick="Tangshi.gitlab()" />
<input type="button" value="Reload" onclick="Tangshi.reload()" />
</div>
</body>
+324 −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 Tangshi=new Object();
Tangshi.url="/gitlab/api/v4/projects/Kanbun%2Fud-kanbun/repository/";
Tangshi.init=function(){
  var t=document.getElementById("top").cloneNode(true);
  t.style.position="static";
  t.style.visibility="hidden";
  document.body.appendChild(t);
  Tangshi.svg=new Array();
  Tangshi.pre=new Array();
  Tangshi.timer=setTimeout("clearTimeout(Tangshi.timer);Tangshi.checkview()",200);
  Tangshi.volchange();
}
Tangshi.checkview=function(){
  var t,r,b,i,x;
  Tangshi.timer=setTimeout("clearTimeout(Tangshi.timer);Tangshi.checkview()",200);
  if(Tangshi.curr==null)
    return;
  if(Tangshi.svg[Tangshi.curr]==null||Tangshi.pre[Tangshi.curr]==null){
    Tangshi.buildup(Tangshi.curr);
    Tangshi.lastTop=null;
    return;
  }
  if(Tangshi.svg[Tangshi.curr].style.position=="absolute"){
    Tangshi.svg[Tangshi.curr].style.position="static";
    Tangshi.svg[Tangshi.curr].style.visibility="visible";
  }
  conllusvg.rewrite("pre"+Tangshi.curr);
  r=Tangshi.svg[Tangshi.curr].getBoundingClientRect();
  t=r.top;
  b=r.bottom;
  r=document.getElementById("top").getBoundingClientRect().bottom;
  x=Tangshi.curr;
  if(t-r>20){
    while(t-r>0){
      i=Tangshi.svg[Tangshi.curr-1];
      if(i==null)
	break;
      if(i.style.position=="absolute")
	break;
      Tangshi.curr--;
      if(Tangshi.curr==0)
	break;
      t=i.getBoundingClientRect().top;
    }
  }
  else if(b<r){
    while(b<r){
      i=Tangshi.svg[Tangshi.curr+1];
      if(i==null)
	break;
      if(i.style.position=="absolute")
        break;
      Tangshi.curr++;
      if(Tangshi.curr==Tangshi.currmax)
	break;
      b=i.getBoundingClientRect().bottom;
    }
  }
  if(Tangshi.curr!=x){
    if(Tangshi.retrytimes>0){
      Tangshi.retrytimes--;
      Tangshi.curr=parseInt(document.getElementById("count").value,10);
      t=Tangshi.svg[Tangshi.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=Tangshi.curr;
  }
  else if(Tangshi.retrytimes>0)
    Tangshi.retrytimes--;
  Tangshi.lastTop=Tangshi.svg[Tangshi.curr].getBoundingClientRect().top;
  for(i=Tangshi.curr+1;i<=Tangshi.currmax;i++){
    if(Tangshi.svg[i]==null||Tangshi.pre[i]==null){
      Tangshi.buildup(i);
      break;
    }
    if(Tangshi.svg[i].style.position=="absolute"){
      Tangshi.svg[i].style.position="static";
      Tangshi.svg[i].style.visibility="visible";
    }
    conllusvg.rewrite("pre"+i);
    r=Tangshi.svg[i].getBoundingClientRect();
    if(r.top-window.innerHeight-1000>0)
      break;
  }
  for(i=Tangshi.curr-1;i>=0;i--){
    if(Tangshi.svg[i]==null||Tangshi.pre[i]==null){
      Tangshi.buildup(i);
      break;
    }
    if(Tangshi.svg[i].style.position=="absolute"){
      if(Tangshi.pre[i].textContent>""){
	Tangshi.svg[i].style.position="static";
	Tangshi.svg[i].style.visibility="visible";
      }
      else
	break;
    }
    conllusvg.rewrite("pre"+i);
    r=Tangshi.svg[Tangshi.curr].getBoundingClientRect().top;
    if(Math.abs(r-Tangshi.lastTop)>5){
      if(document.scrollingElement==null)
        document.documentElement.scrollTop+=r-Tangshi.lastTop;
      else
        document.scrollingElement.scrollTop+=r-Tangshi.lastTop;
      Tangshi.lastTop=r;
    }
    r=Tangshi.svg[i].getBoundingClientRect();
    if(parseInt(r.bottom,10)<-300)
      break;
  }
}
Tangshi.buildup=function(x){
  var t,i;
  if(Tangshi.svg[x]==null){
    t=document.createElementNS("http://www.w3.org/2000/svg","svg");
    for(i=parseInt(x,10)+1;i<=Tangshi.currmax;i++){
      if(Tangshi.svg[i]!=null)
	break;
    }
    t.style.position="absolute";
    t.style.visibility="hidden";
    if(i>Tangshi.currmax)
      document.body.appendChild(t);
    else
      document.body.insertBefore(t,Tangshi.svg[i]);
    Tangshi.svg[x]=t;
    t.addEventListener("mousedown",Tangshi.onmousedown);
    t.addEventListener("touchstart",Tangshi.onmousedown);
  }
  if(Tangshi.pre[x]==null){
    t=document.createElement("pre");
    t.style.display="none";
    t.setAttribute("id","pre"+x);
    document.body.appendChild(t);
    Tangshi.pre[x]=t;
    if(conllusvg.main["pre"+x]==null)
      conllusvg.view(Tangshi.svg[x],"pre"+x);
    i=Tangshi.volpath+"/"+("000"+x).slice(-3)+".txt";
    conllusvg.loadRemote("pre"+x,Tangshi.url+"files/"+encodeURIComponent(i)+"/raw?ref=master");
  }
}
Tangshi.volchange=function(){
  var s,x;
  Tangshi.clearSVG();
  for(s in Tangshi.pre){
    if(Tangshi.pre[s]!=null){
      document.body.removeChild(Tangshi.pre[s]);
    }
    Tangshi.pre[s]=null;
  }
  s=document.getElementById("vol");
  Tangshi.volpath=s.options[s.selectedIndex].value;
  if(Tangshi.tail==null)
    Tangshi.tail=new Array();
  if(Tangshi.tail[Tangshi.volpath]==null)
    Tangshi.gettree();
  else
    Tangshi.writeSVG();
}
Tangshi.gettree=function(){
  var p;
  if(Tangshi.request==null){
    Tangshi.request=new XMLHttpRequest();
    Tangshi.request.onload=Tangshi.ongettree;
  }
  if(Tangshi.tail[Tangshi.volpath]==null)
    p=1;
  else
    p=Math.floor(parseInt(Tangshi.tail[Tangshi.volpath],10)/100)+2;
  Tangshi.request.open("GET",Tangshi.url+"tree?per_page=100&path="+Tangshi.volpath+"&page="+p);
  Tangshi.request.send();
}
Tangshi.ongettree=function(e){
  var i,s;
  if(Tangshi.request.status==200){
    s=Tangshi.request.responseText;
    i=s.lastIndexOf('.txt"');
    if(i<0)
      Tangshi.writeSVG();
    else{
      Tangshi.tail[Tangshi.volpath]=s.substring(i-3,i);
      Tangshi.gettree();
    }
  }
}
Tangshi.goto=function(){
  Tangshi.retrytimes=3;
  Tangshi.writeSVG();
}
Tangshi.writeSVG=function(){
  var c=document.getElementById("count");
  Tangshi.clearSVG();
  Tangshi.currmax=parseInt(Tangshi.tail[Tangshi.volpath],10);
  Tangshi.curr=parseInt(c.value,10);
  if(Tangshi.curr<0)
    Tangshi.curr=0;
  if(Tangshi.curr>Tangshi.currmax)
    Tangshi.curr=Tangshi.currmax;
  c.value=Tangshi.curr;
  Tangshi.lastTop=null;
}
Tangshi.clearSVG=function(){
  var x;
  Tangshi.curr=Tangshi.lastTop=null;
  if(Tangshi.svg!=null){
    for(x in Tangshi.svg){
      if(Tangshi.svg[x]!=null){
	Tangshi.svg[x].style.position="absolute";
	Tangshi.svg[x].style.visibility="hidden";
      }
    }
  }
  if(document.scrollingElement==null)
    document.documentElement.scrollTop=0;
  else
    document.scrollingElement.scrollTop=0;
}
Tangshi.onmousedown=function(e){
  var x,y;
  if(Tangshi.lastX==null){
    Tangshi.lastX=e.clientX;
    Tangshi.lastY=e.clientY;
    return;
  }
  x=e.clientX-Tangshi.lastX;
  y=e.clientY-Tangshi.lastY;
  if(x*x+y*y>9){
    Tangshi.lastX=e.clientX;
    Tangshi.lastY=e.clientY;
    return;
  }
  Tangshi.lastX=null;
  x=e.currentTarget;
  for(y in Tangshi.svg){
    if(Tangshi.svg[y]==x){
      x=Tangshi.volpath+"/"+("000"+y).slice(-3)+".txt";
      window.open("editor-kanbun.html#"+Tangshi.url+"files/"+encodeURIComponent(x)+"/raw?ref=master");
      break;
    }
  }
}
Tangshi.reload=function(){
  var i,r;
  for(i=Tangshi.curr;i<=Tangshi.currmax;i++){
    if(Tangshi.svg[i]==null||Tangshi.pre[i]==null)
      return;
    r=Tangshi.svg[i].getBoundingClientRect();
    if(r.top>window.innerHeight||r.bottom<0)
      return;
    r=Tangshi.volpath+"/"+("000"+i).slice(-3)+".txt";
    conllusvg.loadRemote("pre"+i,Tangshi.url+"files/"+encodeURIComponent(r)+"/raw?ref=master");
  }
}
Tangshi.gitlab=function(){
  var r=Tangshi.volpath+"/"+("000"+Tangshi.curr).slice(-3)+".txt";
  window.open("/gitlab/Kanbun/ud-kanbun/blob/master/"+r);
}
</script>
<body onload="Tangshi.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="Tangshi.volchange()">
<option value="kanripo/kR4h0169/046" selected>陳子昂 登幽州臺歌</option>
<option value="kanripo/kR4h0169/047">李頎 古意</option>
<option value="kanripo/kR4h0169/048">李頎 送陳章甫</option>
<option value="kanripo/kR4h0169/049">李頎 琴歌</option>
<option value="kanripo/kR4h0169/050">李頎 聽董大彈胡笳聲兼寄語弄房給事</option>
<option value="kanripo/kR4h0169/051">李頎 聽安萬善吹觱篥歌</option>
<option value="kanripo/kR4h0169/052">孟浩然 夜歸鹿門山歌</option>
<option value="kanripo/kR4h0169/053">李白 廬山謠寄盧侍御虛舟</option>
<option value="kanripo/kR4h0169/054">李白 夢遊天姥吟留別</option>
<option value="kanripo/kR4h0169/055">李白 金陵酒肆留別</option>
<option value="kanripo/kR4h0169/056">李白 宣州謝朓樓餞別校書叔雲</option>
<option value="kanripo/kR4h0169/057">岑參 走馬川行奉送封大夫出師西征</option>
<option value="kanripo/kR4h0169/058">岑參 輪臺歌奉送封大夫出師西征</option>
<option value="kanripo/kR4h0169/059">岑參 白雪歌送武判官歸京</option>
<option value="kanripo/kR4h0169/060">杜甫 韋諷錄事宅觀曹將軍畫馬圖</option>
<option value="kanripo/kR4h0169/061">杜甫 丹青引贈曹霸將軍</option>
<option value="kanripo/kR4h0169/062">杜甫 寄韓諫議</option>
<option value="kanripo/kR4h0169/063">杜甫 古柏行</option>
<option value="kanripo/kR4h0169/064">杜甫 觀公孫大娘弟子舞劍器行</option>
<option value="kanripo/kR4h0169/065">元結 石魚湖上醉歌</option>
<option value="kanripo/kR4h0169/066">韓愈 山石</option>
<option value="kanripo/kR4h0169/067">韓愈 八月十五夜贈張功曹</option>
<option value="kanripo/kR4h0169/068">韓愈 謁衡嶽廟遂宿嶽寺題門樓</option>
<option value="kanripo/kR4h0169/069">韓愈 石鼓歌</option>
<option value="kanripo/kR4h0169/070">柳宗元 漁翁</option>
<option value="kanripo/kR4h0169/071">白居易 長恨歌</option>
<option value="kanripo/kR4h0169/072">白居易 琵琶行</option>
<option value="kanripo/kR4h0169/073">李商隱 韓碑</option>
<option value="kanripo/kR4h0169/074">高適 燕歌行</option>
<option value="kanripo/kR4h0169/075">李頎 古從軍行</option>
<option value="kanripo/kR4h0169/076">王維 洛陽女兒行</option>
<option value="kanripo/kR4h0169/077">王維 老將行</option>
<option value="kanripo/kR4h0169/078">王維 桃源行</option>
<option value="kanripo/kR4h0169/079">李白 蜀道難</option>
<option value="kanripo/kR4h0169/080">李白 長相思二首之一</option>
<option value="kanripo/kR4h0169/081">李白 長相思二首之二</option>
<option value="kanripo/kR4h0169/082">李白 行路難三首之一</option>
<option value="kanripo/kR4h0169/083">李白 行路難三首之二</option>
<option value="kanripo/kR4h0169/084">李白 行路難三首之三</option>
<option value="kanripo/kR4h0169/085">李白 將進酒</option>
<option value="kanripo/kR4h0169/086">杜甫 兵車行</option>
<option value="kanripo/kR4h0169/087">杜甫 麗人行</option>
<option value="kanripo/kR4h0169/088">杜甫 哀江頭</option>
<option value="kanripo/kR4h0169/089">杜甫 哀王孫</option>
</select>
<input type="text" id="count" size=3 value=0 style="text-align:right" onchange="Tangshi.goto()" />
<input type="button" value="GitLab" onclick="Tangshi.gitlab()" />
<input type="button" value="Reload" onclick="Tangshi.reload()" />
</div>
</body>
+360 −0

File added.

Preview size limit exceeded, changes collapsed.

+334 −0

File added.

Preview size limit exceeded, changes collapsed.

+317 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading