You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+8-4
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,8 @@ For cross-posts to work successfully, there are a few prereqs that must be met i
17
17
* You have an application in [AWS Amplify](https://aws.amazon.com/amplify/) that has a runnable CI pipeline
18
18
* Blog posts have front matter in the format outlined in the [Blog Metadata](#blog-metadata) section
19
19
20
+
*Note - it is highly recommended you host your blog on your own site. This guarantees you own your content and prevents accidental loss if your favorite platform goes down or has an incident. It also enables [easy canonification](https://support.google.com/webmasters/answer/10347851) of your content when it is cross posted so it ranks higher in search engine results. For a step by step guide on hosting your own blog for free, please [reference this post](https://www.readysetcloud.io/blog/allen.helton/how-to-build-your-blog-with-aws-and-hugo/).*
21
+
20
22
## How It Works
21
23
22
24

@@ -38,11 +40,13 @@ The cross posting process is outlined below.
38
40
39
41
This solution will take content you create and automatically cross-post it on three platforms:
40
42
41
-
*[Medium](https://medium.com)
42
-
*[Dev.to](https://dev.to)
43
-
*[Hashnode](https://hashnode.com)
43
+
*[Medium](https://medium.com) - *[generate API Key](https://help.medium.com/hc/en-us/articles/213480228-Get-an-integration-token-for-your-writing-app)*
44
+
*[Dev.to](https://dev.to) - *[generate API Key](https://dev.to/settings/extensions)*
45
+
*[Hashnode](https://hashnode.com) - *[generate API Key](https://hashnode.com/settings/developer)*
44
46
47
+
You are required to have an account on all three platforms and must generate an API key for each of them.
45
48
49
+
Optionally, you can publish straight to publications on each of the platforms. If there is a specific organization on Dev.to or publication on Medium or Hashnode you typically write for, you can fill out `DevOrganizationId`, `MediumPublicationId`, and `HashnodePublicationId` deployment variables respectively. For example, you could automatically submit your story to the [AWS Community Builders](https://dev.to/aws-builders) organization on dev.to instead of under your name.
46
50
47
51
## Deployment
48
52
@@ -88,7 +92,7 @@ If you wish to get notification emails on the status of the cross posting, you m
88
92
89
93
Once you perform the above actions, you may use the values in the respective deployment variables listed above.
90
94
91
-
## Replay
95
+
## Replay / Idempotency
92
96
93
97
In the event the cross-posting does not work, it can be safely retried without worrying about pushing your content multiple times. Each post will update the idempotency DynamoDB record for the cross-posting state machine. This record holds the status (*success/failure*) for each platform. If the article was successfully posted on a platform, it will be skipped on subsequent executions.
0 commit comments