<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="https://lhero.org/wp-content/plugins/lh-private-feeds/xsl/template.xsl"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" >

<channel>
	<title>Portfolios &#8211; LocalHero Org</title>
	<atom:link href="https://lhero.org/portfolios/feed/" rel="self" type="application/rss+xml" />
	<link>https://lhero.org</link>
	<description>Digital Sovereignty for everyone</description>
	<lastBuildDate>Sat, 14 Nov 2026 05:44:59 +0000</lastBuildDate>
	<language>en-AU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/lhero.org/wp-content/uploads/2015/12/site_icon_2017-jpg.webp?fit=32%2C32&#038;quality=86&#038;strip=info&#038;ssl=1</url>
	<title>Portfolios &#8211; LocalHero Org</title>
	<link>https://lhero.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<atom:link rel='hub' href='https://lhero.org/?pushpress=hub'/>
<atom:link rel="search" type="application/opensearchdescription+xml" title="Search LocalHero Org" href="https://lhero.org/wp-json/opensearch/1.1/document" />
	<item>
		<title>LH Persistent Forms</title>
		<link>https://lhero.org/portfolio/lh-persistent-forms/</link>
					<comments>https://lhero.org/portfolio/lh-persistent-forms/#comments</comments>
		
		<dc:creator><![CDATA[Peter Shaw]]></dc:creator>
		<pubDate>Sat, 14 Nov 2026 05:44:59 +0000</pubDate>
				<guid isPermaLink="false">https://lhero.org/?post_type=lh-portfolio&#038;p=154592</guid>

					<description><![CDATA[Type: PluginLifecycle Stage: ExperimentalLH Persistent Forms remembers what visitors type into forms, in their own browser, so a closed tab, a lost connection or a repeat visit doesn&#8217;t mean typing it all again. Everything stays in the visitor&#8217;s browser, in... <a class="more-link" href="https://lhero.org/portfolio/lh-persistent-forms/">Continue Reading &#8594;</a>]]></description>
										<content:encoded><![CDATA[<ul class="lh_portfolio-meta"><li><strong>Type:</strong> Plugin</li><li><strong>Lifecycle Stage:</strong> Experimental</li></ul>
<p class="wp-block-paragraph">LH Persistent Forms remembers what visitors type into forms, in their own browser, so a closed tab, a lost connection or a repeat visit doesn&#8217;t mean typing it all again.</p>



<ul class="wp-block-list">
<li><strong>Per page:</strong> a half-written comment is saved as you type and put back if you return to the page. It&#8217;s cleared once the form is submitted.</li>



<li><strong>Across the site:</strong> your name and email are filled in for you on any form on the site.</li>
</ul>



<p class="wp-block-paragraph">Everything stays in the visitor&#8217;s browser, in IndexedDB; nothing is sent to the server, and passwords are never stored. Which fields are remembered is set with two filters. There are no settings screens.</p>



<p class="wp-block-paragraph">It replaces LH Localforage and carries each visitor&#8217;s saved values over automatically. It uses the small idb-keyval library, shared through LH idb-keyval where that&#8217;s installed and bundled otherwise.</p>


<ul class="lh_portfolio-doc-toc"><li><a href="https://lhero.org/portfolio/lh-persistent-forms/how-it-works/">How it works</a></li><li><a href="https://lhero.org/portfolio/lh-persistent-forms/moving-from-lh-localforage/">Moving from LH Localforage</a></li><li><a href="https://lhero.org/portfolio/lh-persistent-forms/changelog/">Changelog</a></li></ul>]]></content:encoded>
					
					<wfw:commentRss>https://lhero.org/portfolio/lh-persistent-forms/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>LH Infinite Scroll</title>
		<link>https://lhero.org/portfolio/lh-infinite-scroll/</link>
					<comments>https://lhero.org/portfolio/lh-infinite-scroll/#comments</comments>
		
		<dc:creator><![CDATA[Peter Shaw]]></dc:creator>
		<pubDate>Sat, 14 Nov 2026 01:35:22 +0000</pubDate>
				<guid isPermaLink="false">https://lhero.org/?post_type=lh-portfolio&#038;p=154538</guid>

					<description><![CDATA[Type: Plugin Lifecycle Stage: Active LH Infinite Scroll loads the next page of posts as a visitor reaches the end of a list, so they can keep reading an archive without clicking through page links. It works with the Query... <a class="more-link" href="https://lhero.org/portfolio/lh-infinite-scroll/">Continue Reading &#8594;</a>]]></description>
										<content:encoded><![CDATA[<ul class="lh_portfolio-meta"><li><strong>Type:</strong> Plugin</li><li><strong>Lifecycle Stage:</strong> Active</li></ul><p class="wp-block-paragraph">LH Infinite Scroll loads the next page of posts as a visitor reaches the end of a list, so they can keep reading an archive without clicking through page links. It works with the Query Loop block in any block theme, on the posts page, archives and search results.</p><h2 class="wp-block-heading">Key features</h2><ul class="wp-block-list"><li>The next page starts loading shortly before the visitor gets to the end of the list, so new posts are usually there by the time they arrive.</li><li>The address bar and tab title follow the page being read, so a link copied or a page reloaded lands back in the same place, without filling the back button with page steps.</li><li>New posts are added to the list without reloading anything already on the page, and a post that would appear twice because something new was published is skipped.</li><li>Built on progressive enhancement: the normal page links stay in the page, are hidden only while loading works, and come back if a page cannot be loaded. Without JavaScript the archive works as usual.</li><li>Screen reader users are told when more posts have loaded.</li><li>No settings and no extra stylesheet: activate it and any Query Loop that inherits the main query scrolls on.</li></ul><ul class="lh_portfolio-doc-toc"><li><a href="https://lhero.org/portfolio/lh-infinite-scroll/developer-reference/">Developer reference</a></li><li><a href="https://lhero.org/portfolio/lh-infinite-scroll/changelog/">Changelog</a></li></ul>]]></content:encoded>
					
					<wfw:commentRss>https://lhero.org/portfolio/lh-infinite-scroll/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
