first commit

This commit is contained in:
2025-08-13 14:13:51 -04:00
commit 817fb4b5ed
2 changed files with 49 additions and 0 deletions

36
launch-ulysses.js Normal file
View File

@@ -0,0 +1,36 @@
/*
The following is the expanded code
It takes the URL encoded template as a variable
checks the user agent to see if you're running it on an iPhone/iPad/iPod
If you're running on iOS, it opens a new sheet in Ulysses with the template
If you're on any other platform, it copies the template to your clipboard
*/
var template = `%23%23%20title%0Aslug%0Atags%0A%0Abody`;
var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
if (isIOS) {
window.location.href = `ulysses://x-callback-url/new-sheet?text=${template}&group=Inbox`;
} else {
(function (text) {
var node = document.createElement('textarea');
var selection = document.getSelection();
node.textContent = text;
document.body.appendChild(node);
selection.removeAllRanges();
node.select();
document.execCommand('copy');
selection.removeAllRanges();
document.body.removeChild(node);
})(decodeURIComponent(template));
}
// The following URL is used to convert it to a bookmarklet
https://mrcoles.com/bookmarklet/
// The following is the bookmarklet itself
javascript:(function()%7Bvar%20template%20%3D%20%60%2523%2523%2520title%250Aslug%250Atags%250A%250Abody%60%3Bvar%20isIOS%20%3D%20%2FiPad%7CiPhone%7CiPod%2F.test(navigator.userAgent)%20%26%26%20!window.MSStream%3Bif%20(isIOS)%20%7Bwindow.location.href%20%3D%20%60ulysses%3A%2F%2Fx-callback-url%2Fnew-sheet%3Ftext%3D%24%7Btemplate%7D%26group%3DInbox%60%3B%7D%20else%20%7B(function%20(text)%20%7Bvar%20node%20%3D%20document.createElement('textarea')%3Bvar%20selection%20%3D%20document.getSelection()%3Bnode.textContent%20%3D%20text%3Bdocument.body.appendChild(node)%3Bselection.removeAllRanges()%3Bnode.select()%3Bdocument.execCommand('copy')%3Bselection.removeAllRanges()%3Bdocument.body.removeChild(node)%3B%7D)(decodeURIComponent(template))%3B%7D%7D)()