The quickref Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The quickref Reference Manual

This is the quickref Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 02:49:26 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

quickref

Quickref generates a website with reference manuals for every Quicklisp library available.

The reference manuals are generated by Declt.

Using quickref:

From your lisp REPL, just do:

(ql:quickload :quickref)
(quickref:refresh)

This will trigger a complete cycle, which includes downloading and installing the Quicklisp packages, generating the .texi files for all of them thanks to Declt, and generating the final website structure by converting the .texi files to HTML.

The generated files can by default be found in $HOME/quickref/.

Docker image:

A Docker image is available, it ships with a complete build environment that aims to reproduce the one used to create the Quicklisp releases. This means it contains (almost) all the dependencies needed to build every library available on Quicklisp.

To run quickref from the image just do:

docker pull quickref/quickref
docker run quickref/quickref

This will run (quickref:refresh) in the image.

You can then get the produced files with

docker cp my-container:/home/quickbuilder/quickref .

Advanced usage

Multithreading

Quickref supports multithreading; by calling (quickref:refresh :parallel t). Quickref will launch both the generation of .texi files and the generation of .html files at the same time. This option is recommended if your machine has multiple cores available.

Custom makeinfo path

By default, Quickref will use the makeinfo found in your PATH to generate the .texi files, but you can provide a custom one by calling Quickref with the :makeinfo-path keyword argument:

(quickref:refresh :makeinfo-path "/usr/local/bin/makeinfo")

Logging

Errors are logged by default, logs can be found in quickref/logs/{declt,makeinfo}/.

To disable logging, you can use the log-errors keyword argument:

(quickref:refresh :log-errors nil)

Docker images

You can build your own Quickref images by modifying the provided Dockerfiles:

Dockerfile-buildenv creates an image with all the dependencies needed to buid the various Quicklisp libraries inside.

Dockerfile builds on top of the buildenv image and sets up a quickbuilder user, pulls the latest versions of Quickref and Declt, and finally launches Quickref.

Note: The project is split into 2 separate images to allow rebuilding the final quickref image with the --no-cache flag (to pull the latest version from the git repo), without rebuilding the whole environment (including the hundreds of dependencies installed from apt).

Building the images

To create the image with the build environment, run:

docker build -t quickref/buildenv -f Dockerfile-buildenv .

To create the final Quickref image, run:

docker build -t quickref .

Retrieving the website files from the image once Quickref finished running:

With docker ps -a, get the name/ID of your image.

The output should look like this: (with a different name/ID for you)

CONTAINER ID    IMAGE       COMMAND   CREATED         STATUS                     PORTS   NAMES
2b67991057f4    quickref    "bash"    6 seconds ago   Exited (0) 2 seconds ago           sleepy_morse

Then simply do:

docker cp sleepy_morse:/home/quickbuilder/quickref .

The entire quickref/ folder will be copied, the website folder inside contains all the necessary files, just copy them to the root of your webserver of choice.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 quickref

Author

Antoine Martin

Dependencies
Source

quickref.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 quickref.asd

Location

quickref.asd

Systems

