Skip to content

Instantly share code, notes, and snippets.

@dguo
dguo / karabiner.json
Last active March 23, 2019 02:35
blog - Remap Caps Lock to Escape and Control - caps-lock-karabiner
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"manipulators": [
{
"description": "Change caps_lock to control when used as modifier, escape when used alone",
"from": {
@dguo
dguo / caps-lock.ahk
Last active March 23, 2019 02:35
blog - Remap Caps Lock to Escape and Control - caps-lock-autohotkey
*CapsLock::
Send {Blind}{Ctrl Down}
cDown := A_TickCount
Return
*CapsLock up::
; Modify the threshold time (in milliseconds) as necessary
If ((A_TickCount-cDown) < 150)
Send {Blind}{Ctrl Up}{Esc}
Else
@dguo
dguo / animated-link-underline.css
Last active September 17, 2020 20:57
blog - Animated Multiline Link Underlines with CSS - code
@dguo
dguo / highlight.html
Created March 23, 2019 02:40
blog - How to Add Copy to Clipboard Buttons to Code Blocks in Hugo - highlight-markup
<div class="highlight">
<pre>
<code>...</code>
</pre>
</div>
@dguo
dguo / add-buttons.js
Last active March 24, 2019 03:24
blog - How to Add Copy to Clipboard Buttons to Code Blocks in Hugo - add-buttons
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
var button = document.createElement('button');
button.className = 'copy-code-button';
button.type = 'button';
button.innerText = 'Copy';
var pre = codeBlock.parentNode;
if (pre.parentNode.classList.contains('highlight')) {
var highlight = pre.parentNode;
highlight.parentNode.insertBefore(button, highlight);
@dguo
dguo / copy-code-button.css
Created March 23, 2019 02:42
blog - How to Add Copy to Clipboard Buttons to Code Blocks in Hugo - button-styling
.copy-code-button {
color: #272822;
background-color: #FFF;
border-color: #272822;
border: 2px solid;
border-radius: 3px 3px 0px 0px;
/* right-align */
display: block;
margin-left: auto;
@dguo
dguo / add-copy-buttons.js
Last active March 24, 2019 03:32
blog - How to Add Copy to Clipboard Buttons to Code Blocks in Hugo - add-copy-buttons
function addCopyButtons(clipboard) {
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
var button = document.createElement('button');
button.className = 'copy-code-button';
button.type = 'button';
button.innerText = 'Copy';
button.addEventListener('click', function () {
clipboard.writeText(codeBlock.innerText).then(function () {
/* Chrome doesn't seem to blur automatically,
@dguo
dguo / check-clipboard.js
Created March 23, 2019 02:46
blog - How to Add Copy to Clipboard Buttons to Code Blocks in Hugo - check-clipboard
if (navigator && navigator.clipboard) {
addCopyButtons(navigator.clipboard);
} else {
var script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard-polyfill/2.7.0/clipboard-polyfill.promise.js';
script.integrity = 'sha256-waClS2re9NUbXRsryKoof+F9qc1gjjIhc2eT7ZbIv94=';
script.crossOrigin = 'anonymous';
script.onload = function() {
addCopyButtons(clipboard);
};
@dguo
dguo / smart-loading.html
Last active March 24, 2019 03:37
blog - How to Add Copy to Clipboard Buttons to Code Blocks in Hugo - smart-loading
{{ if (findRE "<pre" .Content 1) }}
<script src="/js/copy-code-button.js"></script>
{{ end }}
@dguo
dguo / boxstarter.ps1
Last active April 16, 2019 22:00
Boxstarter config for Windows
# Run from a PowerShell prompt with administrative privileges:
# Install-BoxstarterPackage -PackageName <url> -DisableReboots
choco install anki
choco install autohotkey
choco install firefox-dev --pre
choco install googlechrome
choco install logitechgaming
choco install steam
choco install todoist