Ver código fonte

Merge pull request #848 from visuddhinanda/laravel

参照dpr修正目录
visuddhinanda 3 anos atrás
pai
commit
60f56ee4e3
34 arquivos alterados com 3945 adições e 3395 exclusões
  1. 26 20
      app/Console/Commands/UpgradePaliText.php
  2. 17 5
      app/Http/Controllers/SentenceInfoController.php
  3. 46 16
      public/app/article/article.js
  4. 20 8
      public/app/install/db_update_palitext_cli.php
  5. 265 0
      public/app/palicanon/category/cscd.json
  6. 258 0
      public/app/palicanon/category/defualt.json
  7. 10 0
      public/app/palicanon/category/index.json
  8. 211 0
      public/app/palicanon/index1.php
  9. 202 33
      public/app/palicanon/palicanon.js
  10. 14 1
      public/app/palicanon/style.css
  11. 1 1
      public/app/public/book_tag/en.json
  12. 28 10
      public/app/reader/get_para1.php
  13. 34 88
      public/app/term/note.js
  14. 24 24
      public/pali_title/172_pali.csv
  15. 18 18
      public/pali_title/173_pali.csv
  16. 183 183
      public/pali_title/174_pali.csv
  17. 25 25
      public/pali_title/175_pali.csv
  18. 212 212
      public/pali_title/176_pali.csv
  19. 36 36
      public/pali_title/209_pali.csv
  20. 21 21
      public/pali_title/214_pali.csv
  21. 0 101
      public/pali_title/64-pali.csv
  22. 0 579
      public/pali_title/64.txt
  23. 32 32
      public/pali_title/64_pali.csv
  24. 54 54
      public/pali_title/65_pali.csv
  25. 7 7
      public/pali_title/66_pali.csv
  26. 6 6
      public/pali_title/67_pali.csv
  27. 518 518
      public/pali_title/73_pali.csv
  28. 296 296
      public/pali_title/77_pali.csv
  29. 780 780
      public/pali_title/79_pali.csv
  30. 76 76
      public/pali_title/96_pali.csv
  31. 5 5
      public/pali_title/97_pali.csv
  32. 12 12
      public/pali_title/98_pali.csv
  33. 280 0
      public/pali_title/change-log.csv
  34. 228 228
      public/pali_title/pali_serieses.csv

+ 26 - 20
app/Console/Commands/UpgradePaliText.php

@@ -121,26 +121,32 @@ class UpgradePaliText extends Command
 						$length = $paragraph_count - $paragraph + 1;
 						$length = $paragraph_count - $paragraph + 1;
 					}
 					}
 
 
-
-					$prev = -1;
-					if ($iPar > 0) {
-						for ($iPar1 = $iPar - 1; $iPar1 >= 0; $iPar1--) {
-							if ($title_data[$iPar1]["level"] == $curr_level) {
-								$prev = $title_data[$iPar1]["paragraph"];
-								break;
-							}
-						}
-					}
-
-					$next = -1;
-					if ($iPar < count($title_data) - 1) {
-						for ($iPar1 = $iPar + 1; $iPar1 < count($title_data); $iPar1++) {
-							if ($title_data[$iPar1]["level"] == $curr_level) {
-								$next = $title_data[$iPar1]["paragraph"];
-								break;
-							}
-						}
-					}
+                    /*
+                    上一个段落
+                    算法:查找上一个标题段落。而且该标题段落的下一个段落不是标题段落
+                    */
+                    $prev = -1;
+                    if ($iPar > 0) {
+                        for ($iPar1 = $iPar - 1; $iPar1 >= 0; $iPar1--) {
+                            if ($title_data[$iPar1]["level"] < 8 && $title_data[$iPar1+1]["level"]==100) {
+                                $prev = $title_data[$iPar1]["paragraph"];
+                                break;
+                            }
+                        }
+                    }
+                    /*
+                    下一个段落
+                    算法:查找下一个标题段落。而且该标题段落的下一个段落不是标题段落
+                    */
+                    $next = -1;
+                    if ($iPar < count($title_data) - 1) {
+                        for ($iPar1 = $iPar + 1; $iPar1 < count($title_data)-1; $iPar1++) {
+                            if ($title_data[$iPar1]["level"] <8 && $title_data[$iPar1+1]["level"]==100) {
+                                $next = $title_data[$iPar1]["paragraph"];
+                                break;
+                            }
+                        }
+                    }
 
 
 					$parent = -1;
 					$parent = -1;
 					if ($iPar > 0) {
 					if ($iPar > 0) {

+ 17 - 5
app/Http/Controllers/SentenceInfoController.php

@@ -89,7 +89,7 @@ class SentenceInfoController extends Controller
         $percent = 0;
         $percent = 0;
         if(($view==='page' && !empty($request->get('pages'))) || $view==='percent' ){
         if(($view==='page' && !empty($request->get('pages'))) || $view==='percent' ){
             #计算完成的句子在巴利语句子表中的字符串长度百分比
             #计算完成的句子在巴利语句子表中的字符串长度百分比
-            $db = Sentence::select(['paragraph','word_start'])
+            $db = Sentence::select(['book_id','paragraph','word_start','word_end'])
                 ->where('channel_uid',$request->get('channel'))
                 ->where('channel_uid',$request->get('channel'))
                 ->where('book_id','>=',$request->get('book'))
                 ->where('book_id','>=',$request->get('book'))
                 ->where('paragraph','>=',$request->get('from'))
                 ->where('paragraph','>=',$request->get('from'))
@@ -106,10 +106,22 @@ class SentenceInfoController extends Controller
             $para_strlen = 0;
             $para_strlen = 0;
             foreach ($sentFinished as $sent) {
             foreach ($sentFinished as $sent) {
                 # code...
                 # code...
-                $para_strlen += PaliSentence::where('book',$request->get('book'))
-                            ->where('paragraph',$sent->paragraph)
-                            ->where('word_begin',$sent->word_start)
-                            ->value('length');
+                if($request->get('cache')=="1"){
+                    $key_sent_id = $sent->book_id.'-'.$sent->paragraph.'-'.$sent->word_start.'-'.$sent->word_end;
+                    $para_strlen += Cache::get(env('REDIS_NAMESPACE').'pali-sent/strlen/'.$key_sent_id, function() use($sent) {
+                        return PaliSentence::where('book',$sent->book_id)
+                                ->where('paragraph',$sent->paragraph)
+                                ->where('word_begin',$sent->word_start)
+                                ->where('word_end',$sent->word_end)
+                                ->value('length');
+                    });
+                }else{
+                    $para_strlen += PaliSentence::where('book',$request->get('book'))
+                                ->where('paragraph',$sent->paragraph)
+                                ->where('word_begin',$sent->word_start)
+                                ->where('word_end',$sent->word_end)
+                                ->value('length');                    
+                }
             }
             }
 
 
             $percent = $para_strlen / $allStrLen;
             $percent = $para_strlen / $allStrLen;

+ 46 - 16
public/app/article/article.js

@@ -162,7 +162,12 @@ function articleFillFootNavButton(article_list,curr_article){
 				$("#contents_nav_left_inner").html("无");
 				$("#contents_nav_left_inner").html("无");
 			}
 			}
 			if(index!=article_list.length-1){
 			if(index!=article_list.length-1){
-				$("#contents_nav_right_inner").html(article_list[index+1].title);
+                if(article_list[index+1].title==""){
+                    $("#contents_nav_right_inner").html("[unnamed]");
+                }else{
+                    $("#contents_nav_right_inner").html(article_list[index+1].title);
+                }
+				
 				nextArticle = article_list[index+1].article;
 				nextArticle = article_list[index+1].article;
 			}else{
 			}else{
 				$("#contents_nav_right_inner").html("无");
 				$("#contents_nav_right_inner").html("无");
@@ -388,7 +393,11 @@ function palicanon_load() {
 					let result = JSON.parse(data);
 					let result = JSON.parse(data);
 					if (result) {
 					if (result) {
 						_sent_data=result;
 						_sent_data=result;
-						$("#article_title").html(result.title);
+                        if(result.title==""){
+                            $("#article_title").html("[unnamed]");
+                        }else{
+                            $("#article_title").html(result.title);
+                        }
 						$("#article_path_title").html(result.title);
 						$("#article_path_title").html(result.title);
 						$("#page_title").text(result.title);
 						$("#page_title").text(result.title);
 						$("#article_subtitle").html(result.subtitle);
 						$("#article_subtitle").html(result.subtitle);
@@ -435,8 +444,14 @@ function reader_get_path() {
 			let suttaTitle = $("chapter").last().html();
 			let suttaTitle = $("chapter").last().html();
 
 
 			$("#pali_pedia").html(bookTitle);
 			$("#pali_pedia").html(bookTitle);
-			$("#article_title").html(suttaTitle);
-			$("#page_title").text(suttaTitle);
+            if(suttaTitle==""){
+                $("#article_title").html("[unnamed]");
+                $("#page_title").text("[unnamed]");
+            }else{
+                $("#article_title").html(suttaTitle);
+                $("#page_title").text(suttaTitle);
+            }
+            note_ref_init('_self');
 		}
 		}
 	);
 	);
 }
 }
@@ -523,17 +538,22 @@ function render_toc(){
 					prevChapter = it.prev_chapter;
 					prevChapter = it.prev_chapter;
 				}
 				}
                 let strTitle;
                 let strTitle;
-                switch (getCookie('language')) {
-                    case 'my':
-                        strTitle = roman_to_my(it.toc);
-                        break;
-                    case 'si':
-                        strTitle = roman_to_si(it.toc);
-                        break;
-                    default:
-                        strTitle = it.toc;
-                        break;
+                if(it.toc==""){
+                    strTitle  = "[unnamed]";
+                }else{
+                    switch (getCookie('language')) {
+                        case 'my':
+                            strTitle = roman_to_my(it.toc);
+                            break;
+                        case 'si':
+                            strTitle = roman_to_si(it.toc);
+                            break;
+                        default:
+                            strTitle = it.toc;
+                            break;
+                    }                    
                 }
                 }
+
 				arrToc.push({article:it.paragraph,title:strTitle,title_roman:it.toc,level:it.level});
 				arrToc.push({article:it.paragraph,title:strTitle,title_roman:it.toc,level:it.level});
 			}
 			}
 			$("#toc_content").fancytree({
 			$("#toc_content").fancytree({
@@ -583,7 +603,12 @@ function fill_chapter_nav(){
 				par: prevChapter,
 				par: prevChapter,
 			}
 			}
 		).done(function (data) {
 		).done(function (data) {
-			$("#contents_nav_left_inner").html(data.data.toc);
+            if(data.data.toc==""){
+                $("#contents_nav_left_inner").html("[unnamed]");
+            }else{
+                $("#contents_nav_left_inner").html(data.data.toc);
+            }
+			
 		});		
 		});		
 	}else{
 	}else{
 		$("#contents_nav_left_inner").html("无");
 		$("#contents_nav_left_inner").html("无");
@@ -598,7 +623,12 @@ function fill_chapter_nav(){
 				par: nextChapter,
 				par: nextChapter,
 			}
 			}
 		).done(function (data) {
 		).done(function (data) {
-			$("#contents_nav_right_inner").html(data.data.toc);
+            if(data.data.toc==""){
+                $("#contents_nav_right_inner").html("[unnamed]");
+            }else{
+                $("#contents_nav_right_inner").html(data.data.toc);
+            }
+			
 		});		
 		});		
 	}else{
 	}else{
 		$("#contents_nav_right_inner").html("无");
 		$("#contents_nav_right_inner").html("无");

+ 20 - 8
public/app/install/db_update_palitext_cli.php

@@ -92,7 +92,8 @@ if (($fpPaliText = fopen($dirPaliTextBase . $xmlfile, "r")) !== false) {
 
 
 // 打开csv文件并读取数据
 // 打开csv文件并读取数据
 $inputRow = 0;
 $inputRow = 0;
-if (($fp = fopen(_DIR_PALI_TITLE_ . "/" . ($from + 1) . "_pali.csv", "r")) !== false) {
+$tocFile = _DIR_PALI_TITLE_ . "/" . ($from + 1) . "_pali.csv";
+if (($fp = fopen($tocFile, "r")) !== false) {
     while (($data = fgetcsv($fp, 0, ',')) !== false) {
     while (($data = fgetcsv($fp, 0, ',')) !== false) {
         if ($inputRow > 0) {
         if ($inputRow > 0) {
             $params = $data;
             $params = $data;
@@ -101,9 +102,9 @@ if (($fp = fopen(_DIR_PALI_TITLE_ . "/" . ($from + 1) . "_pali.csv", "r")) !== f
         $inputRow++;
         $inputRow++;
     }
     }
     fclose($fp);
     fclose($fp);
-    fwrite(STDOUT, "单词表load:" . $dirXmlBase . $dirXml . $outputFileNameHead . ".csv". PHP_EOL);
+    fwrite(STDOUT, "Toc load:" . $tocFile. PHP_EOL);
 } else {
 } else {
-    fwrite(STDERR, "can not open csv file. filename=" . $dirXmlBase . $dirXml . $outputFileNameHead . ".csv" . PHP_EOL);
+    fwrite(STDERR, "can not open csv file. filename=" . $tocFile . PHP_EOL);
 }
 }
 
 
 if ((count($arrInserString)) != count($pali_text_array) - 2) {
 if ((count($arrInserString)) != count($pali_text_array) - 2) {
@@ -138,7 +139,10 @@ for ($iPar = 0; $iPar < count($title_data); $iPar++) {
     $book = $from + 1;
     $book = $from + 1;
     $paragraph = $title_data[$iPar]["paragraph"];
     $paragraph = $title_data[$iPar]["paragraph"];
 
 
-    if ((int) $title_data[$iPar]["level"] == 8) {
+/*
+level 8 为 偈诵编号。不当作标题
+*/
+    if ((int)$title_data[$iPar]["level"] == 8) {
         $title_data[$iPar]["level"] = 100;
         $title_data[$iPar]["level"] = 100;
     }
     }
 
 
@@ -159,21 +163,29 @@ for ($iPar = 0; $iPar < count($title_data); $iPar++) {
         $length = $paragraph_count - $paragraph + 1;
         $length = $paragraph_count - $paragraph + 1;
     }
     }
 
 
-
+    
+    /*
+    上一个段落
+    算法:查找上一个标题段落。而且该标题段落的下一个段落不是标题段落
+    */
     $prev = -1;
     $prev = -1;
     if ($iPar > 0) {
     if ($iPar > 0) {
         for ($iPar1 = $iPar - 1; $iPar1 >= 0; $iPar1--) {
         for ($iPar1 = $iPar - 1; $iPar1 >= 0; $iPar1--) {
-            if ($title_data[$iPar1]["level"] == $curr_level) {
+            if ($title_data[$iPar1]["level"] < 8 && $title_data[$iPar1+1]["level"]==100) {
                 $prev = $title_data[$iPar1]["paragraph"];
                 $prev = $title_data[$iPar1]["paragraph"];
                 break;
                 break;
             }
             }
         }
         }
     }
     }
 
 
+    /*
+    上一个段落
+    算法:查找上一个标题段落。而且该标题段落的下一个段落不是标题段落
+    */
     $next = -1;
     $next = -1;
     if ($iPar < count($title_data) - 1) {
     if ($iPar < count($title_data) - 1) {
-        for ($iPar1 = $iPar + 1; $iPar1 < count($title_data); $iPar1++) {
-            if ($title_data[$iPar1]["level"] == $curr_level) {
+        for ($iPar1 = $iPar + 1; $iPar1 < count($title_data)-1; $iPar1++) {
+            if ($title_data[$iPar1]["level"] <8 && $title_data[$iPar1+1]["level"]==100) {
                 $next = $title_data[$iPar1]["paragraph"];
                 $next = $title_data[$iPar1]["paragraph"];
                 break;
                 break;
             }
             }

+ 265 - 0
public/app/palicanon/category/cscd.json

@@ -0,0 +1,265 @@
+[
+    {
+        "name":"Tipiṭaka(Mūla)",
+        "tag":["mūla"],
+        "children":[
+            {
+                "name":"sutta piṭaka",
+                "tag":["mūla","sutta"],
+                "children":[
+                    {
+                        "name":"dīghanikāya",
+                        "tag":["mūla","sutta","dīghanikāya"],
+                        "children":[
+                            {
+                                "name":"Sīlakkhandhavaggapāḷi",
+                                "tag":["mūla","sutta","dīghanikāya","sīlakkhandhavagga"]
+                            },
+                            {
+                                "name":"Mahāvaggapāḷi",
+                                "tag":["mūla","sutta","dīghanikāya","mahāvagga"]
+                            },
+                            {
+                                "name":"Pāthikavaggapāḷi",
+                                "tag":["mūla","sutta","dīghanikāya","pāthikavagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"Majjhima Nikāya",
+                        "tag":["mūla","sutta","majjhimanikāya"],
+                        "children":[
+                            {
+                                "name":"Mūlapaṇṇāsapāḷi",
+                                "tag":["mūla","sutta","majjhimanikāya","Mūlapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Majjhimapaṇṇāsapāḷi",
+                                "tag":["mūla","sutta","majjhimanikāya","majjhimapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Uparipaṇṇāsapāḷi",
+                                "tag":["mūla","sutta","majjhimanikāya","uparipaṇṇāsa"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"saṃyuttanikāya",
+                        "tag":["mūla","sutta","saṃyuttanikāya"],
+                        "children":[
+                            {
+                                "name":"Sagāthāvagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","sagāthāvagga"]
+                            },
+                            {
+                                "name":"Nidānavagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","nidānavagga"]
+                            },
+                            {
+                                "name":"Khandhavagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","khandhavagga"]
+                            },
+                            {
+                                "name":"Saḷāyatanavagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","saḷāyatanavagga"]
+                            },
+                            {
+                                "name":"Mahāvagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","mahāvagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"aṅguttaranikāya",
+                        "tag":["mūla","sutta","aṅguttaranikāya"],
+                        "children":[
+                            {
+                                "name":"Ekakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","ekakanipāta"]
+                            },
+                            {
+                                "name":"Dukanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","dukanipāta"]
+                            },
+                            {
+                                "name":"Tikanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","tikanipāta"]
+                            },
+                            {
+                                "name":"Catukkanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","catukkanipāta"]
+                            },
+                            {
+                                "name":"Pañcakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","pañcakanipāta"]
+                            },
+                            {
+                                "name":"Chakkanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","chakkanipāta"]
+                            },
+                            {
+                                "name":"Sattakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","sattakanipāta"]
+                            },
+                            {
+                                "name":"Aṭṭhakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","aṭṭhakanipāta"]
+                            },
+                            {
+                                "name":"Navakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","navakanipāta"]
+                            },
+                            {
+                                "name":"Dasakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","dasakanipāta"]
+                            },
+                            {
+                                "name":"Ekādasakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","ekādasakanipāta"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"khuddakanikāya",
+                        "tag":["mūla","sutta","khuddakanikāya"],
+                        "children":[
+                            {
+                                "name":"Khuddakapāṭhapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","khuddakapāṭha"]
+                            },
+                            {
+                                "name":"Dhammapadapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","dhammapada"]
+                            },
+                            {
+                                "name":"Udānapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","udāna"]
+                            },
+                            {
+                                "name":"Itivuttakapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","itivuttaka"]
+                            },
+                            {
+                                "name":"Suttanipātapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","suttanipāta"]
+                            },
+                            {
+                                "name":"Vimānavatthupāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","vimānavatthu"]
+                            },
+                            {
+                                "name":"Petavatthupāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","petavatthu"]
+                            },
+                            {
+                                "name":"Theragāthāpāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","theragāthā"]
+                            },
+                            {
+                                "name":"Therāpadānapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","therāpadāna"]
+                            },
+                            {
+                                "name":"Buddhavaṃsapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","buddhavaṃsa"]
+                            },
+                            {
+                                "name":"Cariyāpiṭakapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","cariyāpiṭaka"]
+                            },
+                            {
+                                "name":"Jātakapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","jātaka"]
+                            },
+                            {
+                                "name":"Mahāniddesapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","mahāniddesa"]
+                            },
+                            {
+                                "name":"Cūḷaniddesapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","cūḷaniddesa"]
+                            },
+                            {
+                                "name":"Paṭisambhidāmaggapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","paṭisambhidāmagga"]
+                            },
+                            {
+                                "name":"Nettippakaraṇapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","nettippakaraṇa"]
+                            },
+                            {
+                                "name":"Milindapañhapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","milindapañha"]
+                            },
+                            {
+                                "name":"Peṭakopadesapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","peṭakopadesa"]
+                            }
+                        ]
+                    }
+                ]
+            },
+            {
+                "name":"vinaya piṭaka",
+                "tag":["mūla","vinaya"],
+                "children":[
+                    {
+                        "name":"pārājikapāḷi",
+                        "tag":["mūla","vinaya","pārājika"]
+                    },
+                    {
+                        "name":"pācittiyapāḷi",
+                        "tag":["mūla","vinaya","pācittiya"]
+                    },
+                    {
+                        "name":"mahāvaggapāḷi",
+                        "tag":["mūla","vinaya","mahāvagga"]
+                    },
+                    {
+                        "name":"cūḷavaggapāḷi",
+                        "tag":["mūla","vinaya","cūḷavagga"]
+                    },
+                    {
+                        "name":"parivārapāḷi",
+                        "tag":["mūla","vinaya","parivāra"]
+                    }
+                ]
+            },
+            {
+                "name":"abhidhamma piṭaka",
+                "tag":["mūla","abhidhamma"],
+                "children":[
+                    {
+                        "name":"dhammasaṅgaṇī",
+                        "tag":["mūla","abhidhamma","dhammasaṅgaṇī"]
+                    },
+                    {
+                        "name":"vibhaṅga",
+                        "tag":["mūla","abhidhamma","vibhaṅga"]
+                    },
+                    {
+                        "name":"dhātukathā",
+                        "tag":["mūla","abhidhamma","dhātukathā"]
+                    },
+                                {
+                        "name":"puggalapaññatti",
+                        "tag":["mūla","abhidhamma","puggalapaññatti"]
+                    },
+                                {
+                        "name":"kathāvatthu",
+                        "tag":["mūla","abhidhamma","kathāvatthu"]
+                    },
+                    {
+                        "name":"yamaka",
+                        "tag":["mūla","abhidhamma","yamaka"]
+                    },
+                    {
+                        "name":"paṭṭhāna",
+                        "tag":["mūla","abhidhamma","paṭṭhāna"]
+                    }
+                ]
+            }
+
+        ]
+    }
+]

