I hereby claim:
- I am jasonreiche on github.
- I am jasonreiche (https://keybase.io/jasonreiche) on keybase.
- I have a public key ASBRchzZLWP3_0VuyGCP1vVPBQ6UXuGYPJGOxlL0xjpuewo
To claim this, I am signing this object:
(()=> { | |
// Add a pink background to all headings | |
const s = document.createElement("style"); | |
s.innerText = "h1, h2, h3, h4, h5, h6 { background-color: pink; }"; | |
document.head.appendChild(s); | |
// Spell check and make content editable | |
document.body.contentEditable = true; | |
document.body.spellcheck = true; |
/** | |
* Snippet that can be run on a Google Group membership list to get a list that can be pasted into a spreadsheet. | |
* Paste and then rerun on each page of members to get full list. Includes names. | |
*/ | |
// Version 1 | |
copy([...document.querySelectorAll('div[aria-label="Group Members"] > div:not(:first-child) > div > span:nth-child(1) > div[jsslot] div > div:nth-child(1) > div')].map(e=>e.innerText).join('\n')); | |
// Version 2 | |
copy([...document.querySelectorAll("div[aria-label='Group Members'] > div[role='row']")].map(row => row.innerText.replaceAll("\n", "\t")).join("\n")) |
[...document.querySelectorAll("#targets")].forEach(targetEl => { | |
var targetStyles = window.getComputedStyle(targetEl); | |
var comparisonEl = document.createElement(targetEl.tagName); | |
var comparisonStyles = window.getComputedStyle(comparisonEl); | |
var cleanStyles = {}; | |
Object.entries(targetStyles).forEach(style=>{ | |
if(comparisonStyles[style[0]] !== style[1]){ | |
cleanStyles[style[0]] = style[1]; | |
} | |
}); |
I hereby claim:
To claim this, I am signing this object:
/* Show language of links if non-English - | |
Language Codes: https://www.w3schools.com/tags/ref_language_codes.asp | |
*/ | |
a[hreflang]:after { | |
color: #555; /* Change \ supersede to match theme as needed */ | |
content: " [" attr(hreflang) "]"; /* Fallback to showing hreflang as content if match isn't found below */ | |
vertical-align: super; | |
font-size: 70%; | |
} | |
a[hreflang^= 'ab']:after { content: ' [Abkhazian]'; } |
kbd { | |
padding: 0.05em 0.4em; | |
border: 1px solid #ccc; | |
font-size: 11px; | |
font-family: Arial, Helvetica, sans-serif; | |
background-color: #eee; | |
color: #222; | |
-moz-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #ffffff inset; | |
-webkit-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #ffffff inset; | |
box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #ffffff inset; |
const maxCol = 2; | |
const table = document.querySelector("table#target"); | |
// Use an array spread to quickly iterate rows in table | |
[...table.getElementsByTagName("TR")].forEach(row => { | |
// delete all columns beyond max | |
while (row.children.length > maxCol) { | |
row.children[maxCol].remove(); | |
} | |
}) |
'objItem in this example would be a Scripting.FileSystemObject passed into a function | |
Dim objShell, objFolder, objFolderItem, objProps | |
Set objShell = CreateObject("Shell.Application") | |
Set objFolder = objShell.Namespace(objItem.ParentFolder.Path) ' File folder path without filename. | |
Set objFolderItem = objFolder.ParseName(objItem.Name) ' Filename without path. | |
set objProps = CreateObject("Scripting.Dictionary") | |
On Error Resume Next | |
For i = 0 To 512 |