S2 Manual

Authors

Editor: Jesse Proulx
Brad Fitzpatrick
Martin Atkins

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in in the section entitled “Appendix C, GNU Free Documentation License

Abstract

An all-inclusive manual on S2 and using S2 with LiveJournal.


Table of Contents

1. Introduction
1. About S2
2. History and Motivation
3. Design Goals
2. Quick Start Guide
1. Getting to know S2
1.1. Common Terms
2. Using S2
3. Where to go from here
3. Overview
1. Terminology
2. Layer Types
2.1. Layer Capabilities
4. Language Reference
1. S2 Language Overview
2. Literals
3. Variables
3.1. Variable Types
3.2. Declaration
3.3. Access
4. Operators
4.1. Arithmetic Operators
4.2. Comparison Operators
4.3. Logical Operators
4.4. Type Conversion/Testing Operators
4.5. Other Operators
4.6. Named Unary Operators
5. Statements
5.1. Flow Control
6. Classes
7. Functions
7.1. Declaration
7.2. Calling
8. layerinfo declarations
8.1. Keys
9. Properties
9.1. Declaration
9.2. Setting
9.3. Use
10. DocStrings
5. Tech Notes
1. Behind the Scenes
1.1. How it all works, in a nutshell
2. Caveats
2.1. Untrusted layers printing incomplete HTML.
3. Misc
3.1. Inheritance: object inheritance vs. layer inheritance
6. S2 Client Protocol
1. General Rules
1.1. Requests
1.2. Responses
2. Retrieve Layer Source
3. Upload a Layer
7. Using S2 on LiveJournal
1. Resources
2. Layer Guidelines
2.1. Guidelines For Layout Designers
2.2. Guidelines For Implementors
A. LiveJournal's S2 API
1. Core Layer 1
1.1. Properties
1.2. Functions
1.3. Classes
1.4. Date Formats
B. FAQ
C. GNU Free Documentation License