diff options
author | Christian Cleberg <hello@cleberg.net> | 2023-12-02 23:27:35 -0600 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2023-12-02 23:27:35 -0600 |
commit | 3d4da5ac6000a4871c5caa80d1e61f2782da3069 (patch) | |
tree | 29f36b50823d22f4c7df0a3db3ede83192ae649f /blog/2021-03-28-gemini-capsule.org | |
parent | dcf0186e16b6ac8f0e00a3aeb9734421ce548177 (diff) | |
download | cleberg.net-3d4da5ac6000a4871c5caa80d1e61f2782da3069.tar.gz cleberg.net-3d4da5ac6000a4871c5caa80d1e61f2782da3069.tar.bz2 cleberg.net-3d4da5ac6000a4871c5caa80d1e61f2782da3069.zip |
feat: finish converting md to org
Diffstat (limited to 'blog/2021-03-28-gemini-capsule.org')
-rw-r--r-- | blog/2021-03-28-gemini-capsule.org | 246 |
1 files changed, 129 insertions, 117 deletions
diff --git a/blog/2021-03-28-gemini-capsule.org b/blog/2021-03-28-gemini-capsule.org index fe17864..d1ebcf7 100644 --- a/blog/2021-03-28-gemini-capsule.org +++ b/blog/2021-03-28-gemini-capsule.org @@ -1,30 +1,29 @@ -+++ -date = 2021-03-28 -title = "Launching a Gemini Capsule" -description = "Learn more about Gemini, an alternative internet protocol to the World Wide Web (WWW)" -draft = false -+++ - -## 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. -circumlunar.space/clients.html). +#+title: Launching a Gemini Capsule +#+date: 2021-03-28 + +** What is Gemini? +:PROPERTIES: +:CUSTOM_ID: what-is-gemini +:END: +[[https://gemini.circumlunar.space/][Gemini]] 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 +[[https://gemini.%20circumlunar.space/clients.html][a Gemini-specific +browser]]. 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. +[[https://gemini.circumlunar.space/docs/cheatsheet.gmi][Gemtext]] 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 +#+begin_src txt # Heading 1 ## Heading 2 ### Heading 3 @@ -41,97 +40,109 @@ My List: * 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 +#+end_src + +** Free Option +:PROPERTIES: +:CUSTOM_ID: free-option +:END: +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 +:PROPERTIES: +:CUSTOM_ID: midnight-pub---beginner-friendly +:END: +[[https://midnight.pub/][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 [[https://midnight.pub/account][your account]] +and select [[https://midnight.pub/site][manage 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 +:PROPERTIES: +:CUSTOM_ID: paid-option +:END: +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 +:PROPERTIES: +:CUSTOM_ID: sourcehut +:END: +[[https://sourcehut.org/][Sourcehut]] 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. + +#+begin_src sh ssh keygen -``` +#+end_src -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: +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 +#+begin_src sh mkdir your-username.srht.site && cd your-username.srht.site -``` +#+end_src -Now that we've created the repo, let's initialize Git and add the proper remote -URL. +Now that we've created the repo, let's initialize Git and add the proper +remote URL. -```sh +#+begin_src sh git init -``` +#+end_src -```sh +#+begin_src sh git remote add origin git@git.sr.ht:~your-username/your-username.srht.site -``` +#+end_src -Now that our repository is set up and configured, we will need to create at -least two files: +Now that our repository is set up and configured, we will need to create +at least two files: -- `index.gmi` -- `.build.yml` +- =index.gmi= +- =.build.yml= -For your `.build.yml` file, use the following content and be sure to update the -`site` line with your username! +For your =.build.yml= file, use the following content and be sure to +update the =site= line with your username! -```yaml +#+begin_src yaml image: alpine/latest oauth: pages.sr.ht/PAGES:RW environment: @@ -142,37 +153,38 @@ tasks: tar -cvz . > ../site.tar.gz - upload: | acurl -f https://pages.sr.ht/publish/$site -Fcontent=@site.tar.gz -Fprotocol=GEMINI -``` +#+end_src -For the `index.gmi` file, put whatever you want in there and save it. You could -even just copy and paste the Gemtext cheatsheet. +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: +If you want to serve both HTML and Gemini files from this repository, +just add a second command to the =upload= section: -```yaml +#+begin_src 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 -``` +#+end_src Lastly, commit your changes and push them to the remote repo. -```sh +#+begin_src sh git add .; git commit -m "initial commit"; git push --set-upstream origin HEAD -``` +#+end_src -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: +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 +#+begin_src sh remote: Build started: remote: https://builds.sr.ht/~user/job/689803 [.build.yml] -``` +#+end_src 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. +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. - +#+caption: Gemini page on the amfora browser +[[https://img.cleberg.net/blog/20210328-launching-a-gemini-capsule/amfora.png]] |