Skip to content

Instantly share code, notes, and snippets.

Alberto Restifo albertorestifo

Block or report user

Report or block albertorestifo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@albertorestifo
albertorestifo / populateMap.js
Last active Aug 26, 2015
Transform a nested object insto a nested Map object
View populateMap.js
/**
* Populate a map with the values of an object with nested maps
*
* @param {Map} map - Map to populate
* @param {object} object - Object to use for the population
* @param {array} keys - Array of keys of the object
*
* @return {Map} Populated map
*/
function populateMap (map, object, keys) {
View init.coffee
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
@albertorestifo
albertorestifo / flatten.js
Created May 1, 2016
Multi-level flatten function
View flatten.js
var flatten = arr => arr.reduce((p, c) => p.concat(Array.isArray(c) ? flatten(c) : c), []);
/**
* Credit goes to Benjamin Gruenbaum, from his comment on this article: http://www.2ality.com/2016/04/promise-trees.html
*/
View structure.txt
@sentis/emails
├── index.js
└── src/
├── App.js
├── elements/
View Title.js
import React from 'react';
const style = {
title: {
fontSize: '24px',
fontWeight: 'bold',
marginTop: '5px',
marginBottom: '10px',
},
View Grid.js
import React from 'react';
function Cell({ children }) {
return <td>{children}</td>;
}
function Row({ children }) {
return (
<tr>
{React.Children.map(children, (el) => {
View Title.diff
- <h1 style={style.title}>
+ <h1 style={style.title} className="title-heading">
{children}
</h1>
View inlined.css
@media only screen and (max-width: 650px) {
.title-heading {
font-size: 18px !important; /* We need !important to */
text-align: center !important; /* overcome inline styles */
}
}
View index.js.diff
import React from 'react';
import ReactDOM from 'react-dom';
+import './inlined.css';
View package.json.diff
{
"name": "react-emails-example",
"version": "0.1.0",
"private": true,
+ "main": "./server/createEmail.js",
"devDependencies": {
+ "babel-cli": "^6.24.1",
+ "babel-preset-react-app": "^2.2.0",
"react-scripts": "0.9.5"
},
You can’t perform that action at this time.