Skip to content
This repository was archived by the owner on Mar 6, 2025. It is now read-only.

Files

Latest commit

Dec 13, 2024
e8e143d · Dec 13, 2024

History

History
108 lines (79 loc) · 4.04 KB

README_zh_CN.md

File metadata and controls

108 lines (79 loc) · 4.04 KB

Siyuan Code Tabs

English

简介

这个思源插件允许你将多种语言的代码放在一组标签页下

已知问题

  • 不保证适配所有第三方主题
  • 切换主题或模式时至少要有一个打开着的文档,否则标签页样式不会随主题改变,需要打开一个文档后再次切换主题
  • 导出为markdown或html等格式时所有标签页样式会丢失,只有导出pdf或图片时标签页才能正常显示
  • 更换主题时代码标签页的样式可能会出现异常,这时请尝试以下方法:
    • 切换外观模式
    • 切换主题
    • 关闭已打开的文档再重新打开
    • 重启思源笔记后再次尝试以上方法
  • 目前仅3.0.16及以上版本可正常使用

提示

  • 思源3.0.14及以上版本需要在 设置 -> 编辑器 中打开 允许执行HTML块内脚本
  • 从0.3.0版本开始各项功能已基本实现预期(暂时不考虑实现显示行号功能),之后的更新将主要以修复bug和优化样式为主
  • 更新插件后如果出现显示异常,可以用 插件 -> 修复已打开文档中所有代码标签页 进行修复,如果仍有问题,可尝试切回代码块后重新生成代码标签页

使用示例

  1. 先在思源文档中插入一个代码块,形式如下。在tab:::后输入标题,之后再跟上:::active 表示打开文档时默认激活这个标签,若没有添加该标志则默认激活第一个标签。之后再输入lang:::语言,其中lang:::语言 省略不写时默认将标题作为代码的语言类型。示例文件
    tab:::这是c语言:::active
    lang:::c
    #include<stdio.h>
    int main(){
       printf("hello\n");
       return 0;
    }
    
    tab:::python
    def hello_world():
       print("Hello World")
    
  2. 鼠标点击 代码块左上角的块菜单 -> 插件 -> 将代码块转换为标签页,你也可以在 设置 -> 快捷键 中为该功能设置一个快捷键。转换后效果如下
    图2
  3. 若需要编辑代码,可点击标签页右上角的 切回代码块,编辑完成之后再次将代码块转换为标签页即可 图3
  4. 可以点击右上角的复制按钮一键复制代码
    图4
  5. 标签过多时一部分标签会被隐藏,桌面端可以将鼠标光标放在标签栏上使用鼠标滚轮滚动查看,移动端可以左右滑动标签栏查看
  6. 效果演示
    图5

备注

  • 这个插件基本上是在文心一言和ChatGPT的帮助下写出来的
  • 这个插件是仿照obsidian-code-tab写的
  • 测试时的思源版本:3.1.13

更新日志

v0.6.2

  • 修复3.1.15中切回代码块时换行符丢失的问题
  • 修复某些主题中标签和代码间的间距问题

v0.6.1

  • 调整标签的最小宽度

v0.6.0

  • 现在复制按钮可以复制markdown了
  • 移动端标签过多时可以左右滑动查看标签了
  • 修复使用docker时复制按钮不生效的问题
  • 优化标签样式

v0.5.0

  • 优化样式及显示效果,适配更多主题
  • 修复在使用docker时可能因CORS问题导致的代码样式异常的问题
  • 修复在某些版本中标签页内代码边距太小的问题

v0.4.2

  • 支持在docker中运行插件

v0.4.1

  • 加载插件时会检查是否打开了允许执行HTML块内脚本选项

v0.4.0

  • 修复尖括号转义问题
  • 限制标签标题长度,标签过多时自动添加水平滚动条
  • 调整纯文本和markdown中代码块的字体大小

v0.3.0

  • 优化显示效果
  • 让标签页适配更多主题
  • 现在可以指定打开文档时默认激活的标签了
  • 修复了一些bug