Add Counter #5
@ -510,3 +510,12 @@ a[href="#"].running {
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
}
|
||||
.counter {
|
||||
padding: 1rem;
|
||||
position: fixed;
|
||||
left: 0rem;
|
||||
bottom: 0rem;
|
||||
}
|
||||
.counter p {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
@ -191,3 +191,13 @@ a[href="#"].running {
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
}
|
||||
.counter {
|
||||
padding: 1rem;
|
||||
position: fixed;
|
||||
left: 0rem;
|
||||
bottom: 0rem;
|
||||
}
|
||||
.counter p {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
|
@ -50,10 +50,15 @@
|
||||
<div class='modal' contenteditable>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="counter">
|
||||
<p>تاحالا <span id="count"></span>تا حرف ساختم</p>
|
||||
</div>
|
||||
|
||||
<a href="https://github.com/mdibaiee/ipsum"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/52760788cde945287fbb584134c4cbc2bc36f904/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f77686974655f6666666666662e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_white_ffffff.png"></a>
|
||||
|
||||
<script src='js/libs/zepto.js'></script>
|
||||
<script src='js/libs/socket.js'></script>
|
||||
<script src='js/main.js'></script>
|
||||
</body>
|
||||
|
||||
|
6193
client/js/libs/socket.js
Normal file
6193
client/js/libs/socket.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,5 @@
|
||||
var socket = io();
|
||||
|
||||
var $run = $('h1, h3, .options, a');
|
||||
|
||||
$('li[contenteditable]').click(function(e) {
|
||||
@ -5,7 +7,7 @@ $('li[contenteditable]').click(function(e) {
|
||||
});
|
||||
|
||||
$('li[contenteditable]').on('keydown', function(e) {
|
||||
if(e.keyCode !== 8 && isNaN(+e.key)) return e.preventDefault();
|
||||
if(e.keyCode !== 8 && e.keyCode !== 46 && isNaN(+e.key)) return e.preventDefault();
|
||||
});
|
||||
$('li[contenteditable]').on('keyup', function(e) {
|
||||
$(this).data('val', /\d*/.exec($(this).html()));
|
||||
@ -39,3 +41,7 @@ function success(ipsum) {
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
}
|
||||
|
||||
socket.on('counter', function(count) {
|
||||
$('#count').text(count);
|
||||
});
|
||||
|
1
count.json
Normal file
1
count.json
Normal file
@ -0,0 +1 @@
|
||||
0
|
26
ipsum.js
26
ipsum.js
@ -1,7 +1,12 @@
|
||||
var express = require('express'),
|
||||
app = express();
|
||||
app = express(),
|
||||
server = require('http').Server(app),
|
||||
io = require('socket.io')(server),
|
||||
fs = require('fs');
|
||||
|
||||
app.use(express.static(__dirname + '/ipsum', {maxAge: 60*60*24*7}));
|
||||
var count = require('./count.json');
|
||||
|
||||
app.use(express.static(__dirname + '/client', {maxAge: 60*60*24*7}));
|
||||
|
||||
module.exports.app = app;
|
||||
|
||||
@ -87,6 +92,19 @@ function loremipsum(data) {
|
||||
}
|
||||
}
|
||||
function go(url) {
|
||||
var req = url.split('/');
|
||||
return loremipsum(req.slice(1));
|
||||
var lorem = loremipsum(url.split('/').slice(1));
|
||||
counting(lorem);
|
||||
return lorem;
|
||||
}
|
||||
|
||||
//COUNTER
|
||||
io.on('connection', function(socket) {
|
||||
io.emit('counter', count);
|
||||
});
|
||||
function counting(data) {
|
||||
var r = data.split(' ').join('').length + count;
|
||||
fs.writeFile(__dirname + '/count.json', r, function() {
|
||||
count = +(fs.readFileSync(__dirname + '/count.json', 'utf8'));
|
||||
})
|
||||
io.emit('counter', r);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user