Ficus 第二弹,突破限制器的 Markdown 编辑管理软件!
大家好,我们是 gg=G 团队,我们开发的 markdown 笔记管理软件 Ficus Beta 版本正式发布了。详情可以见我们官网,也可以来我们仓库查看。

相对于 Alpha 版本(可以在我们之前的博客中查看),主要有 3 点明显的提升,下面我逐一介绍:
榕功能全面开发
榕树模式

榕树样式选择:
我们为榕树的展现形式提供了多种样式,您可以在工具栏中从 5 种样式中进行选择:

这棵树不仅有展示功能,您还可以通过拖拽对其进行编辑操作,所有的操作都会被同步到文档中:
- 平级交换:通过拖动节点,您可以互为兄弟的节点交换顺序
- 层次改变:您可以将标题类节点拖动到其他标题类节点上,此时这个节点会转变成目标节点的孩子,相应的
- 内容修改:您可以点击节点,并修改他们的内容
此外,用户还可以通过右键菜单进行更加准确的操作,右键菜单如图所示:
榕林模式
受制于一些客观条件,我们可能会写很多个细碎的文档,或者写一个很冗长的文档,这些“畸形”的文档如果一个个的整理,并不是一件容易的事情。
榕树提供将多个文档展现在一个“工作平台”,这样就可以同时对多个文档进行编辑操作。我们对于每一个文档都以“榕树”的形式展示,多棵榕树组成了“榕林”。
当我们在榕林上完成操作后,确定没有问题后,可以将榕林的结果导出到指定文件夹,目前是 .\out 文件夹。

榕图模式
您可以通过榕图查看和编辑文档间联系,文档间联系有三种类型:
- 榕根 (ficus root):表示文档在文件系统中的组织关系
- 榕柱 (ficus prop):文档与标签(tag)间的联系
- 榕须 (ficus aerial):文档间的引用关系和被引用关系
当您打开一个文件夹,并且在侧边栏中选择榕图侧边栏,即可以进入以当前文件夹为榕图中心点的榕图。您可以通过点击图中的节点进行聚焦,榕图上会高亮聚焦节点和与之相关的节点。
在榕图侧边栏的会显示当前节点的信息和他的邻居组,您可以通过可视按钮控制榕图上节点的显示控制文档节点的显示。并且选择一些对应的关系转换操作。

编辑体验UP
标签管理
Ficus 支持标签系统,用户可以在 front fomatter 中自行设置,如下所示:
tags:- tag1- tag2
此时文档具有 tag1 和 tag2 两个标签。
Ficus 还提供了标签管理的侧边栏用于更加便捷高效的管理标签,可以分为两个模式,在左上角进行切换:
第一个模式为“当前文件标签”,在这个页面中展示当前文档的所有标签,并可以在此处添加新的标签。如下所示
tagbar1
第二个模式为“所有标签”,在这个页面展示当前打开文件夹里的所有标签,并且可以根据标签检索文档,如下所示:

引用管理
Ficus 支持自定义的文档间引用,语法如下:
-[ref_name](file_path)
Ficus 提供了引用管理器来管理引用,侧边栏中会显示当前文件引用的文件和引用当前文件的文件,实现了双向检索,如图所示:

搜索替换
Ficus 支持两个维度的搜索替换功能:
文档内搜索替换:

