{
    "componentChunkName": "component---src-pages-pensieve-index-js",
    "path": "/pensieve/",
    "result": {"data":{"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"Accessible Clickable Cards","description":"Clickable cards with multiple child links","slug":"/pensieve/clickable-cards","date":"2021-04-21T00:00:00.000Z","tags":["Accessibility","CSS"],"draft":false},"html":"<p><a href=\"https://codepen.io/bchiang7/pen/xxRBvgd?editors=1100\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Codepen Demo</a></p>\n<p>Card layout where the card itself isn't an anchor link, but the whole card is clickable (with a <code class=\"language-text\">:before</code> pseudo element on the main <code class=\"language-text\">&lt;a></code>). Links inside of the card are still clickable.</p>\n<h2>CSS</h2>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.grid__item</span> <span class=\"token punctuation\">{</span>\r\n  <span class=\"token selector\">&amp;:hover,\r\n  &amp;:focus-within</span> <span class=\"token punctuation\">{</span>\r\n    <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #eee<span class=\"token punctuation\">;</span>\r\n  <span class=\"token punctuation\">}</span>\r\n\r\n  <span class=\"token selector\">a</span> <span class=\"token punctuation\">{</span>\r\n    <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> relative<span class=\"token punctuation\">;</span>\r\n    <span class=\"token property\">z-index</span><span class=\"token punctuation\">:</span> 1<span class=\"token punctuation\">;</span>\r\n  <span class=\"token punctuation\">}</span>\r\n\r\n  <span class=\"token selector\">h2</span> <span class=\"token punctuation\">{</span>\r\n    <span class=\"token selector\">a</span> <span class=\"token punctuation\">{</span>\r\n      <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> static<span class=\"token punctuation\">;</span>\r\n\r\n      <span class=\"token selector\">&amp;:hover,\r\n      &amp;:focus</span> <span class=\"token punctuation\">{</span>\r\n        <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> blue<span class=\"token punctuation\">;</span>\r\n      <span class=\"token punctuation\">}</span>\r\n\r\n      <span class=\"token selector\">&amp;:before</span> <span class=\"token punctuation\">{</span>\r\n        <span class=\"token property\">content</span><span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">display</span><span class=\"token punctuation\">:</span> block<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> absolute<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">z-index</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">height</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">top</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">left</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">transition</span><span class=\"token punctuation\">:</span> background-color 0.1s ease-out<span class=\"token punctuation\">;</span>\r\n        <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> transparent<span class=\"token punctuation\">;</span>\r\n      <span class=\"token punctuation\">}</span>\r\n    <span class=\"token punctuation\">}</span>\r\n  <span class=\"token punctuation\">}</span>\r\n<span class=\"token punctuation\">}</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"Dark Mode Toggle","description":"Dark mode without the flash of default theme","slug":"/pensieve/dark-mode-toggle","date":"2021-04-21T00:00:00.000Z","tags":["Theming","Dark Mode"],"draft":false},"html":"<p>Dark mode toggle without the flash of default theme. Important bits:</p>\n<ul>\n<li>CSS variables for color theming</li>\n<li>Put <code class=\"language-text\">data-theme</code> attribute on <code class=\"language-text\">&lt;html></code>, not <code class=\"language-text\">&lt;body></code>, so we can run the JS before the DOM finishes rendering</li>\n<li>Run local storage check in the <code class=\"language-text\">&lt;head></code></li>\n<li>JS for toggle button click handler can come after render</li>\n</ul>\n<h2>HTML</h2>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\"><span class=\"token punctuation\">&lt;!</span><span class=\"token doctype-tag\">DOCTYPE</span> <span class=\"token name\">html</span><span class=\"token punctuation\">></span></span>\r\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">lang</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>en<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">data-theme</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>light<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\r\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\r\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>utf-8<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\r\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\r\n    ...\r\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\r\n      <span class=\"token comment\">// If there's a theme stored in localStorage, use it on the &lt;html></span>\r\n      <span class=\"token keyword\">const</span> localStorageTheme <span class=\"token operator\">=</span> localStorage<span class=\"token punctuation\">.</span><span class=\"token function\">getItem</span><span class=\"token punctuation\">(</span><span class=\"token string\">'theme'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>localStorageTheme<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\r\n        document<span class=\"token punctuation\">.</span>documentElement<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'data-theme'</span><span class=\"token punctuation\">,</span> localStorageTheme<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n      <span class=\"token punctuation\">}</span>\r\n    </span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\r\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\r\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\r\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>theme-toggle<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\r\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>button</span>\r\n        <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>theme-toggle-btn js-theme-toggle<span class=\"token punctuation\">\"</span></span>\r\n        <span class=\"token attr-name\">aria-label</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>Activate dark mode<span class=\"token punctuation\">\"</span></span>\r\n        <span class=\"token attr-name\">title</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>Activate dark mode<span class=\"token punctuation\">\"</span></span>\r\n      <span class=\"token punctuation\">></span></span>\r\n        <span class=\"token comment\">&lt;!--\r\n        &lt;svg class=\"light-mode\">\r\n          &lt;use xlink:href=\"#sun\">&lt;/use>\r\n        &lt;/svg>\r\n        &lt;svg class=\"dark-mode\">\r\n          &lt;use xlink:href=\"#moon\">&lt;/use>\r\n        &lt;/svg>\r\n        --></span>\r\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>button</span><span class=\"token punctuation\">></span></span>\r\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\r\n\r\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>app.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\r\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\r\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h2>CSS Variables</h2>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">:root</span> <span class=\"token punctuation\">{</span>\r\n  <span class=\"token property\">--bg</span><span class=\"token punctuation\">:</span> #ffffff<span class=\"token punctuation\">;</span>\r\n  <span class=\"token property\">--text</span><span class=\"token punctuation\">:</span> #000000<span class=\"token punctuation\">;</span>\r\n<span class=\"token punctuation\">}</span>\r\n\r\n<span class=\"token selector\">[data-theme='dark']</span> <span class=\"token punctuation\">{</span>\r\n  <span class=\"token property\">--bg</span><span class=\"token punctuation\">:</span> #000000<span class=\"token punctuation\">;</span>\r\n  <span class=\"token property\">--text</span><span class=\"token punctuation\">:</span> #ffffff<span class=\"token punctuation\">;</span>\r\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2>JavaScript</h2>\n<div class=\"gatsby-code-title\">app.js</div>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token keyword\">const</span> themeToggleBtn <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">querySelector</span><span class=\"token punctuation\">(</span><span class=\"token string\">'.js-theme-toggle'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n\r\nthemeToggleBtn<span class=\"token punctuation\">.</span><span class=\"token function\">addEventListener</span><span class=\"token punctuation\">(</span><span class=\"token string\">'click'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">onToggleClick</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n\r\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">onToggleClick</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\r\n  <span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> theme <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span>documentElement<span class=\"token punctuation\">.</span>dataset<span class=\"token punctuation\">;</span>\r\n  <span class=\"token keyword\">const</span> themeTo <span class=\"token operator\">=</span> theme <span class=\"token operator\">&amp;&amp;</span> theme <span class=\"token operator\">===</span> <span class=\"token string\">'light'</span> <span class=\"token operator\">?</span> <span class=\"token string\">'dark'</span> <span class=\"token operator\">:</span> <span class=\"token string\">'light'</span><span class=\"token punctuation\">;</span>\r\n  <span class=\"token keyword\">const</span> label <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">Activate </span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>theme<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\"> mode</span><span class=\"token template-punctuation string\">`</span></span><span class=\"token punctuation\">;</span>\r\n\r\n  document<span class=\"token punctuation\">.</span>documentElement<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'data-theme'</span><span class=\"token punctuation\">,</span> themeTo<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n  localStorage<span class=\"token punctuation\">.</span><span class=\"token function\">setItem</span><span class=\"token punctuation\">(</span><span class=\"token string\">'theme'</span><span class=\"token punctuation\">,</span> themeTo<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n\r\n  themeToggleBtn<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'aria-label'</span><span class=\"token punctuation\">,</span> label<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n  themeToggleBtn<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'title'</span><span class=\"token punctuation\">,</span> label<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\r\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2>Resources</h2>\n<ul>\n<li><a href=\"https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/</a></li>\n<li><a href=\"https://css-tricks.com/flash-of-inaccurate-color-theme-fart/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://css-tricks.com/flash-of-inaccurate-color-theme-fart/</a></li>\n<li><a href=\"https://mxb.dev/blog/color-theme-switcher/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://mxb.dev/blog/color-theme-switcher/</a></li>\n<li><a href=\"https://www.joshwcomeau.com/react/dark-mode/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://www.joshwcomeau.com/react/dark-mode/</a></li>\n<li><a href=\"https://web.dev/prefers-color-scheme/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://web.dev/prefers-color-scheme/</a></li>\n</ul>"}},{"node":{"frontmatter":{"title":"Docker Compose Error","description":"docker-compose version discrepancies","slug":"/pensieve/docker-error","date":"2019-12-13","tags":["WordPress","Docker"],"draft":false},"html":"<h2>Problem</h2>\n<p>Recently while updating with <a href=\"https://github.com/Upstatement/skela-wp-theme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Skela</a> with webpack, I encountered a weird error where I wasn't able to run a simple script:</p>\n<div class=\"gatsby-code-title\">bin/composer</div>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token shebang important\">#!/bin/bash</span>\r\ndocker-compose <span class=\"token builtin class-name\">exec</span> -w /var/www/html/wp-content/themes/skela wordpress <span class=\"token function\">composer</span> <span class=\"token string\">\"<span class=\"token variable\">$@</span>\"</span></code></pre></div>\n<p>When trying to run this script via <code class=\"language-text\">./bin/composer install</code>, I got this error in my terminal:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">ERROR: Setting workdir <span class=\"token keyword\">for</span> <span class=\"token builtin class-name\">exec</span> is not supported <span class=\"token keyword\">in</span> API <span class=\"token operator\">&lt;</span> <span class=\"token number\">1.35</span> <span class=\"token punctuation\">(</span><span class=\"token number\">1.30</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>The error was coming from the <code class=\"language-text\">-w</code> flag in the <code class=\"language-text\">docker-compose exec</code> command in the <code class=\"language-text\">composer</code> script.</p>\n<h2>Solution</h2>\n<p>Turns The fix was to update the version in my <code class=\"language-text\">docker-compose.yml</code> file to from version <code class=\"language-text\">3.5</code> to <code class=\"language-text\">3.6</code>. It's strange because 3.5 isn't anywhere close to the API version <code class=\"language-text\">1.35</code> from the error message 🤷‍♀️</p>\n<div class=\"gatsby-code-title\">docker-compose.yml</div>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"gatsby-highlight-code-line\"><span class=\"token key atrule\">version</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'3.6'</span>\r</span><span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\r\n  <span class=\"token key atrule\">wordpress</span><span class=\"token punctuation\">:</span>\r\n    build<span class=\"token punctuation\">:</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"WordPress Publishing Error","description":"Trying to create a simple post in WordPress","slug":"/pensieve/wordpress-publish-error","date":"2019-12-03T00:00:00.000Z","tags":["WordPress"],"draft":false},"html":"<h2>Problem</h2>\n<p>Recently while working on a WordPress project with <a href=\"https://github.com/Upstatement/ups-dock\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ups Dock</a>, I encountered a weird error where I wasn't able to update or publish a simple post in my local WP admin.</p>\n<p>It looked something like this:</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 700px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9a92c868095081fef605169d5c41eaee/8e621/draft-fail.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 32.57142857142857%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'130\\'%20viewBox=\\'0%200%20400%20130\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M340%2010l1%206h29V4h-30v6m34%200v6h13V5l-7-1h-6v6M29%2056c0%204%200%205-2%205l-1-3c1-4-1-7-2-5l-1%205c0%204%200%204%204%204%205%200%205%200%204-3l1-3%201%203v3h15l-1-4c0-3%200-3-2-3s-3%200-3%202c0%204%200%204-1%201l-2-4c-2%200-2%200-1%203l-1%204-1-2c0-3-1-5-3-5l-2-1-1-2c-1%200-2%201-1%205m76-3v5l-1%203-1-3c0-3-1-4-3-4-3%200-3%200-3%202v2l-1%202c1%202%202%202%208%202%203%200%206%200%205-1-2%200-1-5%201-5l1%203c0%202%200%203%202%203s2%200%201-1v-7l-2-1-1-1c0-2-5-1-6%201\\'%20fill=\\'%2364ffda\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Draft fail\"\n        title=\"Draft fail\"\n        src=\"/static/9a92c868095081fef605169d5c41eaee/39600/draft-fail.png\"\n        srcset=\"/static/9a92c868095081fef605169d5c41eaee/1aaec/draft-fail.png 175w,\n/static/9a92c868095081fef605169d5c41eaee/98287/draft-fail.png 350w,\n/static/9a92c868095081fef605169d5c41eaee/39600/draft-fail.png 700w,\n/static/9a92c868095081fef605169d5c41eaee/57cd1/draft-fail.png 1050w,\n/static/9a92c868095081fef605169d5c41eaee/4af54/draft-fail.png 1400w,\n/static/9a92c868095081fef605169d5c41eaee/8e621/draft-fail.png 2234w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>Sometimes the error message would be slightly more helpful: <code class=\"language-text\">Publishing failed. Error message: The response is not a valid JSON response.</code></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 700px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ac418cb7402b96be332b88c4505db1b1/04410/publish-error.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 12%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'47\\'%20viewBox=\\'0%200%20400%2047\\'%20preserveAspectRatio=\\'none\\'/%3e'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Publish error\"\n        title=\"Publish error\"\n        src=\"/static/ac418cb7402b96be332b88c4505db1b1/39600/publish-error.png\"\n        srcset=\"/static/ac418cb7402b96be332b88c4505db1b1/1aaec/publish-error.png 175w,\n/static/ac418cb7402b96be332b88c4505db1b1/98287/publish-error.png 350w,\n/static/ac418cb7402b96be332b88c4505db1b1/39600/publish-error.png 700w,\n/static/ac418cb7402b96be332b88c4505db1b1/04410/publish-error.png 956w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>And if I popped open the console, I saw these errors:</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 700px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d342131a17d748d605395cbdcc072a7f/fb77c/console-errors.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 20.571428571428573%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'82\\'%20viewBox=\\'0%200%20400%2082\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M0%2041v41h401V0H0v41m147-31v4h62v-3c0-3%200-3-1-1h-1l-1-2-1%202c1%202-1%203-2%201h-1c0%202-2%201-2-1%200-4-4-5-4-2%200%202%200%202-1%201%200-2-2-3-3-1l1%202v1h-2a613%20613%200%2001-3-1c0%202-1%202-3%201V9l1-2c-1-1-3%201-3%203%201%201%200%202-1%202-2%200-2%200-1-3l1-3c-1%200-2%201-2%203l-3%203V6l-2%203c-1%203-3%204-3%202h-1c-2%202-3%201-3-1%200-3-1-4-2-2h-2c-1-2-3%200-3%202l-1%202-1-3-2-2v3l-1%202c-1%200-2-1-2-3l-1-2-1%202v3l-1-2c0-2-2-4-3-4l-1%204m78-3l-2%203-1%202-1-1h-1c-2%201-2%201-3-1%200-3-1-4-3-2h-1c-2-1-3%200-3%203v3h39v-2c0-2%200-2%201%200%200%201%201%202%207%202h6v-3c-1-4-3-5-4-1%200%202-1%202-3%202-4%200-3-2%200-2%202%200%202%200%201-1l-4-1h-7l-1%202c1%201%200%202-1%202l-1-1%201-4-2%203c0%201-2%201-2-1-1-2-3-3-3%200%200%202-1%203-2%202V8h-8c0-2-1-2-2-1m55%200v3l-1%201c-1%201-1%200-1-1%200-2-2-3-3-2h-3c-1-2-3%202-2%204%200%202%203%203%203%200h2c1%202%2055%203%2056%201l-1-2h-1l-1%201-1-2c0-3-4-4-4%200h-1V7l-1-1-1%203c0%202%200%202-1%200-2-3-4-2-5%201%200%202-2%203-2%201h-1c0%202-2%201-2-1s-3-5-4-3l-2%201-1%202-1%202c-1-1-2-1-2-3l-1-2-1%202c1%203%201%203-2%202l-1-1c2%200%202-2%200-2l-2%202-1%202V9l-1-3-1%203c0%203%200%203-4%203-3%200-4-1-4-3l-1-2m62%200l-1%205-1-2c0-3-1-4-3-2l1%202v1c-6%202%200%203%2027%203h29v-2l-1-4-1-2v2c0%203-1%205-4%203h-1l-1%201-1-2-1-2V6c-3%200-3%202-1%203%201%201%201%201-1%202h-4c-1%202-3%200-2-2l-1-3-2%201%201%201-1%202c-1%202-1%202-2%201h-2c-1%202-3%200-2-2l-1-3-2%201%201%201v2c-2%202-8%203-8%201l1-2%201%201%202%201c3%200%202-2-1-3s-5%200-5%202c0%201%200%202-2%201v-1c2-1%200-3-3-2l-2%201h-1c-1-1-1-1-1%201%201%201%200%202-1%202l-1-3-1-3-1%201M17%2016l-2%204v2h22c19%200%2022%200%2021-1%200-2-2-3-2-1l-1%201-1-3-1-2-1%203-1%202-1-4-2-1-1%202-1%203v-2c0-2-2-4-4-2h-1l-1-1c-1%200-2%201-2%203l-1%202c-2%200-2%200-1-3v-3l-1%201-2%204h-1l-1-4c-1%200-2%201-2%203l-1%202-1-4c0-1%200-2-1-1l-1%201c0%203%200%204-1%202%200-2-1-2-3-2l-2-1h-2m75%200v3c1%201%201%202-1%202l-1-1v-3l-1-1c-2%200-2%202-1%203v1c-1%201-2%200-2-1%200-2-1-2-4-3-4%200-4%200-4%203v3h45c38%200%2044%200%2043-1l-1-3v-2l-1%203c0%203-2%202-3-2-1-3-1-2-1%201l-2%203v-3c0-3-1-4-3-2l-3%201c-1-1-7%200-7%202l3%201c2%201%202%201-1%201s-3%200-3-2c0-3%200-3-4-3-3%201-3%201-3%203%200%203-2%202-3-2l-1-1v2c0%202-2%204-3%203v-3l-1-2-1%203c0%202-1%203-3%201v-4l-2%203c-1%202-1%202-1%200s-2-4-3-2l-3%201v-3l-2%202h-4l1-1v-1l-2%202%201%202v1c-1%202-3%200-2-2%200-2%200-3-2-3v4c-2%203-3%203-2-1%200-1%200-2-1-1h-1v-2l-2%201-2%201-2%202%202%201c1%200%202%200%201-1l1-1c2%201%201%202-2%203-3%200-5-2-4-4%201-1-1-2-2-1m273%2010c1%204%201%204-3%204l-3-1-1-2-1-1c1-1%200-2-1-2l-1%201h-1l-4-1c-4%200-4%200-4%203v3l-1-1v-2l-1-2c0-2-2-1-2%202%200%202%200%203-2%203-4%200-7-1-5-2h2l2%201%202-1c0-2-7-3-8-2h-1c0-1-8-1-8%201h-1c0-3-4-2-4%201%200%202%200%202-3%202-4%200-5-2-3-4v-1c-1%200-2%201-2%203s-1%203-2%201v-4l-3%201h-7c1-1%200-2-1-2l-1%202-2%201v-2c-2%200-3%202-2%203%201%200%200%202-2%202v-5c-1%200-2%201-2%203l-1%202-1-3c0-2%200-2-2-2h-4c-2-1-2-1-2%202%200%202%200%203-1%202l-1-2-1-3-1%203v3l-1-3c0-1%200-2-1-1%200%202-2%202-2%200-1-1-1%200-1%201v3l-1-2-1-3-2%202h-1l-8-1h-2c-2-2-2-2-4%200h-3c-2-2-4-2-4-1%200%204%200%205-2%205s-2%200-1-2l1-3-2%202c-1%203-4%204-2%202l-1-2v-2c-2%200-3%202-2%203%201%200%200%202-2%202v-5c-2%200-2%201-2%203l-1%202-1-2c0-3-3-4-4-2l-1%201v-1l-1-1c-2%200-2%201-1%203v1c-2%201-2%200-2-2s0-2-1%200h-1c0-1%200-2-1-1l-1%202c1%201%200%202-1%202-2%200-2%200%200-3v-3l-2%203c-1%203-3%202-2-1%200-2%200-2-2-2s-2%200-1%201c1%200%202%201%201%203-2%203-3%203-3-1v-1h-2v1c0%203%200%203-2%203l-2-1%201-4-2%203-1-1c-1-2-4-3-6-1h-2c-1-1-1-1-1%201v3c-2%200-2-1-1-4v-2l-2%203-1%204-1-3c0-4-3-4-3%200l-1%202-1-2-1-2-1%202c0%202-2%203-2%200v-2l-1-1c-1%200-2%201-2%203l-1%203h112a6829%206829%200%2000107-3h1c1%202%204%201%204-1l-5-1c-3%200-3%200-3%202l-1%202-2-5-1-2v4c1%202%201%203-1%203l-1-2-1-3c-2%200-3%203-2%204%200%202-2%201-3%200-1-2-1-2%201-3v-1c-2%200-2%201-2%203l-1%202-1-2c0-4-3-4-4-1-1%202-1%202-1%200l-1-4-1%203M60%2027v4h57v-3c0-3%200-3-1-1l-1%202v-2c-1-2-1-2-1%200s-1%203-2%203v-1l-1-1-1%201-1%201v-1l-2-4c-1-1-2-1-2%202l-1%203v-1l-1-2v-1l-1-1c-1%200-2%201-1%203v2c-1%200-2%200-2-3l-2-2-1%201v3h-2l-1-1%201-2v-1c-2%200-2%201-2%203l-2%202c-2%200-2%200%200-3v-3l-2%203-3%203-1-1%201-4c-4%206-4%206-5%204h-1l-1%201-1-3c0-3-3-3-4%201-1%202-1%202-1-2l-1-1-1%203-1%202-2-3-1-3-1%203v3l-1-2-2-3c-2-1-2-1-2%202m73-2c-2%201-2%202-2%203%201%201%200%202-1%202v-1l-1-1-1%201c-1%202-2%201-2-2s-3-3-3%201l-1%202-1-2-1-3c-2%200-2%201-2%203v3h52v-4c0-2%200-3-1-2v3c0%202%200%202-4%202-3%200-4%200-3-2%200-3%200-3-2-3l-4%201c0%201-1%201-2-1-2-1-2-1-3%201-1%203-4%203-3%200%201-1%201-1-1-1%200%201-1%201%200%200l-1-1-1%203c0%203%200%203-2%201v-3c-1%200-2%201-2%203l-1%202-1-2-1-3c-2%200-2%200-2%202v3l-1-3c0-3-1-3-2-2m42%2024l-2%204-1-3-1-3-1%201c1%201%200%204-1%204v-1l-1-2v-1l-1-1-2%201h-1c0-3-3-1-3%202v3h48v-3c0-3%200-3-1-1h-1l-1-2-1%203c1%201%200%202-1%202l-1-2-1%201c-2%201-2%201-2-1s-2-5-3-5l-1%204c0%204-1%204-1%200l-2-2-1%204c0%202-2%201-2-1%201-3-1-4-2-2v3h-2c-2-2-3-3%200-3l1-1c-2-2-4%200-4%203%201%201%200%202-1%202-2%200-2%200-1-3l1-3c-1-1-1%200-2%202l-3%204v-4c2-4%200-3-2%201m50-2c-2%200-2%202-2%203%201%201%200%202-1%202l-1-2h-1c-2%203-3%202-3-1l-1-2h-4c-2%200-2%201-2%203v3h39v-2c0-2%200-2%201%200%200%201%201%202%207%202h6v-3l-1-3h-2l-1%204-3%201c-4%200-3-3%200-3%202%200%202%200%200-1l-7-1c-4%200-4%201-4%203v2c-2%200-2-1-1-4l1-3-3%203c-1%202-1%203-2%202l-1-2-1-2c-1-1-1-1-1%203%200%203%200%203-2%201v-3h-8c0-2-1-2-2%200m55-1a52%2052%200%2001-1%205l-1%201v-2c0-3%200-3-2-3l-2%201c0%201-1%201-1-1-2-2-2-1-3%204l-1%202h66v-4l-1-4v4c-1%203-3%204-4%202%200-2%200-2-2%200-1%201-1%201-1-1s0-3-2-3l-2%202c0%203-1%202-1-1-1-4-2-4-2%200l-1%203-1-2c0-1%200-2-2-2s-2%200-2%203c0%202%200%202-2%201l-1-1-1%202-1-2c0-2-2-5-3-4l-4%201-1%203v2l-1-4-2-2-1%203v3l-1-1-2-1v-1c3%200%202-2%200-2s-2%200-2%203c1%201%200%202-1%202l-1-4v-3l-1%204c0%203%200%203-3%203s-5-1-5-5l-1-1m62%202c0%205-2%206-2%201-1-2-2-3-3%200v3c-1%201%207%201%2028%201h29v-2l-1-4-1-2v3c1%202-2%205-3%203v-3l-1-1-1%203-1%202c-1%200-2-1-1-3%200-3-1-4-2-4-2%200-2%202%200%203v2l-2%201c0%201-1%201-1-1h-2c0%202-2%203-2%201v-3c-1-2-3-4-3-2l1%201-1%203c-1%202-1%202-3%200h-1c0%203-2%201-2-2l-2-3-1%201%201%201-1%203c-2%203-7%203-7%200l1-2%201%201%202%201%202-1c0-2-1-2-4-2-4%200-4%200-4%203%200%202%200%202-1%201l-1-2c2-1%201-2-2-2l-3%201h-1c-1-1-1-1-1%201%201%202%201%203-1%203l-1-3-1-4-1%203M17%2055l-2%204v3h22l22-1c0-2-2-3-3-2-1%202-2%201-2-2l-1-2-1%203-1%202-1-4-1-1c-1%200-2%201-2%203l-1%202v-2c0-2-2-4-3-2h-2c-2-2-3-1-3%202l-2%202-1-1%201-4-3%204h-1l-1-4c-1%200-2%201-2%203l-1%202-1-4c0-1%200-2-1-1l-1%202v2c0%201-1%201-1-1s-1-2-3-2l-2-1h-2m84%200l-3%201-2%202-2%201v-3l-1-1-1%203v2l-2-2c0-3-1-4-2-2v3c-1%201-2%200-2-1%200-2-1-2-4-2s-4%200-4%203v3h44a1073%201073%200%200044-2v-3l-1-2-1%203c0%203-2%202-3-2-1-3-1-2-1%201l-2%203v-3c0-3-1-4-3-1h-2c-2-1-8%200-8%202l3%201c2%201%202%201-1%201-2%200-3%200-3-2-1-4-7-4-8%200%200%203-2%202-2-2l-1-2v3c0%202-1%203-2%203l-1-3-1-2-1%203c0%202-1%203-3%201v-4l-2%203c-1%202-1%202-1%200s-2-4-3-2h-3v-2l-2%202h-1l-3-2v5c-1%202-3%200-2-2l-1-3-2%201%201%201v2c-2%203-3%202-3-1%201-2-1-4-2-2M60%2066v4h57v-3c0-3%200-3-1-1l-1%203v-3c-1-2-1-2-1%200%200%203-1%204-2%202h-3l-2-4c-1-1-2-1-2%202l-1%203-1-1v-3l-1-1c-1%200-2%201-1%203v2c-1%200-2%200-2-3%200-2-3-3-3%200l1%201v1c-2%201-4%200-4-2h1l1-1-2-1-1%203-2%202c-2%200-2%200%200-3v-3l-2%203-3%203-1-1%201-4c-4%206-4%206-5%204h-1l-1%201-1-3c0-3-3-3-4%201l-1%201-1-3v-1l-1%203-1%202-2-3-1-3-1%203v3l-1-2-2-3c-2-1-2-1-2%202m73-2c-2%201-2%202-2%203%201%201%200%202-1%202v-1l-1-1-1%201-1%201-1-1-1-2v-2l-2%202%201%201v1c-2%201-3%201-3-1l-1-3c-2%200-2%201-2%203v3h25c13%200%2023%200%2022-1l-3-1%203-1c2%200%202%200%200-1l-3-1h-8c-2-2-2-2-3%200-1%203-4%203-3%200%201-1%201-1-1-1%200%201-1%201%200%200l-1-1-1%203c0%202%200%203-1%202l-2-2h1l1-1-1-1c-1%200-2%201-2%203l-1%202-1-2-1-2-1%202c0%203-2%202-2-1s-1-3-2-2m53%202l-1%204-1-3c0-4-3-4-3%200l-1%202-1-2-1-2-1%202c0%202-2%203-2%200v-2l-1-1-2%202%201%201a692%20692%200%2000101%203c66%200%20103%200%20102-1v-5c-2%200-3%202-2%204h-3v-1l1-1c0-2-3-2-4-1l-1%201v-1l-1-1c-1%200-2%201-1%203v1c-2%201-2%200-2-2v-2l-1%202-1%201c0-4-9-4-11-1-1%202-1%202-1%200l-1-3-1%203c1%202%200%203-1%203l-1-1c1-4-2-6-3-2-1%202-3%203-3%200h1l1-1h-5l-1-1c-2%200-2%201-2%204l-1%201-1-4-1-2-1%203c1%203%200%203-3%203l-3-1c1-1%200-2-1-2l-1-2v-1l-1%203-1%203-2-3-1-2v3c0%203-2%202-3-2-1-3-1-2-1%201l-2%203v-3c0-3-1-4-3-2l-2%201c-1-1-8%200-8%202l3%201c2%201%202%201-1%201s-4-1-4-3l-1-3-1%203c1%203%200%204-1%201l-3-2h-1c1%202%200%204-2%203v-1l1-2-2-1-1%203c0%202-2%203-2%201a200%20200%200%2000-1-4l-1%203-1%202-1-2-1-3c-1%200-2%201-2%203l-1%202-1-2-1-2-1%202c0%201-1%202-4%202s-4%200-4-2l2-2c0-2%200-2-2-2s-2%200-1%201%200%205-1%205l-1-4-1-1-2%202%201%201v1h-3v-1c1-1%201-3-1-3l-2%202c-1%202-1%202-1%200l-2-3v3l-1%202c-1%201-1%200-1-1%200-3%200-3-4-3l-4%201h-1l-4-1c-2%200-3%201-2%202%200%202%200%202-1%201-1-2-1-2-1%200s0%202-1%201v-2c0-1-1-2-4-2-4%200-4%200-4%203%200%201%200%202-1%201l-1-2-1-3-1%203c1%203%200%203-2%203s-2%200%200-3v-3l-2%203c-1%203-3%203-2-1%200-2%200-2-2-2s-2%200-1%201c2%200%202%201%201%203-2%203-3%203-3-1v-1h-2v1c0%203%200%203-2%203l-2-1%201-4-2%203-1-1c-1-2-4-3-6-1h-2c-1-1-1-1-1%201v3c-2%200-2%200-1-3v-3l-2%203\\'%20fill=\\'%2364ffda\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Console errors\"\n        title=\"Console errors\"\n        src=\"/static/d342131a17d748d605395cbdcc072a7f/39600/console-errors.png\"\n        srcset=\"/static/d342131a17d748d605395cbdcc072a7f/1aaec/console-errors.png 175w,\n/static/d342131a17d748d605395cbdcc072a7f/98287/console-errors.png 350w,\n/static/d342131a17d748d605395cbdcc072a7f/39600/console-errors.png 700w,\n/static/d342131a17d748d605395cbdcc072a7f/57cd1/console-errors.png 1050w,\n/static/d342131a17d748d605395cbdcc072a7f/fb77c/console-errors.png 1185w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<h2>Solution</h2>\n<p>Since the error message had to do with a JSON response, I initially thought it was a Gutenberg or ACF issue. But it turned out this was happening because I was on the https WP admin (i.e. <a href=\"https://project.ups.dock/wp-admin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://project.ups.dock/wp-admin</a>), not the unsecure WP admin (<a href=\"http://project.ups.dock/wp-admin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http://project.ups.dock/wp-admin</a>).</p>\n<p>It was a CORS error!! I was trying to modify a non-https domain from a https domain. Switching to a non-https WP admin allowed me to publish posts with no problem.</p>"}}]}},"pageContext":{}},
    "staticQueryHashes": ["1994492073","3391063840","604461682","956832748"]}