Here's what you'll end up with. A quick shortcut to make a new Notion page.
Install eesel from here and create a new command.
This is how you'll call the command and it can be whatever you like. Some ideas include "/notion new" or "/board new" or even just "/n".
This is the url of the database for which this command will make a new page. It could be a board, gallery, list view and so on. For example, it could be this url in this board view:
https://www.notion.so/eesel/b68fca58d9c24cf3a8c32e464542bc46?v=45a5562e56d6446cafa788727be3517e
Toggle "Advanced actions" on.
Add this JavaScript snippet to the textbox.
;(async () => {
const waitFor = async (fn, { count = 10 } = {}) => {
const result = await fn();
if (!result) {
if (count - 1) {
return new Promise((resolve, reject) => {
setTimeout(async () => {
try {
await waitFor(fn, { count: count - 1 });
resolve();
} catch (err) {
reject(err);
}
}, 30);
});
} else {
throw new Error("Timeout");
}
}
};
await waitFor(() =>
document.querySelector('div[class="notion-collection-view-item-add"]')
);
const newButton = document.querySelector(
'div[class="notion-collection-view-item-add"]'
).children[0];
await newButton.dispatchEvent(new MouseEvent("mousedown", { bubbles: true }));
newButton.click();
})()
When you execute the command, this command opens up the "Page to open" url and then injects this JavaScript snippet, which then waits for the 'New' button in the top right of the page to render, and then clicks it for you.