跳转至内容
  • 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
太微中文论坛icon

太微中文论坛

  1. 首页信息流
  2. 版块
  3. 讨论
  4. 目录文件夹样式调整

目录文件夹样式调整

已定时 已固定 已锁定 已移动 讨论
5 帖子 2 发布者 97 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #1
    \define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
    \whitespace trim
    <$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
      <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
        <li class=<<toc-item-class>>>
          <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>
              <$list filter="[all[current]tagging[]$sort$limit[1]]  -[subfilter<__exclude__>]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/file}}</$button>">
              <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
                <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
                <$transclude tiddler=<<toc-closed-icon>> />
                </$button>
              </$reveal>
              <$reveal type="match" stateTitle=<<toc-state>> text="open">
                <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
                  <$transclude tiddler=<<toc-open-icon>> />
                </$button>
              </$reveal>
            </$list>
            <<toc-caption>>
          </$link>
          <$reveal type="match" stateTitle=<<toc-state>> text="open">
            <$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
          </$reveal>
        </li>
      </$set>
    </$qualify>
    \end
    
    <$let toc-open-icon="$:/core/images/fold-button" toc-closed-icon="$:/core/images/folder" >
    <div class="tc-table-of-contents">
    <$transclude $variable="toc-selective-expandable" tag="TableOfContents" itemClassFilter="tc-btn-invisible tc-btn-mini"/>
    </div>
    </$let>
    

    新建一个条目,内容如上。目录文件夹的根目录是里面的TableOfContents,可以替换成其他,如Index等。效果如下图。

    767f9f8c-e1c3-45d5-a140-8b4933834551-image.png

    有三个图标。一个是文件图标,表示这是最底层的了。一个是文件夹图标,表示里面还有内容。另一个表示展开图标。展开这个文件夹。

    1 条回复 最后回复
    0
    • 机杼机 离线
      机杼机 离线
      机杼
      写于 最后由 编辑
      #2

      修改自$:/core/macros/toc条目,我是直接复制了里面toc-linked-selective-expandable-body宏的内容。

      把里面的空白图标替换成文件图标。

      当时发现这个功能时觉得很意外,竟然还可以这样改。不过这只能在当前条目里生效。换成其他条目,修改的效果就不生效了。

      1 条回复 最后回复
      0
      • 机杼机 离线
        机杼机 离线
        机杼
        写于 最后由 编辑
        #3

        该说不说,tiddlywiki的代码是真复杂。看着好像不难,但那一串代码走下来,比迷宫还复杂。感兴趣的可以看一看上面的toc宏的代码。就是不知道现在不用宏了,改用procedure了,这些会不会改掉。

        1 条回复 最后回复
        0
        • dyp1121054136D 离线
          dyp1121054136D 离线
          dyp1121054136
          写于 最后由 编辑
          #4

          宏的名字得全部换掉吧,打上 $:/tags/Macro 标签就可以随处用了

          机杼机 1 条回复 最后回复
          0
          • 机杼机 离线
            机杼机 离线
            机杼
            在 中回复了 dyp1121054136 最后由 编辑
            #5

            @dyp1121054136
            全换掉挺麻烦的,因为我也就是目录这样用,其他子层级的,我都是自己编写一个宏来展示。

            fda57629-debf-4b9f-89a0-50655f560e67-image.png

            大概这样的效果。

            1 条回复 最后回复
            1

            • 登录

            • 没有帐号? 注册

            • 登录或注册以进行搜索。
            Powered by NodeBB Contributors
            • 第一个帖子
              最后一个帖子
            0
            • 最新
            • 版块
            • 标签
            • 热门
            • 用户
            • 群组
            • 太微中文教程
            • 新插件投票看板