This is the ceramic Reference Manual, version 0.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 03:30:50 2025 GMT+0.
ceramic/ceramic.asdceramic/src/error.lispceramic/src/os.lispceramic/src/file.lispceramic/src/logging.lispceramic/src/runtime.lispceramic/src/resource.lispceramic/src/setup.lispceramic/src/driver.lispceramic/src/window.lispceramic/src/crashreporter.lispceramic/src/dialog.lispceramic/src/bundler.lispceramic/src/ceramic.lispceramic/src/quit.lispThe main system appears first, followed by any subsystem dependency.
ceramicCommon Lisp web apps on the desktop
Fernando Borretti <eudoxiahp@gmail.com>
Fernando Borretti <eudoxiahp@gmail.com>
(GIT git@github.com:ceramic/ceramic.git)
MIT
# [Ceramic](http://ceramic.github.io/)
[](https://travis-ci.org/ceramic/ceramic)
[](https://coveralls.io/github/ceramic/ceramic?branch=master)
[](http://quickdocs.org/ceramic/)
Common Lisp web apps on the desktop.
## Overview
Ceramic takes an ordinary Common Lisp web app, and bundles it into an executable
you can distribute, so your users can install it and run the app and server in a
dedicated desktop window like any other app.
See the [documentation](http://ceramic.github.io/docs/introduction.html).
## License
Copyright (c) 2015 Fernando Borretti
Licensed under the MIT License.
0.2
trivial-download (system).
trivial-extract (system).
trivial-exe (system).
trivial-build (system).
trivial-compress (system).
electron-tools (system).
uiop (system).
cl-json (system).
external-program (system).
uuid (system).
copy-directory (system).
clack-handler-hunchentoot (system).
remote-js (system).
src (module).
Modules are listed depth-first from the system components tree.
ceramic/srcceramic (system).
error.lisp (file).
os.lisp (file).
file.lisp (file).
logging.lisp (file).
runtime.lisp (file).
resource.lisp (file).
setup.lisp (file).
main.js (file).
driver.lisp (file).
window.lisp (file).
crashreporter.lisp (file).
dialog.lisp (file).
bundler.lisp (file).
ceramic.lisp (file).
quit.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
ceramic/ceramic.asdceramic/src/error.lispceramic/src/os.lispceramic/src/file.lispceramic/src/logging.lispceramic/src/runtime.lispceramic/src/resource.lispceramic/src/setup.lispceramic/src/driver.lispceramic/src/window.lispceramic/src/crashreporter.lispceramic/src/dialog.lispceramic/src/bundler.lispceramic/src/ceramic.lispceramic/src/quit.lispceramic/src/error.lispsrc (module).
ceramic-error (condition).
no-such-tag (condition).
not-in-release (condition).
unsupported-operating-system (condition).
ceramic/src/os.lisperror.lisp (file).
src (module).
*architecture* (special variable).
*operating-system* (special variable).
detect-architecture (function).
detect-operating-system (function).
ceramic/src/file.lispos.lisp (file).
src (module).
*ceramic-directory* (special variable).
release-directory (function).
wipe-data (function).
ceramic/src/logging.lispfile.lisp (file).
src (module).
*logging* (special variable).
*logging-stream* (special variable).
log-message (function).
ceramic/src/runtime.lisplogging.lisp (file).
src (module).
*releasep* (special variable).
executable-pathname (function).
executable-relative-pathname (function).
ceramic/src/resource.lispruntime.lisp (file).
src (module).
copy-resources (function).
define-resources (macro).
resource (function).
resource (class).
resource-directory (function).
*resources* (special variable).
call-define-resources (function).
get-resource (function).
release-resources-directory (function).
resource-pathname (reader method).
resource-system (reader method).
resource-tag (reader method).
ceramic/src/setup.lispresource.lisp (file).
src (module).
setup (function).
*electron-version* (special variable).
+main-javascript+ (special variable).
+ws-module+ (special variable).
clean-release (function).
copy-ws-module (function).
insert-javascript (function).
insert-package-definition (function).
prepare-release (function).
ceramic/src/driver.lispmain.js (file).
src (module).
address (generic function).
driver-context (reader method).
(setf driver-context) (writer method).
driver-js-cond (reader method).
(setf driver-js-cond) (writer method).
driver-js-lock (reader method).
(setf driver-js-lock) (writer method).
driver-process (reader method).
(setf driver-process) (writer method).
driver-responses (reader method).
(setf driver-responses) (writer method).
on-message (generic function).
port (generic function).
start-electron (method).
start-remote-js (method).
stop-electron (method).
stop-remote-js (method).
wait-for-client (method).
ceramic/src/window.lispdriver.lisp (file).
src (module).
back (method).
center (method).
close (method).
close-dev-tools (method).
copy (method).
crashedp (method).
cut (method).
forward (method).
hide (method).
loadingp (method).
make-window (function).
open-dev-tools (method).
paste (method).
redo (method).
reload (method).
select-all (method).
show (method).
stop-loading (method).
title (method).
(setf title) (method).
undo (method).
unselect (method).
url (method).
(setf url) (method).
window (class).
window-id (reader method).
%reload (method).
%reload-force (method).
define-trivial-operation (macro).
js (function).
sync-js (function).
ceramic/src/crashreporter.lispwindow.lisp (file).
src (module).
start-crash-reporter (function).
ceramic/src/dialog.lispcrashreporter.lisp (file).
src (module).
show-error-box (function).
show-message-box (function).
show-open-dialog (function).
show-save-dialog (function).
+message-box-default-buttons+ (special variable).
+message-box-types+ (special variable).
file-filters (function).
show-standard-dialog (function).
ceramic/src/bundler.lispdialog.lisp (file).
src (module).
bundle (function).
archive-extension (function).
create-archive (function).
ceramic/src/ceramic.lispbundler.lisp (file).
src (module).
define-entry-point (macro).
start (function).
stop (function).
ceramic/src/quit.lispceramic.lisp (file).
src (module).
quit (function).
Packages are listed by definition order.
ceramic.errorceramic.resourceceramic-entryceramic.osceramic.crashreporterceramic.bundlerceramicceramic.logceramic.setupceramic.windowceramic.fileceramic.driverceramic.dialogceramic.runtimeceramic.errorError conditions.
common-lisp.
ceramic-error (condition).
no-such-tag (condition).
not-in-release (condition).
unsupported-operating-system (condition).
ceramic.resourceCeramic’s resource-management utilities.
common-lisp.
copy-resources (function).
define-resources (macro).
resource (function).
resource (class).
resource-directory (function).
*resources* (special variable).
call-define-resources (function).
get-resource (function).
release-resources-directory (function).
resource-pathname (generic reader).
resource-system (generic reader).
resource-tag (generic reader).
ceramic.osOperating system-related stuff.
common-lisp.
*architecture* (special variable).
*operating-system* (special variable).
detect-architecture (function).
detect-operating-system (function).
ceramic.crashreporterStart Electron’s Crash Reporter.
common-lisp.
start-crash-reporter (function).
ceramic.bundlerRelease applications.
common-lisp.
bundle (function).
archive-extension (function).
create-archive (function).
ceramicThe main interface.
common-lisp.
define-entry-point (macro).
quit (function).
start (function).
stop (function).
ceramic.logLogging.
common-lisp.
*logging* (special variable).
*logging-stream* (special variable).
log-message (function).
ceramic.setupSet up everything needed to develop with Ceramic.
common-lisp.
setup (function).
*electron-version* (special variable).
+main-javascript+ (special variable).
+ws-module+ (special variable).
clean-release (function).
copy-ws-module (function).
insert-javascript (function).
insert-package-definition (function).
prepare-release (function).
ceramic.windowThe window class and its implementation.
common-lisp.
back (generic function).
center (generic function).
close (generic function).
close-dev-tools (generic function).
copy (generic function).
crashedp (generic function).
cut (generic function).
forward (generic function).
hide (generic function).
loadingp (generic function).
make-window (function).
open-dev-tools (generic function).
paste (generic function).
redo (generic function).
reload (generic function).
select-all (generic function).
show (generic function).
stop-loading (generic function).
title (generic function).
(setf title) (generic function).
undo (generic function).
unselect (generic function).
url (generic function).
(setf url) (generic function).
window (class).
window-id (generic reader).
%reload (generic function).
%reload-force (generic function).
define-trivial-operation (macro).
js (function).
sync-js (function).
ceramic.fileCeramic’s files and directory utilities.
common-lisp.
*ceramic-directory* (special variable).
release-directory (function).
wipe-data (function).
ceramic.driverThe Ceramic driver interface.
common-lisp.
address (generic function).
driver-context (generic reader).
(setf driver-context) (generic writer).
driver-js-cond (generic reader).
(setf driver-js-cond) (generic writer).
driver-js-lock (generic reader).
(setf driver-js-lock) (generic writer).
driver-process (generic reader).
(setf driver-process) (generic writer).
driver-responses (generic reader).
(setf driver-responses) (generic writer).
on-message (generic function).
port (generic function).
start-electron (generic function).
start-remote-js (generic function).
stop-electron (generic function).
stop-remote-js (generic function).
wait-for-client (generic function).
ceramic.dialogcommon-lisp.
show-error-box (function).
show-message-box (function).
show-open-dialog (function).
show-save-dialog (function).
+message-box-default-buttons+ (special variable).
+message-box-types+ (special variable).
file-filters (function).
show-standard-dialog (function).
ceramic.runtimeTools for execution during release.
common-lisp.
*releasep* (special variable).
executable-pathname (function).
executable-relative-pathname (function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
The OS architecture. Either @c(:64) or @c(:32).
The directory where Ceramic stores its files.
The global driver object.
Whether or not to log info.
The logging stream.
The operating system. Either @c(:linux), @c(:windows) or @c(:mac).
Dynamically bound to t when in release mode.
Define the application’s entry point.
Define resource tags for a system.
Compile the application to an executable, and ship it with its resources.
Copy all resource directories to @cl:param(directory).
Return the executable’s pathname.
Return an absolute pathname relative to the executable pathname.
Create a window.
Kill the Electron process and the Lisp process.
Pathname to the local copy of the Electron release.
Return the pathname of a resource relative to the directory of a resource tag.
Return the directory associated to a resource tag.
Set up everything needed to start developing.
Display a dialog that shows an error message.
Show a message box dialog.
Show an Open dialog.
Show a Save dialog.
Start the Electron process.
Stop the Electron process.
Wipe all Ceramic related data.
Evaluate a string of JavaScript in the Electron process.
Start the Electron process and the remote-js server.
Stop the Electron process and the remote-js server.
Synchronously evaluate JavaScript in the Electron process, returning a string containing the result of the evaluation.
The base class of Ceramic-related conditions.
condition.
Signalled when the program references a resource tag that doesn’t exist.
Signalled when an operation that requires Ceramic to run in release mode is called in interactive mode.
The Ceramic driver.
address.
(setf driver-context).
driver-context.
(setf driver-js-cond).
driver-js-cond.
(setf driver-js-lock).
driver-js-lock.
(setf driver-process).
driver-process.
(setf driver-responses).
driver-responses.
js.
on-message.
port.
start.
start-electron.
start-remote-js.
stop.
stop-electron.
stop-remote-js.
sync-js.
wait-for-client.
The Electron process.
The remote-js object.
remote-js:buffered-context
A lock object for js sync
(bordeaux-threads:make-lock "ceramic-js-sync")
A condition variable for js sync
(bordeaux-threads:make-condition-variable)
A hash table of message IDs to evaluation results.
hash-table
(make-hash-table :test (function equal))
A resource.
The resource tag.
symbol
:tag
This slot is read-only.
The directory, relative to the system directory.
common-lisp.
pathname
:pathname
This slot is read-only.
The name of the system this resource is relative to.
keyword
:system
This slot is read-only.
A browser window.
%reload.
%reload-force.
back.
center.
close.
close-dev-tools.
copy.
crashedp.
cut.
forward.
hide.
loadingp.
open-dev-tools.
paste.
redo.
reload.
select-all.
show.
stop-loading.
(setf title).
title.
undo.
unselect.
(setf url).
url.
window-id.
The version of Electron to use.
The list of resources.
Pathname to the JavaScript file for the main process.
Use zip files on Windows and tar archives on Unix. This is necessary because tar archives preserve permissions (important for executing!), but Windows doesn’t care about that, and Windows doesn’t natively know about tar files (But most people can unzip).
Clean up default files from an Electron release.
Copy the WebSockets module.
Return the resource associated to a resource tag.
Insert the main process JavaScript into an Electron release.
Insert the package.json into an Electron release.
Prepare an Electron release.
The directory where resource directories are stored, relative to the executable pathname.
Return the address the WebSockets server is running on.
no-such-tag)) ¶tag.
Receive a message from a WebSockets client.
unsupported-operating-system)) ¶Return the port the WebSockets server is running on.
| Jump to: | %
(
A B C D E F G H I J L M O P Q R S T U W |
|---|
| Jump to: | %
(
A B C D E F G H I J L M O P Q R S T U W |
|---|
| Jump to: | %
*
+
C J O P R S T |
|---|
| Jump to: | %
*
+
C J O P R S T |
|---|
| Jump to: | B C D E F L M N O P Q R S U W |
|---|
| Jump to: | B C D E F L M N O P Q R S U W |
|---|