Skip to content

Instantly share code, notes, and snippets.

@futurechimp
Created March 3, 2012 15:48
Show Gist options
  • Save futurechimp/1966777 to your computer and use it in GitHub Desktop.
Save futurechimp/1966777 to your computer and use it in GitHub Desktop.
let's mess with the scalatra docs
The current Scalatra book structure is as follows. Personally I find it confusing that some information can be found in more than one part of the book.
Table of Contents
Introduction
What is Scalatra?
Introduction
Git clone alternative
Dependencies
Building
Hello World Application
Real World Applications in Scalatra
LinkedIn Signal
ChaCha
The Guardian
About this book
Need Help?
Getting to know Scalatra
It's Witchcraft
Routing
Filters
before
after
Pattern Matching
Handlers
Halting
Passing
Templates
Helpers
Accessing the Servlet API
HttpServletRequest
HttpServletResponse
HttpSession
ServletContext
Configuration
Error handling
Not Found
Organizing your application
Views
Inline HTML
Scalate
Using Scalate directly
ScalateSupport helpers
The notFound method
Models
Helpers in Scalatra
Scalate error page
Scentry + Authentication
User Password
Remember Me
Basic Authentication
Flash Map
File Upload
Anti-XML integration
URL Support and Reverse Routes
AkkaSupport
Middleware
Testing
Integrations
ScalaTest
Specs2
Specs
Other test frameworks
FAQ
How do I set a servlet init parameter?
Maven Repository
Development Techniques
Automatic Code Reloading
SBT
Deployment
As a War to Jetty/Tomcat/Etc
As a Single Jar
Extend sbt project definition:
Launch Scalatra as a servlet
Scalatra on Heroku
Including Scala Compiler
Contributing
There are plenty of ways to contribute to Scalatra.
Contributing to this book
Routes
Route order
Path patterns
Named parameters
Wildcards
Regular expressions
Rails-like pattern matching
Path patterns in the REPL
Conditions
Actions
Parameter handling
The Sinatra docs are as follows. Note that there are only 2 section depths: main headings and subheadings.
Routes
Conditions
Return Values
Custom Route Matchers
Static Files
Views / Templates
Available Template Languages
Haml Templates
Erb Templates
Builder Templates
Nokogiri Templates
Sass Templates
SCSS Templates
Less Templates
Liquid Templates
Markdown Templates
Textile Templates
RDoc Templates
Radius Templates
Markaby Templates
Slim Templates
Creole Templates
CoffeeScript Templates
Embedded Templates
Accessing Variables in Templates
Inline Templates
Named Templates
Associating File Extensions
Adding Your Own Template Engine
Filters
Helpers
Using Sessions
Halting
Passing
Triggering Another Route
Setting Body, Status Code and Headers
Streaming Responses
Logging
Mime Types
Generating URLs
Browser Redirect
Cache Control
Sending Files
Accessing the Request Object
Attachments
Dealing with Date and Time
Looking Up Template Files
Configuration
Configuring attack protection
Available Settings
Environments
Error Handling
Not Found
Error
Rack Middleware
Testing
Sinatra::Base - Middleware, Libraries, and Modular Apps
Modular vs. Classic Style
Serving a Modular Application
Using a Classic Style Application with a config.ru
When to use a config.ru?
Using Sinatra as Middleware
Dynamic Application Creation
Scopes and Binding
Application/Class Scope
Request/Instance Scope
Delegation Scope
Command Line
Requirement
The Bleeding Edge
With Bundler
Roll Your Own
Install Globally
Versioning
Further Reading
If we take the current Sinatra docs as a model, we do have content for most sections already, based on what's in the Scalatra Book right now. Our conentent would be quite divergent from the Sinatra README without quite a bit of rewriting though.
This could work, probably? It's basically the sinatra docs structure with a few extra things added:
Installation
Hello World application
Routes
Conditions
Return Values
Custom Route Matchers
Filters
Static Files
Views / Templates
Available Template Languages
<for now, just put the existing Scalatra Views section here>
Helpers
<put existing Scalatra stuff here>
Configuration
Configuring attack protection
Available Settings
Environments
Error Handling
Not Found
Error
Rack Middleware
Testing
// I'd like to see a section on this to get a handle on options for prod deployments
Deployment
// This next bit actually fits if we think of it as being the difference between
// ScalatraServlets and ScalatraFilters, no?
Sinatra::Base - Middleware, Libraries, and Modular Apps
Modular vs. Classic Style
Serving a Modular Application
Using a Classic Style Application with a config.ru
When to use a config.ru?
Using Sinatra as Middleware
Dynamic Application Creation
Scopes and Binding
Application/Class Scope
Request/Instance Scope
Delegation Scope
Command Line
Requirement
// This doesn't exist yet but would also be interesting to see, some people may want to try 2.1 at present but don't know the options
The Bleeding Edge
With Bundler
Roll Your Own
Install Globally
Versioning
Real World Applications in Scalatra
LinkedIn Signal
ChaCha
The Guardian
FAQ
Further Reading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment