diff --git a/src/core/menu/islands/Mod.mjs b/src/core/menu/islands/Mod.mjs index 4491793..6b0ab1b 100644 --- a/src/core/menu/islands/Mod.mjs +++ b/src/core/menu/islands/Mod.mjs @@ -34,7 +34,7 @@ function Mod({ ${thumbnail ? html`` : ""}
diff --git a/src/extensions/collapsible-properties/client.css b/src/extensions/collapsible-properties/client.css deleted file mode 100644 index 84eba06..0000000 --- a/src/extensions/collapsible-properties/client.css +++ /dev/null @@ -1,56 +0,0 @@ -/** - * notion-enhancer: collapse properties - * (c) 2021 dragonwocky (https://dragonwocky.me/) - * (https://notion-enhancer.github.io/) under the MIT license - */ - -#enhancer--collapse-properties { - display: flex; - background: var(--theme--ui_interactive-hover); - border: 1px solid transparent; - font-size: 14px; - border-radius: 3px; - line-height: 1.2; - font-weight: 600; - padding: 0.3em 0.5em; - margin: 1em 0; - width: 100%; -} -#enhancer--collapse-properties:focus, -#enhancer--collapse-properties:hover { - background: transparent; - border: 1px solid var(--theme--ui_interactive-hover); -} -#enhancer--collapse-properties:active { - background: var(--theme--ui_interactive-active); -} - -#enhancer--collapse-properties > span { - text-align: left; - color: var(--theme--text); -} -#enhancer--collapse-properties > span:before { - content: 'Properties'; -} -#enhancer--collapse-properties > svg { - fill: var(--theme--icon); - height: 0.8em; - width: 0.8em; - margin: auto 0.5em auto 0; - transition: transform 200ms ease-out 0s; -} - -#enhancer--collapse-properties[data-collapsed='false'] > svg { - transform: rotateZ(180deg); -} -#enhancer--collapse-properties[data-collapsed='true'] > svg { - transform: rotateZ(90deg); -} - -#enhancer--collapse-properties + div { - overflow: hidden; -} -#enhancer--collapse-properties[data-collapsed='true'] + div { - max-height: 0 !important; - opacity: 0; -} diff --git a/src/extensions/collapsible-properties/client.mjs b/src/extensions/collapsible-properties/client.mjs deleted file mode 100644 index 28f88e8..0000000 --- a/src/extensions/collapsible-properties/client.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/** - * notion-enhancer: collapse properties - * (c) 2021 dragonwocky (https://dragonwocky.me/) - * (https://notion-enhancer.github.io/) under the MIT license - */ - -'use strict'; - -export default function ({ web, notion }, db) { - const propertyListSelector = - '.notion-scroller.vertical [style*="env(safe-area-inset-left)"] > [style="width: 100%; font-size: 14px;"]', - $collapseButton = web.html``; - $collapseButton.addEventListener('click', async (event) => { - if ($collapseButton.dataset.collapsed === 'true') { - await db.set([notion.getPageID()], false); - $collapseButton.dataset.collapsed = false; - } else { - await db.set([notion.getPageID()], true); - $collapseButton.dataset.collapsed = true; - } - }); - const insertButton = async () => { - if (document.contains($collapseButton)) return; - const $propertyList = document.querySelector(propertyListSelector); - if ($propertyList) { - $collapseButton.dataset.collapsed = await db.get([notion.getPageID()], true); - $propertyList.before($collapseButton); - } - }; - web.addDocumentObserver(insertButton, [propertyListSelector]); - insertButton(); -} diff --git a/src/extensions/collapsible-properties/collapsible-properties.jpg b/src/extensions/collapsible-properties/collapsible-properties.jpg deleted file mode 100644 index 1489e8f..0000000 Binary files a/src/extensions/collapsible-properties/collapsible-properties.jpg and /dev/null differ diff --git a/src/extensions/collapsible-properties/mod.json b/src/extensions/collapsible-properties/mod.json deleted file mode 100644 index 7ef89df..0000000 --- a/src/extensions/collapsible-properties/mod.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "collapsible properties", - "id": "4034a578-7dd3-4633-80c6-f47ac5b7b160", - "version": "0.3.0", - "description": "adds a button to quickly collapse/expand page properties that usually push down page content.", - "preview": "collapsible-properties.jpg", - "tags": ["extension", "layout"], - "authors": [ - { - "name": "dragonwocky", - "email": "thedragonring.bod@gmail.com", - "homepage": "https://dragonwocky.me/", - "avatar": "https://dragonwocky.me/avatar.jpg" - } - ], - "css": { - "client": ["client.css"] - }, - "js": { - "client": ["client.mjs"] - }, - "options": [] -} diff --git a/src/extensions/global-block-links/client.css b/src/extensions/global-block-links/client.css deleted file mode 100644 index 66dcc54..0000000 --- a/src/extensions/global-block-links/client.css +++ /dev/null @@ -1,73 +0,0 @@ -/** - * notion-enhancer: global block links - * (c) 2021 admiraldus (https://github.com/admiraldus) - * (c) 2021 dragonwocky (https://dragonwocky.me/) - * (https://notion-enhancer.github.io/) under the MIT license - */ - -.global_block_links--topbar_copy { - display: inline-flex; - align-items: center; - border-radius: 3px; - height: 28px; - min-width: 0px; - padding-right: 8px; - padding-left: 6px; - font-size: 14px; - line-height: 1.2; - color: var(--theme--text); - cursor: pointer; - transition: background 20ms ease-in 0s; - user-select: none; -} -.global_block_links--topbar_copy > svg { - display: block; - height: 16px; - width: 16px; - fill: var(--theme--icon); -} -.global_block_links--topbar_copy > span { - margin-left: 2px; - opacity: 1; - transition: opacity 0.4s ease; -} -.global_block_links--topbar_copy > svg + span { - margin-left: 6px; -} - -.global_block_links--block_copy { - display: flex; - align-items: center; - height: 28px; - width: 100%; - font-size: 14px; - line-height: 1.2; - cursor: pointer; - transition: background 20ms ease-in 0s; - user-select: none; -} -.global_block_links--block_copy > svg { - display: block; - margin-left: 14px; - height: 17px; - width: 17px; - color: var(--theme--icon); -} -.global_block_links--block_copy > span { - margin-right: 14px; - margin-left: 8px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.global_block_links--topbar_copy:hover, -.global_block_links--block_copy:hover { - background: var(--theme--ui_interactive-hover); -} - -.global_block_links--hidden { - position: absolute; - top: -9999px; - opacity: 0 !important; -} diff --git a/src/extensions/global-block-links/client.mjs b/src/extensions/global-block-links/client.mjs deleted file mode 100644 index 5cd864e..0000000 --- a/src/extensions/global-block-links/client.mjs +++ /dev/null @@ -1,109 +0,0 @@ -/** - * notion-enhancer: global block links - * (c) 2021 admiraldus (https://github.com/admiraldus) - * (c) 2021 dragonwocky (https://dragonwocky.me/) - * (https://notion-enhancer.github.io/) under the MIT license - */ - -export default async function ({ web, components, notion }, db) { - const topbarShareSelector = '.notion-topbar-share-menu', - blockActionSelector = - '.notion-overlay-container .notion-scroller.vertical .notion-focusable > div > div > [style*="text-overflow: ellipsis;"]', - hoveredActionSelector = - '.notion-overlay-container .notion-scroller.vertical .notion-focusable[style*="background:"]', - topbarCopyClass = 'global_block_links--topbar_copy', - blockCopyClass = 'global_block_links--block_copy', - hiddenClass = 'global_block_links--hidden'; - - const topbarCopyIcon = await db.get(['topbar_copy_icon']), - topbarCopyText = await db.get(['topbar_copy_text']); - if (topbarCopyIcon || topbarCopyText) { - const $topbarCopyTemplate = web.render( - web.html`
`, - topbarCopyIcon - ? web.html` - - ` - : '', - topbarCopyText - ? web.html` - Copy link - Link copied! - ` - : '' - ); - - const insertTopbarCopy = () => { - const $btns = document.querySelectorAll(topbarShareSelector); - $btns.forEach(($btn) => { - if (!$btn.previousElementSibling?.classList?.contains?.(topbarCopyClass)) { - const $copy = $topbarCopyTemplate.cloneNode(true); - components.addTooltip($copy, '**Copy page link**'); - $btn.before($copy); - - let resetButtonDelay; - $copy.addEventListener('click', () => { - if (topbarCopyText) { - const $copyText = $copy.querySelector('[data-copy]'), - $copiedText = $copy.querySelector('[data-copied]'); - $copyText.classList.add(hiddenClass); - $copiedText.classList.remove(hiddenClass); - clearTimeout(resetButtonDelay); - resetButtonDelay = setTimeout(() => { - $copyText.classList.remove(hiddenClass); - $copiedText.classList.add(hiddenClass); - }, 1250); - } - - web.copyToClipboard(`https://notion.so/${notion.getPageID().replace(/-/g, '')}`); - }); - } - }); - }; - insertTopbarCopy(); - web.addDocumentObserver(insertTopbarCopy, [topbarShareSelector]); - } - - const $blockCopyTemplate = web.html` -
- ${await components.feather('globe')} - Global link -
`; - - const getLinkButtons = () => - [...document.querySelectorAll(blockActionSelector)] - .filter(($action) => - ['Copy link', '링크 복사', 'リンクをコピー'].includes($action.textContent) - ) - .map(($action) => $action.closest('.notion-focusable')), - insertBlockCopy = () => { - const $btns = getLinkButtons(); - $btns.forEach(($btn) => { - if (!$btn.previousElementSibling?.classList?.contains?.(blockCopyClass)) { - const $copy = $blockCopyTemplate.cloneNode(true); - $btn.before($copy); - - $copy.addEventListener('mouseover', () => { - document.querySelectorAll(hoveredActionSelector).forEach(($action) => { - $action.style.background = ''; - }); - }); - - $copy.addEventListener('click', async () => { - $btn.click(); - const link = await web.readFromClipboard(), - id = link.replace(/.+#(?=\w+)/, ''); - web.copyToClipboard(id.length === 32 ? `https://notion.so/${id}` : link); - }); - } - }); - }; - insertBlockCopy(); - web.addDocumentObserver(insertBlockCopy, [blockActionSelector]); -} diff --git a/src/extensions/global-block-links/global-block-links.jpg b/src/extensions/global-block-links/global-block-links.jpg deleted file mode 100644 index eb84be2..0000000 Binary files a/src/extensions/global-block-links/global-block-links.jpg and /dev/null differ diff --git a/src/extensions/global-block-links/mod.json b/src/extensions/global-block-links/mod.json deleted file mode 100644 index 698e9b2..0000000 --- a/src/extensions/global-block-links/mod.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "global block links", - "id": "74856af4-6970-455d-bd86-0a385a402dd1", - "version": "0.1.0", - "description": "easily copy the global link of a page or block.", - "preview": "global-block-links.jpg", - "tags": ["extension", "shortcut"], - "authors": [ - { - "name": "admiraldus", - "homepage": "https://github.com/admiraldus", - "avatar": "https://raw.githubusercontent.com/admiraldus/admiraldus/main/module.gif" - } - ], - "js": { - "client": ["client.mjs"] - }, - "css": { - "client": ["client.css"] - }, - "options": [ - { - "key": "topbar_copy_icon", - "label": "copy page links from the topbar (icon)", - "type": "toggle", - "value": true - }, - { - "key": "topbar_copy_text", - "label": "copy page links from the topbar (text)", - "type": "toggle", - "value": true - } - ] -} diff --git a/src/extensions/tweaks/mod.json b/src/extensions/tweaks/mod.json index d4ab170..9539c57 100644 --- a/src/extensions/tweaks/mod.json +++ b/src/extensions/tweaks/mod.json @@ -38,6 +38,12 @@ "description": "Hide the default page icons.", "value": false }, + { + "type": "toggle", + "key": "hoverableTimelineTitles", + "description": "Shows the full title of a timeline item on hover if it has been truncated for being too long.", + "value": false + }, { "type": "toggle", "key": "snappyTransitions", diff --git a/src/extensions/weekly-view/client.mjs b/src/extensions/weekly-view/client.mjs deleted file mode 100644 index 426f5ba..0000000 --- a/src/extensions/weekly-view/client.mjs +++ /dev/null @@ -1,71 +0,0 @@ -/** - * notion-enhancer: weekly view - * (c) 2021 dragonwocky (https://dragonwocky.me/) - * (https://notion-enhancer.github.io/) under the MIT license - */ - -'use strict'; - -export default async function ({ web }, db) { - const pageSelector = '.notion-page-content', - calendarSelector = '.notion-calendar-view', - viewSelector = - '.notion-page-content > .notion-selectable.notion-collection_view-block', - viewControlSelector = ':scope>div>div>div>div>div', - todaySelector = '.notion-calendar-view-day[style*="background"]', - weekSelector = '[style^="position: relative; display: flex; height: "]', - toolbarBtnSelector = - '.notion-calendar-view > :first-child > :first-child > :first-child > :nth-last-child(2)'; - - const transformCalendarView = () => { - const $page = document.querySelector(pageSelector); - document.querySelectorAll(viewSelector).forEach(async ($view) => { - let currentText; - // Get view controls children nodes, convert to array, filter out non-text - const $viewNodes = [] - .slice.call($view.querySelector(viewControlSelector).children) - .filter(node => node.tagName.toLowerCase().match(/(div|span)/g)); - - // Find current view by analyzing children (which changes on viewport) - if ($viewNodes.length === 1) - { - // Mobile: Simple dropdown button (like legacy), text is current view - currentText = $viewNodes[0].innerText.toLowerCase(); - } else { - // Wide/Desktop: Tabs listed, current view indicated by border style - currentText = $viewNodes - // Find selected view by border style (possibly fragile) - .filter(($e) => $e.children[0].style.borderBottomWidth.toString() === '2px')[0] - .innerText.toLowerCase(); - } - - if (currentText !== 'weekly') return; - - const $calendar = $view.parentElement.parentElement.parentElement.parentElement; - if (!$calendar.querySelector(todaySelector)) { - $calendar.querySelector(toolbarBtnSelector).click(); - } - await new Promise((res, rej) => requestAnimationFrame(res)); - if ($page) { - for (const $week of $calendar.querySelectorAll(weekSelector)) { - if (!$week.querySelector(todaySelector)) { - $week.style.height = 0; - $week.style.visibility = 'hidden'; - } - } - } else { - const $weekContainer = $calendar.querySelector(weekSelector).parentElement; - for (const $week of $calendar.querySelectorAll(weekSelector)) { - if ($week.querySelector(todaySelector)) { - $weekContainer.style.maxHeight = $week.style.height; - break; - } else { - $week.style.height = '0'; - $week.style.visibility = 'hidden'; - } - } - } - }); - }; - web.addDocumentObserver(transformCalendarView, [calendarSelector]); -} diff --git a/src/extensions/weekly-view/mod.json b/src/extensions/weekly-view/mod.json deleted file mode 100644 index 6128450..0000000 --- a/src/extensions/weekly-view/mod.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "weekly view", - "id": "4c7acaea-6596-4590-85e5-8ac5a1455e8f", - "version": "0.6.0", - "description": "calendar views named \"weekly\" will show only the current week.", - "preview": "weekly-view.jpg", - "tags": ["extension", "layout"], - "authors": [ - { - "name": "dragonwocky", - "email": "thedragonring.bod@gmail.com", - "homepage": "https://dragonwocky.me/", - "avatar": "https://dragonwocky.me/avatar.jpg" - } - ], - "js": { - "client": ["client.mjs"] - }, - "css": {}, - "options": [] -} diff --git a/src/extensions/weekly-view/weekly-view.jpg b/src/extensions/weekly-view/weekly-view.jpg deleted file mode 100644 index 345d33d..0000000 Binary files a/src/extensions/weekly-view/weekly-view.jpg and /dev/null differ