首页 > 其他分享 >Typecho Joe主题添加文章目录导航

Typecho Joe主题添加文章目录导航

时间:2024-03-11 23:33:57浏览次数:18  
标签:index menu aside Typecho Joe 添加 display joe

方法和样式参考https://www.wlplove.com/archives/84/

1、安装Menutree插件

wget https://github.com/typecho-fans/plugins/releases/download/plugins-M_to_R/MenuTree.zip

解压后放到typecho插件目录

2、修改主题模版

编辑Joe主题文件夹public/aside.php文件

<section class="joe_aside__item menu-tree" style="display:none;">
  <div class="joe_aside__item-title menu_title">
    <svg t="1642997936013" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2169" width="128" height="128"><path d="M838.3 895.9H197.9c-53.9 0-97.7-43.8-97.7-97.7V236.7c0-53.9 43.8-97.7 97.7-97.7h640.3c53.9 0 97.7 43.8 97.7 97.7v561.4c0.1 53.9-43.7 97.8-97.6 97.8zM197.9 203.8c-18.1 0-32.9 14.8-32.9 32.9v561.4c0 18.1 14.8 32.9 32.9 32.9h640.3c18.1 0 32.9-14.8 32.9-32.9V236.7c0-18.1-14.8-32.9-32.9-32.9H197.9z" fill="#666666" p-id="2170"></path><path d="M695.1 455.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 578.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 701.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM379.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5zM657.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5z" fill="#666666" p-id="2171"></path></svg>
    <span class="text">目录</span>
  </div>
  <?php $this->treeMenu(); ?>
</section>

编写样式

编辑Joe主题文件夹assets/css/menutree.css文件

/*,侧边栏目录导航只在文章页面生效*/
.joe_post + .joe_aside > section {
    display: none;
}
.joe_post + .joe_aside > .author {
    display: block;
}
.joe_post + .joe_aside > .menu-tree {
    display: block !important;
}

.menu-tree {
    background: var(--background);
    padding: 15px 0px;
    top: 50px;
    position: sticky;
}

.index-menu {
    max-height: 500px;
    overflow-y:auto;
    overflow-x:hidden;
    margin-top: 10px;
}

/** 父元素<ul>与其中的子元素<li> **/
.index-menu-item {
    margin: 10px 0px;
}

.index-menu-list {
    margin: 5px 0px 5px 10px;
}

/** 所有<a>标签 **/
.index-menu-link{
    color: var(--main);
    transition:all 0.2s ease-in-out 0s;
    padding:5px 0px;
}

.index-menu-link:hover {
    color: var(--theme);
    text-shadow: var(--text-shadow);
    font-weight:500;
}

/* 锚点跳转定位 */
.menu-target-fix {
    display: block;
    position: relative;
    /* 偏移量 */
    top:-100px;
}

/* 在宽度小于1000px的设备上隐藏短划线,以使目录的标题正常显示 */
@media screen and (max-width:1000px) {
    .joe_aside__item-title > .line {
        display:none;
    }
}

/* 在宽度小于800px的设备上隐藏目录侧边栏 */
@media screen and (max-width:800px) {
    .menu-tree{
        display:none;
    }
}

4、应用样式

编辑Joe主题文件夹post.php文件,在<head>标签中添加以下代码

<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/menutree.css'); ?>">

5、效果图

标签:index,menu,aside,Typecho,Joe,添加,display,joe
From: https://www.cnblogs.com/weixia-blog/p/18067366

相关文章

  • Docker compose部署Typecho博客系统
    编辑docker-compose.yml文件:services:typecho:image:joyqi/typecho:nightly-php8.2-apacherestart:alwaysports:-8086:80#端口映射,把博客默认的80端口映射到8086端口environment: TYPECHO_DB_HOST:typecho_db#默认值是localhost,docker......
  • 【C#】HttpWebRequest 接口请求,添加基础Basic认证
    C#,调用对方接口,POST方法,Basic账号密码身份认证。stringurl="";stringaccount="";stringpwd="";JObjectpostData=newJObject();HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Method="POST";re......
  • aspnet zero 12 添加登录 验证码
       aspnetzero自带的验证码是基于Google,国内当前无法使用,只能替换国内的。实现后的界面如下图: PackageManagerInstall-PackageLazy.Captcha.Core验证码后端代码publicinterfaceICaptchaAppService:IApplicationService{///<summary>......
  • fabricjs怎么添加网格线
    html文件:1<canvasid="c"width="600"height="400"></canvas>css文件:1canvas{2border:1pxsolidlightgrey;3} javascript文件1varcanvas=newfabric.Canvas('c',{2selection:false3});4v......
  • 用vcpkg 和vs2022,使用msvc编译器,怎么添加新的依赖库(包含头文件与dll)
    安装vcpkg:如果您还没有安装vcpkg,可以通过VisualStudioInstaller安装。在安装或修改VisualStudio时,选择“C++桌面开发”,然后勾选“vcpkg-C++库管理器”1。集成vcpkg到VisualStudio:在VisualStudio中,通过“工具”菜单选择“NuGet包管理器->程序包管......
  • 在Chrome添加vue插件
    1.首先打开Chrome的开发者模式:(1)点击浏览器的"设置",再点击"扩展程序”:(2)或者直接点击浏览器右上角的扩展程序:打开右上角的“开发者模式”:2.在github下载vue插件,点击进入下载地址:https://github.com/vuejs/devtools3.依次点击下载:按需要浏览器(Chrome)下载:4.点击添加到......
  • Mysql如何给字符串添加索引(前缀索引)
    在日常开发中,我们经常给字符串添加索引,那么给字段添加索引有什么技巧吗,我们看看下面的例子,我们给一个邮箱添加索引,应该如何添加呢看看下面这条sqlselect*fromuserwhereemail='[email protected]'如果我们不添加索引,肯定是要进行全表扫描的,那么我们如何添加呢有两种方式a......
  • Vue 图片上传添加水印文字/水印图片
    图片上传之前的处理(添加水印);可以是上传图片到后台也可以是到OSS原理都是一样beforeUpload(file){returnnewPromise((resolve,reject)=>{//1.调用方法1:把文件转换为base64字符串fileByBase64(file,async(......
  • 添加windows terminal到windows10右键菜单中
    前置条件,windows10中不自带windowsterminal,可以通过microsoftstore下载,然后不会像windows11那样在鼠标右键菜单中生成一个“在终端中打开”,需要通过注册表新建一个右键菜单项来完成。新建一个注册表脚本,此处示例wt.reg,代码示例如下:WindowsRegistryEditorVersion5.00......
  • VOL表格动态添加操作按钮及弹窗确认方法
    VOL表格动态添加操作按钮及弹窗确认方法有好多方法,感觉这种方法最好,效果如下图代码如下onInit()://操作按钮this.columns.push({title:'操作',hidden:false,align:"cent......