Giter VIP home page Giter VIP logo

notion-export-client's Introduction

notion-export-client

功能:

  • 将指定的notion页面和子页面备份为本地的markdown文件
    • 子页面递归下载
    • 图片下载和本地链接重定位

注意:

  • 备份的内容不能恢复到Notion中
  • 数据库某些高级字段不支持(可以但是没必要)
  • 离线目录可以自由编辑(Typora可以打开目录;Obsidian也可以打开,但是表格里的某些富文本可能无法渲染)
  • 数据库备份为csv格式时,使用Excel打开会乱码,百度搜索“Excel utf8乱码”解决
  • 备份的内容中图片和文件的命名优先级:Caption > (文件名称:图片没有解析名称) > id

使用说明:

notion-export-client's People

Contributors

delta1037 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

notion-export-client's Issues

分类型导出

区分Typora和Obsidian的内容识别方式:

  • 文件链接识别方式
  • 图片链接识别方式
  • CSV文件的加载

Notion中设置的层级比较多(5层)时,无论是使用单页备份还是多页备份,都不能保持层级结构

最新的gui版和命令行版都有该问题。

notion目录结构:
第一层页面1
----第二层页面11
--------第三层页面111
--------第三层页面112
------------第四层页面1121
------------(……)
第一层页面2
----第二层页面21
--------第三层页面211
------------第四层页面2111
------------(……)

给第一层页面1、第一层页面2添加只读token,给备份清单页面添加读写token。备份清单里只填入第一层页面1、第一层页面2。
所有笔记都能正常下载,但是下载后本地的目录结构变成以下结构:

第一层页面1
----child_pages
----databases
----files
第一层页面2
----child_pages
----databases
----files

所有笔记都被直接放到child_pages里,如下图所示:
001
002

Terninal版本能否后台运行,实现无感备份?

我每天使用windows定时任务运行备份程序,目前的terminal 版本运行的时候会有一个窗口,因为我是每天定时备份,我希望这个备份程序后台自动运行,不要在前台出现窗口,避免干扰。
我目前自己的解决办法是用了一个VBS脚本,把备份程序后台运行,基本也能满足我的需求,如果terminal 版本能够完善一下这点就更好了,这个备份程序很好用,完美解决notion云端笔记焦虑,给作者点赞👍🏻

【建议】备份的步骤可以精简

背景:

在使用工具的过程中发现,工具有两大步骤
1 获取所有页面到buffer_file中
2 根据buffer_file中的内容还原为可供阅读的MD文件

第1步是动态更新的,文件若不更新则不会覆盖之前的文件,对存储友好
第2步会完全覆盖之前的所有文件,库中的文件若是多的话,则每次覆盖都会写入大量文件

发现:

第2步其实是多余的,因为一般情况下我们并不需要去观看我们备份好的文件,notion若是访问不出问题我们便不会去看本地备份的文件

建议:

第1步,为备份操作,生成的buffer_file即backup_file
第2步,为还原操作,还原为可供本地观看的格式,一般不会使用
这样做的好处是:备份是动态备份,对存储友好,少了第2步速度也更快

临时解决方案:

目前可以通过将backup_root_path的配置设置为不存在的路径,即可达到相同的效果,不过备份完成后会报一个错

数据库备份BUG

2023年12月5日,使用客户端版本:notion_backup_terminal-v3.0pre,系统:win10;
我有一个页面类似“Notion备份模板”的结构,里面有两个数据库,一个数据里大概有几百个页面,备份多次,使用缓存和不使用缓存都试过,数据库的备份文件显示是空白,一个文件都没有,实际找子页面内容也几乎没有,只有这个数据库里被其他页面引用过的子页面才有内容。
然后我尝试把数据库里的内容挪到Page里,不再使用数据库管理这些子页面,这个问题就神奇地解决了,所以我也没搞懂之前为啥备份失败。
接下来,我尝试复现这个BUG,我在其他数据库里没有复现成功,不知道是不是跟数据库大小有关。
S%H)O6%G I)GA ZV@7~WSY

偶尔发生备份报错

使用的软件版本:notion_backup_background-v3.0.1
时间:2024-05-17
报错内容:
Unhandled exception in Script

Failed to execute script 'notion_backup_terminal' due to unhandled exception:[Errno 13]Permission denied:'C:/JGY/WebDAV/Notion/notion_backup_background-v3.backup/Projects/child_pages/产品汇报_玻璃罐封口机2024-01-10.md

Traceback (most recent call last):
File "notion_backup_terminal.py", line 52, in
File "api\notion_dump.py", line 83, in start_dump
File "api\notion_dump.py", line 163, in start_dump_multi
File "api\notion_dump_api.py", line 193, in start_dump
File "api\notion_dump_api.py", line 272, in __start_export
File "api\notion_dump_api.py", line 641, in __relocate_child_page
File "api\notion_dump_api.py", line 641, in __relocate_child_page
File "api\notion_dump_api.py", line 520, in __relocate_child_page
File "api\notion_dump_api.py", line 612, in __relocate_child_page
File "api\notion_dump_api.py", line 323, in __relocate_link
PermissionError: [Errno 13] Permission denied: 'C:/JGY/WebDAV/Notion/notion_backup_background-v3.0.1/Notion backup/Projects/child_pages/产品汇报_玻璃罐封口机_2024-01-10.md'

备份database时报错

大佬,请问我在使用您的工具进行备份时,其他页面和database都备份正常,只有一个database报如下错误,请问该如何解决?
7(G}LX}QPJ 0 DU9`6TG$T

运行python .\notion_backup_terminal.py报错

Traceback (most recent call last):
File ".\notion_backup_terminal.py", line 9, in
from api.notion_dump import NotionBackup
File "D:\Workspace\python\notion-export-client-main\api\notion_dump.py", line 10, in
import notion_dump
ModuleNotFoundError: No module named 'notion_dump'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.