1.2.0 • Published 3 years ago

autoexport_notion_content v1.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

notion-backup

This is a very simple tool to export a workspace from Notion, designed to work as part of a GitHub workflow.

It reads NOTION_TOKEN and NOTION_SPACE_ID from the environment, and outputs the export to both html and markdown directories in the current working directory, as well as to html.zip and markdown.zip.

Setup

This assumes you are looking to set this up to back up Notion to GitHub.

  1. Create a repo for your backup. You probably want it private.
  2. Get the NOTION_TOKEN and NOTION_SPACE_ID as explained in this blog post.
  3. Set them as secrets in your GitHub repo.
  4. Install the following under .github/workflows/whatever.yml in your repo.
name: "Notion backup"

on:
  push:
    branches:
      - master
  schedule:
    -   cron: "0 */4 * * *"

jobs:
  backup:
    runs-on: ubuntu-latest
    name: Backup
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '12'
      - name: Setup dependencies
        run: npm install -g notion-backup

      - name: Run backup
        run: notion-backup
        env:
          NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
          NOTION_SPACE_ID: ${{ secrets.NOTION_SPACE_ID }}
      
      - name: Delete zips
        run: rm -f *.zip

      - name: Commit changes
        uses: elstudio/actions-js-build/commit@v3
        with:
          commitMessage: Automated snapshot