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 ([PageName] format) to actual Notion page mentions:

# 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

# Export as plain Scrapbox format
sb2n export --f txt

# 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.3.tar.gz (37.8 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.3-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sb2n-0.2.3.tar.gz
  • Upload date:
  • Size: 37.8 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.3.tar.gz
Algorithm Hash digest
SHA256 d5978728b9e7085a3465f739332bdc6743b3b9a68a26f02f4f0b1f384a4e3dec
MD5 d9368d8f04028f299ded44678f25b5cb
BLAKE2b-256 a60988eadeaaf279583506d58ca95e37b50c26f4c714f0a3630178776f5a0c17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sb2n-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 42.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 322a1e8df4d83d603e4578c494beec36110973287cd288a3f3b88d84f9a9742c
MD5 54e398a6874c0e1a5ef774bda466ee34
BLAKE2b-256 7441ac6dc1d873e7754818c85410c8f96f93914dd208ca0dfb931407552412ba

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