Giter Site home page Giter Site logo

phoebe's Introduction

Phoebe Wiki

Phoebe does two and a half things:

It's a program that you run on a computer and other people connect to it using their Gemini client in order to read the pages on it.

It's a wiki, which means that people can edit the pages without needing an account. All they need is a client that speaks both Gemini and Titan, and the password. The default password is "hello". ๐Ÿ˜ƒ

Optionally, people can also access it using a regular web browser.

Gemini itself is very simple network protocol, like Gopher or Finger, but with TLS. Gemtext is a very simple markup language, a bit like Markdown, but line oriented. See "Gemtext".

To take a look for yourself, check out the test wiki via the web or via the web.

Reading the wiki

This repository comes with a Perl script called gemini to download Gemini URLs.

Other clients can be found here:

See App::Phoebe::Web to enable reading via the web.

Gemtext

Pages are written in gemtext, a lightweight hypertext format. You can use your favourite text editor to write them.

A text line is a paragraph of text.

This is a paragraph.
This is another paragraph.

A link line starts with "=>", a space, a URL, optionally followed by whitespace and some text; the URL can be absolute or relative.

=> http://transjovian.org/ The Transjovian Council on the web
=> Welcome                 Welcome to The Transjovian Council

A line starting with "```" toggles preformatting on and off.

Here is an example:
```
The tapping calms me:
Constant mindless murmuring
Rain drops against glass
```

A line starting with "#", "##", or "###", followed by a space and some text is a heading.

## License
The GNU Affero General Public License.

A line starting with "*", followed by a space and some text is a list item.

* one item
* another item

A line starting with ">", followed by a space and some text is a quote.

The monologue at the end is fantastic, with the city lights and the rain.
> I have seen things you people would not believe.

Editing the wiki

How do you edit a Phoebe wiki? You need to use a Titan-enabled client.

Titan is a companion protocol to Gemini: it allows clients to upload files to Gemini sites, if servers allow this. On Phoebe, you can edit "raw" pages. That is, at the bottom of a page you'll see a link to the "raw" page. If you follow it, you'll see the page content as plain text. You can submit a changed version of this text to the same URL using Titan.

Known clients:

This repository comes with a Perl script called titan to upload files.

Gemini Write is an extension for the Emacs Gopher and Gemini client Elpher.

Gemini & Titan for Bash are two shell functions that allow you to download and upload files.

Lagrange is a GUI client that is Titan enabled.

See App::Phoebe::WebEdit to enable editing via the web.

Installation

Using cpan:

cpan App::Phoebe

Manual install:

perl Makefile.PL
make
make install

Dependencies

If you are not using cpan or cpanm to install Phoebe, you'll need to install the following dependencies:

I'm going to be using curl and openssl in the Quickstart section of phoebe, so you'll need those tools as well. And finally, when people download their data, the code calls tar (available from packages with the same name on Debian derived systems).

Installing Perl

If you are on GNU/Linx or macOS, I recommend installing from Perlbrew. Each Perl installation comes with its own library directories, so if you switch Perl version, you need to reinstall Phoebe for that Perl version.

See also

phoebe's People

Contributors

kensanata avatar

Stargazers

Timeo Sam Pochin avatar Eoin Gairleog avatar dryya avatar  avatar IemandDood avatar patrik avatar Jorge Gomez avatar  avatar Michael Gregorowicz avatar

Watchers

James Cloos avatar  avatar

Forkers

mgregoro

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.