diff --git a/quartz/components/CopyPageMarkdown.tsx b/quartz/components/CopyPageMarkdown.tsx index 30fa73516..61b89e819 100644 --- a/quartz/components/CopyPageMarkdown.tsx +++ b/quartz/components/CopyPageMarkdown.tsx @@ -116,7 +116,7 @@ const CopyPageMarkdown: QuartzComponent = ({ fileData, displayClass }: QuartzCom { + try { + await navigator.clipboard.writeText(text) + return true + } catch { + // Fallback for mobile browsers + const textarea = document.createElement("textarea") + textarea.value = text + textarea.style.cssText = "position:fixed;left:-9999px;top:0" + document.body.appendChild(textarea) + textarea.select() + const ok = document.execCommand("copy") + document.body.removeChild(textarea) + return ok + } +} + async function copyPageMarkdown(slug: string): Promise { try { - // Use full blog content for home page, individual page content otherwise const llmsUrl = slug === "index" ? `/llms-full.txt` : `/${slug}/llms.txt` const response = await fetch(llmsUrl) - if (!response.ok) { - console.error("Failed to fetch markdown:", response.statusText) - return false - } - const markdown = await response.text() - await navigator.clipboard.writeText(markdown) - return true - } catch (error) { - console.error("Failed to copy page markdown:", error) + if (!response.ok) return false + return copyToClipboard(await response.text()) + } catch { return false } } @@ -48,7 +58,7 @@ document.addEventListener("nav", () => { // Set the correct hrefs for Honcho, ChatGPT and Claude links if (honchoLink) { const prompt = `Read this page and answer questions about it: ${llmsUrl}` - honchoLink.href = `https://honcho.chat/?q=${encodeURIComponent(prompt)}` + honchoLink.href = `https://honcho.chat/?hints=search&q=${encodeURIComponent(prompt)}` } if (chatgptLink) { const prompt = `Read this page and answer questions about it: ${llmsUrl}` @@ -112,3 +122,4 @@ document.addEventListener("nav", () => { }) + diff --git a/quartz/components/styles/copypage.scss b/quartz/components/styles/copypage.scss index 145cd7e43..03e007fde 100644 --- a/quartz/components/styles/copypage.scss +++ b/quartz/components/styles/copypage.scss @@ -40,7 +40,7 @@ position: absolute; top: calc(100% + 4px); right: 0; - width: 280px; + width: max-content; background: var(--light); border: 1px solid var(--lightgray); border-radius: 8px; diff --git a/quartz/styles/custom.scss b/quartz/styles/custom.scss index 05efd1929..cdab63dae 100644 --- a/quartz/styles/custom.scss +++ b/quartz/styles/custom.scss @@ -94,6 +94,16 @@ body { font-size: 0.86rem; } +@media (max-width: 800px) { + .sidebar.left { + flex-direction: column; + } + + .explorer .explorer-content { + padding-top: 5rem; + } +} + input[type="search"] { background-color: var(--searchBackground); }