大家好,思源准备开始开发画廊视图功能。
欢迎大家从开发角度提出建议,例如重点和注意事项,这些建议将有助于思源进行画廊视图的概要设计。
大家好,思源准备开始开发画廊视图功能。
欢迎大家从开发角度提出建议,例如重点和注意事项,这些建议将有助于思源进行画廊视图的概要设计。
我先提两个
视图加载:
条目展示图片:
画廊视图提供画廊配置按钮:
在卡片上点击卡片弹出框显示详情(如果点击的不是块链接或者 URL 这种优先级更高的),展示数据库行的详情,支持编辑。
点击卡片支持直接编辑。
更多的话就是分组配置,增加分组配置按钮,弹出菜单开启分组配置,选择分组字段即可。横向排列(一行一个分组),纵向排列(一列一个分组,类似看板)
不同意优先级的观点,实现复杂且使用复杂。用户应明确定义图片来源:
性能方面考虑图片懒加载和 infinite-scroll 这种滚动加载的方式可以提高性能。
题外话:
可以【快速拖拽】,来调整【顺序】
为什么觉得需要:
一般记东西,【第一遍】记的时候,并不是自己想要的【顺序】
需要后期反复查看,进行调整
另外,像思源的【表格】功能
如需改变顺序
一般是先选中内容,ctrl 加 x 剪切,找到需要放置的位置,粘贴
希望:
画廊视图,可通过【按住左键】的形式
进行快速拖拽,调整顺序
画廊视图 重点在于 用图像标记数据条目的特征(而不是分类),快速定位要需要的内容
按优先级来说,图片展示 > 文字内容展示 > 纯属性标签展示
图片类的展示优先级:
文字内容的优先级:
关联内容块(容器块)的内容(markdown 渲染结果,例如像 FlowUs 的展示方式)
关联内容块的 markdown 原始内容
数据条目里的文本属性
其他属性(类似金山文档的多为表格)
按属性筛选是最基础的。这一点已经在表格视图做得很好了
属性自定义展示统一放到设置按钮里(表格视图整列操作的逻辑在画廊视图用不了)
画廊视图的一些专属设置:例如封面图的选择、大小、是否显示属性名等等
flowus 的画廊设置
画廊视图作为一种强展示,经常打开不同卡片查看具体内容的视图。希望对打开方式的交互进行优化。
尽可能全面地想了一下:
卡片,上下两部分:预览区、信息区
文档题头图
> 资源字段 A 中的首个图片
> 文本字段 B 中的前 100 字
> 预览区留空
︙
按钮(没有块标),点击打开条目菜单关于这两点,是否考虑结合下,形成【批量移动】
比如,先按住 ctrl,点击左键多选,然后【批量移动】
不光是可移动到左侧右侧,上侧下侧都行
trilium 的画廊视图每页显示 20 个笔记项目,有翻页功能,减少卡顿,不知该软件用的什么机制,缩略图显示很流畅,连 excalidraw 画布缩略图显示也很流畅,感觉是直接用 html 实时渲染,并没有什么缩略图缓存。
JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。
Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。
LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!
SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。
Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。
这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。
一些有用的避坑指南。
快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。
机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。
我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。
JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.
Open Source, Open Mind, Open Sight, Open Future!
V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于