2014-10-12 08:51:55 +00:00
|
|
|
html.
|
|
|
|
<!-- Firebase -->
|
|
|
|
<script src='https://cdn.firebase.com/js/client/1.0.21/firebase.js'></script>
|
|
|
|
<script src='https://cdn.firebase.com/js/simple-login/1.6.3/firebase-simple-login.js'></script>
|
|
|
|
|
|
|
|
<!-- CodeMirror and its JavaScript mode file -->
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.5.0/codemirror.js"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.5.0/mode/javascript/javascript.js"></script>
|
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.5.0/codemirror.css" />
|
|
|
|
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js'></script>
|
|
|
|
|
|
|
|
<!-- Firepad -->
|
|
|
|
<link rel="stylesheet" href="https://cdn.firebase.com/libs/firepad/1.0.0/firepad.css" />
|
|
|
|
<script src="https://cdn.firebase.com/libs/firepad/1.0.0/firepad.min.js"></script>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
html { height: 50%; }
|
|
|
|
body { margin: 0; height: 100%; position: relative; }
|
|
|
|
/* Height / width / positioning can be customized for your use case.
|
|
|
|
For demo purposes, we make firepad fill the entire browser. */
|
|
|
|
#firepad-container {
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
<div id="firepad-container"></div>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
function init() {
|
|
|
|
//// Initialize Firebase.
|
|
|
|
var firepadRef = getExampleRef();
|
|
|
|
// TODO: Replace above line with:
|
|
|
|
// var ref = new Firebase('scorching-heat-2873.firebaseIO.com');
|
|
|
|
|
|
|
|
//// Create CodeMirror (with line numbers and the JavaScript mode).
|
|
|
|
var codeMirror = CodeMirror(document.getElementById('firepad-container'), {
|
|
|
|
lineNumbers: true,
|
|
|
|
mode: 'javascript'
|
|
|
|
});
|
|
|
|
|
|
|
|
//// Create Firepad.
|
|
|
|
var firepad = Firepad.fromCodeMirror(firepadRef, codeMirror, {
|
|
|
|
defaultText: '// JavaScript Editing with Firepad!\nfunction go() {\n var message = "Hello, world.";\n console.log(message);\n}'
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// Helper to get hash from end of URL or generate a random one.
|
|
|
|
function getExampleRef() {
|
|
|
|
var ref = new Firebase('https://firepad.firebaseio-demo.com');
|
|
|
|
var hash = window.location.hash.replace(/#/g, '');
|
|
|
|
if (hash) {
|
|
|
|
ref = ref.child(hash);
|
|
|
|
} else {
|
|
|
|
ref = ref.push(); // generate unique location.
|
|
|
|
window.location = window.location + '#' + ref.name(); // add it as a hash to the URL.
|
|
|
|
}
|
|
|
|
if (typeof console !== 'undefined')
|
|
|
|
console.log('Firebase data: ', ref.toString());
|
|
|
|
return ref;
|
|
|
|
}
|
|
|
|
|
|
|
|
init();
|
|
|
|
</script>
|
|
|
|
html.
|
|
|
|
<head>
|
|
|
|
|
|
|
|
<!-- Download from https://github.com/firebase/firechat -->
|
|
|
|
<link rel='stylesheet' href='firechat-default.css' />
|
|
|
|
<script src='firechat-default.js'></script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<script type='text/javascript'>
|
|
|
|
// Create a new Firebase reference, and a new instance of the Login client
|
|
|
|
var chatRef = new Firebase('https://scorching-heat-2873.firebaseio.com/chat');
|
|
|
|
var auth = new FirebaseSimpleLogin(chatRef, function(err, user) {
|
|
|
|
// Once authenticated, instantiate Firechat with our user id and user name
|
|
|
|
if (user) {
|
|
|
|
var chat = new FirechatUI(chatRef, document.getElementById('firechat-wrapper'));
|
|
|
|
chat.setUser(user.uid, user.displayName);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
<div id='firechat-wrapper'>
|
|
|
|
<a href='#' onclick='auth.login("twitter");'>Login</a>
|
|
|
|
</div>
|
|
|
|
</body>
|