💾 Archived View for ix.cyb.red › wiki › pikabu captured on 2024-12-17 at 09:38:11. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-09-29)

🚧 View Differences

-=-=-=-=-=-=-

pikabu (gemini social) ⥊ a proposal for an offline-first social network on gemini

a cute gemini socnet with offline capabilities. pikabu is a zine-centric social network that works with existing gemini subscription features.

cute pages like tumblr that's easy to learn. facilitating social applications of gemini shouldn't require new additions to the protocol, but for the sake of interoperability of social gemini clients and servers we'll try to outline a set of conventions for reading and writing to the social gemspace. for the most part, this will consist of document formats and url structure. gemini social pages should not be distinguished from other kinds of gemini documents, though certain special documents may have strict format requirements.

most existing content in gemini space should be considered conformant to this spec, participants only need to create the standard entrypoints and archive files. this document intentionally does not specify how user content is provided to the network. though, its pretty clear that gemini+social+titan is going to be the most user-friendly option.

capsule archive format

the gempub spec is summarized below, prefer the upstream spec if there are any ambiguities.

gemini ebook format

directory structure

Gempub files are zip archives that contain a Gempub index file (see "Gempub Index", below), a collection of text/gemini (.gmi) files, any supporting files such as images (see "Images", below), and an optional metadata file containing the title, author and any other optional fields (see "Metadata", below).

// Example with index.gmi in a sub-directory, specified by the index value in metadata.txt

// .gpub contents:
book_title.gpub/
   metadata.txt
   cover.jpg
   book/
      index.gmi
      chapter1.gmi
      chapter2.gmi
      chapter3.gmi
      images/
         illustration.png

// metadata.txt:
title: book title
gpubVersion: 1.0.0
cover: cover.jpg
index: book/index.gmi

metadata file

The metadata.txt file enables Gempub to act as a full e-book format by allowing the author to specify data such as a title, a cover image, copyright information, a book description, and author information.

The metadata.txt file contains key-value pairs separated by line. Values start after the first colon and are trimmed (e.g., author: Olaf Stapledon and author:Olaf Stapledon are equivalent). All values are optional apart from title and gpubVersion. Order does not matter. If no index path is specified there must be an index.gmi in the directory root.

This metadata is intended for readers to use to display a useful catalogue of multiple .gpub files and display covers for individual books. Metadata must never be used to specify flags for content rendering. Content should always be plain Gemtext. Reader applications must ignore custom parameters.

title: my-zine
author: xj9
cover: path/to/cover.jpg
index: path/to/index.gmi
language: nah
version: ???whatmeta?
publishDate: 20074
license: path/to/license.txt
gpubVersion: 1.0.0
pikabuBeaconUrl: gemini://sunshinegardens.org/~xj9/bin/pikabu
pikabuFileInfo: crc.txt

markup

gemtext

feeds

[ ] gemini subscriptions

lots of gemini clients support subscribing to feeds in this format. pikabu adds a small amount of structure to allow users to share zines grouped by series, links to other feeds, and contact information.

# HANDLE
DESCRIPTION
## SERIES TITLE
=> URL	YYYY-MM-DD - TITLE
## LINKS
=> URL	HANDLE
## VCARD
CONTACT INFO

each link references an issue of your zine series.

server protocol

an optional server protocol is used to build public key infrastructure and provide for authenticated zine subscriptions. public zine feeds are encouraged, but for more intimate or sensitive content private publishing may be more appropriate.

spec