Browse Source

libaray中增加文集功能

visuddhinanda 5 years ago
parent
commit
ac0ac7116d

+ 10 - 3
app/article/add_to_collect_dlg.js

@@ -1,9 +1,16 @@
 function add_to_collect_dlg_init() {
   $("[vui='collect-dlg']").each(function () {
     $(this).css("position", "relative");
-    $(this).html(
-      "<button class='button_add_to_collect icon_btn' title='" + gLocal.gui.add_to + gLocal.gui.anthology + "'><svg class='icon'><use xlink:href='../studio/svg/icon.svg#add_to_anthology'></use></svg></button><div class='float_dlg'></div>"
-    );
+    let html = "";
+    html +=
+      "<button class='button_add_to_collect icon_btn' title='" +
+      gLocal.gui.add_to +
+      gLocal.gui.anthology +
+      "'>";
+    html +=
+      "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#add_to_anthology'></use></svg></button><div class='float_dlg'></div>";
+
+    $(this).html(html);
   });
 
   $(".button_add_to_collect").click(function () {

+ 91 - 49
app/article/article.js

@@ -3,6 +3,7 @@ var _channal = "";
 var _lang = "";
 var _author = "";
 var _display = "";
+var _collect_id = "";
 
 function article_onload() {}
 function articel_load(id) {
@@ -38,6 +39,43 @@ function articel_load(id) {
   );
 }
 
+function collect_load(id) {
+  if (id == "") {
+    return;
+  }
+  $.get(
+    "../article/collect_get.php",
+    {
+      id: id,
+      setting: "",
+    },
+    function (data, status) {
+      if (status == "success") {
+        try {
+          let result = JSON.parse(data);
+          if (result) {
+            $("#article_title").html(result.title);
+            if (result.subtitle) {
+              $("#article_subtitle").html(result.subtitle);
+            }
+            $("#article_author").html(
+              result.username.nickname + "@" + result.username.username
+            );
+            $("#contents").html(marked(result.summary));
+
+            let article_list = JSON.parse(result.article_list);
+            render_article_list(article_list);
+          }
+        } catch (e) {
+          console.error(e);
+        }
+      } else {
+        console.error("ajex error");
+      }
+    }
+  );
+}
+
 function articel_load_collect(article_id) {
   $.get(
     "../article/collect_get.php",
@@ -51,56 +89,8 @@ function articel_load_collect(article_id) {
           let result = JSON.parse(data);
           if (result && result.length > 0) {
             $("#collect_title").html(result[0].title);
-            let html = "";
-            html += "<ul>";
             let article_list = JSON.parse(result[0].article_list);
-            let display = "";
-            if (_display == "para") {
-              display = "&display=para";
-            }
-            let prevArticle = "无";
-            let nextArticle = "无";
-            for (let index = 0; index < article_list.length; index++) {
-              const element = article_list[index];
-              if (element.article == _articel_id) {
-                if (index > 0) {
-                  const prev = article_list[index - 1];
-                  prevArticle =
-                    "<a href='../article/index.php?id=" +
-                    prev.article +
-                    display +
-                    "'>" +
-                    prev.title +
-                    "</a>";
-                }
-                if (index < article_list.length - 1) {
-                  const next = article_list[index + 1];
-                  nextArticle =
-                    "<a href='../article/index.php?id=" +
-                    next.article +
-                    display +
-                    "'>" +
-                    next.title +
-                    "</a>";
-                }
-                $("#contents_nav_left").html(prevArticle);
-                $("#contents_nav_right").html(nextArticle);
-              }
-              html +=
-                "<li class='level_" +
-                element.level +
-                "'>" +
-                "<a href='../article/index.php?id=" +
-                element.article +
-                display +
-                "'>" +
-                element.title +
-                "</a></li>";
-            }
-
-            html += "</ul>";
-
-            $("#toc_content").html(html);
+            render_article_list(article_list);
           }
         } catch (e) {
           console.error(e);
@@ -112,6 +102,58 @@ function articel_load_collect(article_id) {
   );
 }
 
+function render_article_list(article_list) {
+  let html = "";
+  html += "<ul>";
+  let display = "";
+  if (_display == "para") {
+    display = "&display=para";
+  }
+  let prevArticle = "无";
+  let nextArticle = "无";
+  for (let index = 0; index < article_list.length; index++) {
+    const element = article_list[index];
+    if (element.article == _articel_id) {
+      if (index > 0) {
+        const prev = article_list[index - 1];
+        prevArticle =
+          "<a href='../article/index.php?id=" +
+          prev.article +
+          display +
+          "'>" +
+          prev.title +
+          "</a>";
+      }
+      if (index < article_list.length - 1) {
+        const next = article_list[index + 1];
+        nextArticle =
+          "<a href='../article/index.php?id=" +
+          next.article +
+          display +
+          "'>" +
+          next.title +
+          "</a>";
+      }
+      $("#contents_nav_left").html(prevArticle);
+      $("#contents_nav_right").html(nextArticle);
+    }
+    html +=
+      "<li class='level_" +
+      element.level +
+      "'>" +
+      "<a href='../article/index.php?id=" +
+      element.article +
+      display +
+      "'>" +
+      element.title +
+      "</a></li>";
+  }
+
+  html += "</ul>";
+
+  $("#toc_content").html(html);
+}
+
 function set_channal(channalid) {
   let url = "../article/index.php?id=" + _articel_id;
   if (channalid != "") {

+ 2 - 2
app/article/collect_get.php

@@ -10,8 +10,8 @@ require_once '../ucenter/function.php';
 if(isset($_GET["id"])){
     PDO_Connect("sqlite:"._FILE_DB_USER_ARTICLE_);
     $id=$_GET["id"];
-    $query = "select * from collect  where id = ".$PDO->quote($id);
-    $Fetch = PDO_FetchRow($query);
+    $query = "select * from collect  where id = ? ";
+    $Fetch = PDO_FetchRow($query,array($id));
     if($Fetch){
         $userinfo = new UserInfo();
         $user = $userinfo->getName($Fetch["owner"]);

+ 13 - 4
app/article/index.php

@@ -16,10 +16,14 @@ require_once "../pcdl/html_head.php";
 	$_id = "";
 	$_display = "";
 	$_channal  = "";
+	$_collect = "";
 
 	if(isset($_GET["id"])){
 		echo "_articel_id='".$_GET["id"]."';";
 	}
+	if(isset($_GET["collect"])){
+		echo "_collect_id='".$_GET["collect"]."';";
+	}
 	if(isset($_GET["display"])){
 		echo "_display='".$_GET["display"]."';";
 	}
@@ -369,12 +373,17 @@ term_word_link_fun("wiki_goto_word");
 
 <script>
 	$(document).ready(function(){
+	ntf_init();				
+	click_dropdown_init();
 	note_create();
 	term_edit_dlg_init();
-	articel_load(_articel_id);
-	articel_load_collect(_articel_id);
-	click_dropdown_init();
-	ntf_init();
+	if(_collect_id==""){
+		articel_load(_articel_id);
+		articel_load_collect(_articel_id);
+	}
+	else{
+		collect_load(_collect_id);
+	}
 	});
 
 

+ 58 - 14
app/article/my_article.js

@@ -30,11 +30,15 @@ function my_article_list() {
             html +=
               "<div style='flex:1;'><a href='../article/my_article_edit.php?id=" +
               iterator.id +
-              "'>" + gLocal.gui.edit + "</a></div>";
+              "'>" +
+              gLocal.gui.edit +
+              "</a></div>";
             html +=
               "<div style='flex:1;'><a href='../article/?id=" +
               iterator.id +
-              "' target='_blank'>" + gLocal.gui.preview + "</a></div>";
+              "' target='_blank'>" +
+              gLocal.gui.preview +
+              "</a></div>";
             html += "<div style='flex:1;'>15</div>";
             html += "</div>";
           }
@@ -49,16 +53,36 @@ function my_article_list() {
   );
 }
 
-
 function render_status(status) {
   status = parseInt(status);
   let html = "";
   let objStatus = [
-    { id: 1, name: "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#ic_lock'></use></svg>" + gLocal.gui.private, tip: gLocal.gui.private_note },
-    { id: 2, name: "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#eye_disable'></use></svg>" + gLocal.gui.unlisted, tip: gLocal.gui.unlisted_note },
-    { id: 3, name: "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#eye_enable'></use></svg>" + gLocal.gui.public, tip: gLocal.gui.public_note },
+    {
+      id: 1,
+      name:
+        "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#ic_lock'></use></svg>" +
+        gLocal.gui.private,
+      tip: gLocal.gui.private_note,
+    },
+    {
+      id: 2,
+      name:
+        "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#eye_disable'></use></svg>" +
+        gLocal.gui.unlisted,
+      tip: gLocal.gui.unlisted_note,
+    },
+    {
+      id: 3,
+      name:
+        "<svg class='icon'><use xlink:href='../studio/svg/icon.svg#eye_enable'></use></svg>" +
+        gLocal.gui.public,
+      tip: gLocal.gui.public_note,
+    },
   ];
-  html += "<span style='flex:3;margin:auto;'>" + gLocal.gui.privacy + '</span><div class="case_dropdown"  style="flex:7;">';
+  html +=
+    "<span style='flex:3;margin:auto;'>" +
+    gLocal.gui.privacy +
+    '</span><div class="case_dropdown"  style="flex:7;">';
   html += '<input type="hidden" name="status"  value ="' + status + '" />';
 
   for (const iterator of objStatus) {
@@ -66,7 +90,8 @@ function render_status(status) {
       html += "<div >" + iterator.name + "</div>";
     }
   }
-  html += '<div id="privacy_list" class="case_dropdown-content" style="background-color: var(--detail-color); color: var(--btn-color);">';
+  html +=
+    '<div id="privacy_list" class="case_dropdown-content" style="background-color: var(--detail-color); color: var(--btn-color);">';
 
   for (const iterator of objStatus) {
     let active = "";
@@ -82,6 +107,8 @@ function render_status(status) {
   return html;
 }
 
+function setStatus(obj) {}
+
 function my_article_edit(id) {
   $.get(
     "../article/get.php",
@@ -111,15 +138,29 @@ function my_article_edit(id) {
             result.status +
             "'/>";
 
-          html += "<input type='checkbox' name='import' />" + gLocal.gui.import + gLocal.gui.text;
+          html +=
+            "<input type='checkbox' name='import' />" +
+            gLocal.gui.import +
+            gLocal.gui.text;
           html += "<div>";
           html += "<div style='display:flex;'>";
-          html += "<span style='flex:3;margin:auto;'>" + gLocal.gui.title + "</span>"
+          html +=
+            "<span style='flex:3;margin:auto;'>" + gLocal.gui.title + "</span>";
           html += '<span id="article_title" style="flex:7;"></span></div>';
-          html += "<div id='channal_selector' form_name='channal' style='display:flex;'></div>";
-          html += "<div id='aritcle_status' style='display: flex; width: 100 %;'></div>";
           html +=
-            '<div style="display:flex;width:100%;" ><span style="flex:3;margin: auto;">' + gLocal.gui.language_select + '</span>	<input id="article_lang_select"  style="flex:7;" type="input" onchange="article_lang_change()"  placeholder="' + gLocal.gui.input + " & " + gLocal.gui.language_select + ',' + gLocal.gui.example + ':Engilish" code="' +
+            "<div id='channal_selector' form_name='channal' style='display:flex;'></div>";
+          html +=
+            "<div id='aritcle_status' style='display: flex; width: 100 %;'></div>";
+          html +=
+            '<div style="display:flex;width:100%;" ><span style="flex:3;margin: auto;">' +
+            gLocal.gui.language_select +
+            '</span>	<input id="article_lang_select"  style="flex:7;" type="input" onchange="article_lang_change()"  placeholder="' +
+            gLocal.gui.input +
+            " & " +
+            gLocal.gui.language_select +
+            "," +
+            gLocal.gui.example +
+            ':Engilish" code="' +
             result.lang +
             '" value="' +
             result.lang +
@@ -220,7 +261,10 @@ function course_validate_required(field, alerttxt) {
 
 function course_validate_form(thisform) {
   with (thisform) {
-    if (course_validate_required(title, gLocal.gui.title_necessary + "!") == false) {
+    if (
+      course_validate_required(title, gLocal.gui.title_necessary + "!") ==
+      false
+    ) {
       title.focus();
       return false;
     }

+ 25 - 14
app/article/my_article_edit.php

@@ -64,17 +64,27 @@ require_once '../studio/index_head.php';
 	<div class="file_list_block">
 		<div class="tool_bar" style="width:50%;">
 			<div style="display:flex;">
-				<button class="icon_btn" title=<?php echo $_local->gui->back ;?>>
-					<a href="../article/my_article_index.php" >
-					<svg class="icon">
-						<use xlink:href="../studio/svg/icon.svg#return"></use>
-					</svg>
-				</a></button>
-				<button onclick='article_preview()'  class="icon_btn" title=<?php echo $_local->gui->preview ;?>>
-					<svg class="icon">
-						<use xlink:href="../studio/svg/icon.svg#preview"></use>
-					</svg>
-				</button>
+
+				<span class="icon_btn_div">
+					<span class="icon_btn_tip"><?php echo $_local->gui->back ;?></span>
+					<button id="icon_btn" type="button" class="icon_btn"  onclick="my_article_save()">
+						<a href="../article/my_article_index.php" >
+							<svg class="icon">
+								<use xlink:href="../studio/svg/icon.svg#return"></use>
+							</svg>
+						</a>
+					</button>
+				</span>
+
+				<span class="icon_btn_div">
+					<span class="icon_btn_tip"><?php echo $_local->gui->preview ;?></span>
+					<button onclick='article_preview()'  class="icon_btn" >
+						<svg class="icon">
+							<use xlink:href="../studio/svg/icon.svg#preview"></use>
+						</svg>
+					</button>
+				</span>
+
 				<div id="article_collect" vui='collect-dlg' ></div>
 			</div>
 			<div style="display:flex;">
@@ -87,9 +97,10 @@ require_once '../studio/index_head.php';
 						</a>
 					</button>
 				</div>
-					<span class="icon_btn_div">
-					<span class="icon_btn_tip"></span>
-					<button id="edit_save" type="button" class="icon_btn" title=<?php echo $_local->gui->save ;?> onclick="my_article_save()">
+
+				<span class="icon_btn_div">
+					<span class="icon_btn_tip"><?php echo $_local->gui->save ;?></span>
+					<button id="edit_save" type="button" class="icon_btn"  onclick="my_article_save()">
 						<svg class="icon">
 							<use xlink:href="../studio/svg/icon.svg#ic_save"></use>
 						</svg>

+ 1 - 1
app/article/my_collect.js

@@ -31,7 +31,7 @@ function my_collect_list() {
               iterator.id +
               "'>Edit</a></div>";
             html +=
-              "<div style='flex:1;'><a href='../article/?id=" +
+              "<div style='flex:1;'><a href='../article/?collect=" +
               iterator.id +
               "' target='_blank'>Preview</a></div>";
             html += "<div style='flex:1;'>15</div>";

+ 1 - 1
app/article/my_collect_edit.php

@@ -64,7 +64,7 @@ require_once '../studio/index_head.php';
 			<div style="display:flex;">
 				<div id="aritcle_status"></div>
 				<span class="icon_btn_div">
-					<span class="icon_btn_tip">保存</span>
+					<span class="icon_btn_tip">Save</span>
 					<button id="edit_save" type="button" class="icon_btn" title=" " onclick="my_collect_save()">
 						<svg class="icon">
 							<use xlink:href="../studio/svg/icon.svg#ic_save"></use>

+ 56 - 0
app/collect/index.js

@@ -0,0 +1,56 @@
+function collect_load(begin = 0) {
+  $.get(
+    "list.php",
+    {
+      begin: begin,
+    },
+    function (data, status) {
+      let arrCollectList = JSON.parse(data);
+      let html = "";
+      for (const iterator of arrCollectList.data) {
+        html += "<div style='width:25%;padding:0.5em;'>";
+        html += "<div class='card' style='padding:10px;'>";
+        html +=
+          "<div class='' style='position: absolute;background-color: #862002;margin-top: -10px;margin-left: 12em;color: white;padding: 0 3px;display: inline-block;'>" +
+          "done</div>";
+        html += "<div style='font-weight:700'>";
+        html +=
+          "<a href='../article/?collect=" +
+          iterator.id +
+          "'>" +
+          iterator.title +
+          "</a>";
+        html += "</div>";
+
+        html += "<div style=''>" + iterator.subtitle + "</div>";
+
+        html += "<div style=''>" + iterator.username.nickname + "</div>";
+
+        html += "<div style=''>" + iterator.summary + "</div>";
+
+        html +=
+          "<div style='overflow-wrap: anywhere;'>" + iterator.tag + "</div>";
+        const article_limit = 4;
+        let article_count = 0;
+        let article_list = JSON.parse(iterator.article_list);
+        for (const article of article_list) {
+          html += "<div>";
+          html +=
+            "<a href='../article/?id=" +
+            article.article +
+            "' target='_blank'>" +
+            article.title +
+            "</a>";
+          html += "</div>";
+          article_count++;
+          if (article_count > article_limit) {
+            break;
+          }
+        }
+        html += "</div>";
+        html += "</div>";
+      }
+      $("#book_list").html(html);
+    }
+  );
+}

+ 94 - 0
app/collect/index.php

@@ -0,0 +1,94 @@
+<?PHP
+include "../pcdl/html_head.php";
+?>
+<body>
+
+<?php
+    require_once("../pcdl/head_bar.php");
+?>
+	<script language="javascript" src="../collect/index.js"></script>
+
+<style>
+    #main_tag span{
+        margin: 2px;
+        padding: 2px 12px;
+        font-weight: 500;
+        transition-duration: 0.2s;
+        cursor: pointer;
+        display: inline-flex;
+        align-items: center;
+        flex-wrap: nowrap;
+        justify-content: center;
+        font-size:110%;
+        border: unset;
+        border-radius: 0;
+        border-bottom: 2px solid var(--nocolor);
+    }
+    #main_tag span:hover{
+        background-color:unset;
+        color:unset;
+        border-color: var(--link-hover-color);
+    }
+    #main_tag .select{
+        border-bottom: 2px solid var(--link-color);
+    }
+    tag{
+    background-color: var(--btn-color);
+    margin: 0 0.5em;
+    padding: 3px 5px;
+    border-radius: 6px;
+    display:inline-flex;
+    border: 1.5px solid;
+    border-color: #70707036;
+    }
+    tag .icon:hover{
+        background-color: silver;
+    }
+</style>
+
+<?php
+//
+
+require_once "../path.php";
+require_once "../public/_pdo.php";
+require_once '../media/function.php';
+require_once '../public/function.php';
+?>
+<div id='course_head_bar' style='background-color:var(--tool-bg-color1);padding:1em 10px 10px 10px;'>
+    <div class='index_inner '>
+        <div style='font-size:140%'>
+            <span style="display:inline-block;width:20em;"><input type="input" placeholder='title or author' style="background-color:var(--btn-bg-color);" /></span>
+            <button>搜索</button>
+        </div>
+        <div id="main_tag"  style="">
+            <span tag="sutta">Sila</span>
+            <span tag="vinaya">Samathi</span>
+            <span tag="abhidhamma">Panna</span>
+            <span tag="mūla">Story</span>
+        </div>
+        <div id="tag_selected" class=""  style="padding-bottom:5px;margin:0.5em 0;"></div>
+        <div level="0" class="tag_others"  style="padding-bottom:5px;">Author:</div>
+        <div level="1" class="tag_others"  style="padding-bottom:5px;">Language:</div>
+        <div level="8" class="tag_others"  style="padding-bottom:5px;">
+            <select>
+                <option>时间</option>
+                <option>人气</option>
+            </select>
+        </div>
+    </div>
+</div>
+
+<div id ="book_list" class='index_inner' style='display: flex;flex-wrap: wrap;'>
+
+</div>
+<div id="page_bottom" style="height:10em;">
+loading
+</div>
+<script>
+$(document).ready(function(){
+    collect_load();
+});
+</script>
+<?php
+include "../pcdl/html_foot.php";
+?>

+ 61 - 0
app/collect/list.php

@@ -0,0 +1,61 @@
+<?php
+//查询term字典
+
+require_once "../path.php";
+require_once "../public/_pdo.php";
+require_once '../public/function.php';
+require_once '../ucenter/function.php';
+
+
+$onepage = 40;
+if(isset($_GET["page"])){
+    $onepage = $_GET["page"];
+}
+if(isset($_GET["begin"])){
+    if($_GET["begin"]>=0){
+        $begin=$_GET["begin"];
+    }
+    else{
+        echo json_encode(array("data"=>array(),"next"=>-1), JSON_UNESCAPED_UNICODE);
+        exit;
+    }
+}
+else{
+    $begin = 0;
+}
+    PDO_Connect("sqlite:"._FILE_DB_USER_ARTICLE_);
+    $query = "SELECT * FROM collect  where  1 ";
+    if(isset($_GET["orderby"])){
+        switch ($_GET["orderby"]) {
+            case 'like':
+                # code...
+                $query .="ORDER BY  DESC";
+                break;
+            
+            default:
+                # code...
+                break;
+        }
+    }
+    else{
+        $query .="ORDER BY modify_time DESC";
+    }
+    $query .=" LIMIT ? , ? ";
+    $Fetch = PDO_FetchAll($query,array($begin,$onepage));
+    foreach ($Fetch as $key => $value) {
+        # code...
+        $userinfo = new UserInfo();
+        $user = $userinfo->getName($value["owner"]);
+        $Fetch[$key]["username"] = $user;
+    }
+
+    $output = array();
+    $output["data"] =  $Fetch;
+    if(count($Fetch)==$onepage){
+        $output["next"] =  $begin+$onepage;
+    }
+    else{
+        $output["next"] = -1;
+    }
+
+    echo json_encode($output, JSON_UNESCAPED_UNICODE);

+ 19 - 0
app/pcdl/css/font.css

@@ -240,6 +240,25 @@
     url(../../../font/NotoSerif/NotoSerif-BlackItalic.ttf) format("truetype");
   font-display: fallback;
 }
+
+/*缅文*/
+@font-face {
+  font-family: "Padauk";
+  font-style: normal;
+  font-weight: 400;
+  src: local("Padauk"),
+    url(../../../font/Padauk/Padauk-Regular.ttf) format("truetype");
+  font-display: fallback;
+}
+
+@font-face {
+  font-family: "Padauk";
+  font-style: normal;
+  font-weight: 700;
+  src: local("Padauk Bold"),
+    url(../../../font/Padauk/Padauk-Bold.ttf) format("truetype");
+  font-display: fallback;
+}
 /*中文繁體*/
 
 @font-face {

+ 1 - 1
app/pcdl/css/style.css

@@ -18,7 +18,7 @@
 }
 
 body {
-    font-family: 'Noto Sans', 'Noto Sans SC', 'Noto Sans TC', Arial, Verdana;
+    font-family: 'Noto Sans', 'Noto Sans SC', 'Noto Sans TC','Padauk', Arial, Verdana;
     font-style: normal;
     color: var(--main-color);
     font-weight: 400;

+ 1 - 0
app/pcdl/head_bar.php

@@ -216,6 +216,7 @@
 					<li><a class="nav_link" href="../course"><?php echo $_local->gui->lesson; ?></a></li>
 					<li><a class="nav_link" href="../wiki"><?php echo $_local->gui->encyclopedia; ?></a></li>
 					<li><a class="nav_link" href="../dict"><?php echo $_local->gui->dictionary; ?></a></li>
+					<li><a class="nav_link" href="../collect"><?php echo 'Collect'; ?></a></li>
 					<li class="nav_link head_nav_dropdown" >
 						<div><?php echo $_local->gui->more; ?></div>
 						<ul class="head_nav_dropdown_content" style="margin-top: 0em;top: 2em;margin-left:-0.5em;padding-bottom: 0.5em;">

+ 0 - 4
app/pcdl/html_head.php

@@ -99,9 +99,5 @@ else{
 	white-space: normal;
 }
 
-body{
-	font-family: 'Padauk', sans-serif;
-}
-
 	</style>
 </head>

+ 81 - 0
app/pcdl/index.js

@@ -0,0 +1,81 @@
+function index_onload() {
+  index_load_term_new();
+  index_load_collect_new();
+  index_load_course_new();
+}
+
+function index_load_collect_new() {
+  $.get(
+    "../collect/list.php",
+    {
+      begin: 0,
+      page: 4,
+    },
+    function (data, status) {
+      let arrCollectList = JSON.parse(data);
+      let html = "";
+      for (const iterator of arrCollectList.data) {
+        html += "<div style='width:25%;padding:0.5em;'>";
+        html += "<div class='card' style='padding:10px;'>";
+        html +=
+          "<div class='' style='position: absolute;background-color: #862002;margin-top: -10px;margin-left: 12em;color: white;padding: 0 3px;display: inline-block;'>" +
+          "done</div>";
+        html += "<div style='font-weight:700'>";
+        html +=
+          "<a href='../article/?collect=" +
+          iterator.id +
+          "'>" +
+          iterator.title +
+          "</a>";
+        html += "</div>";
+
+        html += "<div style=''>" + iterator.subtitle + "</div>";
+
+        html += "<div style=''>" + iterator.username.nickname + "</div>";
+
+        html += "<div style=''>" + iterator.summary + "</div>";
+
+        html +=
+          "<div style='overflow-wrap: anywhere;'>" + iterator.tag + "</div>";
+        const article_limit = 4;
+        let article_count = 0;
+        let article_list = JSON.parse(iterator.article_list);
+        for (const article of article_list) {
+          html += "<div>";
+          html +=
+            "<a href='../article/?id=" +
+            article.article +
+            "' target='_blank'>" +
+            article.title +
+            "</a>";
+          html += "</div>";
+          article_count++;
+          if (article_count > article_limit) {
+            break;
+          }
+        }
+        html += "</div>";
+        html += "</div>";
+      }
+      $("#article_new").html(html);
+    }
+  );
+}
+
+function index_load_term_new() {
+  $.get("../term/new.php", function (data, status) {
+    let xDiv = document.getElementById("pali_pedia");
+    if (xDiv) {
+      xDiv.innerHTML = data;
+    }
+  });
+}
+
+function index_load_course_new() {
+  $.get("../course/list_new.php", function (data, status) {
+    let xDiv = document.getElementById("course_list_new");
+    if (xDiv) {
+      xDiv.innerHTML = data;
+    }
+  });
+}

+ 15 - 34
app/pcdl/index.php

@@ -2,6 +2,7 @@
 require_once '../pcdl/html_head.php';
 ?>
 <body >	
+<script language="javascript" src="../pcdl/index.js"></script>
 
 <style>
 	.content_block{
@@ -51,69 +52,49 @@ require_once '../pcdl/html_head.php';
 
 <div class="index_list_categories">
 		<div class="title_bar">
-			<span class="title h3">圣典</span>	
-			<span class="title_more"><a href="../palicanon">更多</a></span>
+			<span class="title h3">Collect</span>	
+			<span class="title_more"><a href="../collect">more</a></span>
 		</div>
 		<div class="content">
 			<div id="article_new" class="content_inner">
-
 			</div>
 		</div>
 	</div>
-	<script>
-	$.get("../article/list_new.php",function(data,status){
-		let xDiv = document.getElementById("article_new");
-		if(xDiv){
-			xDiv.innerHTML=data;
-		}
-	});
-	</script>	
 	
 	<div class="index_list_categories">
 		<div class="title_bar">
-			<span class="title h3">课程</span>	
-			<span class="title_more"><a href="../course">更多</a></span>
+			<span class="title h3">Course</span>	
+			<span class="title_more"><a href="../course">more</a></span>
 		</div>
 		<div class="content">
 			<div id="course_list_new" class="content_inner">
-
-
-
 			</div>
 		</div>
 	</div>
-	<script>
-	$.get("../course/list_new.php",function(data,status){
-		let xDiv = document.getElementById("course_list_new");
-		if(xDiv){
-			xDiv.innerHTML=data;
-		}
-	});
-	</script>	
+
 
     
 	<div class="index_list_categories">
 		<div class="title_bar">
-			<span class="title h3">百科</span>	
-			<span class="title_more"><a href="../wiki">更多</a></span>
+			<span class="title h3">Pali Term</span>	
+			<span class="title_more"><a href="../wiki">more</a></span>
 		</div>
 		<div class="content">
 			<div id="pali_pedia" class="content_inner">
 			</div>
 		</div>
 	</div>
-	<script>
-	$.get("../term/new.php",function(data,status){
-		let xDiv = document.getElementById("pali_pedia");
-		if(xDiv){
-			xDiv.innerHTML=data;
-		}
-	});
-	</script>	
+
 
     </div>
 
+	<script>
+	$(document).ready(function(){
+		index_onload();
+});
+
 
+	</script>	
 	
 
 <?php

+ 251 - 241
app/studio/css/font.css

@@ -4,374 +4,384 @@
 /*Pāli Roma*/
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: normal;
-    font-weight: 100;
-    src: local('Noto Sans Thin'),
-    url(../../../font/NotoSans/NotoSans-Thin.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: normal;
+  font-weight: 100;
+  src: local("Noto Sans Thin"),
+    url(../../../font/NotoSans/NotoSans-Thin.ttf) format("truetype");
+  font-display: fallback;
 }
 @font-face {
-    font-family: 'Myanmar1';
-    src: url(../../../font/mmrtext.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Myanmar1";
+  src: url(../../../font/mmrtext.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: normal;
-    font-weight: 300;
-    src: local('Noto Sans Light'),
-    url(../../../font/NotoSans/NotoSans-Light.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: normal;
+  font-weight: 300;
+  src: local("Noto Sans Light"),
+    url(../../../font/NotoSans/NotoSans-Light.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: normal;
-    font-weight: 400;
-    src: local('Noto Sans Regular'),
-    url(../../../font/NotoSans/NotoSans-Regular.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: normal;
+  font-weight: 400;
+  src: local("Noto Sans Regular"),
+    url(../../../font/NotoSans/NotoSans-Regular.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: normal;
-    font-weight: 500;
-    src: local('Noto Sans Medium'),
-    url(../../../font/NotoSans/NotoSans-Medium.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: normal;
+  font-weight: 500;
+  src: local("Noto Sans Medium"),
+    url(../../../font/NotoSans/NotoSans-Medium.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: normal;
-    font-weight: 700;
-    src: local('Noto Sans Bold'),
-    url(../../../font/NotoSans/NotoSans-Bold.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: normal;
+  font-weight: 700;
+  src: local("Noto Sans Bold"),
+    url(../../../font/NotoSans/NotoSans-Bold.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: normal;
-    font-weight: 900;
-    src: local('Noto Sans Black'),
-    url(../../../font/NotoSans/NotoSans-Black.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: normal;
+  font-weight: 900;
+  src: local("Noto Sans Black"),
+    url(../../../font/NotoSans/NotoSans-Black.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: italic;
-    font-weight: 100;
-    src: local('Noto Sans Thin Italic'),
-    url(../../../font/NotoSans/NotoSans-ThinItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: italic;
+  font-weight: 100;
+  src: local("Noto Sans Thin Italic"),
+    url(../../../font/NotoSans/NotoSans-ThinItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: italic;
-    font-weight: 300;
-    src: local('Noto Sans Light Italic'),
-    url(../../../font/NotoSans/NotoSans-LightItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: italic;
+  font-weight: 300;
+  src: local("Noto Sans Light Italic"),
+    url(../../../font/NotoSans/NotoSans-LightItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: italic;
-    font-weight: 400;
-    src: local('Noto Sans Italic'),
-    url(../../../font/NotoSans/NotoSans-Italic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: italic;
+  font-weight: 400;
+  src: local("Noto Sans Italic"),
+    url(../../../font/NotoSans/NotoSans-Italic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: italic;
-    font-weight: 500;
-    src: local('Noto Sans Medium Italic'),
-    url(../../../font/NotoSans/NotoSans-MediumItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: italic;
+  font-weight: 500;
+  src: local("Noto Sans Medium Italic"),
+    url(../../../font/NotoSans/NotoSans-MediumItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: italic;
-    font-weight: 700;
-    src: local('Noto Sans Bold Italic'),
-    url(../../../font/NotoSans/NotoSans-BoldItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: italic;
+  font-weight: 700;
+  src: local("Noto Sans Bold Italic"),
+    url(../../../font/NotoSans/NotoSans-BoldItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans';
-    font-style: italic;
-    font-weight: 900;
-    src: local('Noto Sans Black Italic'),
-    url(../../../font/NotoSans/NotoSans-BlackItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Sans";
+  font-style: italic;
+  font-weight: 900;
+  src: local("Noto Sans Black Italic"),
+    url(../../../font/NotoSans/NotoSans-BlackItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 100;
-    src: local('Noto Serif Thin'),
-    url(../../../font/NotoSerif/NotoSerif-Thin.ttf) format('truetype');
-    font-display: fallback;
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 100;
+  src: local("Noto Serif Thin"),
+    url(../../../font/NotoSerif/NotoSerif-Thin.ttf) format("truetype");
+  font-display: fallback;
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 300;
-    src: local('Noto Serif Light'),
-    url(../../../font/NotoSerif/NotoSerif-Light.ttf) format('truetype');
-    font-display: fallback;
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 300;
+  src: local("Noto Serif Light"),
+    url(../../../font/NotoSerif/NotoSerif-Light.ttf) format("truetype");
+  font-display: fallback;
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 400;
-    src: local('Noto Serif Regular'),
-    url(../../../font/NotoSerif/NotoSerif-Regular.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 400;
+  src: local("Noto Serif Regular"),
+    url(../../../font/NotoSerif/NotoSerif-Regular.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 500;
-    src: local('Noto Serif Medium'),
-    url(../../../font/NotoSerif/NotoSerif-Medium.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 500;
+  src: local("Noto Serif Medium"),
+    url(../../../font/NotoSerif/NotoSerif-Medium.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 600;
-    src: local('Noto Serif SemiBold'),
-    url(../../../font/NotoSerif/NotoSerif-SemiBold.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 600;
+  src: local("Noto Serif SemiBold"),
+    url(../../../font/NotoSerif/NotoSerif-SemiBold.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 700;
-    src: local('Noto Serif Bold'),
-    url(../../../font/NotoSerif/NotoSerif-Bold.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 700;
+  src: local("Noto Serif Bold"),
+    url(../../../font/NotoSerif/NotoSerif-Bold.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: normal;
-    font-weight: 900;
-    src: local('Noto Serif Black'),
-    url(../../../font/NotoSerif/NotoSerif-Black.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: normal;
+  font-weight: 900;
+  src: local("Noto Serif Black"),
+    url(../../../font/NotoSerif/NotoSerif-Black.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 100;
-    src: local('Noto Serif Thin Italic'),
-    url(../../../font/NotoSerif/NotoSerif-ThinItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 100;
+  src: local("Noto Serif Thin Italic"),
+    url(../../../font/NotoSerif/NotoSerif-ThinItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 300;
-    src: local('Noto Serif Light Italic'),
-    url(../../../font/NotoSerif/NotoSerif-LightItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 300;
+  src: local("Noto Serif Light Italic"),
+    url(../../../font/NotoSerif/NotoSerif-LightItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 400;
-    src: local('Noto Serif Italic'),
-    url(../../../font/NotoSerif/NotoSerif-Italic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 400;
+  src: local("Noto Serif Italic"),
+    url(../../../font/NotoSerif/NotoSerif-Italic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 500;
-    src: local('Noto Serif Medium Italic'),
-    url(../../../font/NotoSerif/NotoSerif-MediumItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 500;
+  src: local("Noto Serif Medium Italic"),
+    url(../../../font/NotoSerif/NotoSerif-MediumItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 600;
-    src: local('Noto Serif SemiBold Italic'),
-    url(../../../font/NotoSerif/NotoSerif-SemiBoldItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 600;
+  src: local("Noto Serif SemiBold Italic"),
+    url(../../../font/NotoSerif/NotoSerif-SemiBoldItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 700;
-    src: local('Noto Serif Bold Italic'),
-    url(../../../font/NotoSerif/NotoSerif-BoldItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 700;
+  src: local("Noto Serif Bold Italic"),
+    url(../../../font/NotoSerif/NotoSerif-BoldItalic.ttf) format("truetype");
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Serif';
-    font-style: italic;
-    font-weight: 900;
-    src: local('Noto Serif Black Italic'),
-    url(../../../font/NotoSerif/NotoSerif-BlackItalic.ttf) format('truetype');
-    font-display: fallback;
+  font-family: "Noto Serif";
+  font-style: italic;
+  font-weight: 900;
+  src: local("Noto Serif Black Italic"),
+    url(../../../font/NotoSerif/NotoSerif-BlackItalic.ttf) format("truetype");
+  font-display: fallback;
+}
+
+/*缅文*/
+@font-face {
+  font-family: "Padauk";
+  font-style: normal;
+  font-weight: 400;
+  src: local("Padauk"),
+    url(../../../font/Padauk/Padauk-Regular.ttf) format("truetype");
+  font-display: fallback;
+}
+
+@font-face {
+  font-family: "Padauk";
+  font-style: normal;
+  font-weight: 700;
+  src: local("Padauk Bold"),
+    url(../../../font/Padauk/Padauk-Bold.ttf) format("truetype");
+  font-display: fallback;
 }
 /*中文繁體*/
 
 @font-face {
-    font-family: 'Noto Sans TC';
-    font-style: normal;
-    font-weight: 300;
-    src: local('Noto Sans TC Light'),
-    local('Noto Sans CJK TC Light'),
-    local('Source Han Sans TWHK Light')
-    /*url(../../../font/NotoSansTC/NotoSansCJKtc-Light.otf) format('opentype'),
+  font-family: "Noto Sans TC";
+  font-style: normal;
+  font-weight: 300;
+  src: local("Noto Sans TC Light"), local("Noto Sans CJK TC Light"),
+    local("Source Han Sans TWHK Light");
+  /*url(../../../font/NotoSansTC/NotoSansCJKtc-Light.otf) format('opentype'),
     url(../../../font/NotoSansTC/NotoSansTC-Light.woff) format('woff')*/
 }
 
 @font-face {
-    font-family: 'Noto Sans TC';
-    font-style: normal;
-    font-weight: 400;
-    src: local('Noto Sans TC Regular'),
-    local('Noto Sans CJK TC Regular'),
-    local('Source Han Sans TWHK Regular');
-    /*url(../../../font/NotoSansTC/NotoSansCJKtc-Regular.otf) format('opentype'),
+  font-family: "Noto Sans TC";
+  font-style: normal;
+  font-weight: 400;
+  src: local("Noto Sans TC Regular"), local("Noto Sans CJK TC Regular"),
+    local("Source Han Sans TWHK Regular");
+  /*url(../../../font/NotoSansTC/NotoSansCJKtc-Regular.otf) format('opentype'),
     url(../../../font/NotoSansTC/NotoSansTC-Regular.woff) format('woff');*/
-    font-display: fallback;
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans TC';
-    font-style: normal;
-    font-weight: 500;
-    src: local('Noto Sans TC Medium'),
-    local('Noto Sans CJK TC Medium'),
-    local('Source Han Sans TWHK Medium');
-    /*url(../../../font/NotoSansTC/NotoSansCJKtc-Medium.otf) format('opentype'),
+  font-family: "Noto Sans TC";
+  font-style: normal;
+  font-weight: 500;
+  src: local("Noto Sans TC Medium"), local("Noto Sans CJK TC Medium"),
+    local("Source Han Sans TWHK Medium");
+  /*url(../../../font/NotoSansTC/NotoSansCJKtc-Medium.otf) format('opentype'),
     url(../../../font/NotoSansTC/NotoSansTC-Medium.woff) format('woff');*/
-    font-display: fallback;
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans TC';
-    font-style: normal;
-    font-weight: 700;
-    src: local('Noto Sans TC Bold'),
-    local('Noto Sans CJK TC Bold'),
-    local('Source Han Sans TWHK Bold');
-    /*url(../../../font/NotoSansTC/NotoSansCJKtc-Bold.otf) format('opentype'),
+  font-family: "Noto Sans TC";
+  font-style: normal;
+  font-weight: 700;
+  src: local("Noto Sans TC Bold"), local("Noto Sans CJK TC Bold"),
+    local("Source Han Sans TWHK Bold");
+  /*url(../../../font/NotoSansTC/NotoSansCJKtc-Bold.otf) format('opentype'),
     url(../../../font/NotoSansTC/NotoSansTC-Bold.woff) format('woff');*/
-    font-display: fallback;
+  font-display: fallback;
 }
 
-
 /*中文简体*/
 
 @font-face {
-    font-family: 'Noto Sans SC';
-    font-style: normal;
-    font-weight: 300;
-    src: local('Noto Sans SC Light'),
-    local('Noto Sans CJK SC Light'),
-    local('Source Han Sans CN Light');
-    /*url(../../../font/NotoSansSC/NotoSansCJKsc-Light.otf) format('opentype'),
+  font-family: "Noto Sans SC";
+  font-style: normal;
+  font-weight: 300;
+  src: local("Noto Sans SC Light"), local("Noto Sans CJK SC Light"),
+    local("Source Han Sans CN Light");
+  /*url(../../../font/NotoSansSC/NotoSansCJKsc-Light.otf) format('opentype'),
     url(../../../font/NotoSansSC/NotoSansSC-Light.woff) format('woff')*/
 }
 
 @font-face {
-    font-family: 'Noto Sans SC';
-    font-style: normal;
-    font-weight: 400;
-    src: local('Noto Sans SC Regular'),
-    local('Noto Sans CJK SC Regular'),
-    local('Source Han Sans CN Regular');
-    /*url(../../../font/NotoSansSC/NotoSansCJKsc-Regular.otf) format('opentype'),
+  font-family: "Noto Sans SC";
+  font-style: normal;
+  font-weight: 400;
+  src: local("Noto Sans SC Regular"), local("Noto Sans CJK SC Regular"),
+    local("Source Han Sans CN Regular");
+  /*url(../../../font/NotoSansSC/NotoSansCJKsc-Regular.otf) format('opentype'),
     url(../../../font/NotoSansSC/NotoSansSC-Regular.woff) format('woff');*/
-    font-display: fallback;
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans SC';
-    font-style: normal;
-    font-weight: 500;
-    src: local('Noto Sans SC Medium'),
-    local('Noto Sans CJK SC Medium'),
-    local('Source Han Sans CN Medium');
-    /*url(../../../font/NotoSansSC/NotoSansCJKsc-Medium.otf) format('opentype'),
+  font-family: "Noto Sans SC";
+  font-style: normal;
+  font-weight: 500;
+  src: local("Noto Sans SC Medium"), local("Noto Sans CJK SC Medium"),
+    local("Source Han Sans CN Medium");
+  /*url(../../../font/NotoSansSC/NotoSansCJKsc-Medium.otf) format('opentype'),
     url(../../../font/NotoSansSC/NotoSansSC-Medium.woff) format('woff');*/
-    font-display: fallback;
+  font-display: fallback;
 }
 
 @font-face {
-    font-family: 'Noto Sans SC';
-    font-style: normal;
-    font-weight: 700;
-    src: local('Noto Sans SC Bold'),
-    local('Noto Sans CJK SC Bold'),
-    local('Source Han Sans CN Bold');
-    /*url(../../../font/NotoSansSC/NotoSansCJKsc-Bold.otf) format('opentype'),
+  font-family: "Noto Sans SC";
+  font-style: normal;
+  font-weight: 700;
+  src: local("Noto Sans SC Bold"), local("Noto Sans CJK SC Bold"),
+    local("Source Han Sans CN Bold");
+  /*url(../../../font/NotoSansSC/NotoSansCJKsc-Bold.otf) format('opentype'),
     url(../../../font/NotoSansSC/NotoSansSC-Bold.woff) format('woff');*/
-    font-display: fallback;
+  font-display: fallback;
 }
 
 .font_ch {
-    font-family: 'Noto Sans TC', 'Noto Sans SC', Arial, Verdana;
-    font-style: normal;
+  font-family: "Noto Sans TC", "Noto Sans SC", Arial, Verdana;
+  font-style: normal;
 }
 
 .font_pali {
-    font-family: 'Noto Sans', Arial, Verdana;
-    font-style: normal;
+  font-family: "Noto Sans", Arial, Verdana;
+  font-style: normal;
 }
 
 .font_m {
-    font-family: 'Noto Sans', 'Noto Sans TC', 'Noto Sans SC', Arial, Verdana;
-    font-weight: 500;
-    font-style: normal;
+  font-family: "Noto Sans", "Noto Sans TC", "Noto Sans SC", Arial, Verdana;
+  font-weight: 500;
+  font-style: normal;
 }
 
 .font_r {
-    font-family: 'Noto Sans', 'Noto Sans TC', 'Noto Sans SC', Arial, Verdana;
-    font-weight: 400;
-    font-style: normal;
+  font-family: "Noto Sans", "Noto Sans TC", "Noto Sans SC", Arial, Verdana;
+  font-weight: 400;
+  font-style: normal;
 }
 
 .font_l {
-    font-family: 'Noto Sans', 'Noto Sans TC', 'Noto Sans SC', Arial, Verdana;
-    font-weight: 300;
-    font-style: normal;
+  font-family: "Noto Sans", "Noto Sans TC", "Noto Sans SC", Arial, Verdana;
+  font-weight: 300;
+  font-style: normal;
 }
 
 .font_t {
-    font-family: 'Noto Sans', 'Noto Sans TC', 'Noto Sans SC', Arial, Verdana;
-    font-weight: 100;
-    font-style: normal;
-}
+  font-family: "Noto Sans", "Noto Sans TC", "Noto Sans SC", Arial, Verdana;
+  font-weight: 100;
+  font-style: normal;
+}

+ 7 - 6
app/studio/css/style.css

@@ -18,7 +18,8 @@
 }
 
 body {
-  font-family: "Noto Sans", "Noto Sans SC", "Noto Sans TC", Arial, Verdana;
+  font-family: "Noto Sans", "Noto Sans SC", "Noto Sans TC", "Padauk", Arial,
+    Verdana;
   font-style: normal;
   color: var(--main-color);
   font-weight: 400;
@@ -4416,22 +4417,22 @@ note {
 }
 @-webkit-keyframes spin {
   from {
-      -webkit-transform: rotate(0deg);
+    -webkit-transform: rotate(0deg);
   }
   to {
-      -webkit-transform: rotate(360deg);
+    -webkit-transform: rotate(360deg);
   }
 }
 
 @keyframes spin {
   from {
-      transform: rotate(0deg);
+    transform: rotate(0deg);
   }
   to {
-      transform: rotate(360deg);
+    transform: rotate(360deg);
   }
 }
 .icon_spin {
   -webkit-animation: spin 1.5s linear infinite;
   animation: spin 1.5s linear infinite;
-}
+}

+ 1 - 0
app/studio/editor.php

@@ -26,6 +26,7 @@ else{$currDevice="computer";}
 	<link type="text/css" rel="stylesheet" href="css/style.css"/>
 	<link type="text/css" rel="stylesheet" href="css/color_day.css" id="colorchange" />
 	<link type="text/css" rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:767px)">
+	<link href="https://fonts.googleapis.com/css2?family=Padauk:wght@400;700&display=swap" rel="stylesheet">
 	<link type="text/css" rel="stylesheet" href="../public/css/notify.css"/>
 	<?php
 		if(file_exists($dir_user_base.$userid.$dir_myApp."/style.css")){

+ 0 - 0
app/term/term_edit.dlg.css → app/term/term_edit_dlg.css