Skip to content

Instantly share code, notes, and snippets.

View MichalZalecki's full-sized avatar

Michał Załęcki MichalZalecki

View GitHub Profile
@MichalZalecki
MichalZalecki / visor-archivos-online.md
Created September 5, 2016 20:23 — forked from izazueta/visor-archivos-online.md
Google Docs Viewer & Office Web Apps Viewer

Google Docs Viewer

Only files under 25 MB can be previewed with the Google Drive viewer.

Google Drive viewer helps you preview over 16 different file types, listed below:

  • Image files (.JPEG, .PNG, .GIF, .TIFF, .BMP)
  • Video files (WebM, .MPEG4, .3GPP, .MOV, .AVI, .MPEGPS, .WMV, .FLV)
  • Text files (.TXT)
  • Markup/Code (.CSS, .HTML, .PHP, .C, .CPP, .H, .HPP, .JS)
  • Microsoft Word (.DOC and .DOCX)
@MichalZalecki
MichalZalecki / CycleRun.js
Created July 9, 2016 19:13
Mount Cycle.js app as react component
import React, { PropTypes, Component } from "react";
import ReactDOM from "react-dom";
import { makeDOMDriver } from "@cycle/dom";
import { run } from "@cycle/xstream-run";
class CycleRun extends Component {
static propTypes = {
main: PropTypes.func.isRequired,
drivers: PropTypes.object,
};
root=true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
@MichalZalecki
MichalZalecki / mixins-decorators.js
Last active May 29, 2016 19:23
Multiple mixins by using extends/decorators/virtual methods/stamps
function hi() {
console.log(`Hi ${this.name}!`);
}
function by() {
console.log(`By ${this.name}!`);
}
function mixin(fn, name = fn.name) {
return target => {
@MichalZalecki
MichalZalecki / index.js
Created March 12, 2016 12:24
How to import RxJS 5
// Import all
import Rx from "rxjs/Rx";
Rx.Observable
.interval(200)
.take(9)
.map(x => x + "!!!")
.bufferCount(2)
.subscribe(::console.log);
@MichalZalecki
MichalZalecki / .eslintrc.json
Last active May 29, 2016 15:38
Reasonable .eslint confiig
{
"extends": "airbnb",
"parser": "babel-eslint",
"settings": {
"import/resolver": {
"webpack": { "config": "./webpack/webpack.prod.config.js" }
}
},
"rules": {
"quotes": ["error", "double"],
@MichalZalecki
MichalZalecki / await-async.js
Created November 13, 2015 05:16
Run generators and and await/async
import axios from "axios";
export default async function () {
const { data: { id } } = await axios.get("//localhost:3000/id");
const { data: { group } } = await axios.get("//localhost:3000/group");
const { data: { name } } = await axios.get(`//localhost:3000/${group}/${id}`);
console.log(name); // Michał
}
function match<T, S>(value: T) {
let result: ()=>S;
const context = {
caseOf(fn:(value: T) => boolean, payload: ()=>S) {
if (!result && fn(value)) result = payload;
return context;
},
_(payload: ()=>S) {
if (!result) result = payload;
return context;
@MichalZalecki
MichalZalecki / style.js
Created October 24, 2015 00:01
Script transpiling CSS with cssnext
const cssnext = require("cssnext");
const fs = require("fs");
const watch = require("node-watch");
const program = require("commander");
program
.version("0.0.1")
.option("-s, --source [path]", "Source file")
.option("-d, --destination [path]", "Destination file")
.option("-w, --watch [path]", "Watch directory")
@MichalZalecki
MichalZalecki / footer.js
Created September 2, 2015 10:31
React Templates vs JSX