Skip to content
View henriquemor's full-sized avatar

Block or report henriquemor

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
henriquemor/README.md

๐Ÿ‘‹ Let's ๐Ÿ› ๏ธ together.

  • ๐Ÿ“ซ How to reach me: [email protected] [skip the formalities]
  • ๐Ÿ’ป I'm a designer and developer driven by curiosity, always on the lookout for new skills to master
  • ๐Ÿ“ข Looking to collaborate on new projects, specially games [Godot/Unreal]
  • ๐Ÿ’ฌ Ask me about science, art, games and sci-fi
  • ๐Ÿค“ Creating bookmarklets/userscripts for fun

๐Ÿ‡ง๐Ÿ‡ท๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ‡ฎ๐Ÿ‡น


PHP Laravel Framework MySQL Database PostgreSQL Database Javascript
Vue.js Javascript Framework HTML 5 CSS 3 Godot Engine Three.js


Support Tip Jar

Pinned Loading

  1. StudyDashboard StudyDashboard Public

    Dashboard to visualize your study progress. Inspired by the old duolingo timeline.

    HTML

  2. draw-bookmarklet draw-bookmarklet Public

    Bookmarklet scratchpad that lets you draw over webpages, with touch and pen pressure support.

    JavaScript 1

  3. covid19-Brazil-timeseries covid19-Brazil-timeseries Public

    Data collection to analyze the dissemination of COVID-19 through Brazilian states. Contributions are welcome.

    44 12

  4. Bookmarklets Bookmarklets
    1
    // Highlights the selected text
    2
    javascript: function randomColor(brightness){  colors=['FF595E','FFCA3A','8AC926','509ece','af80ce','F4A261','ffe272'];  var cor = colors[Math.floor(Math.random()*colors.length)];  return cor;    }(()=>{const DEFAULT_BACKGROUND_COLOR='#'+randomColor();const e=t=>{switch(t.nodeType){case Node.TEXT_NODE:return[t];case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:return Array.prototype.map.call(t.childNodes,t=>e(t)).flat();default:return[]}},t=(e,n=0)=>{switch(e.nodeType){case Node.TEXT_NODE:{if(n<e.length)return e;let r=null;for(;!(r=e.nextSibling)&&(e=e.parentNode););return r?t(r):null}case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:{const r=e.childNodes,o=r.length;for(let e=n;e<o;e++){const n=t(r[e]);if(n)return n}let l=null;for(;!(l=e.nextSibling)&&(e=e.parentNode););return l?t(l):null}default:{let n=null;for(;!(n=e.nextSibling)&&(e=e.parentNode););return n?t(n):null}}},n=(e,t=e.length||e.childNodes.length)=>{switch(e.nodeType){case Node.TEXT_NODE:{if(t>0&&e.length>0)return e;let r=null;for(;!(r=e.previousSibling)&&(e=e.parentNode););return r?n(r):null}case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:{const r=e.childNodes;for(let e=t;e-- >0;){const t=n(r[e]);if(t)return t}let o=null;for(;!(o=e.previousSibling)&&(e=e.parentNode););return o?n(o):null}default:{let t=null;for(;!(t=e.previousSibling)&&(e=e.parentNode););return t?n(t):null}}},r=(e,t)=>{const n=document.createElement("mark");return n.style.backgroundColor=t,e.parentNode.replaceChild(n,e),n.appendChild(e),n},o=(o,l)=>{(e=>{const r=e.startContainer,o=e.startOffset;switch(r.nodeType){case Node.TEXT_NODE:o>0&&e.setStart(r.splitText(o),0);break;case Node.ELEMENT_NODE:e.setStart(t(r,o),0)}const l=e.endContainer,a=e.endOffset;switch(l.nodeType){case Node.TEXT_NODE:a<l.length&&l.splitText(a);break;case Node.ELEMENT_NODE:const t=n(l,a);e.setEnd(t,t.length)}})(o);const a=o.commonAncestorContainer;switch(a.nodeType){case Node.TEXT_NODE:r(a,l);break;case Node.ELEMENT_NODE:const t=e(a),n=t.lastIndexOf(o.endContainer);for(let e=t.indexOf(o.startContainer);e<=n;e++)r(t[e],l)}},l=(e=window)=>{try{const t=e.getSelection();return t&&t.rangeCount>0?[t,...Array.prototype.flatMap.call(e.frames,e=>l(e))]:Array.prototype.flatMap.call(e.frames,e=>l(e))}catch(e){return console.error(e),[]}};(e=>{for(const t of l()){const n=t.rangeCount;for(let r=0;r<n;r++)try{o(t.getRangeAt(r),e)}catch(e){console.error(e)}t.removeAllRanges()}})(DEFAULT_BACKGROUND_COLOR)})();
    3
    
                  
    4
    // prompt to add new css
    5
    javascript:(function(){var newcss=window.prompt("new css rule:", "!important}");var tag=document.createElement("style");tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=newcss})();