quickref (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 quickref/quickref.lisp

Parent

quickref (system)

Location

quickref.lisp

Packages

quickref

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 quickref/qrmapper.lisp

Dependency

quickref.lisp (file)

Parent

quickref (system)

Location

qrmapper.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 quickref/website.lisp

Dependency

qrmapper.lisp (file)

Parent

quickref (system)

Location

website.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.5 quickref/file.lisp

Dependency

website.lisp (file)

Parent

quickref (system)

Location

file.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 quickref

Source

quickref.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: build-index ()

Generates the index.html file shown on Quicklisp’s homepage.
It creates a three columns layout, indexes all the html files located in ~/quickref/ and adds the right letter anchors before each section.

The resulting file is written at ~/quickref/index.html

Package

quickref

Source

website.lisp (file)

Function: build-releases &key REMOVE-CACHE

Calls NET.DIDIERVERNA.DECLT:DECLT on the primary system of each Quicklisp release.
The resulting .texi file is placed inside the release’s directory, in ~/quicklisp/dists/quicklisp/software/.

Package

quickref

Source

quickref.lisp (file)

Function: build-texis &key MAKEINFO-PATH LOG-ERRORS

Calls makeinfo on each .texi file, places the resulting html files in ~/quickref/

Package

quickref

Source

website.lisp (file)

Function: find-readme RELEASE-NAME
Package

quickref

Source

file.lisp (file)

Function: from-quickref-dir RELATIVE-PATH
Package

quickref

Source

file.lisp (file)

Function: get-primary-system-name RELEASE

Returns the name of the primary system, given a Quicklisp release name.

Package

quickref

Source

quickref.lisp (file)

Function: print-primary-systems ()

Prints the primary system name for each Quicklisp release

Package

quickref

Source

quickref.lisp (file)

Function: refresh &key MAKEINFO-PATH LOG-ERRORS REMOVE-CACHE PARALLEL UNINSTALL

Run the whole Quickref process, from generating the .texi files with Declt to creating the corresponding html files with makeinfo.

- MAKEINFO-PATH is the absolute path to the makeinfo executable you want to use to build the .html files from the .texi ones.
- LOG-ERRORS: boolean, determines whether the various errors encountered are logged or not.
- REMOVE-CACHE: boolean, whether the cache is cleaned between each call to Declt on a system or not.
- UNINSTALL: boolean, determines whether we should uninstall all the Quicklisp releases before running everything, to start from a clean state.

The final website structure is created in ~/quickref/, the various logs can be found in ~/texi-logfiles/ and ~/declt-logfiles/ for now.

Package

quickref

Source

quickref.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *buffer*
Package

quickref

Source

quickref.lisp (file)

Special Variable: *init-file*
Package

quickref

Source

qrmapper.lisp (file)

Special Variable: *log-errors*
Package

quickref

Source

quickref.lisp (file)

Special Variable: *makeinfo-path*
Package

quickref

Source

quickref.lisp (file)

Special Variable: *other-systems*
Package

quickref

Source

quickref.lisp (file)

Special Variable: *quickref-basedir*
Package

quickref

Source

file.lisp (file)

Special Variable: *remove-cache*
Package

quickref

Source

quickref.lisp (file)

Special Variable: *sbcl-program*
Package

quickref

Source

qrmapper.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: endpush OBJECT PLACE

Like push, but at the end.

Package

quickref

Source

quickref.lisp (file)

Macro: read-write-file (PATHNAME CONTENT STREAM) &body BODY
Package

quickref

Source

file.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: all-directories PATH
Package

quickref

Source

file.lisp (file)

Function: all-files PATH
Package

quickref

Source

file.lisp (file)

Function: build-cell S
Package

quickref

Source

website.lisp (file)

Function: build-parallel &key MAKEINFO-PATH
Package

quickref

Source

quickref.lisp (file)

Function: build-texi TEXI
Package

quickref

Source

website.lisp (file)

Function: build-texis-thread MUTEX WQ &key MAKEINFO-PATH LOG-ERRORS
Package

quickref

Source

website.lisp (file)

Function: clean-directory PATH
Package

quickref

Source

file.lisp (file)

Function: clean-or-create DIRECTORY
Package

quickref

Source

file.lisp (file)

Function: copy-stylesheets ()
Package

quickref

Source

file.lisp (file)

Function: environment-list ENVIRONMENT-PAIRS
Package

quickref

Source

qrmapper.lisp (file)

Function: eval-defvar-forms ENVIRONMENT-PAIRS
Package

quickref

Source

qrmapper.lisp (file)

Function: file-copy SOURCE DESTINATION
Package

quickref

Source

file.lisp (file)

Function: file-to-string PATHNAME
Package

quickref

Source

file.lisp (file)

Function: flatlist &rest ARGS
Package

quickref

Source

qrmapper.lisp (file)

Function: format-readme README
Package

quickref

Source

file.lisp (file)

Function: get-columns-length SIZE
Package

quickref

Source

website.lisp (file)

Function: get-directory-list PATH
Package

quickref

Source

file.lisp (file)

Function: get-file-list PATH
Package

quickref

Source

file.lisp (file)

Function: get-first-letter SEQUENCE
Package

quickref

Source

website.lisp (file)

Function: get-provided-systems RELEASE
Package

quickref

Source

quickref.lisp (file)

Function: get-release-name SYSTEM
Package

quickref

Source

quickref.lisp (file)

Function: get-texi-pathnames ()
Package

quickref

Source

file.lisp (file)

Function: get-trimmed-system-name SYSTEM
Package

quickref

Source

quickref.lisp (file)

Function: is-number C
Package

quickref

Source

website.lisp (file)

Function: letter-has-not-changed PREVIOUS NEW
Package

quickref

Source

website.lisp (file)

Function: log-sbcl SYSTEM &key FILE PRE-FILE ENVIRONMENT-PAIRS EVALS
Package

quickref

Source

qrmapper.lisp (file)

Function: log-texi-error ERR TEXI
Package

quickref

Source

file.lisp (file)

Function: map-objects FILE &key DIST-NAME FUNCTION FILTER EVALS PRE-FILE
Package

quickref

Source

qrmapper.lisp (file)

Function: map-objects-thread FILE MUTEX WAITQUEUE &key DIST-NAME FUNCTION FILTER EVALS PRE-FILE
Package

quickref

Source

qrmapper.lisp (file)

Function: map-releases FILE &key DIST-NAME FILTER PRE-FILE

For each release in a dist (defaults to the "quicklisp" dist), start an independent SBCL process and load FILE with the variable CL-USER:*QRMAPPER-OBJECT-NAME* bound to the release’s name.

Package

quickref

Source

qrmapper.lisp (file)

Function: map-releases-thread FILE MUTEX WAITQUEUE &key DIST-NAME FILTER PRE-FILE

For each release in a dist (defaults to the "quicklisp" dist), start an independent SBCL process and load FILE with the variable CL-USER:*QRMAPPER-OBJECT-NAME* bound to the release’s name.

This is the multi-threaded version, passing the built texis to the thread in charge of generating html files.

Package

quickref

Source

qrmapper.lisp (file)

Function: map-system SYSTEM
Package

quickref

Source

quickref.lisp (file)

Function: native-truename FILE
Package

quickref

Source

qrmapper.lisp (file)

Function: print-columns L SIZE FILE
Package

quickref

Source

website.lisp (file)

Function: print-index-header FILE
Package

quickref

Source

website.lisp (file)

Function: print-index-letter LETTER FILE
Package

quickref

Source

website.lisp (file)

Function: quickref-dir ()
Package

quickref

Source

file.lisp (file)

Function: remove-cl-prefix NAME
Package

quickref

Source

quickref.lisp (file)

Function: run-sbcl &key FILE PRE-FILE ENVIRONMENT-PAIRS EVALS
Package

quickref

Source

qrmapper.lisp (file)

Function: setup-quickref-dir &key DECLT MAKEINFO
Package

quickref

Source

file.lisp (file)

Function: uninstall-releases ()
Package

quickref

Source

quickref.lisp (file)

Function: use-readme-intro HTML-PATHNAME README-PATHNAME
Package

quickref

Source

file.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: base-directory OBJECT
Package

quickref

Source

qrmapper.lisp (file)

Methods
Method: base-directory (RELEASE release)
Method: base-directory (SYSTEM system)

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   Q  
Index Entry  Section

F
File, Lisp, quickref.asd: The quickref<dot>asd file
File, Lisp, quickref/file.lisp: The quickref/file<dot>lisp file
File, Lisp, quickref/qrmapper.lisp: The quickref/qrmapper<dot>lisp file
File, Lisp, quickref/quickref.lisp: The quickref/quickref<dot>lisp file
File, Lisp, quickref/website.lisp: The quickref/website<dot>lisp file

L
Lisp File, quickref.asd: The quickref<dot>asd file
Lisp File, quickref/file.lisp: The quickref/file<dot>lisp file
Lisp File, quickref/qrmapper.lisp: The quickref/qrmapper<dot>lisp file
Lisp File, quickref/quickref.lisp: The quickref/quickref<dot>lisp file
Lisp File, quickref/website.lisp: The quickref/website<dot>lisp file

Q
quickref.asd: The quickref<dot>asd file
quickref/file.lisp: The quickref/file<dot>lisp file
quickref/qrmapper.lisp: The quickref/qrmapper<dot>lisp file
quickref/quickref.lisp: The quickref/quickref<dot>lisp file
quickref/website.lisp: The quickref/website<dot>lisp file

Jump to:   F   L   Q  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   A   B   C   E   F   G   I   L   M   N   P   Q   R   S   U  
Index Entry  Section

A
all-directories: Internal functions
all-files: Internal functions

B
base-directory: Internal generic functions
base-directory: Internal generic functions
base-directory: Internal generic functions
build-cell: Internal functions
build-index: Exported functions
build-parallel: Internal functions
build-releases: Exported functions
build-texi: Internal functions
build-texis: Exported functions
build-texis-thread: Internal functions

C
clean-directory: Internal functions
clean-or-create: Internal functions
copy-stylesheets: Internal functions

E
endpush: Internal macros
environment-list: Internal functions
eval-defvar-forms: Internal functions

F
file-copy: Internal functions
file-to-string: Internal functions
find-readme: Exported functions
flatlist: Internal functions
format-readme: Internal functions
from-quickref-dir: Exported functions
Function, all-directories: Internal functions
Function, all-files: Internal functions
Function, build-cell: Internal functions
Function, build-index: Exported functions
Function, build-parallel: Internal functions
Function, build-releases: Exported functions
Function, build-texi: Internal functions
Function, build-texis: Exported functions
Function, build-texis-thread: Internal functions
Function, clean-directory: Internal functions
Function, clean-or-create: Internal functions
Function, copy-stylesheets: Internal functions
Function, environment-list: Internal functions
Function, eval-defvar-forms: Internal functions
Function, file-copy: Internal functions
Function, file-to-string: Internal functions
Function, find-readme: Exported functions
Function, flatlist: Internal functions
Function, format-readme: Internal functions
Function, from-quickref-dir: Exported functions
Function, get-columns-length: Internal functions
Function, get-directory-list: Internal functions
Function, get-file-list: Internal functions
Function, get-first-letter: Internal functions
Function, get-primary-system-name: Exported functions
Function, get-provided-systems: Internal functions
Function, get-release-name: Internal functions
Function, get-texi-pathnames: Internal functions
Function, get-trimmed-system-name: Internal functions
Function, is-number: Internal functions
Function, letter-has-not-changed: Internal functions
Function, log-sbcl: Internal functions
Function, log-texi-error: Internal functions
Function, map-objects: Internal functions
Function, map-objects-thread: Internal functions
Function, map-releases: Internal functions
Function, map-releases-thread: Internal functions
Function, map-system: Internal functions
Function, native-truename: Internal functions
Function, print-columns: Internal functions
Function, print-index-header: Internal functions
Function, print-index-letter: Internal functions
Function, print-primary-systems: Exported functions
Function, quickref-dir: Internal functions
Function, refresh: Exported functions
Function, remove-cl-prefix: Internal functions
Function, run-sbcl: Internal functions
Function, setup-quickref-dir: Internal functions
Function, uninstall-releases: Internal functions
Function, use-readme-intro: Internal functions

G
Generic Function, base-directory: Internal generic functions
get-columns-length: Internal functions
get-directory-list: Internal functions
get-file-list: Internal functions
get-first-letter: Internal functions
get-primary-system-name: Exported functions
get-provided-systems: Internal functions
get-release-name: Internal functions
get-texi-pathnames: Internal functions
get-trimmed-system-name: Internal functions

I
is-number: Internal functions

L
letter-has-not-changed: Internal functions
log-sbcl: Internal functions
log-texi-error: Internal functions

M
Macro, endpush: Internal macros
Macro, read-write-file: Internal macros
map-objects: Internal functions
map-objects-thread: Internal functions
map-releases: Internal functions
map-releases-thread: Internal functions
map-system: Internal functions
Method, base-directory: Internal generic functions
Method, base-directory: Internal generic functions

N
native-truename: Internal functions

P
print-columns: Internal functions
print-index-header: Internal functions
print-index-letter: Internal functions
print-primary-systems: Exported functions

Q
quickref-dir: Internal functions

R
read-write-file: Internal macros
refresh: Exported functions
remove-cl-prefix: Internal functions
run-sbcl: Internal functions

S
setup-quickref-dir: Internal functions

U
uninstall-releases: Internal functions
use-readme-intro: Internal functions

Jump to:   A   B   C   E   F   G   I   L   M   N   P   Q   R   S   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*buffer*: Internal special variables
*init-file*: Internal special variables
*log-errors*: Internal special variables
*makeinfo-path*: Internal special variables
*other-systems*: Internal special variables
*quickref-basedir*: Internal special variables
*remove-cache*: Internal special variables
*sbcl-program*: Internal special variables

S
Special Variable, *buffer*: Internal special variables
Special Variable, *init-file*: Internal special variables
Special Variable, *log-errors*: Internal special variables
Special Variable, *makeinfo-path*: Internal special variables
Special Variable, *other-systems*: Internal special variables
Special Variable, *quickref-basedir*: Internal special variables
Special Variable, *remove-cache*: Internal special variables
Special Variable, *sbcl-program*: Internal special variables

Jump to:   *  
S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   P   Q   S  
Index Entry  Section

P
Package, quickref: The quickref package

Q
quickref: The quickref system
quickref: The quickref package

S
System, quickref: The quickref system

Jump to:   P   Q   S