当前位置: 首页 > news >正文

Markdown笔记管理工具Haptic

在这里插入图片描述

什么是 Haptic ?

Haptic 是一个新的本地优先、注重隐私的开源 Markdown 笔记管理工具。它简约、轻量、高效,旨在提供您所需的一切,而不包含多余的功能。

目前官方提供了 dockerMac 客户端。

Haptic 仍在积极开发中。以下是未来计划的一些功能:

  • Haptic 同步 - 跨设备同步你的笔记
  • 笔记共享——通过链接分享单个笔记或整个笔记集
  • 网页应用的移动支持 - 目前依赖于 PGlite 对移动端的支持
  • 适用于 iOSAndroid 的原生移动应用程序
  • 桌面应用程序支持 WindowsLinux

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 haptic-web ,选择第一个 chroxify/haptic-web,版本选择 latest

本文写作时, latest 版本对应为 v0.1.4

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
315480

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器
docker run -d \--restart unless-stopped \--name haptic \-p 3154:80 \chroxify/haptic-web:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:haptic:image: chroxify/haptic-web:latestcontainer_name: hapticrestart: unless-stoppedports:- 3154:80

然后执行下面的命令

# 新建文件夹 haptic
mkdir -p /volume1/docker/haptic# 进入 haptic 目录
cd /volume1/docker/haptic# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3154 就能看到注册界面

四个边角有不同的功能区域

除了 笔记,还支持 日记

任务

可以切换主题

但是同步还不支持

喜欢的话,可以持续关注一下

参考文档

chroxify/haptic: A new local-first, privacy-focused and open-source home for your markdown notes
地址:https://github.com/chroxify/haptic

Haptic - Write Notes at the speed of touch
地址:https://www.haptic.md/

Haptic
地址:https://haptic.md/app

相关文章:

Markdown笔记管理工具Haptic

什么是 Haptic ? Haptic 是一个新的本地优先、注重隐私的开源 Markdown 笔记管理工具。它简约、轻量、高效,旨在提供您所需的一切,而不包含多余的功能。 目前官方提供了 docker 和 Mac 客户端。 Haptic 仍在积极开发中。以下是未来计划的一些…...

网络原理-传输层UDP

上集回顾: 上一篇博客中讲述了应用层如何自定义协议:确定传输信息,确定数据格式 应用层也有一些现成的协议:HTTP协议 这一篇博客中来讲述传输层协议 传输层 socket api都是传输层协议提供的(操作系统内核实现的了…...

C++中,如何使你设计的迭代器被标准算法库所支持。

iterator(读写迭代器) const_iterator(只读迭代器) reverse_iterator(反向读写迭代器) const_reverse_iterator(反向只读迭代器) 以经常介绍的_DList类为例,它的迭代…...

Java NIO 全面详解:掌握 `Path` 和 `Files` 的一切

在 Java 7 中引入的 NIO (New I/O) 为文件系统和流的操作带来了强大的能力,其中 Path 和 Files 是核心部分。Path 作为对文件路径的抽象,提供了灵活的方式处理文件系统中的路径;Files 则通过一系列静态方法,使得文件的读写、复制、…...

bluez免提协议hands-free介绍,全到无法想象,bluez hfp ag介绍

零. 前言 由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相对较陡,所以我有了这个想法,专门对Bluez做一个系统…...

关于区块链的安全和隐私

背景 区块链技术在近年来发展迅速,被认为是安全计算的突破,但其安全和隐私问题在不同应用中的部署仍处于争论焦点。 目的 对区块链的安全和隐私进行全面综述,帮助读者深入了解区块链的相关概念、属性、技术和系统。 结构 首先介绍区块链…...

特征工程——一门提高机器学习性能的艺术

当前围绕人工智能(AI)和机器学习(ML)展开的许多讨论以模型为中心,聚焦于 ML和深度学习(DL)的最新进展。这种模型优先的方法往往对用于训练这些模型的数据关注不足,甚至完全忽视。类似MLOps的领域正迅速发展,通过系统性地训练和利用ML模型&…...

Paper解读:工作场所人机协作的团队形成:促进组织变革的目标编程模型

人工智能(AI)具有降低运营成本、提高效率和改善客户体验的潜力。 因此,在组织中组建项目团队至关重要,这样他们就会在决策过程中欢迎人工智能。 当前的技术革命要求公司快速变革,并增加了对团队在促进创新采用方面的作…...

图文深入理解Oracle Network配置管理(一)

List item 本篇图文深入介绍Oracle Network配置管理。 Oracle Network概述 Oracle Net 服务 Oracle Net 监听程序 <oracle_home>/network/admin/listener.ora <oracle_home>/network/admin/sqlnet.ora建立网络连接 要建立客户机或中间层连接&#xff0c;Oracle…...

leetcode-链表篇3

leetcode-61 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3]示例 2&#xff1a; 输入&#xff1a;head [0,1,2], k 4 输出&#x…...

