The phos Reference Manual

This is the phos Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:33:49 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 phos

An experimental Gemini client library

Author

Omar Polo <>

License

ISC

Version

0.0.1

Dependencies
  • quri (system).
  • cl-ppcre (system).
  • trivia (system).
  • usocket (system).
  • cl+ssl (system).
Source

phos.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 phos/phos.asd

Source

phos.asd.

Parent Component

phos (system).

ASDF Systems

phos.


3.1.2 phos/package.lisp

Source

phos.asd.

Parent Component

phos (system).

Packages

3.1.3 phos/phos.lisp

Dependency

package.lisp (file).

Source

phos.asd.

Parent Component

phos (system).


3.1.4 phos/gemtext.lisp

Dependency

phos.lisp (file).

Source

phos.asd.

Parent Component

phos (system).

Public Interface
Internals

3.1.5 phos/gemini.lisp

Dependency

gemtext.lisp (file).

Source

phos.asd.

Parent Component

phos (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 phos/gemtext

Gemtext (text/gemini) parsing

Source

package.lisp.

Nickname

gemtext

Use List
  • common-lisp.
  • trivia.level2.
Public Interface
Internals

4.2 phos

Source

package.lisp.

Use List

common-lisp.


4.3 phos/gemini

Gemini (the protocol) implementation

Source

package.lisp.

Nickname

gemini

Use List
  • common-lisp.
  • trivia.level2.
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *code-to-keyword*

Maps status code to keyword name.

Package

phos/gemini.

Source

gemini.lisp.

Special Variable: *default-port*

The default port for gemini URL.

Package

phos/gemini.

Source

gemini.lisp.


5.1.2 Macros

Macro: with-gemini-request (((status meta stream) url) &body body)

Expose a stream (STREAM) with Gemini response contents, available in BODY.

STATUS and META are bound to the status code (as keyword from ‘*code-to-keyword*’) and meta info (as optional/nullable string.)

URL should be a well-formed string/‘quri:uri’ URL.

Package

phos/gemini.

Source

gemini.lisp.


5.1.3 Ordinary functions

Function: blockquote-p (blockquote)
Package

phos/gemtext.

Source

gemtext.lisp.

Function: element-p (element)
Package

phos/gemtext.

Source

gemtext.lisp.

Function: item-p (item)
Package

phos/gemtext.

Source

gemtext.lisp.

Package

phos/gemtext.

Source

gemtext.lisp.

Function: paragraph-p (paragraph)
Package

phos/gemtext.

Source

gemtext.lisp.

Function: parse (in)

Parse gemtext from the stream IN.

Package

phos/gemtext.

Source

gemtext.lisp.

Function: parse-string (str)

Parse the string STR as gemtext.

Package

phos/gemtext.

Source

gemtext.lisp.

Function: title-p (title)
Package

phos/gemtext.

Source

gemtext.lisp.

Function: verbatim-p (verbatim)
Package

phos/gemtext.

Source

gemtext.lisp.


5.1.4 Generic functions

Generic Reader: alt (object)
Generic Writer: (setf alt) (object)
Package

phos/gemtext.

Methods
Reader Method: alt ((verbatim verbatim))
Writer Method: (setf alt) ((verbatim verbatim))

The alternative text for the verbatim block.

Is usually put at the same line as the opening backquotes.

Can be a programming language name or alternative text for, e.g., ASCII art.

Source

gemtext.lisp.

Target Slot

alt.

Generic Reader: level (object)
Generic Writer: (setf level) (object)
Package

phos/gemtext.

Methods
Reader Method: level ((title title))
Writer Method: (setf level) ((title title))

The nesting level of the title.

Synonymous to the HTML heading levels, i.e. level 1 is <h1> tag, level 2 is <h2> tag etc.

Source

gemtext.lisp.

Target Slot

level.

Generic Function: line-eq (a b)

t if the lines A and B are equals.

Package

phos/gemtext.

Source

gemtext.lisp.

Method Combination

and.

Options

:most-specific-first

Methods
Method: line-eq and ((a verbatim) (b verbatim))
Method: line-eq and ((a link) (b link))
Method: line-eq and ((a title) (b title))
Method: line-eq and ((a element) (b element))
Generic Function: request (url)

Perform a request for the URL.

Package

phos/gemini.

Source

gemini.lisp.

Methods
Method: request (url)
Generic Reader: text (object)
Package

phos/gemtext.

Methods
Reader Method: text ((element element))

automatically generated reader method

Source

gemtext.lisp.

Target Slot

text.

Generic Writer: (setf text) (object)
Package

phos/gemtext.

Methods
Writer Method: (setf text) ((element element))

automatically generated writer method

Source

gemtext.lisp.

Target Slot

text.

Generic Function: unparse (obj stream)

Print a textual representation of OBJ onto STREAM.

Package

phos/gemtext.

Source

gemtext.lisp.

Methods
Method: unparse ((b blockquote) stream)
Method: unparse ((v verbatim) stream)
Method: unparse ((p paragraph) stream)
Method: unparse ((item item) stream)
Method: unparse ((link link) stream)
Method: unparse ((title title) stream)
Method: unparse ((l list) stream)
Generic Reader: url (object)
Package

phos/gemtext.

Methods
Reader Method: url ((link link))

automatically generated reader method

Source

gemtext.lisp.

Target Slot

url.

Generic Writer: (setf url) (object)
Package

phos/gemtext.

Methods
Writer Method: (setf url) ((link link))

automatically generated writer method

Source

gemtext.lisp.

Target Slot

url.


5.1.5 Classes

Class: blockquote
Package

phos/gemtext.

Source

gemtext.lisp.

Direct superclasses

element.

Direct methods

unparse.

Class: element
Package

phos/gemtext.

Source

gemtext.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: text
Type

string

Initform

""

Initargs

:text

Readers

text.

Writers

(setf text).

Class: item
Package

phos/gemtext.

Source

gemtext.lisp.

Direct superclasses

element.

Direct methods

unparse.

Package

phos/gemtext.

Source

gemtext.lisp.

Direct superclasses

element.

Direct methods
Direct slots
Slot: url
Type

quri.uri:uri

Initargs

:url

Readers

url.

Writers

(setf url).

Class: paragraph
Package

phos/gemtext.

Source

gemtext.lisp.

Direct superclasses

element.

Direct methods

unparse.

Class: title
Package

phos/gemtext.

Source

gemtext.lisp.

Direct superclasses

element.

Direct methods
Direct slots
Slot: level

The nesting level of the title.

Synonymous to the HTML heading levels, i.e. level 1 is <h1> tag, level 2 is <h2> tag etc.

Type

integer

Initargs

:level

Readers

level.

Writers

(setf level).

Class: verbatim
Package

phos/gemtext.

Source

gemtext.lisp.

Direct superclasses

element.

Direct methods
Direct slots
Slot: alt

The alternative text for the verbatim block.

Is usually put at the same line as the opening backquotes.

Can be a programming language name or alternative text for, e.g., ASCII art.

Type

(or null string)

Initargs

:alt

Readers

alt.

Writers

(setf alt).


5.2 Internals


5.2.1 Macros

Macro: markerp (line)
Package

phos/gemtext.

Source

gemtext.lisp.


5.2.2 Ordinary functions

Package

phos/gemtext.

Source

gemtext.lisp.

Function: parse-line (s)
Package

phos/gemtext.

Source

gemtext.lisp.

Parse a line into link.

Package

phos/gemtext.

Source

gemtext.lisp.

Function: parse-response (res)
Package

phos/gemini.

Source

gemini.lisp.

Function: parse-status (s)
Package

phos/gemini.

Source

gemini.lisp.

Function: read-all-bytes (in)
Package

phos/gemini.

Source

gemini.lisp.

Function: read-all-string (in)
Package

phos/gemini.

Source

gemini.lisp.

Function: read-until (in char)
Package

phos/gemini.

Source

gemini.lisp.


5.2.3 Generic functions

Generic Reader: reason (condition)
Package

phos/gemini.

Methods
Reader Method: reason ((condition malformed-response))
Source

gemini.lisp.

Target Slot

reason.


5.2.4 Conditions

Condition: malformed-response
Package

phos/gemini.

Source

gemini.lisp.

Direct superclasses

error.

Direct methods

reason.

Direct slots
Slot: reason
Initargs

:reason

Readers

reason.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   E   F   G   I   L   M   P   R   T   U   V   W  
Index Entry  Section

(
(setf alt): Public generic functions
(setf alt): Public generic functions
(setf level): Public generic functions
(setf level): Public generic functions
(setf text): Public generic functions
(setf text): Public generic functions
(setf url): Public generic functions
(setf url): Public generic functions

A
alt: Public generic functions
alt: Public generic functions

B
blockquote-p: Public ordinary functions

E
element-p: Public ordinary functions

F
Function, blockquote-p: Public ordinary functions
Function, element-p: Public ordinary functions
Function, item-p: Public ordinary functions
Function, link-p: Public ordinary functions
Function, make-link: Private ordinary functions
Function, paragraph-p: Public ordinary functions
Function, parse: Public ordinary functions
Function, parse-line: Private ordinary functions
Function, parse-link: Private ordinary functions
Function, parse-response: Private ordinary functions
Function, parse-status: Private ordinary functions
Function, parse-string: Public ordinary functions
Function, read-all-bytes: Private ordinary functions
Function, read-all-string: Private ordinary functions
Function, read-until: Private ordinary functions
Function, title-p: Public ordinary functions
Function, verbatim-p: Public ordinary functions

G
Generic Function, (setf alt): Public generic functions
Generic Function, (setf level): Public generic functions
Generic Function, (setf text): Public generic functions
Generic Function, (setf url): Public generic functions
Generic Function, alt: Public generic functions
Generic Function, level: Public generic functions
Generic Function, line-eq: Public generic functions
Generic Function, reason: Private generic functions
Generic Function, request: Public generic functions
Generic Function, text: Public generic functions
Generic Function, unparse: Public generic functions
Generic Function, url: Public generic functions

I
item-p: Public ordinary functions

L
level: Public generic functions
level: Public generic functions
line-eq: Public generic functions
line-eq: Public generic functions
line-eq: Public generic functions
line-eq: Public generic functions
line-eq: Public generic functions
link-p: Public ordinary functions

M
Macro, markerp: Private macros
Macro, with-gemini-request: Public macros
make-link: Private ordinary functions
markerp: Private macros
Method, (setf alt): Public generic functions
Method, (setf level): Public generic functions
Method, (setf text): Public generic functions
Method, (setf url): Public generic functions
Method, alt: Public generic functions
Method, level: Public generic functions
Method, line-eq: Public generic functions
Method, line-eq: Public generic functions
Method, line-eq: Public generic functions
Method, line-eq: Public generic functions
Method, reason: Private generic functions
Method, request: Public generic functions
Method, text: Public generic functions
Method, unparse: Public generic functions
Method, unparse: Public generic functions
Method, unparse: Public generic functions
Method, unparse: Public generic functions
Method, unparse: Public generic functions
Method, unparse: Public generic functions
Method, unparse: Public generic functions
Method, url: Public generic functions

P
paragraph-p: Public ordinary functions
parse: Public ordinary functions
parse-line: Private ordinary functions
parse-link: Private ordinary functions
parse-response: Private ordinary functions
parse-status: Private ordinary functions
parse-string: Public ordinary functions

R
read-all-bytes: Private ordinary functions
read-all-string: Private ordinary functions
read-until: Private ordinary functions
reason: Private generic functions
reason: Private generic functions
request: Public generic functions
request: Public generic functions

T
text: Public generic functions
text: Public generic functions
title-p: Public ordinary functions

U
unparse: Public generic functions
unparse: Public generic functions
unparse: Public generic functions
unparse: Public generic functions
unparse: Public generic functions
unparse: Public generic functions
unparse: Public generic functions
unparse: Public generic functions
url: Public generic functions
url: Public generic functions

V
verbatim-p: Public ordinary functions

W
with-gemini-request: Public macros