Forgot to build the pages.
This commit is contained in:
BIN
public/.DS_Store
vendored
Normal file
BIN
public/.DS_Store
vendored
Normal file
Binary file not shown.
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>404 Page not found | Norm-Hosted 💾</title>
|
<title>404 Page not found | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="./404.html">
|
<link rel="canonical" href="./404.html">
|
||||||
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -38,13 +38,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="404 Page not found" />
|
<meta property="og:title" content="404 Page not found" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/404.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/404.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="404 Page not found"/>
|
<meta name="twitter:title" content="404 Page not found"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="./" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="./" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -92,7 +92,7 @@ if (!doNotTrack) {
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="./">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="./">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
BIN
public/birdnet-homeassistant.png
Normal file
BIN
public/birdnet-homeassistant.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 236 KiB |
BIN
public/birdnet_mqtt_settings.png
Normal file
BIN
public/birdnet_mqtt_settings.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 207 KiB |
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>Categories | Norm-Hosted 💾</title>
|
<title>Categories | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="./categories.html">
|
<link rel="canonical" href="./categories.html">
|
||||||
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,13 +39,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="Categories" />
|
<meta property="og:title" content="Categories" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/categories.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/categories.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="Categories"/>
|
<meta name="twitter:title" content="Categories"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="./" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="./" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -98,7 +98,7 @@ if (!doNotTrack) {
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="./">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="./">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>Categories on Norm-Hosted 💾</title>
|
<title>Categories on Norm-working Packets 💾</title>
|
||||||
<link>/categories.html</link>
|
<link>/categories.html</link>
|
||||||
<description>Recent content in Categories on Norm-Hosted 💾</description>
|
<description>Recent content in Categories on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language><atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
|
<language>en-us</language><atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||||
</channel>
|
</channel>
|
||||||
|
|||||||
@ -6,9 +6,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>Norm-Hosted 💾</title>
|
<title>Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="Blog, Website, Resume, Interests, Portfolio, Selfhosted, DIY">
|
<meta name="keywords" content="Blog, Website, Resume, Interests, Portfolio, Selfhosted, DIY">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="./">
|
<link rel="canonical" href="./">
|
||||||
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,22 +39,22 @@ if (!doNotTrack) {
|
|||||||
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="Norm-Hosted 💾" />
|
<meta property="og:title" content="Norm-working Packets 💾" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="Norm-Hosted 💾"/>
|
<meta name="twitter:title" content="Norm-working Packets 💾"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"name": "Norm-Hosted 💾",
|
"name": "Norm-working Packets 💾",
|
||||||
"url": "/",
|
"url": "/",
|
||||||
"description": "A mostly technical blog \u0026amp; series of experiences working in tech and my homelab",
|
"description": "A semi-technical blog \u0026amp; series of experiences working in tech and my homelab",
|
||||||
"thumbnailUrl": "/favicon.ico",
|
"thumbnailUrl": "/favicon.ico",
|
||||||
"sameAs": [
|
"sameAs": [
|
||||||
"https://fosstodon.org/@notnorm", "https://github.com/Normanras"
|
"https://fosstodon.org/@notnorm", "https://github.com/Normanras"
|
||||||
@ -74,7 +74,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="./" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="./" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -137,7 +137,22 @@ if (!doNotTrack) {
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="./%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
|
||||||
|
</figure>
|
||||||
|
<header class="entry-header">
|
||||||
|
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content">
|
||||||
|
<p>This is Part One of a Two Part Series. You can find Part Two, here.
|
||||||
|
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. I’m a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
|
||||||
|
</div>
|
||||||
|
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span> · 10 min · 1953 words · Me</footer>
|
||||||
|
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="./posts/birdnet_homeassistant.html"></a>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="post-entry">
|
||||||
|
<figure class="entry-cover"><img loading="lazy" src="./multiple-git-cover-img.png" alt="git commands">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
||||||
@ -152,8 +167,6 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="./%3Cimage%20path/url%3E" alt="">
|
|
||||||
</figure>
|
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Trouble Hosting Hugo with Nginx
|
<h2>Trouble Hosting Hugo with Nginx
|
||||||
</h2>
|
</h2>
|
||||||
@ -166,7 +179,7 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="./%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="./npm_to_nginx.png" alt="NginxProxyManger to Nginx">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
||||||
@ -182,7 +195,7 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="./">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="./">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
@ -1,12 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>Norm-Hosted 💾</title>
|
<title>Norm-working Packets 💾</title>
|
||||||
<link>/</link>
|
<link>/</link>
|
||||||
<description>Recent content on Norm-Hosted 💾</description>
|
<description>Recent content on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
|
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
|
||||||
|
<link>/posts/birdnet_homeassistant.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/posts/birdnet_homeassistant.html</guid>
|
||||||
|
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title>Pushing a Single Local Git Repo to Multiple Remote Repos</title>
|
<title>Pushing a Single Local Git Repo to Multiple Remote Repos</title>
|
||||||
<link>/posts/multiple_git_remotes.html</link>
|
<link>/posts/multiple_git_remotes.html</link>
|
||||||
|
|||||||
BIN
public/multiple-git-cover-img.png
Normal file
BIN
public/multiple-git-cover-img.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
BIN
public/npm_to_nginx.png
Normal file
BIN
public/npm_to_nginx.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 191 KiB |
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>Posts | Norm-Hosted 💾</title>
|
<title>Posts | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="Posts - Norm-Hosted 💾">
|
<meta name="description" content="Posts - Norm-working Packets 💾">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="./posts.html">
|
<link rel="canonical" href="./posts.html">
|
||||||
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,13 +39,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="Posts" />
|
<meta property="og:title" content="Posts" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/posts.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/posts.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="Posts"/>
|
<meta name="twitter:title" content="Posts"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
@ -75,7 +75,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="./" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="./" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -111,7 +111,22 @@ if (!doNotTrack) {
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="./%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
|
||||||
|
</figure>
|
||||||
|
<header class="entry-header">
|
||||||
|
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content">
|
||||||
|
<p>This is Part One of a Two Part Series. You can find Part Two, here.
|
||||||
|
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. I’m a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
|
||||||
|
</div>
|
||||||
|
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span> · 10 min · 1953 words · Me</footer>
|
||||||
|
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="./posts/birdnet_homeassistant.html"></a>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="post-entry">
|
||||||
|
<figure class="entry-cover"><img loading="lazy" src="./multiple-git-cover-img.png" alt="git commands">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
||||||
@ -126,8 +141,6 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="./%3Cimage%20path/url%3E" alt="">
|
|
||||||
</figure>
|
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Trouble Hosting Hugo with Nginx
|
<h2>Trouble Hosting Hugo with Nginx
|
||||||
</h2>
|
</h2>
|
||||||
@ -140,7 +153,7 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="./%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="./npm_to_nginx.png" alt="NginxProxyManger to Nginx">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
||||||
@ -156,7 +169,7 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="./">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="./">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
504
public/posts/birdnet_homeassistant.html
Normal file
504
public/posts/birdnet_homeassistant.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,12 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>Posts on Norm-Hosted 💾</title>
|
<title>Posts on Norm-working Packets 💾</title>
|
||||||
<link>/posts.html</link>
|
<link>/posts.html</link>
|
||||||
<description>Recent content in Posts on Norm-Hosted 💾</description>
|
<description>Recent content in Posts on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
|
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
|
||||||
|
<link>/posts/birdnet_homeassistant.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/posts/birdnet_homeassistant.html</guid>
|
||||||
|
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title>Pushing a Single Local Git Repo to Multiple Remote Repos</title>
|
<title>Pushing a Single Local Git Repo to Multiple Remote Repos</title>
|
||||||
<link>/posts/multiple_git_remotes.html</link>
|
<link>/posts/multiple_git_remotes.html</link>
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>Pushing a Single Local Git Repo to Multiple Remote Repos | Norm-Hosted 💾</title>
|
<title>Pushing a Single Local Git Repo to Multiple Remote Repos | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="git, backups, commandline">
|
<meta name="keywords" content="git, backups, commandline">
|
||||||
<meta name="description" content="Learn one way to push your git changes to multiple remote repositories.">
|
<meta name="description" content="Learn one way to push your git changes to multiple remote repositories.">
|
||||||
<meta name="author" content="Me">
|
<meta name="author" content="Me">
|
||||||
@ -43,12 +43,12 @@ if (!doNotTrack) {
|
|||||||
<meta property="og:description" content="Learn one way to push your git changes to multiple remote repositories." />
|
<meta property="og:description" content="Learn one way to push your git changes to multiple remote repositories." />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:url" content="/posts/multiple_git_remotes.html" />
|
<meta property="og:url" content="/posts/multiple_git_remotes.html" />
|
||||||
<meta property="og:image" content="/%3Cimage%20path/url%3E" /><meta property="article:section" content="posts" />
|
<meta property="og:image" content="/multiple-git-cover-img.png" /><meta property="article:section" content="posts" />
|
||||||
<meta property="article:published_time" content="2023-09-22T15:07:10-04:00" />
|
<meta property="article:published_time" content="2023-09-22T15:07:10-04:00" />
|
||||||
<meta property="article:modified_time" content="2023-09-22T15:07:10-04:00" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="article:modified_time" content="2023-09-22T15:07:10-04:00" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
<meta name="twitter:image" content="/%3Cimage%20path/url%3E" />
|
<meta name="twitter:image" content="/multiple-git-cover-img.png" />
|
||||||
<meta name="twitter:title" content="Pushing a Single Local Git Repo to Multiple Remote Repos"/>
|
<meta name="twitter:title" content="Pushing a Single Local Git Repo to Multiple Remote Repos"/>
|
||||||
<meta name="twitter:description" content="Learn one way to push your git changes to multiple remote repositories."/>
|
<meta name="twitter:description" content="Learn one way to push your git changes to multiple remote repositories."/>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ if (!doNotTrack) {
|
|||||||
"articleBody": "Why push to multiple repos? Do want to use both Github \u0026 and a Self-hosted Git Repo? Here’s how I’ve been doing it!\nI really enjoy self-hosting services that I use everyday. One of those includes a git-style version control software. In my case, I’ve been running Gitea for a few years now and have been really satisfied with everything (except for that one time that an update broke all my templates).\nAt the same time, there’s the entire social element that comes with Github along with having your public repositories available in a place that other developers are already spending time on. Instead of adding, committing, commenting, and pushing on two different repos, here’s how I run all those commands just once and push it to both repos.\nNote: An import git note to remember is that you can only push to multiple remote repositories. You’ll have to select which repo you want to be the main pull repository. Have this be remote-url-one in the below instructions.\nCommand Line Instructions These instructions come after you initialize the repo in your directory. Make sure you have both of your remote git URLs handy at this point!\ngit remote add {{ remote-name }} {{ remote-url-one }} git remote set-url --add --push {{ remote-name }} {{ remote-url-one }} git remote set-url --add --push {{ remote-name }} {{ remote-url-two }} To confirm that everything worked as expected, run git remote -v to check your remote repos. You should see one repo in there twice, once for (push) and once for (fetch).\nI use the remote name “all” for multiple repos, so here’s what my git remote -v returns:\n\u003e git remote -v all https://git.rsmsn.co/Normanras/rsmsn_blog.git (fetch) all https://git.rsmsn.co/Normanras/rsmsn_blog.git (push) all https://github.com/Normanras/rsmsn_blog.git (push) all https://git.rsmsn.co/Normanras/rsmsn_ddblog.git (push) To now push to your repositories, after adding and committing run git push {{ remote-name }} --all. My command is git push all --all (see why I use all, now?)\nHere’s the man page description on the --all flag:\n--all Push all branches (i.e. refs under refs/heads/); cannot be used Instead of naming each ref to push, specifies that all refs under end, locally updated refs will be force updated on the remote end, Do everything except actually send the updates. same as prefixing all refs with a colon. And that’s it! You should be able to push everything to both of your repos fairly easily now with this new set commands.\n",
|
"articleBody": "Why push to multiple repos? Do want to use both Github \u0026 and a Self-hosted Git Repo? Here’s how I’ve been doing it!\nI really enjoy self-hosting services that I use everyday. One of those includes a git-style version control software. In my case, I’ve been running Gitea for a few years now and have been really satisfied with everything (except for that one time that an update broke all my templates).\nAt the same time, there’s the entire social element that comes with Github along with having your public repositories available in a place that other developers are already spending time on. Instead of adding, committing, commenting, and pushing on two different repos, here’s how I run all those commands just once and push it to both repos.\nNote: An import git note to remember is that you can only push to multiple remote repositories. You’ll have to select which repo you want to be the main pull repository. Have this be remote-url-one in the below instructions.\nCommand Line Instructions These instructions come after you initialize the repo in your directory. Make sure you have both of your remote git URLs handy at this point!\ngit remote add {{ remote-name }} {{ remote-url-one }} git remote set-url --add --push {{ remote-name }} {{ remote-url-one }} git remote set-url --add --push {{ remote-name }} {{ remote-url-two }} To confirm that everything worked as expected, run git remote -v to check your remote repos. You should see one repo in there twice, once for (push) and once for (fetch).\nI use the remote name “all” for multiple repos, so here’s what my git remote -v returns:\n\u003e git remote -v all https://git.rsmsn.co/Normanras/rsmsn_blog.git (fetch) all https://git.rsmsn.co/Normanras/rsmsn_blog.git (push) all https://github.com/Normanras/rsmsn_blog.git (push) all https://git.rsmsn.co/Normanras/rsmsn_ddblog.git (push) To now push to your repositories, after adding and committing run git push {{ remote-name }} --all. My command is git push all --all (see why I use all, now?)\nHere’s the man page description on the --all flag:\n--all Push all branches (i.e. refs under refs/heads/); cannot be used Instead of naming each ref to push, specifies that all refs under end, locally updated refs will be force updated on the remote end, Do everything except actually send the updates. same as prefixing all refs with a colon. And that’s it! You should be able to push everything to both of your repos fairly easily now with this new set commands.\n",
|
||||||
"wordCount" : "403",
|
"wordCount" : "403",
|
||||||
"inLanguage": "en",
|
"inLanguage": "en",
|
||||||
"image":"/%3Cimage%20path/url%3E","datePublished": "2023-09-22T15:07:10-04:00",
|
"image":"/multiple-git-cover-img.png","datePublished": "2023-09-22T15:07:10-04:00",
|
||||||
"dateModified": "2023-09-22T15:07:10-04:00",
|
"dateModified": "2023-09-22T15:07:10-04:00",
|
||||||
"author":{
|
"author":{
|
||||||
"@type": "Person",
|
"@type": "Person",
|
||||||
@ -92,7 +92,7 @@ if (!doNotTrack) {
|
|||||||
},
|
},
|
||||||
"publisher": {
|
"publisher": {
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"name": "Norm-Hosted 💾",
|
"name": "Norm-working Packets 💾",
|
||||||
"logo": {
|
"logo": {
|
||||||
"@type": "ImageObject",
|
"@type": "ImageObject",
|
||||||
"url": "/favicon.ico"
|
"url": "/favicon.ico"
|
||||||
@ -113,7 +113,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="../" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -216,6 +216,11 @@ there twice, once for <code>(push)</code> and once for <code>(fetch)</code>.</p>
|
|||||||
<li><a href="../tags/commandline.html">commandline</a></li>
|
<li><a href="../tags/commandline.html">commandline</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<nav class="paginav">
|
<nav class="paginav">
|
||||||
|
<a class="prev" href="../posts/birdnet_homeassistant.html">
|
||||||
|
<span class="title">« Prev</span>
|
||||||
|
<br>
|
||||||
|
<span>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</span>
|
||||||
|
</a>
|
||||||
<a class="next" href="../posts/hosting_hugo_troubles.html">
|
<a class="next" href="../posts/hosting_hugo_troubles.html">
|
||||||
<span class="title">Next »</span>
|
<span class="title">Next »</span>
|
||||||
<br>
|
<br>
|
||||||
@ -228,7 +233,7 @@ there twice, once for <code>(push)</code> and once for <code>(fetch)</code>.</p>
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="../">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -2,6 +2,27 @@
|
|||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||||
<url>
|
<url>
|
||||||
|
<loc>/posts/birdnet_homeassistant.html</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/diy.html</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/homeassistant.html</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/posts.html</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/python.html</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags.html</loc>
|
||||||
|
<lastmod>2023-09-25T12:51:55-04:00</lastmod>
|
||||||
|
</url><url>
|
||||||
<loc>/tags/backups.html</loc>
|
<loc>/tags/backups.html</loc>
|
||||||
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
||||||
</url><url>
|
</url><url>
|
||||||
@ -10,18 +31,9 @@
|
|||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/git.html</loc>
|
<loc>/tags/git.html</loc>
|
||||||
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/</loc>
|
|
||||||
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
|
||||||
</url><url>
|
|
||||||
<loc>/posts.html</loc>
|
|
||||||
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/posts/multiple_git_remotes.html</loc>
|
<loc>/posts/multiple_git_remotes.html</loc>
|
||||||
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/tags.html</loc>
|
|
||||||
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/posts/hosting_hugo_troubles.html</loc>
|
<loc>/posts/hosting_hugo_troubles.html</loc>
|
||||||
<lastmod>2023-09-20T11:33:22-04:00</lastmod>
|
<lastmod>2023-09-20T11:33:22-04:00</lastmod>
|
||||||
|
|||||||
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>Tags | Norm-Hosted 💾</title>
|
<title>Tags | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="./tags.html">
|
<link rel="canonical" href="./tags.html">
|
||||||
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,13 +39,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="Tags" />
|
<meta property="og:title" content="Tags" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/tags.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/tags.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="Tags"/>
|
<meta name="twitter:title" content="Tags"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="./" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="./" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -100,14 +100,23 @@ if (!doNotTrack) {
|
|||||||
<li>
|
<li>
|
||||||
<a href="./tags/commandline.html">commandline <sup><strong><sup>3</sup></strong></sup> </a>
|
<a href="./tags/commandline.html">commandline <sup><strong><sup>3</sup></strong></sup> </a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="./tags/diy.html">diy <sup><strong><sup>1</sup></strong></sup> </a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./tags/git.html">git <sup><strong><sup>3</sup></strong></sup> </a>
|
<a href="./tags/git.html">git <sup><strong><sup>3</sup></strong></sup> </a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="./tags/homeassistant.html">homeassistant <sup><strong><sup>1</sup></strong></sup> </a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="./tags/python.html">python <sup><strong><sup>1</sup></strong></sup> </a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="./">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="./">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>backups | Norm-Hosted 💾</title>
|
<title>backups | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="../tags/backups.html">
|
<link rel="canonical" href="../tags/backups.html">
|
||||||
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,13 +39,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="backups" />
|
<meta property="og:title" content="backups" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/tags/backups.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/tags/backups.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="backups"/>
|
<meta name="twitter:title" content="backups"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="../" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -96,7 +96,7 @@ if (!doNotTrack) {
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="../multiple-git-cover-img.png" alt="git commands">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
||||||
@ -111,8 +111,6 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
|
||||||
</figure>
|
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Trouble Hosting Hugo with Nginx
|
<h2>Trouble Hosting Hugo with Nginx
|
||||||
</h2>
|
</h2>
|
||||||
@ -125,7 +123,7 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="../npm_to_nginx.png" alt="NginxProxyManger to Nginx">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
||||||
@ -141,7 +139,7 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="../">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>backups on Norm-Hosted 💾</title>
|
<title>backups on Norm-working Packets 💾</title>
|
||||||
<link>/tags/backups.html</link>
|
<link>/tags/backups.html</link>
|
||||||
<description>Recent content in backups on Norm-Hosted 💾</description>
|
<description>Recent content in backups on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/backups/index.xml" rel="self" type="application/rss+xml" />
|
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/backups/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
|||||||
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>commandline | Norm-Hosted 💾</title>
|
<title>commandline | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="../tags/commandline.html">
|
<link rel="canonical" href="../tags/commandline.html">
|
||||||
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,13 +39,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="commandline" />
|
<meta property="og:title" content="commandline" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/tags/commandline.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/tags/commandline.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="commandline"/>
|
<meta name="twitter:title" content="commandline"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="../" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -96,7 +96,7 @@ if (!doNotTrack) {
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="../multiple-git-cover-img.png" alt="git commands">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
||||||
@ -111,8 +111,6 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
|
||||||
</figure>
|
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Trouble Hosting Hugo with Nginx
|
<h2>Trouble Hosting Hugo with Nginx
|
||||||
</h2>
|
</h2>
|
||||||
@ -125,7 +123,7 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="../npm_to_nginx.png" alt="NginxProxyManger to Nginx">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
||||||
@ -141,7 +139,7 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="../">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>commandline on Norm-Hosted 💾</title>
|
<title>commandline on Norm-working Packets 💾</title>
|
||||||
<link>/tags/commandline.html</link>
|
<link>/tags/commandline.html</link>
|
||||||
<description>Recent content in commandline on Norm-Hosted 💾</description>
|
<description>Recent content in commandline on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/commandline/index.xml" rel="self" type="application/rss+xml" />
|
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/commandline/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
|||||||
184
public/tags/diy.html
Normal file
184
public/tags/diy.html
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>diy | Norm-working Packets 💾</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
|
<meta name="author" content="Norm Rasmussen">
|
||||||
|
<link rel="canonical" href="../tags/diy.html">
|
||||||
|
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="../favicon.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
|
||||||
|
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="../safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="../tags/diy/index.xml">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
|
||||||
|
<script>
|
||||||
|
var doNotTrack = false;
|
||||||
|
if (!doNotTrack) {
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag(){dataLayer.push(arguments);}
|
||||||
|
gtag('js', new Date());
|
||||||
|
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<meta property="og:title" content="diy" />
|
||||||
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="/tags/diy.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="diy"/>
|
||||||
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list dark" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
<header class="page-header">
|
||||||
|
<h1>
|
||||||
|
diy
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article class="post-entry tag-entry">
|
||||||
|
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
|
||||||
|
</figure>
|
||||||
|
<header class="entry-header">
|
||||||
|
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content">
|
||||||
|
<p>This is Part One of a Two Part Series. You can find Part Two, here.
|
||||||
|
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. I’m a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
|
||||||
|
</div>
|
||||||
|
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span> · 10 min · 1953 words · Me</footer>
|
||||||
|
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="../posts/birdnet_homeassistant.html"></a>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
20
public/tags/diy/index.xml
Normal file
20
public/tags/diy/index.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
<channel>
|
||||||
|
<title>diy on Norm-working Packets 💾</title>
|
||||||
|
<link>/tags/diy.html</link>
|
||||||
|
<description>Recent content in diy on Norm-working Packets 💾</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en-us</language>
|
||||||
|
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/tags/diy/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
|
||||||
|
<link>/posts/birdnet_homeassistant.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/posts/birdnet_homeassistant.html</guid>
|
||||||
|
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
10
public/tags/diy/page/1.html
Normal file
10
public/tags/diy/page/1.html
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-us">
|
||||||
|
<head>
|
||||||
|
<title>/tags/diy.html</title>
|
||||||
|
<link rel="canonical" href="../../../tags/diy.html">
|
||||||
|
<meta name="robots" content="noindex">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="refresh" content="0; url=../../../tags/diy.html">
|
||||||
|
</head>
|
||||||
|
</html>
|
||||||
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>git | Norm-Hosted 💾</title>
|
<title>git | Norm-working Packets 💾</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="A mostly technical blog & series of experiences working in tech and my homelab">
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
<meta name="author" content="Norm Rasmussen">
|
<meta name="author" content="Norm Rasmussen">
|
||||||
<link rel="canonical" href="../tags/git.html">
|
<link rel="canonical" href="../tags/git.html">
|
||||||
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
@ -39,13 +39,13 @@ if (!doNotTrack) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<meta property="og:title" content="git" />
|
<meta property="og:title" content="git" />
|
||||||
<meta property="og:description" content="A mostly technical blog & series of experiences working in tech and my homelab" />
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="/tags/git.html" /><meta property="og:site_name" content="Norm-Hosted" />
|
<meta property="og:url" content="/tags/git.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="git"/>
|
<meta name="twitter:title" content="git"/>
|
||||||
<meta name="twitter:description" content="A mostly technical blog & series of experiences working in tech and my homelab"/>
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ if (!doNotTrack) {
|
|||||||
<header class="header">
|
<header class="header">
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<a href="../" accesskey="h" title="Norm-Hosted 💾 (Alt + H)">Norm-Hosted 💾</a>
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
@ -96,7 +96,7 @@ if (!doNotTrack) {
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="../multiple-git-cover-img.png" alt="git commands">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
<h2>Pushing a Single Local Git Repo to Multiple Remote Repos
|
||||||
@ -111,8 +111,6 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
|
||||||
</figure>
|
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Trouble Hosting Hugo with Nginx
|
<h2>Trouble Hosting Hugo with Nginx
|
||||||
</h2>
|
</h2>
|
||||||
@ -125,7 +123,7 @@ I really enjoy self-hosting services that I use everyday. One of those includes
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry tag-entry">
|
<article class="post-entry tag-entry">
|
||||||
<figure class="entry-cover"><img loading="lazy" src="../%3Cimage%20path/url%3E" alt="">
|
<figure class="entry-cover"><img loading="lazy" src="../npm_to_nginx.png" alt="NginxProxyManger to Nginx">
|
||||||
</figure>
|
</figure>
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
<h2>Tutorial: Move from NginxProxyManager to Nginx
|
||||||
@ -141,7 +139,7 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<span>© 2023 <a href="../">Norm-Hosted 💾</a></span>
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>git on Norm-Hosted 💾</title>
|
<title>git on Norm-working Packets 💾</title>
|
||||||
<link>/tags/git.html</link>
|
<link>/tags/git.html</link>
|
||||||
<description>Recent content in git on Norm-Hosted 💾</description>
|
<description>Recent content in git on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/git/index.xml" rel="self" type="application/rss+xml" />
|
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/git/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
|||||||
184
public/tags/homeassistant.html
Normal file
184
public/tags/homeassistant.html
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>homeassistant | Norm-working Packets 💾</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
|
<meta name="author" content="Norm Rasmussen">
|
||||||
|
<link rel="canonical" href="../tags/homeassistant.html">
|
||||||
|
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="../favicon.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
|
||||||
|
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="../safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="../tags/homeassistant/index.xml">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
|
||||||
|
<script>
|
||||||
|
var doNotTrack = false;
|
||||||
|
if (!doNotTrack) {
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag(){dataLayer.push(arguments);}
|
||||||
|
gtag('js', new Date());
|
||||||
|
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<meta property="og:title" content="homeassistant" />
|
||||||
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="/tags/homeassistant.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="homeassistant"/>
|
||||||
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list dark" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
<header class="page-header">
|
||||||
|
<h1>
|
||||||
|
homeassistant
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article class="post-entry tag-entry">
|
||||||
|
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
|
||||||
|
</figure>
|
||||||
|
<header class="entry-header">
|
||||||
|
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content">
|
||||||
|
<p>This is Part One of a Two Part Series. You can find Part Two, here.
|
||||||
|
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. I’m a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
|
||||||
|
</div>
|
||||||
|
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span> · 10 min · 1953 words · Me</footer>
|
||||||
|
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="../posts/birdnet_homeassistant.html"></a>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
20
public/tags/homeassistant/index.xml
Normal file
20
public/tags/homeassistant/index.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
<channel>
|
||||||
|
<title>homeassistant on Norm-working Packets 💾</title>
|
||||||
|
<link>/tags/homeassistant.html</link>
|
||||||
|
<description>Recent content in homeassistant on Norm-working Packets 💾</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en-us</language>
|
||||||
|
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/tags/homeassistant/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
|
||||||
|
<link>/posts/birdnet_homeassistant.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/posts/birdnet_homeassistant.html</guid>
|
||||||
|
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
10
public/tags/homeassistant/page/1.html
Normal file
10
public/tags/homeassistant/page/1.html
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-us">
|
||||||
|
<head>
|
||||||
|
<title>/tags/homeassistant.html</title>
|
||||||
|
<link rel="canonical" href="../../../tags/homeassistant.html">
|
||||||
|
<meta name="robots" content="noindex">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="refresh" content="0; url=../../../tags/homeassistant.html">
|
||||||
|
</head>
|
||||||
|
</html>
|
||||||
@ -1,12 +1,39 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>Tags on Norm-Hosted 💾</title>
|
<title>Tags on Norm-working Packets 💾</title>
|
||||||
<link>/tags.html</link>
|
<link>/tags.html</link>
|
||||||
<description>Recent content in Tags on Norm-Hosted 💾</description>
|
<description>Recent content in Tags on Norm-working Packets 💾</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>diy</title>
|
||||||
|
<link>/tags/diy.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/tags/diy.html</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>homeassistant</title>
|
||||||
|
<link>/tags/homeassistant.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/tags/homeassistant.html</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>python</title>
|
||||||
|
<link>/tags/python.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/tags/python.html</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title>backups</title>
|
<title>backups</title>
|
||||||
<link>/tags/backups.html</link>
|
<link>/tags/backups.html</link>
|
||||||
|
|||||||
184
public/tags/python.html
Normal file
184
public/tags/python.html
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>python | Norm-working Packets 💾</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||||
|
<meta name="author" content="Norm Rasmussen">
|
||||||
|
<link rel="canonical" href="../tags/python.html">
|
||||||
|
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="../favicon.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
|
||||||
|
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="../safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="../tags/python/index.xml">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
|
||||||
|
<script>
|
||||||
|
var doNotTrack = false;
|
||||||
|
if (!doNotTrack) {
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag(){dataLayer.push(arguments);}
|
||||||
|
gtag('js', new Date());
|
||||||
|
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<meta property="og:title" content="python" />
|
||||||
|
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="/tags/python.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="python"/>
|
||||||
|
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list dark" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
<header class="page-header">
|
||||||
|
<h1>
|
||||||
|
python
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article class="post-entry tag-entry">
|
||||||
|
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
|
||||||
|
</figure>
|
||||||
|
<header class="entry-header">
|
||||||
|
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content">
|
||||||
|
<p>This is Part One of a Two Part Series. You can find Part Two, here.
|
||||||
|
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. I’m a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
|
||||||
|
</div>
|
||||||
|
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span> · 10 min · 1953 words · Me</footer>
|
||||||
|
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="../posts/birdnet_homeassistant.html"></a>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
20
public/tags/python/index.xml
Normal file
20
public/tags/python/index.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
<channel>
|
||||||
|
<title>python on Norm-working Packets 💾</title>
|
||||||
|
<link>/tags/python.html</link>
|
||||||
|
<description>Recent content in python on Norm-working Packets 💾</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en-us</language>
|
||||||
|
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/tags/python/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
|
||||||
|
<link>/posts/birdnet_homeassistant.html</link>
|
||||||
|
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
|
||||||
|
|
||||||
|
<guid>/posts/birdnet_homeassistant.html</guid>
|
||||||
|
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
10
public/tags/python/page/1.html
Normal file
10
public/tags/python/page/1.html
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-us">
|
||||||
|
<head>
|
||||||
|
<title>/tags/python.html</title>
|
||||||
|
<link rel="canonical" href="../../../tags/python.html">
|
||||||
|
<meta name="robots" content="noindex">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="refresh" content="0; url=../../../tags/python.html">
|
||||||
|
</head>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user