Blossom:开源私有部署的markdown笔记软件

在信息化、数字化时代,我们每个人的生活和工作都离不开笔记和知识管理。从简单的待办事项,到复杂的项目计划,再到存储大量个人知识的工具,如何选择一个高效、便捷且符合个人需求的笔记软件,成了许多人的难题。最近在逛github的时候发现了一个开源项目Blossom。Blossom 是一款功能强大的开源笔记软件,它支持私有部署。Blossom 的最大特点是,你可以将笔记、图片、个人计划等数据保存在自己的服务器中,并在任意设备间进行实时同步。更重要的是,Blossom 还是一个动态博客平台,允许你在记录笔记的同时,直接分享和展示个人博客内容。

在本文中,我们将详细介绍 Blossom 的主要特点及其优势,以及如何通过私有部署来充分发挥它的潜力。

blossom.jpg

项目介绍

Blossom 是一个支持私有部署的云端双链笔记软件,你可以将你的笔记,图片,个人计划安排保存在自己的服务器中,并在任意设备之间实时同步。同时还是一个动态博客。

支持 Windows,Mac,网页客户端,网页移动端。

目前在github上已有3.1k star

官方文档:https://www.wangyunf.com/blossom-doc/

试用地址:https://www.wangyunf.com/blossom-demo/#/settingIndex

github地址:https://github.com/blossom-editor/blossom

_20241116014311.jpg

Blossom 的特点

  • 完善的文件关系
    Blossom 不依赖任何三方存储和图床,其本身就是一个图床,并且提供了完善的图片管理,防勿删,以及图片和文章的双向关系绑定。

基于 Markdown 编写,没有破坏性的语法拓展,在这里编写的内容在任何 Markdown 软件中都能正常显示。

  • 快速迁移

所有图片和文章都支持一键备份和导出,可以在几分钟内轻松迁出。导出的文件可以无缝使用本地软件正常打开。

  • 丰富的附加功能
    📅 计划安排
    🏷️ 待办事项
    🎫 快捷便签
    🍅 番茄钟
    🧰 多用户、字数统计、字数折线图、编辑热力图、天气预报、主题设置…

Blossom 拥有丰富的功能,不仅仅是知识管理,更是一个可以供多人同时使用的全面实用性工具。我比较喜欢这个项目是因为我们刷手机的时候经常会遇到一些有意思的项目或者知识,手机截图后经常就会忘记,有了这个项目之后我们可以在手机截图之后在浏览器中打开我们的系统,将图片上传到系统之后在记一个代办事项,那么我们就可以在闲暇的时候研究下这些知识了。

项目部署

我此处使用的是docker-compose的方式部署的,因为我有现成的mysql数据库,所以此处不需要在额外部署mysql了。

首先我们在服务器上创建一个部署目录blossom,在此目录下创建一个docker-compose.yml文件,内容如下

version: "3.8"
services:blossom:image: jasminexzzz/blossom:latestcontainer_name: blossom-backendvolumes:# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/img/来指定磁盘- ./bl/:/home/bl/environment:# 配置数据库访问地址SPRING_DATASOURCE_URL: jdbc:mysql://192.168.10.20:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8# 【需修改】配置数据库用户名SPRING_DATASOURCE_USERNAME: root# 【需修改】配置数据库密码SPRING_DATASOURCE_PASSWORD: 123456# 【需修改】配置图片上传后对应生成的访问 URL,需要以/pic/结尾。注意,该访问域名(IP:端口)需要与访问后台的域名(IP:端口)相同PROJECT_IAAS_BLOS_DOMAIN: http://192.168.10.20:9999/pic/# 配置图片保存的磁盘路径,并在 volumes 中将该路径挂载为本地路径,如上方 volumes 中的示例PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/ports:- "9999:9999"networks:- blossomnethealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]interval: 30stimeout: 10sretries: 3start_period: 5srestart: always
networks:blossomnet:driver:bridge

创建完之后使用如下命令启动服务

docker-compose up -d 

如果你下载镜像下载不下来的话可以将镜像地址替换为博主转存在阿里云中的镜像地址:registry.cn-hangzhou.aliyuncs.com/xjpublic/blossom:latest

启动之后查看日志

docker-compose logs -f

出现如下日志则表示启动成功

_20241116020938.jpg

项目使用

在浏览器中打开以下地址访问web端:http://192.168.10.20:9999/editor/#/settingindex

  • 登录

