<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>@Summitt Dweller’s Personal Blog - Azure</title>
    <link>https://blog.summittdweller.com/tags/azure/</link>
    <description>All entries in Azure on Personal Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
    <lastBuildDate>Sat, 25 Jan 2025 08:43:21 -0600</lastBuildDate>
    <atom:link href="https://blog.summittdweller.com/tags/azure/" rel="self" type="application/rss+xml" />
    
      
      <item>
        <title>Rebranding CV to HAT with Pagefind</title>
        <link>https://blog.summittdweller.com/posts/2025/01/rebranding-cv/</link>
        <pubDate>Sat, 25 Jan 2025 08:43:21 -0600</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/posts/2025/01/rebranding-cv/</guid>
        <description>&lt;p&gt;Today I&amp;rsquo;m rebranding the Tama-Toledo Community Visioning (CV) site to Hometown Action Team (HAT) and adding Pagefind.&lt;/p&gt;
&lt;p&gt;When doing so I get this build error&amp;hellip;&lt;/p&gt;
&lt;!-- hugo: layouts/shortcodes/original.html --&gt;
&lt;div class=&#34;original&#34;&gt;
Warning: Running in pre-1.0 compatibility mode.
Pagefind 1.0 changes the default output directory from /_pagefind/ to /pagefind/
but references to the /_pagefind/ URL were found on your site, and the output directory is unconfigured.
To preserve your setup, the search files have been written twice, to both /_pagefind/ and /pagefind/
&lt;p&gt;To remove this warning, either update your script and style references to the new &lt;code&gt;/pagefind/&lt;/code&gt; URL
or run Pagefind with &lt;code&gt;--output-subdir _pagefind&lt;/code&gt; to ensure pre-1.0 behaviour&lt;/p&gt;
&lt;/div&gt;
&lt;!-- /hugo: layouts/shortcodes/original.html --&gt;
&lt;p&gt;So, I am going to try changing all _pagefind references to just &amp;lsquo;pagefind&amp;rsquo;.  Wish me luck&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>A Newer Pagefind Enabled Blog!</title>
        <link>https://blog.summittdweller.com/posts/2024/12/newer-pagefind-enabled-blog/</link>
        <pubDate>Sun, 22 Dec 2024 10:43:32 -0600</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/posts/2024/12/newer-pagefind-enabled-blog/</guid>
        <description>&lt;p&gt;It&amp;rsquo;s deja vu all over again.  My &lt;code&gt;timeline&lt;/code&gt; module doesn&amp;rsquo;t work with the current rendition of &lt;a href=&#34;https://blog.SummittDweller.com&#34;&gt;https://blog.SummittDweller.com&lt;/a&gt; and I can&amp;rsquo;t figure out what&amp;rsquo;s broken.  So, I&amp;rsquo;ve resurrected my &lt;a href=&#34;https://github.com/SummittDweller/blogs-SummittDweller&#34;&gt;old personal blog project&lt;/a&gt; and updated with the meager content it was missing.  That project has a working &lt;code&gt;timeline&lt;/code&gt; but no &lt;code&gt;Pagefind&lt;/code&gt; search, yet.&lt;/p&gt;
&lt;p&gt;So, how might I &lt;strong&gt;ONCE AGAIN&lt;/strong&gt; approach combining Hugo with Pagefind in the cloud?  Well, &lt;a href=&#34;https://web.archive.org/web/20220818082611/https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt;* by Tom Hombergs looked like a promising place to start.  The process that Tom advocates leverages a neat little package called &lt;a href=&#34;https://www.npmjs.com/package/hugo-bin&#34;&gt;hugo-bin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;*&lt;em&gt;The links provided above and below are to a Wayback Machine capture of the original post.&lt;/em&gt;&lt;/p&gt;
&lt;h1 id=&#34;once-againthat-was-too-easy&#34;&gt;Once Again&amp;hellip;That Was Too Easy!&lt;/h1&gt;
&lt;p&gt;Wrapping this Hugo blog site in an NPM package was so easy that I forgot to document it&amp;hellip; and maybe I really didn&amp;rsquo;t need too.  Time to catch up, so here&amp;rsquo;s a brief sysnopsis of what I did&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;following-toms-excellent-advice&#34;&gt;Following Tom&amp;rsquo;s Excellent Advice&lt;/h2&gt;
&lt;p&gt;I started by studying &lt;a href=&#34;https://web.archive.org/web/20220818082611/https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt; and quickly found that I could easily follow it almost verbatim.  Since I already had &lt;code&gt;npm&lt;/code&gt; and &lt;code&gt;Hugo&lt;/code&gt; installed I skipped ahead to the section titled &amp;ldquo;Setting Up a Hugo Project&amp;rdquo; and then to the &lt;code&gt;npx&lt;/code&gt; and &lt;code&gt;git&lt;/code&gt; commands there.  My experience, mostly in commands, looked like this on my Mac Mini workstation.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  cd ~/GitHub/
  # Named the new project npm-blog-SummittDweller so it would not confilct with any of my existing `blog...` directories
  mkdir npm-blog-SummittDweller
  cd npm-blog-SummittDweller
  npx hugo new site . --force
  # Copied the contents of my old project into the new one and then removed whatever I no longer needed
  cp -fr ~/GitHub/blogs-SummittDweller/. .  
  # Installed Pagefind...
  npm install pagefind
  git init
  # I created a new empty repo in GitHub called npm-blog-SummittDweller, then...
  git remote add origin https://github.com/SummittDweller/npm-blog-sd 
  git add . 
  git commit -m &amp;#34;Initial commit of new npm-wrapped Hugo project&amp;#34;
  git push
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Having secured a new repo I moved to running Hugo locally, then polishing my &lt;code&gt;package.json&lt;/code&gt; scripts as Tom did.  I now have a &lt;code&gt;package.json&lt;/code&gt; that reads like this:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
  &amp;#34;name&amp;#34;: &amp;#34;npm-blog-sd&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
  &amp;#34;description&amp;#34;: &amp;#34;My personal (SummittDweller) blog built with Hugo inside an NPM package.  December 2024.&amp;#34;,
  &amp;#34;main&amp;#34;: &amp;#34;index.js&amp;#34;,
  &amp;#34;scripts&amp;#34;: {
    &amp;#34;test&amp;#34;: &amp;#34;echo \&amp;#34;Error: no test specified\&amp;#34; &amp;amp;&amp;amp; exit 1&amp;#34;,
    &amp;#34;build&amp;#34;: &amp;#34;npm run hugo:build &amp;amp;&amp;amp; npx pagefind --site public&amp;#34;,
    &amp;#34;do:build&amp;#34;: &amp;#34;hugo -d public &amp;amp;&amp;amp; npx pagefind --site public&amp;#34;,
    &amp;#34;azure:build&amp;#34;: &amp;#34;hugo -d public --baseURL=\&amp;#34;https://azure-static-web-apps-ashy-rock-0f18efc0f\&amp;#34; &amp;amp;&amp;amp; npx pagefind --site public&amp;#34;,
    &amp;#34;clean&amp;#34;: &amp;#34;npm run hugo:clean&amp;#34;,
    &amp;#34;serve&amp;#34;: &amp;#34;npm run hugo:build &amp;amp;&amp;amp; npx pagefind --site public --output-subdir ../static/_pagefind &amp;amp;&amp;amp; npm run hugo:serve&amp;#34;,
    &amp;#34;hugo:build&amp;#34;: &amp;#34;hugo -d public&amp;#34;,
    &amp;#34;hugo:serve&amp;#34;: &amp;#34;hugo server&amp;#34;,
    &amp;#34;hugo:clean&amp;#34;: &amp;#34;rm -rf build resources public&amp;#34;
  },
  &amp;#34;author&amp;#34;: &amp;#34;Mark A. McFate&amp;#34;,
  &amp;#34;license&amp;#34;: &amp;#34;ISC&amp;#34;,
  &amp;#34;dependencies&amp;#34;: {
    &amp;#34;hugo-bin&amp;#34;: &amp;#34;^0.137.0&amp;#34;,
    &amp;#34;pagefind&amp;#34;: &amp;#34;^1.2.0&amp;#34;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;it-works&#34;&gt;It Works!&lt;/h1&gt;
