The cl-bloggy Reference Manual

Table of Contents

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

The cl-bloggy Reference Manual

This is the cl-bloggy Reference Manual, version 0.0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 14:32:52 2021 GMT+0.


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

1 Introduction

cl-bloggy

This library implements a simple but highly extensible plugin blogging system for Hunchentoot.

It uses its own custom handler to add routes but but you can still use hunchentoots define-easy-handler.

Getting started

To get started you need to start up hunchentoot with a new acceptor called 'bloggy- acceptor'


(defparameter *server* (make-instance 'bloggy-acceptor
                                      :blog (make-instance 'blog
                                                           :title "Main")
                                      :document-root "./"
                                      :port 4203 :name 'main))
                                      

You can see a new initarg called :blog this must be an instance of 'blog or a subclass of blog.

Next add the main blog page and the main index page


(add-blog)
(add-index 'blog-index)

This will produce two pages, one at *blog-root-directory* (default "/blog/") and *blog-index-directory* (default "/blog/index") which you can browse but you will not see much (the argument 'blog-index is provided as it is the class being instantiated, this will come in handy later when learning how to customize the blog).

initial index & blog

Next we must add a simple entry using easy-blog-entry This macro accepts 5 arguments, the first is the class of the blog-entry you want to create, the next the category, the next the title of the entry the fourth is the hunchentoot server, and the last and most important variable is a form that would be valid when passed to spinnerets 'with-html'. Here is an example:


(easy-blog-entry (blog-entry "general" "entry1" *server*)
  (:div :class "elp"
        (:h1 "A story to tell")
        (:p "once upon a time in a land far away")))

As you can see /blog/ and /blog/index have changed.

blog 1 entry

and the index:

index 1 entry

Customizing

Because this library is built from top to bottom using generic functions it is very easy to modify the behaviour of this library, I will walk you through a few examples of how to do this.

First lets take a look at how we would customize an aspect of how a blog-entry is rendered; this is done by calling these methods in this specific order:

Each of these methods can be specialized for your own subclass in order to customize the behaviour of any of these aspects.

Say for example you wished to add a custom footer for an entry, to do this you would first create a subclass of blog-entry


(defclass new-blog-entry (blog-entry)
  ())

Then you simply create a new version of html-footer for your new class, specialize html-footer and create a new entry passing new-blog-entry as the first argument to easy-blog-entry.


(defmethod html-footer ((entry new-blog-entry))
  (spinneret:with-html
    (:p "i'm a different footer!!")))

(easy-blog-entry (new-blog-entry "general" "entryboof" *server*)
  (:p "im a new entry"))

You will notice that you have to use spinneret to modify the HTML, thats because at every step in the HTML rendering spinneret:with-html is called, so you must do the same for your variant. If we compile and browse to /blog/general/entryboof we will see:

custom footer

If you wish to customize the default blog page then simply change the (make-instance ) when creating your hunchentoot server to a subclass of 'blog where you have created your own version of the methods in the HTML rendering pipeline.

Customizing the CSS

This is quite easy, the last method called in html-headers is a method called to-css this method adds inline CSS to the document to control the styling. It is quite easy to overwrite this using the same technique as above, simply create your own subclass of what you wish to modify and add your CSS like so:


(defclass new-blog-entry2 (blog-entry)
  ((css-rules
    :initform '(()))));; removing the default CSS rules

now the default version of to-css for blog-entry and blog (so subsequently blog-index as this is a subclass of blog) simply renders the contents of the slot css-rules and returns that:


(defmethod to-css ((entry blog-entry))
  (spinneret:with-html
    (:style :type "text/css"
            (apply #'lass:compile-and-write (css-rules entry)))))

Both blog, blog-entry and blog-index have default CSS which can be found in *blog-css-rules* *blog-entry-css* and *index-css-rules* respectively, these will serve as examples (see /src/generate-css.lisp) for you to follow on how to properly form the CSS; the CSS is all written using Shinmeras LASS, so you must make (css-rules ..) a list of lists. To understand which classes/id's are used when generating the HTML see /src/generate-html.lisp and browse through the spinneret forms to see what you can modify, *blog-entry-css-rules* also contains all the ids for each main part of an entry.

I will finish with one final example of how you would go about changing the default behaviour of the blog; by default entries are listed from newest to oldest, I will quickly show you how to list them from oldest to newest.

The functionality for controlling the listing of entries is within the method html-body the default is:


(defmethod html-body ((blog blog))
  (spinneret:with-html
    (:div :id "all-entries"
          (dolist (blog (sort (entries blog) #'> :key #'creation-date-universal))
            (:div :class "entry"
                  :id (id blog)
                  (html-body blog))))))

So we want to reverse the order of listing, this is very simple as you can see all we are doing is creating a div and within it listing all of the entries contained within the object 'blog', but we are sorting this list by the key #'creation-date-universal, so to modify this functionality we will create the following method on our own subclass of blog called new-blog here:


(defmethod html-body ((blog new-blog))
  (spinneret:with-html
    (:div :id "all-entries"
          (dolist (blog (sort (entries blog) #'< :key #'creation-date-universal))
            (:div :class "entry"
                  :id (id blog)
                  (html-body blog))))))

Now with the new blog you will have to modify the 'blog within your *server* instance to a new instance using new-blog instead of the default blog.

I hope this helps.

Extra

Take a look at /src/test-server.lisp for a few examples.

Take a look at /src/generate-html.lisp to see how the default behaviour is implemented.

To modify the index page, subclass blog-index and call (make-index ..) with your version of blog-index.

License

MIT


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 cl-bloggy

Author

K1D77A

License

MIT

Description

A simple extendable blogging system to use with Hunchentoot

Version

0.0.1

Dependencies
Source

cl-bloggy.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 cl-bloggy.asd

Location

/home/quickref/quicklisp/dists/quicklisp/software/cl-bloggy-20201220-git/cl-bloggy.asd

Systems

cl-bloggy (system)


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

3.1.2 cl-bloggy/package.lisp

Parent

cl-bloggy (system)

Location

package.lisp

Packages

cl-bloggy


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

3.1.3 cl-bloggy/classes&conditions.lisp

Dependency

package.lisp (file)

Parent

cl-bloggy (system)

Location

classes&conditions.lisp

Exported Definitions
Internal Definitions

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

3.1.4 cl-bloggy/hunchentoot-handler.lisp

Dependency

classes&conditions.lisp (file)

Parent

cl-bloggy (system)

Location

hunchentoot-handler.lisp

Exported Definitions
Internal Definitions

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

3.1.5 cl-bloggy/generate-css.lisp

Dependency

hunchentoot-handler.lisp (file)

Parent

cl-bloggy (system)

Location

generate-css.lisp

Exported Definitions

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

3.1.6 cl-bloggy/generate-html.lisp

Dependency

generate-css.lisp (file)

Parent

cl-bloggy (system)

Location

generate-html.lisp

Exported Definitions
Internal Definitions

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

3.1.7 cl-bloggy/cl-bloggy.lisp

Dependency

generate-html.lisp (file)

Parent

cl-bloggy (system)

Location

cl-bloggy.lisp

Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 cl-bloggy

Source

package.lisp (file)

Nickname

bloggy

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


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

5.1.1 Special variables

Special Variable: *blog-css-rules*

The default LASS used to render the main blog page

Package

cl-bloggy

Source

generate-css.lisp (file)

Special Variable: *blog-entry-css-rules*

The default LASS used by each the class ’blog-entry’

Package

cl-bloggy

Source

generate-css.lisp (file)

Special Variable: *index-css-rules*

The default LASS used to render the main blog index.

Package

cl-bloggy

Source

generate-css.lisp (file)


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

5.1.2 Generic functions

Generic Function: blog OBJECT
Generic Function: (setf blog) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: blog (BLOGGY-ACCEPTOR bloggy-acceptor)

automatically generated reader method

Source

hunchentoot-handler.lisp (file)

Method: (setf blog) NEW-VALUE (BLOGGY-ACCEPTOR bloggy-acceptor)

automatically generated writer method

Source

hunchentoot-handler.lisp (file)

Method: blog (BLOG-INDEX blog-index)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf blog) NEW-VALUE (BLOG-INDEX blog-index)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: category OBJECT
Generic Function: (setf category) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: category (BLOG-ENTRY blog-entry)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf category) NEW-VALUE (BLOG-ENTRY blog-entry)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: content OBJECT
Generic Function: (setf content) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: content (BLOG-ENTRY blog-entry)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf content) NEW-VALUE (BLOG-ENTRY blog-entry)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: creation-date OBJECT
Package

cl-bloggy

Methods
Method: creation-date (BLOG-ENTRY blog-entry)

automatically generated reader method

Source

classes&conditions.lisp (file)

Generic Function: creation-date-universal OBJECT
Generic Function: (setf creation-date-universal) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: creation-date-universal (BLOG-ENTRY blog-entry)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf creation-date-universal) NEW-VALUE (BLOG-ENTRY blog-entry)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: css-rules OBJECT
Generic Function: (setf css-rules) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: css-rules (BLOG-INDEX blog-index)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf css-rules) NEW-VALUE (BLOG-INDEX blog-index)

automatically generated writer method

Source

classes&conditions.lisp (file)

Method: css-rules (BLOG blog)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf css-rules) NEW-VALUE (BLOG blog)

automatically generated writer method

Source

classes&conditions.lisp (file)

Method: css-rules (BLOG-ENTRY blog-entry)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf css-rules) NEW-VALUE (BLOG-ENTRY blog-entry)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: entries OBJECT
Generic Function: (setf entries) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: entries (BLOG blog)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf entries) NEW-VALUE (BLOG blog)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: global-css I

Appends a few CSS links to the render pipeline

Package

cl-bloggy

Source

generate-html.lisp (file)

Methods
Method: global-css ITEM
Generic Function: global-fonts I

Appends a font to the render pipeline

Package

cl-bloggy

Source

generate-html.lisp (file)

Methods
Method: global-fonts ITEM
Generic Function: html-body ENTRY
Package

cl-bloggy

Methods
Method: html-body (BLOG blog)
Source

generate-html.lisp (file)

Method: html-body (INDEX blog-index)
Source

generate-html.lisp (file)

Method: html-body (ENTRY blog-entry)
Source

generate-html.lisp (file)

Generic Function: html-headers ENTRY
Package

cl-bloggy

Methods
Method: html-headers (BLOG blog)
Source

generate-html.lisp (file)

Method: html-headers (ENTRY blog-entry)
Source

generate-html.lisp (file)

Generic Function: id OBJECT
Package

cl-bloggy

Methods
Method: id (BLOG-ENTRY blog-entry)

An amalgamation of title and category

Source

classes&conditions.lisp (file)

Generic Function: specific-css E

Adds specific CSS to the render pipeline. Create your own version of this method for your own subclass to append stylesheets

Package

cl-bloggy

Source

generate-html.lisp (file)

Methods
Method: specific-css ITEM
Method: specific-css (BLOG blog)
Method: specific-css (ENTRY blog-entry)
Generic Function: specific-footer E

Adds specific footer to the render pipeline. Create your own version of this method for your own subclass to modify the footer

Package

cl-bloggy

Source

generate-html.lisp (file)

Methods
Method: specific-footer (BLOG blog)
Method: specific-footer (ENTRY blog-entry)
Generic Function: title OBJECT
Generic Function: (setf title) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: title (BLOG blog)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf title) NEW-VALUE (BLOG blog)

automatically generated writer method

Source

classes&conditions.lisp (file)

Method: title (BLOG-ENTRY blog-entry)

automatically generated reader method

Source

classes&conditions.lisp (file)

Method: (setf title) NEW-VALUE (BLOG-ENTRY blog-entry)

automatically generated writer method

Source

classes&conditions.lisp (file)

Generic Function: to-css E

to-css simply appends a the CSS as an inline style tag. See (css-rules e) for the list of CSS, the CSS is infact a list of LASS rules

Package

cl-bloggy

Source

generate-css.lisp (file)

Methods
Method: to-css (BLOG blog)
Method: to-css (ENTRY blog-entry)
Generic Function: to-html E

The entry function used to create HTML pages. This method calls ’html-headers’ html-body’ and ’html-footer’ in that order in order to render a page. You can create your own version of this method to modify the functionality for your own subclasses the same goes for the three methods it calls.

Package

cl-bloggy

Source

generate-html.lisp (file)

Methods
Method: to-html (BLOG blog)
Method: to-html (ENTRY blog-entry)

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

5.1.3 Classes

Class: blog ()
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

blog-index (class)

Direct methods
Direct slots
Slot: entries
Type

list

Readers

entries (generic function)

Writers

(setf entries) (generic function)

Slot: css-rules
Initform

cl-bloggy:*blog-css-rules*

Readers

css-rules (generic function)

Writers

(setf css-rules) (generic function)

Slot: title
Type

string

Initargs

:title

Initform

"main page"

Readers

title (generic function)

Writers

(setf title) (generic function)

Class: blog-entry ()
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: category
Type

string

Initargs

:category

Readers

category (generic function)

Writers

(setf category) (generic function)

Slot: creation-date
Initform

(cl-bloggy::minute-day-month-year-now nil)

Readers

creation-date (generic function)

Slot: creation-date-universal
Initform

(get-universal-time)

Readers

creation-date-universal (generic function)

Writers

(setf creation-date-universal) (generic function)

Slot: css-rules
Initform

cl-bloggy:*blog-entry-css-rules*

Readers

css-rules (generic function)

Writers

(setf css-rules) (generic function)

Slot: title
Type

string

Initargs

:title

Readers

title (generic function)

Writers

(setf title) (generic function)

Slot: id

An amalgamation of title and category

Type

string

Initargs

:id

Readers

id (generic function)

Slot: content
Type

function

Initargs

:content

Readers

content (generic function)

Writers

(setf content) (generic function)

Class: blog-index ()
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Direct superclasses

blog (class)

Direct methods
Direct slots
Slot: blog
Type

cl-bloggy:blog

Initargs

:blog

Readers

blog (generic function)

Writers

(setf blog) (generic function)

Slot: css-rules
Initform

cl-bloggy:*index-css-rules*

Readers

css-rules (generic function)

Writers

(setf css-rules) (generic function)

Class: bloggy-acceptor ()
Package

cl-bloggy

Source

hunchentoot-handler.lisp (file)

Direct superclasses

easy-acceptor (class)

Direct methods
Direct slots
Slot: routes
Readers

routes (generic function)

Writers

(setf routes) (generic function)

Slot: blog
Initargs

:blog

Readers

blog (generic function)

Writers

(setf blog) (generic function)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *blog-index-directory*
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Special Variable: *blog-root-directory*
Package

cl-bloggy

Source

classes&conditions.lisp (file)


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

5.2.2 Macros

Macro: easy-blog-entry (BLOG-CLASS CATEGORY TITLE ACCEPTOR &optional LET-BINDINGS-TO-OVERRIDE-GLOBAL-VARS) &body BODY

Takes BLOG-CLASS (a subclass of ’blog-entry’ or an instance of blog-entry)
and creates a new page at the url ’*blog-root-directory*/CATEGORY/TITLE’.
You can add this to any arbitrary running instance of hunchentoot as long as it was initiated using a subclass of the acceptor bloggy-acceptor. You can use the variable ’let-bindings-to-override-global-vars’ to modify any global variable used in the render pipeline however I recommend you simply create subclass and specialize methods on that subclass instead. BODY must be valid spinneret code, it is an implicit (spinneret:with-html ,@body ) so you can enter any arbitrary HTML using spinneret, use wisely.

Package

cl-bloggy

Source

cl-bloggy.lisp (file)


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

5.2.3 Functions

Function: add-blog &optional PATH

Initializes the main blog page at PATH

Package

cl-bloggy

Source

cl-bloggy.lisp (file)

Function: add-index INDEX-CLASS &optional PATH

Initializes the main blog index at PATH

Package

cl-bloggy

Source

cl-bloggy.lisp (file)

Function: clean-string STRING

downcases, replaces spaces with hyphens and removes white space

Package

cl-bloggy

Source

classes&conditions.lisp (file)

Function: make-blog MAIN-TITLE
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Function: make-id CATEGORY TITLE
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Function: make-route METHOD URL HANDLER
Package

cl-bloggy

Source

hunchentoot-handler.lisp (file)

Function: minute-day-month-year-now STREAM
Package

cl-bloggy

Source

classes&conditions.lisp (file)

Function: routep X
Package

cl-bloggy

Source

hunchentoot-handler.lisp (file)


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

5.2.4 Generic functions

Generic Function: add-new-blog BLOG ENTRY
Package

cl-bloggy

Methods
Method: add-new-blog (BLOG blog) (ENTRY blog-entry)
Source

classes&conditions.lisp (file)

Generic Function: add-route ROUTE ACCEPTOR
Package

cl-bloggy

Methods
Method: add-route ROUTE (ACCEPTOR bloggy-acceptor)

Adds a route to your acceptor, the acceptor is what you used to start hunchentoot

Source

hunchentoot-handler.lisp (file)

Generic Function: global-footer ITEM
Package

cl-bloggy

Methods
Method: global-footer ITEM
Source

generate-html.lisp (file)

Generic Function: html-footer ENTRY
Package

cl-bloggy

Methods
Method: html-footer (BLOG blog)
Source

generate-html.lisp (file)

Method: html-footer (ENTRY blog-entry)
Source

generate-html.lisp (file)

Generic Function: new-blog-entry BLOG-ENTRIES BLOG-CLASS TITLE CATEGORY CONTENT
Package

cl-bloggy

Methods
Method: new-blog-entry (BLOG-ENTRIES blog) BLOG-CLASS TITLE CATEGORY CONTENT
Source

classes&conditions.lisp (file)

Generic Function: normalize-category-and-title E

This method produces a URL used to refer to a blog entry

Package

cl-bloggy

Source

cl-bloggy.lisp (file)

Methods
Method: normalize-category-and-title (ENTRY blog-entry)
Generic Function: remove-route ROUTE ACCEPTOR
Package

cl-bloggy

Methods
Method: remove-route ROUTE (ACCEPTOR bloggy-acceptor)
Source

hunchentoot-handler.lisp (file)

Generic Function: routes OBJECT
Generic Function: (setf routes) NEW-VALUE OBJECT
Package

cl-bloggy

Methods
Method: routes (BLOGGY-ACCEPTOR bloggy-acceptor)

automatically generated reader method

Source

hunchentoot-handler.lisp (file)

Method: (setf routes) NEW-VALUE (BLOGGY-ACCEPTOR bloggy-acceptor)

automatically generated writer method

Source

hunchentoot-handler.lisp (file)


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

5.2.5 Types

Type: route ()
Package

cl-bloggy

Source

hunchentoot-handler.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-bloggy.asd: The cl-bloggy․asd file
cl-bloggy/cl-bloggy.lisp: The cl-bloggy/cl-bloggy․lisp file
cl-bloggy/classes&conditions.lisp: The cl-bloggy/classes⅋conditions․lisp file
cl-bloggy/generate-css.lisp: The cl-bloggy/generate-css․lisp file
cl-bloggy/generate-html.lisp: The cl-bloggy/generate-html․lisp file
cl-bloggy/hunchentoot-handler.lisp: The cl-bloggy/hunchentoot-handler․lisp file
cl-bloggy/package.lisp: The cl-bloggy/package․lisp file

F
File, Lisp, cl-bloggy.asd: The cl-bloggy․asd file
File, Lisp, cl-bloggy/cl-bloggy.lisp: The cl-bloggy/cl-bloggy․lisp file
File, Lisp, cl-bloggy/classes&conditions.lisp: The cl-bloggy/classes⅋conditions․lisp file
File, Lisp, cl-bloggy/generate-css.lisp: The cl-bloggy/generate-css․lisp file
File, Lisp, cl-bloggy/generate-html.lisp: The cl-bloggy/generate-html․lisp file
File, Lisp, cl-bloggy/hunchentoot-handler.lisp: The cl-bloggy/hunchentoot-handler․lisp file
File, Lisp, cl-bloggy/package.lisp: The cl-bloggy/package․lisp file

L
Lisp File, cl-bloggy.asd: The cl-bloggy․asd file
Lisp File, cl-bloggy/cl-bloggy.lisp: The cl-bloggy/cl-bloggy․lisp file
Lisp File, cl-bloggy/classes&conditions.lisp: The cl-bloggy/classes⅋conditions․lisp file
Lisp File, cl-bloggy/generate-css.lisp: The cl-bloggy/generate-css․lisp file
Lisp File, cl-bloggy/generate-html.lisp: The cl-bloggy/generate-html․lisp file
Lisp File, cl-bloggy/hunchentoot-handler.lisp: The cl-bloggy/hunchentoot-handler․lisp file
Lisp File, cl-bloggy/package.lisp: The cl-bloggy/package․lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   (  
A   B   C   E   F   G   H   I   M   N   R   S   T  
Index Entry  Section

(
(setf blog): Exported generic functions
(setf blog): Exported generic functions
(setf blog): Exported generic functions
(setf category): Exported generic functions
(setf category): Exported generic functions
(setf content): Exported generic functions
(setf content): Exported generic functions
(setf creation-date-universal): Exported generic functions
(setf creation-date-universal): Exported generic functions
(setf css-rules): Exported generic functions
(setf css-rules): Exported generic functions
(setf css-rules): Exported generic functions
(setf css-rules): Exported generic functions
(setf entries): Exported generic functions
(setf entries): Exported generic functions
(setf routes): Internal generic functions
(setf routes): Internal generic functions
(setf title): Exported generic functions
(setf title): Exported generic functions
(setf title): Exported generic functions

A
add-blog: Internal functions
add-index: Internal functions
add-new-blog: Internal generic functions
add-new-blog: Internal generic functions
add-route: Internal generic functions
add-route: Internal generic functions

B
blog: Exported generic functions
blog: Exported generic functions
blog: Exported generic functions

C
category: Exported generic functions
category: Exported generic functions
clean-string: Internal functions
content: Exported generic functions
content: Exported generic functions
creation-date: Exported generic functions
creation-date: Exported generic functions
creation-date-universal: Exported generic functions
creation-date-universal: Exported generic functions
css-rules: Exported generic functions
css-rules: Exported generic functions
css-rules: Exported generic functions
css-rules: Exported generic functions

E
easy-blog-entry: Internal macros
entries: Exported generic functions
entries: Exported generic functions

F
Function, add-blog: Internal functions
Function, add-index: Internal functions
Function, clean-string: Internal functions
Function, make-blog: Internal functions
Function, make-id: Internal functions
Function, make-route: Internal functions
Function, minute-day-month-year-now: Internal functions
Function, routep: Internal functions

G
Generic Function, (setf blog): Exported generic functions
Generic Function, (setf category): Exported generic functions
Generic Function, (setf content): Exported generic functions
Generic Function, (setf creation-date-universal): Exported generic functions
Generic Function, (setf css-rules): Exported generic functions
Generic Function, (setf entries): Exported generic functions
Generic Function, (setf routes): Internal generic functions
Generic Function, (setf title): Exported generic functions
Generic Function, add-new-blog: Internal generic functions
Generic Function, add-route: Internal generic functions
Generic Function, blog: Exported generic functions
Generic Function, category: Exported generic functions
Generic Function, content: Exported generic functions
Generic Function, creation-date: Exported generic functions
Generic Function, creation-date-universal: Exported generic functions
Generic Function, css-rules: Exported generic functions
Generic Function, entries: Exported generic functions
Generic Function, global-css: Exported generic functions
Generic Function, global-fonts: Exported generic functions
Generic Function, global-footer: Internal generic functions
Generic Function, html-body: Exported generic functions
Generic Function, html-footer: Internal generic functions
Generic Function, html-headers: Exported generic functions
Generic Function, id: Exported generic functions
Generic Function, new-blog-entry: Internal generic functions
Generic Function, normalize-category-and-title: Internal generic functions
Generic Function, remove-route: Internal generic functions
Generic Function, routes: Internal generic functions
Generic Function, specific-css: Exported generic functions
Generic Function, specific-footer: Exported generic functions
Generic Function, title: Exported generic functions
Generic Function, to-css: Exported generic functions
Generic Function, to-html: Exported generic functions
global-css: Exported generic functions
global-css: Exported generic functions
global-fonts: Exported generic functions
global-fonts: Exported generic functions
global-footer: Internal generic functions
global-footer: Internal generic functions

H
html-body: Exported generic functions
html-body: Exported generic functions
html-body: Exported generic functions
html-body: Exported generic functions
html-footer: Internal generic functions
html-footer: Internal generic functions
html-footer: Internal generic functions
html-headers: Exported generic functions
html-headers: Exported generic functions
html-headers: Exported generic functions

I
id: Exported generic functions
id: Exported generic functions

M
Macro, easy-blog-entry: Internal macros
make-blog: Internal functions
make-id: Internal functions
make-route: Internal functions
Method, (setf blog): Exported generic functions
Method, (setf blog): Exported generic functions
Method, (setf category): Exported generic functions
Method, (setf content): Exported generic functions
Method, (setf creation-date-universal): Exported generic functions
Method, (setf css-rules): Exported generic functions
Method, (setf css-rules): Exported generic functions
Method, (setf css-rules): Exported generic functions
Method, (setf entries): Exported generic functions
Method, (setf routes): Internal generic functions
Method, (setf title): Exported generic functions
Method, (setf title): Exported generic functions
Method, add-new-blog: Internal generic functions
Method, add-route: Internal generic functions
Method, blog: Exported generic functions
Method, blog: Exported generic functions
Method, category: Exported generic functions
Method, content: Exported generic functions
Method, creation-date: Exported generic functions
Method, creation-date-universal: Exported generic functions
Method, css-rules: Exported generic functions
Method, css-rules: Exported generic functions
Method, css-rules: Exported generic functions
Method, entries: Exported generic functions
Method, global-css: Exported generic functions
Method, global-fonts: Exported generic functions
Method, global-footer: Internal generic functions
Method, html-body: Exported generic functions
Method, html-body: Exported generic functions
Method, html-body: Exported generic functions
Method, html-footer: Internal generic functions
Method, html-footer: Internal generic functions
Method, html-headers: Exported generic functions
Method, html-headers: Exported generic functions
Method, id: Exported generic functions
Method, new-blog-entry: Internal generic functions
Method, normalize-category-and-title: Internal generic functions
Method, remove-route: Internal generic functions
Method, routes: Internal generic functions
Method, specific-css: Exported generic functions
Method, specific-css: Exported generic functions
Method, specific-css: Exported generic functions
Method, specific-footer: Exported generic functions
Method, specific-footer: Exported generic functions
Method, title: Exported generic functions
Method, title: Exported generic functions
Method, to-css: Exported generic functions
Method, to-css: Exported generic functions
Method, to-html: Exported generic functions
Method, to-html: Exported generic functions
minute-day-month-year-now: Internal functions

N
new-blog-entry: Internal generic functions
new-blog-entry: Internal generic functions
normalize-category-and-title: Internal generic functions
normalize-category-and-title: Internal generic functions

R
remove-route: Internal generic functions
remove-route: Internal generic functions
routep: Internal functions
routes: Internal generic functions
routes: Internal generic functions

S
specific-css: Exported generic functions
specific-css: Exported generic functions
specific-css: Exported generic functions
specific-css: Exported generic functions
specific-footer: Exported generic functions
specific-footer: Exported generic functions
specific-footer: Exported generic functions

T
title: Exported generic functions
title: Exported generic functions
title: Exported generic functions
to-css: Exported generic functions
to-css: Exported generic functions
to-css: Exported generic functions
to-html: Exported generic functions
to-html: Exported generic functions
to-html: Exported generic functions

Jump to:   (  
A   B   C   E   F   G   H   I   M   N   R   S   T  

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

A.3 Variables

Jump to:   *  
B   C   E   I   R   S   T  
Index Entry  Section

*
*blog-css-rules*: Exported special variables
*blog-entry-css-rules*: Exported special variables
*blog-index-directory*: Internal special variables
*blog-root-directory*: Internal special variables
*index-css-rules*: Exported special variables

B
blog: Exported classes
blog: Exported classes

C
category: Exported classes
content: Exported classes
creation-date: Exported classes
creation-date-universal: Exported classes
css-rules: Exported classes
css-rules: Exported classes
css-rules: Exported classes

E
entries: Exported classes

I
id: Exported classes

R
routes: Exported classes

S
Slot, blog: Exported classes
Slot, blog: Exported classes
Slot, category: Exported classes
Slot, content: Exported classes
Slot, creation-date: Exported classes
Slot, creation-date-universal: Exported classes
Slot, css-rules: Exported classes
Slot, css-rules: Exported classes
Slot, css-rules: Exported classes
Slot, entries: Exported classes
Slot, id: Exported classes
Slot, routes: Exported classes
Slot, title: Exported classes
Slot, title: Exported classes
Special Variable, *blog-css-rules*: Exported special variables
Special Variable, *blog-entry-css-rules*: Exported special variables
Special Variable, *blog-index-directory*: Internal special variables
Special Variable, *blog-root-directory*: Internal special variables
Special Variable, *index-css-rules*: Exported special variables

T
title: Exported classes
title: Exported classes

Jump to:   *  
B   C   E   I   R   S   T  

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

A.4 Data types

Jump to:   B   C   P   R   S   T  
Index Entry  Section

B
blog: Exported classes
blog-entry: Exported classes
blog-index: Exported classes
bloggy-acceptor: Exported classes

C
cl-bloggy: The cl-bloggy system
cl-bloggy: The cl-bloggy package
Class, blog: Exported classes
Class, blog-entry: Exported classes
Class, blog-index: Exported classes
Class, bloggy-acceptor: Exported classes

P
Package, cl-bloggy: The cl-bloggy package

R
route: Internal types

S
System, cl-bloggy: The cl-bloggy system

T
Type, route: Internal types

Jump to:   B   C   P   R   S   T