_20241116021533.jpg

  • 配置和风天气

首页的天气预报功能使用了和风天气的免费 API,如果需要使用天气预报功能,那么需要申请自己的和风天气开发账号。
和风天气官网: https://dev.qweather.com/

申请之后将api-key 粘贴至 设置-》服务器配置-》和风 天气 key

_20241116023216.jpg

之后在设置-》修改个人信息-》天气预报城市 中配置自己的城市

_20241116023626.jpg

点击首页天气右上方的刷新就可以看到自己城市的天气了

_20241116023846.jpg

  • 笔记

_20241116024234.jpg

  • 代办

_20241116024933.jpg

  • 便签

_20241116025226.jpg

  • 手机端可在微信浏览器或者浏览器中打开web端地址使用

_20241116025856.jpg

  • 博客端在浏览器中打开地址 http://192.168.10.20:9999/blog/#/home 使用,点击查看文章

_20241116030344.jpg

总结

Blossom 是一款非常出色的开源笔记软件,具有笔记、便签、私有部署、动态博客等多项功能,适合个人知识管理、创作记录以及博客展示。如果你注重数据隐私和安全,想要完全掌控自己的笔记数据,又希望能够随时跨设备同步,那么 Blossom 将是一个非常理想的选择。

通过将 Blossom 部署在自己的服务器上,你不仅可以保护数据隐私,还能享受强大的笔记管理和博客发布功能。作为一个开源项目,Blossom 也为开发者提供了丰富的定制和扩展空间,让每个用户都能根据自己的需求来调整和优化使用体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/17593.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Spring:DI依赖注入的方式

Spring为我们提供了两种注入方式,分别是: setter注入 简单类型引用类型 构造器注入 简单类型引用类型 setter注入 在bean中定义引用类型属性,并提供可访问的set方法配置中使用property标签ref属性注入引用类型对象 (1)项目中添加BookDao、BookDaoIm…

逆向攻防世界CTF系列37-crackme

逆向攻防世界CTF系列37-crackme 参考https://blog.csdn.net/xiao__1bai/article/details/120230397 nspack的壳,查了一下好像是北斗的一个壳 没找到什么脱壳软件,只能手动脱壳了 手动脱壳的最终要的是ESP定律 ESP定律的原理就是“堆栈平衡”原理 涉及…

按钮权限的操作方法

首先先在你的本地储存里边,加入一些你指定的字段 然后创建一个文件夹,在此文件夹下创建一个js文件,文件内容如下 在你所需要隐藏按钮的页面引入此js文件,并且通过 directives自定义指令绑定你的每一个按钮。在js文件中通过三个常量…

vscode 关闭绑定元素 隐式具有“any”类型这类错误

在vue的项目里面,经常看到any类型的报错,真的很烦的 在tsconfig.json中配置以下参数 “noImplicitAny”: false 就可以了 出现类型“never”上不存在属性“userName”。ts-plugin(2339) 配置该参数 modeuleResolution : node "compilerOptions&qu…

springboot 的 Profile

什么是 Profile ? 应用所在的运行环境发生切换时,配置文件常常就需要随之修改。 Profile:——就是一组配置文件及组件的集合。 可以整个应用在不同的profile之间切换(设置活动profile),整个应用都将使用该…

onvif协议相关:4.1.6 Digest方式云台控制启动

背景 关于onvif的其实很早之前我已经在专栏中写了不少了, 使用onvif协议操作设备 但最近有陆陆续续的粉丝问我, 希望我在写一些关于 onvif的设备自动发现、预置位跳转、云台操作的博客。 满足粉丝的需求,安排。 今天我们来实现 设备云台的控制(启动) 实现 1.在ONVIF Devi…

【JAVA毕业设计】基于Vue和SpringBoot的农机电招平台

本文项目编号 T 615 ,文末自助获取源码 \color{red}{T615,文末自助获取源码} T615,文末自助获取源码 随着农机电招行业的不断发展,农机电招在现实生活中的使用和普及,农机电招行业成为近年内出现的一个新行业&#x…

基于Jmeter的分布式压测环境搭建及简单压测实践

写在前面 平时在使用Jmeter做压力测试的过程中,由于单机的并发能力有限,所以常常无法满足压力测试的需求。因此,Jmeter还提供了分布式的解决方案。本文是一次利用Jmeter分布式对业务系统登录接口做的压力测试的实践记录。按照惯例&#xff0…

