| 12345678910111213141516171819202122232425262728293031323334353637 |
- var express = require('express');
- var bodyParser = require('body-parser');
- var slug = require('slug');
- var _ = require('lodash');
- var fs = require('fs');
- var app = express();
- var examplesJSON = __dirname + '/exemples/liste.json';
- var examples = require(examplesJSON);
- app.use(express.static(__dirname));
- app.use(bodyParser.json());
- function addExample(slug, title) {
- examples.push({ slug: slug, title: title });
- fs.writeFileSync(examplesJSON, JSON.stringify(examples));
- }
- app.post('/examples', function(req, res) {
- var title = req.body.title;
- if(! req.body.title) {
- res.status(400).send('Le titre ne peut pas être vide !');
- }
- var existingTitle = _.find(examples, { title: title });
- if(existingTitle) {
- res.status(400).send("L'exemple '" + title + "' existe déjà !");
- }
- var exampleSlug = slug(req.body.title.toLowerCase());
- var targetDir = __dirname + '/exemples/' + exampleSlug;
- fs.mkdirSync(targetDir);
- fs.writeFileSync(targetDir + '/contenu.html', '');
- fs.writeFileSync(targetDir + '/script.js', '');
- addExample(exampleSlug, title);
- res.json({ slug: exampleSlug, title: title });
- });
- app.listen(3000);
|