Skip to content

Instantly share code, notes, and snippets.

View netsi1964's full-sized avatar

Sten Hougaard netsi1964

View GitHub Profile
@netsi1964
netsi1964 / getIphoneModelJSON.js
Last active September 13, 2017 10:08
Get Apple product JSON info
var model = {name:document.querySelector('.localnav-header a').innerText, url:document.location.href, variants:[],memory:[]}
Array.from(document.querySelectorAll('.as-dimension-choices li')).map(size => {
let name = size.querySelector('label').innerText;
let ram, price;
let isPrice = size.querySelector('img')===null
if (isPrice) {
ram = size.querySelector('.as-dimension-capacity-text').innerText.split(' ')[0];
price = parseFloat(size.querySelector('.price-point').innerText.split(' ')[0].replace('.','').replace(',','.'));
model.memory.push({ram,price})
} else {
@netsi1964
netsi1964 / toTimeString.js
Created September 12, 2017 07:18
Convert a youtube time to visual hh:mm:ss
Object.prototype.toTimeString = function() {
var t = parseFloat(this);
var hou = (parseInt(t / 3600) % 24).toString().padStart(2, "0"),
min = (parseInt(t / 60) % 60).toString().padStart(2, "0"),
sec = parseInt(t % 60)
.toString()
.padStart(2, "0");
return `${hou}:${min}:${sec}`;
};
@netsi1964
netsi1964 / console_save.js
Created September 2, 2017 09:29
console snippet: how much in the HTML could be saved if removing HTML comments and newlines?
var source = document.documentElement.innerHTML;
var original = source.length
var saved = (original-(source.replace(/<!--.*?-->/g,'').replace(/\n/g,'').length));
console.log("This page could be reduced by "+saved+" bytes, which is around "+Math.round(saved/original*100)+"%")
@netsi1964
netsi1964 / RawHTML.js
Created August 22, 2017 06:30
RawHTML: ReactJS pure component to render HTML
const RawHTML = ({children, className = ""}) =>
<div className={className} dangerouslySetInnerHTML={{ __html: children.replace(/\n/g, '<br />')}} />
@netsi1964
netsi1964 / CopyToClipboard.jsx
Last active March 17, 2025 15:22
ReactJS component: Copy to clipboard
class CopyToClipboard extends React.Component {
copy() {
const textarea = this.textarea;
let { text, onCopy, silent } = this.props;
silent =
typeof silent === "boolean" ||
silent.toLowerCase() == "true" ||
silent == "1";
textarea.value = onCopy.call(this, text);
textarea.select();
@netsi1964
netsi1964 / facebookGroupInfo.js
Created August 6, 2017 10:23
Console snippet: Get Facebook Group information
var sel = "div > div > div > div.clearfix > div._gll > a";
var count = "div._glm > div";
var desc = "div._glo > div";
var groups = Array.from(document.querySelectorAll(sel));
var foundInfo = {};
var json = "";
groups.map(ele => {
var members = ele.parentNode.parentNode.parentNode
.querySelector(count)
.innerText.split(" ")[0];
@netsi1964
netsi1964 / getContentInfo.cs
Created July 31, 2017 14:34
Make HEAD request to get content info as JSON
//Rextester.Program.Main is the entry point for your code. Don't change it.
//Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
using System;
using System.Net.Http;
namespace Rextester
{
public class Program
@netsi1964
netsi1964 / README.md
Created July 18, 2017 08:15
ES8 aka ES2017 aka EcmaScript 8 aka EcmaScript 2017 released
@netsi1964
netsi1964 / imgToDummyImage.js
Created July 12, 2017 07:00
Replaces any image on page with a Dummyimage.com image showing size
var image = Array.from(document.querySelectorAll('img'));
image.map((ele,i) => {
var {width, height} = getComputedStyle(ele);
var newSrc = `http://dummyimage.com/${parseInt(width)}x${parseInt(height)}`;
if ('src' in ele) {
ele.setAttribute('src', newSrc)
} else {
var url = ele.style.backgroundImage;
console.log(url)
if (url) {
@netsi1964
netsi1964 / SVGPathMinipulation.js
Last active June 14, 2017 07:00
SVG Path manipulation
var path = document.querySelector("path");
function getPathCommands(pathElement) {
var data = pathElement.getAttribute("d");
var ofs = 0;
var indexes = data.match(/[hvmlcqtsaz]/gi).map(function(cmd, i) {
ofs += data.substr(ofs).indexOf(cmd) + 1;
return ofs - 1;
});
var commands = [];
indexes.map(function(curr, i) {