tumblr-toolkit
Version:
Tumblr API-based toolkit for batch posts processing.
164 lines (117 loc) • 3.84 kB
Markdown
# 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)