summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorBigCoke233 <hi@guhub.cn>2020-07-30 23:45:41 +0800
committerBigCoke233 <hi@guhub.cn>2020-07-30 23:45:41 +0800
commit23c8e8fed64c5995101cc9ceb08706d8849b0a3c (patch)
tree0b5cd4eb18caf8313f41911b1d208c3da2c72c88 /libs
parent7168e743fe802cc977ce8fe990f09bf87ba46eaa (diff)
:zap: Add: 各种优化、新增和修复
- 新增:支持自定义「导航栏图标按钮」 - 新增:文章目录(使用 `{:toc:}` 在文中插入目录) - 新增:归档页面中添加「文章分类」栏目 - 优化:将设置项「Pjax 完成后执行事件」更改为更准确的「Pjax 回调函数」 - 修复:一个存在了超久的拼写错误(`paresNav`=>`parseNav`) - 修复:archive 页面(即分类、标签、搜索等)文章头图问题
Diffstat (limited to 'libs')
-rw-r--r--libs/Contents.php44
-rwxr-xr-xlibs/Options.php8
-rw-r--r--libs/lang/en-us.php1
-rw-r--r--libs/lang/moe.php3
-rw-r--r--libs/lang/zh-cn.php1
-rw-r--r--libs/lang/zh-tw.php1
6 files changed, 52 insertions, 6 deletions
diff --git a/libs/Contents.php b/libs/Contents.php
index d821b72..b1b8db9 100644
--- a/libs/Contents.php
+++ b/libs/Contents.php
@@ -32,7 +32,7 @@ class Contents
//Links
$text = Contents::parseLink($text);
//toc
- $text = preg_replace('/{:toc:}/s',Contents::tableOfContents($text),$text);
+ $text = preg_replace('/{:toc:}/s', '<div class="toc-box">'.Contents::tableOfContents($text).'</div>', $text);
}
return $text;
}
@@ -277,7 +277,7 @@ class Contents
/**
* 解析自定义导航栏
*/
- static public function paresNav($data, $type) {
+ static public function parseNav($data, $type) {
$de_json = json_decode($data, true);
$count_json = count($de_json);
for ($i = 0; $i < $count_json; $i++) {
@@ -296,6 +296,46 @@ class Contents
}
}
+ static public function parseNavIcon($data, $type) {
+ $de_json = json_decode($data, true);
+ $count_json = count($de_json);
+ for ($i = 0; $i < $count_json; $i++) {
+ $icon = $de_json[$i]['icon'];
+ $link = $de_json[$i]['link'];
+ $action = $de_json[$i]['action'];
+ //定义 class
+ if($type=="top-nav"){
+ $class = 'nav-icon-button';
+ }
+ elseif($type=="drawer"){
+ $class = 'drawer-icon';
+ }
+ elseif($type=="mobile"){
+ $class = 'nav-mobile-icon';
+ }
+ else{
+ $class= 'unknown';
+ }
+ if($de_json[$i]['class']) $class.= ' '.$de_json[$i]['class'];//自定义 class
+ //计算 right 距离
+ $right_more=$i*45;
+ $right=20+$right_more;
+ //添加 $other
+ if($type=="top-nav") $other=' style="right: '.$right.'px"';
+ //输出导航图标按钮
+ if($type=="top-nav"||$type=="drawer"){
+ if(!$action): echo '<a href="'.$link.'" class="'.$class.'"'.$other.'><i class="iconfont icon-'.$icon.'"></i></a>';
+ else: echo '<button class="'.$class.'" onclick="'.$action.'"'.$other.'><i class="iconfont icon-'.$icon.'"></i></button>';
+ endif;
+ }
+ elseif($type=="mobile"){
+ if(!$action): echo '<a style="float:left" href="'.$link.'"'.$other.'><i class="iconfont icon-'.$icon.'"></i></a>';
+ else: echo '<a style="float:left" onclick="'.$action.'"'.$other.'><i class="iconfont icon-'.$icon.'"></i></a>';
+ endif;
+ }
+ }
+ }
+
/**
* 根据 id 返回对应的对象
* 此方法在 Typecho 1.2 以上可以直接调用 Helper::widgetById();
diff --git a/libs/Options.php b/libs/Options.php
index d1b5f13..cda0f9e 100755
--- a/libs/Options.php
+++ b/libs/Options.php
@@ -129,8 +129,10 @@ function themeConfig($form) {
$form->addInput($navAero);
$navSlide = new Typecho_Widget_Helper_Form_Element_Select('navSlide',array('0'=>'是','1'=>'否'),'0','Headroom','开启后,访客向下滚动页面时导航栏收起,向上滚动时导航栏展示');
$form->addInput($navSlide);
- $customNav = new Typecho_Widget_Helper_Form_Element_Textarea('customNav', NULL, NULL, _t('自定义导航栏'), _t('按照格式书写,自定义导航栏内容,留空则读取所有的独立页面,书写的格式请查看 wiki<hr>'));
- $form->addInput($customNav);
+ $customNav = new Typecho_Widget_Helper_Form_Element_Textarea('customNav', NULL, NULL, _t('自定义导航栏'), _t('按照格式书写,自定义导航栏内容,留空则读取所有的独立页面,书写的格式请查看 wiki'));
+ $form->addInput($customNav);
+ $customNavIcon = new Typecho_Widget_Helper_Form_Element_Textarea('customNavIcon', NULL, NULL, _t('自定义导航小图标'), _t('按照格式书写,自定义内导航栏右侧的小图标,留空则展示默认的图标按钮,书写的格式请查看 wiki<hr>'));
+ $form->addInput($customNavIcon);
//index-banner
$bannerUrl = new Typecho_Widget_Helper_Form_Element_Text('bannerUrl', NULL, NULL, _t('<h2>首页大图 Banner</h2>图片 Url'), _t('首页大图的图片地址'));
@@ -146,7 +148,7 @@ function themeConfig($form) {
'1'=>'开启'
),'1','<h2>Pjax 预加载</h2>是否开启','Pjax 预加载功能的开关');
$form->addInput($pjax);
- $pjax_complete = new Typecho_Widget_Helper_Form_Element_Textarea('pjax_complete', NULL, NULL, _t('完成后执行事件'), _t('Pjax 跳转页面后执行的事件,写入 js 代码,一般将 Pjax 重载(回调)函数写在这里。<hr>'));
+ $pjax_complete = new Typecho_Widget_Helper_Form_Element_Textarea('pjax_complete', NULL, NULL, _t('Pjax 回调函数'), _t('Pjax 跳转页面后执行的事件,写入 js 代码,一般将 Pjax 重载(回调)函数写在这里。<hr>'));
$form->addInput($pjax_complete);
//improve
diff --git a/libs/lang/en-us.php b/libs/lang/en-us.php
index 97358cc..e908ff4 100644
--- a/libs/lang/en-us.php
+++ b/libs/lang/en-us.php
@@ -54,6 +54,7 @@ $GLOBALS['headerTexts'] = array(
$GLOBALS['archivePageTexts'] = array(
"archiveTagTitle" => "Tags",
"archivePostTitle" => "Posts",
+ "archiveCategoryTitle" => "Category",
"archiveTimeYear" => "",
"archiveYearTotal" => "%s articles in total",
"archiveStart" => "Everything started on %s"
diff --git a/libs/lang/moe.php b/libs/lang/moe.php
index 53d4235..fbbc5a2 100644
--- a/libs/lang/moe.php
+++ b/libs/lang/moe.php
@@ -59,7 +59,8 @@ $GLOBALS['headerTexts'] = array(
);
//归档页面
$GLOBALS['archivePageTexts'] = array(
- "archiveTagTitle" => "博主贴的标签",
+ "archiveTagTitle" => "博主贴的标签",
+ "archiveCategoryTitle" => "乱分的类",
"archivePostTitle" => "博主写的水文",
"archiveTimeYear" => "年的水",
"archiveYearTotal" => "这年水了 %s 篇文",
diff --git a/libs/lang/zh-cn.php b/libs/lang/zh-cn.php
index 967817a..c4d4220 100644
--- a/libs/lang/zh-cn.php
+++ b/libs/lang/zh-cn.php
@@ -61,6 +61,7 @@ $GLOBALS['headerTexts'] = array(
$GLOBALS['archivePageTexts'] = array(
"archiveTagTitle" => "文章标签",
"archivePostTitle" => "文章归档",
+ "archiveCategoryTitle" => "文章分类",
"archiveTimeYear" => "年",
"archiveYearTotal" => "共 %s 篇文章",
"archiveStart" => "一切开始于 %s"
diff --git a/libs/lang/zh-tw.php b/libs/lang/zh-tw.php
index 96d479d..f23580c 100644
--- a/libs/lang/zh-tw.php
+++ b/libs/lang/zh-tw.php
@@ -61,6 +61,7 @@ $GLOBALS['headerTexts'] = array(
$GLOBALS['archivePageTexts'] = array(
"archiveTagTitle" => "文章標籤",
"archivePostTitle" => "文章歸檔",
+ "archiveCategoryTitle" => "文章分類",
"archiveTimeYear" => "年",
"archiveYearTotal" => "共 %s 篇文章",
"archiveStart" => "壹切開始於 %s"