rock-tumbl
rock-tumbl Tumblr → Standard.site
Support
web v0.2.0 -- cli v0.1.0
Back

About rock-tumbl

Privacy & data

No tracking
No accounts
No stored uploads

Unlike the browser-only tools in this suite, rock-tumbl converts your export on the server: your ZIP is uploaded, parsed, and converted, and the temporary file is deleted afterwards. Nothing is kept — but the upload does leave your machine, so only convert exports you are comfortable transmitting.

The only other network requests made are:

  • Google Fonts — the layout loads Inter and JetBrains Mono via Google Fonts. If you prefer not to make this request, you can self-host the fonts or use a content-blocking extension.
  • Your PDS — only if you choose to publish. Your handle and app password go directly to your PDS for authentication.

No cookies, no fingerprinting.

Toolkit Usage Logging

If you choose to sign in with your AT Protocol identity, rock-tumbl will create a record in your own repository using the click.croft.toolkit.use lexicon each time you convert an export. This record contains only the number of documents converted and a timestamp, allowing you to track your activity across the croft.click suite. No export content or metadata is included in these usage records.

Supported content

Export layouts

Tumblr exports come in two layouts, and both are accepted — including the nested posts.zip inside the downloaded archive:

  • Current HTML exports (posts/html/*.html)
  • Older XML exports (posts/posts.xml, with HTML bodies merged in when present)

Post types

  • Text posts
  • Photo posts (with captions)
  • Quote posts
  • Chat / dialogue posts
  • Audio posts
  • Video posts
  • Ask / answer posts

Not converted: Private and draft posts are skipped unless you tick “Include private/draft posts”. Anything unrecognised is rejected with a descriptive error rather than silently dropped.

CLI / Local usage

rock-tumbl also ships as a Node.js command-line tool, which converts fully locally — nothing leaves your machine unless you pass --publish.

Prerequisites

  • Node.js v18 or later
  • pnpm (recommended) — or npm / yarn

Install & build

# Clone the repository
git clone https://github.com/ewanc26/pkgs.git
cd pkgs/packages/rock-tumbl

# Install dependencies
pnpm install

# Build
pnpm build

Usage

# Preview a conversion without touching the network
rock-tumbl \
  --input tumblr-export.zip \
  --site https://myblog.example \
  --output preview.json

# Publish to Standard.site
rock-tumbl \
  --input tumblr-export.zip \
  --site https://myblog.example \
  --publish \
  --handle you.example \
  --password xxxx-xxxx-xxxx-xxxx

Licence

rock-tumbl is free software released under the GNU Affero General Public License v3.0 (AGPL-3.0-only).

In short: you are free to use, modify, and redistribute this software, but any modified version you run as a network service must also be released under the same licence with its source code made available.

The full licence text is included in the repository.

Credits

Created by

Ewan Croft Author & maintainer

Contributors

Contributions via GitHub are always welcome. The full contributor list is maintained there.

Dependencies