RAG(Retrieval Augmented Generation)及衍生框架:CRAG、Self-RAG与HyDe的深入探讨

近年来&#xff0c;随着大型语言模型&#xff08;LLMs&#xff09;的迅猛发展&#xff0c;我们在寻求更精确、更可靠的语言生成能力上取得了显著进展。其中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation&#xff09;作为一种创新方法&#xff0c;极大地…...

C语言介绍

什么是C语言 C programing language 能干什么 Hello world&#xff1f; 如何学C语言 no reading no learning...

损失函数篇 | YOLOv10 更换损失函数之 MPDIoU | 《2023 一种用于高效准确的边界框回归的损失函数》

论文地址:https://arxiv.org/pdf/2307.07662v1.pdf 边界框回归(Bounding Box Regression,BBR)在目标检测和实例分割中得到了广泛应用,是目标定位的重要步骤。然而,对于边界框回归的大多数现有损失函数来说,当预测的边界框与真值边界框具有相同的长宽比,但宽度和高度的…...

WMware安装WMware Tools(Linux~Ubuntu)

1、这里终端里面输入sudo apt upgrade用于更新最新的包 sudo apt upgrade 2、安装 open-vm-tools-desktop 包&#xff0c; Ps&#xff1a;这里是以为我已经安装好了。 udo apt install open-vm-tools-desktop -y3、最后重启就大功告成了 reboot 4、测试是否成功&#xff1a…...

SLAM ORB-SLAM2(30)关键帧跟踪

SLAM ORB-SLAM2(30)关键帧跟踪 1. 关键帧跟踪2. TrackReferenceKeyFrame2.1. 将当前普通帧的描述子转化为BoW向量2.2. 通过词袋BoW加速当前帧与参考帧之间的特征点匹配2.3. 将上一帧的位姿态作为当前帧位姿的初始值2.4. 通过优化3D-2D的重投影误差来获得位姿2.5. 剔除优化后的…...

k8s 部署 prometheus

创建namespace prometheus-namespace.yaml apiVersion: v1 kind: Namespace metadata:name: ns-prometheus拉取镜像 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/prometheus:v2.54.0prometheus配置文件configmap prometheus-configmap.yaml …...

使用VBA快速生成Excel工作表非连续列图片快照

Excel中示例数据如下图所示。 现在需要拷贝A2:A15,D2:D15,J2:J15,L2:L15,R2:R15为图片&#xff0c;然后粘贴到A18单元格&#xff0c;如下图所示。 大家都知道VBA中Range对象有CopyPicture方法可以拷贝为图片&#xff0c;但是如果Range对象为非连续区域&#xff0c;那么将产生10…...

解决GitHub下载速度慢

解决GitHub下载速度慢 方法一&#xff1a;使用git clone 地址 --depth 1来下载 depth 1 表示只科隆最新的一次提交&#xff0c;也就是默认主分支&#xff0c;而不是完整地克隆整个代码仓库&#xff0c;这样可以减少下载地数据&#xff0c;加快克隆操作 可以用git clone 地址 …...

【机器学习(五)】分类和回归任务-AdaBoost算法

文章目录 一、算法概念一、算法原理&#xff08;一&#xff09;分类算法基本思路1、训练集和权重初始化2、弱分类器的加权误差3、弱分类器的权重4、Adaboost 分类损失函数5、样本权重更新6、AdaBoost 的强分类器 &#xff08;二&#xff09;回归算法基本思路1、最大误差的计算2…...

【设计模式-模板】

定义 模板方法模式是一种行为设计模式&#xff0c;它在一个方法中定义了一个算法的骨架&#xff0c;并将一些步骤延迟到子类中实现。通过这种方式&#xff0c;模板方法允许子类在不改变算法结构的情况下重新定义算法中的某些特定步骤。 UML图 组成角色 AbstractClass&#x…...

