Initial commit, all currently broken.
This commit is contained in:
		
						commit
						24ef41ca34
					
				
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
/keymap/*
 | 
			
		||||
/lib/*
 | 
			
		||||
/mode/*
 | 
			
		||||
/note-data/*
 | 
			
		||||
index.html
 | 
			
		||||
							
								
								
									
										46
									
								
								server.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								server.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
var express = require("express");
 | 
			
		||||
var hbs = require('express-hbs');
 | 
			
		||||
require('handlebars-form-helpers').register(hbs.handlebars);
 | 
			
		||||
var bodyParser = require("body-parser");
 | 
			
		||||
var app = express();
 | 
			
		||||
var winston = require('winston');
 | 
			
		||||
winston.add(winston.transports.File, { filename: './logs/notes.kaplon.us.log', maxsize: 5000000 });  // 5MB
 | 
			
		||||
var fileSystem = require('fs');
 | 
			
		||||
 | 
			
		||||
app.use(bodyParser.json());
 | 
			
		||||
app.use(bodyParser.urlencoded({ extended: false }));    // Not sure if both needed here.
 | 
			
		||||
 | 
			
		||||
// Use `.hbs` for extensions and find partials in `views/partials`.
 | 
			
		||||
app.engine('hbs', hbs.express4({
 | 
			
		||||
    partialsDir: __dirname + '/views/partials'
 | 
			
		||||
}));
 | 
			
		||||
app.set('view engine', 'hbs');
 | 
			
		||||
app.set('views', __dirname + '/views');
 | 
			
		||||
 | 
			
		||||
var notePath = __dirname + '/allNotes.txt';
 | 
			
		||||
 | 
			
		||||
app.get('/', function(req, res){
 | 
			
		||||
    winston.info("GET /");
 | 
			
		||||
    // Get curent text from allNotes.txt.
 | 
			
		||||
    // How to pass that text into index.html editor control??? Still need Handlebars???
 | 
			
		||||
    // i may be grokking it...need to keep handlebars, though.
 | 
			
		||||
    // read contents of allNotes.txt into a variable.
 | 
			
		||||
    // pass that variable as data to handlebars template, {{notetxt}}.
 | 
			
		||||
    res.render('index', {notetxt: noteTxt}, function(err, html) {
 | 
			
		||||
        if(err !== null) {
 | 
			
		||||
            winston.error(err);
 | 
			
		||||
        } else {
 | 
			
		||||
            res.send(html);
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
app.post('/', function(req, res){
 | 
			
		||||
    winston.info(req.body);
 | 
			
		||||
    // Stage and commit changes to allNotes.txt.
 | 
			
		||||
    res.status(204).send('POST received');
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
app.listen(3000, function() {
 | 
			
		||||
    winston.info("Started on PORT 3000");
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										43
									
								
								views/index.hbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								views/index.hbs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head>
 | 
			
		||||
<title>Jody's CodeMirror</title>
 | 
			
		||||
<link rel="stylesheet" href="lib/codemirror.css">
 | 
			
		||||
<script src="lib/codemirror.js"></script>
 | 
			
		||||
<script src="mode/markdown/markdown.js"></script>
 | 
			
		||||
<script src="keymap/vim.js"></script>
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
    .CodeMirror {
 | 
			
		||||
        border: 1px solid #eee;
 | 
			
		||||
        height: auto;
 | 
			
		||||
    }
 | 
			
		||||
</style>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
<form><textarea id="editor" name="editor">
 | 
			
		||||
{{notetxt}}
 | 
			
		||||
</textarea></form>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
    var editor = CodeMirror.fromTextArea(document.getElementById("editor"), {
 | 
			
		||||
        mode:  "markdown",
 | 
			
		||||
        lineNumbers: "true",
 | 
			
		||||
        keyMap: "vim",
 | 
			
		||||
        viewportMargin: Infinity
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    var typingTimer;
 | 
			
		||||
    editor.on("changes", function() {
 | 
			
		||||
        //console.log("changes fired");
 | 
			
		||||
        clearTimeout(typingTimer);
 | 
			
		||||
        typingTimer = setTimeout(
 | 
			
		||||
        function() {
 | 
			
		||||
            alert("saved now!");
 | 
			
		||||
        },
 | 
			
		||||
        2000
 | 
			
		||||
      );
 | 
			
		||||
    });
 | 
			
		||||
</script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user