Skip to content

Instantly share code, notes, and snippets.

@metamn
Last active August 29, 2015 14:10
Show Gist options
  • Save metamn/fc44afb949dc1167a6fa to your computer and use it in GitHub Desktop.
Save metamn/fc44afb949dc1167a6fa to your computer and use it in GitHub Desktop.
Senior UI Developer Fetlife, by Csongor Bartus

1. Semantic HTML

2. Accessible HTML

3. CSS for large sites

  • the most difficult is to organize CSS files into an intuitive structure, understandable for a team, easily modifiable/extendable by anyone
  • for that I'm using the Atomic/Component model by Brad Frost http://demo.patternlab.io/ which builds UI systems bottom-up starting with Atoms > Molecules > Organisms > Structures > Pages
  • each of these layers share another orthogonal semantic layer like Grid, Typography, Decorations, etc
  • within this matrix locating a component is immediate and straightforward
Atoms Molecules Organisms Structures Pages
Grid Grid
Typography Typography Typography
Decorations Decorations Decorations
Navigation Navigation
Article Article

4. Performant CSS

  • If concerns are separated (HTML stays for structure, CSS for style) then less #id and .class rules are used making CSS fast
  • HTML5 and SCSS makes this separation intuitive. https://signalvnoise.com/posts/3003-css-taking-control-of-the-cascade
  • If different pages use very different styles then create separate .css files for every page, do not mix them into a single large file
  • Use UnCSS: this is automatically removes unused declarations
  • Compress CSS and zip it on delivery, make it cacheable

5. Styleguide driven design and development

6. Javascript

  • My primary language is Ruby then PHP then Javascript
  • I've used Javascript through jQuery in every project done since 2005
  • Lately I've switched from Ruby/Jekyll to Gulp and started to re-learn Javascript
  • The Eloquent Javascript book made me love this language, the Underscore.js library gives me more power than thought before
  • I'm fascinated by the Node.js philosophy: do one very small thing but do it best | then pipe together with other small things

7. SASS / SCSS

  • I'm working with SASS/SCSS since v0.0.1
  • I use Compass(Ruby gem) for cross browser compatibility, lately playing with Autoprefixer (Node.js module)
  • I have my own component library built with SCSS and using the Atomic Web Design model

8. Picturefill

9. SVG, SVG icon sets

  • I'm using Icomoon's SVG font generator for SVG icons. This way icons stay connected automatically with the CSS (color, size, etc.)
  • As a web dev I see lots of potential in SVG reducing page weight, as a designer I'm using it for magazine/print - like solutions

10. Views in Rails

  • Working with Rails between 2005-2009 on the full MVC stack. Using ERB for views.
  • Since then working with Ruby/Jekyll and Liquid for views
  • I've tried almost every templating language during different projects from Mustache to Swig.
  • I like the embedded approach maybe more than the logic-less views.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment