Skip to content

Instantly share code, notes, and snippets.

View pbojinov's full-sized avatar

Petar Bojinov pbojinov

View GitHub Profile
@pbojinov
pbojinov / msconvert.js
Last active April 8, 2018 02:33 — forked from remino/msconvert.js
/**
* Convert milliseconds to Hour:Minute:Seconds || Minute:Seconds
*
* @param {int} milliseconds
* @return {Object} h = hour, m = minute, s = seconds
*/
function convertMS(ms) {
var d, h, m, s;
s = Math.floor(ms / 1000);
m = Math.floor(s / 60);
/**
* Shuffle string like crazy
*
* @param {int} length desired
* @return {string} the shuffled string
*/
String.prototype.shuffle = function(size) {
var arr = this.split('');
for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x){};
arr = arr.join('');
@pbojinov
pbojinov / uri.js
Last active April 8, 2018 02:33 — forked from jlong/uri.js
Easy URI parsing by creating an anchor element and accessing its properties
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"
@pbojinov
pbojinov / selector.js
Created February 20, 2013 19:03
jQuery like selector
var $ = function (selector) {
var cl, id, alls, arrEle = [];
if (/^\./.test(selector)) {
cl = selector.replace(".", "");
alls = document.getElementsByTagName("*"), l = alls.length;
for (var i=0; i<l; i+=1) {
var name = alls[i].className, arrName = [];
if (name) {
arrName = name.split(" "), lName = arrName.length;
for (var j=0; j<lName; j+=1) {
jQuery.fn.autoresize = function (options) {
options = options || {}
return this.each(function () {
// Init Sizes
var parent = $(this).parent();
var imageWidth = $(this).width();
var imageHeight = $(this).height();
var parentWidth = parent.width();
var parentHeight = parent.height();
var ratio, newSide;
// tinyxhr by Shimon Doodkin - licanse: public doamin - https://gist.github.com/4706967
//
// tinyxhr("http://site.com/ajaxaction",function (err,data,xhr){ if (err) console.log("goterr ",err,'status='+xhr.status); console.log(data) });
// tinyxhr("http://site.com/ajaxaction",function (err,data,xhr){ if (err) console.log("goterr ",err,'status='+xhr.status); console.log(data) },'POST','value1=1&value2=2');
// tinyxhr("http://site.com/ajaxaction.json",function (err,data,xhr){ if (err) console.log("goterr ",err,'status='+xhr.status); console.log(data); console.log(JSON.parse(data)) },'POST',JSON.stringify({value:1}),'application/javascript');
// cb - a callback function like: function (err,data,XMLHttpRequestObject){ if (err) throw err; }
//
function tinyxhr(url,cb,method,post,contenttype)
{
// Example:
JavaScript.load("/javascripts/something.js");
// With callback (that’s the good thing):
JavaScript.load("http://www.someawesomedomain.com/api.js", function() {
API.use(); // or whatever api.js provides ...
});
@pbojinov
pbojinov / git-post-commit-picture.sh
Last active April 8, 2018 02:33 — forked from allolex/gist:4564357
imagesnap git post-commit photo rewrite
#!/bin/bash
function make_image_dir () {
TARGET_DIR=$1
if [ ! -d "${TARGET_DIR}" ]; then
mkdir "${TARGET_DIR}"
fi
}
function ignore_image_dir () {
TARGET_DIR=$1
GIT_IGNORE=$2
(function() {
var CSSCriticalPath = function(w, d) {
var css = {};
var pushCSS = function(r) {
// The last selector wins, so over-write
// merging existing css will happen here...
css[r.selectorText] = r.cssText;
};
var parseTree = function() {
<!DOCTYPE html>
<html>
<head>
<title>Box Shadow</title>
<style>
.box {
height: 150px;
width: 300px;
margin: 20px;