Skip to content

Instantly share code, notes, and snippets.

@tmtk75
Created January 7, 2013 23:14
Show Gist options
  • Save tmtk75/4479470 to your computer and use it in GitHub Desktop.
Save tmtk75/4479470 to your computer and use it in GitHub Desktop.
#!/usr/bin/env coffee
express = require "express"
jade = require "jade"
assets = require "connect-assets"
stylus = require "stylus"
nib = require "nib"
fs = require "fs"
#routes = require './routes'
#user = require './routes/user'
http = require 'http'
path = require 'path'
require "jumly-jade"
(require "jade-filters").setup jade
app = express()
app.configure ->
app.set 'port', (process.env.PORT || 3000)
app.set "view engine", "jade"
app.use express.favicon()
app.use express.logger 'dev'
app.use stylus.middleware
src: path.join __dirname, 'views'
dest: path.join __dirname, 'views/static'
compile: (str, path, fn)->
stylus(str)
.set('filename', path)
.set('compress', true)
.use(nib())
.import('nib')
app.use express.methodOverride()
app.use express.cookieParser 'your secret here'
app.use express.session()
app.use express.static path.join __dirname, "views/static"
app.use assets src:"lib"
app.use express.bodyParser()
app.configure "development", ->
app.use express.errorHandler()
version = fs.readFileSync("lib/version").toString().trim().split "\n"
params =
VERSION : version.join "-"
VERSION_PATH: version[0]
IMAGES_DIR : "images"
app.get "/", index_en = (req, res)-> res.render "index", params
app.get "/index", index_en
app.get "/index.en", index_en
app.get "/index.ja", (req, res)-> res.render "index_ja", params
app.get "/reference", (req, res)-> res.render "reference", params
app.get "/try", (req, res)-> res.render "try", params
app.post "/images", (req, res) ->
b64 = req.body.data.replace /^data:image\/png;base64,/, ""
buf = new Buffer(b64, 'base64').toString 'binary'
res.contentType "image/png"
res.header "Content-Disposition", "attachment; filename=" + "diagram.png"
res.status 201
res.end buf, "binary"
http.createServer(app).listen app.get('port'), ->
console.log "Express server listening on port #{app.get('port')}"
{
"name": "jumly",
"version": "0.1.0",
"author": "Tomotaka Sakuma",
"description": "library to render UML diagram",
"engines": {
"node": "*",
"npm": "*"
},
"dependencies": {
"coffee-script": ">=1.4.0",
"express": ">=3.0.2",
"jade": ">=0.27.7",
"stylus": ">=0.30.1",
"nib": ">=0.8.2",
"connect-assets": ">=2.3.3",
"jumly-jade": ">=0.0.2",
"jade-filters": ">=0.0.2"
},
"devDependencies": {
"knockout": ">=2.1.0",
"jwerty": ">=0.3.1",
"markdown-js": ">=0.0.3",
"js-yaml": ">=1.0.3",
"jasmine-node": ">=1.0.26",
"temp": ">=0.4.0",
"glob": ">=3.1.14",
"path": ">=0.4.9",
"node-jquery": ">=0.1.1",
"brownie": ">=0.1.6"
},
"repository": {
"type": "git",
"url": "git://github.com/tmtk75/jumly.git"
},
"directories": {
"lib": "./lib"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment