#todayilearned
by @jm3 · aka
John Manoogian
3
Frequent, bite-size mini-milestone updates as I fast-forward merge
*
my front-end web development skills up to 2019 levels.
Learn more
Learnings
Projects
Tags
All learnings
Jul 18, 2019
When it's safe to Git Force Push with Rebase
—
git push –force-with-lease
Command Line
Jul 17, 2019
React, Javascript, and 'The Great Divide'
—
Between the front of the front end and the back of the front end
Javascript
Vue.js
React
Lore
Jul 17, 2019
Smashing the Sacred Tenets of CSS
—
It’s time for a new religion around CSS
CSS3
Code
Jul 17, 2019
Live Server: a Simple CLI Server
—
npm i -g live-server; live-server public
Command Line
Javascript
Bundling
Jul 17, 2019
Create New Github Repos from the CLI
—
Using the Hub helper tool
Command Line
Jul 13, 2019
Duotones and gradient maps
—
A beautiful effect, dating back ages
Color
Images
Jul 12, 2019
A little-known way to style Table Columns in CSS
—
besides classes and td:nth-child(N)
CSS3
HTML5
Lore
code
Jul 12, 2019
CSS Combinators
—
for when you need to COMBINATE
CSS3
Code
Jul 12, 2019
A catalog of CSS Attribute / Value Selectors
—
*
CSS3
Code
Jul 11, 2019
Debugging responsive breakpoints in browser
—
using media queries and some clever but simple CSS
Code
CSS3
HTML5
Debugging
Responsive
Jul 11, 2019
Responsive Image Directory Structure
—
Or, why my images are not in “img”
CSS3
Command Line
Images
Command Line
Responsive
Jul 5, 2019
List of Responsive Mobile Navigation Patterns
—
6 solid ways to make mobile-friendly menus
CSS3
Mobile
Responsive
Jul 4, 2019
Ems are NOT as wide as Ms!
—
Times have changed
CSS3
Lore
Jul 3, 2019
REm Sizing for CSS Text
—
Ad Rem*: REM REM REM
CSS3
Jul 2, 2019
The text-size-adjust property in CSS
—
Control how mobile browsers and smartphones “inflate” text sizes
CSS3
Mobile
Responsive
Jul 1, 2019
HTML: a new aesthetic
—
Or, Jade is now Slim is now Pug, which is basically Haml
HTML5
Javascript
Jun 30, 2019
ASCIInema - the cinema of ASCII
—
Embeddable, extremely efficient low-bandwidth ASCII terminal screencasts
Command Line
Hugo
Jun 29, 2019
Debugging and inspecting your NPM environment
—
dump your npm environment
Javascript
Command Line
Debugging
Jun 28, 2019
Scratch variables in Hugo templates
—
Circumvent Go’s variable scope limits with the $scratch variable
Hugo
Jun 27, 2019
Syntax Highlighting
—
Drastically improved
code
CSS3
Color
Debugging
Hugo
Jun 26, 2019
Hue, Saturation, Lightness
—
HSL/HSLA is the best format for describing colors in CSS
CSS3
Color
Jun 25, 2019
BASEOF in Hugo templating
—
A bit like Ruby’s elegant :yield construct, but without the elegance
Hugo
Command Line
Jun 25, 2019
Repeatable AWS Amplify Console Docker builds
—
Download your amplify.yml and keep it updated as your build evolves
command-line
debugging
Jun 24, 2019
The evolution of color names in CSS
—
the first version of the CSS spec supported only 16 named colors
CSS3
Lore
Color
Jun 23, 2019
Named colors in Stylelint
—
“always where possible”
CSS3
Color
Command line
Jun 22, 2019
Best practices for naming your NPM scripts
—
Today I learned there are some recommended best practices for naming NPM scripts.
command-line
Jun 22, 2019
Hugo's internal templates
—
common utilities, pre-baked for you
Hugo
HTML5
Jun 21, 2019
Ion icons
—
clean, free icons
css3
html5
Jun 20, 2019
TimerLink in Flinto
—
Loop Flinto animations automatically
flinto
Jun 20, 2019
Filter arrays in JS
—
using array.filter
Javascript
Jun 20, 2019
Force push to Git from Atom
—
Because you can never have too much unfettered power
Editor
Jun 19, 2019
Commenting within Hugo templates
—
without being stripped out by the processor
code
Hugo
Debugging
Jun 19, 2019
Find markup errors with HTML hint
—
linters? hinters?
HTML5
Editor
Debugging
Jun 18, 2019
Hugo shortcode for Giphy embeds
—
embed gifs directly within markdown
html5
hugo
Jun 18, 2019
The :first-of-type CSS element selector
—
select the first of a group of similar elements
CSS3
Jun 18, 2019
Vue event handling
—
and un-bubbling
Vue.js
Jun 17, 2019
CSS Grid - a visual guide
—
from CSS Tricks
CSS3
Grid
Jun 17, 2019
Name your CSS classes with emoji
—
Why not? Embrace chaos. 😂
code
CSS3
Jun 16, 2019
Debug CSS grids with the Firefox Grid Inspector
—
Once again, Firefox kicks butt with its built-in developer tools that started it all.
CSS3
CSS Grid
Debugging
Jun 16, 2019
Inline-ing SVG
—
Save a network call and gain styling benefits
Code
HTML
SVG
Jun 16, 2019
Place content in grids by element (DOM) order
—
Welcome to autoplacement.
HTML5
CSS3
Grid
Jun 15, 2019
CSS zoom upon hover
—
smooth zoomness
CSS3
Jun 15, 2019
the CSS repeat() function
—
CSS Grid introduces a handy repeat function to help speed up grid definition
CSS3
Grid
Jun 15, 2019
the HTML5 <figure> tag
—
…wraps explicit art. (No, not that kind of explicit art.)
html5
Jun 14, 2019
JSON api to markdown post creation
—
Airtable → Ruby → Hugo markdown converter
command-line
hugo
Jun 14, 2019
Nuxt.js: what is it?
—
a framework for creating Vue.js apps
Vue.js
Javascript
Jun 14, 2019
Save time with CSS grid area start/end shortcuts
—
Because who has time to type all this stuff out?
code
CSS3
Grid
Jun 13, 2019
Naming Vue singletons
—
Recommendation: name your Vue singleton components starting with “The”, e.g. TheComponent.
Vue.js
Jun 13, 2019
Object constancy
—
keeping things consistent
Javascript
Vue.js
Jun 13, 2019
Remove git submodules
—
it’s a lot easier than it used to be
command-line
Jun 12, 2019
SVG make great backgrounds
—
So smooth, so scalable!
css3
svg
Jun 12, 2019
Pre-Rendering vs. Server-side Rendering
—
What’s the difference?
Javascript
Jun 12, 2019
Use the relURL fn in Hugo templates
—
Given a string, relUrl prepends the relative URL according to a page’s position in the project directory structure.
Hugo
Jun 11, 2019
Auto-focus an input element
—
pretty much exactly what it sounds like, no JS necessary
HTML5
Code
Jun 11, 2019
Babel.js: what is it?
—
travel through time to a future where Javascript is different!
javascript
tools
Jun 11, 2019
Stylelint
—
A mighty, modern linter helping you avoid errors and enforce style conventions.
css3
command line
tools
Jun 10, 2019
Axios: what is it?
—
a Promises-based HTTP client for the browser and Node
Javascript
Jun 10, 2019
Find security vulnerabilities in libraries with Lighthouse
—
Don’t get XSS’d
Hugo
Command Line
Jun 10, 2019
HTML nerd terminology
—
Self closing tags are called void elements
HTML5
Jun 9, 2019
Format HTML + CSS with JS-beautify
—
JS-Beautify doesn’t just beautify JS
HTML5
Jun 9, 2019
Hugo archetypes define post templates
—
template your markdown content creation
Hugo
Jun 9, 2019
Javascript template literals
—
interpolate expressions within strings
Javascript
Jun 8, 2019
AWS Amplify Console for CI/CD pipelines
—
glue to unify the AWS service zoo for front-end devs
code
command line
tools
Jun 8, 2019
Create + reference a native CSS variable
—
CSS now has variables — it only took 20 years! 😲
code
CSS3
Color
Jun 8, 2019
Save or apply a git patch
—
git diff > foo.patch; git reset; echo do stuff; git apply foo.patch Learn more about git patches
Command Line
Jun 7, 2019
Bind DOM elements to data - 2-way binding
—
in Vue.js
Vue.js
Jun 7, 2019
Stylelint on the command line
—
Stylelint isn’t just for editors.
CSS3
Command Line
Jun 6, 2019
Bind DOM elements to data - 1-way binding
—
in Vue.js
Vue.js
Jun 6, 2019
CSS selector performance
—
Prefer class-attribute to element-attribute selectors
CSS3
Debugging
Jun 6, 2019
Flag risky CSS with the 'no-unsupported-browser-features' stylelint plugin
—
Find and fix browser compatibility issues
before
you go live
CSS3
Command Line
Debugging
Jun 5, 2019
Emmet
—
an editor’s helper for web-developers
Editor
tools
Jun 5, 2019
Scale inline SVG proportionally using calc() and var()
—
Now this one is subtle!
CSS3
HTML5
SVG
Jun 5, 2019
Vue ViewModel instances
—
the five elements
Vue.js
Jun 4, 2019
Target content to grid areas by named area
—
AKA using the ASCII-art syntax for CSS Grid
css3
css grid
Jun 4, 2019
Vue templating gotchas
—
Some tips and common mistakes when writing Vue.js templates
Vue.js
Debugging
Jun 4, 2019
WebM video files
—
An open source container video format
code
Flinto
tools
Jun 3, 2019
Using the "even" and "odd" keywords in CSS selectors
—
Alternating, zebra-row styling
CSS3
Code
Jun 3, 2019
Vue template syntactic sugar
—
Some shortcuts that can save time but also obfuscate meaning.
Vue.js
Jun 3, 2019
Vue's magical key mapping
—
…from ‘CamelCase’ to ‘kebab-case’ in bind object expressions
Vue.js
Jun 2, 2019
Computed properties in Vue
—
cached by reactive dependencies
Vue.js
Jun 2, 2019
Style HTML <select> menus in CSS
—
with :after and content:
HTML5
CSS3
Jun 2, 2019
Vue template directives
—
the basics
Vue.js
Jun 2, 2019
nth-last-child(num) - the reverse (Polish) selector
—
selecting from the last element backwards
CSS3
Jun 1, 2019
Bundle simply with Parcel, a webpack alternative
—
Do you value convention over configuration? Do you strive for simplicity? then Parcel may be for you.
CSS3
Command Line
Bundling
Jun 1, 2019
FlexBox 101
—
one-dimensional (linear) layouts
code
CSS3
Flexbox
Jun 1, 2019
Splice using Array.splice
—
The swiss-army knife of arrays
code
Javascript
Jun 1, 2019
The nth-of-type(num) CSS element selector
—
They say you’re not supposed to have a favorite child. But what if you do?
CSS3
Jun 1, 2019
Use the -root {} CSS pseudo-class
—
like the html {} selector, but with even higher precedence
CSS3
Jan 1, 0001
Responsive image markup
—
A strange and wonderful confluence of new elements and attributes
HTML5
Images
Responsive