&lt;p&gt;Now I just use &lt;code&gt;npm run serve&lt;/code&gt; to build the Hugo site, index it with Pagefind, and serve it locally at &lt;a href=&#34;http://localhost:1313&#34;&gt;http://localhost:1313&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;a-staging-site-in-azure&#34;&gt;A Staging Site in Azure&lt;/h1&gt;
&lt;p&gt;I can simply push changes to the &lt;code&gt;main&lt;/code&gt; branch of the &lt;code&gt;npm-blog-sd&lt;/code&gt; repo to trigger an Azure (aka GitHub Actions) rebuild, indexing and deployment of the site to &lt;a href=&#34;https://ashy-rock-0f18efc0f.4.azurestaticapps.net&#34;&gt;this address&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;errors&#34;&gt;Errors?&lt;/h1&gt;
&lt;p&gt;So, it took lots of trial-and-error to get the Azure configuration straight.  First there were issues with deployment tokens, so I rewound the project and got that fixed.  Then, since this blog uses SASS I needed to run the &lt;code&gt;extended&lt;/code&gt; version of Hugo, or more specifically, &lt;code&gt;hugo-bin-extended&lt;/code&gt;.   I fixed that, apparently, with the addition of&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  &amp;#34;dependencies&amp;#34;: {
    &amp;#34;hugo-bin-extended&amp;#34;: &amp;#34;latest&amp;#34;,
    &amp;#34;pagefind&amp;#34;: &amp;#34;^1.2.0&amp;#34;
  }
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&amp;hellip;in &lt;code&gt;package.json&lt;/code&gt;.  That &lt;code&gt;hugo-bin-extended&lt;/code&gt; key replaced &lt;code&gt;hugo-bin&lt;/code&gt; and I set the version to &lt;code&gt;latest&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;last-of-the-errors&#34;&gt;Last of the Errors?&lt;/h2&gt;
&lt;p&gt;The changes mentioned above left me with two deprecation errors&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ERROR deprecated: site config key paginate was deprecated in Hugo v0.128.0 and will be removed in Hugo 0.141.0. Use pagination.pagerSize instead.
WARN  Raw HTML omitted while rendering &amp;#34;/github/workspace/content/about.md&amp;#34;; see https://gohugo.io/getting-started/configuration-markup/#rendererunsafe
You can suppress this warning by adding the following to your site configuration:
ignoreLogs = [&amp;#39;warning-goldmark-raw-html&amp;#39;]
ERROR deprecated: .Site.Social was deprecated in Hugo v0.124.0 and will be removed in Hugo 0.141.0. Implement taxonomy &amp;#39;social&amp;#39; or use .Site.Params.Social instead.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This &lt;a href=&#34;https://stackoverflow.com/a/5542964&#34;&gt;post&lt;/a&gt; was very helpful for working with my submodule theme!&lt;/p&gt;
&lt;h1 id=&#34;success&#34;&gt;Success!&lt;/h1&gt;
&lt;p&gt;Well, somewhat.  My site at &lt;a href=&#34;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/&#34;&gt;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/&lt;/a&gt; is visible now, but the theme isn&amp;rsquo;t right.  I suspect that is because my &lt;code&gt;hugo.yml&lt;/code&gt; file still sets the &lt;code&gt;baseURL&lt;/code&gt; to &amp;ldquo;&lt;a href=&#34;https://blog.summittdweller.com&#34;&gt;https://blog.summittdweller.com&lt;/a&gt;&amp;rdquo; and we are not quite there yet.  Setting the &lt;code&gt;baseURL&lt;/code&gt; to &amp;ldquo;&lt;a href=&#34;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/%22&#34;&gt;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/&amp;quot;&lt;/a&gt; and let&amp;rsquo;s see what happens&amp;hellip;  &lt;strong&gt;Bingo!&lt;/strong&gt;   Now, I just need to add a search bar to expose the Pagefind results.   Done!&lt;/p&gt;
&lt;!-- hugo: themes/bootstrap-bp-hugo-theme/layouts/shortcodes/attention-box.html --&gt;
&lt;div style=&#34;border: 3px solid red; padding: 1em; margin: 1em; font-size: x-large; text-align: center;&#34;&gt;What follows is obsolete, it&amp;#39;s from `npm-rootstalk`, and does NOT apply to this blog!&lt;/div&gt;
&lt;!-- /hugo: themes/bootstrap-bp-hugo-theme/layouts/shortcodes/attention-box.html --&gt;

&lt;h1 id=&#34;a-new-production-branch&#34;&gt;A New Production Branch&lt;/h1&gt;
&lt;p&gt;Pushing to production is just as simple, I just have to push changes to the new &lt;code&gt;production&lt;/code&gt; branch of the code and my app spec at DigitalOcean (see below) takes care of building, indexing, and deploying to &lt;a href=&#34;https://rootstalk.grinnell.edu&#34;&gt;https://rootstalk.grinnell.edu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That DO app spec reads like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alerts:
- rule: DEPLOYMENT_FAILED
- rule: DOMAIN_FAILED
domains:
- domain: rootstalk.grinnell.edu
  type: PRIMARY
- domain: prairiejournal.grinnell.edu
  type: ALIAS
envs:
- key: TZ
  scope: RUN_AND_BUILD_TIME
  value: America/Chicago
- key: HUGO_MATOMO_ID
  scope: RUN_AND_BUILD_TIME
  value: &amp;quot;15&amp;quot;
ingress:
  rules:
  - component:
      name: npm-rootstalk
    match:
      path:
        prefix: /
name: npm-rootstalk
region: nyc
static_sites:
- build_command: npm run build
  environment_slug: node-js
  github:
    branch: production
    deploy_on_push: true
    repo: Digital-Grinnell/npm-rootstalk
  name: npm-rootstalk
  source_dir: /
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;It&amp;rsquo;s heavenly!  And that&amp;rsquo;s all for now.&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>A New Pagefind Enabled Blog!</title>
        <link>https://blog.summittdweller.com/posts/2024/12/new-pagefind-enabled-blog/</link>
        <pubDate>Wed, 18 Dec 2024 08:31:49 -0600</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/posts/2024/12/new-pagefind-enabled-blog/</guid>
        <description>&lt;p&gt;So, &lt;code&gt;node&lt;/code&gt; and &lt;code&gt;npm&lt;/code&gt; are maybe not &amp;ldquo;all the rage&amp;rdquo; these days, but they do the job nicely for me.&lt;/p&gt;
&lt;p&gt;So, how might I &lt;strong&gt;ONCE AGAIN&lt;/strong&gt; approach combining Hugo with Pagefind in the cloud?  Well, &lt;a href=&#34;https://web.archive.org/web/20220818082611/https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt;* by Tom Hombergs looked like a promising place to start.  The process that Tom advocates leverages a neat little package called &lt;a href=&#34;https://www.npmjs.com/package/hugo-bin&#34;&gt;hugo-bin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;*&lt;em&gt;The links provided above and below are to a Wayback Machine capture of the original post.&lt;/em&gt;&lt;/p&gt;
&lt;h1 id=&#34;that-was-too-easy&#34;&gt;That Was Too Easy!&lt;/h1&gt;
&lt;p&gt;Wrapping this Hugo blog site in an NPM package was so easy that I forgot to document it&amp;hellip; and maybe I really didn&amp;rsquo;t need too.  Time to catch up, so here&amp;rsquo;s a brief sysnopsis of what I did&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;following-toms-excellent-advice&#34;&gt;Following Tom&amp;rsquo;s Excellent Advice&lt;/h2&gt;
&lt;p&gt;I started by studying &lt;a href=&#34;https://web.archive.org/web/20220818082611/https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt; and quickly found that I could easily follow it almost verbatim.  Since I already had &lt;code&gt;npm&lt;/code&gt; and &lt;code&gt;Hugo&lt;/code&gt; installed I skipped ahead to the section titled &amp;ldquo;Setting Up a Hugo Project&amp;rdquo; and then to the &lt;code&gt;npx&lt;/code&gt; and &lt;code&gt;git&lt;/code&gt; commands there.  My experience, mostly in commands, looked like this on my Mac Mini workstation.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd ~/GitHub/
# Named the new project npm-blog-sd so it would not confilct with any of my existing `blog...` directories
mkdir npm-blog-sd
cd npm-blog-sd
npx hugo new site . --force
# Copied the contents of my old project into the new one and then removed whatever I no longer needed
cp -fr ~/GitHub/blog-sd/. .  
# Installed Pagefind...
npm install pagefind
git init
# I created a new empty repo in GitHub called npm-blog-sd, then...
git remote add origin https://github.com/SummittDweller/npm-blog-sd 
git add . 
git commit -m &amp;quot;Initial commit of new npm-wrapped Hugo project&amp;quot;
git push
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Having secured a new repo I moved to running Hugo locally, then polishing my &lt;code&gt;package.json&lt;/code&gt; scripts as Tom did.  I now have a &lt;code&gt;package.json&lt;/code&gt; that reads like this:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
  &amp;#34;name&amp;#34;: &amp;#34;npm-blog-sd&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
  &amp;#34;description&amp;#34;: &amp;#34;My personal (SummittDweller) blog built with Hugo inside an NPM package.  December 2024.&amp;#34;,
  &amp;#34;main&amp;#34;: &amp;#34;index.js&amp;#34;,
  &amp;#34;scripts&amp;#34;: {
    &amp;#34;test&amp;#34;: &amp;#34;echo \&amp;#34;Error: no test specified\&amp;#34; &amp;amp;&amp;amp; exit 1&amp;#34;,
    &amp;#34;build&amp;#34;: &amp;#34;npm run hugo:build &amp;amp;&amp;amp; npx pagefind --site public&amp;#34;,
    &amp;#34;do:build&amp;#34;: &amp;#34;hugo -d public &amp;amp;&amp;amp; npx pagefind --site public&amp;#34;,
    &amp;#34;azure:build&amp;#34;: &amp;#34;hugo -d public --baseURL=\&amp;#34;https://azure-static-web-apps-ashy-rock-0f18efc0f\&amp;#34; &amp;amp;&amp;amp; npx pagefind --site public&amp;#34;,
    &amp;#34;clean&amp;#34;: &amp;#34;npm run hugo:clean&amp;#34;,
    &amp;#34;serve&amp;#34;: &amp;#34;npm run hugo:build &amp;amp;&amp;amp; npx pagefind --site public --output-subdir ../static/_pagefind &amp;amp;&amp;amp; npm run hugo:serve&amp;#34;,
    &amp;#34;hugo:build&amp;#34;: &amp;#34;hugo -d public&amp;#34;,
    &amp;#34;hugo:serve&amp;#34;: &amp;#34;hugo server&amp;#34;,
    &amp;#34;hugo:clean&amp;#34;: &amp;#34;rm -rf build resources public&amp;#34;
  },
  &amp;#34;author&amp;#34;: &amp;#34;Mark A. McFate&amp;#34;,
  &amp;#34;license&amp;#34;: &amp;#34;ISC&amp;#34;,
  &amp;#34;dependencies&amp;#34;: {
    &amp;#34;hugo-bin&amp;#34;: &amp;#34;^0.137.0&amp;#34;,
    &amp;#34;pagefind&amp;#34;: &amp;#34;^1.2.0&amp;#34;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;it-works&#34;&gt;It Works!&lt;/h1&gt;
