{
    "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>\n  <span class=\"token selector\">&amp;:hover,\n  &amp;:focus-within</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #eee<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token selector\">a</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> relative<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">z-index</span><span class=\"token punctuation\">:</span> 1<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token selector\">h2</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token selector\">a</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> static<span class=\"token punctuation\">;</span>\n\n      <span class=\"token selector\">&amp;:hover,\n      &amp;:focus</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> blue<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n\n      <span class=\"token selector\">&amp;:before</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">content</span><span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">;</span>\n        <span class=\"token property\">display</span><span class=\"token punctuation\">:</span> block<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> absolute<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">z-index</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">height</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">top</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">left</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">transition</span><span class=\"token punctuation\">:</span> background-color 0.1s ease-out<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> transparent<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\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>\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>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\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>\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>\n    ...\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\">\n      <span class=\"token comment\">// If there's a theme stored in localStorage, use it on the &lt;html></span>\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>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>localStorageTheme<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\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>\n      <span class=\"token punctuation\">}</span>\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>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\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>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>button</span>\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>\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>\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>\n      <span class=\"token punctuation\">></span></span>\n        <span class=\"token comment\">&lt;!--\n        &lt;svg class=\"light-mode\">\n          &lt;use xlink:href=\"#sun\">&lt;/use>\n        &lt;/svg>\n        &lt;svg class=\"dark-mode\">\n          &lt;use xlink:href=\"#moon\">&lt;/use>\n        &lt;/svg>\n        --></span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>button</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n\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>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\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>\n  <span class=\"token property\">--bg</span><span class=\"token punctuation\">:</span> #ffffff<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">--text</span><span class=\"token punctuation\">:</span> #000000<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token selector\">[data-theme='dark']</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">--bg</span><span class=\"token punctuation\">:</span> #000000<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">--text</span><span class=\"token punctuation\">:</span> #ffffff<span class=\"token punctuation\">;</span>\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>\n\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>\n\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>\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>\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>\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>\n\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>\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>\n\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>\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>\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>\n<span class=\"token function\">docker-compose</span> <span class=\"token builtin class-name\">exec</span> <span class=\"token parameter variable\">-w</span> /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></span><span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">wordpress</span><span class=\"token punctuation\">:</span>\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: 1200px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9a92c868095081fef605169d5c41eaee/cf8f8/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.33333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxklEQVQY05WNQU7DMBBFff8dJ+ESlViDWpUsECVJFSeIOvZ4xsQz40EVOwoLnp7+7uk7vIQNcs3IiFrKXzJRSkiIr9P73a67f3icJ+/W5y6devZe50XnRfzMk/9hve5Ek+9O48twJkhca0ZyIrI/Ht/6fhjPT/tDP4xm1lqz30gAGbG1ps1KZaeqIaxrjDHBxyXEmG5LEanMZgY5i0iizyViwM211kSEWa6oVmZVvY2ZxcwQCQCI6PvA2X8opUCMGMJWCjN/ARCbWbsFVWZoAAAAAElFTkSuQmCC'); 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/c1b63/draft-fail.png\"\n        srcset=\"/static/9a92c868095081fef605169d5c41eaee/5a46d/draft-fail.png 300w,\n/static/9a92c868095081fef605169d5c41eaee/0a47e/draft-fail.png 600w,\n/static/9a92c868095081fef605169d5c41eaee/c1b63/draft-fail.png 1200w,\n/static/9a92c868095081fef605169d5c41eaee/d61c2/draft-fail.png 1800w,\n/static/9a92c868095081fef605169d5c41eaee/cf8f8/draft-fail.png 2234w\"\n        sizes=\"(max-width: 1200px) 100vw, 1200px\"\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: 956px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ac418cb7402b96be332b88c4505db1b1/7b1dc/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: 11.666666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAIAAADXZGvcAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAUElEQVQI13XLOQ6AMAwF0dz/dl6+baUMwcQFd0BBokSacl4rj0GcwKl6me1gB0t5LLMpcirKvSISSMUUTWAw3723jZnf6cNmg2iZL/dfTBs/dH5mlYuxvIYAAAAASUVORK5CYII='); 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/7b1dc/publish-error.png\"\n        srcset=\"/static/ac418cb7402b96be332b88c4505db1b1/5a46d/publish-error.png 300w,\n/static/ac418cb7402b96be332b88c4505db1b1/0a47e/publish-error.png 600w,\n/static/ac418cb7402b96be332b88c4505db1b1/7b1dc/publish-error.png 956w\"\n        sizes=\"(max-width: 956px) 100vw, 956px\"\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: 1185px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d342131a17d748d605395cbdcc072a7f/471ef/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.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA2UlEQVQI1x3Jy26CQBQAUDaujImaIg7M896ZzEjQbV8L5A1tlYcQ+/9f0qRne7z8xW85ryktGUuj6FtjFkUpYiplIUQNUAG0iBmluZQ1QCFEpVSj1Ofx6L1tNoNSHSGDMQ9rJ2sn56bTqQe4K/XQuleqR7xJOWk9Io4Ad8SMkPfdzsv3+5bS0vcbQoog+OG8PBwKIUrGqjDsOO+E+OK8CIKK0o6xltLmvz62W+91vX4qNQMMzs1xvCTJ83x+JMkNcbF2sXY0ZnZu1Ho05jeOr2F4jaKckMtq9QfeXioMmywmHQAAAABJRU5ErkJggg=='); 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/471ef/console-errors.png\"\n        srcset=\"/static/d342131a17d748d605395cbdcc072a7f/5a46d/console-errors.png 300w,\n/static/d342131a17d748d605395cbdcc072a7f/0a47e/console-errors.png 600w,\n/static/d342131a17d748d605395cbdcc072a7f/471ef/console-errors.png 1185w\"\n        sizes=\"(max-width: 1185px) 100vw, 1185px\"\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","2009693873","2031412112","3825832676"]}