代码随想录算法训练营day41|动态规划04

最后一块石头的重量|| 返回剩余最后一块石头石头最小的可能重量,那么就应该最后剩余的两块石头尽量都等于或接近总重量的一半,这样剩下的就是一半的质量 目标和 给定一个非负整数数组,a1, a2, …, an, 和一个目标数,S。现在你有…

Python+Flask实现随机选谷票游戏

西方曾进行一项著名的投资随机性实验,对比基金经理与猴子在选股上的表现。 实验方法:主持人提供一系列股票,基金经理依靠其专业知识(如财务报表、行业趋势、产品市场及公司文化与管理层分析等)进行筛选;而…

【Python数据可视化分析实战】数据爬取—京东手机品牌信息数据爬取和数据分析与可视化

大数据分析设计方案 1.数据集来源:https://search.jd.com 2.实现思路: (1)数据爬取 首先,我们需要从京东平台上采集手机品牌的相关数据。可以通过网络爬虫或API接口等方式获取数据。为了保证数据的完整性和准确性&…

使用 TensorFlow 实现 ZFNet 进行 MNIST 图像分类

ZFNet(ZF-Net)是由 Matthew Zeiler 和 Rob Fergus 提出的卷积神经网络架构,它在图像分类任务中取得了显著的效果。它在标准卷积神经网络(CNN)的基础上做了一些创新,例如优化了卷积核大小和池化策略&#xf…

11.15 HTML

传统路线 HTML、CSS、JS AjaxJQueryMySQLJDBCServletJSPEL&JSTLCookieSessionFilterServlet案例MybatisSpringSpringMVCSpringBoot 全新路线 HTM、CSS、JSAjax、AxiosVue、Element前端工程化 vue脚手架MavenSpringBoot基础 基于SpringBoot进行讲解Spring的IOC&#xff…

打造旅游卡服务新标杆:构建SOP框架与智能知识库应用

随着旅游业的蓬勃兴起,旅游卡产品正逐渐成为市场的焦点。为了进一步提升服务质量和客户体验,构建一套高效且标准化的操作流程(SOP)变得尤为重要。本文将深入探讨如何构建旅游卡的SOP框架,并介绍如何利用智能知识库技术…

Java 简单家居开关系统

1.需求: 面向对象编程实现智能家居控制系统(简单的开关) 2.实现思路 1.定义设备类:创建设备对象代表家里的设备 JD类: import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;D…

Github客户端工具github-desktop使用教程

文章目录 1.客户端工具的介绍2.客户端工具使用感受3.仓库的创建4.初步尝试5.本地文件和仓库路径5.1原理说明5.2修改文件5.3版本号的说明5.4结合码云解释5.5版本号的查找 6.分支管理6.1分支的引入6.2分支合并6.3创建测试仓库6.4创建测试分支6.5合并分支6.6合并效果查看6.7分支冲…

3D Gaussian Splatting的全面理解

1.概述 高斯展开是一种表示 3D 场景和渲染新视图的方法,在“用于实时辐射场渲染的 3D 高斯展开” 中介绍。它可以被认为是类似 NeRF 的模型的替代品,就像过去的 NeRF 一样,高斯飞溅导致了许多新的研究工作,他们选择将其用作各种用例的 3D 世界的底层表示。那么它有什么特别…

Arcgis地图实战三:自定义导航功能的实现

文章目录 1.最终效果预览2.计算两点之间的距离3.将点线画到地图上4.动态展示点线的变化5.动态画线6.动态画点 1.最终效果预览 2.计算两点之间的距离 let dis this.utilsTools.returnDisByCoorTrans(qdXYData, zdXYData, "4549")当距离小于我们在配置文件中预设置的…

【Mysql】Mysql的多表查询---多表联合查询(中)

1、外连接查询 外连接 查询分为左外连接(left outer join), 右外连接查询(right outer join) ,满外连接查询(full outer join). 注意:oracle 里面有full join &#xf…

Linux:进程状态

文章目录 前言一、初识fork1.1 fork函数的介绍1.2 fork出的子进程存在形式1.3 写时拷贝 二、进程的状态2.1 Linux内核源代码2.2 理解内核链表(重要)2.3 运行状态2.4 阻塞状态2.5 挂起状态 三、Z(zombie)状态 ,僵尸进程四、 孤儿进程总结 前言…