aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2021-03-28-gemini-capsule.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-03-04 22:34:28 -0600
committerChristian Cleberg <hello@cleberg.net>2024-03-04 22:34:28 -0600
commit797a1404213173791a5f4126a77ad383ceb00064 (patch)
treefcbb56dc023c1e490df70478e696041c566e58b4 /content/blog/2021-03-28-gemini-capsule.md
parent3db79e7bb6a34ee94935c22d7f0e18cf227c7813 (diff)
downloadcleberg.net-797a1404213173791a5f4126a77ad383ceb00064.tar.gz
cleberg.net-797a1404213173791a5f4126a77ad383ceb00064.tar.bz2
cleberg.net-797a1404213173791a5f4126a77ad383ceb00064.zip
initial migration to test org-mode
Diffstat (limited to 'content/blog/2021-03-28-gemini-capsule.md')
-rw-r--r--content/blog/2021-03-28-gemini-capsule.md185
1 files changed, 0 insertions, 185 deletions
diff --git a/content/blog/2021-03-28-gemini-capsule.md b/content/blog/2021-03-28-gemini-capsule.md
deleted file mode 100644
index 877479a..0000000
--- a/content/blog/2021-03-28-gemini-capsule.md
+++ /dev/null
@@ -1,185 +0,0 @@
-+++
-date = 2021-03-28
-title = "Launching a Gemini Capsule"
-description = "A guide to self-hosting a Gemini capsule on your own server."
-+++
-
-## What is Gemini?
-
-[Gemini](https://gemini.circumlunar.space/) is an internet protocol
-introduced in June 2019 as an alternative to HTTP(S) or Gopher. In
-layman's terms, it's an alternative way to browse sites (called
-capsules) that requires a special browser. Since Gemini is not
-standardized as an internet standard, normal web browsers won't be able
-to load a Gemini capsule. Instead, you'll need to use [a
-Gemini-specific
-browser](https://gemini.%20circumlunar.space/clients.html).
-
-The content found within a Gemini page is called
-[Gemtext](https://gemini.circumlunar.space/docs/cheatsheet.gmi) and is
-*extremely* basic (on purpose). Gemini only processes the text, no media
-content like images. However, you're able to style 3 levels of
-headings, regular text, links (which will display on their own line),
-quotes, and an unordered list.
-
-Here's a complete listing of valid Gemtext:
-
-```txt
-# Heading 1
-## Heading 2
-### Heading 3
-
-Regular text! Lorem ipsum dolor sit amet.
-
-=> https://example.com My Website
-=> gemini://example.com My Gemini Capsule
-
-> "If life were predictable it would cease to be life, and be without flavor." - Eleanor Roosevelt
-
-My List:
-* Item
-* Item
-
-```Anything between three backticks will be rendered as code.```
-```
-
-## Free Option
-
-There are probably numerous websites that allow you to create your
-personal Gemini capsule, but I'm going to focus on the two sites that I
-have personally tested. The first option below, Midnight Pub, allows you
-to create/edit any Gemini files you want in your account. This is
-essentially a GUI option with a built-in text box for editing. The
-second option below, Sourcehut, allows you to use a Git repository and
-automatic build process to deploy your personal Gemini capsule every
-time you push a commit.
-
-### Midnight Pub - Beginner Friendly
-
-[Midnight Pub](https://midnight.pub/) is a small, virtual community
-meant to reflect the atmosphere of wandering into a small alley pub. The
-site is built in Gemtext and has a server-side process to convert
-Gemtext to HTML if someone loads the site in an HTTP(S) browser.
-
-To create an account, you'll need to email the owner of the website to
-obtain a key. You can find their email on the Midnight Pub homepage.
-Once registered, head to [your account](https://midnight.pub/account)
-and select [manage site](https://midnight.pub/site). This is the screen
-where you can upload or create any files to be displayed on the
-internet.
-
-For example, I've created both an HTML file and a Gemini file. Remember
-that Gemini is automatically converted to HTML on the Pub, so you don't
-need an HTML version. For example, I created an HTML version to add in
-some extra styling.
-
-All you need to do is create a page like `index.gmi` and use
-your Gemini browser to head over to your-username.midnight.pub to see
-the result.
-
-That's all there is to it! Easy enough, right? Let's check out a more
-advanced version in the next section.
-
-## Paid Option
-
-As of 2021, Sourcehut has decided to require users to have a paid
-account in order to utilize their automated build system. For now, paid
-accounts can be as low as \$2/month.
-
-### Sourcehut
-
-[Sourcehut](https://sourcehut.org/) is a collection of software
-development tools, but mostly surrounds their hosted Git repository
-service. Simply put, it's a minimal and more private alternative to
-services like GitHub.
-
-This walkthrough is more advanced and involves things like Git, SSH, the
-command line. If you don't think you know enough to do this, check out
-my walkthrough on creating a Gemini capsule for the Midnight Pub
-instead.
-
-The first thing you'll need to do is create an SSH key pair, if you
-don't already have one on your system. Once created, grab the contents
-of `id_rsa.pub` and add it to your Sourcehut account
-settings - this will allow you to push and pull code changes without
-using a username/password.
-
-```sh
-ssh keygen
-```
-
-Next up, let's create a repository with the proper name so that the
-Sourcehut build system will know we want them to host a website for us.
-Use the following format exactly:
-
-```sh
-mkdir your-username.srht.site && cd your-username.srht.site
-```
-
-Now that we've created the repo, let's initialize Git and add the
-proper remote URL.
-
-```sh
-git init
-```
-
-```sh
-git remote add origin git@git.sr.ht:~your-username/your-username.srht.site
-```
-
-Now that our repository is set up and configured, we will need to create
-at least two files:
-
-- `index.gmi`
-- `.build.yml`
-
-For your `.build.yml` file, use the following content and be
-sure to update the `site` line with your username!
-
-```yaml
-image: alpine/latest
-oauth: pages.sr.ht/PAGES:RW
-environment:
- site: your-username.srht.site
-tasks:
- - package: |
- cd $site
- tar -cvz . > ../site.tar.gz
- - upload: |
- acurl -f https://pages.sr.ht/publish/$site -Fcontent=@site.tar.gz -Fprotocol=GEMINI
-```
-
-For the `index.gmi` file, put whatever you want in there and
-save it. You could even just copy and paste the Gemtext cheatsheet.
-
-If you want to serve both HTML and Gemini files from this repository,
-just add a second command to the `upload` section:
-
-```yaml
-- upload: |
- acurl -f https://pages.sr.ht/publish/$site -Fcontent=@site.tar.gz -Fprotocol=GEMINI
- acurl -f https://pages.sr.ht/publish/$site -Fcontent=@site.tar.gz
-```
-
-Lastly, commit your changes and push them to the remote repo.
-
-```sh
-git add .; git commit -m "initial commit"; git push --set-upstream origin HEAD
-```
-
-If you've successfully created the files with the proper format,
-you'll see the terminal print a message that lets you know where the
-automatic build is taking place. For example, here's what the terminal
-tells me:
-
-```sh
-remote: Build started:
-remote: https://builds.sr.ht/~user/job/689803 [.build.yml]
-```
-
-Now that you've properly built your Sourcehut page, you can browse to
-your-username.srht.site in a Gemini browser and view the final results.
-Take a look at the image below for my Sourcehut Gemini capsule.
-
-![Gemini page on the amfora
-browser](https://img.cleberg.net/blog/20210328-launching-a-gemini-capsule/amfora.png)