Skip to content

Instantly share code, notes, and snippets.

View cray0000's full-sized avatar
๐Ÿš€

Pavel Zhukov cray0000

๐Ÿš€
View GitHub Profile
// View
ul.tabs
li.selected
a(x-bind='click: selectTab') Tab 1
li
a(x-bind='click: selectTab') Tab 2
li
a(x-bind='click: selectTab') Tab 3
ul
@cray0000
cray0000 / susy_span_nested.sass
Last active December 20, 2015 07:59
Combined +span() and +nested() for Susy. Using custom mixin with extended functionality instead of +span()
// "/test/scss/ag.sass"
// ...
// Complex AG tests
// ----------------
=col($params)
+span($params)
@if nth($params, length($params)) == container
// Mobile-first approach. Usecase is to hide one of columns by default (mobile)
// and show additional info on desktop (when @media is active)
// !! Working version !! Original problem description is in initial commit.
// @media vars:
$media-desktop: min-width 769px
$media-mobile: max-width 768px
.page
// -------------------------------------
// Main Component
// -------------------------------------
.tabs
+pie-clearfix
> li, > ._tab
float: left
@cray0000
cray0000 / client.js
Last active December 27, 2015 17:59
Derby.js Pass env var to the client
// Somewhere in the /lib/app
derby = require('derby');
app = require('./index.js');
if(derby.util.isServer) {
fnEval = "(function(){"
+ "return function() {"
+ "window.NODE_ENV = \'" + (process.env.NODE_ENV || 'development') + "\';"
+ "window.APP = \'" + (process.env.APP || 'myapp') + "\';"
ALLOWED_COLLECTIONS = [
'auths' # Private user data
]
store.allow 'create', 'auths', (docId, newDoc, session) ->
console.log '[Auths] CREATE'
undefined
store.allow 'all', 'auths.*', (docId, relPath, opData, docBeingUpdated, session) ->
console.log '[Auths] CHANGE'
{
"name": "derby-auth-example",
"description": "",
"version": "0.0.0",
"main": "./server.js",
"dependencies": {
"derby": "0.5.12",
"derby-ui-boot": "*",
"livedb-mongo": "~0.3.0",
"racer-browserchannel": "~0.1.1",
#modal-login
._header
._main
.cool-form
form
._email
._password
._join
br
._or
page.model.socket?.onerror = (message, errCode) ->
if message not in ['Unknown session ID', 'Request failed']
app.postError new Error message, {source: 'model-socket-error'}
page.model.shareConnection?.on 'error', (e) ->
app.postError e, {source: 'model-share-error'}
page.model.on 'error', (e) ->
app.postError e, {source: 'model-error'}
if e.message && e.message.indexOf('403') != -1
@cray0000
cray0000 / errors.txt
Last active August 29, 2015 14:06
Derby.js erorrs we experience in production
#######################################################
# Error 0 - medium often - !!! Critical !!! - screws each client's data
#######################################################
ERROR: CORRUPT DATA DETECTED in document games.3d2a3281-e764-4c0a-b449-d2c56477cff6
If you're using redis, delete data for document. Please file an issue if you can recreate this state reliably.
Trace: Internal data corruption - cannot submit
at /home/ubuntu/www/idg_v2/production/releases/20140915171800/node_modules/share/lib/server/session.js:665:19
at /home/ubuntu/www/idg_v2/production/releases/20140915171800/node_modules/share/lib/server/useragent.js:409:23
at /home/ubuntu/www/idg_v2/production/releases/20140915171800/node_modules/livedb/lib/index.js:261:18