UNPKG

tumblr-toolkit

Version:

Tumblr API-based toolkit for batch posts processing.

164 lines (117 loc) 3.84 kB
# tumblr-toolkit Set of CLI tools for your tumblr blog. ### Post media file to blog ````bash tt post -c path/to/keys.json -b blogName -m photo -f path/to/pic.jpg ```` Optional params (with example) ```--caption "My pic"``` ``` --tags "one, second one"``` ### Get blog info ````bash tt blogInfo -c path/to/keys.json -b blogName ```` ### Get post info ````bash tt postInfo -c path/to/keys.json -b blogName --id "post-id" ```` ### List blog posts ````bash tt blogPosts -c path/to/keys.json -b blogName --limit 12 ```` ### List blog queued posts ````bash tt blogQueue -c path/to/keys.json -b blogName --limit 12 ```` ### List blog draft posts ````bash tt blogDraft -c path/to/keys.json -b blogName --limit 12 ```` ### Clean broken video posts tool Broken media posts cleaning tool. Cleans up (removes) video-posts with media pointing to 403 error returning URLs (by default). See available options below. Clean through videos returning 403 HTTP status code ```bash tt clean -c path/to/keys.json -b blogName --clean-code 403 ``` Clean through videos returning HTTP status code other than 200 (OK) ```bash tt clean -c path/to/keys.json -b blogName --clean-code 200 --clean-invert true ``` ### Posts removal tool Deletes posts that fit passed conditions. ### Remove first 10 posts from queue ```bash tt remove -c path/to/keys.json -b blogName -s queue ``` Find and show posts that will be removed. No removal action will be taken ```bash tt remove -c path/to/keys.json -b blogName --post-type audio --post-tag garbage ``` Remove all audio-posts, perform actual removal (dry-run false) ```bash tt remove -c path/to/keys.json -b blogName --post-type audio --remove-dry-run false ``` ### Tag posts by post's actual type tool Tags video posts with 'video' tag, audio with 'audio' and so on... Tag all posts ```bash tt tag-type -c path/to/keys.json -b blogName ``` Tag all posts in queue ```bash tt tag-type -c path/to/keys.json -b blogName -s queue ``` Tag all posts, for photo-posts containing GIFs, additionally set 'gif' tag ```bash tt tag-type -c path/to/keys.json -b blogName --tag-type-gif add ``` Tag all photo posts containing GIFs with 'gif' tag instead of 'photo' tag ```bash tt tag-type -c path/to/keys.json -b blogName --post-type photo --tag-type-gif replace ``` ### Process posts with given source code Perform function built from given user code. Should return one of the constants from given ``codes`` object. May return promise resolving to one of the codes as well. Function receives ``post`` and ``codes`` (return codes) as arguments, return one of return codes for further post process. Example source code: ```js return post.type === 'link' ? code.REMOVE_POST : code.DO_NOTHING; ``` Would remove all link posts and keep other. ```js post.tags.push('new tag'); return code.UPDATE_POST; ``` Would update post with new added tag. Codes are: ``DO_NOTHING``, ``UPDATE_POST``, ``REMOVE_POST`` Remove all posts having 'bad post' tag from blog's queue ```bash tt process -c path/to/keys.json -b blogName -s queue "return post.tags.indexOf('bad post') >= 0 ? codes.REMOVE_POST : code.DO_NOTHING;" ``` ## See all commands common and specific options with ```bash tt --help ``` ```bash tt <post|clean|remove|tag-type|process> --help ``` ## Credentials In order to use tumblr api for getting and processing posts, credentials file should be provided. File content JSON should look like this: ```json { "consumer_key": " consumer key value ", "consumer_secret": " consumer secret value ", "token": " token value ", "token_secret": "token secret value" } ``` ## Usage Installing the tool: ```bash npm install -g tumblr-toolkit ``` ### Get access with Tumblr * [Tumblr auto auth tool](https://github.com/achesco/tumblr-auto-auth) * [Docs](https://www.tumblr.com/docs/en/api/v2#what_you_need)