📘教程
最后更新于
这有帮助吗?
Roam + Github 自动备份 #王树义老师
《Roam自动化备份图片到GitHub 仓库,且保持 Markdown 图片链接引用 》 ~ @吕立青
预备条件:先根据 roam-to-git 设置好 GitHub Action
在 scripts/ 文件夹下,增加 roam_image_backup.py 图片备份脚本
修改 Git 仓库下 .github/workflows/main.yml 文件,替换为以下内容
Roam的本地化备份 @丁亮
本教程解决在mac系统下,crontab无法执行的问题。
整合了吕立青的自动备份图片的脚本。
支持用户名和密码加密,防止别人在文件中直接查看 用户名和密码。后面考虑把整个文件夹做加密处理。
使用方法:
预备条件:本机环境为 python3环境。如果已经支持,跳过。
安装HomeBrew,在终端中输入:
$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安装python3
brew install python3
预备条件:安装pipx。如果已经支持,跳过。
brew install pipx
创建 notes文件夹。创建配置文件.env,复制项目中.env的内容到其中。预先对其中的用户名和密码加密。
CRYPT_SECRET是加密密钥。
秘钥加密: roam-to-git --encrypt CRYPT_SECRET UserName/Password
修改.env文件中 ,CRYPT_SECRET,用户名、密码。
安装roam-to-git
下载 roam-to-git 并更改名称为 roam-to-git.zip
执行 pipx install -f roam-to-git.zip
测试 roam-to-git
/Users/liangding/.local/bin/roam-to-git --skip-git /Users/liangding/program/RoamResearch/notes/
roam-to-git安装位置看截图中 “Installing to existing directory”
notes 问题为上面的notes位置的绝对路径
设置自定义执行的时间
命令行中输入:crontab -e。输入以下命令(每天20点执行一次)
0 20 * /Users/liangding/.local/bin/roam-to-git --skip-git /Users/liangding/program/RoamResearch/roambacklocal/notes/
关于执行时间,可以随意修改 https://crontab.guru/
[如何用mermaid制作flow charts(持更ing)](如何用mermaid制作flow charts(持更ing).md) #@Jessie
Youtube timestamp #@Jessie Ryan
template button也能提升输入效率!🤯 #@Jessie
Twitter-->Roam的最快方式✈️ #@Jessie
{{query的持续教程集合🌱 #@Jessie
attr-table做词典 #@Jessie
attr-table用法持更⎌ #@Jessie
Alias的用法持更⎌ #@Batapha #@Jessie
color coding教程 #@Jessie #中不溜
彩色[tags](tags.md)
css代码
```css
Tags
/ Custom data tags /
span.rm-page-ref[data-tag="Life"] {
background: 81D5ED !important;
color: white !important;
padding: 3px 7px;
line-height: 2em;
font-weight: 500;
}
span.rm-page-ref[data-tag="SOP"] { background: 9769FF !important; color: white !important; padding: 3px 7px; font-weight: 500; line-height: 2em; }
span.rm-page-ref[data-tag="Life"] { background: 0DBAC6 !important; color: fff !important; padding: 3px 8px; line-height: 2em; font-weight: 500; }
span.rm-page-ref[data-tag="Seedling"] { color: 0dbac6 !important; padding: 3px 3px; font-weight: 600; line-height: 1.4em; }
span.rm-page-ref[data-tag="Idea Bank"] { color: FCB815 !important; padding: 3px 4px; font-weight: 700; line-height: 1.4em; }
span.rm-page-ref[data-tag="Idea Bank"]:before { content: '✦ ' }
span.rm-page-ref[data-tag="Inbox"] { color: 7172FC; padding: 3px 4px; font-weight: 700; line-height: 1.4em; }
span.rm-page-ref[data-tag="Li"] { color: 9DBC13; padding: 3px 4px; font-weight: 700; line-height: 1.4em; }
span.rm-page-ref[data-tag="SOP"] { color: db3b8d; padding: 3px 4px; line-height: 1.4em; font-weight: 700; }
span.rm-page-ref[data-tag="Read"] { background: ADCB2A; color: fff; padding: 3px 7px; line-height: 2em; font-weight: 500; }
span.rm-page-ref[data-tag="Livestream"] { color: B979CF; padding: 3px 4px; line-height: 1.4em; font-weight: 700; }
span.rm-page-ref[data-tag="Work"] { background: 7172FC; color: fff; padding: 3px 7px; line-height: 2em; font-weight: 500; }
span.rm-page-ref[data-tag="Inport"] { background: F9C866; color: fff; padding: 3px 7px; line-height: 2em; font-weight: 500; }
span.rm-page-ref[data-tag="Outport"] { background: FF9D66 !important; color: fff; padding: 3px 7px; line-height: 2em; font-weight: 500; }
span.rm-page-ref[data-tag="Learning"] { background: FC766F !important; color: fff !important; padding: 3px 7px; line-height: 2em; font-weight: 500; }
span.rm-page-ref[data-tag="Important"] { background: EE5F85 !important; color: fff !important; padding: 3px 7px; line-height: 2em; font-weight: 500; }```
样式示例
Roamtrick中的方法
css代码
```css
/ Rainbow indentation /
/*
Feel free to adjust the colors - this one loops every
7 colors like the rainbow but you can change that to
cycle earlier or choose more unique colors.
To add deeper indents:
Add { > div.flex-v-box > div } incrementally to the first line, and
Add {> div.flex-v-box > div:nth-child(n) } incrementally to the second line
*/
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div {
border-left-color: D0CECEAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div,
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: 9580FFAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: 92FFFFAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: 8AFF80AD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: FFFF80AD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: FF9580AD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: FE7FBFAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: DA53EEAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: 6600EDAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: 0079FFAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: 00F11DAD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: FFEF00AD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: FF7F00AD !important;
}
rm-log-container > div > div > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n) > div.flex-v-box > div:nth-child(n),
.flex-v-box > div:nth-child(n) > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div > div.flex-v-box > div {
border-left-color: FF0900AD !important;
}
/ Optional border adjustments: 1. You can add a border-radius: 5px or more to get an interesting delineation 2. You can adjust the width of the border but make sure to adjust margin to align the border with the bullets / .block-border-left { border-left-width: 2px !important; margin-left: 5px !important; }```
样式示例
alias 和Alias 的区别 !Batapha #📘教程