Skip to content

Instantly share code, notes, and snippets.

Avatar

Timo Lins timolins

View GitHub Profile
View manual typography plugin since i got fed up with dark mode.md

this is what i use so far, its obviously not a 100% replica of the typography plugin but looks good enough on my site

  /* replace typography plugin */
  .prose {
    @apply text-gray-700 dark:text-gray-300
  }
  .prose {
    & p {
@good-idea
good-idea / xstyled-styled-components.d.ts
Last active Dec 20, 2020
Type definitions for @xstyled/styled-components
View xstyled-styled-components.d.ts
declare module '@xstyled/styled-components' {
import _styled, {
StyledComponent,
ThemedStyledInterface,
ThemedStyledFunction,
DefaultTheme,
FlattenSimpleInterpolation,
} from 'styled-components'
export * from 'styled-components'
@danielgtaylor
danielgtaylor / gist:0b60c2ed1f069f118562
Last active Jan 25, 2021
Moving to ES6 from CoffeeScript
View gist:0b60c2ed1f069f118562

Moving to ES6 from CoffeeScript

I fell in love with CoffeeScript a couple of years ago. Javascript has always seemed something of an interesting curiosity to me and I was happy to see the meteoric rise of Node.js, but coming from a background of Python I really preferred a cleaner syntax.

In any fast moving community it is inevitable that things will change, and so today we see a big shift toward ES6, the new version of Javascript. It incorporates a handful of the nicer features from CoffeeScript and is usable today through tools like Babel. Here are some of my thoughts and issues on moving away from CoffeeScript in favor of ES6.

While reading I suggest keeping open a tab to Babel's learning ES6 page. The examples there are great.

Punctuation

Holy punctuation, Batman! Say goodbye to your whitespace and hello to parenthesis, curly braces, and semicolons again. Even with the advanced ES6 syntax you'll find yourself writing a lot more punctuatio

View bling.js
/* bling.js */
window.$ = document.querySelectorAll.bind(document);
Node.prototype.on = window.on = function (name, fn) {
this.addEventListener(name, fn);
}
NodeList.prototype.__proto__ = Array.prototype;
View metadata.proto
package spotify.metadata.proto;
option optimize_for = SPEED;
option java_package = "com.spotify.metadata.proto";
option java_outer_classname = "Metadata";
message TopTracks {
optional string country = 1;
repeated Track track = 2;
}