+ 258 - 0
public/app/palicanon/category/defualt.json

@@ -0,0 +1,258 @@
+[
+           {
+                "name":"sutta",
+                "tag":["sutta"],
+                "children":[
+                    {
+                        "name":"dīghanikāya",
+                        "tag":["sutta","dīghanikāya"],
+                        "children":[
+                            {
+                                "name":"Sīlakkhandhavagga",
+                                "tag":["sutta","dīghanikāya","sīlakkhandhavagga"]
+                            },
+                            {
+                                "name":"Mahāvagga",
+                                "tag":["sutta","dīghanikāya","mahāvagga"]
+                            },
+                            {
+                                "name":"Pāthikavagga",
+                                "tag":["sutta","dīghanikāya","pāthikavagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"Majjhima Nikāya",
+                        "tag":["sutta","majjhimanikāya"],
+                        "children":[
+                            {
+                                "name":"Mūlapaṇṇāsa",
+                                "tag":["sutta","majjhimanikāya","mūlapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Majjhimapaṇṇāsa",
+                                "tag":["sutta","majjhimanikāya","majjhimapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Uparipaṇṇāsa",
+                                "tag":["sutta","majjhimanikāya","uparipaṇṇāsa"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"saṃyuttanikāya",
+                        "tag":["sutta","saṃyuttanikāya"],
+                        "children":[
+                            {
+                                "name":"Sagāthāvagga",
+                                "tag":["sutta","saṃyuttanikāya","sagāthāvagga"]
+                            },
+                            {
+                                "name":"Nidānavagga",
+                                "tag":["sutta","saṃyuttanikāya","nidānavagga"]
+                            },
+                            {
+                                "name":"Khandhavagga",
+                                "tag":["sutta","saṃyuttanikāya","khandhavagga"]
+                            },
+                            {
+                                "name":"Saḷāyatanavagga",
+                                "tag":["sutta","saṃyuttanikāya","saḷāyatanavagga"]
+                            },
+                            {
+                                "name":"Mahāvagga",
+                                "tag":["sutta","saṃyuttanikāya","mahāvagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"aṅguttaranikāya",
+                        "tag":["sutta","aṅguttaranikāya"],
+                        "children":[
+                            {
+                                "name":"Ekakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","ekakanipāta"]
+                            },
+                            {
+                                "name":"Dukanipāta",
+                                "tag":["sutta","aṅguttaranikāya","dukanipāta"]
+                            },
+                            {
+                                "name":"Tikanipāta",
+                                "tag":["sutta","aṅguttaranikāya","tikanipāta"]
+                            },
+                            {
+                                "name":"Catukkanipāta",
+                                "tag":["sutta","aṅguttaranikāya","catukkanipāta"]
+                            },
+                            {
+                                "name":"Pañcakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","pañcakanipāta"]
+                            },
+                            {
+                                "name":"Chakkanipāta",
+                                "tag":["sutta","aṅguttaranikāya","chakkanipāta"]
+                            },
+                            {
+                                "name":"Sattakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","sattakanipāta"]
+                            },
+                            {
+                                "name":"Aṭṭhakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","aṭṭhakanipāta"]
+                            },
+                            {
+                                "name":"Navakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","navakanipāta"]
+                            },
+                            {
+                                "name":"Dasakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","dasakanipāta"]
+                            },
+                            {
+                                "name":"Ekādasakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","ekādasakanipāta"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"khuddakanikāya",
+                        "tag":["sutta","khuddakanikāya"],
+                        "children":[
+                            {
+                                "name":"Khuddakapāṭha",
+                                "tag":["sutta","khuddakanikāya","khuddakapāṭha"]
+                            },
+                            {
+                                "name":"Dhammapada",
+                                "tag":["sutta","khuddakanikāya","dhammapada"]
+                            },
+                            {
+                                "name":"Udāna",
+                                "tag":["sutta","khuddakanikāya","udāna"]
+                            },
+                            {
+                                "name":"Itivuttaka",
+                                "tag":["sutta","khuddakanikāya","itivuttaka"]
+                            },
+                            {
+                                "name":"Suttanipāta",
+                                "tag":["sutta","khuddakanikāya","suttanipāta"]
+                            },
+                            {
+                                "name":"Vimānavatthu",
+                                "tag":["sutta","khuddakanikāya","vimānavatthu"]
+                            },
+                            {
+                                "name":"Petavatthu",
+                                "tag":["sutta","khuddakanikāya","petavatthu"]
+                            },
+                            {
+                                "name":"Theragāthā",
+                                "tag":["sutta","khuddakanikāya","theragāthā"]
+                            },
+                            {
+                                "name":"Therāpadāna",
+                                "tag":["sutta","khuddakanikāya","therāpadāna"]
+                            },
+                            {
+                                "name":"Buddhavaṃsa",
+                                "tag":["sutta","khuddakanikāya","buddhavaṃsa"]
+                            },
+                            {
+                                "name":"Cariyāpiṭaka",
+                                "tag":["sutta","khuddakanikāya","cariyāpiṭaka"]
+                            },
+                            {
+                                "name":"Jātaka",
+                                "tag":["sutta","khuddakanikāya","jātaka"]
+                            },
+                            {
+                                "name":"Mahāniddesa",
+                                "tag":["sutta","khuddakanikāya","mahāniddesa"]
+                            },
+                            {
+                                "name":"Cūḷaniddesa",
+                                "tag":["sutta","khuddakanikāya","cūḷaniddesa"]
+                            },
+                            {
+                                "name":"Paṭisambhidāmagga",
+                                "tag":["sutta","khuddakanikāya","paṭisambhidāmagga"]
+                            },
+                            {
+                                "name":"Nettippakaraṇa",
+                                "tag":["sutta","khuddakanikāya","nettippakaraṇa"]
+                            },
+                            {
+                                "name":"Milindapañha",
+                                "tag":["sutta","khuddakanikāya","milindapañha"]
+                            },
+                            {
+                                "name":"Peṭakopadesa",
+                                "tag":["sutta","khuddakanikāya","peṭakopadesa"]
+                            }
+                        ]
+                    }
+                ]
+            },
+            {
+                "name":"vinaya piṭaka",
+                "tag":["vinaya"],
+                "children":[
+                    {
+                        "name":"Mahāvibhaṅga",
+                        "tag":["vinaya","mahāvibhaṅga"]
+                    },
+                    {
+                        "name":"Bhikkhunīvibhaṅga",
+                        "tag":["vinaya","bhikkhunīvibhaṅga"]
+                    },
+                    {
+                        "name":"mahāvagga",
+                        "tag":["vinaya","mahāvagga"]
+                    },
+                    {
+                        "name":"cūḷavagga",
+                        "tag":["vinaya","cūḷavagga"]
+                    },
+                    {
+                        "name":"parivāra",
+                        "tag":["vinaya","parivāra"]
+                    }
+                ]
+            },
+            {
+                "name":"abhidhamma piṭaka",
+                "tag":["abhidhamma"],
+                "children":[
+                    {
+                        "name":"dhammasaṅgaṇī",
+                        "tag":["abhidhamma","dhammasaṅgaṇī"]
+                    },
+                    {
+                        "name":"vibhaṅga",
+                        "tag":["abhidhamma","vibhaṅga"]
+                    },
+                    {
+                        "name":"dhātukathā",
+                        "tag":["abhidhamma","dhātukathā"]
+                    },
+                                {
+                        "name":"puggalapaññatti",
+                        "tag":["abhidhamma","puggalapaññatti"]
+                    },
+                                {
+                        "name":"kathāvatthu",
+                        "tag":["abhidhamma","kathāvatthu"]
+                    },
+                    {
+                        "name":"yamaka",
+                        "tag":["abhidhamma","yamaka"]
+                    },
+                    {
+                        "name":"paṭṭhāna",
+                        "tag":["abhidhamma","paṭṭhāna"]
+                    }
+                ]
+            }
+]

+ 10 - 0
public/app/palicanon/category/index.json

@@ -0,0 +1,10 @@
+[
+    {
+        "name":"defualt",
+        "file":"defualt"
+    },    
+    {
+        "name":"cscd",
+        "file":"cscd"
+    }
+]

+ 211 - 0
public/app/palicanon/index1.php

@@ -0,0 +1,211 @@
+<?PHP
+require_once "../pcdl/html_head.php";
+?>
+
+<body>
+    <script src="../palicanon/palicanon.js"></script>
+    <script src="../term/term.js"></script>
+
+<?php
+    require_once "../pcdl/head_bar.php";
+?>
+
+	<link type="text/css" rel="stylesheet" href="../palicanon/style.css" />
+	<link type="text/css" rel="stylesheet" href="../palicanon/style_mobile.css" media="screen and (max-width:800px)">
+
+
+    <script>
+        var tag_level = <?php echo file_get_contents("../public/book_tag/tag_list.json"); ?>;
+    </script>
+<?php
+//
+
+require_once "../config.php";
+require_once "../public/_pdo.php";
+require_once '../media/function.php';
+require_once '../public/function.php';
+?>
+
+<link href="../../node_modules/jquery.fancytree/dist/skin-win7/ui.fancytree.css" rel="stylesheet" type="text/css" class="skinswitcher">
+<script src="../tree/jquery.fancytree.js" type="text/javascript"></script>
+
+<style>
+.head_bar{
+    display:flex;
+}
+.more_info{
+    font-size:80%;
+    color: var(--main-color1);
+}
+.more_info>.item{
+    margin-right:1em;
+}
+.chapter_list ul li{
+    display:flex;
+}
+.book_view  ul li{
+    display:block;
+}
+.book_view .level_1{
+    background:unset;
+}
+
+.book_view ul li{
+    border:unset;
+    width: 30%;
+    height:90px;
+}
+.chapter_list .list {
+    width: 0;
+}
+.chapter_list .show {
+    display: block;
+    width: 100%;
+}
+.chapter_list .grid {
+    width: 100%;
+}
+</style>
+
+<div style="display:flex;">
+    <div id='left-bar' style="flex:2;">
+        <div id='left-bar-inner'>
+            <div style="width:100%">
+                <select id="tag_category_index" onchange="TagCategoryIndexchange(this)">
+                </select>
+            </div>
+            <div id='tag-category' >
+            
+            </div>
+        </div>
+    </div>
+    <div id='course_head_bar' style='flex:6;background-color:var(--tool-bg-color1);padding:1em 10px 10px 10px;'>
+        <div class='index_inner '>
+            <div style='display:flex;justify-content: space-between;'>
+                <div style=''>
+                    <a href='index1.php?view=community'>社区</a>
+                    <a href='index1.php?view=category'>分类</a>
+                    <a href='index1.php?view=my'>我的</a>
+                </div>
+                <div style=''>
+                    <select onchange='viewChanged(this)'>
+                        <option value='card'>卡片</option>
+                        <option value='list'>列表</option>
+                    </select>
+                </div>
+            </div>
+            <div id="main_tag"  style="display:none;">
+                <span tag="sutta" title="sutta"></span>
+                <span tag="vinaya"  title="vinaya"></span>
+                <span tag="abhidhamma" title="abhidhamma"></span>
+                <span tag="mūla" title="mūla"></span>
+                <span tag="aṭṭhakathā" title="aṭṭhakathā"></span>
+                <span tag="ṭīkā" title="ṭīkā"></span>
+                <span tag="añña" title="añña"></span>
+            </div>
+
+            <div id="select_bar" >
+                <div id="tag_selected"></div>
+                <div>
+                    <button onclick="tag_list_slide_toggle(this)">
+                        ⮝
+                    </button>
+                </div>
+            </div>
+            <div>
+                <div id="tag_list">
+                    <div level="0" class="tag_others"></div>
+                    <div level="1" class="tag_others"></div>
+                    <div level="2" class="tag_others"></div>
+                    <div level="3" class="tag_others"></div>
+                    <div level="4" class="tag_others"></div>
+                    <div level="5" class="tag_others"></div>
+                    <div level="100" class="tag_others"></div>
+                    <div level="8" class="tag_others"></div>
+                </div>
+            </div>
+            <div id='bread-crumbs'></div>
+            <div class='index_inner'>
+                <div id="chapter_shell" class="chapter_list" >
+                    <div id="list_shell_1" class="show book_view" level="1">
+                        <ul id="list-1" class="grid" level="1" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_2" level="2">
+                        <ul id="list-2" class="hidden" level="2"  >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_3" level="3">
+                        <ul id="list-3" class="hidden" level="3" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_4" level="4">
+                        <ul id="list-4" class="hidden" level="4" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_5" level="5">
+                        <ul id="list-5" class="hidden" level="5" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_6" level="6">
+                        <ul id="list-6" class="hidden" level="6" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_7" level="7">
+                        <ul id="list-7" class="hidden" level="7" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_8" level="8">
+                        <ul id="list-8" class="hidden" level="8" >
+                        </ul>
+                    </div>
+
+                </div>
+            </div>
+        </div>
+    </div>
+    <div style="flex:2;">
+    right pannal
+    </div>
+</div>
+
+
+
+    <script>
+        $(document).ready(function() {
+            let indexFilename = localStorage.getItem('palicanon_tag_category');
+            if(!indexFilename){
+                indexFilename = "defualt";
+            }
+            loadTagCategory(indexFilename);
+            loadTagCategoryIndex();
+            <?php
+            if(isset($_GET["view"])){
+                $_view = $_GET["view"];
+            }else{
+                $_view = "category";
+            }
+            switch ($_view) {
+                case 'category':
+                    echo "palicanon_onload();";
+                    break;
+                
+                default:
+                    # code...
+                    break;
+            }
+            ?>
+            
+            updateFirstListView();
+        });
+    </script>
+    <?php
+include "../pcdl/html_foot.php";
+?>

+ 202 - 33
public/app/palicanon/palicanon.js

@@ -3,6 +3,8 @@ var list_tag = new Array();
 var currTagLevel0 = new Array();
 var currTagLevel0 = new Array();
 var allTags = new Array();
 var allTags = new Array();
 var arrMyTerm = new Array();
 var arrMyTerm = new Array();
+var _listView="card";
+var gBreadCrumbs=['','','','','','','','',''];
 
 
 palicanon_load_term();
 palicanon_load_term();
 
 
@@ -118,7 +120,7 @@ function tag_changed() {
 					}
 					}
 				}
 				}
 
 
-				if (arrBookList.length < 50 || (arrBookList.length > 50 && iterator.level == 1)) {
+				if (arrBookList.length < 20 || (arrBookList.length > 20 && iterator.level == 1)) {
 					arrChapter.push(iterator);
 					arrChapter.push(iterator);
 				}
 				}
 			}
 			}
@@ -134,14 +136,25 @@ function tag_changed() {
 			tag_render_others();
 			tag_render_others();
 			palicanon_chapter_list_apply(0);
 			palicanon_chapter_list_apply(0);
 			$("#list-1").html(render_chapter_list(arrChapter));
 			$("#list-1").html(render_chapter_list(arrChapter));
-			if (arrBookList.length < 50) {
-				$("#list_shell_1").removeClass("book_view");
-			} else {
-				$("#list_shell_1").addClass("book_view");
-			}
+
 		}
 		}
 	);
 	);
 }
 }
