Skip to content

Instantly share code, notes, and snippets.

View magasine's full-sized avatar

Manoel Garcia da Silveira Neto magasine

View GitHub Profile
@magasine
magasine / textFragmentToPostOnTwitter.js
Last active September 26, 2023 01:27
Text fragment to post on twitter - Bookmarklet
(async () => {
const selectedText = document.title + '\n...\n"' + getSelection().toString() + '"\n...';
const newUrl = new URL(location);
newUrl.hash = `:~:text=${encodeURIComponent(selectedText)}`;
const tweetText = encodeURIComponent(selectedText);
const tweetUrl = encodeURIComponent(newUrl);
const twitterUrl = `https://twitter.com/intent/tweet?text=${tweetText}&url=${tweetUrl}`;
@magasine
magasine / datasSemaforo.js
Created February 19, 2023 19:47
! Datas, Semáforo de (v20230219) - bookmarklet
(function () {
var datePattern = /(\d{2})\/(\d{2})\/(\d{4})/;
var today = new Date();
var dateNodes = [];
function isToday(date) {
var now = new Date();
return date.getDate() === now.getDate() &&
date.getMonth() === now.getMonth() &&
date.getFullYear() === now.getFullYear();
@magasine
magasine / destacaAgContrato.js
Last active February 19, 2023 13:21
Destaca Ag-Contrato v20230219 (bookmarklet)
javascript: (function () {
var pattern = /(?<=\s|^)(?<gSR>\d{2})([\.\/\s-])?(?<gAG>\d{1,4})([\.\/\s-])?(?<gOP>\d{3})([\.\/\s-])?(?<gCONTRATO>\d{1,7})([\.\/\s-])?(?<gDV>\d{2})(?=\s|$)/g;
var textNodes = [];
function recurse(node) {
if (node.nodeType === Node.TEXT_NODE) {
textNodes.push(node);
} else {
for (var i = 0; i < node.childNodes.length; i++) {
@magasine
magasine / scrollToHighlights.js
Last active December 23, 2022 05:15
! Scroll to highlights - Toggle (bookmarklet)
javascript: (function () {
let vCounter = 0;
let objAnchors = {};
let popup;
let popupStyle = `<style>
#id_popup:hover {
border: 2px solid red;
}
#id_popup {
background-color: yellow !important;
@magasine
magasine / saveLoadScrollPositionToggle.js
Last active October 13, 2022 00:35
! Save-Load Scroll Position Toggle (bookmarklet)
javascript: (function () {
if (!localStorage.getItem("position")) {
localStorage.setItem("position", document.documentElement.scrollTop);
target = prompt('Saved positon at: ' + localStorage.getItem("position") + '\nDefine a tag: ', '#yourTagName');
} else {
scrollTo(0, localStorage.getItem("position"));
alert('Go to load "' + target + '" at scroll position: ' + localStorage.getItem("position"));
localStorage.removeItem("position");
}
})();
@magasine
magasine / gistMarkletDirectLink.js
Last active October 7, 2022 17:55
! GistMarklet direct link (bookmarklet)
@magasine
magasine / scrollLeftOrRightToggle.js
Last active November 12, 2022 02:27
! Scroll Left or Right - Toggle (bookmarklet)
javascript : void(function () {
if ((window.innerWidth + window.scrollX) >= document.body.scrollWidth) {
window.scroll(0, 0);
} else {
window.scrollTo(document.documentElement.scrollWidth, 0);
}
})();
@magasine
magasine / scrollTopOrBottomToggle.js
Last active November 12, 2022 02:28
! Scroll Top or Bottom - Toggle (bookmarklet)
javascript: void (function () {
if ((window.innerHeight + window.scrollY) >= document.body.scrollHeight) {
window.scroll(0, 0);
} else {
window.scrollTo(0, document.body.scrollHeight);
}
})();
@magasine
magasine / cursorRulerLine.js
Last active September 14, 2022 02:10
! Cursor w/ ruler line - Toggle
javascript : (function () {
if (!document.getElementById("redLine")) {
h = document.createElement("div");
h.setAttribute("id", "redLine");
h.setAttribute("style", "width:100%;height:3px;background-color:red;font-size:inherit;line-height:inherit;position:absolute;left:0px;top:0px;z-index:999;opacity:1;");
document.getElementsByTagName("body")[0].appendChild(h);
window.onmousemove = function (e) {
var h = document.getElementById("redLine");
h.style.top = (e.pageY + 15) + "px";
h.setAttribute("class", e.pageY);
@magasine
magasine / qrCodeSelectOrInput.js
Created August 31, 2022 23:39
! QRcode Select or Input - Bookmarklet
javascript: (function (window, document, undefined) {
try {
var selectedText = document.getSelection().toString();
if (selectedText === "") {
selectedText = window.location.href;
}
if (selectedText !== "") {
var clipB = prompt("Content to qrCode renderize", selectedText);
if (clipB !== null) {
void navigator.clipboard.writeText(clipB);