Following proposal by @littledan
THIS NO LONGER MATCHES THE PROPOSED API AND SHOULD NOT BE USED
Just proof-of-concept. Do not use in production.
var ContentEditable = React.createClass({ | |
shouldComponentUpdate: function(nextProps){ | |
return nextProps.html !== this.getDOMNode().innerHTML; | |
}, | |
componentDidUpdate: function() { | |
if ( this.props.html !== this.getDOMNode().innerHTML ) { | |
this.getDOMNode().innerHTML = this.props.html; | |
} |
// SVG2PNG | |
// By Cees Timmerman, 2024-04-05. | |
// Paste into console and adjust indices as needed. | |
let im = document.getElementsByTagName('img') | |
let fname = location.href | |
if (im.length < 1) { | |
let svg = document.getElementsByTagName('svg')[0] | |
let bb = svg.getBBox() | |
im = new Image(bb.width, bb.height) | |
im.src = 'data:image/svg+xml;charset=utf-8;base64,' + btoa(document.getElementsByTagName('svg')[0].outerHTML) |
curl -O http://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz | |
tar -xzf wget-1.17.tar.gz | |
cd wget-1.17 | |
./configure --with-ssl=openssl | |
./configure --with-ssl=openssl --with-libssl-prefix=/usr/local/ssl | |
make | |
sudo make install | |
wget --help | |
cd .. && rm -rf wget* |
package main | |
import ( | |
"fmt" | |
"os" | |
"os/exec" | |
"syscall" | |
) | |
func main() { |
:root { | |
--ease-in-quad: cubic-bezier(.55, .085, .68, .53); | |
--ease-in-cubic: cubic-bezier(.550, .055, .675, .19); | |
--ease-in-quart: cubic-bezier(.895, .03, .685, .22); | |
--ease-in-quint: cubic-bezier(.755, .05, .855, .06); | |
--ease-in-expo: cubic-bezier(.95, .05, .795, .035); | |
--ease-in-circ: cubic-bezier(.6, .04, .98, .335); | |
--ease-out-quad: cubic-bezier(.25, .46, .45, .94); | |
--ease-out-cubic: cubic-bezier(.215, .61, .355, 1); |
Following proposal by @littledan
THIS NO LONGER MATCHES THE PROPOSED API AND SHOULD NOT BE USED
Just proof-of-concept. Do not use in production.
// | |
// Please read http://codepodu.com/subdomains-with-golang/ | |
// It's just copy and paste :smile: | |
// | |
// | |
// URLs : | |
// http://admin.localhost:8080/admin/pathone | |
// http://admin.localhost:8080/admin/pathtwo | |
// http://analytics.localhost:8080/analytics/pathone | |
// http://analytics.localhost:8080/analytics/pathtwo |
Whether you're developing a web application with native-ish UI, or just a simple modal popup overlay that covers the viewport, when it comes to making things work on iDevices in Mobile Safari, you're in for a decent amount of pain and suffering. Making something "100% height" is not as easy as it seems.
This post is a collection of Mobile Safari's gotchas and quirks on that topic, some with solutions and fixes, some without, in good parts pulled from various sources across the internets, to have it all in one place. Things discussed here apply to iOS8, iOS9 and iOS10.
Screen real estate on smartphones is limited, so Mobile Safari collapses the browser chrome (address bar and optional tab bar at the top, and tool bar at the bottom) when the user scrolls down. When you want to make something span exactly the height of the viewport, or pin something to the bottom of the screen, this can get tricky because the viewport changes size (or
/* | |
Template literals for-loop example | |
Using `Array(5).join(0).split(0)`, we create an empty array | |
with 5 items which we can iterate through using `.map()` | |
*/ | |
var element = document.createElement('div') | |
element.innerHTML = ` | |
<h1>This element is looping</h1> | |
${Array(5).join(0).split(0).map((item, i) => ` |
### | |
import sys, requests | |
requests.get("https://api.robinhood.com/quotes/" + sys.argv[1] + "/") | |
### | |
import sys, json |