CINXE.COM
July 2019 Product Updates Post
<!DOCTYPE html> <html lang="en"> <head> <title>July 2019 Product Updates Post</title> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="HandheldFriendly" content="True" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="https://blog.helpdocs.io/assets/built/screen.css?v=47a1c6ac11" /> <meta name="description" content="Lighthouse is now smarter. Now even better on mobile and keeps your history with a back button. Plus an update to the way Stale works 🍃"> <link rel="icon" href="https://blog.helpdocs.io/content/images/size/w256h256/2020/11/bookmarked-favicon--1-.png" type="image/png"> <link rel="canonical" href="https://blog.helpdocs.io/july-2019-product-updates-post/"> <meta name="referrer" content="no-referrer-when-downgrade"> <link rel="amphtml" href="https://blog.helpdocs.io/july-2019-product-updates-post/amp/"> <meta property="og:site_name" content="HelpDocs Bookmarked"> <meta property="og:type" content="article"> <meta property="og:title" content="July 2019 Product Updates Post"> <meta property="og:description" content="Lighthouse is now smarter. Now even better on mobile and keeps your history with a back button. Plus an update to the way Stale works 🍃"> <meta property="og:url" content="https://blog.helpdocs.io/july-2019-product-updates-post/"> <meta property="og:image" content="https://blog.helpdocs.io/content/images/size/w1200/2019/08/product_present-1.png"> <meta property="article:published_time" content="2019-08-15T11:53:07.000Z"> <meta property="article:modified_time" content="2021-04-13T18:18:05.000Z"> <meta property="article:tag" content="Announcements"> <meta property="article:publisher" content="https://www.facebook.com/helpdocs"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="July 2019 Product Updates Post"> <meta name="twitter:description" content="Lighthouse is now smarter. Now even better on mobile and keeps your history with a back button. Plus an update to the way Stale works 🍃"> <meta name="twitter:url" content="https://blog.helpdocs.io/july-2019-product-updates-post/"> <meta name="twitter:image" content="https://blog.helpdocs.io/content/images/size/w1200/2019/08/product_present-1.png"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Matt Aunger"> <meta name="twitter:label2" content="Filed under"> <meta name="twitter:data2" content="Announcements"> <meta name="twitter:site" content="@helpdocs"> <meta name="twitter:creator" content="@MattMadeThings"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="900"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "HelpDocs Bookmarked", "url": "https://blog.helpdocs.io/", "logo": { "@type": "ImageObject", "url": "https://blog.helpdocs.io/content/images/2021/04/bookmarked-favicon.svg", "width": 60, "height": 60 } }, "author": { "@type": "Person", "name": "Matt Aunger", "image": { "@type": "ImageObject", "url": "https://blog.helpdocs.io/content/images/2018/06/profile_photo-1.png", "width": 500, "height": 500 }, "url": "https://blog.helpdocs.io/author/matt-aunger/", "sameAs": [ "https://twitter.com/MattMadeThings" ] }, "headline": "July 2019 Product Updates Post", "url": "https://blog.helpdocs.io/july-2019-product-updates-post/", "datePublished": "2019-08-15T11:53:07.000Z", "dateModified": "2021-04-13T18:18:05.000Z", "image": { "@type": "ImageObject", "url": "https://blog.helpdocs.io/content/images/size/w1200/2019/08/product_present-1.png", "width": 1200, "height": 900 }, "keywords": "Announcements", "description": "Lighthouse is now smarter. Now even better on mobile and keeps your history with a back button. Plus an update to the way Stale works 🍃", "mainEntityOfPage": "https://blog.helpdocs.io/july-2019-product-updates-post/" } </script> <meta name="generator" content="Ghost 5.109"> <link rel="alternate" type="application/rss+xml" title="HelpDocs Bookmarked" href="https://blog.helpdocs.io/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.49/umd/portal.min.js" data-i18n="true" data-ghost="https://blog.helpdocs.io/" data-key="b5f4afd59b3ec554dd86f2c12c" data-api="https://helpdocs.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="b5f4afd59b3ec554dd86f2c12c" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://helpdocs.ghost.io/" data-locale="en" crossorigin="anonymous"></script> <link href="https://blog.helpdocs.io/webmentions/receive/" rel="webmention"> <script defer src="/public/cards.min.js?v=47a1c6ac11"></script> <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=47a1c6ac11"> <script defer src="/public/member-attribution.min.js?v=47a1c6ac11"></script><style>:root {--ghost-accent-color: #de2474;}</style> <meta property="fb:pages" content="163141254019828" /> <meta name="slack-app-id" content="A3Y1X4NG5"> <script defer data-domain="helpdocs.io" event-domain="Blog" src="https://plausible.io/js/script.pageview-props.tagged-events.js"></script> <script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/2e0173ac9de27e32969b0e26a/a974f7d0d8f6ae0435976edb0.js");</script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/themes/prism-tomorrow.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.27.4/tocbot.css"> <script> // Function to add announcement banner when page is ready function ready(fn) { if (document.readyState !== 'loading') { fn(); } else { document.addEventListener('DOMContentLoaded', fn); } } ready(function() { // Start by adding the text you'd like to use inside the banner const newContent = document.createTextNode("💖 Try HelpDocs. Give our simple help documentation software a spin with a 14-day free trial."); // and for the link here const linkText = document.createTextNode("Learn more →"); // then add the link title (for accessibility) const linkTitle = "Link to HelpDocs homepage"; // and finally add the link to your article/webpage const link = "https://www.helpdocs.io?ref=blogtopcta"; // We create new div elements const banner = document.createElement("div"); const textDiv = document.createElement("div"); banner.classList.add("annoucement-banner"); textDiv.classList.add("ab-text"); // Then get the #gh-head element to prepend to const mainDiv = document.getElementById("gh-head"); // and give it some content const a = document.createElement("a"); a.appendChild(linkText); a.title = linkTitle; a.href = link; a.classList.add("plausible-event-name=Blog+Top+CTA"); // then add the text to the newly created div banner.appendChild(textDiv); textDiv.appendChild(newContent); banner.appendChild(a); // finally it's added before the #gh-head element mainDiv.prepend(banner); }); </script> <style> .collections { margin-top: 40px; } .gh-head-inner { margin-top: 8px; } .annoucement-banner { font-size: 15px; padding: 8px 25px; display: flex; background-color: rgba(255, 255, 255, 0.8); color: #0a0b0c; border-radius: 50px; justify-content: space-between; gap: 10px; } .annoucement-banner { order: 1; } .annoucement-banner a { order: 2; } .article-header { display: flex; margin: 0 10%; flex-wrap: wrap; } @media only screen and (max-width: 1000px) { .article-header { display: flex; margin: 0 5%; flex-wrap: wrap; } } .article-meta { order: 1; flex: 60%; padding-right: 20px; } .post-image { order: 2; flex: 40%; padding-left: 20px; } .footer-cta .inner p { margin-bottom: 20px; } .gh-post-end-button { padding: 8px 15px; color: var(--color-darkgrey); font-weight: 500; letter-spacing: -.015em; font-size: 2rem; line-height: 1em; background: #f45599; border-radius: 30px; } .site-collections { flex: 70%; } .collections-wrapper { padding: 0.1em 3em; background-color: var(--darkpink); color: var(--lightpink); margin: 4em 0; border-radius: 6px; } .collections { display: flex; justify-content: space-between; flex-direction: row; margin-bottom: -2em; } .collections a { text-decoration: none; } @media only screen and (max-width: 1300px) { .collections { display: none; } .site-intro { flex: unset !important; } } .collection { flex-wrap: wrap; flex-direction: column; margin: 0.5em; padding: 9px 20px; background-color: white; border-radius: 3px; cursor: pointer; color: #303a3e; text-decoration: none; height: 230px; overflow: scroll; font-size: 16px; transition: transform 0.25s ease; box-shadow: 0 1.6px 2.5px rgba(0, 0, 0, 0.04), 0 5.4px 8.5px rgba(0, 0, 0, 0.06), 0 24px 38px rgba(0, 0, 0, 0.1); } .collection:hover { transform: translateY(-1px); } .collection .collection-logo { height: 65px; width: 90px; } .collections-wrapper h2 { font-size: 3.2rem; } .collection h3 { order: 1; color: #541f36; } .collection p { order: 2; } .intro-collection-image { height: 400px; } .gh-head-logo img { max-height: 45px; margin-top: 8px; } .home-template .gh-head { background-color: transparent; } .site-header-content { color: black; flex-direction: row; text-align: initial; background: rgb(255,255,255); background: -moz-linear-gradient(0deg, rgba(255,255,255,1) 23%, rgba(244,85,153,1) 100%); background: -webkit-linear-gradient(0deg, rgba(255,255,255,1) 23%, rgba(244,85,153,1) 100%); background: linear-gradient(0deg, rgba(255,255,255,1) 23%, rgba(244,85,153,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f45599",GradientType=1); } .site-intro { flex: 30%; } pre[class*=language-] { margin: 1.75em 0; } .post-full-content .big-quote { font-size: 3rem; line-height: 1.5em; color: var(--hdpink); } .site-nav-left-wrapper:before, .site-nav-left-wrapper:after { background: none !important; } body, html { overflow-x: unset !important; } .tip { padding: 10px 20px; background-color: #fff6f7; border-radius: 5px; } .toc { border: 1px solid rgb(201, 201, 201); border-radius: 6px; padding: 20px; box-shadow: 0px 0px 0px 7px rgba(0,0,0,0.1); } .toc a { text-decoration: none; font-size: 15px; } .toc a.is-active-link::before { background-color: #f45599; } @media only screen and (max-width: 1000px) { .toc { position: initial; } } .subhead::first-letter { -webkit-initial-letter: 2; initial-letter: 2; color: #f45599; margin-right: .75em; } p.big-quote { font-size: 35px; color: #6655f4; margin: 50px 0; max-width: 800px; font-style: italic; font-family: Georgia, serif; quotes: "\201C" "\201D" "\2018" "\2019"; } a.unwrapped-link { color: inherit; text-decoration: none; } .unwrapped { background-color: #ffa8cd; padding: 35px 15px 10px 15px; border-radius: 6px; text-align: center; font-size: 17px; margin: 1em 0; border: 2px solid black; transition: border 0.25s ease-in-out; } .unwrapped:hover { border: 4px solid black; } img.wrapped-logo { margin-bottom: -85px; z-index: 2; } </style> </head> <body class="post-template tag-announcements"> <div class="viewport"> <header id="gh-head" class="gh-head "> <nav class="gh-head-inner inner gh-container"> <div class="gh-head-brand"> <a class="gh-head-logo" href="https://blog.helpdocs.io"> <img src="https://blog.helpdocs.io/content/images/2021/04/bookmarked-favicon.svg" alt="HelpDocs Bookmarked" /> </a> <a class="gh-burger" role="button"> <div class="gh-burger-box"> <div class="gh-burger-inner"></div> </div> </a> </div> <div class="gh-head-menu"> <ul class="nav"> <li class="nav-all"><a href="https://blog.helpdocs.io/">All</a></li> <li class="nav-customer-stories"><a href="https://blog.helpdocs.io/tag/customer-stories/">Customer Stories</a></li> <li class="nav-support-smarter"><a href="https://blog.helpdocs.io/tag/support-smarter/">Support Smarter</a></li> <li class="nav-backpage"><a href="https://blog.helpdocs.io/tag/backpage/">Backpage</a></li> <li class="nav-product-updates"><a href="https://blog.helpdocs.io/tag/announcements/">Product Updates</a></li> <li class="nav-guides"><a href="https://www.helpdocs.io/guides">Guides</a></li> </ul> </div> <div class="gh-head-actions"> <div class="gh-social"> <a class="gh-social-facebook" href="https://www.facebook.com/helpdocs" title="Facebook" target="_blank" rel="noopener"><svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0zm5.204 4.911h-3.546c-2.103 0-4.443.885-4.443 3.934.01 1.062 0 2.08 0 3.225h-2.433v3.872h2.509v11.147h4.61v-11.22h3.042l.275-3.81h-3.397s.007-1.695 0-2.187c0-1.205 1.253-1.136 1.329-1.136h2.054V4.911z" /></svg></a> <a class="gh-social-twitter" href="https://twitter.com/helpdocs" title="Twitter" target="_blank" rel="noopener"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z"/></svg> </a> </div> <a class="gh-head-button" target="_blank" href="https://eepurl.com/gpQnJb" rel="noopener">Subscribe</a> </div> </nav> </header> <main> <article class="article post tag-announcements"> <header class="article-header gh-canvas"> <div class="article-meta"> <section class="article-tag"> <a href="https://blog.helpdocs.io/tag/announcements/">Announcements</a> </section> <h1 class="article-title">July 2019 Product Updates Post</h1> <p class="article-excerpt">Lighthouse is now smarter. Now even better on mobile and keeps your history with a back button. Plus an update to the way Stale works 🍃</p> <div class="article-byline"> <section class="article-byline-content"> <ul class="author-list"> <li class="author-list-item"> <a href="/author/matt-aunger/" class="author-avatar"> <img class="author-profile-image" src="/content/images/size/w100/2018/06/profile_photo-1.png" alt="Matt Aunger" /> </a> </li> </ul> <div class="article-byline-meta"> <h4 class="author-name"><a href="/author/matt-aunger/">Matt Aunger</a></h4> <div class="byline-meta-content"> <time class="byline-meta-date" datetime="2019-08-15">Aug 15, 2019</time> <span class="byline-reading-time"><span class="bull">•</span> 4 min read</span> </div> </div> </section> </div> </div> <div class="post-image"> <figure class="article-image"> <img srcset="/content/images/size/w300/2019/08/product_present-1.png 300w, /content/images/size/w600/2019/08/product_present-1.png 600w, /content/images/size/w1000/2019/08/product_present-1.png 1000w, /content/images/size/w2000/2019/08/product_present-1.png 2000w" sizes="(min-width: 1400px) 1400px, 92vw" src="/content/images/size/w2000/2019/08/product_present-1.png" alt="July 2019 Product Updates Post" /> </figure> </div> </header> <section class="gh-content gh-canvas"> <!--kg-card-begin: markdown--><p>Wowee! July was bananas wasn’t it? 🍌 🍌<br> We shipped a bunch. We blogged a bunch. We dove through a pages and pages of job applications for both the Customer Education, and the developer roles.</p> <p>On the product and shipping side there were so many updates it’s actually been difficult to keep track. 🔍</p> <p>As is customary we shipped. And me oh my did we ship! 🚣♂️</p> <p>Boat loads of awesomeness including updates to Lighthouse and Stale, and what feels like an endless list of minor tweaks.</p> <p>So let’s just jump right in!</p> <h3 id="lighthouse">Lighthouse</h3> <p>First up let’s take a look at some tweaks shipped to Lighthouse.</p> <p>This month was a fun one for our mighty knowledge base widget whose updates included a couple of much requested UI updates alongside a couple of tweaks to the code, and some fixes to keep things running smoothly. 👌</p> <h4 id="gobackorgohome">Go Back or Go Home</h4> <p>Every once in a while we get a comment about the back button inside Lighthouse.</p> <p>The reason was that hitting the back button wouldn’t just drop you back a step or two in your navigation history, it’d throw you right back to the beginning.</p> <p>Like all the way back.</p> <p>We’re talking chisels and stone levels of <strong>Back</strong>.</p> <p>Ok so it wasn’t quite as bad as being thrust into the Stone Age but it still wasn’t sitting very well with some of our customer’s users.</p> <p>And what upsets our customers users usually upsets our customers. Which in turn upsets us!</p> <p>So we figured we’d make a change 🤗</p> <p>Now we’ve added a history stack. So when your customers hit the back button they will go back a step.</p> <p>Feels nicer right?</p> <p>I knew you’d be impressed!</p> <p>But we didn’t stop there. Oh no!</p> <p>We also recognised that for users who are three, four, or five levels deep sometimes they <em>do</em> wanna go all the way back.</p> <p>So…<em><em>cue the drum roll</em></em>…we added a home button.</p> <p>Now when your users hit <strong>Support</strong>—or whatever you might have changed the <em>brand</em> field to in the config—they’ll be magically transported right back to the beginning.</p> <p>You may applaud now 👏</p> <h3 id="lighthousetweaks">Lighthouse Tweaks</h3> <p>As mentioned before we also added a couple of minor tweaks. One makes Lighthouse look a ton better on mobile. And the other simply adds a title tag to the Lighthouse iFrame to keep Google happy</p> <h3 id="stale">Stale</h3> <p>While we’re on the topic of things that we’ve tweaked to make even more awesome, we have a few updates to the way Stale works.</p> <h4 id="flipreverseit">Flip-reverse it</h4> <p>This change came after we were made aware that our users were struggling with the Stale<>Fresh workflow.</p> <p>The way we intended it to work was that an article editor set the article as Stale if they didn’t have time to edit an article and make it Fresh.</p> <p>So, we naturally assumed that the next person to go in and save changes to the article would be making the updates it needs to bring it up to date. And in doing so would want the <strong>Stale</strong> status removed.</p> <p>Turns out, we got that one a little wrong! 😬</p> <p>Instead, it turns out it makes more sense <em>not</em> to make that assumption. And instead to make Stale state changes more a conscious choice.</p> <p>Basically, we don’t automate the state changes and instead let you do it yourself 🤷♂️</p> <h3 id="smallerbutnolessimportant">Smaller, but No Less Important</h3> <ul> <li><strong>STOP! Your Article’s become a novel.</strong> Long articles suck for everyone. They cause havoc in the text editor and trying to read them as a user can feel like pulling teeth. So we added an indicator that shows when article breaches 2,000 words so you know when things are getting a little long in the tooth 😁</li> <li><strong>Password Password 123?</strong> Improperly set passwords were causing sign up issues for invitees. So now we highlight password requirements on sign up account page so your team get it right first time 👍</li> <li><strong>Identify Yourself.</strong> Someone using our API docs wanted to know where to find their category IDs. So we start including them in the <strong>edit category sidebar</strong> 💪</li> <li><strong>References and References.</strong> We had a request to support more ways to reference. Particularly for things like footnotes. So we bumped Superscript and Subscript support up the roadmap. 🔖</li> </ul> <h3 id="fixes">Fixes</h3> <ul> <li><strong>Be bold…wait…STOP!</strong> Unbolding didn’t work. Like, at all! So we fixed it. Now you can make things not bold. But only if they were bold first. 🤔</li> <li><strong>Do You Have a Permit For That?</strong> Our Front Extension wasn’t showing published articles to anonymous Front team members in the plugin. That was annoying so we fixed it. And we made error messages prettier too! Yanno…just in case! 😬</li> <li><strong>Avoid the Triple Threat.</strong> We noticed a bug where a Table of Contents was breaking when three of the same header existed in an article. Now we number them in the code so we can avoid all that mess 🔢</li> <li><strong>Drag and Oops.</strong> We were made aware that clicking outside the "Category Edit" sidebar closed the category edit window and wiped all inputs. That was super frustrating so we made it work better. 👍</li> <li><strong>Groupies Beware.</strong> A bug meant that admins couldn’t edit user groups in the edit user sidebar. We found the culprit and squashed that sucker. 🐛</li> <li><strong>Headless Breakages.</strong> Empty headings were causing some layout and table of contents issues. So no we strip them from articles altogether 👍</li> <li><strong>It’s Just Not Our Style.</strong> Robots.txt decided it was a good idea to block stylesheet from indexing. While this didn’t impact Google's ability to crawl, it was super irritating. So we fixed it. Bad Robot! 🤖</li> <li><strong>Where are we going?</strong> Lighthouse .navigate() was failing to navigate when you were on an article/category and trying to navigate to another article/category. It was weird. It’s no longer weird. 🤓</li> <li><strong>That’s Professor Supercalifragilisticexpialidocious to you!</strong> Long names were breaking the author dropdown selector inside the text editor.</li> <li><strong>Oh I Don’t See.</strong> SSO logins were redirecting to the wrong place on managed OIDC accounts. It’s ok though. We gave them a map and showed them the right way! 🗺️</li> <li><strong>Get Me the Data…Stat!</strong> There was a weird bug where Owners were unable to see stats for permissioned articles. Super weird. But another one bites the boot 👞</li> <li><strong>Save Me.</strong> Changing text to a bullet/ordered list wasn’t activating the Save button. That meant users had to make an arbitrary edit just to save the article. Say no to arbitrary edits 🙅♂️</li> <li><strong>The Curious Case of the Ghostly Articles.</strong> A teensy bug was causing recently deleted articles to temporarily show up on homepages. Obviously that shouldn’t happen. We called the Ghostbusters and got rid of those pesky poltergeisticles. 👻</li> </ul> <!--kg-card-end: markdown--> </section> </article> <section class="footer-cta"> <div class="inner"> <h2>Got space for us in your inbox? 📬</h2> <p>Our latest content delivered straight to your inbox every month. No fluff.</p> <a class="gh-post-end-button" target="_blank" href="https://eepurl.com/gpQnJb">Subscribe</a> </div> </section> <aside class="read-more-wrap"> <div class="read-more inner"> <article class="post-card post "> <a class="post-card-image-link" href="/how-i-created-our-quickstart-guide/"> <img class="post-card-image" srcset="/content/images/size/w300/2025/02/pigeon-paper.jpg 300w, /content/images/size/w600/2025/02/pigeon-paper.jpg 600w, /content/images/size/w1000/2025/02/pigeon-paper.jpg 1000w, /content/images/size/w2000/2025/02/pigeon-paper.jpg 2000w" sizes="(max-width: 1000px) 400px, 800px" src="/content/images/size/w600/2025/02/pigeon-paper.jpg" alt="Helping Users Succeed: My Journey to Creating a Quick Start Guide" loading="lazy" /> </a> <div class="post-card-content"> <a class="post-card-content-link" href="/how-i-created-our-quickstart-guide/"> <header class="post-card-header"> <h2 class="post-card-title">Helping Users Succeed: My Journey to Creating a Quick Start Guide</h2> </header> <section class="post-card-excerpt"> <p>Struggling with user activation? I finally created a Quick Start help article, and it transformed our onboarding! Learn how I built it, what I included, and how you can create one to help your users succeed faster.</p> </section> </a> </div> </article> <article class="post-card post "> <a class="post-card-image-link" href="/best-ai-knowledge-base-software/"> <img class="post-card-image" srcset="/content/images/size/w300/2025/02/ai-kb-options.webp 300w, /content/images/size/w600/2025/02/ai-kb-options.webp 600w, /content/images/size/w1000/2025/02/ai-kb-options.webp 1000w, /content/images/size/w2000/2025/02/ai-kb-options.webp 2000w" sizes="(max-width: 1000px) 400px, 800px" src="/content/images/size/w600/2025/02/ai-kb-options.webp" alt="AI Knowledge Bases Explained: What They Are & Which One is Right for You" loading="lazy" /> </a> <div class="post-card-content"> <a class="post-card-content-link" href="/best-ai-knowledge-base-software/"> <header class="post-card-header"> <h2 class="post-card-title">AI Knowledge Bases Explained: What They Are & Which One is Right for You</h2> </header> <section class="post-card-excerpt"> <p>AI-powered Knowledge Bases are revolutionizing customer support and documentation. Learn how AI is transforming Knowledge Bases, explore top tools, and find the perfect solution for your business.</p> </section> </a> </div> </article> <article class="post-card post "> <a class="post-card-image-link" href="/optimize-knowledge-base-for-ai/"> <img class="post-card-image" srcset="/content/images/size/w300/2025/02/book-line.png 300w, /content/images/size/w600/2025/02/book-line.png 600w, /content/images/size/w1000/2025/02/book-line.png 1000w, /content/images/size/w2000/2025/02/book-line.png 2000w" sizes="(max-width: 1000px) 400px, 800px" src="/content/images/size/w600/2025/02/book-line.png" alt="How to Make Your Knowledge Base AI-Optimized" loading="lazy" /> </a> <div class="post-card-content"> <a class="post-card-content-link" href="/optimize-knowledge-base-for-ai/"> <header class="post-card-header"> <h2 class="post-card-title">How to Make Your Knowledge Base AI-Optimized</h2> </header> <section class="post-card-excerpt"> <p>Using an AI-powered customer support tool that isn't suggesting the right articles? Learn how to optimize your Knowledge Base for both AI and customers.</p> </section> </a> </div> </article> </div> </aside> </main> <footer class="site-footer outer"> <div class="inner"> <section class="copyright"><a href="https://blog.helpdocs.io">HelpDocs Bookmarked</a> © 2025</section> <nav class="site-footer-nav"> </nav> <div><a href="https://ghost.org/" target="_blank" rel="noopener">Powered by Ghost</a></div> </div> </footer> </div> <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"> </script> <script src="https://blog.helpdocs.io/assets/built/casper.js?v=47a1c6ac11"></script> <script> $(document).ready(function () { // Mobile Menu Trigger $('.gh-burger').click(function () { $('body').toggleClass('gh-head-open'); }); // FitVids - Makes video embeds responsive $(".gh-content").fitVids(); }); </script> <script> window.addEventListener('DOMContentLoaded', (event) => { document.querySelectorAll('pre[class*=language-]').forEach(function(node) { node.classList.add('line-numbers'); }); Prism.highlightAll(); }); </script> <script async src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/prism.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.11.1/tocbot.min.js"></script> <script> tocbot.init({ tocSelector: '.toc', contentSelector: '.gh-content', hasInnerContainers: true, ignoreSelector: '.kg-header-card-heading', scrollSmooth: true, collapseDepth: 0, }); </script> </body> </html>