summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-12 20:41:19 +0300
committerPaul Buetow <paul@buetow.org>2025-06-12 20:41:19 +0300
commitc9ae38674e91eeddf9f26fc64d4ddd3a3a3fbbfe (patch)
treef2a57f2d2c20f2ac3ee328cf5118793f578a809c /README.md
parent93bf6d9b7c07ceba3f968dedbfcee5833917ea46 (diff)
add pause feature for social media posting
- Add PauseStart and PauseEnd configuration fields - Implement IsPaused() method to check pause status - Skip all posting when current date is within pause period - Add comprehensive unit tests for pause functionality - Update README with pause feature documentation and examples 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index 2941fea..d60df48 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,20 @@ Example Configuration File (`~/.config/gos/gos.json`):
"MastodonAccessToken": "your-mastodon-access-token",
"LinkedInClientID": "your-linkedin-client-id",
"LinkedInSecret": "your-linkedin-client-secret",
+ "LinkedInRedirectURL": "http://localhost:8080/callback"
+}
+```
+
+Example with pause period configured:
+```json
+{
+ "MastodonURL": "https://mastodon.example.com",
+ "MastodonAccessToken": "your-mastodon-access-token",
+ "LinkedInClientID": "your-linkedin-client-id",
+ "LinkedInSecret": "your-linkedin-client-secret",
"LinkedInRedirectURL": "http://localhost:8080/callback",
+ "PauseStart": "2024-07-01",
+ "PauseEnd": "2024-09-18"
}
```
@@ -75,11 +88,29 @@ Example Configuration File (`~/.config/gos/gos.json`):
* `LinkedInRedirectURL`: The redirect URL configured for handling OAuth2 responses.
* `LinkedInAccessToken`: Gos will automatically update this after successful OAuth2 authentication with LinkedIn.
* `LinkedInPersonID`: Gos will automatically update this after successful OAuth2 authentication with LinkedIn.
+* `PauseStart`: (Optional) Start date for pausing all posts in YYYY-MM-DD format.
+* `PauseEnd`: (Optional) End date for pausing all posts in YYYY-MM-DD format.
### Automatically managed fields
Once you finish the OAuth2 setup (after the initial run of `gos`), some fields—like `LinkedInAccessToken` and `LinkedInPersonID` will get filled in automatically. To check if everything's working without actually posting anything, you can run the app in dry run mode with the `--dry` option. After OAuth2 is successful, the file will be updated with `LinkedInClientID` and `LinkedInAccessToken`. If the access token expires, it will go through the OAuth2 process again.
+### Pausing posts
+
+You can pause Gos from posting any messages during a specific time period by adding `PauseStart` and `PauseEnd` dates to your configuration file. This is useful for vacations, breaks, or any period when you don't want automated posts.
+
+When both `PauseStart` and `PauseEnd` are configured, Gos will skip all posting during that period but will still queue new messages. The pause period is inclusive of both start and end dates.
+
+**Example use case**: If you're going on vacation from July 1st to September 18th, add these fields to your config:
+```json
+{
+ "PauseStart": "2024-07-01",
+ "PauseEnd": "2024-09-18"
+}
+```
+
+During this period, running `gos` will display a message indicating that posting is paused and skip all social media posts until September 19th.
+
## Invoking Gos
Gos is a command-line tool for posting updates to multiple social media platforms. You can run it with various flags to customize its behaviour, such as posting in dry run mode, limiting posts by size, or targeting specific platforms.