From b4a3197e6ebd39bb259a6bc67f408569354a205e Mon Sep 17 00:00:00 2001 From: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Date: Sat, 26 Oct 2024 20:33:06 +0800 Subject: [PATCH] feat(obsidian): use readability content when available https://discord.com/channels/1243823539426033696/1299655969420349480 --- apps/renderer/src/hooks/biz/useEntryActions.tsx | 11 ++++++++++- pnpm-lock.yaml | 4 +--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/renderer/src/hooks/biz/useEntryActions.tsx b/apps/renderer/src/hooks/biz/useEntryActions.tsx index ff9ef9dec..6beb89543 100644 --- a/apps/renderer/src/hooks/biz/useEntryActions.tsx +++ b/apps/renderer/src/hooks/biz/useEntryActions.tsx @@ -19,6 +19,7 @@ import { useTranslation } from "react-i18next" import { toast } from "sonner" import { + getReadabilityContent, getReadabilityStatus, ReadabilityStatus, setReadabilityContent, @@ -425,10 +426,18 @@ export const useEntryActions = ({ onClick: () => { if (!isObsidianEnabled || !populatedEntry?.entries?.url || !IN_ELECTRON) return + const isReadabilityReady = + getReadabilityStatus()[populatedEntry.entries.id] === ReadabilityStatus.SUCCESS + const content = + (isReadabilityReady + ? getReadabilityContent()[populatedEntry.entries.id].content + : populatedEntry.entries.content) || "" + const markdownContent = parseHtml(content).toMarkdown() + saveToObsidian.mutate({ url: populatedEntry.entries.url, title: populatedEntry.entries.title || "", - content: parseHtml(populatedEntry.entries.content || "").toMarkdown(), + content: markdownContent, author: populatedEntry.entries.author || "", publishedAt: populatedEntry.entries.publishedAt || "", vaultPath: obsidianVaultPath, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 934383da5..a1cdd3e03 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -795,8 +795,6 @@ importers: specifier: 2.10.1 version: 2.10.1(@types/react@18.3.11)(react@18.3.1) - packages/builder: {} - packages/components: dependencies: '@essentials/request-timeout': @@ -3610,7 +3608,7 @@ packages: '@radix-ui/react-slot@1.1.0': resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} peerDependencies: - '@types/react': '*' + '@types/react': npm:types-react@19.0.0-rc.1 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react':