000 从零开始的 mini-vlook: WIP 起航!

本贴最后更新于 235 天前,其中的信息可能已经时移俗易

[!Example]+ 属性

  • 版本 v0.0.1-alpha+20240826

你还在为找不到心意的插件而烦恼吗?你还在为大佬更新过慢而困扰吗?你还在因为不同主题的特色功能而反复切换或者取舍不定吗?—— 少年!来吧,求人不如求自己,让我们一起从零开启插件和主题的“深度自定义”之旅吧!

跟着我走,你能学习到如何从零开始开发主题和插件,甚至你能学习到如何管理自己的项目和任务,组织自己的知识和笔记。

我不会深入告诉你 CSS 盒子模型是怎么折磨人的,也不会告诉你复杂的 js 语法糖是怎么起作用的。因为我也不懂。我甚至不想教你如何正确规划自己的编程路线,因为 Github 上路线图真的比我的要全。

我只是把自己摸索和学习的过程分享给你——正如,2 年前,我一边在浏览器搜 “CSS 如何让文字居中”、“CSS 如何改变文字颜色”,一边东拼西凑起这个 bug 不断、又很小众审美的 mini-vlook 主题。

我折腾的最初动力就是—— 我想把 Typora 的 vlook 插件中的“小部分”功能,迁移到我的新笔记软件——思源笔记上。

我从魔改 Zhang Light 主题开始,到借鉴萌仙子的 Dark+ 的项目结构和启动脚本, 复制 Roy 和 Savor 的一个个有趣的功能项,加上一些自己的主观用途,又在折腾群群主老哥和各位大佬的帮助下,一个东拼西凑的主题就奇妙的跑起来。

出发点就是一个很私人的主题诞生了——一个上架就是为了蹭免费云端备份和同步的小小主题,居然也有了点小小的下载量。

搭台唱戏,台下哪怕没有一个人,也应该把戏唱完,何况还有这么多朋友也恰好和我有一样的喜好呢?

所以,我决定把现在 mini-vlook​ 主题拆分成 mini-vlook​ 主题和 mini-vlook-addin​ 插件两个项目(插件不依赖主题,拆分是为了解耦),并添加最近从其他插件和主题中学习到一些“新点子”到这次改进中。

写这个系列的原因,也是希望有人可以像我魔改 Zhang Light 主题一样,把我的主题改成更加符合自己脾气的主题。当然,如果也可以分享出来让社区的兄弟姐妹们参考,那也是极好的。

先画饼——啊呸,先放路线图,让各位看官们解解馋:

[!Tip]+ 提示信息:

下面的内容有些是现在有的,有些是有但是有 BUG,有些可能会被废弃,有些是要新增的功能,至于每个功能是做什么的,等开发到的时候再介绍吧。

  • mini-vlook

    • 整体布局(siyuan)

      • 顶部: 主菜单、同步、前进、后退、插件按钮、标题名、年付订阅、功能特性、插件、命令面板、全局搜索、外观切换、最小化、最大化、关闭
      • 左侧: 文档树、大纲、收集箱、书签、标签、插件面板
      • 右侧:关系图、全局关系图、反向链接
      • 底部:隐藏/停靠面板、同步提示信息、字符数/字数、帮助按钮
      • 其他窗口处理:设置页面、数据历史、闪卡、右键菜单、Tip 快捷菜单、下拉菜单、功能菜单 /​、模板、检索、PDF 标注
    • 内容块渲染:

      • 容器样式:段落、标题、列表块、引述块(引用块)、表格、行内代码块、数学公式块、嵌入块 {{SQL}}​、HTML 块、超级块、挂件、分隔线、IFrame、视频、音频、脑图、流程图、时序图、甘特图、类图、用户游历图、GIt 图、实体关系图、图表、五线谱、Graphviz、Flowchart、PlantUML
      • 文本样式:块引用、超链接、图片、下划线、粗体、斜体、删除线、高亮(标记)、上标、下标、行内代码、键盘、标签、行级公式、备注、前景颜色、背景颜色、虚拟引用
    • 额外增加的功能

      • 封面和封底theme=tm1...tm7

      • 自动编号f=bt

      • 文字竖排f=sp

      • 列表转表格f=bg

      • 列表转看板f=kb

      • 列表转看板(c)f=kbw

      • 分割线 + 列表转看板1-4个分割线

        • f=bc​ 启用旧版渲染模式,用 1、2、3 个分割线,分别渲染为 表格、看板和脑图
      • 列表转导图f=map

      • card 视图card card.img-top card.list

      • 链接前小图片

      • 多级标签渲染增强需要 JavaScript**RD

      • 显示 custom-f 属性

      • OneNote 左侧树状列表

      • 透明现代化的底部Dock

      • 封面和封底

      • 多主题切换需要 JavaScript**RD

    • 行内代码扩展(需要 JavaScript 辅助)【VLOOK13 语法】

      • 微章f=wz
      • 微章f=chk-wz
      • 注音f=pg
      • 刮刮卡f=rb
      • 彩虹引用f=bqcolor
      • 复选框f=chk扩展
      • 计数任务f=todo扩展
      • 下拉选择f=cx扩展
      • 分页引用f=bqtab扩展
      • 命令f=bqtab扩展
      • 列表仿 workflowy 注释f=ae扩展:
  • mini-vlook-addin

    • mini-vlook 主题设置按钮

    • 色号_~色号~_​ 【斜体 + 下标】

    • 标签* 内容 1 *​ 【斜体 + 行内代码】

    • 微章*标题 内容 1 内容2*_~色号~_​ 【斜体 + 行内代码】

      • 支持变量格式突出显示: {{变量}}%变量%${变量}#{变量}var(变量)​;
    • 进度条**==进度数值==**​ (0-100,可溢出)【粗体 + 高亮】

    • 面包屑*===面包屑内容=*​ 支持的分隔符: >/\▶︎​ 【斜体 + 高亮】

    • 注音拼音*^yin^*​ 【斜体 + 上标】

    • 刮刮卡*提示说明**被隐藏的内容***​ 【斜体 + 粗体】

    • 分栏引用非 mini-vlook 主题-生效

    • 列表看板非 mini-vlook 主题-生效

    • GitHub Style Alert

    • 明信片

    • 封面&封底非 mini-vlook 主题-生效

    • 多主题切换非 mini-vlook 主题-生效

    • 跨行进行文本渲染

    • 导出​: markdown​、pdf​、docx

    • 表格

      • 自动编号、添加题注
    • 图片

      • 自动编号、添加题注
      • 在高分屏下自动适配显示高清的版本(2x、3x)
      • 自动适配 Dark Mode
      • 让图标的颜色与周围的元素更搭更和谐
      • 为图片添加工程风的网格背景

  • 思源笔记

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

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

    25133 引用 • 103641 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 740 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 294 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    245 引用 • 1338 回帖 • 1 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 180 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 4 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 545 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 36 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 222 关注
  • 思源笔记

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

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

    25133 引用 • 103640 回帖
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 106 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖 • 1 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    31 引用 • 97 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 317 关注
  • 自由行
    3 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    7 引用 • 27 回帖
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 111 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 4 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1441 引用 • 10068 回帖 • 495 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    37 引用 • 156 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9592 引用 • 43641 回帖 • 97 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 413 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • abitmean

    有点意思就行了

    37 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 636 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    315 引用 • 547 回帖
  • ZeroNet

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

    1 引用 • 21 回帖 • 647 关注