Compare commits
2 Commits
3f94261fa9
...
c924bf184f
Author | SHA1 | Date | |
---|---|---|---|
|
c924bf184f | ||
|
c02e5f1b12 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ resources/
|
|||||||
hugo_build.lock
|
hugo_build.lock
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.vercel
|
.vercel
|
||||||
|
gemini/capsule/log
|
@ -14,3 +14,12 @@ pipeline:
|
|||||||
- s3cmd --configure --access_key=$S3_ACCESS_KEY --secret_key=$S3_SECRET_ACCESS_KEY --host=https://eu-central-1.linodeobjects.com --host-bucket="%(bucket)s.eu-central-1.linodeobjects.com" --dump-config > /root/.s3cfg
|
- s3cmd --configure --access_key=$S3_ACCESS_KEY --secret_key=$S3_SECRET_ACCESS_KEY --host=https://eu-central-1.linodeobjects.com --host-bucket="%(bucket)s.eu-central-1.linodeobjects.com" --dump-config > /root/.s3cfg
|
||||||
- s3cmd -c /root/.s3cfg sync public/* s3://wilw.dev
|
- s3cmd -c /root/.s3cfg sync public/* s3://wilw.dev
|
||||||
- 'curl -X POST -H "AccessKey: $BUNNY_KEY" https://api.bunny.net/pullzone/907104/purgeCache'
|
- 'curl -X POST -H "AccessKey: $BUNNY_KEY" https://api.bunny.net/pullzone/907104/purgeCache'
|
||||||
|
deploy_gemini:
|
||||||
|
image: python:3.10
|
||||||
|
secrets: [ CAPSULE_TOWN_KEY ]
|
||||||
|
commands:
|
||||||
|
- cd gemini
|
||||||
|
- pip install python-frontmatter
|
||||||
|
- python process_capsule.py
|
||||||
|
- 'curl -X PUT -H "Content-Type: application/json" -H "api-key: $CAPSULE_TOWN_KEY" -d "{\"capsuleArchive\": \"$(tar -czf /tmp/c.tar.gz -C capsule . && cat /tmp/c.tar.gz | base64)\"}" https://api.capsule.town/capsule'
|
||||||
|
|
29
gemini/capsule/index.gmi
Normal file
29
gemini/capsule/index.gmi
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
▄ ▄ ▄▄▄ ▄▄▄ ▄ ▄
|
||||||
|
█ █ ▄ █ █ █ █ █ █ ▄ █ █
|
||||||
|
█ ██ ██ █ █ █ █ ██ ██ █
|
||||||
|
█ █ █ █ █ █
|
||||||
|
█ █ █ █▄▄▄█ █
|
||||||
|
█ ▄ █ █ █ ▄ █
|
||||||
|
█▄▄█ █▄▄█▄▄▄█▄▄▄▄▄▄▄█▄▄█ █▄▄█
|
||||||
|
|
||||||
|
# 👋 Welcome to my Gemini capsule!
|
||||||
|
|
||||||
|
Hi, I'm Will. I'm a tech lead and enthusiast based in Wales, in the UK.
|
||||||
|
|
||||||
|
This capsule contains my gemlog, and I will be adding more to this over time.
|
||||||
|
|
||||||
|
=> gemini://wilw.capsule.town/log Gemlog
|
||||||
|
|
||||||
|
# 💁♂️ About this capsule
|
||||||
|
|
||||||
|
This capsule is hosted on Capsule Town. The gemlog is automatically generated from my weblog.
|
||||||
|
|
||||||
|
=> gemini://capsule.town Find out more about Capsule Town
|
||||||
|
|
||||||
|
# 🪧 Contact me
|
||||||
|
|
||||||
|
=> https://fosstodon.org/@wilw Mastodon
|
||||||
|
=> https://pixelfed.social/@wilw Pixelfed
|
||||||
|
=> https://t.me/wilw88 Telegram
|
||||||
|
|
||||||
|
=> https://wilw.dev View my website
|
45
gemini/process_capsule.py
Normal file
45
gemini/process_capsule.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import os
|
||||||
|
import frontmatter
|
||||||
|
|
||||||
|
# Create new directories
|
||||||
|
needed_directories = ['capsule/log']
|
||||||
|
for dir in needed_directories:
|
||||||
|
if not os.path.exists(dir):
|
||||||
|
os.makedirs(dir)
|
||||||
|
|
||||||
|
# Process blog posts
|
||||||
|
logs = []
|
||||||
|
for file in os.listdir('../content/blog'):
|
||||||
|
if not file.startswith('_'):
|
||||||
|
post = frontmatter.load(f'../content/blog/{file}')
|
||||||
|
print(post['title'])
|
||||||
|
new_content = '''
|
||||||
|
=> gemini://wilw.capsule.town 🏡 Home
|
||||||
|
=> gemini://wilw.capsule.town/log Back to gemlog
|
||||||
|
|
||||||
|
# {}
|
||||||
|
|
||||||
|
{}
|
||||||
|
|
||||||
|
=> mailto:blog@wilw.dev Reply via email
|
||||||
|
=> gemini://wilw.capsule.town/log Back to gemlog
|
||||||
|
'''.format(post['title'], post.content)
|
||||||
|
new_file_name = file.split('.')[0] + '.gmi'
|
||||||
|
logs.append({'file': new_file_name, 'title': post['title']})
|
||||||
|
gem_file = open(f'capsule/log/{new_file_name}', 'w')
|
||||||
|
gem_file.write(new_content)
|
||||||
|
|
||||||
|
logs.sort(key = lambda entry: entry['file'], reverse = True)
|
||||||
|
log_index_content = '''
|
||||||
|
=> gemini://wilw.capsule.town 🏡 Home
|
||||||
|
|
||||||
|
# Gemlog
|
||||||
|
|
||||||
|
{}
|
||||||
|
'''.format(
|
||||||
|
'\n'.join(['=> {} {}'.format(l['file'], l['title']) for l in logs])
|
||||||
|
)
|
||||||
|
|
||||||
|
gem_index_file = open(f'capsule/log/index.gmi', 'w')
|
||||||
|
gem_index_file.write(log_index_content)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user