Initial commit
* basic CLI that will post text and images * reblogging is available * tags are available
This commit is contained in:
96
README.md
Normal file
96
README.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# Tumblr CLI
|
||||
|
||||
This is a simple Tumblr CLI for making posts. Use this to automate your posting workflow as a bot,
|
||||
or outsource your posts to your favorite editor and post them that way.
|
||||
|
||||
## Configuring
|
||||
|
||||
Before running, you need to get your oauth key/secret and client key/secret from the Tumblr API.
|
||||
Copy config.example.toml:
|
||||
|
||||
```bash
|
||||
cp config.example.toml config.toml
|
||||
```
|
||||
|
||||
And fill out the appropriate values. Don't forget to put your blog name in there.
|
||||
|
||||
## Setup
|
||||
|
||||
This project uses `uv`. Any other tool that uses `pyproject.toml` should hypothetically work. The
|
||||
only dependency is `pytumblr2`, so making a virtualenv and installing that by itself should be
|
||||
sufficient.
|
||||
|
||||
### With `uv`
|
||||
|
||||
```bash
|
||||
uv sync
|
||||
source .venv/bin/activate # or venv/bin/activate.fish if you're using fish
|
||||
```
|
||||
|
||||
### With virtualenv
|
||||
|
||||
```bash
|
||||
python3 -m virtualenv venv
|
||||
source venv/bin/activate # or venv/bin/activate.fish if you're using fish
|
||||
pip3 install pytumblr2
|
||||
```
|
||||
|
||||
# Posting
|
||||
|
||||
**For the moment, only images and text are supported.**
|
||||
|
||||
The way I use it is by running:
|
||||
|
||||
```bash
|
||||
python3 -m tcli post -t "check out this picture I took" -i path_to_image.png
|
||||
```
|
||||
|
||||
This will create a post with text followed by an image. You can use multiple content types in any
|
||||
order. Each new flag will create a new content block. For example:
|
||||
|
||||
```bash
|
||||
python3 -m tcli post -t "This is the first paragraph" -t "This is the second paragraph" -t "This is the third paragraph"
|
||||
```
|
||||
|
||||
Sometimes, it is desireable to write a big post in your favorite editor, and then attach that. To do
|
||||
this, you can set the `-t` argument to start with a `@`, such as:
|
||||
|
||||
```bash
|
||||
python3 -m tcli post -t @post.txt
|
||||
```
|
||||
|
||||
It will read the contents of `post.txt` and post that instead.
|
||||
|
||||
# Autoformatting caveats
|
||||
|
||||
Tumblr, by default, does not automatically split up text into paragraphs. If your text chunk has two
|
||||
newlines in a row, e.g.:
|
||||
|
||||
```
|
||||
This is the first paragraph
|
||||
|
||||
This is the second paragraph
|
||||
```
|
||||
|
||||
These will be split up into independent content blocks. Single newlines will remain preserved.
|
||||
|
||||
## Reblogging
|
||||
|
||||
You can also reblog posts from the CLI. To do this, you can use the `-r` flag with the post ID, and
|
||||
the `-p` flag for the blog to reblog from. **If you are reblogging, both of these flags are
|
||||
required.** For example:
|
||||
|
||||
```bash
|
||||
python3 -m tcli post -r 678747728380100608 -p intercal -t "wow intercal, you are so wise"
|
||||
```
|
||||
|
||||
# Other
|
||||
|
||||
There are some other options that you may find useful, you can find these by running:
|
||||
|
||||
```bash
|
||||
# General options
|
||||
python3 -m tcli --help
|
||||
# Options for posting
|
||||
python3 -m tcli post --help
|
||||
```
|
||||
Reference in New Issue
Block a user