Achuan-2

Achuan-2 学生 资讯
关注
64407 号成员,2021-01-09 23:22:39 加入
6.9k
个人主页 浏览
1.3k
帖子 + 回帖 + 评论
554h46m
在线时长
给时间以生命而不是给生命以时间,如果你喜欢我的分享,欢迎给我买杯咖啡 https://www.yuque.com/achuan-2
  • 从 3.1.11 升级到 3.1.13 引述块格式发生了变化,是怎么回事?

    2024-11-20 12:32

    其实我一直不建议官方改样式,专心出功能,美化方面的还是留给主题去做吧

    每次改完样式之后,主题就得适配,现在列表转脑图和表格的功能就全废了/(ㄒoㄒ)/~~

    PixPin20241120123229.png

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-20 11:56

    另外学习了下给超级块加边框的操作,改下默认模板

    
    {{{row
    
    > ${selection}
    
    
    
    ${content}
    
    }}}
    
    {: style="border: 2px dashed var(--b3-theme-on-background);"}
    
    

    PixPin20241120122654.png

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-20 11:54

    不知道其他人有没有这个问题,浮窗我也是用的官方 api,不应该有问题才对

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-20 02:15

    周末上架吧 ,搞一个配置项,可以设置是添加直角引号还是双引号

  • [js] 思源笔记文档添加动态图标自定义颜色

    2024-11-20 01:02

    不改变原来的动态图标,只改变设置图标界面的颜色

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-20 01:01

    设置界面我是用的插件模板,应该没问题才对

    你可以看看有没有报错

  • 思源笔记丨动态图标使用笔记

    2024-11-19 23:25

    插件问题,插件没有添加图标的功能

  • 思源笔记丨动态图标使用笔记

    2024-11-19 23:06

    看看你的模板

    可以直接在文档里调用模板,看看有没有报错

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-19 19:24

    站在大佬肩上更进一步哈哈,而且备注增强主要是备注,我这个更倾向于脚注,场景还是不一样的

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-19 13:14

    @participants

    支持对同一个文本进行多次备注了

    思源笔记脚注插件支持对同一个文本进行多次备注.gif

  • [Quicker] 思源笔记 SuperTag

    2024-11-19 00:33

    有一点像 tana 一样,把标签当成数据库

    思源的数据库其实挺灵活的,就是目前不能直接用添加数据库直接创建数据库,我现在基本就没用标签,都是用数据库快捷把文档归类,确实很爽

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-19 00:31

    你试了 dev 版本了吗,我自己在本地测试应该是没有什么问题的

    很奇怪我明明设置了最低版本是 3.1.12,但是你用低版本还能开启插件

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-18 21:49

    要用思源笔记 3.1.12dev 版本

    插件添加工具栏的 api 有变动,我用了最新的 api,不适配旧版本

  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-18 20:10

    把有脚注的文档导出为模板(即 kramdown 格式),写了个 js 可以把这个模板内容变为脚注数字编号,不过目前由于这个原因,/api/block/getBlockKramdown 支持导出 span 元素样式 · Issue #13183 · siyuan-note/siyuan 还得之后再集成到插件功能里去

    转化前

    PixPin20241118200658.png

    转化后

    PixPin20241118200646.png

    function processkramdown(kramdownText) {
        // 使用正则表达式匹配所有的脚注块引,不考虑data-subtype和span的文本内容
        const footnoteRegex = /<span data-type="block-ref sup"[^>]*data-id="([^"]+)"[^>]*>[^<]*<\/span>{: style="--memo: 1"}/g;
        let match;
        const ids = [];
      
        // 提取所有的data-id并记录第一次出现的顺序
        while ((match = footnoteRegex.exec(kramdownText)) !== null) {
            const id = match[1];
            if (!ids.includes(id)) {
                ids.push(id);
            }
        }
    
        // 更新脚注块引中的内容为对应的序号,并修改data-subtype为"d"
        let processedkramdown = kramdownText.replace(footnoteRegex, (match, id) => {
            const index = ids.indexOf(id) + 1; // 获取序号
            return `<span data-type="block-ref sup" data-subtype="d" data-id="${id}">${index}</span>{: style="--memo: 1"}`;
        });
    
        // 更新被引用的块的命名
        ids.forEach((id, index) => {
            const blockRegex = new RegExp(`({: id="${id}"[^}]*)}`, 'g');
            processedkramdown = processedkramdown.replace(blockRegex, `$1 name="${index + 1}"}`);
        });
    
        return processedkramdown;
    }
    
    // 导出为模板的内容
    const kramdownText = `
    ...
    `;
    
    // 处理Markdown文本
    const processedkramdown = processkramdown(kramdownText);
    console.log(processedkramdown);
    
    
  • 思源笔记丨写了一个插件,用块引实现脚注和备注

    2024-11-18 18:56

    要数字编号,暂时可以通过对脚注内容块进行命名,把脚注引用变为动态锚文本来实现

    PixPin20241118185457.png

    之后我会尝试下让插件有一键转换数字脚注的功能

  • 思源笔记丨动态图标使用笔记

    2024-11-17 21:34
    ![](api/icon/getDynamicIcon?color=red&date=2025-10-26&type=7&lang=zh_CN)
    ![](api/icon/getDynamicIcon?color=red&date=2025-10-26&type=7&lang=en_US)
    

    getDynamicIcon 打多了,这样应该就可以

  • 思源集市内容打包方案

    2024-11-15 22:22

    我是写了一个 release.sh,当要发版,就本地运行这个文件,自动获取版本号打标签,再根据 Github action 发布

  • 重返思源笔记半年,有感而发,写了一篇推文

    2024-11-13 20:22

    手写选择 OneNote,纯电子本地使用还是用思源顺手,OneNote 的搜索能力也差劲(ps:我今年才知道 OneNote 老早就支持[[引用语法(大概 2010 年?),OneNote 老用户表示真是震惊)

    思源笔记越用越顺手

    PixPin20241113201851.png

  • 重返思源笔记半年,有感而发,写了一篇推文

    2024-11-13 11:47

    配图是真好看呀

    抄抄作业,改进下我的主题,我现在习惯用引述块放内容,就把引述块改造为卡片样式了(引述块的缺点可能是放标题不在大纲显示)

    PixPin20241113142256.png

  • 思源笔记丨 Tsundoku 主题对引述块的样式优化(引述块添加背景色、嵌套引述块、引述块里的代码块)

    2024-11-11 14:15

    思源笔记是最新版本吗,主题也是最新版本吗,以前是有这个问题,现在我自己没遇到过了

  • 思源笔记丨动态图标使用笔记

    2024-11-10 11:11

    mmexport1731151531941.png

    dev 版本已经有按钮了

  • 思源笔记丨动态图标使用笔记

    2024-11-09 19:06

    写了一个脚本,可以用 python 脚本批量更改 dailynote、月份、年、周复盘的图标为动态图标

    PixPin20241109190655.png

    • 日记:格式“20241109 Sat”
      import json
      import re
      import os
      
      
      def update_sy_file(file_path):
          # 读取 .sy 文件内容
          with open(file_path, "r", encoding="utf-8") as file:
              content = file.read()
      
          # 解析 JSON 数据
          data = json.loads(content)
      
          # 使用正则表达式提取 title 中的日期
          title = data.get("Properties", {}).get("title", "")
          match = re.match(r"^(\d{4})(\d{2})(\d{2})\s\w{3}$", title)
          if match:
              year, month, day = match.groups()
              formatted_date = f"{year}-{month}-{day}"
              # 更新 icon 属性
              new_icon = f"api/icon/getDynamicIcon?type=6&color=red&date={formatted_date}"
              data["Properties"]["icon"] = new_icon
      
              # 将更新后的数据写回文件
              with open(file_path, "w", encoding="utf-8") as file:
                  json.dump(data, file, ensure_ascii=False)
              print(f"Updated icon for file: {file_path}")
      
      
      def process_directory(directory_path):
          # 遍历目录及其子目录中的所有文件
          for root, _, files in os.walk(directory_path):
              for file in files:
                  if file.endswith(".sy"):
                      file_path = os.path.join(root, file)
                      update_sy_file(file_path)
      
      
      # 使用示例
      process_directory(r"D:\Notes\Siyuan\Achuan-2\data\20241028223345-d9ifjv0")
      
    • 月:格式“202411”
      import json
      import re
      import os
      
      
      def update_sy_file(file_path):
          # 读取 .sy 文件内容
          with open(file_path, "r", encoding="utf-8") as file:
              content = file.read()
      
          # 解析 JSON 数据
          data = json.loads(content)
      
          # 使用正则表达式提取 title 中的日期
          title = data.get("Properties", {}).get("title", "")
          match = re.match(r"^(\d{4})(\d{2})$", title)
          if match:
              year, month = match.groups()
              formatted_date = f"{year}-{month}-01"
              # 更新 icon 属性
              new_icon = f"api/icon/getDynamicIcon?type=3&date={formatted_date}"
              data["Properties"]["icon"] = new_icon
      
              # 将更新后的数据写回文件
              with open(file_path, "w", encoding="utf-8") as file:
                  json.dump(data, file, ensure_ascii=False)
              print(f"Updated icon for file: {file_path}")
      
      def process_directory(directory_path):
          # 遍历目录及其子目录中的所有文件
          for root, _, files in os.walk(directory_path):
              for file in files:
                  if file.endswith(".sy"):
                      file_path = os.path.join(root, file)
                      update_sy_file(file_path)
      
      
      # 使用示例
      process_directory(r"D:\Notes\Siyuan\Achuan-2\data\20241028223345-d9ifjv0")
      
    • 年:格式“2024”
      import json
      import re
      import os
      
      
      def update_sy_file(file_path):
          # 读取 .sy 文件内容
          with open(file_path, "r", encoding="utf-8") as file:
              content = file.read()
      
          # 解析 JSON 数据
          data = json.loads(content)
      
          # 使用正则表达式提取 title 中的日期
          title = data.get("Properties", {}).get("title", "")
          match = re.match(r"^(\d{4})$", title)
          if match:
              year,= match.groups()
              formatted_date = f"{year}-01-01"
              # 更新 icon 属性
              new_icon = f"api/icon/getDynamicIcon?type=4&date={formatted_date}"
              data["Properties"]["icon"] = new_icon
      
              # 将更新后的数据写回文件
              with open(file_path, "w", encoding="utf-8") as file:
                  json.dump(data, file, ensure_ascii=False)
              print(f"Updated icon for file: {file_path}")
      
      
      
      def process_directory(directory_path):
          # 遍历目录及其子目录中的所有文件
          for root, _, files in os.walk(directory_path):
              for file in files:
                  if file.endswith(".sy"):
                      file_path = os.path.join(root, file)
                      update_sy_file(file_path)
      
      
      # 使用示例
      process_directory(r"D:\Notes\Siyuan\Achuan-2\data\20241028223345-d9ifjv0")
      
  • 语雀导出的文档导入思源有很多 html 标签怎么处理掉

    2024-11-09 18:13

    如果想要保留颜色的话,可以写一个 python 脚本或者正则批量替换下 font 标签为 span,添加 date-type 属性,然后标签末尾添加思源设置颜色的语法

    <span data-type="text">有颜色文字</span>{: style="color: rgb(61,70,77);"}普通文字
    

    PixPin20241109181347.png

    如果用 vscode 的话,可以用
    正则语法

    <font style="([^"]+)">([^<]+)</font>
    

    替换语法

    <span data-type="text">$2</span>{: style="$1"}
    

    PixPin20241109182114.png

    替换完毕后

    PixPin20241109182128.png

    直接粘贴到思源

    PixPin20241109182147.png

    @88250 导入 md 能不能添加下 font 标签的转换,或者干脆支持 font 标签呢,考虑到 obsidian 和 typora 有很多用户会用 font 标签来设置笔记颜色

  • [js] 添加日记,自动添加到数据库,并自动填充数据库某一文本列的内容

    2024-11-08 19:48

    文本列 id 需要用开发者工具选择文本列,查看 data-col-id 是什么

    PixPin20241108201324.png

  • [js] 添加日记,自动添加到数据库,并自动填充数据库某一文本列的内容

    2024-11-08 17:40

    你可以看看自己的代码片段是否开启,以及看看开发者工具的 console 有没有报错