metadata: 一个查看编辑文档元数据的挂件

本贴最后更新于 601 天前,其中的信息可能已经时过境迁

项目地址: Zuoqiu-Yingyi/widget-metadata

本文章不会与项目文档同步更新, 可能已经过时, 具体内容请以项目的 README 为准

widget-metadata

一个可以查看/编辑/导出文档块属性的挂件

预览

metadata-编辑面板

metadata-导出面板

功能

  • 编辑面板

    • 编辑文档块的基本属性

      • created

        • 文档创建时间
      • updated

        • 文档修改时间
      • title

        • 文档标题
      • name

        • 文档命名
      • alias

        • 文档别名
      • tags

        • 文档标签
      • bookmark

        • 文档书签
      • memo

        • 文档备注
    • 编辑文档块的自定义属性

      • custom-*

        • 自定义属性名仅能包含 a-z, A-Z, 0-9, -
        • 自定义属性值为空时删除该属性
    • 编辑文档块的其他属性

      • id

        • 文档标识
      • icon

        • 文档图标
      • scroll

        • 文档浏览位置
      • title-img

        • 文档题头图
  • 导出面板

    • 自定义文档块中需要导出的元数据

      • 可选择部分属性导出

        • 勾选属性表格中需要导出属性的多选框
      • 可在导出时重命名属性名称

        • 设置属性表格中 导出属性名
      • 可在导出时对属性排序

        • 拖动属性表格首列
      • 可预览导出的内容

        • 预览文本域中的内容初始值为已保存的元数据
        • 当属性表格中内容发生更改时, 预览文本域中的内容同步更改
      • 可选择自定义属性值的解析器

        • string

          • 解析为字符串
        • JSON

          • 解析为 JSON 对象

          • 有效值

            • JSON 字符串

              • 示例 custom-author

                ["作者 1", "作者 2"]
                
            • JSON5 字符串

              • 示例 custom-author

                [
                    {
                        name: "作者 1 姓名",
                        affiliation: "作者 1 工作单位",
                    },
                    {
                        name: "作者 2 姓名",
                        affiliation: "作者 2 工作单位",
                    },
                ]
                
            • JavaScript Object

              • 示例 custom-date

                {
                    date: `日期: ${new Date().toLocaleDateString()}`,
                    time: `时间: ${new Date().toLocaleTimeString()}`,
                }
                
            • JavaScript 表达式

              • 示例 custom-datetime

                new Date()
                
            • JavaScript 自执行函数

              • 示例 custom-datetime

                (() => {
                    const datetime = new Date();
                    return {
                        timestamp: datetime,
                        datetime: datetime.toLocaleString(),
                        date: datetime.toLocaleDateString(),
                        time: datetime.toLocaleTimeString(),
                    };
                })()
                
        • YAML

          • 解析为 YAML 对象

          • 有效值

            • YAML 字符串

              • 示例 custom-author

                - name: 作者 1
                  affiliation: 作者 1 单位
                - name: 作者 2
                  affiliation: 作者 2 单位
                
            • JSON 字符串

              • 示例 custom-author

                ["作者 1", "作者 2"]
                
    • 配置导出的内容后点击面板右上角的 保存 按钮保存配置项与元数据

    • 可以使用面板右上角的 导出时保留元数据 开关控制是否在导出文档时以 YFM (YAML For Markdown) 格式将元数据一同导出

使用方法

悬浮预览窗口中查看/编辑文档属性

  • 背景

    • 思源的鼠标悬浮预览窗口中无法查看/编辑文档块的属性
  • 应用场景

    • 在鼠标悬浮预览窗口中查看并编辑文档属性

      • 在使用 快捷键/块引用 新建的文档中插入一个该块即可在浮窗中查看/编辑文档块属性, 无需打开文档后再进入文档块属性面板查看/编辑

导出为 Markdown 时自定义 YFM 文档元数据

依赖

作者 项目 许可证
vitejs vitejs/vite: Next generation frontend tooling. It's fast! MIT license
vuejs vuejs/vue: This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core MIT license
kazupon kazupon/vue-i18n: Internationalization plugin for Vue.js MIT license
arco-design arco-design/arco-design-vue: A Vue.js 3 UI Library based on Arco Design MIT license
moment GitHub - moment/moment: Parse, validate, manipulate, and display dates in javascript. MIT license

更改日志

CHANGELOG

  • 思源笔记

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

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

    22337 引用 • 89380 回帖

相关帖子

欢迎来到这里!

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

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