{
    "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: 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/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAABYlAAAWJQFJUiTwAAAad3RFWHRSYXcACmljYwogICAgMzMzMgowMDAwMGQwNDYxNzA3MDZjMDIxMDAwMDA2ZDZlNzQ3MjUyNDc0MjIwNTg1OTVhMjAwN2UzMDAwNTAwMTcwMDA5MDAyYTAwMzMKNjE2MzczNzA0MTUwNTA0YzAwMDAwMDAwNDE1MDUwNGMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNmQ2CjAwMDEwMDAwMDAwMGQzMmQ2MTcwNzA2YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTE2NDY1NzM2MzAwMDAwMTUwMDAwMDAwNjIKNjQ3MzYzNmQwMDAwMDFiNDAwMDAwMWVhNjM3MDcyNzQwMDAwMDNhMDAwMDAwMDIzNzc3NDcwNzQwMDAwMDNjNDAwMDAwMDE0CjcyNTg1OTVhMDAwMDAzZDgwMDAwMDAxNDY3NTg1OTVhMDAwMDAzZWMwMDAwMDAxNDYyNTg1OTVhMDAwMDA0MDAwMDAwMDAxNAo3MjU0NTI0MzAwMDAwNDE0MDAwMDA4MGM2MTYxNzI2NzAwMDAwYzIwMDAwMDAwMjA3NjYzNjc3NDAwMDAwYzQwMDAwMDAwMzAKNmU2NDY5NmUwMDAwMGM3MDAwMDAwMDNlNjM2ODYxNjQwMDAwMGNiMDAwMDAwMDJjNmQ2ZDZmNjQwMDAwMGNkYzAwMDAwMDI4CjYyNTQ1MjQzMDAwMDA0MTQwMDAwMDgwYzY3NTQ1MjQzMDAwMDA0MTQwMDAwMDgwYzYxNjE2MjY3MDAwMDBjMjAwMDAwMDAyMAo2MTYxNjc2NzAwMDAwYzIwMDAwMDAwMjA2NDY1NzM2MzAwMDAwMDAwMDAwMDAwMDg0NDY5NzM3MDZjNjE3OTAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDZkNmM3NTYzMDAwMDAwMDAwMDAwMDAyNjAwMDAwMDBjNjg3MjQ4NTIwMDAwMDAxMjAwMDAwMWQ4NmI2ZjRiNTIKMDAwMDAwMTIwMDAwMDFkODZlNjI0ZTRmMDAwMDAwMTIwMDAwMDFkODY5NjQwMDAwMDAwMDAwMTIwMDAwMDFkODY4NzU0ODU1CjAwMDAwMDEyMDAwMDAxZDg2MzczNDM1YTAwMDAwMDEyMDAwMDAxZDg2NDYxNDQ0YjAwMDAwMDEyMDAwMDAxZDg2ZTZjNGU0YwowMDAwMDAxMjAwMDAwMWQ4NjY2OTQ2NDkwMDAwMDAxMjAwMDAwMWQ4Njk3NDQ5NTQwMDAwMDAxMjAwMDAwMWQ4NjU3MzQ1NTMKMDAwMDAwMTIwMDAwMDFkODcyNmY1MjRmMDAwMDAwMTIwMDAwMDFkODY2NzI0MzQxMDAwMDAwMTIwMDAwMDFkODYxNzIwMDAwCjAwMDAwMDEyMDAwMDAxZDg3NTZiNTU0MTAwMDAwMDEyMDAwMDAxZDg2ODY1NDk0YzAwMDAwMDEyMDAwMDAxZDg3YTY4NTQ1NwowMDAwMDAxMjAwMDAwMWQ4NzY2OTU2NGUwMDAwMDAxMjAwMDAwMWQ4NzM2YjUzNGIwMDAwMDAxMjAwMDAwMWQ4N2E2ODQzNGUKMDAwMDAwMTIwMDAwMDFkODcyNzU1MjU1MDAwMDAwMTIwMDAwMDFkODY1NmU0NzQyMDAwMDAwMTIwMDAwMDFkODY2NzI0NjUyCjAwMDAwMDEyMDAwMDAxZDg2ZDczMDAwMDAwMDAwMDEyMDAwMDAxZDg2ODY5NDk0ZTAwMDAwMDEyMDAwMDAxZDg3NDY4NTQ0OAowMDAwMDAxMjAwMDAwMWQ4NjM2MTQ1NTMwMDAwMDAxMjAwMDAwMWQ4NjU2ZTQxNTUwMDAwMDAxMjAwMDAwMWQ4NjU3MzU4NGMKMDAwMDAwMTIwMDAwMDFkODY0NjU0NDQ1MDAwMDAwMTIwMDAwMDFkODY1NmU1NTUzMDAwMDAwMTIwMDAwMDFkODcwNzQ0MjUyCjAwMDAwMDEyMDAwMDAxZDg3MDZjNTA0YzAwMDAwMDEyMDAwMDAxZDg2NTZjNDc1MjAwMDAwMDEyMDAwMDAxZDg3Mzc2NTM0NQowMDAwMDAxMjAwMDAwMWQ4NzQ3MjU0NTIwMDAwMDAxMjAwMDAwMWQ4NzA3NDUwNTQwMDAwMDAxMjAwMDAwMWQ4NmE2MTRhNTAKMDAwMDAwMTIwMDAwMDFkODAwNGMwMDQ3MDAyMDAwNDgwMDQ0MDA1MjAwMjAwMDM0MDA0YjAwMDA3NDY1Nzg3NDAwMDAwMDAwCjQzNmY3MDc5NzI2OTY3Njg3NDIwNDE3MDcwNmM2NTIwNDk2ZTYzMmUyYzIwMzIzMDMxMzkwMDAwNTg1OTVhMjAwMDAwMDAwMAowMDAwZjMxNjAwMDEwMDAwMDAwMTE2Y2E1ODU5NWEyMDAwMDAwMDAwMDAwMDc5ZDcwMDAwMzg1MTAwMDAwMDVjNTg1OTVhMjAKMDAwMDAwMDAwMDAwNTRkOTAwMDBiYTUwMDAwMDBiOWI1ODU5NWEyMDAwMDAwMDAwMDAwMDI4MjYwMDAwMGQ2MDAwMDBjNzM1CjYzNzU3Mjc2MDAwMDAwMDAwMDAwMDQwMDAwMDAwMDA1MDAwYTAwMGYwMDE0MDAxOTAwMWUwMDIzMDAyODAwMmQwMDMyMDAzNgowMDNiMDA0MDAwNDUwMDRhMDA0ZjAwNTQwMDU5MDA1ZTAwNjMwMDY4MDA2ZDAwNzIwMDc3MDA3YzAwODEwMDg2MDA4YjAwOTAKMDA5NTAwOWEwMDlmMDBhMzAwYTgwMGFkMDBiMjAwYjcwMGJjMDBjMTAwYzYwMGNiMDBkMDAwZDUwMGRiMDBlMDAwZTUwMGViCjAwZjAwMGY2MDBmYjAxMDEwMTA3MDEwZDAxMTMwMTE5MDExZjAxMjUwMTJiMDEzMjAxMzgwMTNlMDE0NTAxNGMwMTUyMDE1OQowMTYwMDE2NzAxNmUwMTc1MDE3YzAxODMwMThiMDE5MjAxOWEwMWExMDFhOTAxYjEwMWI5MDFjMTAxYzkwMWQxMDFkOTAxZTEKMDFlOTAxZjIwMWZhMDIwMzAyMGMwMjE0MDIxZDAyMjYwMjJmMDIzODAyNDEwMjRiMDI1NDAyNWQwMjY3MDI3MTAyN2EwMjg0CjAyOGUwMjk4MDJhMjAyYWMwMmI2MDJjMTAyY2IwMmQ1MDJlMDAyZWIwMmY1MDMwMDAzMGIwMzE2MDMyMTAzMmQwMzM4MDM0MwowMzRmMDM1YTAzNjYwMzcyMDM3ZTAzOGEwMzk2MDNhMjAzYWUwM2JhMDNjNzAzZDMwM2UwMDNlYzAzZjkwNDA2MDQxMzA0MjAKMDQyZDA0M2IwNDQ4MDQ1NTA0NjMwNDcxMDQ3ZTA0OGMwNDlhMDRhODA0YjYwNGM0MDRkMzA0ZTEwNGYwMDRmZTA1MGQwNTFjCjA1MmIwNTNhMDU0OTA1NTgwNTY3MDU3NzA1ODYwNTk2MDVhNjA1YjUwNWM1MDVkNTA1ZTUwNWY2MDYwNjA2MTYwNjI3MDYzNwowNjQ4MDY1OTA2NmEwNjdiMDY4YzA2OWQwNmFmMDZjMDA2ZDEwNmUzMDZmNTA3MDcwNzE5MDcyYjA3M2QwNzRmMDc2MTA3NzQKMDc4NjA3OTkwN2FjMDdiZjA3ZDIwN2U1MDdmODA4MGIwODFmMDgzMjA4NDYwODVhMDg2ZTA4ODIwODk2MDhhYTA4YmUwOGQyCjA4ZTcwOGZiMDkxMDA5MjUwOTNhMDk0ZjA5NjQwOTc5MDk4ZjA5YTQwOWJhMDljZjA5ZTUwOWZiMGExMTBhMjcwYTNkMGE1NAowYTZhMGE4MTBhOTgwYWFlMGFjNTBhZGMwYWYzMGIwYjBiMjIwYjM5MGI1MTBiNjkwYjgwMGI5ODBiYjAwYmM4MGJlMTBiZjkKMGMxMjBjMmEwYzQzMGM1YzBjNzUwYzhlMGNhNzBjYzAwY2Q5MGNmMzBkMGQwZDI2MGQ0MDBkNWEwZDc0MGQ4ZTBkYTkwZGMzCjBkZGUwZGY4MGUxMzBlMmUwZTQ5MGU2NDBlN2YwZTliMGViNjBlZDIwZWVlMGYwOTBmMjUwZjQxMGY1ZTBmN2EwZjk2MGZiMwowZmNmMGZlYzEwMDkxMDI2MTA0MzEwNjExMDdlMTA5YjEwYjkxMGQ3MTBmNTExMTMxMTMxMTE0ZjExNmQxMThjMTFhYTExYzkKMTFlODEyMDcxMjI2MTI0NTEyNjQxMjg0MTJhMzEyYzMxMmUzMTMwMzEzMjMxMzQzMTM2MzEzODMxM2E0MTNjNTEzZTUxNDA2CjE0MjcxNDQ5MTQ2YTE0OGIxNGFkMTRjZTE0ZjAxNTEyMTUzNDE1NTYxNTc4MTU5YjE1YmQxNWUwMTYwMzE2MjYxNjQ5MTY2YwoxNjhmMTZiMjE2ZDYxNmZhMTcxZDE3NDExNzY1MTc4OTE3YWUxN2QyMTdmNzE4MWIxODQwMTg2NTE4OGExOGFmMThkNTE4ZmEKMTkyMDE5NDUxOTZiMTk5MTE5YjcxOWRkMWEwNDFhMmExYTUxMWE3NzFhOWUxYWM1MWFlYzFiMTQxYjNiMWI2MzFiOGExYmIyCjFiZGExYzAyMWMyYTFjNTIxYzdiMWNhMzFjY2MxY2Y1MWQxZTFkNDcxZDcwMWQ5OTFkYzMxZGVjMWUxNjFlNDAxZTZhMWU5NAoxZWJlMWVlOTFmMTMxZjNlMWY2OTFmOTQxZmJmMWZlYTIwMTUyMDQxMjA2YzIwOTgyMGM0MjBmMDIxMWMyMTQ4MjE3NTIxYTEKMjFjZTIxZmIyMjI3MjI1NTIyODIyMmFmMjJkZDIzMGEyMzM4MjM2NjIzOTQyM2MyMjNmMDI0MWYyNDRkMjQ3YzI0YWIyNGRhCjI1MDkyNTM4MjU2ODI1OTcyNWM3MjVmNzI2MjcyNjU3MjY4NzI2YjcyNmU4MjcxODI3NDkyNzdhMjdhYjI3ZGMyODBkMjgzZgoyODcxMjhhMjI4ZDQyOTA2MjkzODI5NmIyOTlkMjlkMDJhMDIyYTM1MmE2ODJhOWIyYWNmMmIwMjJiMzYyYjY5MmI5ZDJiZDEKMmMwNTJjMzkyYzZlMmNhMjJjZDcyZDBjMmQ0MTJkNzYyZGFiMmRlMTJlMTYyZTRjMmU4MjJlYjcyZWVlMmYyNDJmNWEyZjkxCjJmYzcyZmZlMzAzNTMwNmMzMGE0MzBkYjMxMTIzMTRhMzE4MjMxYmEzMWYyMzIyYTMyNjMzMjliMzJkNDMzMGQzMzQ2MzM3ZgozM2I4MzNmMTM0MmIzNDY1MzQ5ZTM0ZDgzNTEzMzU0ZDM1ODczNWMyMzVmZDM2MzczNjcyMzZhZTM2ZTkzNzI0Mzc2MDM3OWMKMzdkNzM4MTQzODUwMzg4YzM4YzgzOTA1Mzk0MjM5N2YzOWJjMzlmOTNhMzYzYTc0M2FiMjNhZWYzYjJkM2I2YjNiYWEzYmU4CjNjMjczYzY1M2NhNDNjZTMzZDIyM2Q2MTNkYTEzZGUwM2UyMDNlNjAzZWEwM2VlMDNmMjEzZjYxM2ZhMjNmZTI0MDIzNDA2NAo0MGE2NDBlNzQxMjk0MTZhNDFhYzQxZWU0MjMwNDI3MjQyYjU0MmY3NDMzYTQzN2Q0M2MwNDQwMzQ0NDc0NDhhNDRjZTQ1MTIKNDU1NTQ1OWE0NWRlNDYyMjQ2Njc0NmFiNDZmMDQ3MzU0NzdiNDdjMDQ4MDU0ODRiNDg5MTQ4ZDc0OTFkNDk2MzQ5YTk0OWYwCjRhMzc0YTdkNGFjNDRiMGM0YjUzNGI5YTRiZTI0YzJhNGM3MjRjYmE0ZDAyNGQ0YTRkOTM0ZGRjNGUyNTRlNmU0ZWI3NGYwMAo0ZjQ5NGY5MzRmZGQ1MDI3NTA3MTUwYmI1MTA2NTE1MDUxOWI1MWU2NTIzMTUyN2M1MmM3NTMxMzUzNWY1M2FhNTNmNjU0NDIKNTQ4ZjU0ZGI1NTI4NTU3NTU1YzI1NjBmNTY1YzU2YTk1NmY3NTc0NDU3OTI1N2UwNTgyZjU4N2Q1OGNiNTkxYTU5Njk1OWI4CjVhMDc1YTU2NWFhNjVhZjU1YjQ1NWI5NTViZTU1YzM1NWM4NjVjZDY1ZDI3NWQ3ODVkYzk1ZTFhNWU2YzVlYmQ1ZjBmNWY2MQo1ZmIzNjAwNTYwNTc2MGFhNjBmYzYxNGY2MWEyNjFmNTYyNDk2MjljNjJmMDYzNDM2Mzk3NjNlYjY0NDA2NDk0NjRlOTY1M2QKNjU5MjY1ZTc2NjNkNjY5MjY2ZTg2NzNkNjc5MzY3ZTk2ODNmNjg5NjY4ZWM2OTQzNjk5YTY5ZjE2YTQ4NmE5ZjZhZjc2YjRmCjZiYTc2YmZmNmM1NzZjYWY2ZDA4NmQ2MDZkYjk2ZTEyNmU2YjZlYzQ2ZjFlNmY3ODZmZDE3MDJiNzA4NjcwZTA3MTNhNzE5NQo3MWYwNzI0YjcyYTY3MzAxNzM1ZDczYjg3NDE0NzQ3MDc0Y2M3NTI4NzU4NTc1ZTE3NjNlNzY5Yjc2Zjg3NzU2NzdiMzc4MTEKNzg2ZTc4Y2M3OTJhNzk4OTc5ZTc3YTQ2N2FhNTdiMDQ3YjYzN2JjMjdjMjE3YzgxN2NlMTdkNDE3ZGExN2UwMTdlNjI3ZWMyCjdmMjM3Zjg0N2ZlNTgwNDc4MGE4ODEwYTgxNmI4MWNkODIzMDgyOTI4MmY0ODM1NzgzYmE4NDFkODQ4MDg0ZTM4NTQ3ODVhYgo4NjBlODY3Mjg2ZDc4NzNiODc5Zjg4MDQ4ODY5ODhjZTg5MzM4OTk5ODlmZThhNjQ4YWNhOGIzMDhiOTY4YmZjOGM2MzhjY2EKOGQzMThkOTg4ZGZmOGU2NjhlY2U4ZjM2OGY5ZTkwMDY5MDZlOTBkNjkxM2Y5MWE4OTIxMTkyN2E5MmUzOTM0ZDkzYjY5NDIwCjk0OGE5NGY0OTU1Zjk1Yzk5NjM0OTY5Zjk3MGE5Nzc1OTdlMDk4NGM5OGI4OTkyNDk5OTA5OWZjOWE2ODlhZDU5YjQyOWJhZgo5YzFjOWM4OTljZjc5ZDY0OWRkMjllNDA5ZWFlOWYxZDlmOGI5ZmZhYTA2OWEwZDhhMTQ3YTFiNmEyMjZhMjk2YTMwNmEzNzYKYTNlNmE0NTZhNGM3YTUzOGE1YTlhNjFhYTY4YmE2ZmRhNzZlYTdlMGE4NTJhOGM0YTkzN2E5YTlhYTFjYWE4ZmFiMDJhYjc1CmFiZTlhYzVjYWNkMGFkNDRhZGI4YWUyZGFlYTFhZjE2YWY4YmIwMDBiMDc1YjBlYWIxNjBiMWQ2YjI0YmIyYzJiMzM4YjNhZQpiNDI1YjQ5Y2I1MTNiNThhYjYwMWI2NzliNmYwYjc2OGI3ZTBiODU5YjhkMWI5NGFiOWMyYmEzYmJhYjViYjJlYmJhN2JjMjEKYmM5YmJkMTViZDhmYmUwYWJlODRiZWZmYmY3YWJmZjVjMDcwYzBlY2MxNjdjMWUzYzI1ZmMyZGJjMzU4YzNkNGM0NTFjNGNlCmM1NGJjNWM4YzY0NmM2YzNjNzQxYzdiZmM4M2RjOGJjYzkzYWM5YjljYTM4Y2FiN2NiMzZjYmI2Y2MzNWNjYjVjZDM1Y2RiNQpjZTM2Y2ViNmNmMzdjZmI4ZDAzOWQwYmFkMTNjZDFiZWQyM2ZkMmMxZDM0NGQzYzZkNDQ5ZDRjYmQ1NGVkNWQxZDY1NWQ2ZDgKZDc1Y2Q3ZTBkODY0ZDhlOGQ5NmNkOWYxZGE3NmRhZmJkYjgwZGMwNWRjOGFkZDEwZGQ5NmRlMWNkZWEyZGYyOWRmYWZlMDM2CmUwYmRlMTQ0ZTFjY2UyNTNlMmRiZTM2M2UzZWJlNDczZTRmY2U1ODRlNjBkZTY5NmU3MWZlN2E5ZTgzMmU4YmNlOTQ2ZTlkMAplYTViZWFlNWViNzBlYmZiZWM4NmVkMTFlZDljZWUyOGVlYjRlZjQwZWZjY2YwNThmMGU1ZjE3MmYxZmZmMjhjZjMxOWYzYTcKZjQzNGY0YzJmNTUwZjVkZWY2NmRmNmZiZjc4YWY4MTlmOGE4ZjkzOGY5YzdmYTU3ZmFlN2ZiNzdmYzA3ZmM5OGZkMjlmZGJhCmZlNGJmZWRjZmY2ZGZmZmY3MDYxNzI2MTAwMDAwMDAwMDAwMzAwMDAwMDAyNjY2NjAwMDBmMmE3MDAwMDBkNTkwMDAwMTNkMAowMDAwMGE1Yjc2NjM2Nzc0MDAwMDAwMDAwMDAwMDAwMTAwMDEwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMDAwMDAKMDAwMTAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMTAwMDA2ZTY0Njk2ZTAwMDAwMDAwMDAwMDAwMzYwMDAwYWUwMDAwMDA1MGMwCjAwMDA0N2MwMDAwMGFjODAwMDAwMjcwMDAwMDAwY2MwMDAwMDUwMDAwMDAwNTQ0MDAwMDIzMzMzMDAwMjMzMzMwMDAyMzMzMwowMDAwMDAwMDAwMDAwMDAwNzM2NjMzMzIwMDAwMDAwMDAwMDEwYzcyMDAwMDA1ZjhmZmZmZjMxZDAwMDAwN2JhMDAwMGZkNzIKZmZmZmZiOWRmZmZmZmRhNDAwMDAwM2Q5MDAwMGMwNzE2ZDZkNmY2NDAwMDAwMDAwMDAwMDFlNmQwMDAwNzcwNzAwMDE3OTY0CmQ2YTY4OTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKWtOfyQAAAOZJREFUeNqVjrtOxDAQRf25/B0SDTUdBRViK9hdZRPn6WB77azH45kxQjQIpeHotFfnKgCgUjBnERFmYa4iu25QAmDN6fHQ3N2/PDw9K3s8g9Y8zTTNspgyTtgPu6a2M/3YDvOwmMFY669q0lo3jZ3ndRwvp5M3piJySgLwWwaoiM6H925Y1s8qwiKqH8eP46nV+tJ2r28H61ytVUTqHoi4xSgiUNhuWRFR/gYRC5ZyS4mY/2yICCAzM+QcYkw5r9cYARUzE1EhYuZSiIh2mz9fEDGE4K0rkKqIqv+BmRPA5v3NOUjpC7wLk4m+bArhAAAAAElFTkSuQmCC'); 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/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAIAAADXZGvcAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAaElEQVR42h3CAQ6DIAwAQP//txGglLZ0xjgQRCT7wjIvt0zVhrETd+Ih8kyd+U5piFz/PFWn6p3SxdIwDpGT+Ptel868W5udzx4OwIp4BFxfpiKekXbrPs5VxBYpeyghFIACYTOmE/0Au+lnD6BnR0QAAAAASUVORK5CYII='); 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/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAABYlAAAWJQFJUiTwAAAad3RFWHRSYXcACmljYwogICAgMzMzMgowMDAwMGQwNDYxNzA3MDZjMDIxMDAwMDA2ZDZlNzQ3MjUyNDc0MjIwNTg1OTVhMjAwN2UzMDAwNTAwMTcwMDA5MDAyYTAwMzMKNjE2MzczNzA0MTUwNTA0YzAwMDAwMDAwNDE1MDUwNGMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNmQ2CjAwMDEwMDAwMDAwMGQzMmQ2MTcwNzA2YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTE2NDY1NzM2MzAwMDAwMTUwMDAwMDAwNjIKNjQ3MzYzNmQwMDAwMDFiNDAwMDAwMWVhNjM3MDcyNzQwMDAwMDNhMDAwMDAwMDIzNzc3NDcwNzQwMDAwMDNjNDAwMDAwMDE0CjcyNTg1OTVhMDAwMDAzZDgwMDAwMDAxNDY3NTg1OTVhMDAwMDAzZWMwMDAwMDAxNDYyNTg1OTVhMDAwMDA0MDAwMDAwMDAxNAo3MjU0NTI0MzAwMDAwNDE0MDAwMDA4MGM2MTYxNzI2NzAwMDAwYzIwMDAwMDAwMjA3NjYzNjc3NDAwMDAwYzQwMDAwMDAwMzAKNmU2NDY5NmUwMDAwMGM3MDAwMDAwMDNlNjM2ODYxNjQwMDAwMGNiMDAwMDAwMDJjNmQ2ZDZmNjQwMDAwMGNkYzAwMDAwMDI4CjYyNTQ1MjQzMDAwMDA0MTQwMDAwMDgwYzY3NTQ1MjQzMDAwMDA0MTQwMDAwMDgwYzYxNjE2MjY3MDAwMDBjMjAwMDAwMDAyMAo2MTYxNjc2NzAwMDAwYzIwMDAwMDAwMjA2NDY1NzM2MzAwMDAwMDAwMDAwMDAwMDg0NDY5NzM3MDZjNjE3OTAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDZkNmM3NTYzMDAwMDAwMDAwMDAwMDAyNjAwMDAwMDBjNjg3MjQ4NTIwMDAwMDAxMjAwMDAwMWQ4NmI2ZjRiNTIKMDAwMDAwMTIwMDAwMDFkODZlNjI0ZTRmMDAwMDAwMTIwMDAwMDFkODY5NjQwMDAwMDAwMDAwMTIwMDAwMDFkODY4NzU0ODU1CjAwMDAwMDEyMDAwMDAxZDg2MzczNDM1YTAwMDAwMDEyMDAwMDAxZDg2NDYxNDQ0YjAwMDAwMDEyMDAwMDAxZDg2ZTZjNGU0YwowMDAwMDAxMjAwMDAwMWQ4NjY2OTQ2NDkwMDAwMDAxMjAwMDAwMWQ4Njk3NDQ5NTQwMDAwMDAxMjAwMDAwMWQ4NjU3MzQ1NTMKMDAwMDAwMTIwMDAwMDFkODcyNmY1MjRmMDAwMDAwMTIwMDAwMDFkODY2NzI0MzQxMDAwMDAwMTIwMDAwMDFkODYxNzIwMDAwCjAwMDAwMDEyMDAwMDAxZDg3NTZiNTU0MTAwMDAwMDEyMDAwMDAxZDg2ODY1NDk0YzAwMDAwMDEyMDAwMDAxZDg3YTY4NTQ1NwowMDAwMDAxMjAwMDAwMWQ4NzY2OTU2NGUwMDAwMDAxMjAwMDAwMWQ4NzM2YjUzNGIwMDAwMDAxMjAwMDAwMWQ4N2E2ODQzNGUKMDAwMDAwMTIwMDAwMDFkODcyNzU1MjU1MDAwMDAwMTIwMDAwMDFkODY1NmU0NzQyMDAwMDAwMTIwMDAwMDFkODY2NzI0NjUyCjAwMDAwMDEyMDAwMDAxZDg2ZDczMDAwMDAwMDAwMDEyMDAwMDAxZDg2ODY5NDk0ZTAwMDAwMDEyMDAwMDAxZDg3NDY4NTQ0OAowMDAwMDAxMjAwMDAwMWQ4NjM2MTQ1NTMwMDAwMDAxMjAwMDAwMWQ4NjU2ZTQxNTUwMDAwMDAxMjAwMDAwMWQ4NjU3MzU4NGMKMDAwMDAwMTIwMDAwMDFkODY0NjU0NDQ1MDAwMDAwMTIwMDAwMDFkODY1NmU1NTUzMDAwMDAwMTIwMDAwMDFkODcwNzQ0MjUyCjAwMDAwMDEyMDAwMDAxZDg3MDZjNTA0YzAwMDAwMDEyMDAwMDAxZDg2NTZjNDc1MjAwMDAwMDEyMDAwMDAxZDg3Mzc2NTM0NQowMDAwMDAxMjAwMDAwMWQ4NzQ3MjU0NTIwMDAwMDAxMjAwMDAwMWQ4NzA3NDUwNTQwMDAwMDAxMjAwMDAwMWQ4NmE2MTRhNTAKMDAwMDAwMTIwMDAwMDFkODAwNGMwMDQ3MDAyMDAwNDgwMDQ0MDA1MjAwMjAwMDM0MDA0YjAwMDA3NDY1Nzg3NDAwMDAwMDAwCjQzNmY3MDc5NzI2OTY3Njg3NDIwNDE3MDcwNmM2NTIwNDk2ZTYzMmUyYzIwMzIzMDMxMzkwMDAwNTg1OTVhMjAwMDAwMDAwMAowMDAwZjMxNjAwMDEwMDAwMDAwMTE2Y2E1ODU5NWEyMDAwMDAwMDAwMDAwMDc5ZDcwMDAwMzg1MTAwMDAwMDVjNTg1OTVhMjAKMDAwMDAwMDAwMDAwNTRkOTAwMDBiYTUwMDAwMDBiOWI1ODU5NWEyMDAwMDAwMDAwMDAwMDI4MjYwMDAwMGQ2MDAwMDBjNzM1CjYzNzU3Mjc2MDAwMDAwMDAwMDAwMDQwMDAwMDAwMDA1MDAwYTAwMGYwMDE0MDAxOTAwMWUwMDIzMDAyODAwMmQwMDMyMDAzNgowMDNiMDA0MDAwNDUwMDRhMDA0ZjAwNTQwMDU5MDA1ZTAwNjMwMDY4MDA2ZDAwNzIwMDc3MDA3YzAwODEwMDg2MDA4YjAwOTAKMDA5NTAwOWEwMDlmMDBhMzAwYTgwMGFkMDBiMjAwYjcwMGJjMDBjMTAwYzYwMGNiMDBkMDAwZDUwMGRiMDBlMDAwZTUwMGViCjAwZjAwMGY2MDBmYjAxMDEwMTA3MDEwZDAxMTMwMTE5MDExZjAxMjUwMTJiMDEzMjAxMzgwMTNlMDE0NTAxNGMwMTUyMDE1OQowMTYwMDE2NzAxNmUwMTc1MDE3YzAxODMwMThiMDE5MjAxOWEwMWExMDFhOTAxYjEwMWI5MDFjMTAxYzkwMWQxMDFkOTAxZTEKMDFlOTAxZjIwMWZhMDIwMzAyMGMwMjE0MDIxZDAyMjYwMjJmMDIzODAyNDEwMjRiMDI1NDAyNWQwMjY3MDI3MTAyN2EwMjg0CjAyOGUwMjk4MDJhMjAyYWMwMmI2MDJjMTAyY2IwMmQ1MDJlMDAyZWIwMmY1MDMwMDAzMGIwMzE2MDMyMTAzMmQwMzM4MDM0MwowMzRmMDM1YTAzNjYwMzcyMDM3ZTAzOGEwMzk2MDNhMjAzYWUwM2JhMDNjNzAzZDMwM2UwMDNlYzAzZjkwNDA2MDQxMzA0MjAKMDQyZDA0M2IwNDQ4MDQ1NTA0NjMwNDcxMDQ3ZTA0OGMwNDlhMDRhODA0YjYwNGM0MDRkMzA0ZTEwNGYwMDRmZTA1MGQwNTFjCjA1MmIwNTNhMDU0OTA1NTgwNTY3MDU3NzA1ODYwNTk2MDVhNjA1YjUwNWM1MDVkNTA1ZTUwNWY2MDYwNjA2MTYwNjI3MDYzNwowNjQ4MDY1OTA2NmEwNjdiMDY4YzA2OWQwNmFmMDZjMDA2ZDEwNmUzMDZmNTA3MDcwNzE5MDcyYjA3M2QwNzRmMDc2MTA3NzQKMDc4NjA3OTkwN2FjMDdiZjA3ZDIwN2U1MDdmODA4MGIwODFmMDgzMjA4NDYwODVhMDg2ZTA4ODIwODk2MDhhYTA4YmUwOGQyCjA4ZTcwOGZiMDkxMDA5MjUwOTNhMDk0ZjA5NjQwOTc5MDk4ZjA5YTQwOWJhMDljZjA5ZTUwOWZiMGExMTBhMjcwYTNkMGE1NAowYTZhMGE4MTBhOTgwYWFlMGFjNTBhZGMwYWYzMGIwYjBiMjIwYjM5MGI1MTBiNjkwYjgwMGI5ODBiYjAwYmM4MGJlMTBiZjkKMGMxMjBjMmEwYzQzMGM1YzBjNzUwYzhlMGNhNzBjYzAwY2Q5MGNmMzBkMGQwZDI2MGQ0MDBkNWEwZDc0MGQ4ZTBkYTkwZGMzCjBkZGUwZGY4MGUxMzBlMmUwZTQ5MGU2NDBlN2YwZTliMGViNjBlZDIwZWVlMGYwOTBmMjUwZjQxMGY1ZTBmN2EwZjk2MGZiMwowZmNmMGZlYzEwMDkxMDI2MTA0MzEwNjExMDdlMTA5YjEwYjkxMGQ3MTBmNTExMTMxMTMxMTE0ZjExNmQxMThjMTFhYTExYzkKMTFlODEyMDcxMjI2MTI0NTEyNjQxMjg0MTJhMzEyYzMxMmUzMTMwMzEzMjMxMzQzMTM2MzEzODMxM2E0MTNjNTEzZTUxNDA2CjE0MjcxNDQ5MTQ2YTE0OGIxNGFkMTRjZTE0ZjAxNTEyMTUzNDE1NTYxNTc4MTU5YjE1YmQxNWUwMTYwMzE2MjYxNjQ5MTY2YwoxNjhmMTZiMjE2ZDYxNmZhMTcxZDE3NDExNzY1MTc4OTE3YWUxN2QyMTdmNzE4MWIxODQwMTg2NTE4OGExOGFmMThkNTE4ZmEKMTkyMDE5NDUxOTZiMTk5MTE5YjcxOWRkMWEwNDFhMmExYTUxMWE3NzFhOWUxYWM1MWFlYzFiMTQxYjNiMWI2MzFiOGExYmIyCjFiZGExYzAyMWMyYTFjNTIxYzdiMWNhMzFjY2MxY2Y1MWQxZTFkNDcxZDcwMWQ5OTFkYzMxZGVjMWUxNjFlNDAxZTZhMWU5NAoxZWJlMWVlOTFmMTMxZjNlMWY2OTFmOTQxZmJmMWZlYTIwMTUyMDQxMjA2YzIwOTgyMGM0MjBmMDIxMWMyMTQ4MjE3NTIxYTEKMjFjZTIxZmIyMjI3MjI1NTIyODIyMmFmMjJkZDIzMGEyMzM4MjM2NjIzOTQyM2MyMjNmMDI0MWYyNDRkMjQ3YzI0YWIyNGRhCjI1MDkyNTM4MjU2ODI1OTcyNWM3MjVmNzI2MjcyNjU3MjY4NzI2YjcyNmU4MjcxODI3NDkyNzdhMjdhYjI3ZGMyODBkMjgzZgoyODcxMjhhMjI4ZDQyOTA2MjkzODI5NmIyOTlkMjlkMDJhMDIyYTM1MmE2ODJhOWIyYWNmMmIwMjJiMzYyYjY5MmI5ZDJiZDEKMmMwNTJjMzkyYzZlMmNhMjJjZDcyZDBjMmQ0MTJkNzYyZGFiMmRlMTJlMTYyZTRjMmU4MjJlYjcyZWVlMmYyNDJmNWEyZjkxCjJmYzcyZmZlMzAzNTMwNmMzMGE0MzBkYjMxMTIzMTRhMzE4MjMxYmEzMWYyMzIyYTMyNjMzMjliMzJkNDMzMGQzMzQ2MzM3ZgozM2I4MzNmMTM0MmIzNDY1MzQ5ZTM0ZDgzNTEzMzU0ZDM1ODczNWMyMzVmZDM2MzczNjcyMzZhZTM2ZTkzNzI0Mzc2MDM3OWMKMzdkNzM4MTQzODUwMzg4YzM4YzgzOTA1Mzk0MjM5N2YzOWJjMzlmOTNhMzYzYTc0M2FiMjNhZWYzYjJkM2I2YjNiYWEzYmU4CjNjMjczYzY1M2NhNDNjZTMzZDIyM2Q2MTNkYTEzZGUwM2UyMDNlNjAzZWEwM2VlMDNmMjEzZjYxM2ZhMjNmZTI0MDIzNDA2NAo0MGE2NDBlNzQxMjk0MTZhNDFhYzQxZWU0MjMwNDI3MjQyYjU0MmY3NDMzYTQzN2Q0M2MwNDQwMzQ0NDc0NDhhNDRjZTQ1MTIKNDU1NTQ1OWE0NWRlNDYyMjQ2Njc0NmFiNDZmMDQ3MzU0NzdiNDdjMDQ4MDU0ODRiNDg5MTQ4ZDc0OTFkNDk2MzQ5YTk0OWYwCjRhMzc0YTdkNGFjNDRiMGM0YjUzNGI5YTRiZTI0YzJhNGM3MjRjYmE0ZDAyNGQ0YTRkOTM0ZGRjNGUyNTRlNmU0ZWI3NGYwMAo0ZjQ5NGY5MzRmZGQ1MDI3NTA3MTUwYmI1MTA2NTE1MDUxOWI1MWU2NTIzMTUyN2M1MmM3NTMxMzUzNWY1M2FhNTNmNjU0NDIKNTQ4ZjU0ZGI1NTI4NTU3NTU1YzI1NjBmNTY1YzU2YTk1NmY3NTc0NDU3OTI1N2UwNTgyZjU4N2Q1OGNiNTkxYTU5Njk1OWI4CjVhMDc1YTU2NWFhNjVhZjU1YjQ1NWI5NTViZTU1YzM1NWM4NjVjZDY1ZDI3NWQ3ODVkYzk1ZTFhNWU2YzVlYmQ1ZjBmNWY2MQo1ZmIzNjAwNTYwNTc2MGFhNjBmYzYxNGY2MWEyNjFmNTYyNDk2MjljNjJmMDYzNDM2Mzk3NjNlYjY0NDA2NDk0NjRlOTY1M2QKNjU5MjY1ZTc2NjNkNjY5MjY2ZTg2NzNkNjc5MzY3ZTk2ODNmNjg5NjY4ZWM2OTQzNjk5YTY5ZjE2YTQ4NmE5ZjZhZjc2YjRmCjZiYTc2YmZmNmM1NzZjYWY2ZDA4NmQ2MDZkYjk2ZTEyNmU2YjZlYzQ2ZjFlNmY3ODZmZDE3MDJiNzA4NjcwZTA3MTNhNzE5NQo3MWYwNzI0YjcyYTY3MzAxNzM1ZDczYjg3NDE0NzQ3MDc0Y2M3NTI4NzU4NTc1ZTE3NjNlNzY5Yjc2Zjg3NzU2NzdiMzc4MTEKNzg2ZTc4Y2M3OTJhNzk4OTc5ZTc3YTQ2N2FhNTdiMDQ3YjYzN2JjMjdjMjE3YzgxN2NlMTdkNDE3ZGExN2UwMTdlNjI3ZWMyCjdmMjM3Zjg0N2ZlNTgwNDc4MGE4ODEwYTgxNmI4MWNkODIzMDgyOTI4MmY0ODM1NzgzYmE4NDFkODQ4MDg0ZTM4NTQ3ODVhYgo4NjBlODY3Mjg2ZDc4NzNiODc5Zjg4MDQ4ODY5ODhjZTg5MzM4OTk5ODlmZThhNjQ4YWNhOGIzMDhiOTY4YmZjOGM2MzhjY2EKOGQzMThkOTg4ZGZmOGU2NjhlY2U4ZjM2OGY5ZTkwMDY5MDZlOTBkNjkxM2Y5MWE4OTIxMTkyN2E5MmUzOTM0ZDkzYjY5NDIwCjk0OGE5NGY0OTU1Zjk1Yzk5NjM0OTY5Zjk3MGE5Nzc1OTdlMDk4NGM5OGI4OTkyNDk5OTA5OWZjOWE2ODlhZDU5YjQyOWJhZgo5YzFjOWM4OTljZjc5ZDY0OWRkMjllNDA5ZWFlOWYxZDlmOGI5ZmZhYTA2OWEwZDhhMTQ3YTFiNmEyMjZhMjk2YTMwNmEzNzYKYTNlNmE0NTZhNGM3YTUzOGE1YTlhNjFhYTY4YmE2ZmRhNzZlYTdlMGE4NTJhOGM0YTkzN2E5YTlhYTFjYWE4ZmFiMDJhYjc1CmFiZTlhYzVjYWNkMGFkNDRhZGI4YWUyZGFlYTFhZjE2YWY4YmIwMDBiMDc1YjBlYWIxNjBiMWQ2YjI0YmIyYzJiMzM4YjNhZQpiNDI1YjQ5Y2I1MTNiNThhYjYwMWI2NzliNmYwYjc2OGI3ZTBiODU5YjhkMWI5NGFiOWMyYmEzYmJhYjViYjJlYmJhN2JjMjEKYmM5YmJkMTViZDhmYmUwYWJlODRiZWZmYmY3YWJmZjVjMDcwYzBlY2MxNjdjMWUzYzI1ZmMyZGJjMzU4YzNkNGM0NTFjNGNlCmM1NGJjNWM4YzY0NmM2YzNjNzQxYzdiZmM4M2RjOGJjYzkzYWM5YjljYTM4Y2FiN2NiMzZjYmI2Y2MzNWNjYjVjZDM1Y2RiNQpjZTM2Y2ViNmNmMzdjZmI4ZDAzOWQwYmFkMTNjZDFiZWQyM2ZkMmMxZDM0NGQzYzZkNDQ5ZDRjYmQ1NGVkNWQxZDY1NWQ2ZDgKZDc1Y2Q3ZTBkODY0ZDhlOGQ5NmNkOWYxZGE3NmRhZmJkYjgwZGMwNWRjOGFkZDEwZGQ5NmRlMWNkZWEyZGYyOWRmYWZlMDM2CmUwYmRlMTQ0ZTFjY2UyNTNlMmRiZTM2M2UzZWJlNDczZTRmY2U1ODRlNjBkZTY5NmU3MWZlN2E5ZTgzMmU4YmNlOTQ2ZTlkMAplYTViZWFlNWViNzBlYmZiZWM4NmVkMTFlZDljZWUyOGVlYjRlZjQwZWZjY2YwNThmMGU1ZjE3MmYxZmZmMjhjZjMxOWYzYTcKZjQzNGY0YzJmNTUwZjVkZWY2NmRmNmZiZjc4YWY4MTlmOGE4ZjkzOGY5YzdmYTU3ZmFlN2ZiNzdmYzA3ZmM5OGZkMjlmZGJhCmZlNGJmZWRjZmY2ZGZmZmY3MDYxNzI2MTAwMDAwMDAwMDAwMzAwMDAwMDAyNjY2NjAwMDBmMmE3MDAwMDBkNTkwMDAwMTNkMAowMDAwMGE1Yjc2NjM2Nzc0MDAwMDAwMDAwMDAwMDAwMTAwMDEwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMDAwMDAKMDAwMTAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMTAwMDA2ZTY0Njk2ZTAwMDAwMDAwMDAwMDAwMzYwMDAwYWUwMDAwMDA1MGMwCjAwMDA0N2MwMDAwMGFjODAwMDAwMjcwMDAwMDAwY2MwMDAwMDUwMDAwMDAwNTQ0MDAwMDIzMzMzMDAwMjMzMzMwMDAyMzMzMwowMDAwMDAwMDAwMDAwMDAwNzM2NjMzMzIwMDAwMDAwMDAwMDEwYzcyMDAwMDA1ZjhmZmZmZjMxZDAwMDAwN2JhMDAwMGZkNzIKZmZmZmZiOWRmZmZmZmRhNDAwMDAwM2Q5MDAwMGMwNzE2ZDZkNmY2NDAwMDAwMDAwMDAwMDFlNmQwMDAwNzcwNzAwMDE3OTY0CmQ2YTY4OTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKWtOfyQAAAMhJREFUeNo9jMtqwzAQAA055BSwqRAOila72rVuvfTSghuo+7AcWZKT//+Z4EuvM8w0Xy8qIUawM+JkbQnhB2AK4dv7mWgVicxpGH4B/oiSSCTaCfO1Pzcfp9NGtGhdvX+IbCIPkXsIhSiB24iKcxkxAWzeV8SCmD1dtX5v22Zqu8Xa2PcrwHy53EUWY2bm+B8wV+ZozM256n1xbqVdjV3XvB2PmzGrMQtRZs4iNYQ8DLO1GXF1bgHIhDeA/cU8KjVq/anU6+HwBAivKT9AjB6AAAAAAElFTkSuQmCC'); 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": ["1354109751","1994492073","2009693873","3825832676"]}