从 LLM 到 Agent:Harness Engineering 的角色演变

从 LLM 到 Agent:Harness Engineering 的角色演变 本文字数:约10200字 | 阅读时间:25分钟 | 适合人群:AI算法工程师、产品经理、技术负责人、AI应用开发者 1. 引入与连接:被忽略的AI落地核心桥梁 1.1 开场:一个真实的AI落地场景 2024年中,某互联网公司运维团队负责人李…...

企业内部分享Taotoken在代码审查与生成场景下的应用实践

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业内部分享Taotoken在代码审查与生成场景下的应用实践 在软件开发团队中&#xff0c;代码审查与代码生成是提升代码质量、保障项…...

资源管理器约束设计:从核心原理到YARN/K8s实战配置

1. 项目概述&#xff1a;理解资源管理器约束的核心价值在任何一个复杂的计算或资源管理系统中&#xff0c;资源管理器&#xff08;Resource Manager&#xff0c; 简称RM&#xff09;都扮演着“交通警察”或“调度中心”的角色。它的核心职责是公平、高效地分配有限的系统资源&a…...

英伟达收购SwiftStack:AI时代从算力到数据管道的战略布局

1. 项目概述&#xff1a;一次战略收购的深度拆解最近在梳理科技巨头的战略动向时&#xff0c;一个几年前的老新闻——“英伟达收购SwiftStack”——重新进入了我的视野。乍一看&#xff0c;这似乎只是一次普通的商业并购&#xff0c;一个做GPU的巨头买下了一家名不见经传的软件…...

Odrive多线程架构实战:如何为你的无刷电机项目定制启动流程与状态机

Odrive多线程架构实战&#xff1a;如何为你的无刷电机项目定制启动流程与状态机 在无刷电机控制领域&#xff0c;Odrive凭借其开源特性和强大的性能表现&#xff0c;已成为众多硬件开发者的首选平台。但当你需要将这套系统集成到自己的机器人关节、CNC主轴或无人机推进系统中时…...

从MC1496乘法器到DSB调制:一个经典电路的设计实践与参数解析

1. DSB调制基础与MC1496乘法器简介 第一次接触DSB调制电路时&#xff0c;我被那个看似简单的波形变换背后精妙的数学原理深深吸引。DSB&#xff08;Double Sideband&#xff09;双边带调制&#xff0c;本质上是用低频信号去控制高频载波的幅度&#xff0c;但与传统AM调制不同&a…...

基于CircuitPython的嵌入式记忆游戏开发:状态机与TileGrid实战

1. 项目概述&#xff1a;一个嵌入式平台上的经典记忆配对游戏如果你玩过那种翻牌配对的记忆游戏&#xff0c;现在我们可以把它搬到一块小小的嵌入式开发板上&#xff0c;用CircuitPython来实现。这不仅仅是把游戏逻辑移植过来那么简单&#xff0c;它涉及到在资源受限的微控制器…...

Nooploop TOFSense激光测距模块:从快速上手指南到多平台实战应用

1. Nooploop TOFSense激光测距模块初体验 第一次拿到TOFSense激光测距模块时&#xff0c;我完全被它的小巧体积震惊了。这个比火柴盒大不了多少的装置&#xff0c;居然能实现0.1-12米的精确测距&#xff0c;精度高达1cm&#xff01;作为一名经常在无人机项目中折腾的嵌入式工程…...

告别手动填坑:用SSC工具+Excel快速搞定LAN9252 EtherCAT从站XML配置(附64点IO实例)

高效配置LAN9252 EtherCAT从站的自动化工具链实践 在嵌入式工业通信领域&#xff0c;EtherCAT因其卓越的实时性能被广泛采用&#xff0c;而LAN9252作为高性价比的从站控制器芯片&#xff0c;配合SPI接口成为许多开发者的首选方案。然而传统XML配置流程的复杂性往往成为项目瓶颈…...

掌握Superpowers Skills

Superpowers 是一套面向开发过程的插件化技能系统&#xff0c;旨在帮助个人开发者与团队更高效地完成从需求探索到代码交付的全流程。其内置的十余项技能覆盖了软件开发生命周期的各个关键节点&#xff0c;并且可以按照自然的工作流顺序进行分组与调用。 本文将基于 Superpower…...