+function viewChanged(obj){
+
+    _listView = $(obj).val();
+    updateFirstListView();
+}
+
+function updateFirstListView(){
+    if(_listView == "list"){
+        $("#list_shell_1").removeClass("book_view");
+        $("#list_shell_1").addClass("list_view");
+    }else{
+        $("#list_shell_1").addClass("book_view");
+        $("#list_shell_1").removeClass("list_view");
+    }
+}
 
 
 function palicanon_load_chapter(book, para, div_index = 1) {
 function palicanon_load_chapter(book, para, div_index = 1) {
 	let lang = getCookie("language");
 	let lang = getCookie("language");
@@ -210,27 +223,32 @@ function render_chapter_head(chapter_info, parent) {
 	html += "</div>";
 	html += "</div>";
 	let link = "../reader/?view=chapter&book=" + chapter_info.book + "&par=" + chapter_info.paragraph;
 	let link = "../reader/?view=chapter&book=" + chapter_info.book + "&par=" + chapter_info.paragraph;
 	html += "<div class='title'>";
 	html += "<div class='title'>";
+    let sToc = chapter_info.toc;
+    html += "	<div class='title_1'>";
 	if (typeof chapter_info.trans_title == "undefined") {
 	if (typeof chapter_info.trans_title == "undefined") {
-		html += "	<div class='title_1'>";
         html += "<a href='" + link + "' target='_blank'>" ;
         html += "<a href='" + link + "' target='_blank'>" ;
-        switch (getCookie('language')) {
-            case 'my':
-                html += roman_to_my(chapter_info.text);
-                break;
-            case 'si':
-                html += roman_to_si(chapter_info.text);
-                break;        
-            default:
-                html += chapter_info.text ;
-                break;
+        if(sToc == ""){
+            html += "[unnamed]" ;
+        }else{
+            switch (getCookie('language')) {
+                case 'my':
+                    html += roman_to_my(sToc);
+                    break;
+                case 'si':
+                    html += roman_to_si(sToc);
+                    break;        
+                default:
+                    html += sToc ;
+                    break;
+            }            
         }
         }
+
         html += "</a>";
         html += "</a>";
-        html += "</div>";
 	} else {
 	} else {
-		html +=
-			"	<div class='title_1'><a href='" + link + "' target='_blank'>" + chapter_info.trans_title + "</a></div>";
+        html += "<a href='" + link + "' target='_blank'>" + chapter_info.trans_title + "</a>";
 	}
 	}
-	html += "<div class='title_2'>" + chapter_info.text + "</div>";
+    html += "</div>";
+	html += "<div class='title_2'>" + sToc + "</div>";
 	html += "</div>";
 	html += "</div>";
 	html += "<div class='res res_more'>";
 	html += "<div class='res res_more'>";
 	html += "<h2>译文</h2>";
 	html += "<h2>译文</h2>";
@@ -289,6 +307,8 @@ function palicanon_chapter_list_apply(div_index) {
 	$("#list_shell_" + (iDiv + 1)).html(html);
 	$("#list_shell_" + (iDiv + 1)).html(html);
 	$("#list_shell_" + (iDiv + 1)).removeClass();
 	$("#list_shell_" + (iDiv + 1)).removeClass();
 	$("#list_shell_" + (iDiv + 1)).addClass("show");
 	$("#list_shell_" + (iDiv + 1)).addClass("show");
+	
+
 	//隐藏之后的列表
 	//隐藏之后的列表
 	for (let index = iDiv + 2; index <= 8; index++) {
 	for (let index = iDiv + 2; index <= 8; index++) {
 		$("#list_shell_" + index).removeClass();
 		$("#list_shell_" + index).removeClass();
@@ -300,12 +320,17 @@ function palicanon_chapter_list_apply(div_index) {
 
 
 	$("#list_shell_" + iDiv).removeClass();
 	$("#list_shell_" + iDiv).removeClass();
 	$("#list_shell_" + iDiv).addClass("list");
 	$("#list_shell_" + iDiv).addClass("list");
+
+    updateFirstListView();
 }
 }
 
 
 function chapter_onclick(obj) {
 function chapter_onclick(obj) {
 	let book = $(obj).attr("book");
 	let book = $(obj).attr("book");
 	let para = $(obj).attr("para");
 	let para = $(obj).attr("para");
-	let level = $(obj).parent().attr("level");
+	let level =  parseInt($(obj).parent().attr("level"));
+    let title1 = $(obj).find(".title_1").first().text();
+    gBreadCrumbs[level] = {title1:title1,book:book,para:para,level:level};
+    RenderBreadCrumbs();
 	$(obj).siblings().removeClass("selected");
 	$(obj).siblings().removeClass("selected");
 	$(obj).addClass("selected");
 	$(obj).addClass("selected");
 	$("#tag_list").slideUp();
 	$("#tag_list").slideUp();
@@ -316,7 +341,7 @@ function palicanon_render_chapter_row(chapter) {
 	let html = "";
 	let html = "";
 	let levelClass = "";
 	let levelClass = "";
 	if (chapter.level == 1) {
 	if (chapter.level == 1) {
-		levelClass = " level_1";
+		//levelClass = " level_1";
 	}
 	}
 	html +=
 	html +=
 		'<li class="' +
 		'<li class="' +
@@ -326,19 +351,37 @@ function palicanon_render_chapter_row(chapter) {
 		'" para="' +
 		'" para="' +
 		chapter.para +
 		chapter.para +
 		'" onclick="chapter_onclick(this)">';
 		'" onclick="chapter_onclick(this)">';
+    
+	html += '<div class="head_bar">';
+
+    html += '<span class="" style="margin-right: 1em;padding: 4px 0;">';
+    html += "<svg class='icon' style='fill: var(--box-bg-color1)'>";
+    if (chapter.level == 1) {
+	    html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#journal'>";
+    }else{
+        html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#folder2-open'>";
+    }
+	html += "</svg>" ;
+	html += "</span>";   
+
 	html += '<div class="title">';
 	html += '<div class="title">';
 
 
-	if (typeof chapter.trans_title == "undefined") {
+    
+    let sPaliTitle = chapter.title;
+    if(chapter.title==""){
+        sPaliTitle = "unnamed";
+    }
+	if (typeof chapter.trans_title == "undefined" ||  chapter.trans_title == "") {
 		html += "	<div class='title_1'>" ;
 		html += "	<div class='title_1'>" ;
         switch (getCookie('language')) {
         switch (getCookie('language')) {
             case 'my':
             case 'my':
-                html += roman_to_my(chapter.title);
+                html += roman_to_my(sPaliTitle);
                 break;
                 break;
             case 'si':
             case 'si':
-                html += roman_to_si(chapter.title);
+                html += roman_to_si(sPaliTitle);
                 break;
                 break;
             default:
             default:
-                html += chapter.title ;
+                html += sPaliTitle ;
                 break;
                 break;
         }
         }
         
         
@@ -347,9 +390,11 @@ function palicanon_render_chapter_row(chapter) {
 		html += "	<div class='title_1'>" + chapter.trans_title + "</div>";
 		html += "	<div class='title_1'>" + chapter.trans_title + "</div>";
 	}
 	}
 
 
-	html += '	<div class="title_2" lang="pali">' + chapter.title + "</div>";
+	html += '	<div class="title_2" lang="pali">' + sPaliTitle + "</div>";
 	html += "</div>";
 	html += "</div>";
 	html += '<div class="resource">';
 	html += '<div class="resource">';
+    //绘制进度圈
+    /*
 	if (chapter.progress) {
 	if (chapter.progress) {
 		let r = 12;
 		let r = 12;
 		let perimeter = 2 * Math.PI * r;
 		let perimeter = 2 * Math.PI * r;
@@ -365,9 +410,41 @@ function palicanon_render_chapter_row(chapter) {
 			'"></circle>';
 			'"></circle>';
 		html += "</svg>";
 		html += "</svg>";
 	}
 	}
-	html += '<div class="res_more">';
-	html += " ";
-	html += "	</div>";
+    */
+	html += "</div>";
+	html += "</div>";//end of head bar
+
+
+    html += '<div class="more_info">';
+
+    html += "<span class='item'>";
+    html += "<svg class='small_icon' style='fill: var(--box-bg-color1)'>";
+	html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#journals'>";
+	html += "</svg>" ;
+    html += "Saratadipani";
+    html += "</span>"
+    
+	html += "<span class='item'>";
+    html += "<svg class='small_icon' style='fill: var(--box-bg-color1)'>";
+	html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#translate'>";
+	html += "</svg>" ;
+    if(chapter.progress){
+        html += parseInt(chapter.progress.all_trans*100+1)+"%";
+    }else{
+         html += "无";
+    }
+    
+    html += "</span>";
+
+	html += "<span class='item'>";
+    html += "<svg class='small_icon' style='fill: var(--box-bg-color1)'>";
+	html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#person'>";
+	html += "</svg>" ;
+    html += "简体中文(3)";
+    html += "</span>";
+
+
+
 	html += "</div>";
 	html += "</div>";
 	html += "</li>";
 	html += "</li>";
 	return html;
 	return html;
@@ -434,6 +511,12 @@ function tag_click(tag) {
 	tag_changed();
 	tag_changed();
 }
 }
 
 
+function tag_set(tag) {
+	list_tag = tag;
+	render_tag_list();
+	tag_changed();
+}
+
 function render_tag_list() {
 function render_tag_list() {
 	$("#tag_list").slideDown();
 	$("#tag_list").slideDown();
 
 
@@ -475,8 +558,11 @@ function chapter_back(parent) {
 	let curr = parseInt(parent) + 1;
 	let curr = parseInt(parent) + 1;
 	let prt = parseInt(parent);
 	let prt = parseInt(parent);
 	//隐藏当前的
 	//隐藏当前的
-	$("#list_shell_" + curr).removeClass();
-	$("#list_shell_" + curr).addClass("hidden");
+    for (let index = curr; index < 8; index++) {
+	    $("#list_shell_" + index).removeClass();
+	    $("#list_shell_" + index).addClass("hidden");        
+        gBreadCrumbs[index-1]='';
+    }
 
 
 	//展开上一个
 	//展开上一个
 	$("#list-" + prt).removeClass();
 	$("#list-" + prt).removeClass();
@@ -484,4 +570,87 @@ function chapter_back(parent) {
 
 
 	$("#list_shell_" + prt).removeClass();
 	$("#list_shell_" + prt).removeClass();
 	$("#list_shell_" + prt).addClass("show");
 	$("#list_shell_" + prt).addClass("show");
+
+    RenderBreadCrumbs();
+}
+
+
+function loadTagCategory(name="defualt"){
+    $.getJSON("./category/"+name+".json",function(result){
+        console.log(tocGetTagCategory(result));
+        $("#tag-category").html("");
+        $("#tag-category").fancytree({
+            autoScroll: true,
+            selectMode: 1, // 1:single, 2:multi, 3:multi-hier
+            checkbox: false, // Show checkboxes.
+            source: tocGetTagCategory(result),
+            click: function(e, data) {
+                    //tag_set([data.node.title]);
+                },
+            activate: function(e, data) {
+//				alert("activate " + );
+                //currSelectNode = data.node;
+                tag_set(arrTagCategory[data.node.key]);
+            },
+            select: function(e, data) {
+                // Display list of selected nodes
+                currSelectNode = data.tree.getSelectedNodes();
+                }
+        });
+
+  });
+
 }
 }
+
+var arrTagCategory = new Array();
+function tocGetTagCategory(data){
+    let output = new Array();
+    for (const iterator of data) {
+        let item = {key:com_uuid(),title:iterator.name,tag:iterator.tag};
+        arrTagCategory[item.key] = iterator.tag;
+        if(typeof iterator.children !== "undefined"){
+            item.children = tocGetTagCategory(iterator.children);
+        }
+        output.push(item);
+    }
+    return output;
+}
+
+function loadTagCategoryIndex(){
+    $.getJSON("./category/index.json",function(result){
+            let indexFilename = localStorage.getItem('palicanon_tag_category');
+            if(!indexFilename){
+                indexFilename = "defualt";
+            }
+        let html="";
+        for (const iterator of result) {
+            html += "<option ";
+            if(indexFilename==iterator.file){
+                html += " selected ";
+            }
+            html += " value='"+iterator.file+"'>"+iterator.name+"</option>";
+        }
+        $("#tag_category_index").html(html);
+    });
+}
+
+function TagCategoryIndexchange(obj){
+    localStorage.setItem('palicanon_tag_category',$(obj).val());
+    //loadTagCategory($(obj).val());
+     location.reload();
+}
+
+function RenderBreadCrumbs(){
+    let html = "";
+    html += '<a onclick="chapter_back(1)">home</a>';
+    for (const iterator of gBreadCrumbs) {
+        if(iterator.title1){
+            html += " > ";
+            html += '<a onclick="chapter_back('+(iterator.level+1)+')">';
+            html += iterator.title1;
+            html += '</a>';
+        }
+    }
+
+    $("#bread-crumbs").html(html);
+}

+ 14 - 1
public/app/palicanon/style.css

@@ -275,7 +275,7 @@ li.level_1.selected {
 }
 }
 .book_view ul li {
 .book_view ul li {
 	width: 180px;
 	width: 180px;
-	height: 250px;
+	height: 120px;
 	margin: 1em;
 	margin: 1em;
 	border: 10px solid wheat;
 	border: 10px solid wheat;
 }
 }
@@ -283,3 +283,16 @@ li.level_1.selected {
 	display: flex;
 	display: flex;
 	flex-flow: wrap;
 	flex-flow: wrap;
 }
 }
+
+.chapter_list .more_info{
+    display:none;
+}
+.head_bar{
+    display:flex;
+}
+.book_view .list li {
+    width: 180px;
+    height: unset;
+    margin: unset;
+    border: unset;
+}

+ 1 - 1
public/app/public/book_tag/en.json

@@ -13040,7 +13040,7 @@
 	{
 	{
 		"book": "209",
 		"book": "209",
 		"para": "1433",
 		"para": "1433",
-		"level": "2",
+		"level": "1",
 		"title": "bhikkhunīvibhaṅgavaṇṇanā",
 		"title": "bhikkhunīvibhaṅgavaṇṇanā",
 		"tag": ":vajirabuddhi::ṭīkā::vinaya::suttavibhaṅga::bhikkhunīvibhaṅga::pācittiyapāḷi::bhikkhunī:"
 		"tag": ":vajirabuddhi::ṭīkā::vinaya::suttavibhaṅga::bhikkhunīvibhaṅga::pācittiyapāḷi::bhikkhunī:"
 	},
 	},

+ 28 - 10
public/app/reader/get_para1.php

@@ -77,7 +77,7 @@ $paraBegin=0;
 $paraEnd=0;
 $paraEnd=0;
 
 
 PDO_Connect(_FILE_DB_PALITEXT_);
 PDO_Connect(_FILE_DB_PALITEXT_);
-$query = "SELECT level , parent, chapter_len,chapter_strlen FROM "._TABLE_PALI_TEXT_."  WHERE book= ? AND paragraph= ?";
+$query = "SELECT level , parent, chapter_len,chapter_strlen FROM "._TABLE_PALI_TEXT_."  WHERE book= ? AND paragraph= ?  order by paragraph asc";
 $FetchParInfo = PDO_FetchRow($query, array($_book, $_para));
 $FetchParInfo = PDO_FetchRow($query, array($_book, $_para));
 if ($FetchParInfo) {
 if ($FetchParInfo) {
     switch ($_view) {
     switch ($_view) {
@@ -92,7 +92,7 @@ if ($FetchParInfo) {
             else{
             else{
 				#不是标题,加载所在段落
 				#不是标题,加载所在段落
 				$paraBegin = $FetchParInfo["parent"];
 				$paraBegin = $FetchParInfo["parent"];
-				$query = "SELECT  level , parent, chapter_len,chapter_strlen FROM "._TABLE_PALI_TEXT_."  WHERE book= ? AND paragraph= ?";
+				$query = "SELECT  level , parent, chapter_len,chapter_strlen FROM "._TABLE_PALI_TEXT_."  WHERE book= ? AND paragraph= ?  order by paragraph asc";
 				$FetchParInfo = PDO_FetchRow($query, array($_book, $paraBegin));
 				$FetchParInfo = PDO_FetchRow($query, array($_book, $paraBegin));
             	$paraEnd = $paraBegin + $FetchParInfo["chapter_len"] - 1;
             	$paraEnd = $paraBegin + $FetchParInfo["chapter_len"] - 1;
 			}
 			}
@@ -110,32 +110,49 @@ if ($FetchParInfo) {
     }
     }
 
 
     //获取下级目录
     //获取下级目录
-    $query = "SELECT level,paragraph,toc FROM "._TABLE_PALI_TEXT_."  WHERE book= ? AND (paragraph BETWEEN ?AND ? ) AND level < 8 ";
+    $query = "SELECT level,paragraph,toc FROM "._TABLE_PALI_TEXT_."  WHERE book= ? AND (paragraph BETWEEN ?AND ? ) AND level < 8 order by paragraph asc";
     $toc = PDO_FetchAll($query, array($_book, $paraBegin, $paraEnd));
     $toc = PDO_FetchAll($query, array($_book, $paraBegin, $paraEnd));
 	if(count($toc)>0){
 	if(count($toc)>0){
 		$output["title"] = $toc[0]["toc"];
 		$output["title"] = $toc[0]["toc"];
 	}
 	}
 
 
+    /*
+    目录
+    */
+    $sTocOutput = "\n\n";
 	if(count($toc)>1){
 	if(count($toc)>1){
 		$currLevel = $toc[0]["level"];
 		$currLevel = $toc[0]["level"];
 		$ulLevel = 0;
 		$ulLevel = 0;
+        $minLevel = 8;
+        foreach ($toc as $key => $value) {
+            if($value["level"] < $minLevel ){
+                $minLevel = $value["level"];
+            }
+        }
 		foreach ($toc as $key => $value) {
 		foreach ($toc as $key => $value) {
 			# code...
 			# code...
+            if(empty($value["toc"])){
+                $sToc = "unnamed";
+            }else{
+                $sToc = $value["toc"];
+            }
+            $sToc = str_replace(['[',']'],[' [','] '],$sToc);
 			if($value["level"] > $currLevel  ){
 			if($value["level"] > $currLevel  ){
 				$ulLevel++;
 				$ulLevel++;
 			}
 			}
 			else if($value["level"] < $currLevel ){
 			else if($value["level"] < $currLevel ){
-				$ulLevel--;		
+				$ulLevel--;
 			}
 			}
 			$currLevel = $value["level"];
 			$currLevel = $value["level"];
-			for ($i=0; $i < $ulLevel; $i++) { 
+            $space = "";
+			for ($i=$minLevel; $i < $currLevel; $i++) { 
 				# code...
 				# code...
-				$output["content"] .= "    ";
+				$space .= "  ";
 			}
 			}
-			$output["content"] .= "- [{$value["toc"]}](../article/index.php?view=chapter&book={$_book}&par={$value["paragraph"]})\n";
+			$sTocOutput .= $space . "- [{$sToc}](../article/index.php?view=chapter&book={$_book}&par={$value["paragraph"]})\n";
 		}		
 		}		
 	}
 	}
-
+$sTocOutput .= "\n\n";
 
 
     if ($FetchParInfo["chapter_strlen"] > _MAX_CHAPTER_LEN_ && $_view === "chapter" && count($toc) > 1) {
     if ($FetchParInfo["chapter_strlen"] > _MAX_CHAPTER_LEN_ && $_view === "chapter" && count($toc) > 1) {
         #文档过大,只加载目录
         #文档过大,只加载目录
@@ -146,6 +163,7 @@ if ($FetchParInfo) {
             $output["head"] = 1;
             $output["head"] = 1;
         } else {
         } else {
             #中间无间隔
             #中间无间隔
+            $output["content"] .= $sTocOutput;
             echo json_encode($output, JSON_UNESCAPED_UNICODE);
             echo json_encode($output, JSON_UNESCAPED_UNICODE);
             exit;
             exit;
         }
         }
@@ -153,7 +171,7 @@ if ($FetchParInfo) {
 
 
     PDO_Connect(_FILE_DB_PALI_SENTENCE_);
     PDO_Connect(_FILE_DB_PALI_SENTENCE_);
 
 
-    $query = "SELECT book,paragraph, word_begin as begin, word_end as end FROM "._TABLE_PALI_SENT_." WHERE book= ? AND (paragraph BETWEEN ? AND ? ) ";
+    $query = "SELECT book,paragraph, word_begin as begin, word_end as end FROM "._TABLE_PALI_SENT_." WHERE book= ? AND (paragraph BETWEEN ? AND ? )  order by paragraph,word_begin asc";
     $sent_list = PDO_FetchAll($query, array($_book, $paraBegin, $paraEnd));
     $sent_list = PDO_FetchAll($query, array($_book, $paraBegin, $paraEnd));
 	$iCurrPara=0;
 	$iCurrPara=0;
 	$output["sent_list"] = $sent_list;
 	$output["sent_list"] = $sent_list;
@@ -179,7 +197,7 @@ if ($FetchParInfo) {
 		$output["content"] .= "{{". $value["book"] . "-" . $value["paragraph"] . "-". $value["begin"] . "-" . $value["end"] . "}}";
 		$output["content"] .= "{{". $value["book"] . "-" . $value["paragraph"] . "-". $value["begin"] . "-" . $value["end"] . "}}";
 
 
 	}
 	}
-    
+    $output["content"] .= $sTocOutput;
     echo json_encode($output, JSON_UNESCAPED_UNICODE);
     echo json_encode($output, JSON_UNESCAPED_UNICODE);
 
 
 } else {
 } else {

+ 34 - 88
public/app/term/note.js

@@ -623,17 +623,17 @@ function onChannelChange() {
 	set_channal(channal_list.join());
 	set_channal(channal_list.join());
 }
 }
 //点击引用 需要响应的事件
 //点击引用 需要响应的事件
-function note_ref_init() {
+function note_ref_init(target='_blank') {
 	$("chapter").click(function () {
 	$("chapter").click(function () {
 		let bookid = $(this).attr("book");
 		let bookid = $(this).attr("book");
 		let para = $(this).attr("para");
 		let para = $(this).attr("para");
-		window.open("../article/?view=chapter&book=" + bookid + "&par=" + para, "_blank");
+		window.open("../article/?view=chapter&book=" + bookid + "&par=" + para, target);
 	});
 	});
 
 
 	$("para").click(function () {
 	$("para").click(function () {
 		let bookid = $(this).attr("book");
 		let bookid = $(this).attr("book");
 		let para = $(this).attr("para");
 		let para = $(this).attr("para");
-		window.open("../article/?view=para&book=" + bookid + "&par=" + para, "_blank");
+		window.open("../article/?view=para&book=" + bookid + "&par=" + para, target);
 	});
 	});
 }
 }
 /*
 /*
@@ -1576,6 +1576,32 @@ function hidden_control(obj) {
 	}
 	}
 }
 }
 
 
+function renderChannelButton(eChannel,obj){
+    let html="";
+    if (_channal.indexOf(eChannel.uid) < 0) {
+        html += '<li class="channel_name" onclick="';
+        html +=
+            "new_sentence('" +
+            $(obj).parent().attr("book") +
+            "' ,'" +
+            $(obj).parent().attr("para") +
+            "' ,'" +
+            $(obj).parent().attr("begin") +
+            "' ,'" +
+            $(obj).parent().attr("end") +
+            "' ,'" +
+            eChannel.uid +
+            "',this)";
+        html += '" title="' + eChannel.nickname;
+        html += '">' + eChannel.name;
+        if (parseInt(eChannel.power) < 20) {
+            html += "(建议)";
+        }
+        html += "</li>";
+    }
+    return html;
+}
+
 function add_new_tran_button_click(obj) {
 function add_new_tran_button_click(obj) {
 
 
 	let html = "<div style='display:flex; max-width: 70vw; white-space: normal;'>";
 	let html = "<div style='display:flex; max-width: 70vw; white-space: normal;'>";
@@ -1593,27 +1619,7 @@ function add_new_tran_button_click(obj) {
 	html += "</li>";
 	html += "</li>";
 	for (const iterator of _my_channal) {
 	for (const iterator of _my_channal) {
 		if (iterator.status > 0 && first_lang.indexOf(iterator.lang) != -1 && iterator.lang != 0) {
 		if (iterator.status > 0 && first_lang.indexOf(iterator.lang) != -1 && iterator.lang != 0) {
-			if (_channal.indexOf(iterator.id) < 0) {
-				html += '<li class="channel_name" onclick="';
-				html +=
-					"new_sentence('" +
-					$(obj).parent().attr("book") +
-					"' ,'" +
-					$(obj).parent().attr("para") +
-					"' ,'" +
-					$(obj).parent().attr("begin") +
-					"' ,'" +
-					$(obj).parent().attr("end") +
-					"' ,'" +
-					iterator.id +
-					"',this)";
-				html += '" title="' + iterator.nickname;
-				html += '">' + iterator.name;
-				if (parseInt(iterator.power) < 20) {
-					html += "(建议)";
-				}
-				html += "</li>";
-			}
+            html += renderChannelButton(iterator,obj);
 		}
 		}
 	}
 	}
 	html += "<li><a href='../channal/my_channal_index.php' target='_blank'><button>" + gLocal.gui.new + "&nbsp;" + gLocal.gui.channel + "</button></a></li>"
 	html += "<li><a href='../channal/my_channal_index.php' target='_blank'><button>" + gLocal.gui.new + "&nbsp;" + gLocal.gui.channel + "</button></a></li>"
@@ -1626,27 +1632,7 @@ function add_new_tran_button_click(obj) {
 	html += "</li>";
 	html += "</li>";
 	for (const iterator of _my_channal) {
 	for (const iterator of _my_channal) {
 		if (iterator.status > 0 && first_lang.indexOf(iterator.lang) == -1 && iterator.lang != 0) {
 		if (iterator.status > 0 && first_lang.indexOf(iterator.lang) == -1 && iterator.lang != 0) {
-			if (_channal.indexOf(iterator.id) < 0) {
-				html += '<li class="channel_name" onclick="';
-				html +=
-					"new_sentence('" +
-					$(obj).parent().attr("book") +
-					"' ,'" +
-					$(obj).parent().attr("para") +
-					"' ,'" +
-					$(obj).parent().attr("begin") +
-					"' ,'" +
-					$(obj).parent().attr("end") +
-					"' ,'" +
-					iterator.id +
-					"',this)";
-				html += '" title="' + iterator.nickname;
-				html += '">' + iterator.name;
-				if (parseInt(iterator.power) < 20) {
-					html += "(建议)";
-				}
-				html += "</li>";
-			}
+			html += renderChannelButton(iterator,obj);
 		}
 		}
 	}
 	}
 	html += "</ul>";
 	html += "</ul>";
@@ -1657,27 +1643,7 @@ function add_new_tran_button_click(obj) {
 	html += "</li>";
 	html += "</li>";
 	for (const iterator of _my_channal) {
 	for (const iterator of _my_channal) {
 		if (iterator.status > 0 && iterator.lang == 0 && checkStringIsChinese(iterator.name) == true) {
 		if (iterator.status > 0 && iterator.lang == 0 && checkStringIsChinese(iterator.name) == true) {
-			if (_channal.indexOf(iterator.id) < 0) {
-				html += '<li class="channel_name" onclick="';
-				html +=
-					"new_sentence('" +
-					$(obj).parent().attr("book") +
-					"' ,'" +
-					$(obj).parent().attr("para") +
-					"' ,'" +
-					$(obj).parent().attr("begin") +
-					"' ,'" +
-					$(obj).parent().attr("end") +
-					"' ,'" +
-					iterator.id +
-					"',this)";
-				html += '" title="' + iterator.nickname;
-				html += '">' + iterator.name;
-				if (parseInt(iterator.power) < 20) {
-					html += "(建议)";
-				}
-				html += "</li>";
-			}
+			html += renderChannelButton(iterator,obj);
 		}
 		}
 	}
 	}
 	html += "</ul>";
 	html += "</ul>";
@@ -1688,27 +1654,7 @@ function add_new_tran_button_click(obj) {
 	html += "</li>";
 	html += "</li>";
 	for (const iterator of _my_channal) {
 	for (const iterator of _my_channal) {
 		if (iterator.status > 0 && iterator.lang == 0 && checkStringIsChinese(iterator.name) == false) {
 		if (iterator.status > 0 && iterator.lang == 0 && checkStringIsChinese(iterator.name) == false) {
-			if (_channal.indexOf(iterator.id) < 0) {
-				html += '<li class="channel_name" onclick="';
-				html +=
-					"new_sentence('" +
-					$(obj).parent().attr("book") +
-					"' ,'" +
-					$(obj).parent().attr("para") +
-					"' ,'" +
-					$(obj).parent().attr("begin") +
-					"' ,'" +
-					$(obj).parent().attr("end") +
-					"' ,'" +
-					iterator.id +
-					"',this)";
-				html += '" title="' + iterator.nickname;
-				html += '">' + iterator.name;
-				if (parseInt(iterator.power) < 20) {
-					html += "(建议)";
-				}
-				html += "</li>";
-			}
+			html += renderChannelButton(iterator,obj);
 		}
 		}
 	}
 	}
 	html += "</ul>";
 	html += "</ul>";
@@ -1902,7 +1848,7 @@ function set_more_button_display() {
 function note_edit_sentence(book, para, begin, end, channal) {
 function note_edit_sentence(book, para, begin, end, channal) {
 	let channalInfo;
 	let channalInfo;
 	for (const iterator of _channalData) {
 	for (const iterator of _channalData) {
-		if (iterator.id == channal) {
+		if (iterator.uid == channal) {
 			channalInfo = iterator;
 			channalInfo = iterator;
 			break;
 			break;
 		}
 		}

Diferenças do arquivo suprimidas por serem muito extensas
+ 24 - 24
public/pali_title/172_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 18 - 18
public/pali_title/173_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 183 - 183
public/pali_title/174_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 25 - 25
public/pali_title/175_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 212 - 212
public/pali_title/176_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 36 - 36
public/pali_title/209_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 21 - 21
public/pali_title/214_pali.csv


+ 0 - 101
public/pali_title/64-pali.csv

@@ -1,101 +0,0 @@
-64,2,1,book,Visuddhimaggo
-64,4,5,subsubhead,Nidānādikathā
-64,60,2,chapter,1. Sīlaniddeso
-64,61,4,subhead,Sīlasarūpādikathā
-64,80,4,subhead,Sīlānisaṃsakathā
-64,104,4,subhead,Sīlappabhedakathā
-64,140,4,subhead,Pātimokkhasaṃvarasīlaṃ
-64,155,4,subhead,Indriyasaṃvarasīlaṃ
-64,167,4,subhead,Ājīvapārisuddhisīlaṃ
-64,190,4,subhead,Paccayasannissitasīlaṃ
-64,202,4,subhead,Catupārisuddhisampādanavidhi
-64,293,4,subhead,Paṭhamasīlapañcakaṃ
-64,337,4,subhead,Dutiyasīlapañcakaṃ
-64,342,4,subhead,Sīlasaṃkilesavodānaṃ
-64,417,2,chapter,2. Dhutaṅganiddeso
-64,438,4,subhead,1. Paṃsukūlikaṅgakathā
-64,455,4,subhead,2. Tecīvarikaṅgakathā
-64,466,4,subhead,3. Piṇḍapātikaṅgakathā
-64,482,4,subhead,4. Sapadānacārikaṅgakathā
-64,497,4,subhead,5. Ekāsanikaṅgakathā
-64,512,4,subhead,6. Pattapiṇḍikaṅgakathā
-64,523,4,subhead,7. Khalupacchābhattikaṅgakathā
-64,534,4,subhead,8. Āraññikaṅgakathā
-64,555,4,subhead,9. Rukkhamūlikaṅgakathā
-64,570,4,subhead,10. Abbhokāsikaṅgakathā
-64,583,4,subhead,11. Sosānikaṅgakathā
-64,600,4,subhead,12. Yathāsanthatikaṅgakathā
-64,613,4,subhead,13. Nesajjikaṅgakathā
-64,626,4,subhead,Dhutaṅgapakiṇṇakakathā
-64,649,2,chapter,3. Kammaṭṭhānaggahaṇaniddeso
-64,656,4,subhead,Samādhiekakadukavaṇṇanā
-64,661,4,subhead,Samādhitikavaṇṇanā
-64,666,4,subhead,Samādhicatukkavaṇṇanā
-64,679,4,subhead,Dasapalibodhavaṇṇanā
-64,707,4,subhead,Kammaṭṭhānadāyakavaṇṇanā
-64,727,4,subhead,Cariyāvaṇṇanā
-64,768,4,subhead,Cattālīsakammaṭṭhānavaṇṇanā
-64,805,2,chapter,4. Pathavīkasiṇaniddeso
-64,807,4,subhead,Ananurūpavihāro
-64,833,4,subhead,Anurūpavihāro
-64,836,4,subhead,Khuddakapalibodhā
-64,838,4,subhead,Bhāvanāvidhānaṃ
-64,854,4,subhead,Sattasappāyā
-64,867,4,subhead,Dasavidhaappanākosallaṃ
-64,913,4,subhead,Nimittābhimukhapaṭipādanaṃ
-64,924,4,subhead,Paṭhamajjhānakathā
-64,948,4,subhead,Pañcaṅgavippahīnādi
-64,952,4,subhead,Tividhakalyāṇaṃ
-64,964,4,subhead,Ciraṭṭhitisampādanaṃ
-64,974,4,subhead,Nimittavaḍḍhananayo
-64,980,4,subhead,Pañcavasīkathā
-64,987,4,subhead,Dutiyajjhānakathā
-64,999,4,subhead,Tatiyajjhānakathā
-64,1026,4,subhead,Catutthajjhānakathā
-64,1040,4,subhead,Pañcakajjhānakathā
-64,1048,2,chapter,5. Sesakasiṇaniddeso
-64,1049,4,subhead,Āpokasiṇakathā
-64,1054,4,subhead,Tejokasiṇakathā
-64,1058,4,subhead,Vāyokasiṇakathā
-64,1060,4,subhead,Nīlakasiṇakathā
-64,1062,4,subhead,Pītakasiṇakathā
-64,1064,4,subhead,Lohitakasiṇakathā
-64,1066,4,subhead,Odātakasiṇakathā
-64,1068,4,subhead,Ālokakasiṇakathā
-64,1070,4,subhead,Paricchinnākāsakasiṇakathā
-64,1079,4,subhead,Pakiṇṇakakathā
-64,1097,2,chapter,6. Asubhakammaṭṭhānaniddeso
-64,1098,4,subhead,Uddhumātakādipadatthavaṇṇanā
-64,1109,4,subhead,Uddhumātakakammaṭṭhānaṃ
-64,1135,4,subhead,Vinīlakādikammaṭṭhānāni
-64,1154,4,subhead,Pakiṇṇakakathā
-64,1183,2,chapter,7. Chaanussatiniddeso
-64,1184,4,subhead,1. Buddhānussatikathā
-64,1311,4,subhead,2. Dhammānussatikathā
-64,1333,4,subhead,3. Saṅghānussatikathā
-64,1355,4,subhead,4. Sīlānussatikathā
-64,1363,4,subhead,5. Cāgānussatikathā
-64,1373,4,subhead,6. Devatānussatikathā
-64,1381,4,subhead,Pakiṇṇakakathā
-64,1395,2,chapter,8. Anussatikammaṭṭhānaniddeso
-64,1396,4,subhead,Maraṇassatikathā
-64,1495,4,subhead,Kāyagatāsatikathā
-64,1537,4,subhead,Koṭṭhāsavavatthāpanakathā
-64,1596,4,subhead,Ānāpānassatikathā
-64,1723,4,subhead,Upasamānussatikathā
-64,1736,2,chapter,9. Brahmavihāraniddeso
-64,1737,4,subhead,Mettābhāvanākathā
-64,1917,4,subhead,Karuṇābhāvanākathā
-64,1924,4,subhead,Muditābhāvanākathā
-64,1930,4,subhead,Upekkhābhāvanākathā
-64,1935,4,subhead,Pakiṇṇakakathā
-64,1980,2,chapter,10. Āruppaniddeso
-64,1981,4,subhead,Paṭhamāruppavaṇṇanā
-64,2001,4,subhead,Viññāṇañcāyatanakathā
-64,2009,4,subhead,Ākiñcaññāyatanakathā
-64,2017,4,subhead,Nevasaññānāsaññāyatanakathā
-64,2032,4,subhead,Pakiṇṇakakathā
-64,2063,2,chapter,11. Samādhiniddeso
-64,2064,4,subhead,Āhārepaṭikkūlabhāvanā
-64,2098,4,subhead,Catudhātuvavatthānabhāvanā
-64,2225,4,subhead,Samādhiānisaṃsakathā

+ 0 - 579
public/pali_title/64.txt

@@ -1,579 +0,0 @@
-清净之道
-序论
-第一  说戒品
-一、什么是戒
-二、什么是戒的语义
-三、什么是戒的相(特相)、味(作用)、现起(现状)、足处(近因)
-四、什么是戒的功德
-五、戒有几种
-(一)一法(一种)
-(二)二法(七种)
-(三)三法(五种)
-(四)四法(四种)
-	第四种四法的说明
-	1)别解脱律仪戒
-	2)根律仪戒
-	3)活命遍净戒
-	4)资具依止戒
-(五)五法(二种)
-六、什么是戒的杂染
-七、什么是戒的净化
-
-第二  说头陀支品
-十三头陀支的语义
-头陀支的相、味、现起、足处
-头陀支的受持、规定、区别、破坏、功德
-一、粪扫衣支
-二、三衣支
-三、常乞食支
-四、次第乞食支
-五、一座食支
-六、一钵食支
-七、时后不食支
-八、阿练若住支
-九、树下住支
-十、露地住支
-十一、冢间住支
-十二、随处住支
-十三、常坐不卧支
-头陀等的善三法
-头陀等的分别
-头陀支的总与别
-
-第三  说取业处品
-一、什么是定
-二、什么是定的语义
-三、什么是定的相、味、现起、足处
-四、定有几种
-(一)一法(一种)
-(二)二法(四种)
-(三)三法(四种)
-(四)四法(六种)
-(五)五法(一种)
-五、什么是定的杂染
-六、什么是净化
-七、怎样修习
-(一)破除十种障碍──住所、家、利养、众、
-业、旅行、亲戚、病、读书、神变
-(二)亲近教授业处的善友
-(三)顺适自己的性行
-(1)性行的区别
-(2)性行的原因
-(3)性行的辨知法
-(4)性行者的适不适
-(四)四十业处──十遍、十不净、十随念、
-四梵住、四无色、一想、一差别
-(1)依名称的解释
-(2)依近行与安止的导入
-(3)依禅的区别
-(4)依超越
-(5)依增不增
-(6)依所缘
-(7)依地
-(8)依执取
-(9)依缘
-(10) 依性行的顺适
-
-第四  说地遍品
-(五)为修习于定,舍弃不适合的精舍而住于
-适合的精舍
-(1)不适于修定的精舍
-(2)住于适当的精舍
-(六)破除细障
-(七)修习法
-(1)地遍修习法
-1)四遍过失
-2)遍的作法
-3)修习法
-4)二种相
-5)二种定
-6)七种适不适
-7)十种安止善巧
-8)精进平等
-9)安止定的规定
-四种禅的修习法
-1)初禅
-初禅的舍断支
-初禅的相应支
-舍离五支、具备五支
-三种善与十相成就
-初禅的进展(1)行相的把握
-初禅的进展(2)障碍法的净化
-初禅的进展(3)似相的增大
-初禅的进展(4)五自在
-2)第二禅
-3)第三禅
-4)第四禅
-五种禅
-
-第五  说余遍品
-(2)水遍
-(3)火遍
-(4)风遍
-(5)青遍
-(6)黄遍
-(7)赤遍
-(8)白遍
-(9)光明遍
-(10) 限定虚空遍
-杂论十遍
-
-第六  说不净业处品
-十不净的语义
-修习法
-(一)膨胀相的修习法
-(1)为取不净相而前行的处所
-(2)四方诸相的考察
-(3)以十一种法取相
-(4)观察往来的路
-(5)安止的规定
-(二)青瘀相
-(三)脓烂相
-(四)断坏相
-(五)食残相
-(六)散乱相
-(七)斩斫离散相
-(八)血涂相
-(九)虫聚相
-(十)骸骨相
-杂论十不净
-
-第七  说六随念品
-十随念的语义
-(一)佛随念
-(二)法随念
-(三)僧随念
-(四)戒随念
-(五)舍随念
-(六)天随念
-杂论
-
-第八  说随念业处品
-(七)念死
-念死的修法之一
-念死的修法之二──另有八种修法
-念死的功德
-(八)身至念
-释身至念的圣典文句
-身至念的修法
-1)七种把持善巧
-2)十种作意善巧
-3)取三十二分身之相与厌恶性
-身至念的功德
-(九)安般念
-释安般念的圣典文句
-安般念的十六事
-第一四法的修习
-(1)数
-(2)随逐
-(3)触
-(4)安住
-(5)观察(6)还灭(7)遍净
-第二种四法
-第三种四法
-第四种四法
-安般念定的功德
-(十)寂止随念
-圣典的文句
-寂止随念的修法
-寂止随念的功德
-
-第九  说梵住品
-(一)慈的修习
-观察瞋恚之过及忍辱之德
-初学者当避免的慈的所缘
-不可对他修慈的人
-(1)对自己修慈
-(2)对可爱者修慈
-(3)对一切人修慈
-(4)对怨敌修慈
-(5)修平等慈
-释慈定的圣典文句
-种种的慈心解脱
-修慈的功德
-(二)悲的修习
-(三)喜的修习
-(四)舍的修习
-杂论四梵住
-慈悲喜舍的语义
-慈悲喜舍的相、味、现起、足处、成就、失败
-修四梵住的目的
-四梵住之敌
-四梵住的初中后
-增长四梵住的所缘
-四梵住的等流关系
-关于四梵住的四个问题
-四梵住与色界诸禅的关系
-四梵住所达的最高处
-四梵住为十波罗蜜等一切善法的圆满者
-
-第十  说无色品
-(一)空无边处业处
-空无边处业处的修法
-释空无边处业处的圣典文句
-(二)识无边处业处
-识无边处业处的修法
-释识无边处业处的圣典文句
-(三)无所有处业处
-无所有处业处的修法
-释无所有处业处的圣典文句
-(四)非想非非想处业处
-非想非非想处业处的修法
-释非想非非想处业处的圣典文句
-杂论
-超越所缘
-后后更胜妙于前前
-非想非非想处以无所有处为所缘的理由
-
-第十一  说定品
-(一)食厌想的修习
-食厌想的语义
-食厌想的修法
-食厌想的功德
-(二)四界差别的修习
-四界差别的语义
-四界差别的经典
-(1)大念处经说
-(2)大象迹喻经说
-四界差别的修法
-利慧者的修法之一
-利慧者的修法之二
-不很利慧者的修法
-1)以简略其机构而修习
-2)以分别其机构而修习
-1) 地界二十部分的作意
-2) 水界十二部分的作意
-3) 火界四部分的作意
-4) 风界六部分的作意
-3)以简略其相而修习
-4)以分别其相而修习
-十三行相的修法
-四界差别的功德
-论修定的结语
-(从第三品至第十一品,这九品都是说修定的。在第三品中提出第七怎样修习的问题,至此解释完毕)
-八、修定有什么功德
-(这是在第三品提出的第八个问题,说明修定有能得(一)现法乐住(二)毗钵舍那(三)神通(四)胜有(五)灭尽定等的功德)
-
-第十二  说神变品
-(第十二和十三两品,是解释上面提到修定有什么功德的问题中说『修定而有神通的功德』这一句的)
-一、神变论
-以十四行相调心
-神变修行的方法及引经的解释
-十种神变(决意神变、变化神变、意所成神变、智遍满神变、定遍满神变、圣神变、业报生神变,具福神变、咒术所成神变、彼彼处正加行缘成神变)
-(一)决意神变
-(1)一身成多身神变
-(2)多身成一身神变
-(3)显现神变
-(4)隐匿神变
-(5)不障碍神变
-(6)地中出没神变
-(7)水上不沉神变
-(8)飞行神变…
-(9)手触日月神变
-(10) 身自在神变
-(二)变化神变
-(三)意所成神变
-
-第十三  说神通品
-二、天耳界论
-三、他心智论
-四、宿住随念智论
-六种人的宿住随念
-世间的破坏
-(一)为火所坏
-(二)为水所坏
-(三)为风所坏
-世间毁灭的原由
-五、死生智论
-杂论五神通
-(一)神变智的所缘
-(二)天耳界智的所缘
-(三)他心智的所缘
-(四)宿住随念智的所缘
-(五)天眼智的所缘
-(六)未来分智的所缘
-(七)随业趣智的所缘
-(上二品是说修定有五神通的功德)(在戒定慧三学中,至此说完定学)
-
-第十四  说蕴品
-(下面十品是说慧学的)
-慧的总说
-一、什么是慧
-二、什么是慧的语义
-三、什么是慧的相、味、现起、足处
-四、慧有几种
-(一)一法(一种)
-(二)二法(五种)
-(三)三法(四种)
-(四)四法(二种)
-五、当如何修习
-慧地之一──五蕴的解释
-(一)色蕴
-(1)释二十四所造色
-(2)色的一法乃至五法
-(二)识蕴
-(1)八十九心
-(2)八十九心的十四作用
-(三)受蕴
-(四)想蕴
-(五)行蕴
-(1)与诸善心相应的行
-(2)与诸不善心相应的行
-(3)与异熟无记心相应的行
-(4)与唯作无记心相应的行
-(六)关于五蕴的杂论
-(1)五蕴的经文解释
-(2)关于五蕴的抉择说
-1)以次第
-2)以差别
-3)以不增减
-4)以譬喻
-5)以二种所见
-6)以如是见者的利益成就
-
-第十五  说处界品
-慧地之二──释十二处
-(一)以义
-(二)以相
-(三)以限量
-(四)以次第
-(五)以简略与详细
-(六)以所见
-慧地之三──释十八界
-(一)以义
-(二)以相等
-(三)以次第
-(四)以限量
-(五)以数
-(六)以缘
-(七)以所见
-
-第十六  说根谛品
-慧地之四──释二十二根
-(一)以义
-(二)以相等
-(三)以次第
-(四)以别无别
-(五)以作用
-(六)以地
-慧地之五──释四谛
-(一)以分别
-(二)以分解
-(三)以相等的区别
-(四)以义
-(五)以义的要略
-(六)以不增减
-(七)以次第
-(八)以生等的决定
-1)释苦
-2)释集
-3)释苦之灭
-4)释导至苦灭之道
-(九)以智作用
-(十)以内含的区别
-(十一)以譬喻
-(十二)以四法(四句分别)
-(十三)以空
-(十四)以一种等
-(十五)以同分、异分
-
-第十七  说慧地品
-慧地之六──释缘起
-(一)缘起的语义之一
-(二)缘起的语义之二
-(三)各缘起支的解释
-(1)无明缘行
-1)以说法的差别
-2)以义
-3)以相等
-4)以一种等
-5)以缘起支的差别
-1)释二十四缘
-2)无明与行的缘的关系
-(2)行缘识
-1)行与识的关系
-2)异熟识的转起及结生的活动
-3)三界诸趣的业与结生
-4)结生识与诸色法的关系
-5)行与识的缘的关系
-(3)识缘名色
-1)以名色的分别
-2)以于有等的转起
-3)以摄
-4)以缘的方法
-(4)名色缘六处
-1)名缘
-2)色缘
-3)名色缘
-(5)六处缘触
-(6)触缘受
-(7)受缘爱
-(8)爱缘取
-1)以义分别
-2)以法的广略
-3)依次序
-(9)取缘有
-1)以义
-2)以法
-3)以有用
-4)以区分
-5)以摄
-6)以什么为什么的缘
-(10) 有缘生、生缘老死等
-(四)十二缘起的杂论
-(1)十二缘起的特质
-1)无明由愁等而成就
-2)有轮而不知其始
-3)没有作者和受者
-4)十二种的性空故为空
-(2)三世两重因果
-1)二种有轮的三时
-2)三连结及四摄类
-3)二十行相的辐
-4)三轮转
-(3)缘起的决定说
-1)以谛的发生
-2)以作用
-3)以遮止
-4)以譬喻
-5)以甚深的差别
-6)以理法的差别
-(以上十四至十七品,是说慧的地。以下五品,是说慧的体)
-
-第十八  说见清净品
-慧体之一──见清净
-(一)名色的观察
-(1)简略的方法
-(2)四界的差别法
-(3)十八界的观察法
-(4)十二处的观察法
-(5)五蕴的观察法
-(6)简单的观察法
-(二)现起非色法的方法
-(1)由触现起非色法
-(2)由受现起非色法
-(3)由识现起非色法
-(三)依经典及譬喻而确定名色
-
-第十九  说度疑清净品
-慧体之二──度疑清净
-(一)把握名色之缘一
-(1)把握色身之缘
-(2)把握名身之缘
-(二)把握名色之缘二
-(三)把握名色之缘三
-(四)把握名色之缘四
-(五)把握名色之缘五
-(业轮转──包含十二种业)
-(六)遍知智──法住智
-
-第二十  说道非道智见清净品
-慧体之三──道非道智见清净
-三遍知
-(一)关于聚的思惟的圣典
-(二)以五蕴无常等的思惟
-(1)各各思惟的十一种
-(2)以四十行相思惟五蕴
-(三)色与非色的思惟法
-(1)以九行相而使诸根锐利
-(2)色的思惟法
-1)业等起色
-2)心等起色
-3)食等起色
-4)时节等起色
-(3)非色的思惟法
-(四)提起三相
-(1)以色的七法
-1)以取舍
-2)以年龄的增长而消灭
-3)以食所成
-4)以时节所成
-5)以业生
-6)以心等起
-7)以法性色
-(2)以非色七法
-1)以聚
-2)以双
-3)以剎那
-4)以次第
-5)以除见
-6)以去慢
-7)以破欲
-(五)十八大观
-(六)生灭随观智
-(1)五蕴的生灭观──五十相
-(2)以缘及剎那的生灭观
-1)四谛之理
-2)缘起等的种种理与相
-(七)十种观的染
-(1)光明
-(2)智
-(3)喜
-(4)轻安
-(5)乐
-(6)胜解
-(7)策励
-(8)现起
-(9)舍
-(10) 欲
-确定三谛
-
-第二十一  说行道智见清净品
-慧体之四──行道智见清净
-(一)生灭随观智
-(二)坏随观智
-(三)怖畏现起智
-(四)过患随观智
-(五)厌离随观智
-(六)欲解脱智
-(七)审察随观智
-(八)行舍智
-(1)观空
-一行相空与二行相空
-四行相空
-六行相空
-八行相空
-十行相空
-十二相空
-四十二相空
-(2)行舍智的结果
-1)三解脱门
-2)为七圣者的各别之缘
-(3)行舍智的三名
-(4)至出起观
-(5)至出起观的譬喻
-(6)行舍智的决定
-1)决定觉支、道支、禅支的差别
-2)决定行道的差别
-3)决定解脱的差别
-(九)随顺智
-
-第二十二  说智见清净品
-慧体之五  智见清净
-(一)四道智
-(1)须陀洹道智
-须陀洹果
-十九种观察
-(2)斯陀含道智
-斯陀含果
-(3)阿那含道智
-阿那含果
-(4)阿罗汉道智
-阿罗汉果
-(二)智见清净的威力
-(1)圆满三十七菩提分
-(2)出起与力的结合
-(3)断那应断的诸法
-(4)作用
-1)遍知
-2)断
-3)证
-4)修习
-(说慧体毕)
-第二十三  说修慧的功德品
-六、修慧有什么功德
-(一)摧破种种烦恼
-(二)尝受圣果之味
-(三)可能入于灭定
-(四)成就应供养者等等
-结论735

Diferenças do arquivo suprimidas por serem muito extensas
+ 32 - 32
public/pali_title/64_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 54 - 54
public/pali_title/65_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 7 - 7
public/pali_title/66_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 6 - 6
public/pali_title/67_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 518 - 518
public/pali_title/73_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 296 - 296
public/pali_title/77_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 780 - 780
public/pali_title/79_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 76 - 76
public/pali_title/96_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 5 - 5
public/pali_title/97_pali.csv


Diferenças do arquivo suprimidas por serem muito extensas
+ 12 - 12
public/pali_title/98_pali.csv


+ 280 - 0
public/pali_title/change-log.csv

@@ -0,0 +1,280 @@
+id,book,para,title,log
+2,1,2,Namakkārapāḷi
+159,1,159,Namakkāraṭīkā
+983,2,2,Mahāpaṇāmapāṭha
+1409,2,428,Tigumbacetiya thomanā
+1460,2,479,Vāsamālinīkya
+1828,3,2,Lakkhaṇāto
+2144,4,2,Suttavandanā
+2741,5,2,Jinālaṅkāra
+3766,6,2,Kamalāñjali
+4068,7,2,Pajjamadhu
+4594,8,2,Buddhaguṇagāthāvalī
+7052,9,2,Abhidhānappadīpikāṭīkā
+9766,10,2,Subodhālaṅkāro
+11086,11,2,Subodhālaṅkāraṭīkā
+13971,12,2,Bālāvatāra
+14818,13,2,Moggallānasuttapāṭho
+15921,13,1105,Moggallānabyākaraṇaṃ
+18080,14,2,Kaccāyanabyākaraṇaṃ
+18793,14,715,Mahākaccāyanasaddāpāṭha
+21566,15,2,Saddanītippakaraṇaṃ (padamālā)
+24546,16,2,Saddanītippakaraṇaṃ (dhātumālā)
+27947,17,2,Padarūpasiddhi
+32002,18,2,Moggallāna pañcikā ṭīkā
+33581,19,2,Payogasiddhipāḷi
+36074,20,2,Vuttodayaṃ
+36392,21,2,Abhidhānappadīpikā
+40355,22,2,Niruttidīpanīpāṭha
+46499,23,2,Paramatthadīpanī
+47997,24,2,Anudīpanīpāṭha
+48431,25,2,Paṭṭhānuddesa dīpanīpāṭha
+48680,26,2,Caturārakkhadīpanī
+50640,27,2,Kavidappaṇanīti
+51987,28,2,Nītimañjarī
+52230,29,2,Dhammanīti
+53563,30,2,Mahārahanīti
+54846,31,2,Lokanīti
+55722,32,2,Suttantanīti
+55854,32,134,Vasalasutta
+55988,33,2,Sūrassatīnīti
+56533,34,2,Cāṇakyanītipāḷi
+57085,35,2,Naradakkhadīpanī
+58932,36,2,Rasavāhinī
+61389,37,2,Sīmavisodhanī
+61822,38,2,Vessantarāgīti
+64436,39,3,(saṅgayana-puccha vissajjanā) Dīghanikāye
+64785,40,3,(saṅgayana-puccha vissajjanā) Majjhimanikāya
+65473,41,3,(saṅgayana-puccha vissajjanā) Saṃyuttanikāye
+66729,42,3,(saṅgayana-puccha vissajjanā) Aṅguttaranikāye
+67635,43,2,(saṅgayana-puccha vissajjanā) Vinayapiṭaka
+69189,44,2,(saṅgayana-puccha vissajjanā) Abhidhammapiṭaka
+69485,45,2,(saṅgayana-puccha vissajjanā) Aṭṭhakathā
+69987,46,1,Milidaṭīkā
+71227,47,1,Padamañjarī 
+72867,48,1,Padasādhanaṃ 
+73962,49,1,Saddabindu pakaraṇaṃ
+74045,50,1,Kaccāyana  dhātu mañjūsā
+74539,51,1,Samantakūṭavaṇṇanā 
+77596,52,1,Moggallāna vuttivivaraṇapañcikā. 
+79299,53,1,Thupavaṃso 
+80008,54,1,Dāṭhāvaṃso 
+81650,55,1,Dhātupāṭha  vilāsiniyā
+81768,56,1,Dhātuvaṃso 
+82259,57,1,Hatthavanagallavihāra  vaṃso
+82623,58,1,Jinacaritaya 
+84272,59,1,Jinavaṃsadīpaṃ 
+94179,60,1,Telakaṭāhagāthā 
+94681,61,2,Cūḷaganthavaṃsapāḷi
+94833,62,2,Sāsanavaṃsappadīpikā
+95804,63,2,Mahāvaṃsapāḷi
+111748,64,2,Visuddhimaggo(Paṭhamo bhāgo),22-5-12
+113988,65,2,Visuddhimaggo(Dutiyo bhāgo),22-5-12
+116180,66,2,Visuddhimagga-mahāṭīkā(Paṭhamo bhāgo),22-5-13
+117793,67,2,Visuddhimagga-mahāṭīkā(Dutiyo bhāgo),22-5-13
+119644,68,2,Visuddhimagga nidānakathā
+120626,69,3,Paṭṭhānapāḷi(Dutiyo bhāgo)
+124867,70,3,Paṭṭhānapāḷi(Tatiyo bhāgo)
+130871,71,3,Paṭṭhānapāḷi(Catuttho bhāgo)
+138917,72,3,Paṭṭhānapāḷi(Pañcamo bhāgo)
+144086,73,3,Dhammasaṅgaṇīpāḷi,22-5-14
+146522,74,3,Vibhaṅgapāḷi
+149949,75,3,Dhātukathāpāḷi
+150622,76,3,Puggalapaññattipāḷi
+151183,77,3,Kathāvatthupāḷi,22-5-14
+154643,78,3,Yamakapāḷi (paṭhamo bhāgo)
+159417,79,3,Yamakapāḷi (dutiyo bhāgo),22-5-14
+163276,80,3,Yamakapāḷi (tatiyo bhāgo)
+168862,81,3,Paṭṭhānapāḷi(Paṭhamo bhāgo)
+173163,82,3,Dasakanipātapāḷi
+174767,83,3,Ekādasakanipātapāḷi
+175012,84,3,Ekakanipātapāḷi
+175412,85,3,Dukanipātapāḷi
+175730,86,3,Tikanipātapāḷi
+177066,87,3,Catukkanipātapāḷi
+179016,88,3,Pañcakanipātapāḷi
+180648,89,3,Chakkanipātapāḷi
+181505,90,3,Sattakanipātapāḷi
+182296,91,3,Aṭṭhakanipātapāḷi
+183337,92,3,Navakanipātapāḷi
+183839,93,3,(DN) Sīlakkhandhavaggapāḷi
+184913,94,3,(DN) Mahāvaggapāḷi
+186472,95,3,(DN) Pāthikavaggapāḷi
+188383,96,4,Dhammasaṅgaṇī-aṭṭhakathā,22-5-12
+190872,97,4,Vibhaṅga-aṭṭhakathā,22-5-12
+193218,98,4,Dhātukathā-aṭṭhakathā,22-5-12
+193387,98,173,Puggalapaññatti-aṭṭhakathā,22-5-12
+193688,98,474,Kathāvatthu-aṭṭhakathā,22-5-12
+194837,98,1623,Yamakappakaraṇa-aṭṭhakathā,22-5-12
+195094,98,1880,Paṭṭhānappakaraṇa-aṭṭhakathā,22-5-12
+195828,99,3,Ekakanipāta-aṭṭhakathā
+197452,100,3,Dukanipāta-aṭṭhakathā
+197774,100,325,Tikanipāta-aṭṭhakathā
+198446,100,997,Catukkanipāta-aṭṭhakathā
+199174,101,3,Pañcakanipāta-aṭṭhakathā
+199674,101,503,Chakkanipāta-aṭṭhakathā
+199963,101,792,Sattakanipāta-aṭṭhakathā
+200159,102,3,Aṭṭhakanipāta-aṭṭhakathā
+200431,102,275,Navakanipāta-aṭṭhakathā
+200565,102,409,Dasakanipāta-aṭṭhakathā
+200862,102,706,Ekādasakanipāta-aṭṭhakathā
+200955,103,3,(DN) Sīlakkhandhavaggaṭṭhakathā
+202462,104,3,(DN) Mahāvaggaṭṭhakathā
+204174,105,3,(DN) Pāthikavaggaṭṭhakathā
+205305,106,3,Therīgāthā-aṭṭhakathā
+209853,107,3,Apadāna-aṭṭhakathā
+213728,108,3,Buddhavaṃsa-aṭṭhakathā
+217865,109,3,Cariyāpiṭaka-aṭṭhakathā
+219992,110,4,Jātaka-aṭṭhakathā(Paṭhamo bhāgo)
+223108,111,3,Jātaka-aṭṭhakathā(Dutiyo bhāgo)
+226106,112,4,Jātaka-aṭṭhakathā(Tatiyo bhāgo)
+230974,113,4,Jātaka-aṭṭhakathā(Catuttho bhāgo)
+236282,113,5312,Jātaka-aṭṭhakathā(Pañcamo bhāgo 16)
+237709,114,1,Jātaka-aṭṭhakathā(Pañcamo bhāgo 17-21)
+242790,115,3,Jātaka-aṭṭhakathā(Chaṭṭho bhāgo)
+246478,116,3,Khuddakapāṭha-aṭṭhakathā
+247713,117,3,Jātaka-aṭṭhakathā(Sattamo bhāgo)
+254176,118,3,Mahāniddesa-aṭṭhakathā
+256009,119,3,Cūḷaniddesa-aṭṭhakathā
+256762,120,3,Paṭisambhidāmagga-aṭṭhakathā
+259288,121,3,Nettippakaraṇa-aṭṭhakathā
+260384,122,3,Dhammapada-aṭṭhakathā
+265615,123,3,Udāna-aṭṭhakathā
+267303,124,3,Itivuttaka-aṭṭhakathā
+269062,125,3,Suttanipāta-aṭṭhakathā
+271751,126,3,Vimānavatthu-aṭṭhakathā
+275768,127,3,Petavatthu-aṭṭhakathā
+279004,128,3,Theragāthā-aṭṭhakathā(Paṭhamo bhāgo)
+284416,129,3,Theragāthā-aṭṭhakathā(Dutiyo bhāgo)
+291023,130,3,(MN) Mūlapaṇṇāsa-aṭṭhakathā
+293935,131,3,(MN) Majjhimapaṇṇāsa-aṭṭhakathā
+295274,132,3,(MN) Uparipaṇṇāsa-aṭṭhakathā
+296381,133,3,(SN) Sagāthāvagga-aṭṭhakathā
+297859,134,3,(SN) Nidānavagga-aṭṭhakathā
+298837,135,3,(SN) Khandhavagga-aṭṭhakathā
+299328,136,3,(SN) Saḷāyatanavagga-aṭṭhakathā
+300127,137,3,(SN) Mahāvagga-aṭṭhakathā
+301143,138,3,Pārājikakaṇḍa-aṭṭhakathā
+304117,139,3,(SP) Pācittiya-aṭṭhakathā
+305583,140,3,(SP) Mahāvagga-aṭṭhakathā
+306506,141,3,(SP) Cūḷavagga-aṭṭhakathā
+307175,142,3,(SP) Parivāra-aṭṭhakathā
+307836,143,3,Therāpadānapāḷi(Paṭhamo bhāgo)
+322482,144,3,Therāpadānapāḷi(Dutiyo bhāgo)
+329013,144,6534,Therīapadānapāḷi
+333155,145,3,Buddhavaṃsapāḷi
+336437,146,3,Cariyāpiṭakapāḷi
+337636,147,3,Jātakapāḷi(Dutiyo bhāgo)
+349164,148,3,Jātakapāḷi(Paṭhamo bhāgo)
+359670,149,3,Mahāniddesapāḷi
+362597,150,3,Cūḷaniddesapāḷi
+365368,151,3,Paṭisambhidāmaggapāḷi
+367412,152,3,Milindapañhapāḷi
+369905,153,3,Nettippakaraṇapāḷi
+371529,154,3,Khuddakapāṭhapāḷi
+371805,155,3,Peṭakopadesapāḷi
+373022,156,3,Dhammapadapāḷi
+374416,157,3,Udānapāḷi
+375381,158,3,Itivuttakapāḷi
+376575,159,3,Suttanipātapāḷi
+380626,160,3,Vimānavatthupāḷi
+383905,161,3,Petavatthupāḷi
+386560,162,3,Theragāthāpāḷi
+391229,163,3,Therīgāthāpāḷi
+393014,164,3,(MN)Mūlapaṇṇāsapāḷi
+394811,165,3,(MN)Majjhimapaṇṇāsapāḷi
+396501,166,3,(MN)Uparipaṇṇāsapāḷi
+397964,167,3,(SN)Sagāthāvaggo
+401462,168,3,(SN)Nidānavaggo
+402889,169,3,(SN)Khandhavaggo
+404356,170,3,(SN)Saḷāyatanavaggo
+406376,171,3,(SN)Mahāvaggo
+409228,172,3,Dhammasaṅgaṇī-mūlaṭīkā,22-5-13
+409950,173,3,Vibhaṅga-mūlaṭīkā,22-5-13
+411102,173,1155,Vibhaṅga-anuṭīkā,22-5-13
+412170,174,4,Dhātukathāpakaraṇa-mūlaṭīkā,22-5-13
+412266,174,100,Puggalapaññattipakaraṇa-mūlaṭīkā,22-5-13
+412367,174,201,Kathāvatthupakaraṇa-mūlaṭīkā,22-5-13
+413031,174,865,Yamakapakaraṇa-mūlaṭīkā,22-5-13
+413225,174,1059,Paṭṭhānapakaraṇa-mūlaṭīkā,22-5-13
+413656,175,3,Dhammasaṅgaṇī-anuṭīkā,22-5-13
+414382,176,4,Dhātukathāpakaraṇa-anuṭīkā,22-5-13
+414495,176,117,Puggalapaññattipakaraṇa-anuṭīkā,22-5-13
+414591,176,213,Kathāvatthupakaraṇa-anuṭīkā,22-5-13
+415295,176,917,Yamakapakaraṇa-anuṭīkā,22-5-13
+415517,176,1139,Paṭṭhānapakaraṇa-anuṭīkā,22-5-13
+415891,177,2,Abhidhammāvatāro
+420694,177,4805,Nāmarūpaparicchedo
+426516,177,10627,Paramatthavinicchayo
+430161,177,14272,Saccasaṅkhepo
+431390,178,2,Abhidhammatthasaṅgaho
+432263,178,875,Abhidhammatthavibhāvinīṭīkā
+433228,179,2,Abhidhammāvatāra-purāṇaṭīkā
+434098,179,872,Abhidhammāvatāra-abhinavaṭīkā
+435826,180,2,Abhidhammamātikāpāḷi
+437045,180,1221,Mohavicchedanī
+438653,181,3,Ekakanipāta-ṭīkā
+439826,182,3,Dukanipāta-ṭīkā
+440147,182,324,Tikanipāta-ṭīkā
+440846,182,1023,Catukkanipāta-ṭīkā
+441751,183,3,Pañcakanipāta-ṭīkā
+442218,183,470,Chakkanipāta-ṭīkā
+442541,183,793,Sattakanipāta-ṭīkā
+442777,184,3,Aṭṭhakanipāta-ṭīkā
+443052,184,278,Navakanipāta-ṭīkā
+443240,184,466,Dasakanipāta-ṭīkā
+443550,184,776,Ekādasakanipāta-ṭīkā
+443645,185,3,(DN)Sīlakkhandhavaggaṭīkā
+445036,186,3,(DN)Mahāvaggaṭīkā
+446531,187,3,(DN)Pāthikavaggaṭīkā
+447663,188,3,(DN)Sīlakkhandhavaggaabhinavaṭīkā
+449237,189,3,(DN)Sīlakkhandhavaggaabhinavaṭīkā
+450603,190,3,Nettippakaraṇa-ṭīkā
+451367,191,3,Nettivibhāvinī
+453037,192,3,(MN)Mūlapaṇṇāsa-ṭīkā
+455425,193,3,(MN)Majjhimapaṇṇāsa-ṭīkā
+456331,194,3,(MN)Uparipaṇṇāsa-ṭīkā
+457189,195,3,(SN)Sagāthāvagga-ṭīkā
+458894,196,3,(SN)Nidānavagga-ṭīkā
+459921,197,3,(SN)Khandhavagga-ṭīkā
+460441,198,3,(SN)Saḷāyatanavagga-ṭīkā
+461170,199,3,(SN)Mahāvagga-ṭīkā
+462019,200,2,Vinayavinicchayo
+472193,200,10176,Uttaravinicchayo
+475300,201,2,Vinayavinicchaya-ṭīkā
+479568,201,4270,Uttaravinicchaya-ṭīkā
+480425,202,3,Pācityādiyojanā
+483417,203,3,Khuddasikkhā
+485034,203,1620,Khuddasikkhā-purāṇaṭīkā
+485775,203,2361,Khuddasikkhā-abhinavaṭīkā
+486514,203,3100,Mūlasikkhā
+486895,203,3481,Mūlasikkhā-ṭīkā
+487048,204,3,Sāratthadīpanī-ṭīkā (paṭhamo bhāgo)
+488707,205,3,(SAD) Pārājika-ṭīkā
+490367,206,3,(SAD) Pācittiya-ṭīkā
+491081,206,717,(SAD) Mahāvagga-ṭīkā
+492117,206,1753,(SAD) Cūḷavagga-ṭīkā
+492518,206,2154,(SAD) Parivāra-ṭīkā
+492768,207,3,Bhikkhupātimokkhapāḷi
+493289,207,524,Bhikkhunīpātimokkhapāḷi
+493980,207,1215,Kaṅkhāvitaraṇī-aṭṭhakathā
+495481,208,3,Vinayasaṅgaha-aṭṭhakathā
+497154,209,3,Vajirabuddhi-ṭīkā
+497317,209,166,Pārājikavaṇṇanā
+498143,209,992,Pācittiyavaṇṇanā
+498859,209,1708,Mahāvaggavaṇṇanā
+499368,209,2217,Cūḷavaggavaṇṇanā
+499579,209,2428,Parivāravaṇṇanā
+499827,210,3,Bhikkhuvibhaṅgavaṇṇanā
+501482,210,1658,Bhikkhunīvibhaṅgavaṇṇanā
+501603,210,1779,Mahāvaggavaṇṇanā
+502255,210,2431,Cūḷavaggavaṇṇanā
+502616,210,2792,Parivāravaṇṇanā
+502964,211,3,Vinayālaṅkāra-ṭīkā
+505377,212,2,Kaṅkhāvitaraṇīpurāṇa-ṭīkā
+506046,212,671,Kaṅkhāvitaraṇī-abhinavaṭīkā
+507895,213,3,(VN)Pārājikapāḷi
+510372,214,3,(VN)Pācittiyapāḷi,2022-5-19
+514062,215,3,(VN)Mahāvaggapāḷi
+516821,216,3,(VN)Cūḷavaggapāḷi
+519642,217,3,(VN)Parivārapāḷi

+ 228 - 228
public/pali_title/pali_serieses.csv

@@ -1,112 +1,112 @@
 "id","book","paragraph","title"
 "id","book","paragraph","title"
-1,1,2,Namakkārapāḷi
-2,1,159,Namakkāraṭīkā
-3,2,2,Mahāpaṇāmapāṭha
-4,2,428,Tigumbacetiya thomanā
-5,2,479,Vāsamālinīkya
-6,3,2,Lakkhaṇāto
-7,4,2,Suttavandanā
-8,5,2,Jinālaṅkāra
-9,6,2,Kamalāñjali
-10,7,2,Pajjamadhu
-11,8,2,Buddhaguṇagāthāvalī
-12,9,2,Abhidhānappadīpikāṭīkā
-13,10,2,Subodhālaṅkāro
-14,11,2,Subodhālaṅkāraṭīkā
-15,12,2,Bālāvatāra
-16,13,2,Moggallānasuttapāṭho
-17,13,1105,Moggallānabyākaraṇaṃ
-18,14,2,Kaccāyanabyākaraṇaṃ
-19,14,715,Mahākaccāyanasaddāpāṭha
-20,15,2,Saddanītippakaraṇaṃ (padamālā)
-21,16,2,Saddanītippakaraṇaṃ (dhātumālā)
-22,17,2,Padarūpasiddhi
-23,18,2,Moggallāna pañcikā ṭīkā
-24,19,2,Payogasiddhipāḷi
-25,20,2,Vuttodayaṃ
-26,21,2,Abhidhānappadīpikā
-27,22,2,Niruttidīpanīpāṭha
-28,23,2,Paramatthadīpanī
-29,24,2,Anudīpanīpāṭha
-30,25,2,Paṭṭhānuddesa dīpanīpāṭha
-31,26,2,Caturārakkhadīpanī
-32,27,2,Kavidappaṇanīti
-33,28,2,Nītimañjarī
-34,29,2,Dhammanīti
-35,30,2,Mahārahanīti
-36,31,2,Lokanīti
-37,32,2,Suttantanīti
-38,32,134,Vasalasutta
-39,33,2,Sūrassatīnīti
-40,34,2,Cāṇakyanītipāḷi
-41,35,2,Naradakkhadīpanī
-42,36,2,Rasavāhinī
-43,37,2,Sīmavisodhanī
-44,38,2,Vessantarāgīti
-45,39,3,(saṅgayana-puccha vissajjanā) Dīghanikāye
-46,40,3,(saṅgayana-puccha vissajjanā) Majjhimanikāya
-47,41,3,(saṅgayana-puccha vissajjanā) Saṃyuttanikāye
-48,42,3,(saṅgayana-puccha vissajjanā) Aṅguttaranikāye
-49,43,2,(saṅgayana-puccha vissajjanā) Vinayapiṭaka
-50,44,2,(saṅgayana-puccha vissajjanā) Abhidhammapiṭaka
-51,45,2,(saṅgayana-puccha vissajjanā) Aṭṭhakathā
-52,46,1,Milidaṭīkā
-53,47,1,Padamañjarī 
-54,48,1,Padasādhanaṃ 
-55,49,1,Saddabindu pakaraṇaṃ
-56,50,1,Kaccāyana  dhātu mañjūsā
-57,51,1,Samantakūṭavaṇṇanā 
-58,52,1,Moggallāna vuttivivaraṇapañcikā. 
-59,53,1,Thupavaṃso 
-60,54,1,Dāṭhāvaṃso 
-61,55,1,Dhātupāṭha  vilāsiniyā
-62,56,1,Dhātuvaṃso 
-63,57,1,Hatthavanagallavihāra  vaṃso
-64,58,1,Jinacaritaya 
-65,59,1,Jinavaṃsadīpaṃ 
-66,60,1,Telakaṭāhagāthā 
-67,61,2,Cūḷaganthavaṃsapāḷi
-68,62,2,Sāsanavaṃsappadīpikā
-69,63,2,Mahāvaṃsapāḷi
-70,64,2,Visuddhimaggo
-71,65,2,Visuddhimaggo
-72,66,2,Visuddhimagga-mahāṭīkā
-73,67,2,Visuddhimagga-mahāṭīkā
-74,68,2,Visuddhimagga nidānakathā
-75,69,3,Paṭṭhānapāḷi
-76,70,3,Paṭṭhānapāḷi
-77,71,3,Paṭṭhānapāḷi
-78,72,3,Paṭṭhānapāḷi
-79,73,3,Dhammasaṅgaṇīpāḷi
-80,74,3,Vibhaṅgapāḷi
-81,75,3,Dhātukathāpāḷi
-82,76,3,Puggalapaññattipāḷi
-83,77,3,Kathāvatthupāḷi
-84,78,3,Yamakapāḷi
-85,79,3,Yamakapāḷi
-86,80,3,Yamakapāḷi
-87,81,3,Paṭṭhānapāḷi
-88,82,3,Dasakanipātapāḷi
-89,83,3,Ekādasakanipātapāḷi
-90,84,3,Ekakanipātapāḷi
-91,85,3,Dukanipātapāḷi
-92,86,3,Tikanipātapāḷi
-93,87,3,Catukkanipātapāḷi
-94,88,3,Pañcakanipātapāḷi
-95,89,3,Chakkanipātapāḷi
-96,90,3,Sattakanipātapāḷi
-97,91,3,Aṭṭhakanipātapāḷi
-98,92,3,Navakanipātapāḷi
+1,1,2,namakkārapāḷi
+2,1,159,namakkāraṭīkā
+3,2,2,mahāpaṇāmapāṭha
+4,2,428,tigumbacetiya thomanā
+5,2,479,vāsamālinīkya
+6,3,2,lakkhaṇāto
+7,4,2,suttavandanā
+8,5,2,jinālaṅkāra
+9,6,2,kamalāñjali
+10,7,2,pajjamadhu
+11,8,2,buddhaguṇagāthāvalī
+12,9,2,abhidhānappadīpikāṭīkā
+13,10,2,subodhālaṅkāro
+14,11,2,subodhālaṅkāraṭīkā
+15,12,2,bālāvatāra
+16,13,2,moggallānasuttapāṭho
+17,13,1105,moggallānabyākaraṇaṃ
+18,14,2,kaccāyanabyākaraṇaṃ
+19,14,715,mahākaccāyanasaddāpāṭha
+20,15,2,saddanītippakaraṇaṃ (padamālā)
+21,16,2,saddanītippakaraṇaṃ (dhātumālā)
+22,17,2,padarūpasiddhi
+23,18,2,moggallāna pañcikā ṭīkā
+24,19,2,payogasiddhipāḷi
+25,20,2,vuttodayaṃ
+26,21,2,abhidhānappadīpikā
+27,22,2,niruttidīpanīpāṭha
+28,23,2,paramatthadīpanī
+29,24,2,anudīpanīpāṭha
+30,25,2,paṭṭhānuddesa dīpanīpāṭha
+31,26,2,caturārakkhadīpanī
+32,27,2,kavidappaṇanīti
+33,28,2,nītimañjarī
+34,29,2,dhammanīti
+35,30,2,mahārahanīti
+36,31,2,lokanīti
+37,32,2,suttantanīti
+38,32,134,vasalasutta
+39,33,2,sūrassatīnīti
+40,34,2,cāṇakyanītipāḷi
+41,35,2,naradakkhadīpanī
+42,36,2,rasavāhinī
+43,37,2,sīmavisodhanī
+44,38,2,vessantarāgīti
+45,39,3,(saṅgayana-puccha vissajjanā) dīghanikāye
+46,40,3,(saṅgayana-puccha vissajjanā) majjhimanikāya
+47,41,3,(saṅgayana-puccha vissajjanā) saṃyuttanikāye
+48,42,3,(saṅgayana-puccha vissajjanā) aṅguttaranikāye
+49,43,2,(saṅgayana-puccha vissajjanā) vinayapiṭaka
+50,44,2,(saṅgayana-puccha vissajjanā) abhidhammapiṭaka
+51,45,2,(saṅgayana-puccha vissajjanā) aṭṭhakathā
+52,46,1,milidaṭīkā
+53,47,1,padamañjarī 
+54,48,1,padasādhanaṃ 
+55,49,1,saddabindu pakaraṇaṃ
+56,50,1,kaccāyana  dhātu mañjūsā
+57,51,1,samantakūṭavaṇṇanā 
+58,52,1,moggallāna vuttivivaraṇapañcikā. 
+59,53,1,thupavaṃso 
+60,54,1,dāṭhāvaṃso 
+61,55,1,dhātupāṭha  vilāsiniyā
+62,56,1,dhātuvaṃso 
+63,57,1,hatthavanagallavihāra  vaṃso
+64,58,1,jinacaritaya 
+65,59,1,jinavaṃsadīpaṃ 
+66,60,1,telakaṭāhagāthā 
+67,61,2,cūḷaganthavaṃsapāḷi
+68,62,2,sāsanavaṃsappadīpikā
+69,63,2,mahāvaṃsapāḷi
+70,64,2,visuddhimaggo
+71,65,2,visuddhimaggo
+72,66,2,visuddhimagga-mahāṭīkā
+73,67,2,visuddhimagga-mahāṭīkā
+74,68,2,visuddhimagga nidānakathā
+75,69,3,paṭṭhānapāḷi
+76,70,3,paṭṭhānapāḷi
+77,71,3,paṭṭhānapāḷi
+78,72,3,paṭṭhānapāḷi
+79,73,3,dhammasaṅgaṇīpāḷi
+80,74,3,vibhaṅgapāḷi
+81,75,3,dhātukathāpāḷi
+82,76,3,puggalapaññattipāḷi
+83,77,3,kathāvatthupāḷi
+84,78,3,yamakapāḷi
+85,79,3,yamakapāḷi
+86,80,3,yamakapāḷi
+87,81,3,paṭṭhānapāḷi
+88,82,3,dasakanipātapāḷi
+89,83,3,ekādasakanipātapāḷi
+90,84,3,ekakanipātapāḷi
+91,85,3,dukanipātapāḷi
+92,86,3,tikanipātapāḷi
+93,87,3,catukkanipātapāḷi
+94,88,3,pañcakanipātapāḷi
+95,89,3,chakkanipātapāḷi
+96,90,3,sattakanipātapāḷi
+97,91,3,aṭṭhakanipātapāḷi
+98,92,3,navakanipātapāḷi
 99,93,3,dīghanikāyapāḷi
 99,93,3,dīghanikāyapāḷi
 100,94,3,dīghanikāyapāḷi
 100,94,3,dīghanikāyapāḷi
 101,95,3,dīghanikāyapāḷi
 101,95,3,dīghanikāyapāḷi
-102,96,4,Dhammasaṅgaṇī-aṭṭhakathā
-103,97,4,Vibhaṅga-aṭṭhakathā
-104,98,4,Dhātukathā-aṭṭhakathā
-105,98,173,Puggalapaññatti-aṭṭhakathā
-106,98,474,Kathāvatthu-aṭṭhakathā
-107,98,1623,Yamakappakaraṇa-aṭṭhakathā
-108,98,1880,Paṭṭhānappakaraṇa-aṭṭhakathā
+102,96,4,dhammasaṅgaṇī-aṭṭhakathā
+103,97,4,vibhaṅga-aṭṭhakathā
+104,98,4,dhātukathā-aṭṭhakathā
+105,98,173,puggalapaññatti-aṭṭhakathā
+106,98,474,kathāvatthu-aṭṭhakathā
+107,98,1623,yamakappakaraṇa-aṭṭhakathā
+108,98,1880,paṭṭhānappakaraṇa-aṭṭhakathā
 109,99,3,manorathapūraṇī
 109,99,3,manorathapūraṇī
 110,100,3,manorathapūraṇī
 110,100,3,manorathapūraṇī
 111,100,325,manorathapūraṇī
 111,100,325,manorathapūraṇī
@@ -121,31 +121,31 @@
 120,103,3,sumaṅgalavilāsinī
 120,103,3,sumaṅgalavilāsinī
 121,104,3,sumaṅgalavilāsinī
 121,104,3,sumaṅgalavilāsinī
 122,105,3,sumaṅgalavilāsinī
 122,105,3,sumaṅgalavilāsinī
-123,106,3,Therīgāthā-aṭṭhakathā
-124,107,3,Apadāna-aṭṭhakathā
-125,108,3,Buddhavaṃsa-aṭṭhakathā
-126,109,3,Cariyāpiṭaka-aṭṭhakathā
-127,110,4,Jātaka-aṭṭhakathā
-128,111,3,Jātaka-aṭṭhakathā
-129,112,4,Jātaka-aṭṭhakathā
-130,113,4,Jātaka-aṭṭhakathā
-131,113,5312,Jātaka-aṭṭhakathā
-132,114,1,Jātaka-aṭṭhakathā
-133,115,3,Jātaka-aṭṭhakathā
-134,116,3,Khuddakapāṭha-aṭṭhakathā
-135,117,3,Jātaka-aṭṭhakathā
-136,118,3,Mahāniddesa-aṭṭhakathā
-137,119,3,Cūḷaniddesa-aṭṭhakathā
-138,120,3,Paṭisambhidāmagga-aṭṭhakathā
-139,121,3,Nettippakaraṇa-aṭṭhakathā
-140,122,3,Dhammapada-aṭṭhakathā
-141,123,3,Udāna-aṭṭhakathā
-142,124,3,Itivuttaka-aṭṭhakathā
-143,125,3,Suttanipāta-aṭṭhakathā
-144,126,3,Vimānavatthu-aṭṭhakathā
-145,127,3,Petavatthu-aṭṭhakathā
-146,128,3,Theragāthā-aṭṭhakathā
-147,129,3,Theragāthā-aṭṭhakathā
+123,106,3,therīgāthā-aṭṭhakathā
+124,107,3,apadāna-aṭṭhakathā
+125,108,3,buddhavaṃsa-aṭṭhakathā
+126,109,3,cariyāpiṭaka-aṭṭhakathā
+127,110,4,jātaka-aṭṭhakathā
+128,111,3,jātaka-aṭṭhakathā
+129,112,4,jātaka-aṭṭhakathā
+130,113,4,jātaka-aṭṭhakathā
+131,113,5312,jātaka-aṭṭhakathā
+132,114,1,jātaka-aṭṭhakathā
+133,115,3,jātaka-aṭṭhakathā
+134,116,3,khuddakapāṭha-aṭṭhakathā
+135,117,3,jātaka-aṭṭhakathā
+136,118,3,mahāniddesa-aṭṭhakathā
+137,119,3,cūḷaniddesa-aṭṭhakathā
+138,120,3,paṭisambhidāmagga-aṭṭhakathā
+139,121,3,nettippakaraṇa-aṭṭhakathā
+140,122,3,dhammapada-aṭṭhakathā
+141,123,3,udāna-aṭṭhakathā
+142,124,3,itivuttaka-aṭṭhakathā
+143,125,3,suttanipāta-aṭṭhakathā
+144,126,3,vimānavatthu-aṭṭhakathā
+145,127,3,petavatthu-aṭṭhakathā
+146,128,3,theragāthā-aṭṭhakathā
+147,129,3,theragāthā-aṭṭhakathā
 148,130,3,papañcasūdanī
 148,130,3,papañcasūdanī
 149,131,3,papañcasūdanī
 149,131,3,papañcasūdanī
 150,132,3,papañcasūdanī
 150,132,3,papañcasūdanī
@@ -159,28 +159,28 @@
 158,140,3,samantapāsādikā
 158,140,3,samantapāsādikā
 159,141,3,samantapāsādikā
 159,141,3,samantapāsādikā
 160,142,3,samantapāsādikā
 160,142,3,samantapāsādikā
-161,143,3,Therāpadānapāḷi
-162,144,3,Therāpadānapāḷi
-163,144,6534,Therīapadānapāḷi
-164,145,3,Buddhavaṃsapāḷi
-165,146,3,Cariyāpiṭakapāḷi
-166,147,3,Jātakapāḷi
-167,148,3,Jātakapāḷi
-168,149,3,Mahāniddesapāḷi
-169,150,3,Cūḷaniddesapāḷi
-170,151,3,Paṭisambhidāmaggapāḷi
-171,152,3,Milindapañhapāḷi
-172,153,3,Nettippakaraṇapāḷi
-173,154,3,Khuddakapāṭhapāḷi
-174,155,3,Peṭakopadesapāḷi
-175,156,3,Dhammapadapāḷi
-176,157,3,Udānapāḷi
-177,158,3,Itivuttakapāḷi
-178,159,3,Suttanipātapāḷi
-179,160,3,Vimānavatthupāḷi
-180,161,3,Petavatthupāḷi
-181,162,3,Theragāthāpāḷi
-182,163,3,Therīgāthāpāḷi
+161,143,3,therāpadānapāḷi
+162,144,3,therāpadānapāḷi
+163,144,6534,therīapadānapāḷi
+164,145,3,buddhavaṃsapāḷi
+165,146,3,cariyāpiṭakapāḷi
+166,147,3,jātakapāḷi
+167,148,3,jātakapāḷi
+168,149,3,mahāniddesapāḷi
+169,150,3,cūḷaniddesapāḷi
+170,151,3,paṭisambhidāmaggapāḷi
+171,152,3,milindapañhapāḷi
+172,153,3,nettippakaraṇapāḷi
+173,154,3,khuddakapāṭhapāḷi
+174,155,3,peṭakopadesapāḷi
+175,156,3,dhammapadapāḷi
+176,157,3,udānapāḷi
+177,158,3,itivuttakapāḷi
+178,159,3,suttanipātapāḷi
+179,160,3,vimānavatthupāḷi
+180,161,3,petavatthupāḷi
+181,162,3,theragāthāpāḷi
+182,163,3,therīgāthāpāḷi
 183,164,3,majjhimanikāyapāḷi
 183,164,3,majjhimanikāyapāḷi
 184,165,3,majjhimanikāyapāḷi
 184,165,3,majjhimanikāyapāḷi
 185,166,3,majjhimanikāyapāḷi
 185,166,3,majjhimanikāyapāḷi
@@ -189,48 +189,48 @@
 188,169,3,saṃyuttanikāyapāḷi
 188,169,3,saṃyuttanikāyapāḷi
 189,170,3,saṃyuttanikāyapāḷi
 189,170,3,saṃyuttanikāyapāḷi
 190,171,3,saṃyuttanikāyapāḷi
 190,171,3,saṃyuttanikāyapāḷi
-191,172,3,Dhammasaṅgaṇī-mūlaṭīkā
-192,173,3,Vibhaṅga-mūlaṭīkā
-193,173,1155,Vibhaṅga-anuṭīkā
-194,174,4,Dhātukathāpakaraṇa-mūlaṭīkā
-195,174,100,Puggalapaññattipakaraṇa-mūlaṭīkā
-196,174,201,Kathāvatthupakaraṇa-mūlaṭīkā
-197,174,865,Yamakapakaraṇa-mūlaṭīkā
-198,174,1059,Paṭṭhānapakaraṇa-mūlaṭīkā
-199,175,3,Dhammasaṅgaṇī-anuṭīkā
-200,176,4,Dhātukathāpakaraṇa-anuṭīkā
-201,176,117,Puggalapaññattipakaraṇa-anuṭīkā
-202,176,213,Kathāvatthupakaraṇa-anuṭīkā
-203,176,917,Yamakapakaraṇa-anuṭīkā
-204,176,1139,Paṭṭhānapakaraṇa-anuṭīkā
-205,177,2,Abhidhammāvatāro
-206,177,4805,Nāmarūpaparicchedo
-207,177,10627,Paramatthavinicchayo
-208,177,14272,Saccasaṅkhepo
-209,178,2,Abhidhammatthasaṅgaho
-210,178,875,Abhidhammatthavibhāvinīṭīkā
-211,179,2,Abhidhammāvatāra-purāṇaṭīkā
-212,179,872,Abhidhammāvatāra-abhinavaṭīkā
-213,180,2,Abhidhammamātikāpāḷi
-214,180,1221,Mohavicchedanī
-215,181,3,Ekakanipāta-ṭīkā
-216,182,3,Dukanipāta-ṭīkā
-217,182,324,Tikanipāta-ṭīkā
-218,182,1023,Catukkanipāta-ṭīkā
-219,183,3,Pañcakanipāta-ṭīkā
-220,183,470,Chakkanipāta-ṭīkā
-221,183,793,Sattakanipāta-ṭīkā
-222,184,3,Aṭṭhakanipāta-ṭīkā
-223,184,278,Navakanipāta-ṭīkā
-224,184,466,Dasakanipāta-ṭīkā
-225,184,776,Ekādasakanipāta-ṭīkā
+191,172,3,dhammasaṅgaṇī-mūlaṭīkā
+192,173,3,vibhaṅga-mūlaṭīkā
+193,173,1155,vibhaṅga-anuṭīkā
+194,174,4,dhātukathāpakaraṇa-mūlaṭīkā
+195,174,100,puggalapaññattipakaraṇa-mūlaṭīkā
+196,174,201,kathāvatthupakaraṇa-mūlaṭīkā
+197,174,865,yamakapakaraṇa-mūlaṭīkā
+198,174,1059,paṭṭhānapakaraṇa-mūlaṭīkā
+199,175,3,dhammasaṅgaṇī-anuṭīkā
+200,176,4,dhātukathāpakaraṇa-anuṭīkā
+201,176,117,puggalapaññattipakaraṇa-anuṭīkā
+202,176,213,kathāvatthupakaraṇa-anuṭīkā
+203,176,917,yamakapakaraṇa-anuṭīkā
+204,176,1139,paṭṭhānapakaraṇa-anuṭīkā
+205,177,2,abhidhammāvatāro
+206,177,4805,nāmarūpaparicchedo
+207,177,10627,paramatthavinicchayo
+208,177,14272,saccasaṅkhepo
+209,178,2,abhidhammatthasaṅgaho
+210,178,875,abhidhammatthavibhāvinīṭīkā
+211,179,2,abhidhammāvatāra-purāṇaṭīkā
+212,179,872,abhidhammāvatāra-abhinavaṭīkā
+213,180,2,abhidhammamātikāpāḷi
+214,180,1221,mohavicchedanī
+215,181,3,ekakanipāta-ṭīkā
+216,182,3,dukanipāta-ṭīkā
+217,182,324,tikanipāta-ṭīkā
+218,182,1023,catukkanipāta-ṭīkā
+219,183,3,pañcakanipāta-ṭīkā
+220,183,470,chakkanipāta-ṭīkā
+221,183,793,sattakanipāta-ṭīkā
+222,184,3,aṭṭhakanipāta-ṭīkā
+223,184,278,navakanipāta-ṭīkā
+224,184,466,dasakanipāta-ṭīkā
+225,184,776,ekādasakanipāta-ṭīkā
 226,185,3,līnatthappakāsanā
 226,185,3,līnatthappakāsanā
 227,186,3,līnatthappakāsanā
 227,186,3,līnatthappakāsanā
 228,187,3,līnatthappakāsanā
 228,187,3,līnatthappakāsanā
 229,188,3,sādhuvilāsinī
 229,188,3,sādhuvilāsinī
 230,189,3,sādhuvilāsinī
 230,189,3,sādhuvilāsinī
-231,190,3,Nettippakaraṇa-ṭīkā
-232,191,3,Nettivibhāvinī
+231,190,3,nettippakaraṇa-ṭīkā
+232,191,3,nettivibhāvinī
 233,192,3,līnatthappakāsanā
 233,192,3,līnatthappakāsanā
 234,193,3,līnatthappakāsanā
 234,193,3,līnatthappakāsanā
 235,194,3,līnatthappakāsanā
 235,194,3,līnatthappakāsanā
@@ -239,42 +239,42 @@
 238,197,3,līnatthappakāsanā
 238,197,3,līnatthappakāsanā
 239,198,3,līnatthappakāsanā
 239,198,3,līnatthappakāsanā
 240,199,3,līnatthappakāsanā
 240,199,3,līnatthappakāsanā
-241,200,2,Vinayavinicchayo
-242,200,10176,Uttaravinicchayo
-243,201,2,Vinayavinicchaya-ṭīkā
-244,201,4270,Uttaravinicchaya-ṭīkā
-245,202,3,Pācityādiyojanā
-246,203,3,Khuddasikkhā
-247,203,1620,Khuddasikkhā-purāṇaṭīkā
-248,203,2361,Khuddasikkhā-abhinavaṭīkā
-249,203,3100,Mūlasikkhā
-250,203,3481,Mūlasikkhā-ṭīkā
-251,204,3,Sāratthadīpanī-ṭīkā
-252,205,3,Sāratthadīpanī-ṭīkā
-253,206,3,Sāratthadīpanī-ṭīkā
-254,206,717,Sāratthadīpanī-ṭīkā
-255,206,1753,Sāratthadīpanī-ṭīkā
-256,206,2154,Sāratthadīpanī-ṭīkā
-257,207,3,Bhikkhupātimokkhapāḷi
-258,207,524,Bhikkhunīpātimokkhapāḷi
-259,207,1215,Kaṅkhāvitaraṇī-aṭṭhakathā
-260,208,3,Vinayasaṅgaha-aṭṭhakathā
-261,209,3,Vajirabuddhi-ṭīkā
-262,209,166,Pārājikavaṇṇanā
-263,209,992,Pācittiyavaṇṇanā
-264,209,1708,Mahāvaggavaṇṇanā
-265,209,2217,Cūḷavaggavaṇṇanā
-266,209,2428,Parivāravaṇṇanā
-267,210,3,Bhikkhuvibhaṅgavaṇṇanā
-268,210,1658,Bhikkhunīvibhaṅgavaṇṇanā
-269,210,1779,Mahāvaggavaṇṇanā
-270,210,2431,Cūḷavaggavaṇṇanā
-271,210,2792,Parivāravaṇṇanā
-272,211,3,Vinayālaṅkāra-ṭīkā
-273,212,2,Kaṅkhāvitaraṇīpurāṇa-ṭīkā
-274,212,671,Kaṅkhāvitaraṇī-abhinavaṭīkā
-275,213,3,(VN)Pārājikapāḷi
-276,214,3,(VN)Pācittiyapāḷi
-277,215,3,(VN)Mahāvaggapāḷi
-278,216,3,(VN)Cūḷavaggapāḷi
-279,217,3,(VN)Parivārapāḷi
+241,200,2,vinayavinicchayo
+242,200,10176,uttaravinicchayo
+243,201,2,vinayavinicchaya-ṭīkā
+244,201,4270,uttaravinicchaya-ṭīkā
+245,202,3,pācityādiyojanā
+246,203,3,khuddasikkhā
+247,203,1620,khuddasikkhā
+248,203,2361,khuddasikkhā
+249,203,3100,mūlasikkhā
+250,203,3481,mūlasikkhā
+251,204,3,sāratthadīpanī-ṭīkā
+252,205,3,sāratthadīpanī-ṭīkā
+253,206,3,sāratthadīpanī-ṭīkā
+254,206,717,sāratthadīpanī-ṭīkā
+255,206,1753,sāratthadīpanī-ṭīkā
+256,206,2154,sāratthadīpanī-ṭīkā
+257,207,3,bhikkhupātimokkhapāḷi
+258,207,524,bhikkhunīpātimokkhapāḷi
+259,207,1215,kaṅkhāvitaraṇī-aṭṭhakathā
+260,208,3,vinayasaṅgaha-aṭṭhakathā
+261,209,3,vajirabuddhi-ṭīkā
+262,209,166,pārājikavaṇṇanā
+263,209,992,pācittiyavaṇṇanā
+264,209,1708,mahāvaggavaṇṇanā
+265,209,2217,cūḷavaggavaṇṇanā
+266,209,2428,parivāravaṇṇanā
+267,210,3,bhikkhuvibhaṅgavaṇṇanā
+268,210,1658,bhikkhunīvibhaṅgavaṇṇanā
+269,210,1779,mahāvaggavaṇṇanā
+270,210,2431,cūḷavaggavaṇṇanā
+271,210,2792,parivāravaṇṇanā
+272,211,3,vinayālaṅkāra-ṭīkā
+273,212,2,kaṅkhāvitaraṇīpurāṇa-ṭīkā
+274,212,671,kaṅkhāvitaraṇī-abhinavaṭīkā
+275,213,3,(vn)pārājikapāḷi
+276,214,3,(vn)pācittiyapāḷi
+277,215,3,(vn)mahāvaggapāḷi
+278,216,3,(vn)cūḷavaggapāḷi
+279,217,3,(vn)parivārapāḷi

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff