Using GemPress to publish your Gemini Capsule

2021-09-25 |

[1] Leia este post em português

  ____                ____
 / __/  ___ _ ___ __ |  _ \ _ __ ___ ,___ ___
/ / __ / _ \ `_  `_ `| |_) | '__/ _ \ __/ __/
\ \_| |  --| | | | | |  __/| | |  --|__ |__ |
 \__,_|\___\_| |_| |_|_|   |_|  \___\___/___/               
This is a meta post, as it is about how to publish a capsule like this in Geminispace, using the very same tool it is published with.

What is it?

GemPress is a framework, best suited for Linux users, written in Bash and C to streamline publishing Gemini Capsules, while also making it available as a common HTML page, for a broader audience.

This allows you to create contents directly in Gemini format using any pure-text editor. And after properly configured, with a single 'publish' command, append footers, generate atom feed and update the site on both worlds: Gemini and HTTP(S).

How it works?

Get published in five simple steps:

1. Follow the README install instructions from the project repo [2].

2. Create your contents locally following this folder structure and naming convention:
├── index.gmi                 # Home
└── log                       # Log folder (where posts go)
    ├── index.gmi             # Archive (links to all posts)
    └── YYYY-DD-MM-post-1.gmi # Post (example)
3. Edit the footers gmi-footer.gmi and web-footer.gmi in the provided template folder.

4. Check if all looks good by running ./publish local to get your Capsule built at ./capsule and a HTML Website clone under ./website folder.

5. Publish! ./publish srht

Note: at the time of writing only SourceHut Pages [3] is supported as hosting service for automatic publishing, but other services could be added easily.

Why it matters?

Geminispace has a DIY ethos at it's core. So I decided to create my own framework to publish my Capsule

There are plenty of other tools out there, but this one might be the best for those who, like me, prefer to write the content's source code as Gemini text and want have it mounted with footers and published automatically both as a Gemini Capsule and as a normal Website.

The project's code-base should be easy enough for other developers to customize to their needs, and contributions are also welcome. Some effort was put into trying to keep it simple and well documented.


Patches and questions? Take part on it, and make GemPress yours too. Instructions on how to do so are on the README from project repo.


[2] GemPress project repo
[3] SourceHut Pages

See also

[4] Capsule Archives
[5] Capsule Home

Want more?

Comment on one of my posts, talk to me, say:

[6] Subscribe to the Capsule's Feed
[7] Checkout the FatScript project on GitLab
[8] Checkout my projects on GitHub
[9] Checkout my projects on SourceHut

Join Geminispace

Gemini is a new Internet protocol introduced in 2019, as an alternative to http(s) or gopher, for lightweight text contents and better privacy.

Not sure how, but want to be part of the club? See:
[10] Gemini quick start guide

Already have a Gemini client?
[11] Navigate this capsule via Gemini

©, 2021-2023 - content on this site is licensed under
[12] Creative Commons BY-NC-SA 4.0 License
[13] Proudly built with GemPress
[14] Privacy Policy