Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. A First Example

    2. The Main Features of Mason

    3. Alternatives to Mason

    4. Philosophy

    5. Getting Started with Mason

  2. Chapter 2 Components

    1. Mason from 10,000 Feet

    2. Core Concepts

    3. Basic Component Syntax

    4. Component Arguments

    5. Component Return Values

    6. Special Globals

    7. Sample Component

  3. Chapter 3 Special Components: Dhandlers and Autohandlers

    1. Dhandlers

    2. Autohandlers

    3. Using Autohandlers and Dhandlers Together

  4. Chapter 4 APIs

    1. Request Class and Object API

    2. Component Object API

    3. Buffers

  5. Chapter 5 Advanced Features

    1. Subcomponents

    2. Creating Components on the Fly

    3. Sharing Data Among Component Sections

    4. Methods and Attributes

    5. Calling Components with Content Blocks

    6. Advanced Inheritance

    7. Subrequests

  6. Chapter 6 The Lexer, Compiler, Resolver, and Interpreter Objects

    1. Passing Parameters to Mason Classes

    2. The Lexer

    3. The Compiler

    4. The Resolver

    5. The Interpreter

  7. Chapter 7 Using Mason with mod_perl

    1. Configuring Mason

    2. Document Root Versus the Component Root

    3. Not OK

    4. $r

    5. ApacheHandler Parameters

    6. To Autoflush or Not to Autoflush

    7. Generating Something Besides HTML

    8. Apache::Status and Mason

  8. Chapter 8 Building a Mason Site

    1. Functionality

    2. Directory Layout

    3. File Extensions

    4. Apache Configuration

    5. The Components

    6. Components with Access Controls

    7. All Done

    8. Further Directions

  9. Chapter 9 Mason and CGI

    1. CGI-Appropriate Situations

    2. CGI-Inappropriate Situations

    3. Creating a CGI-Based Site in Mason

    4. Using Mason Templates Inside Regular CGI Scripts

    5. Differences Between Mason Under CGI and mod_perl

  10. Chapter 10 Scalable Design

    1. Modules Versus Components

    2. Components as Independent Units

    3. Component Layout

    4. File Naming and Directory Layout

    5. Random Advice

  11. Chapter 11 Recipes

    1. Sessions

    2. Making Use of Autoflush

    3. User Authentication and Authorization

    4. Co-Branding Color Schemes

    5. Developer Environments

    6. Using Mason Outside of Dynamic Web Sites

  12. Chapter 12 Custom Mason Subclasses

    1. Class::Container as a Superclass

    2. Syntax: Your Very Own Lexer

    3. Output: Compiling to a Different Output

    4. Storage: Replacing the Resolver

    5. Request: A Request Object with a Built-in Session

    6. Argument Munging: ApacheHandler

    7. More Reader Exercises

  1. Appendix The Mason API

    1. Interpreter

    2. Request

    3. Component

    4. Resolver

    5. ApacheHandler

    6. CGIHandler

    7. Compiler

    8. Lexer

  2. Appendix Object Constructor Parameters

    1. HTML::Mason::Interp

    2. HTML::Mason::Request

    3. HTML::Mason::Resolver::File

    4. HTML::Mason::ApacheHandler

    5. HTML::Mason::Compiler

    6. HTML::Mason::Component

    7. HTML::Mason::Buffer

    8. HTML::Mason::CGIHandler

    9. HTML::Mason::Lexer

  3. Appendix Text Editors That Understand Mason

    1. Emacs

    2. Vim

  4. Appendix Content Management with Bricolage

    1. Installing Bricolage

    2. Elements: the Building Blocks of Content

    3. Content Editing

    4. Templates

    5. Where to Learn More

  5. Glossary

  6. Colophon