summaryrefslogtreecommitdiffstats
path: root/libs/Contents.php
diff options
context:
space:
mode:
Diffstat (limited to 'libs/Contents.php')
-rw-r--r--libs/Contents.php44
1 files changed, 42 insertions, 2 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();