Some notes on making a website using HTML5, CSS, and JavaScript.
- Mozilla Developer Network - Mozilla's wiki for everything about the web (HTML, CSS, JS).
- Codrops' CSS Reference - Best CSS reference I've found, covers every CSS property in-depth.
- Can I use... - See if the main browsers support a specific HTML, CSS, or JS feature.
- SASS/SCSS - Because vanilla CSS sucks.
- Media queries - For responsive design "breakpoints".
- box-sizing - I prefer
border-box
over the defaultcontent-box
, the difference is explained in the page linked. - calc() - Really useful for sizing things based on the viewport, e.g.
calc(100vw - 20px)
. - Flexboxes - Also useful for responsive design, layout using flexbox can dynamically reorganize itself based on device size. See also this tutorial on using flexbox. It takes a while to wrap your head around this, don't worry if you're confused at first.
- CSS transitions - For simple animation of an element.
- CSS keyframes - For more complex animation of an element.
My "web framework of choice", Ruby on Rails provides a base template for websites with a lot of flexibility, a very mature community with lots of open source applications to learn from, as well as gems to use.
- Ruby on Rails - The Rails GitHub repo
- Getting Started with Rails - Read the Getting Started page before getting your hands dirty. I'd also strongly recommend giving the official guide a thorough read if/when you get stuck.
- Ruby Gems - Gems are the "plugins" of Ruby, Ruby Gems is a great place to find information on them.
- Thoughtbot - Thoughtbot has a lot of useful articles on Rails best-practices, as well as a lot of open source gems and Rails apps.
- Big Open Source Rails Apps - A list of large open-source Rails applications. I've always found looking through other people's projects to be hugely beneficial to learning any framework.
- The Ruby on Rails Podcast - If you're into podcasts, this is a great one to learn more about Rails' best practices, upcoming features, and popular gems/projects.
Notes:
- I would personally recommend against using CoffeeScript, the default JavaScript "dialect" for Rails, as vanilla JavaScript/JQuery is important to have a grasp of first. Plus you'll have trouble understanding most JS tutorials if you only know CoffeeScript.
My personal recommended text editor. Atom and Brackets may work, but neither are as fast or as mature as Sublime.
- Sublime Text
- Package Control - A "package manager" for Sublime Text themes and extensions.
- Some good packages:
- CSS3 - Adds support for newer CSS properties for Sublime's syntax highlighting.
- Syntax Highlighting for Sass - Support for Sass/SCSS syntax highlighting
- Color Highlighter - Highlights HEX color codes with the color they represent.
- Autoprefixer - For easily supporting older/crappy browsers that don't have great support for the newest CSS properties. This essentially adds automatic vendor prefixes.
- Some good themes:
- Monokai SublimeLinter - The theme I personally use
- Spacegray
- Dracula
Hopefully in the future Lime Text will become a viable open source alternative, but until then I'd recommend Sublime.