Feature new sheets

This commit is contained in:
Rico Sta. Cruz 2017-08-29 03:18:32 +08:00
parent 7121fa106d
commit 4f8c49d162
No known key found for this signature in database
GPG Key ID: CAAD38AE2962619A
17 changed files with 239 additions and 176 deletions

View File

@ -38,5 +38,6 @@ title: React.js
category: React
layout: 2017/sheet # 'default' | '2017/sheet'
ads: false # Add this to disable ads
updated: 201708 # To show in the updated list
---
```

View File

@ -69,3 +69,5 @@ category_names:
# https://help.github.com/articles/repository-metadata-on-github-pages/
repository: rstacruz/cheatsheets
last_updated: 201708

View File

@ -30,6 +30,16 @@ type: website
{% endif %}
{% endfor %}
<h2 class='category item' data-js-searchable-header>
<span>Recently updated</span>
</h2>
{% for page in site.pages %}
{% if page.updated >= site.last_updated %}
{% include 2017/pages-list-item.html page=page class='article item' %}
{% endif %}
{% endfor %}
{% for category in site.category_names %}
<h2 class='category item' id='{{ category | downcase | replace: " ", "-" }}' data-js-searchable-header>
<span>{{ category }}</span>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
{% assign target = {{ page.redirect.to | remove: '.html' | replace: 'cheatsheets/cheatsheets', 'cheatsheets' %}
{% assign target = page.redirect.to | remove: '.html' | replace: 'cheatsheets/cheatsheets', 'cheatsheets' %}
<html lang="en-US">
<meta charset="utf-8">
<title>Redirecting…</title>

View File

@ -3,9 +3,6 @@ title: Bash scripting
category: CLI
layout: 2017/sheet
tags: [Featured]
redirect_from:
- /sh
- /sh.html
---
Getting started

View File

@ -2,6 +2,7 @@
title: Cron
category: CLI
layout: 2017/sheet
updated: 201708
---
## Format

View File

@ -2,6 +2,8 @@
title: Elixir
category: Elixir
layout: 2017/sheet
tags: [New]
updated: 201708
---
## Reference

5
es2015.md Normal file
View File

@ -0,0 +1,5 @@
---
title: ES2015
category: JavaScript
redirect_to: /es6
---

5
es2016.md Normal file
View File

@ -0,0 +1,5 @@
---
title: ES2016
category: JavaScript
redirect_to: /es6
---

5
es2017.md Normal file
View File

@ -0,0 +1,5 @@
---
title: ES2017
category: JavaScript
redirect_to: /es6
---

4
es6.md
View File

@ -1,8 +1,8 @@
---
title: ES2015
title: ES2015+
category: JavaScript
layout: 2017/sheet
ads: true
tags: [Featured]
---
### Promises

View File

@ -2,6 +2,7 @@
title: ExUnit
category: Elixir
layout: 2017/sheet
updated: 201708
---
### Test cases

201
flow.md Normal file
View File

@ -0,0 +1,201 @@
---
title: Flow
layout: 2017/sheet
updated: 201708
---
### Simple failing example
```js
/* @flow */
function foo(x) { return x * 10 }
foo('Hello, world!')
```
### Annotations
```js
// Simple
function foo(x: string, y: number): string { ... }
```
```js
// Arrays
function total(numbers: Array<number>) { ... }
```
### Primitives
| Type | Description |
| --- | --- |
| `any` | |
| `boolean` | |
| `mixed` | |
| `number` | |
| `string` | |
| `void` | undefined |
| `null` | null (but not undefined) |
| --- | --- |
| `{a: Number}` | Object with a shape |
| `[any, number]` | Tuples (fixed-length arrays) |
| --- | --- |
| `Array<T>` | |
| `Class<T>` | |
| `Function` | |
| `Object` | |
| --- | --- |
| `?number` | Maybe (number, void, null) |
| `a | b` | Union types |
### Dynamic keys
```js
type Items = {
[key: string]: Item
}
```
See: [Dynamic object keys](https://flow.org/docs/objects.html#objects-as-maps)
### Enums
```js
type Suit = "Diamonds" | "Clubs" | "Hearts" | "Spades"
const countries = {
US: "United States",
IT: "Italy",
FR: "France"
}
type Country = $Keys<typeof countries>
```
See: [Enums](https://flow.org/docs/utility-types.html#keyst)
### Type aliases
```js
type Tree = {
foo: string,
bar: number,
qux: (foo: string, bar: number) => boolean
}
type Generic<T> = {
foo: T
}
```
See: [Type aliases](https://flow.org/docs/quick-reference.html#type-aliases)
### Generic classes
```js
class GenericClass<T> {
x: T
constructor (x: T) { ... }
}
var n: GenericClass<number> = new GenericClass(0)
```
See: [Generic classes](https://flow.org/docs/quick-reference.html#generics)
### Interfaces
```js
interface Jsonable {
toJSON(): string
}
class Foo {
toJSON() { return '{}' }
}
(new Foo: Jsonable)
```
See: [Interfaces](https://flow.org/docs/quick-reference.html#interfaces)
### Functions
```js
const callback: () => void = function () {}
```
```js
function filter<T> (
list: Array<T>,
callback: (item: T) => boolean
): Array<T> {
···
}
```
See: [Functions](https://flow.org/docs/functions.html)
### Imports
```js
import type { Person } from '../person'
import typeof Config from '../config'
```
```js
export type Person = { id: string }
```
### Comment syntax
```js
/*::
export type Foo = { ... }
*/
function add(n /*: number */) { ... }
```
### React
```js
React$Element<any>
```
```js
class Foo extends React.Component {
/*:: state: { open: boolean } */
/*:: props: { open: boolean } */
}
```
## Examples
### Examples
```js
var myNumbers: Array<number> = [42]
function foo(): any { return 42 }
var b: boolean = false
var b: ?boolean = false /* maybe */
var b: string | boolean = false
var a: Class<MyClass> = MyClass
var b: MyClass = new a()
```
### Function signature
```js
var add: ((num1: number, num2: number) => number) = function (num1, num2) {
return num1 + num2
}
```
You don't need to do this! It's inferred. This is better:
```js
var add = function (num1: number, num2: number) {
return num1 + num2
}
```

View File

@ -1,168 +0,0 @@
---
title: Flow
---
### Simple failing example
```js
/* @flow */
function foo(x) { return x * 10; }
foo('Hello, world!');
```
### Annotations
```js
// Simple
function foo(x: string, y: number): string { ... }
// Arrays
function total(numbers: Array<number>) { ... }
```
### Primitives
```
any
boolean
mixed
number
string
void // undefined
null // null (but not undefined)
?number // maybe (number | void | null)
{a: Number} // object with a shape
[any, number] // tuples (fixed-length arrays)
Array<T>
Class<T>
Function
Object
```
## [Dynamic object keys](https://flowtype.org/docs/objects.html#objects-as-maps)
```js
type Items = {
[key: string]: Item
}
```
## [Enums](https://flowtype.org/docs/utility-types.html#keyst)
```js
type Suit = "Diamonds" | "Clubs" | "Hearts" | "Spades"
const countries = {
US: "United States",
IT: "Italy",
FR: "France"
}
type Country = $Keys<typeof countries>
```
## [Type aliases](https://flowtype.org/docs/quick-reference.html#type-aliases)
```js
type Tree = {
foo: string,
bar: number,
qux: (foo: string, bar: number) => boolean
}
type Generic<T> = {
foo: T
}
```
## [Generic classes](https://flowtype.org/docs/quick-reference.html#generics)
```js
class GenericClass<T> {
x: T;
constructor (x: T) { ... }
}
var n: GenericClass<number> = new GenericClass(0)
```
## [Interfaces](https://flowtype.org/docs/quick-reference.html#interfaces)
```js
interface Jsonable {
toJSON(): string
}
class Foo {
toJSON() { return '{}' }
}
(new Foo: Jsonable)
```
## [Functions](https://flowtype.org/docs/functions.html)
```js
const callback: () => void = function () {}
```
```js
function filter<T> (list: Array<T>, callback: (item: T) => boolean): Array<T> {
}
```
## Imports
```js
import type { Person } from '../person'
import typeof Config from '../config'
```
```js
export type Person = { id: string }
```
## Examples
```js
var myNumbers: Array<number> = [42]
function foo(): any { return 42 }
var b: boolean = false
var b: ?boolean = false /* maybe */
var b: string | boolean = false /* maybe */
var a: Class<MyClass> = MyClass
var b: MyClass = new a()
// Function signature
var add: ((num1: number, num2: number) => number) = function(num1, num2) {
return num1 + num2;
};
```
## Comment syntax
```js
/*::
export type Foo = { ... }
*/
function add(n /*: number */) { ... }
```
## React
```js
React$Element<any>
```
```js
class Foo extends React.Component {
/*:: state: { open: boolean } */
/*:: props: { open: boolean } */
}
```

View File

@ -1,7 +1,6 @@
---
title: Homebrew
layout: 2017/sheet
tags: [Featured]
---
### Commands

View File

@ -1,7 +1,8 @@
---
title: Meta tags
title: HTML meta tags
category: HTML
layout: 2017/sheet
updated: 201708
---
### Meta tags

View File

@ -2,6 +2,7 @@
title: Sketch
category: Apps
layout: 2017/sheet
updated: 201708
---
Shortcuts