Skip to main content

Helpfeel Cosense (Scrapbox) to Notion Migration Tool

Project description

sb2n

PyPI Release Package CI

Helpfeel Cosense (Scrapbox) to Notion Migration Tool

Installation

pip install sb2n
# or, (use as CLI only)
pipx install sb2n

Usage

1. Set up environment variables

Create a .env file in your project directory. (See: .env.example)

2. Prepare Notion Database

Create a database in Notion with the following properties:

  • Title (Title) - Page title
  • Scrapbox URL (URL) - Link to original Scrapbox page
  • Created Date (Date) - Original creation date
  • Tags (Multi-select) - Tags from Scrapbox

Screenshot

3. Run migration

# Basic migration (using .env file)
sb2n migrate

# Specify custom .env file
sb2n migrate --env-file /path/to/.env

# Specify credentials directly via command line options
sb2n migrate -P your-project -S your-sid -N secret_token -D database-id

# Mix .env and options (options take precedence)
sb2n migrate --env-file .env -P override-project

# Dry run (no actual changes)
sb2n migrate --dry-run

# Migrate only first 10 pages
sb2n migrate -n 10

# Skip pages that already exist in Notion
sb2n migrate --skip

# Combine options: dry run with limit and skip existing
sb2n migrate --dry-run -n 5 --skip

# Enable verbose logging
sb2n -v migrate

Common Options (for all commands)

  • -P, --project: Scrapbox project name (overrides SCRAPBOX_PROJECT in .env)
  • -S, --sid: Scrapbox connect.sid cookie (overrides SCRAPBOX_COOKIE_CONNECT_SID in .env)
  • -N, --ntn: Notion integration token (overrides NOTION_API_KEY in .env)
  • -D, --db: Notion database ID (overrides NOTION_DATABASE_ID in .env)
  • --env-file: Path to .env file (default: .env)
  • -v, --verbose: Enable verbose logging

Note: When both .env and command line options are specified, command line options take precedence.


### 4. Restore internal links

After migration, restore [Scrapbox internal links](https://scrapbox.io/help-jp/ページをリンクする) (`[PageName]` format) to actual [Notion page mentions](https://www.notion.com/help/create-links-and-backlinks#inline-in-a-paragraph):

```sh
# Restore links in all pages
sb2n restore-link

# Dry run (preview changes without applying)
sb2n restore-link --dry-run

# Restore links in specific pages only
sb2n restore-link --pages "HomePage,Getting Started"

# Enable verbose logging
sb2n -v restore-link

Appendix 1. Export as Markdown with images

Export Scrapbox pages to Markdown format with downloaded images. Images are saved in an assets/ directory and referenced with relative paths in the Markdown files.

# Export to default directory (./out)
sb2n export

# Specify output directory
sb2n export -d /path/to/output

# Limit number of pages to export
sb2n export --limit 10

# Combine options
sb2n export -d ./my-export --limit 5

# Enable verbose logging
sb2n -v export

Structure of extracted data

output-dir/project-name/
├── assets/              # Downloaded images
│   ├── abc123def456.png
│   ├── 789ghijk012.jpg
│   └── ...
├── page1.md            # Markdown files
├── page2.md
└── ...

Development

See docs/specification.md for detailed specifications.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sb2n-0.2.0.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sb2n-0.2.0-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file sb2n-0.2.0.tar.gz.

File metadata

  • Download URL: sb2n-0.2.0.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sb2n-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b8813e6254ef1a47814ab5bfef23ab1a213996cfae4e96d6c7e4cfe25229e38e
MD5 510078dc04871bfd1516db6a1d7a70ab
BLAKE2b-256 694b48c38618057e6b09246e9b90e2d9961d82811f74fcbfda9ce18d1b372d77

See more details on using hashes here.

File details

Details for the file sb2n-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sb2n-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sb2n-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86e9657775d233b1df5c345a93d3fd9e7ef0d44ea891e3e846d69b9a85ac1bb6
MD5 8ebb264e090c43853ef1442469a760dc
BLAKE2b-256 652a9ad64fe586eed6302fe4bbdf43b19d873d2e71fd55564d58b5aaf0873606

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page