最近准备搭建一个自托管的笔记软件自己用或者和朋友一起使用,主要想当备忘录和碎片化知识整理的工具于是就找到了MEmos😄,不过听说作者经常反向更新~,准备先用半年试试😄

Snipaste_2025-02-08_16-05-12.jpg

用 Docker 安装Memos

Memos 支持通过 Docker 快速部署,只需一条命令即可完成安装:

docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:latest

安装完成后,通过浏览器访问 http://<服务器IP>:5230 即可使用

我用的1panel面板点一下就安装了😄

基本语法

Memos用的是Markdown的部分语法下面我就列举几个我常用的

标题

要创建标题,请在单词或短语前面添加数字符号 (#)。您使用的数字符号数量应与标题级别相对应。例如,要创建标题级别 3 (<h3>),请使用三个数字符号(例如,### My Header)。

语法

呈现

# Heading 1

<h1>标题 1</h1>

## Heading 2

<h2>航向 2</h2>

### Heading 3

<h3>航向 3</h3>

#### Heading 4

<h4>航向 4</h4>

##### Heading 5

<h5>航向 5</h5>

###### Heading 6

<h6>航向 6</h6>

列表

列表用于显示相关项的列表。Memos 支持有序(编号)和无序(项目符号)列表。

无序

无序列表使用星号 ()、加号 () 和连字符 () 作为列表标记 (可互换)。*+-

- Item 1
- Item 2
  - Item 2.1
  - Item 2.2

命令

有序列表使用数字后跟句点。数字本身应该无关紧要。您可以使用 1.和 2.和 3.或 1) 和 2) 和 3) 或您喜欢的任何其他组合,但列表将从 1 开始。并从那里开始数,无论您使用什么数字。

1. Item 1
2. Item 2
   1. Item 2.1
   2. Item 2.2

强调

强调用于突出显示文本。Memos 支持斜体、粗体和删除线。

语法

呈现

*Italic*

斜体的

**Bold**

粗体

~~Strikethrough~~

删除线

图像

Images 语法类似于 links 语法,但 link 语法前面有一个字符。!

![Memos](https://www.usememos.com/full-logo-landscape.png)

呈现自定义 html

在极少数情况下,您可能希望呈现自定义 HTML。为此,请使用 block 的 as 语言。__html

示例展示了如何渲染水平分隔线。

```__html
<hr />
```

块引用

块引用用于表示从其他来源引用的大量文本。您可以使用该字符创建 blockquote。>

> Blockquote

要添加表格,请使用三个或更多连字符 (---) 创建每列的标题,并使用竖线 (|) 分隔每列。为了兼容性,您还应该在行的任一端添加一个竖线,并确保在竖线和连字符之间添加一个空格。

| Syntax    | Description |
| --------- | ----------- |
| Header    | Title       |
| Paragraph | Text        |

任务列表

任务列表(也称为清单和待办事项列表)允许您创建带有复选框的项目列表。在支持任务列表的 Markdown 应用程序中,复选框将显示在内容旁边。要创建任务列表,请在任务列表项前添加短划线 () 和带空格 () 的括号。要选中复选框,请在方括号 () 之间添加一个 x。-[ ][x]

语法:

- [x] Item 1
- [ ] Item 2
  - [ ] Item 2.1
  - [x] Item 2.2

高亮

语法:

==text==

上下标

要创建上标,请在字符前后使用一个插入符号 (^)。例如2^10^ 要创建下标,请在字符前后使用一个波浪号 (~)。例如H~2~O

文字遮盖点击可见

Spolier 允许您隐藏某些内容。

语法:

||text||

嵌入内容

Memos 支持嵌入来自其他 memo 的内容。您可以使用以下语法嵌入 memo:

![[memos/memoid]]

然后,该备忘录将嵌入到您当前的备忘录中。

使用 Mermaid绘表

我就用过Mermaid渲染饼图来记账用其他的可查看官方文档

代码:

```mermaid
%%{init: {"pie": {"textPosition": 0.5}, "themeVariables": {"pieOuterStrokeWidth": "5px"}} }%%
pie showData
    title Key elements in Product X
    "Calcium" : 42.96
    "Potassium" : 50.05
    "Magnesium" : 10.01
    "Iron" :  5
```

⭐Cflow编排文件

用了一段时间我发现Memos最新版本用起来不太习惯,我就在网上搜了搜,真的有小伙伴魔改并分享过就是了一下感觉还不错😄

PS:cflow为魔改版memos,基于官方0.18.2版本开发。

由于我用的是1panel面板准备创建 Docker 编排文件来部署

services:
  cflow:
    image: vespa314/cflow:latest  # 使用作者提供的 Docker 镜像
    container_name: cflow
    ports:
      - "5230:5230"  # 将容器的 5230 端口映射到宿主机的 5230 端口
    volumes:
      - ./data:/var/opt/memos  # 将本地的 `data` 目录挂载到容器内的 `/var/opt/memos`
    environment:
      - MODE=prod  # 设置运行模式为生产环境
    restart: unless-stopped  # 容器在退出时会自动重启,除非手动停止或 Docker 本身停止

Cflow的一些基础配置

配置S3储存来储存文件

直接参照下面的填写即可

Snipaste_2025-02-11_10-50-03.jpg

卡片设置基础用语

1. #xoo:标签搜索包含xxx
2. $todo$:待办
3. $unfinish$:未完成待力
4. $pic$:包含资源
5. $nopic$:不包含资源
6. $ref$:包含引用
7. $refed$:存在被引用
8. $tag$:有标签
9. $notag$:无标签
10. $link$:包含链接
11. reg:xx匹配正则表达式
12. $public$:公开卡片
13. $private$:私有卡片
14. word:ooc:字数多于xox非以上:文本匹配
以上均可通过与或非组合
与:空格隔开,如:ab.或:间隔,如:$todo$ab非:!开头,如:!taqxxx

卡片颜色设置

border-color:#0800ab;

下面是实际例子

0042.jpg

0041.jpg

我给所有Todo的卡片上面加了一个⏰的emoji和红色的边

文章引用:

基础语法部分引用:https://www.usememos.com/docs/getting-started/content-syntax#latex

Mermaid绘表部分引用:https://mermaid.nodejs.cn/syntax/flowchart.html

魔改Cflow:https://github.com/Vespa314/cflow