你对画廊视图的开发有哪些建议?

  • 思源笔记

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

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

    26084 引用 • 108296 回帖
2 操作
88250 管理员在 2025-06-06 17:56:01 取消置顶了该帖
JeffreyChen 管理员在 2025-06-04 19:32:27 置顶了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 我先提两个


    视图加载:

    • 编辑条目之后不应该像表格视图那样整体刷新,不然会很卡

    条目展示图片:

    • 显示图片 / 不显示图片
    • 自定义优先级规则(例子):获取题头图 > 获取资源字段 A 中的首个图片 > 获取资源字段 B 中的首个图片 > 不显示图片
      • 文档块:题头图 / 条目资源字段
      • 非文档块:条目资源字段
      • 无绑定块:条目资源字段
  • zuoez02 1 via macOS

    画廊视图提供画廊配置按钮:

    1. 选择图片来源
    2. 选择字段 A 显示与否
    3. 选自字段 B 显示与否
    4. 。。。

    在卡片上点击卡片弹出框显示详情(如果点击的不是块链接或者 URL 这种优先级更高的),展示数据库行的详情,支持编辑。

    点击卡片支持直接编辑。

    更多的话就是分组配置,增加分组配置按钮,弹出菜单开启分组配置,选择分组字段即可。横向排列(一行一个分组),纵向排列(一列一个分组,类似看板)

    不同意优先级的观点,实现复杂且使用复杂。用户应明确定义图片来源:

    1. 无图片
    2. 附件字段
    3. 资源 URL 字段
    4. 文档题头图

    性能方面考虑图片懒加载和 infinite-scroll 这种滚动加载的方式可以提高性能。


    题外话:

    1. 希望提供插件接口,插件开发者可以扩展数据库的渲染方法,这样除了表格视图和画廊视图,插件开发者可以开发更多的视图,例如
      1. 统计视图:基于数据库数据统计,生成 dashboard
      2. 折叠视图:表格渲染后,点击一行展开可以直接看对应文档的内容
      3. 瀑布流视图:把数据库里固定列的附件或者图片链接直接做成瀑布流
    2. 性能考验开发者功底,这个不可避免。
    3. 原生 css 素材,让插件开发效果更贴近原生,同时便于主题开发
    4. 接口层面简单说就是增删改查,不够的我觉得可以再加。有的人可能还希望给数据库配置 webhook,这样类似 Notion 一样,hook 数据自动添加之类的,在此不讨论。
  • YRJ0422

    可拖拽排序,图片多了不卡。

  • stevehfut via Android

    希望提供插件接口,插件开发者可以扩展数据库的渲染方法,这样除了表格视图和画廊视图,插件开发者可以开发更多的视图,例如

    统计视图:基于数据库数据统计,生成 dashboard

    折叠视图:表格渲染后,点击一行展开可以直接看对应文档的内容

    瀑布流视图:把数据库里固定列的附件或者图片链接直接做成瀑布流

    超级赞同,希望提供相关接口

  • PearlLin

    可拖拽排序;

    允许根据数据库指定字段排序。

  • chriszhang0815 via macOS

    希望能够参考 flowus 的画廊视图设置,也就是可以有纵向卡片模式,这样在做影视库的时候才能完美地把竖版电影海报展示出来 😄

  • nightstars 1 评论

    是以什么为单位的,“块”还是“文档”?

    跟表格视图没区别
    JeffreyChen
  • deerain 1 1 赞同 via macOS

    在没有题头图的时候,根据文档内容做摘要,生成看得清文字的缩略图

  • 基建功能还是要有,比如分组,流畅性希望也一并解决了。视图只是不同的展示方式了,可以多考察一下好的软件。

  • suxiang999 1 1 赞同 1 评论

    可以【快速拖拽】,来调整【顺序】

    为什么觉得需要:

    一般记东西,【第一遍】记的时候,并不是自己想要的【顺序】

    需要后期反复查看,进行调整

    另外,像思源的【表格】功能

    如需改变顺序

    一般是先选中内容,ctrl 加 x 剪切,找到需要放置的位置,粘贴

    希望:

    画廊视图,可通过【按住左键】的形式

    进行快速拖拽,调整顺序

    你的光标代码不是最新版,最新版解决了表格空单元格定位不准问题
    wilsons
  • tiger7651 1

    参考 trilium notes

    另:画廊视图只是提供一个大概预览,没必要随时更新,质量也可按需自定义,有独立的缩略图数据库文件来管理,象图像浏览软件一要,数据库要能自动清理优化等功能,不能越来越大。

    1 回复
    1 操作
    tiger7651 在 2025-06-05 16:59:12 更新了该回帖
  • SyTlr 1

    画廊视图 重点在于 用图像标记数据条目的特征(而不是分类),快速定位要需要的内容

    展示内容

    按优先级来说,图片展示 > 文字内容展示 > 纯属性标签展示

    • 图片类的展示优先级:

      1. 数据条目的附件属性里的图片(附件通常就是已经表明了这个数据的特点)
      2. 关联文档块的题头图(不污染文档内容)
      3. 关联内容块(容器块)里的图片(通常的方案是第一张图片)
    • 文字内容的优先级:

      1. 关联内容块(容器块)的内容(markdown 渲染结果,例如像 FlowUs 的展示方式)

      2. 关联内容块的 markdown 原始内容

        1. 这是 flowus 的 文档 markdown 内容视图
      3. 数据条目里的文本属性

      4. 其他属性(类似金山文档的多为表格)

    操作体验

    • 按属性筛选是最基础的。这一点已经在表格视图做得很好了

    • 属性自定义展示统一放到设置按钮里(表格视图整列操作的逻辑在画廊视图用不了)

      • flowus 的属性显示设置
    • 画廊视图的一些专属设置:例如封面图的选择、大小、是否显示属性名等等

      flowus 的画廊设置

  • 在块、文档没有选定图片的情况下,优先使用块、文档中的首张图片作为画廊卡片的 cover

  • minglingling 1 赞同

    画廊视图作为一种强展示,经常打开不同卡片查看具体内容的视图。希望对打开方式的交互进行优化。

    • 点击卡片可以设置为:默认可以打开该文档居中的悬浮窗,或单独的预览渲染。而不是鼠标悬浮在文档上 2s 打开悬浮窗。
    • 悬浮窗居中预览后,可以点击周围空白处可直接关闭悬浮窗
      • 目前浮窗打开方式只有悬停一种,且打开后得点击右上角关闭,有点繁琐,其实表格视图也有这个问题,看了一眼 ob 新出的 base 也没有对这个进行优化。我感觉数据库就是为了解决信息展示弱的问题,频繁切换文档体验不佳,更直观的预览方式会更好。
  • 看了一下 Trilium 长这样:

    image.png

    1 回复
  • 希望是可以从数据库每个条目正文内容里的图作为封面,而不是一定要单开一列设置图片

  • 尽可能全面地想了一下:

    条目形式:

    卡片,上下两部分:预览区、信息区

    预览区:

    • 状态 1:关闭,条目仅显示信息区
    • 状态 2:展示图片(默认)
      • 图片来源
        • 文档块:题头图 / 条目资源字段 / 文档图标 / 文档内首张图片
        • 非文档块:条目资源字段 / 条目图标
        • 无绑定块:条目资源字段
      • 图片类型
        • 本地资源 / 网络图片
        • 静态 / 动态图片
        • 支持视频?
      • 图片效果
        • 适应卡片宽度
        • 适应卡片高度
        • 拉伸
      • 使用场景示例:电影海报墙
    • 状态 3:展示文本
      • 文本来源
        • 文档块:文档内容(比如前 100 字)/ 条目字段
        • 非文档块:主键字段绑定块内容 / 其他条目字段
        • 无绑定块:条目字段
      • 文本类型
        • 纯文本(条目字段)
        • 富文本(文档或绑定块内容,以及未来可能支持的条目字段富文本
        • HTML(模板字段)
      • 使用场景示例:做“卡片笔记”、文章展板
    • 支持设置预览区高度,单位为 px
    • 支持自定义展示顺序优先级,例如:文档题头图 > 资源字段 A 中的首个图片 > 文本字段 B 中的前 100 字 > 预览区留空
      使用场景示例:
      • 电影海报墙,一半电影有海报,另一半没有。有海报的情况下展示海报,没海报的情况下展示电影简介。
      • 文章展板,一半有题头图,另一半没有。有题头图的情况下展示题头图,没题头图的情况下展示文章的前 100 字。
    • 支持配置鼠标左键点击的效果
      文档块、非文档块、无绑定块三种条目类型分别配置

    信息区:

    • 状态 1:只显示字段值(默认)
      • 常规:一行显示一个字段
      • 紧凑:一行显示多个字段(参考飞书)
      • 鼠标悬浮在字段值上的时候通过 tooltip 显示字段名(参考 Notion)?
    • 状态 2:一个字段中,左侧显示字段名,右侧显示字段值
    • 状态 3:一个字段中,上方显示字段名,下方显示字段值
    • 显示 / 隐藏字段
      • 支持隐藏主键字段(参考 FlowUs)
      • 如果所有字段都隐藏了,则卡片只显示预览区
    • 换行 / 不换行
    • 字段布局:居左、居中、居右
    • 支持配置鼠标左键点击字段的效果
      • 触发编辑(跟目前的表格视图点击单元格的效果一致)
      • 与点击预览区相同
      • 默认与点击预览区相同,但会在卡片右上角添加一个“编辑”按钮,开启之后点击字段可触发编辑(参考 Notion、FlowUs)
    • 鼠标右键点击卡片,弹出条目菜单(与表格视图一致的菜单)

    视图功能:

    • 基础功能:筛选、排序、搜索、条目数、显示数据库标题
    • 菜单按钮:卡片右上角添加一个 按钮(没有块标),点击打开条目菜单
    • 拖拽排序:用鼠标左键拖拽卡片,插入到其他卡片的前方或后方
    • 多选卡片:支持按住 Ctrl 点击选中数据库条目支持划动鼠标多选数据库条目;多选卡片后支持批量拖拽排序
    • 批量编辑:数据库多选编辑工具栏支持批量编辑字段值
    • 卡片宽度:默认提供大、中、小三个选项,还支持自定义(考虑到卡片宽度根据数据库块的宽度动态变化,所以需要分别配置 min-width 和 max-width)
    • 加载方式:滚动加载(类似表格视图,底部有个“加载更多”按钮) / 分页加载(底部显示页码,更适合海报墙这种场景,参考 FlowUs 的做法)
    • 分组:依据某个字段的值分组,布局支持横向排列(一行一个分组)或纵向排列(一列一个分组,类似看板)

    视图性能:

    • 卡片预览区延迟加载
      卡片预览区的长宽相对来说是固定的,展示的内容不会导致预览区的长宽发生变化影响布局,所以可以延迟加载(不需要获取完了再渲染整个视图)
      • 图片懒加载
      • 比如获取文档前 100 字和获取文档内首张图片应该都是比较影响性能的,可以先渲染出卡片再慢慢加载
    • 条目或者字段级别的刷新
      编辑条目之后不应该像表格视图那样整个视图刷新,不然会很卡。在数据变更之后,单独处理受影响的条目和其中的字段,在视图中单独删除或添加卡片、单独更新卡片的字段
    1 回复
    1 操作
    JeffreyChen 在 2025-06-06 01:35:43 更新了该回帖
  • suxiang999 1 赞同 1 评论
    • 拖拽排序:用鼠标左键拖拽卡片,插入到其他卡片的左侧或右侧
    • 多选卡片:按住 Ctrl 用鼠标左键点击卡片

    关于这两点,是否考虑结合下,形成【批量移动】

    比如,先按住 ctrl,点击左键多选,然后【批量移动】

    不光是可移动到左侧右侧,上侧下侧都行

    画廊中的条目只存在左侧右侧(在分组功能实现之前),对应的是表格中的条目的上侧下侧。不过可能会有歧义,我修改描述为前方或后方
    JeffreyChen
  • YusufPeng 1 评论

    支持根据自定属性、属性和文件名进行筛选。

    目前表格视图是支持这个的,所以画廊视图也能支持
    JeffreyChen
  • heeeeeee

    j 佬牛逼,太认真负责,一下子写那么多,就是怕 d 大到时候轻浮的甩一句"一句话,开发者菜"就草草了事

  • tiger7651

    trilium 的画廊视图每页显示 20 个笔记项目,有翻页功能,减少卡顿,不知该软件用的什么机制,缩略图显示很流畅,连 excalidraw 画布缩略图显示也很流畅,感觉是直接用 html 实时渲染,并没有什么缩略图缓存。

  • ZQ11 4 评论

    得看大家用来干嘛

    用的人说下你们用来干嘛再开发吧。

    感觉像是个先有鸡还是先有蛋的问题,没开发出来就不会有用途,所以大概会是边用边开发,按需求增加功能
    JeffreyChen
    先去调研下吧 我其实都搞不清楚有啥用 万一做出来不是想要的效果那就尴尬了
    ZQ11
    我提出一个 看看能不能做出卡片笔记 这是我的想法哈 就是如果是卡片笔记, 那就要求好记录的效果了
    ZQ11
    我想当成【白板】用,所以才提出关于拖拽的问题,如果拖拽方便,未尝不是一种小白板,可能吧。
    suxiang999
  • sabully

    我觉得完全可以参考 flowus 的设计,因为我个人觉得它做得挺好看的

请输入回帖内容 ...
JeffreyChen
思源笔记同步教程:https://ld246.com/article/1692089679062 爱发电:https://afdian.com/a/JeffreyChen

推荐标签 标签

  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 489 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 797 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 580 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    36 引用 • 200 回帖 • 33 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 77 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 554 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 53 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • OneDrive
    2 引用 • 4 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 72 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 652 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 392 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 1 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 260 关注
  • CodeMirror
    2 引用 • 17 回帖 • 168 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    171 引用 • 1537 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    954 引用 • 944 回帖
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 464 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    10 引用 • 15 回帖 • 5 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 614 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 567 关注
  • 996
    13 引用 • 200 回帖 • 4 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 406 关注