- We've got some components
A,BandCwhich provide different slots.const A = { template: `<div><slot name="a">Default A Content</slot></div>` }
const B = {
| #!/bin/bash | |
| # | |
| # git-mv-with-history -- move/rename file or folder, with history. | |
| # | |
| # Moving a file in git doesn't track history, so the purpose of this | |
| # utility is best explained from the kernel wiki: | |
| # | |
| # Git has a rename command git mv, but that is just for convenience. | |
| # The effect is indistinguishable from removing the file and adding another | |
| # with different name and the same content. |
| /** | |
| * A linear interpolator for hexadecimal colors | |
| * @param {String} a | |
| * @param {String} b | |
| * @param {Number} amount | |
| * @example | |
| * // returns #7F7F7F | |
| * lerpColor('#000000', '#ffffff', 0.5) | |
| * @returns {String} | |
| */ |
| .cursor { | |
| cursor: url("cursor.png") 0 0, pointer; /* Legacy */ | |
| cursor: url("cursor.svg") 0 0, pointer; /* FF */ | |
| cursor: -webkit-image-set(url("cursor.png") 1x, url("[email protected]") 2x) 0 0, pointer; /* Webkit */ | |
| } |
| Favorites: | |
| Unrefined: | |
| !(@home|@$WIFE|@phone|@laptop|@desk|@errand|@office|##$EMPLOYER|##Someday/Maybe) & !search:* | | |
| (no priority & !search:* & !recurring & !##Someday/Maybe) | | |
| (!search:: & !##Someday/Maybe & !recurring & !no priority) | | |
| ##Inbox, | |
| (##Someday/Maybe|@not_now) & (!no due date|@next) | |
| Home: |
| (function () { | |
| function loadZendeskChat(callback) { | |
| var zdscript = document.createElement('script'); | |
| zdscript.setAttribute('id','ze-snippet'); | |
| zdscript.src = 'https://static.zdassets.com/ekr/snippet.js?key=XXX-XXX-XXX-XXX'; | |
| (document.getElementsByTagName('body')[0]).appendChild(zdscript); | |
| window.zdonload = setInterval(function(){ | |
| if(typeof zE !== "undefined" && typeof zE.activate !== "undefined") { |
| /* | |
| * Viktor's Roam Mobile Double tap to Exluce Filters and Right click on bullets | |
| * version: 0.2 | |
| * author: @ViktorTabori | |
| * | |
| * How to install it: | |
| * - go to page [[roam/js]] | |
| * - create a node with: { {[[roam/js]]}} | |
| * - create a clode block under it, and change its type from clojure to javascript | |
| * - allow the running of the javascript on the {{[[roam/js]]}} node |
Hi! On Thursday 25 April 2021, I entirely switched from macOS to Linux: https://maelvls.dev/evolution-of-my-home-office/. I took note of every adjustment I had to make along the way. I use Ubuntu "vanilla" (with Gnome as my desktop manager).
🔥 Update 26 June 2023: I am abandoning "desktop" Linux! I can't bear having to work around everything all the time, not even counting the tons of problems that occur whenever I do a major version upgrade (e.g., when I upgraded from 21.10 to 22.04, my PPAs broken obviously, and also I lost all the hack I had made to the
/etcto work around problems). I am officially back to macOS starting 26 June 2023. I'll still use my Linux workstation remotely over Mosh, but not as a desktop environment. To learn more: https://hackmd.io/@maelvls/my-macos-tweaks
My other articles:
| const ordinalizeNumber = n => { | |
| const rule = new Intl.PluralRules('en-US', { type: 'ordinal' }).select(n); | |
| const suffix = ({ | |
| one: 'st', | |
| two: 'nd', | |
| few: 'rd', | |
| other: 'th', | |
| })[rule]; | |
| return `${n}${suffix}`; | |
| } |