批量添加微软 fluent emoji 到思源

  1. 这个方案是通过添加==自定义 emoji== 表情包的方式增加微软表情包,全套大概一万多个。可酌情使用。
  2. 按照习惯,先上教程再上示例,所以图片在步骤==下方==。
  3. 本教程主要是为了配合思源插件:emoji 增强(siyuan-plugin-emoji-enhance)的按文件夹分组功能,将源文件自动分组。

首先说明缺点:

  1. 暂时没有找到合适的 fluent emoji 字体,因此本方案不能替换思源内置的 emoji。
  2. 文件较多较大,数量 1W+(四种风格总共),大小 100MB。酌情挑选使用。

步骤

前置条件

  1. 下载 fluent emoji 的压缩包文件:GitHub - microsoft/fluentui-emoji: A collection of familiar, friendly, and modern emoji from Microsoft

    1. 绿色按钮:Code ---> Download ZIP
  2. 在思源中安装 emoji增强(siyuan plugin emoji enhance)

  3. 安装 python https://www.python.org/

具体步骤

  1. 解压缩下载的 ZIP 文件

  2. 找到解压缩后的文件夹

  3. 文件夹路径 --> assets 下创建一个 python 文件 organize_emoji.py

  4. 复制代码到 python 文件,并在这个文件夹下运行

    1. 运行命令:python3 organize_emoji.py

    2. 代码:

      import os
      import json
      import shutil
      
      # 设定当前目录为工作目录
      root_dir = '.'
      
      # 功能:递归遍历文件夹,寻找最底层的目录
      def move_files_and_remove_dir(path, group):
          # 判断是否是最底层目录
          if all(os.path.isdir(os.path.join(path, x)) for x in os.listdir(path)):
              for dir_name in os.listdir(path):
                  # 递归调用处理下一层目录
                  move_files_and_remove_dir(os.path.join(path, dir_name), group)
          else:
              # 移动文件到目标目录
              target_folder = os.path.join(root_dir, f"{group}_{os.path.basename(path)}")
              os.makedirs(target_folder, exist_ok=True)
              for file in os.listdir(path):
                  src_file = os.path.join(path, file)
                  dst_file = os.path.join(target_folder, file)
                  shutil.move(src_file, dst_file)
              # 检查是否可以删除原目录
              if not os.listdir(path):
                  os.rmdir(path)
      
      # 遍历所有顶级文件夹
      for emoji_folder in os.listdir(root_dir):
          emoji_path = os.path.join(root_dir, emoji_folder)
          if os.path.isdir(emoji_path) and 'metadata.json' in os.listdir(emoji_path):
              metadata_path = os.path.join(emoji_path, 'metadata.json')
      
              # 读取metadata.json获取group信息
              with open(metadata_path, 'r', encoding='utf-8') as f:
                  data = json.load(f)
                  group = data.get('group')
      
              # 处理此emoji文件夹下的所有文件
              for item in os.listdir(emoji_path):
                  item_path = os.path.join(emoji_path, item)
                  if os.path.isdir(item_path):
                      move_files_and_remove_dir(item_path, group)
      
              # 删除原emoji目录
              shutil.rmtree(emoji_path, ignore_errors=True)
      
      # 打印完成信息
      print("文件已按照分组信息和风格分类。原文件夹已删除。")
      
      
  5. 稳妥起见关闭思源,然后将 assets中的所有文件夹 复制到 思源的emojis文件夹 下方

  6. 打开思源

  7. 顺便给个 css 片段,修一下 emoji 增强的分组栏

    .emojis>.fn__flex {
        overflow-x: scroll;
    }
    

介绍

微软 fluent 分为四种风格:

  1. 3D:PNG 格式,效果好
  2. 多彩 Color:SVG 格式,效果与 3D 有些区别的立体图标
  3. 扁平 Flat:SVG 格式,扁平化图标
  4. 高对比 High Contrast(黑白):SVG 格式,黑白图标

image

image

image

思源中结合插件的样式

可以看到底部已经按默认类型和风格分好组了。

b042db708a82ff536e8c6c64b999fcae

image

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22353 引用 • 89453 回帖
1 操作
ACai 在 2024-08-02 12:43:02 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...