&lt;p&gt;Now I just use &lt;code&gt;npm run serve&lt;/code&gt; to build the Hugo site, index it with Pagefind, and serve it locally at &lt;a href=&#34;http://localhost:1313&#34;&gt;http://localhost:1313&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;a-staging-site-in-azure&#34;&gt;A Staging Site in Azure&lt;/h1&gt;
&lt;p&gt;I can simply push changes to the &lt;code&gt;main&lt;/code&gt; branch of the &lt;code&gt;npm-blog-sd&lt;/code&gt; repo to trigger an Azure (aka GitHub Actions) rebuild, indexing and deployment of the site to &lt;a href=&#34;https://ashy-rock-0f18efc0f.4.azurestaticapps.net&#34;&gt;this address&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;errors&#34;&gt;Errors?&lt;/h1&gt;
&lt;p&gt;So, it took lots of trial-and-error to get the Azure configuration straight.  First there were issues with deployment tokens, so I rewound the project and got that fixed.  Then, since this blog uses SASS I needed to run the &lt;code&gt;extended&lt;/code&gt; version of Hugo, or more specifically, &lt;code&gt;hugo-bin-extended&lt;/code&gt;.   I fixed that, apparently, with the addition of&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  &amp;#34;dependencies&amp;#34;: {
    &amp;#34;hugo-bin-extended&amp;#34;: &amp;#34;latest&amp;#34;,
    &amp;#34;pagefind&amp;#34;: &amp;#34;^1.2.0&amp;#34;
  }
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&amp;hellip;in &lt;code&gt;package.json&lt;/code&gt;.  That &lt;code&gt;hugo-bin-extended&lt;/code&gt; key replaced &lt;code&gt;hugo-bin&lt;/code&gt; and I set the version to &lt;code&gt;latest&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;last-of-the-errors&#34;&gt;Last of the Errors?&lt;/h2&gt;
&lt;p&gt;The changes mentioned above left me with two deprecation errors&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ERROR deprecated: site config key paginate was deprecated in Hugo v0.128.0 and will be removed in Hugo 0.141.0. Use pagination.pagerSize instead.
WARN  Raw HTML omitted while rendering &amp;#34;/github/workspace/content/about.md&amp;#34;; see https://gohugo.io/getting-started/configuration-markup/#rendererunsafe
You can suppress this warning by adding the following to your site configuration:
ignoreLogs = [&amp;#39;warning-goldmark-raw-html&amp;#39;]
ERROR deprecated: .Site.Social was deprecated in Hugo v0.124.0 and will be removed in Hugo 0.141.0. Implement taxonomy &amp;#39;social&amp;#39; or use .Site.Params.Social instead.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This &lt;a href=&#34;https://stackoverflow.com/a/5542964&#34;&gt;post&lt;/a&gt; was very helpful for working with my submodule theme!&lt;/p&gt;
&lt;h1 id=&#34;success&#34;&gt;Success!&lt;/h1&gt;
&lt;p&gt;Well, somewhat.  My site at &lt;a href=&#34;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/&#34;&gt;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/&lt;/a&gt; is visible now, but the theme isn&amp;rsquo;t right.  I suspect that is because my &lt;code&gt;hugo.yml&lt;/code&gt; file still sets the &lt;code&gt;baseURL&lt;/code&gt; to &amp;ldquo;&lt;a href=&#34;https://blog.summittdweller.com&#34;&gt;https://blog.summittdweller.com&lt;/a&gt;&amp;rdquo; and we are not quite there yet.  Setting the &lt;code&gt;baseURL&lt;/code&gt; to &amp;ldquo;&lt;a href=&#34;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/%22&#34;&gt;https://ashy-rock-0f18efc0f.4.azurestaticapps.net/&amp;quot;&lt;/a&gt; and let&amp;rsquo;s see what happens&amp;hellip;  &lt;strong&gt;Bingo!&lt;/strong&gt;   Now, I just need to add a search bar to expose the Pagefind results.   Done!&lt;/p&gt;
&lt;!-- hugo: themes/bootstrap-bp-hugo-theme/layouts/shortcodes/attention-box.html --&gt;
&lt;div style=&#34;border: 3px solid red; padding: 1em; margin: 1em; font-size: x-large; text-align: center;&#34;&gt;What follows is obsolete, it&amp;#39;s from `npm-rootstalk`, and does NOT apply to this blog!&lt;/div&gt;
&lt;!-- /hugo: themes/bootstrap-bp-hugo-theme/layouts/shortcodes/attention-box.html --&gt;

&lt;h1 id=&#34;a-new-production-branch&#34;&gt;A New Production Branch&lt;/h1&gt;
&lt;p&gt;Pushing to production is just as simple, I just have to push changes to the new &lt;code&gt;production&lt;/code&gt; branch of the code and my app spec at DigitalOcean (see below) takes care of building, indexing, and deploying to &lt;a href=&#34;https://rootstalk.grinnell.edu&#34;&gt;https://rootstalk.grinnell.edu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That DO app spec reads like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alerts:
- rule: DEPLOYMENT_FAILED
- rule: DOMAIN_FAILED
domains:
- domain: rootstalk.grinnell.edu
  type: PRIMARY
- domain: prairiejournal.grinnell.edu
  type: ALIAS
envs:
- key: TZ
  scope: RUN_AND_BUILD_TIME
  value: America/Chicago
- key: HUGO_MATOMO_ID
  scope: RUN_AND_BUILD_TIME
  value: &amp;quot;15&amp;quot;
ingress:
  rules:
  - component:
      name: npm-rootstalk
    match:
      path:
        prefix: /
name: npm-rootstalk
region: nyc
static_sites:
- build_command: npm run build
  environment_slug: node-js
  github:
    branch: production
    deploy_on_push: true
    repo: Digital-Grinnell/npm-rootstalk
  name: npm-rootstalk
  source_dir: /
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;It&amp;rsquo;s heavenly!  And that&amp;rsquo;s all for now.&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>Streamlit Ghost Azure Resources</title>
        <link>https://blog.summittdweller.com/microposts/2023/06/streamlit-ghost-azure-resources/</link>
        <pubDate>Thu, 01 Jun 2023 13:49:18 +0000</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/microposts/2023/06/streamlit-ghost-azure-resources/</guid>
        <description>&lt;p&gt;I&amp;rsquo;ve got Mackenzie looking at Streamlit as a means of building a mobile-friendly app that I can use to create posts like this one.  That app will need to allow me to edit  a TITLE and Markdown BODY fields, capture location and time, and post all of that information to my personal blog&amp;hellip; preferably from my cell phone.  I&amp;rsquo;ve captured some possible resources and guidance in &lt;a href=&#34;https://www.one-tab.com/page/71iaDADxT-eLEOx15qeVnQ&#34;&gt;https://www.one-tab.com/page/71iaDADxT-eLEOx15qeVnQ&lt;/a&gt;.&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>Wrap EVERYTHING in NPM!</title>
        <link>https://blog.summittdweller.com/posts/2023/05/wrap-everything-in-npm/</link>
        <pubDate>Fri, 19 May 2023 22:27:00 +0000</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/posts/2023/05/wrap-everything-in-npm/</guid>
        <description>&lt;p&gt;So, &lt;code&gt;node&lt;/code&gt; and &lt;code&gt;npm&lt;/code&gt; seem to be all the rage these days, and perhaps for good reason.  I recently fell in love with &lt;a href=&#34;https://www.11ty.dev&#34;&gt;Eleventy/11ty&lt;/a&gt; over &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt; because it&amp;rsquo;s Javascript, not Go, and it&amp;rsquo;s elegantly simple with tons of flexibility.  I recently tried to add &lt;em&gt;Pagefind&lt;/em&gt; search to a Hugo static web site (see &lt;a href=&#34;https://static.grinnell.edu/dlad-blog/posts/143-significant-rootstalk-retooling/&#34;&gt;https://static.grinnell.edu/dlad-blog/posts/143-significant-rootstalk-retooling/&lt;/a&gt;).  If &lt;em&gt;Rootstalk&lt;/em&gt;, an Azure Static Web App was framed in &lt;code&gt;node.js&lt;/code&gt;, as both &lt;em&gt;Eleventy&lt;/em&gt; and &lt;em&gt;Pagefind&lt;/em&gt; are, there would be no problem.  The Azure scripts used to deploy those frameworks are far more customizable than Hugo, and there&amp;rsquo;s documentation to prove it.&lt;/p&gt;
&lt;p&gt;So, how might I approach combining Hugo with Pagefind in the cloud?  Well, &lt;a href=&#34;https://web.archive.org/web/20220818082611/https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt;* by Tom Hombergs looked like a promising place to start.  The process that Tom advocates leverages a neat little package called &lt;a href=&#34;https://www.npmjs.com/package/hugo-bin&#34;&gt;hugo-bin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;*&lt;em&gt;The links provided above and below are to a Wayback Machine capture of the original post.&lt;/em&gt;&lt;/p&gt;
&lt;h1 id=&#34;that-was-too-easy&#34;&gt;That Was Too Easy!&lt;/h1&gt;
&lt;p&gt;Wrapping my Hugo site in an NPM package was so easy that I forgot to document it&amp;hellip; and maybe I really didn&amp;rsquo;t need too.  Time to catch up, so here&amp;rsquo;s a brief sysnopsis of what I did&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;following-toms-excellent-advice&#34;&gt;Following Tom&amp;rsquo;s Excellent Advice&lt;/h2&gt;
&lt;p&gt;I started by studying &lt;a href=&#34;https://web.archive.org/web/20220818082611/https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt; and quickly found that I could easily follow it almost verbatim.  Since I already had &lt;code&gt;npm&lt;/code&gt; and &lt;code&gt;Hugo&lt;/code&gt; installed I skipped ahead to the section titled &amp;ldquo;Setting Up a Hugo Project&amp;rdquo; and then to the &lt;code&gt;npx&lt;/code&gt; and &lt;code&gt;git&lt;/code&gt; commands there.  My experience, mostly in commands, looked like this on my Mac Mini workstation.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd ~/GitHub/
# Named the new project npm-rootstalk so it would not confilct with any of my existing `rootstalk...` directories
mkdir npm-rootstalk      
cd npm-rootstalk
npx hugo new site . --force
# Copied the contents of my old project into the new one and then removed whatever I no longer needed
cp -fr ~/GitHub/rootstalk/. .  
# Installed Pagefind...
npm install pagefind
git init
# I created a new empty repo in GitHub called npm-rootstalk, then...
git remote add origin https://github.com/Digital-Grinnell/npm-rootstalk 
git add . 
git commit -m &amp;quot;Initial commit of new npm-wrapped Hugo project&amp;quot;
git push
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Having secured a new repo I moved to running Hugo locally, then polishing my &lt;code&gt;package.json&lt;/code&gt; scripts as Tom did.  I now have a &lt;code&gt;package.json&lt;/code&gt; that reads like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &amp;quot;name&amp;quot;: &amp;quot;npm-rootstalk&amp;quot;,
  &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,
  &amp;quot;description&amp;quot;: &amp;quot;Rootstalk website built with Hugo and the Lightbi theme inside an NPM package.  May 2023.&amp;quot;,
  &amp;quot;main&amp;quot;: &amp;quot;index.js&amp;quot;,
  &amp;quot;scripts&amp;quot;: {
    &amp;quot;test&amp;quot;: &amp;quot;echo \&amp;quot;Error: no test specified\&amp;quot; &amp;amp;&amp;amp; exit 1&amp;quot;,
    &amp;quot;build&amp;quot;: &amp;quot;npm run hugo:build &amp;amp;&amp;amp; npx pagefind --source public&amp;quot;,
    &amp;quot;do:build&amp;quot;: &amp;quot;hugo -d public &amp;amp;&amp;amp; npx pagefind --source public&amp;quot;,
    &amp;quot;azure:build&amp;quot;: &amp;quot;hugo -d public --baseURL=\&amp;quot;https://yellow-wave-0e513e510.3.azurestaticapps.net/\&amp;quot; &amp;amp;&amp;amp; npx pagefind --source public&amp;quot;,
    &amp;quot;clean&amp;quot;: &amp;quot;npm run hugo:clean&amp;quot;,
    &amp;quot;serve&amp;quot;: &amp;quot;npm run hugo:build &amp;amp;&amp;amp; npx pagefind --source public --bundle-dir ../static/_pagefind &amp;amp;&amp;amp; npm run hugo:serve&amp;quot;,
    &amp;quot;hugo:build&amp;quot;: &amp;quot;hugo -d public&amp;quot;,
    &amp;quot;hugo:serve&amp;quot;: &amp;quot;hugo server&amp;quot;,
    &amp;quot;hugo:clean&amp;quot;: &amp;quot;rm -rf build resources public&amp;quot;
  },
  &amp;quot;author&amp;quot;: &amp;quot;Mark A. McFate&amp;quot;,
  &amp;quot;license&amp;quot;: &amp;quot;ISC&amp;quot;,
  &amp;quot;dependencies&amp;quot;: {
    &amp;quot;hugo-bin&amp;quot;: &amp;quot;^0.102.0&amp;quot;,
    &amp;quot;pagefind&amp;quot;: &amp;quot;^0.12.0&amp;quot;
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h1 id=&#34;it-works&#34;&gt;It Works!&lt;/h1&gt;
&lt;p&gt;Now I just use &lt;code&gt;npm run serve&lt;/code&gt; to build the Hugo site, index it with Pagefind, and serve it locally at &lt;a href=&#34;http://localhost:1313&#34;&gt;http://localhost:1313&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;a-staging-site-in-azure&#34;&gt;A Staging Site in Azure&lt;/h1&gt;
&lt;p&gt;I can simply push changes to the &lt;code&gt;main&lt;/code&gt; branch of the &lt;code&gt;npm-rootstalk&lt;/code&gt; repo to trigger an Azure (aka GitHub Actions) rebuild, indexing and deployment of the site to &lt;a href=&#34;https://yellow-wave-0e513e510.3.azurestaticapps.net/&#34;&gt;this address&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;a-new-production-branch&#34;&gt;A New Production Branch&lt;/h1&gt;
&lt;p&gt;Pushing to production is just as simple, I just have to push changes to the new &lt;code&gt;production&lt;/code&gt; branch of the code and my app spec at DigitalOcean (see below) takes care of building, indexing, and deploying to &lt;a href=&#34;https://rootstalk.grinnell.edu&#34;&gt;https://rootstalk.grinnell.edu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That DO app spec reads like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alerts:
- rule: DEPLOYMENT_FAILED
- rule: DOMAIN_FAILED
domains:
- domain: rootstalk.grinnell.edu
  type: PRIMARY
- domain: prairiejournal.grinnell.edu
  type: ALIAS
envs:
- key: TZ
  scope: RUN_AND_BUILD_TIME
  value: America/Chicago
- key: HUGO_MATOMO_ID
  scope: RUN_AND_BUILD_TIME
  value: &amp;quot;15&amp;quot;
ingress:
  rules:
  - component:
      name: npm-rootstalk
    match:
      path:
        prefix: /
name: npm-rootstalk
region: nyc
static_sites:
- build_command: npm run build
  environment_slug: node-js
  github:
    branch: production
    deploy_on_push: true
    repo: Digital-Grinnell/npm-rootstalk
  name: npm-rootstalk
  source_dir: /
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;It&amp;rsquo;s heavenly!  And that&amp;rsquo;s all for now.&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>A Pagefind Problem?</title>
        <link>https://blog.summittdweller.com/posts/2023/05/a-pagefind-problem/</link>
        <pubDate>Wed, 10 May 2023 14:33:09 +0000</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/posts/2023/05/a-pagefind-problem/</guid>
        <description>&lt;h1 id=&#34;not-just-a-hugo-issue&#34;&gt;Not Just a Hugo Issue&lt;/h1&gt;
&lt;p&gt;Take note of the question mark at the end of the title, otherwise it could be somewhat misleading.  This is not really a problem with Hugo, but one with cloud deployment of Hugo static apps, particularly as an Azure Static Web App.&lt;/p&gt;
&lt;h1 id=&#34;the-nutshell&#34;&gt;The Nutshell&lt;/h1&gt;
&lt;p&gt;As you may know from &lt;a href=&#34;https://static.grinnell.edu/dlad-blog/posts/143-significant-rootstalk-retooling/&#34;&gt;post 143&lt;/a&gt;, I have successfully installed and configured &lt;a href=&#34;https://pagefind.app/&#34;&gt;Pagefind&lt;/a&gt; in &lt;a href=&#34;https://rootstalk.grinnell.edu&#34;&gt;Rootstalk&lt;/a&gt;, but thus far it only works locally.  When I try to deploy Pagefind to the cloud, specifically as an Azure Static Web App, I can&amp;rsquo;t make it work because there&amp;rsquo;s no apparent way to invoke the necessary &lt;code&gt;npx pagefind...&lt;/code&gt; command AFTER Hugo compiles the site, but BEFORE the site gets deployed.  Azure leverages GitHub Actions to build Hugo sites, but that process also involves some custom/proprietary Azure scripts.  Therein lies the problem.&lt;/p&gt;
&lt;p&gt;The Azure script auto-detects the presence of a Hugo project, or any one of many other platforms.  That makes the process super-easy to use, but nearly impossible to &amp;ldquo;customize&amp;rdquo;.  Azure does provide some configuration variables to influence the script behavior, most notably there&amp;rsquo;s an &lt;code&gt;app_build_command&lt;/code&gt; variable that looks promising, but it only works for &lt;code&gt;node&lt;/code&gt; builds, and not for Hugo.&lt;/p&gt;
&lt;h1 id=&#34;three-possible-solutions&#34;&gt;Three Possible Solutions&lt;/h1&gt;
&lt;p&gt;I can reasonably see three possible solutions to this dilema.  In order of simplicity they are:&lt;/p&gt;
&lt;h2 id=&#34;1-skip-azure-and-deploy-only-to-digitalocean&#34;&gt;1. Skip Azure and Deploy Only to DigitalOcean&lt;/h2&gt;
&lt;p&gt;Ultimately, Rootstalk&amp;rsquo;s production instance is a DigitalOcean (DO) static web app, Azure is only used for &amp;ldquo;staging&amp;rdquo; of a locally viable Rootstalk instance.  DO doesn&amp;rsquo;t use GitHub Actions, a drawback in my book, so its build script, called an &amp;ldquo;App Spec&amp;rdquo; in DO, is a little more &amp;ldquo;open&amp;rdquo;.  The critical portion of the App Spec I use to deploy Rootstalk in DO reads like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static_sites:
- build_command: hugo -d public
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&amp;rsquo;s it, just a simple &lt;code&gt;hugo -d public&lt;/code&gt; command.  So, in theory I should be able to just change that to read:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static_sites:
- build_command: hugo -d public &amp;amp;&amp;amp; npm_config_yes=true npx pagefind --source &amp;quot;public&amp;quot; --bundle-dir ../static/_pagefind
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It&amp;rsquo;s basically just a &amp;ldquo;compound&amp;rdquo; command to run &lt;code&gt;npx&lt;/code&gt; immediately after &lt;code&gt;hugo&lt;/code&gt; is done compiling.&lt;/p&gt;
&lt;p&gt;The problem with this very simple solution, assuming it even works, is that it&amp;rsquo;s somewhat unique to Rootstalk which is already deployed to DigitalOcean.  Other Hugo projects, and I have many like &lt;a href=&#34;https://static.grinnell.edu/dlad-blog&#34;&gt;this blog&lt;/a&gt;, that need Azure or another cloud provider other than DO, would not benefit from this fix.&lt;/p&gt;
&lt;h3 id=&#34;update-12-may-2023-same-problem-exists-in-digitalocean&#34;&gt;Update 12-May-2023: Same Problem Exists in DigitalOcean&lt;/h3&gt;
&lt;p&gt;Well, I tried.  I attempted to push my Pagefind additions to Rootstalk forward directly into production on DigitalOcean.  Unfortunately, that failed in similar fashion to what I saw in Azure.  It all works locally, but DigitalOcean, like Azure, has no way of &amp;ldquo;detecting&amp;rdquo; that my Hugo project has an NPM component, and therefore takes no steps to build NPM or Pagefind into my solution.&lt;/p&gt;
&lt;p&gt;So, I&amp;rsquo;m moving on to option #2 below.  Wish me luck.&lt;/p&gt;
&lt;h2 id=&#34;2-wrap-hugo-in-npm&#34;&gt;2. Wrap Hugo in &lt;code&gt;npm&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;So, &lt;code&gt;node&lt;/code&gt; and &lt;code&gt;npm&lt;/code&gt; seem to be all the rage these days, and perhaps for good reason.  I recently fell in love with &lt;a href=&#34;https://www.11ty.dev&#34;&gt;Eleventy/11ty&lt;/a&gt; because it&amp;rsquo;s Javascript, not Go, and it&amp;rsquo;s elegantly simple with tons of flexibility.  If my Azure Static Web App was framed in &lt;code&gt;node.js&lt;/code&gt;, as both &lt;em&gt;Eleventy&lt;/em&gt; and &lt;em&gt;Pagefind&lt;/em&gt; are, there would be no problem.  The Azure scripts used to deploy those frameworks are far more customizable than Hugo, and there&amp;rsquo;s documentation to prove it.&lt;/p&gt;
&lt;p&gt;So, how might I approach something like this?  Well, &lt;a href=&#34;https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;A Powerful Blog Setup with Hugo and NPM&lt;/a&gt; by Tom Hombergs looks like a promising place to start.  The process that Tom advocates leverages a neat little package called &lt;a href=&#34;https://www.npmjs.com/package/hugo-bin&#34;&gt;hugo-bin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If strategy #1 fails I&amp;rsquo;ll certainly give this #2 a try.  Even if #1 works, I might give this strategy a spin if/when I re-tool &lt;a href=&#34;https://static.grinnell.edu/dlad-blog&#34;&gt;this blog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;update-29-may-2023-npm-is-great&#34;&gt;Update 29-May-2023: NPM is GREAT!&lt;/h2&gt;
&lt;p&gt;Since my first option (above) failed very quickly, I moved on to this option and I honestly think I might transition every static site that I have to be wrapped inside NPM, it works wonderfully and is a really attractive solution for so many ills!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to document my experience with NPM wrapped around Hugo and will post that document here soon, probably as &lt;a href=&#34;https://blog.summittdweller.com/wrap-everything-in-npm/&#34;&gt;Wrap EVERYTHING in NPM!&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;3-transition-from-hugo-to-eleventy&#34;&gt;3. Transition from Hugo to Eleventy&lt;/h2&gt;
&lt;p&gt;Reasonable?  Yes.  A lot of work?  That&amp;rsquo;s relative.  The right thing to do?  Probably.&lt;/p&gt;
&lt;p&gt;So, it&amp;rsquo;s already been done, see &lt;a href=&#34;https://blog.summittdweller.com/this-blog-in-eleventy-ghost/&#34;&gt;This Blog in Eleventy + Ghost&lt;/a&gt; and &lt;a href=&#34;https://blog.summittdweller.com/glad-i-found-pagefind/&#34;&gt;Searching for a Search Solution&lt;/a&gt;.  That&amp;rsquo;s all I&amp;rsquo;m going to say about this option, a definite maybe.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;That&amp;rsquo;s all folks&amp;hellip; for now.&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>Wrapping Hugo in NPM</title>
        <link>https://blog.summittdweller.com/microposts/2023/05/wrapping-hugo-in-npm/</link>
        <pubDate>Tue, 09 May 2023 23:13:09 +0000</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/microposts/2023/05/wrapping-hugo-in-npm/</guid>
        <description>&lt;p&gt;I ran into a big road block with implementation of Pagefind in &lt;em&gt;Rootstalk&lt;/em&gt; today&amp;hellip; everything works fine in development, but I can&amp;rsquo;t easily deploy to &lt;em&gt;Azure&lt;/em&gt; because there&amp;rsquo;s no way to &amp;ldquo;inject&amp;rdquo; Pagefind into an Azure Static Web App build before the &amp;ldquo;public&amp;rdquo; content gets deployed.  I can generate the Pagefind parts after deployment, but that does me no good.&lt;/p&gt;
&lt;p&gt;Tomorrow I need to have a look at my &lt;em&gt;Rootstalk&lt;/em&gt; DigitalOcean deployment to see if what I already have might work there (DO uses a build script that I can add an &lt;code&gt;npx...&lt;/code&gt; command to).  If that fails I need to look back at &lt;a href=&#34;https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&#34;&gt;https://www.blogtrack.io/blog/powerful-blog-setup-with-hugo-and-npm/&lt;/a&gt; to see if there&amp;rsquo;s a solution there for me.&lt;/p&gt;
&lt;p&gt;-/-/-/&lt;/p&gt;
&lt;p&gt;location: Toledo, IA&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>Rename Azure Subscription</title>
        <link>https://blog.summittdweller.com/microposts/2023/02/2023-02-03-rename-azure-subscription-html/</link>
        <pubDate>Sat, 04 Feb 2023 09:36:17 -0600</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/microposts/2023/02/2023-02-03-rename-azure-subscription-html/</guid>
        <description>&lt;p&gt;Today I plan to follow the guidance found in &lt;a href=&#34;https://techgenix.com/rename-azure-subscriptions/&#34;&gt;Rename Azure Subscriptions and Find Your Environments Faster&lt;/a&gt; to fix the name of my personal &lt;em&gt;Azure subscription 1&lt;/em&gt;, and maybe more.  That&amp;rsquo;s a horrible name, I know!&lt;/p&gt;
&lt;p&gt;Done!  The new subscription name is &lt;em&gt;SummittDweller Pay-As-You-Go&lt;/em&gt;.  Much better!&lt;/p&gt;
</description>
      </item>
      
    
      
      <item>
        <title>Gating My Content</title>
        <link>https://blog.summittdweller.com/posts/2023/01/gating-content/</link>
        <pubDate>Mon, 30 Jan 2023 14:45:01 -0600</pubDate>
        <author>Mark McFate</author>
        <guid>https://blog.summittdweller.com/posts/2023/01/gating-content/</guid>
        <description>&lt;h1 id=&#34;gating-content-in-jamstack-sites&#34;&gt;Gating Content in JAMstack Sites&lt;/h1&gt;
&lt;p&gt;This section&amp;rsquo;s title was borrowed from a &lt;a href=&#34;https://www.stackbit.com/&#34;&gt;Stackbit&lt;/a&gt; article with the same title, &lt;a href=&#34;https://www.stackbit.com/blog/gating-content-jamstack&#34;&gt;Gating Content in JAMstack Sites&lt;/a&gt;.  Working through that article to password protect some of the content at &lt;a href=&#34;https://Wieting.TamaToledo.com&#34;&gt;https://Wieting.TamaToledo.com&lt;/a&gt; is my tech pursit today.&lt;/p&gt;
&lt;h1 id=&#34;nope-not-on-netlify&#34;&gt;Nope, Not on Netlify&lt;/h1&gt;
&lt;p&gt;&amp;#x1f626;
Last evening I took a shot at implementing the &lt;em&gt;Netlify Identity&lt;/em&gt; tricks from the aforementioned article, but could not easily get it to work.  The problem, I think, is that the &lt;a href=&#34;https://Wieting.TamaToledo.com&#34;&gt;https://Wieting.TamaToledo.com&lt;/a&gt; on &lt;em&gt;Netlify&lt;/em&gt; already uses &lt;em&gt;Netlify Identity&lt;/em&gt; for authentication of my &lt;em&gt;Netlify CMS&lt;/em&gt; forms, and adding a second, separate instance of that service isn&amp;rsquo;t trivial and perhaps isn&amp;rsquo;t even feasible.  I also tried implementing some quick &lt;a href=&#34;https://www.npmjs.com/package/staticrypt&#34;&gt;Staticrypt&lt;/a&gt; CLI protection but that also failed.  &lt;em&gt;Netlify&lt;/em&gt; does provide a really quick and painless solution, but it costs $20/month, at a minimum, to enable it.&lt;/p&gt;
&lt;h1 id=&#34;new-staticrypt-strategy&#34;&gt;New Staticrypt Strategy?&lt;/h1&gt;
&lt;p&gt;So, my next shot at this will involve creating a new &lt;a href=&#34;https://www.11ty.dev/&#34;&gt;Eleventy&lt;/a&gt; site just for the Wieting&amp;rsquo;s protected content.  Wish me luck and follow along here if you like.&lt;/p&gt;
&lt;h1 id=&#34;trying-azure-devops&#34;&gt;Trying Azure DevOps&lt;/h1&gt;
&lt;p&gt;I recently created a personal Azure account, registered to &lt;em&gt;summitt.dweller@gmail.com&lt;/em&gt;, and last evening (January 31, 2023) I took a dive into &lt;a href=&#34;&#34;&gt;Azure DevOps&lt;/a&gt; under that account.  The &amp;ldquo;welcome&amp;rdquo; email that I received says I now have an &amp;ldquo;organization&amp;rdquo; URL at &lt;a href=&#34;https://dev.azure.com/summittdweller&#34;&gt;https://dev.azure.com/summittdweller&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I jumped into Azure DevOps because it looks like within that environment I can establish a Content Management System (CMS) not unlike the &lt;em&gt;NetlifyCMS&lt;/em&gt; (or perhaps it IS NCMS) that I run for the Wieting Theatre, hosted with Netlify.com.  I really like &lt;em&gt;NetlifyCMS&lt;/em&gt;, but thus far I&amp;rsquo;ve had limited success with it, and ONLY at Netlify.com where the user authentication process is nicely streamlined.  I hope that Azure DevOps has user authentication that&amp;rsquo;s just as easy to manage, and at less cost.&lt;/p&gt;
&lt;p&gt;So, I guess the strategy now is to see what Azure DevOps has to offer, rather than venturing further with &lt;a href=&#34;https://www.npmjs.com/package/staticrypt&#34;&gt;Staticrypt&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;That&amp;rsquo;s a TEMPORAY wrap, this post isn&amp;rsquo;t finished just yet.&lt;/p&gt;
</description>
      </item>
      
    
  </channel>
</rss>
