neu
This commit is contained in:
parent
328d2b43b7
commit
1618e26895
|
@ -0,0 +1,67 @@
|
|||
pipeline:
|
||||
post_to_socials:
|
||||
image: alpine:3.18
|
||||
environment:
|
||||
MASTODON_INSTANCE:
|
||||
from_secret: mastodon_instance
|
||||
MASTODON_TOKEN:
|
||||
from_secret: mastodon_token
|
||||
BLUESKY_HANDLE:
|
||||
from_secret: bluesky_handle
|
||||
BLUESKY_PASSWORD:
|
||||
from_secret: bluesky_password
|
||||
commands:
|
||||
- apk add --no-cache curl jq yq
|
||||
|
||||
# Frontmatter extrahieren
|
||||
- sed -n '/^---$/,/^---$/p' content/post.md | sed '1d;$d' > frontmatter.yaml
|
||||
|
||||
# Felder lesen
|
||||
- post_title=$(yq e '.title' frontmatter.yaml)
|
||||
- post_description=$(yq e '.description' frontmatter.yaml)
|
||||
- post_url=$(yq e '.id' frontmatter.yaml)
|
||||
|
||||
# Keywords in Hashtags
|
||||
- post_keywords=$(
|
||||
yq e '.keywords[]' frontmatter.yaml \
|
||||
| sed 's/^/#/' \
|
||||
| paste -sd ' ' -
|
||||
)
|
||||
|
||||
# Nachricht zusammensetzen
|
||||
- message="${post_title}\n\n${post_description}\n\n${post_url}\n${post_keywords}"
|
||||
- echo "Nachricht:\n$message"
|
||||
|
||||
# Mastodon
|
||||
- echo "Poste auf Mastodon..."
|
||||
- |
|
||||
curl -s -X POST \
|
||||
-H "Authorization: Bearer $MASTODON_TOKEN" \
|
||||
--data-urlencode "status=$message" \
|
||||
"$MASTODON_INSTANCE/api/v1/statuses"
|
||||
|
||||
# Bluesky
|
||||
- echo "Poste auf Bluesky..."
|
||||
- export BLUESKY_JWT=$(
|
||||
curl -s -X POST https://bsky.social/xrpc/com.atproto.server.createSession \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d "{\"identifier\":\"$BLUESKY_HANDLE\",\"password\":\"$BLUESKY_PASSWORD\"}" \
|
||||
| jq -r '.accessJwt'
|
||||
)
|
||||
|
||||
- |
|
||||
curl -s -X POST https://bsky.social/xrpc/com.atproto.repo.createRecord \
|
||||
-H "Authorization: Bearer $BLUESKY_JWT" \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d "{
|
||||
\"collection\":\"app.bsky.feed.post\",
|
||||
\"repo\":\"$BLUESKY_HANDLE\",
|
||||
\"record\": {
|
||||
\"\$type\": \"app.bsky.feed.post\",
|
||||
\"text\": \"$message\"
|
||||
}
|
||||
}"
|
||||
|
||||
branches:
|
||||
only:
|
||||
- main
|
Loading…
Reference in a new issue