支持文档内的搜索和替换功能。
全域搜索:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5WX0pq2O-1686236530006)(null)]](https://img-blog.csdnimg.cn/aedf4989fd084978923c21527a3b667c.png)
支持全域搜索。
导出
Ficus 支持多种导出功能:
- 文档:支持导出 PDF 和 HTML 格式
- 榕树、榕林、榕图:支持导出 PNG 和 SVG
偏好设置
我们在侧边栏的左下角有偏好设置,用户可以依靠自己的喜好进行设置。包括通用、编辑器、快捷键和榕功能。需要离开偏好设置页面并重启才有效果。

数学公式补全
我们内置了数学公式补全器,在输入 latex 公式的时候会自动补全,如下所示:

引用路径补全
在输入诸如图片、榕引用等本地资源地址时,我们提供了查找功能。

编辑悬浮框
为了方便用户的编辑,我们提供了多种编辑悬浮框来辅助用户的 markdown 编辑。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n03dNKSb-1686236537905)(null)]](https://img-blog.csdnimg.cn/34f1c225d9a24f429b39612e0a008f68.jpeg)
榕图节点搜索
如果榕图上的点过多,肉眼难以查找,可以使用搜索功能进行查找:

忽略文件和文件夹
我们在偏好设置中提供了输入框,用户可以输入自己不想在资源管理和榕图等地方显示的文件。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-og21mpV9-1686236548581)(null)]](https://img-blog.csdnimg.cn/319e723f71ec459e8c24ea8b3597d730.png)
数学公式渲染器
对于不同的数学公式渲染器,可以渲染的范围是不同的,Ficus 用户可以自己挑选适合的渲染器。
面包屑
Ficus 的面包屑不仅支持显示当前路径的功能,还支持文档跳转功能。
系统稳定性增强
我们修补了 alpha 版本的用户 issue,并且做出了许多优化更改,具体如下:
之前存在的缺陷
- 榕树和榕图模式渲染速度慢,性能差,内存占有率高
- 公式渲染器无法渲染部分公式
- 导出 PDF 存在一定的溢出问题
- XSS 攻击
- MAC 安装问题
修复方式
- 榕树和榕图模式渲染速度慢,性能差,内存占有率高:更换了新的插件,解决了性能问题
- 公式渲染器无法渲染部分公式:提供了多种公式渲染器
- 导出 PDF 存在一定的溢出问题:解决了导出问题
- XSS 攻击:将 bug 反馈给了 lute 和 vditor(导致 bug 的插件项目)
- MAC 安装问题:在官网中加入了解决补丁
写在后面的话
一路走来,非常感谢大家对于 gg=G 团队和 Ficus 的支持,我们会继续维护这个项目,也希望大家多给我们提出宝贵建议,并且多多 star 我们,帮助我们贡献代码
最后放上一段随笔:
信息是什么?人们会给出不同回答,有人说是祭司的浅吟低唱,有人说是汗青的点点墨渍,有人说是情人的耳鬓厮磨,有人说是无眠的辗转反侧,有人说是无数种或然中的必然。无论是是怎样的答案,可以肯定的是,信息必然在某种“载体”中,或是空灵的嗓音,或是暖和的发丝气柱,或是白纸黑字,或是文件系统的文件,或者是…… Ficus。
媒介的形式会制约信息的形式,那些在开头可以一句话絮叨一页写不到句号的先锋文学家,是一行 28 字,一页 22 行的纸质书给了他们不羁的思想无垠的跑马场。手机上一行 16 字的逼仄,引得多少网络大能寓清于拙,一句三算。可惜无论是什么形式,或许都会在一个时刻,成为信息表达的阻碍,成为了必须削足适履的悲哀。当我们平时去写些东西的时候,那一两句的随笔总因为短小而被扔进回收站,而那流水账式的长文,又总因为冗长被安置在一个不会被找到的地方。
但是这样是不对的,无论是短小还是冗长,信息就是信息,是我们来过这个世界的证据,都值得被好好对待,Ficus 就是为诞生的。Ficus 会辅助您在创造信息时避免媒介的形式带给您的干扰,并且在您需要梳理您的知识的时候,辅助您尝试多种形式。
相关文章:
Ficus 第二弹,突破限制器的 Markdown 编辑管理软件!
大家好,我们是 ggG 团队,我们开发的 markdown 笔记管理软件 Ficus Beta 版本正式发布了。详情可以见我们官网,也可以来我们仓库查看。 相对于 Alpha 版本(可以在我们之前的博客中查看),主要有 3 点明显的提…...
基于Springboot+vue+协同过滤+前后端分离+鲜花商城推荐系统(用户,多商户,管理员)+全套视频教程
基于Springbootvue协同过滤前后端分离鲜花商城推荐系统(用户,多商户,管理员)(毕业论文11000字以上,共33页,程序代码,MySQL数据库) 代码下载: 链接:https://pan.baidu.com/s/1mf2rsB_g1DutFEXH0bPCdA 提取码:8888 【运行环境】Idea JDK1.8 Maven MySQL…...
MixQuery系列(一):多数据源混合查询引擎调研
背景 存储情况 当前的存储引擎可谓百花齐放,层出不穷。为什么会这样了?因为不存在One for all的存储,不同的存储总有不同的存储的优劣和适用场景。因此,在实际的业务场景中,不同特点的数据会存储到不同的存储引擎里。 业务挑战 然而异构的存储和数据源,却给分析查询带…...
d2l学习——第一章Introduction
x.0 环境配置 使用d2l库,安装如下: conda create --name d2l python3.9 -y conda activate d2lpip install torch1.12.0 torchvision0.13.0 pip install d2l1.0.0b0mkdir d2l-en && cd d2l-en curl https://d2l.ai/d2l-en.zip -o d2l-en.zip u…...
【python】【Word】用正则表达式匹配正文中的标题(未使用样式)并通过win32com指定相应样式
标题的格式 二级标题: 数字.数字. 文字 三级标题:数字.数字.数字 文字 python代码 使用方法 只保留一个需要应用的WORD文档运行程序,逐行匹配 使用效果 代码 import win32com.client import redef compile_change_Word_titlestyle():#…...
Matlab实现光伏仿真(附上完整仿真源码)
光伏发电电池模型是描述光伏电池在不同条件下产生电能的数学模型。该模型可以用于预测光伏电池的输出功率,并为优化光伏电池系统设计和控制提供基础。本文将介绍如何使用Matlab实现光伏发电电池模型。 文章目录 1、光伏发电电池模型2、使用Matlab实现光伏发电电池模…...
JVM零基础到高级实战之Java内存区域方法区
JVM零基础到高级实战之Java内存区域方法区 JVM零基础到高级实战之Java内存区域方法区 文章目录 JVM零基础到高级实战之Java内存区域方法区前言JVM内存模型之JAVA方法区总结 前言 JVM零基础到高级实战之Java内存区域方法区 JVM内存模型之JAVA方法区 JAVA方法区是什么…...
SpringCloud-stream一体化MQ解决方案-消费者组
参考资料: 参考demo 参考视频1 参考视频2 官方文档(推荐) 官方文档中文版 关于Kafka和rabbitMQ的安装教程,见本人之前的博客 rocketMq的安装教程 rocketMq仪表盘安装教程 重!!!...
HNU计算机图形学-作业二
HNU计算机图形学-作业二 作业二:纹理和照明前言介绍实施详细信息任务1:加载复杂对象任务2:纹理映射和照明任务3:互动活动和动画额外任务:增强场景的视觉效果(最高20%) 最终实现效果 作业二&…...
湖南大学OS-2020期末考试解析
【特别注意】 答案来源于@wolf以及网络 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 这张卷子有点老了,部分题目可能有用。如果仔细研究应该会有所收获。 【试卷与答案】 一、选择题(15%) 1.下列关于进程状态转换,不正确的是:C A. …...
【用户认证】密码加密,用户状态保存,cookie,session,token
相关概念 认证与授权 认证(authentication )是验证你的身份的过程,而授权(authorization)是验证你有权访问的过程 用户认证的逻辑 获取用户提交的用户名和密码根据用户名,查询数据库,获得完…...
LVS+Keepalivedd
Keepalived 一、Keepalived及其工作原理二、实验非抢占模式的设置 三、脑裂现象四、Nginx高可用模式 一、Keepalived及其工作原理 keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可用解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器…...
WPF开发txt阅读器7:自定义文字和背景颜色
文章目录 添加控件具体实现代码说明 txt阅读器系列: 需求分析和文件读写目录提取类💎列表控件与目录字体控件绑定书籍管理系统💎用树形图管理书籍 添加控件 除了字体、字体大小之外,文字和背景颜色也会影响阅读观感,…...
Elasticsearch文件存储
分析Elasticsearch Index文件是如何存储的? 主要是想看一下FST文件是以什么粒度创建的? 首先通过kibana找一个索引的shard,此处咱们就以logstash-2023.05.30索引为例 查看下shard分布情况 GET /_cat/shards/logstash-2023.05.30?vindex …...
chatgpt赋能python:如何安装pyecharts
如何安装pyecharts Pyecharts是一个基于echarts的数据可视化工具,它是Python语言的一个库,可以通过Python编程语言进行数据可视化,并且能通过交互式的方式展示出来。 在本文中,我们将介绍如何安装pyecharts,如果您是…...
cmake 添加一个库
目录 项目格式 cmake基本语法 设置编译器 添加库 链接库 添加库的头文件 cmake打印字符串 库的cmake文件 cmake生辰库 mian函数中使用 让库成为可选的 cmake基本语法 设置option变量 cmake设置条件链接库 链接库 添加头文件 修改cmake配置文件 修改引用的源码…...
代码随想录二刷 226 翻转二叉树 102 二叉树的层序遍历 101 对称二叉树
226 翻转二叉树 代码如下 func invertTree(root *TreeNode) *TreeNode { if root nil { 采用前序遍历,如果当前节点为空,就返回空 return nil } root.Left,root.Right root.Right, root.Left 交换该节点的…...
【深入浅出C#】章节 3: 控制流和循环:条件语句
条件语句是编程中一种常用的控制结构,用于根据给定的条件来执行不同的代码块。它基于条件的真假来决定程序的执行路径,使程序能够根据不同的情况采取不同的行动。条件语句的作用在于根据特定的条件来控制程序的行为,使程序能够根据不同的情况…...
Java框架学习--Spring
1.Spring概念【托管很多对象的框架】 一个包含了众多工具方法的IoC容器。 1.1 什么是容器? 容器是用来容纳各种物品的(基本)装置。--来自百度百科 之前常见的容器有: List/Map-》数据存储容器 Tomcat-》Web容器 1.2什么是IoC? IoCInve…...
【爬虫】Xpath和CSS信息提取的方法异同点
类似点: Xpath与css都有web页面定位元素的功能Xpath与css结构类似 区别: 1. Xpath比较强大,而css选择器在性能上更优,运行速度更快,语法更简洁 CSS再chrome,火狐查找速度快,效率高࿰…...
用电脑自动玩小红书,OpenClaw+ADB让效率翻倍!附详细教程“
本文介绍了如何使用OpenClaw(运行在MacOS上)结合ADB工具实现Android手机的自动化操作。内容涵盖Android手机配置(开启开发者选项和USB调试)、MacOS环境准备(安装ADB工具和配置ADBKeyboard支持中文输入)&…...
Windows平台APK部署技术探索:轻量级安卓应用安装实践指南
Windows平台APK部署技术探索:轻量级安卓应用安装实践指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在跨平台应用开发与部署日益普及的今天࿰…...
LMQL:用编程语言精准控制大语言模型输出,告别提示词玄学
1. 项目概述:当自然语言成为编程语言如果你和我一样,既对大型语言模型(LLM)的能力感到兴奋,又对如何精准、可控地调用它们感到头疼,那么你肯定遇到过这样的场景:你向ChatGPT或Claude提出一个复杂…...
大模型高效化实战:从量化剪枝到推理部署的完整指南
1. 大模型高效化:从“巨无霸”到“精悍战士”的必经之路如果你和我一样,在过去的几年里深度参与过大语言模型的部署和应用,那你一定对“模型太大”这个问题深有体会。动辄几十GB甚至上百GB的模型文件,对显存的贪婪吞噬,…...
ARM动态内存控制器与SDRAM地址映射技术详解
1. ARM动态内存控制器基础解析动态内存控制器(Dynamic Memory Controller,简称DMC)是现代嵌入式系统中管理SDRAM等易失性存储器的核心组件。作为处理器与存储设备之间的桥梁,DMC通过高效的地址映射技术实现两者间的数据通信。在AR…...
从原理图到Vivado:手把手教你搞定XC7Z020-CLG400的EMIO引脚分配与约束
从原理图到Vivado:手把手教你搞定XC7Z020-CLG400的EMIO引脚分配与约束 在ZYNQ7000系列开发中,EMIO引脚的正确分配与约束是实现PS与PL协同工作的关键环节。许多工程师在初次接触ZYNQ架构时,往往会被MIO、EMIO和AXI_GPIO的关系所困扰ÿ…...
关于岐金兰AI元人文构想与江畅《论道德真理》之关系的理论说明
关于岐金兰AI元人文构想与江畅《论道德真理》之关系的理论说明——致敬江畅教授,并申明独立研究的道路岐金兰2026年5月12日一、相遇:迟到的阅读,及时的对话2026年3月11日,我在一个偶然的学术检索中读到了江畅教授的《论道德真理》…...
处理电商分类难题:我是如何用XGBoost为Otto数据集做多类别预测的
电商商品分类实战:XGBoost在Otto数据集上的高阶应用 当面对海量商品需要精准分类时,传统人工规则往往力不从心。Otto Group Product Classification Challenge正是这样一个典型场景——需要将数十万商品准确划分到93个类别中。本文将分享如何用XGBoost构…...
植物大战僵尸杂交版下载2026最新版更新v3.16及版本介绍分享(附下载链接)
作为一名长期沉迷植物大战僵尸改版的玩家,我近期完整体验了杂交版全新V3.16版本,从植物、关卡到平台适配,逐一实测验证。整体而言,这是一次诚意满满的更新,既有新鲜玩法的创新,又兼顾了不同玩家的需求&…...
数据分析实习面试准备全攻略:专业知识+项目深挖+行为面试,职卓科技的面试辅导体系
摘要数据分析实习面试通常包含三大模块:专业知识考察(SQL、Python、统计学基础)、项目深挖(业务理解、技术选择、问题解决)、行为面试(团队协作、学习能力、职业规划)。很多学员在面试中表现不佳…...
