Skip to content

Instantly share code, notes, and snippets.

View robwierzbowski's full-sized avatar

Rob Wierzbowski robwierzbowski

View GitHub Profile
@robwierzbowski
robwierzbowski / modifiers.scss
Last active November 2, 2017 02:34
Example modifier rulesets
.userSummary {
/* element rules */
&.--compact {
/* modifier rules */
}
}
.image {
/* element rules */
@robwierzbowski
robwierzbowski / states.scss
Last active November 2, 2017 02:35
Example state rulesets
.image {
/* element rules */
&.-loading {
/* state rules */
}
&.-loaded {
/* state rules */
}
@robwierzbowski
robwierzbowski / variables.scss
Last active November 2, 2017 02:43
Example PostCSS variables usage
/* vars.css */
$off-black: hsl(0, 0%, 14%);
$serif-family: "Charter BT", "Times New Roman", serif;
/* component style.css */
@import 'vars.css';
.firstName {
@robwierzbowski
robwierzbowski / UserSummary.html
Last active November 2, 2017 02:57
UserSummary template example
<article styleName="userSummary --compact">
<img styleName="image -loading" src="/low-res.jpg" />
<div styleName="firstName">Mr. Jim</div>
<div styleName="lastName">Business</div>
</article>
@robwierzbowski
robwierzbowski / mixins.scss
Last active November 2, 2017 06:44
PostCSS mixin example
/* type.css */
@import 'vars.css';
@define-mixin header {
font-family: $font-sans;
font-weight: 600;
letter-spacing: -0.01em;
}
@robwierzbowski
robwierzbowski / UserList.html
Created November 2, 2017 02:48
UserList template example
<article styleName='userList'>
<h1 styleName='title'>Friends</h1>
<ul styleName='users'>
<li styleName='user'>
<UserPreview user={1} compact={true} />
</li>
<li styleName='user'>
<UserPreview user={2} compact={true} />
</li>
<li styleName='user'>
@robwierzbowski
robwierzbowski / non-additive.scss
Last active November 2, 2017 05:53
Example of non-additive styes
.userPreview {
border: 5px solid $off-black;
font-size: 1.5rem;
background: $light-gray;
&.--compact {
border: 1px solid $off-black;
font-size: 1rem;
background: transparent;
}
@robwierzbowski
robwierzbowski / additive.scss
Last active November 2, 2017 05:54
Example of additive styles
.userPreview {
border: solid $off-black;
&.--default {
border-width: 5px;
font-size: 1.5rem;
background: $light-gray;
}
&.--compact {
@robwierzbowski
robwierzbowski / index.js
Last active November 15, 2017 16:52
No `sort()` anagram tester
// Takes two strings.
// Returns true if they're anagrams, false if not.
function isAnagram (a, b) {
const remove = (string, pattern) => string.replace(new RegExp(pattern, 'ig'), '');
// Discard whitespace; anagrams can be different numbers of words
let lettersA = remove(a, '\\s');
let lettersB = remove(b, '\\s');
@robwierzbowski
robwierzbowski / switch_to_npm_registry.sh
Last active September 28, 2024 20:24
Configure yarn to use the npm registry directly
#!/bin/bash
# Remove all settings in the .npmrc except the required auth token setting.
echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' > .npmrc
# Create a new .yarnrc that specifies the npm registry, or append to an existing one.
echo 'registry: https://registry.npmjs.org/' >> .yarnrc
# Remove and regenerate the yarn.lock. This should be identical to running `yarn upgrade`.
# If you are uncomfortable regenerating the yarn.lock file, you can comment out the next