-
Making your app real-time is a huge boost and Socket.io is a Node+Javascript framework that helps with downlevel transports for browsers lacking native websocket support (and supports IE6+). However be prepared to tune your AJAX polling or Comet in order to meet the needs of your app.
+
Making your app real-time is a huge boost and Socket.io is a Node+JavaScript framework that helps with downlevel transports for browsers lacking native WebSocket support (and supports IE6+). However be prepared to tune your AJAX polling or Comet in order to meet the needs of your app.
-
web-socket-js is a natural polyfill for the Javascript WebSocket API transferring data through Flash Sockets when WebSockets aren't available.
+
web-socket-js is a natural polyfill for the JavaScript WebSocket API transferring data through Flash Sockets when WebSockets aren't available.
-
As a word of caution, the protocol backing the Web Socket API has become an IETF standard, but Safari has not yet implemented the new version. It is recommended forcing Flash on Safari (or disabling WebSockets on Safari) for now.
+
As a word of caution, the protocol backing the Web Socket API has become an IETF standard, but Safari has not yet implemented the new version. It is recommended forcing Flash on Safari (if Flash is available, N/A on mobile), or disabling WebSockets on Safari for now.
diff --git a/lib/app.js b/lib/app.js
index 982df3d9..bd1e58ad 100644
--- a/lib/app.js
+++ b/lib/app.js
@@ -62,7 +62,7 @@ exports.Feature = Backbone.Model.extend({
if (parts.length < 2) {
console.error(lines);
- throw new Error('Invalid key: val ... ' + docs);
+ throw new Error('Invalid key: val ... ' + obj.slug);
}
key = parts[0];
@@ -103,6 +103,10 @@ exports.Features = Backbone.Collection.extend({
// Slice off the file extension for each
files.forEach(function(file, i) {
+
+ // skip dotfiles
+ if (file.indexOf('.') == 0) return;
+
data.push({
contents: fs.readFileSync(paths.posts + "/" + file).toString(),
editfrag: file.slice(0, -3),
diff --git a/posts/input-typecolor.md b/posts/input-typecolor.md
index c989c3ee..4c793b26 100644
--- a/posts/input-typecolor.md
+++ b/posts/input-typecolor.md
@@ -1,7 +1,7 @@
feature: <input type=color>
status: avoid
-tags: polyfill
-kind: html, gtie9
+tags: polyfill,gtie9
+kind: html
polyfillurls: [jscolor](https://github.com/jo/JSColor), [html5widgets](http://www.useragentman.com/blog/2010/07/27/cross-browser-html5-forms-using-modernizr-webforms2-and-html5widgets/)
Color inputs will fall back to a plain text input if it's not supported, but excluding Opera, no desktop browser has added support for color inputs.
diff --git a/posts/input-typedate.md b/posts/input-typedate.md
index e7183e4d..1c89c8bd 100644
--- a/posts/input-typedate.md
+++ b/posts/input-typedate.md
@@ -1,7 +1,7 @@
feature: <input type=date>
status: caution
-tags: polyfill
-kind: html, gtie9
+tags: polyfill,gtie9
+kind: html
polyfillurls: [webshims](http://afarkas.github.com/webshim/demos/demos/webforms.html), [html5widgets](http://www.useragentman.com/blog/2010/07/27/cross-browser-html5-forms-using-modernizr-webforms2-and-html5widgets/),
There are many date inputs: `datetime-local, date, time, month, week` that should provide a datepicker to the user. For a long time, WebKit offered a spinner UI on these inputs, but this was an incomplete implementation (and has since been removed).
diff --git a/posts/input-typerange.md b/posts/input-typerange.md
index 644805f4..81a2f42f 100644
--- a/posts/input-typerange.md
+++ b/posts/input-typerange.md
@@ -1,7 +1,7 @@
feature: <input type=range>
status: caution
-tags: polyfill
-kind: html, gtie9
+tags: polyfill,gtie9
+kind: html
polyfillurls: [Input Range Polyfill](http://www.frequency-decoder.com/2010/11/18/unobtrusive-slider-control-html5-input-range-polyfill/), [html5slider](https://github.com/fryn/html5slider)
Range inputs (AKA sliders) will fall back to a plain text input if it's not supported.