The mystic Reference Manual

Table of Contents

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

The mystic Reference Manual

This is the mystic Reference Manual, version 0.1, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 09:06:51 2018 GMT+0.


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

1 Introduction

Mystic

Build Status

A modular project skeleton generator.

Overview

Some features:

Usage

(mystic:render (make-instance 'mystic.template.library:library-template)
               (list :name "your-project"
                     :author "You"
                     :email "you@gmail.com"
                     :license "MIT"
                     :description "A one-line description of your project."
                     :dependencies "clack, postmodern")
               #p"/home/you/code/your-project/")

I'll get around to writing an actual interface at some point.

License

Copyright (c) 2016 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.


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 mystic

Maintainer

Fernando Borretti <eudoxiahp@gmail.com>

Author

Fernando Borretti <eudoxiahp@gmail.com>

Home Page
Source Control

(:git "")

Bug Tracker
License

MIT

Description

A project skeleton generator.

Long Description

# Mystic

[![Build Status](https://travis-ci.org/roswell/mystic.svg?branch=master)](https://travis-ci.org/roswell/mystic)

A modular project skeleton generator.

# Overview

Some features:

* **Declarative:** Options are specified in a declarative interface, so you have
have multiple front-ends (command line, web, etc.) to the project generator.

* **Modular:** Most of the functionality common to different templates
(e.g. Travis support, the ‘.gitignore‘ file) is implemented as mixins.

# Usage

“‘lisp
(mystic:render (make-instance ’mystic.template.library:library-template)
(list :name "your-project"
:author "You"
:email "you@gmail.com"
:license "MIT"
:description "A one-line description of your project."
:dependencies "clack, postmodern")
#p"/home/you/code/your-project/")
“‘

I’ll get around to writing an actual interface at some point.

# License

Copyright (c) 2016 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.

Version

0.1

Dependencies
Source

mystic.asd (file)

Component

src (module)


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

3 Modules

Modules are listed depth-first from the system components tree.


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

3.1 mystic/src

Parent

mystic (system)

Location

src/

Components

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

4 Files

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


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

4.1 Lisp


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

4.1.1 mystic.asd

Location

mystic.asd

Systems

mystic (system)


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

4.1.2 mystic/src/util.lisp

Parent

src (module)

Location

src/util.lisp

Packages

mystic.util

Exported Definitions

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

4.1.3 mystic/src/mystic.lisp

Dependency

util.lisp (file)

Parent

src (module)

Location

src/mystic.lisp

Packages

mystic

Exported Definitions
Internal Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 mystic.util

Utilities for Mystic.

Source

util.lisp (file)

Use List

common-lisp

Exported Definitions

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

5.2 mystic

Source

mystic.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

6 Definitions

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


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

6.1 Exported definitions


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

6.1.1 Functions

Function: list-templates ()

Return a list of project templates.

Package

mystic

Source

mystic.lisp (file)

Function: parse-systems-list SYSTEMS-LIST
Package

mystic.util

Source

util.lisp (file)

Function: read-template-file PATHNAME

Read a pathname relative to the templates/ directory into a string.

Package

mystic.util

Source

util.lisp (file)

Function: register-template TEMPLATE

Register a template.

Package

mystic

Source

mystic.lisp (file)

Function: render TEMPLATE OPTIONS DIRECTORY

Render a @cl:param(template) to a @cl:param(directory). The @cl:param(options) are a plist of option names to their supplied values.

This is the user-level entrypoint, and performs option validation and anything that needs to be done before handing over the task of rendering to the actual @c(render-template) method.

Package

mystic

Source

mystic.lisp (file)

Function: render-string TEMPLATE-STRING DATA

Render a Mustache template string to a string.

Package

mystic.util

Source

util.lisp (file)

Function: strip-whitespace STRING
Package

mystic.util

Source

util.lisp (file)

Function: write-file STRING PATHNAME

Write a string to a file (absolute path), creating it if necessary, and creating its parent directories as well.

Package

mystic.util

Source

util.lisp (file)


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

6.1.2 Generic functions

Generic Function: option-default OBJECT
Package

mystic

Methods
Method: option-default (OPTION option)

The option’s default value.

Source

mystic.lisp (file)

Generic Function: option-docstring OBJECT
Package

mystic

Methods
Method: option-docstring (OPTION option)

The option’s documentation string.

Source

mystic.lisp (file)

Generic Function: option-name OBJECT
Package

mystic

Methods
Method: option-name (CONDITION missing-required-option)
Source

mystic.lisp (file)

Method: option-name (OPTION option)

The name of the option, a keyword, e.g. @c(:project-name).

Source

mystic.lisp (file)

Generic Function: option-required-p OBJECT
Package

mystic

Methods
Method: option-required-p (OPTION option)

Whether the option is required. False by default.

Source

mystic.lisp (file)

Generic Function: option-title OBJECT
Package

mystic

Methods
Method: option-title (OPTION option)

The human-readable option name, e.g. @c("Project Name").

Source

mystic.lisp (file)

Generic Function: render-template TEMPLATE OPTIONS DIRECTORY

Render a @cl:param(template) to a @cl:param(directory). The @cl:param(options) are a plist of option names to their supplied values.

Package

mystic

Source

mystic.lisp (file)

Method Combination

progn (short method combination)

Options: :most-specific-first

Generic Function: template-docstring OBJECT
Package

mystic

Methods
Method: template-docstring (TEMPLATE template)

The template’s documentation string.

Source

mystic.lisp (file)

Generic Function: template-name OBJECT
Package

mystic

Methods
Method: template-name (TEMPLATE template)

The template’s human-readable name.

Source

mystic.lisp (file)

Generic Function: template-options OBJECT
Package

mystic

Methods
Method: template-options (TEMPLATE template)

A list of template options.

Source

mystic.lisp (file)

Generic Function: validate-options TEMPLATE OPTIONS
Package

mystic

Methods
Method: validate-options (TEMPLATE template) (OPTIONS list)

Take a plist of options, and validate it against the options in the template.

Source

mystic.lisp (file)


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

6.1.3 Conditions

Condition: missing-required-option ()

Signalled when a required option is not supplied.

Package

mystic

Source

mystic.lisp (file)

Direct superclasses

simple-error (condition)

Direct methods

option-name (method)

Direct slots
Slot: option-name

The name of the required option.

Initargs

:option-name

Readers

option-name (generic function)


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

6.1.4 Classes

Class: boolean-option ()

A yes or no option.

Package

mystic

Source

mystic.lisp (file)

Direct superclasses

option (class)

Class: multiple-choice-option ()

An option that gives the user a choice from a list.

Package

mystic

Source

mystic.lisp (file)

Direct superclasses

option (class)

Direct methods

option-choices (method)

Direct slots
Slot: choices

A list of strings.

Type

list

Initargs

:choices

Readers

option-choices (generic function)

Class: option ()

An option to a template.

Package

mystic

Source

mystic.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: name

The name of the option, a keyword, e.g. @c(:project-name).

Type

keyword

Initargs

:name

Readers

option-name (generic function)

Slot: title

The human-readable option name, e.g. @c("Project Name").

Type

string

Initargs

:title

Readers

option-title (generic function)

Slot: docstring

The option’s documentation string.

Type

string

Initargs

:docstring

Readers

option-docstring (generic function)

Slot: requiredp

Whether the option is required. False by default.

Type

boolean

Initargs

:requiredp

Readers

option-required-p (generic function)

Slot: processor

A function used to process the value given to the option.

Type

function

Initargs

:processor

Initform

(function identity)

Readers

option-processor (generic function)

Slot: default

The option’s default value.

Initargs

:default

Readers

option-default (generic function)

Class: prompt-option ()

An option that prompts the user for a value.

Package

mystic

Source

mystic.lisp (file)

Direct superclasses

option (class)

Class: template ()

Represents a template.

Package

mystic

Source

mystic.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: name

The template’s human-readable name.

Type

string

Initargs

:name

Readers

template-name (generic function)

Slot: docstring

The template’s documentation string.

Type

string

Initargs

:docstring

Readers

template-docstring (generic function)

Slot: options

A list of template options.

Type

list

Initargs

:options

Readers

template-options (generic function)


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

6.2 Internal definitions


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

6.2.1 Special variables

Special Variable: *templates*

The list of templates.

Package

mystic

Source

mystic.lisp (file)


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

6.2.2 Generic functions

Generic Function: option-choices OBJECT
Package

mystic

Methods
Method: option-choices (MULTIPLE-CHOICE-OPTION multiple-choice-option)

A list of strings.

Source

mystic.lisp (file)

Generic Function: option-processor OBJECT
Package

mystic

Methods
Method: option-processor (OPTION option)

A function used to process the value given to the option.

Source

mystic.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, mystic.asd: The mystic<dot>asd file
File, Lisp, mystic/src/mystic.lisp: The mystic/src/mystic<dot>lisp file
File, Lisp, mystic/src/util.lisp: The mystic/src/util<dot>lisp file

L
Lisp File, mystic.asd: The mystic<dot>asd file
Lisp File, mystic/src/mystic.lisp: The mystic/src/mystic<dot>lisp file
Lisp File, mystic/src/util.lisp: The mystic/src/util<dot>lisp file

M
Module, mystic/src: The mystic/src module
mystic.asd: The mystic<dot>asd file
mystic/src: The mystic/src module
mystic/src/mystic.lisp: The mystic/src/mystic<dot>lisp file
mystic/src/util.lisp: The mystic/src/util<dot>lisp file

Jump to:   F   L   M  

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

A.2 Functions

Jump to:   F   G   L   M   O   P   R   S   T   V   W  
Index Entry  Section

F
Function, list-templates: Exported functions
Function, parse-systems-list: Exported functions
Function, read-template-file: Exported functions
Function, register-template: Exported functions
Function, render: Exported functions
Function, render-string: Exported functions
Function, strip-whitespace: Exported functions
Function, write-file: Exported functions

G
Generic Function, option-choices: Internal generic functions
Generic Function, option-default: Exported generic functions
Generic Function, option-docstring: Exported generic functions
Generic Function, option-name: Exported generic functions
Generic Function, option-processor: Internal generic functions
Generic Function, option-required-p: Exported generic functions
Generic Function, option-title: Exported generic functions
Generic Function, render-template: Exported generic functions
Generic Function, template-docstring: Exported generic functions
Generic Function, template-name: Exported generic functions
Generic Function, template-options: Exported generic functions
Generic Function, validate-options: Exported generic functions

L
list-templates: Exported functions

M
Method, option-choices: Internal generic functions
Method, option-default: Exported generic functions
Method, option-docstring: Exported generic functions
Method, option-name: Exported generic functions
Method, option-name: Exported generic functions
Method, option-processor: Internal generic functions
Method, option-required-p: Exported generic functions
Method, option-title: Exported generic functions
Method, template-docstring: Exported generic functions
Method, template-name: Exported generic functions
Method, template-options: Exported generic functions
Method, validate-options: Exported generic functions

O
option-choices: Internal generic functions
option-choices: Internal generic functions
option-default: Exported generic functions
option-default: Exported generic functions
option-docstring: Exported generic functions
option-docstring: Exported generic functions
option-name: Exported generic functions
option-name: Exported generic functions
option-name: Exported generic functions
option-processor: Internal generic functions
option-processor: Internal generic functions
option-required-p: Exported generic functions
option-required-p: Exported generic functions
option-title: Exported generic functions
option-title: Exported generic functions

P
parse-systems-list: Exported functions

R
read-template-file: Exported functions
register-template: Exported functions
render: Exported functions
render-string: Exported functions
render-template: Exported generic functions

S
strip-whitespace: Exported functions

T
template-docstring: Exported generic functions
template-docstring: Exported generic functions
template-name: Exported generic functions
template-name: Exported generic functions
template-options: Exported generic functions
template-options: Exported generic functions

V
validate-options: Exported generic functions
validate-options: Exported generic functions

W
write-file: Exported functions

Jump to:   F   G   L   M   O   P   R   S   T   V   W  

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

A.3 Variables

Jump to:   *  
C   D   N   O   P   R   S   T  
Index Entry  Section

*
*templates*: Internal special variables

C
choices: Exported classes

D
default: Exported classes
docstring: Exported classes
docstring: Exported classes

N
name: Exported classes
name: Exported classes

O
option-name: Exported conditions
options: Exported classes

P
processor: Exported classes

R
requiredp: Exported classes

S
Slot, choices: Exported classes
Slot, default: Exported classes
Slot, docstring: Exported classes
Slot, docstring: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, option-name: Exported conditions
Slot, options: Exported classes
Slot, processor: Exported classes
Slot, requiredp: Exported classes
Slot, title: Exported classes
Special Variable, *templates*: Internal special variables

T
title: Exported classes

Jump to:   *  
C   D   N   O   P   R   S   T  

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

A.4 Data types

Jump to:   B   C   M   O   P   S   T  
Index Entry  Section

B
boolean-option: Exported classes

C
Class, boolean-option: Exported classes
Class, multiple-choice-option: Exported classes
Class, option: Exported classes
Class, prompt-option: Exported classes
Class, template: Exported classes
Condition, missing-required-option: Exported conditions

M
missing-required-option: Exported conditions
multiple-choice-option: Exported classes
mystic: The mystic system
mystic: The mystic package
mystic.util: The mystic<dot>util package

O
option: Exported classes

P
Package, mystic: The mystic package
Package, mystic.util: The mystic<dot>util package
prompt-option: Exported classes

S
System, mystic: The mystic system

T
template: Exported classes

Jump to:   B   C   M   O   P   S   T