Added old post about my first PR. Updated archetype for most generic posts.

This commit is contained in:
Norm Rasmussen
2023-09-29 15:27:03 -04:00
parent f3d77f84bd
commit b012e336a7
20 changed files with 656 additions and 20 deletions

View File

@ -34,5 +34,14 @@
<description>Learn one way to push your git changes to multiple remote repositories.</description>
</item>
<item>
<title>My First Merged PR!</title>
<link>/posts/whiptail-first-merged-pr.html</link>
<pubDate>Thu, 01 Sep 2022 13:25:02 -0400</pubDate>
<guid>/posts/whiptail-first-merged-pr.html</guid>
<description>Child like joy of having my first merged PR! I recently was using Whiptail library and fixed a bug.</description>
</item>
</channel>
</rss>

View File

@ -457,6 +457,11 @@ paste them from the <a href="https://github.com/NginxProxyManager/nginx-proxy-ma
<br>
<span>Trouble Hosting Hugo with Nginx</span>
</a>
<a class="next" href="../posts/whiptail-first-merged-pr.html">
<span class="title">Next »</span>
<br>
<span>My First Merged PR!</span>
</a>
</nav>
</footer>

View File

@ -0,0 +1,267 @@
<!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>My First Merged PR! | Norm-working Packets 💾</title>
<meta name="keywords" content="git, opensource, diy">
<meta name="description" content="Child like joy of having my first merged PR! I recently was using Whiptail library and fixed a bug.">
<meta name="author" content="Me">
<link rel="canonical" href="../posts/whiptail-first-merged-pr.html">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<script defer crossorigin="anonymous" src="../assets/js/highlight.f413e19d0714851f6474e7ee9632408e58ac146fbdbe62747134bea2fa3415e0.js" integrity="sha256-9BPhnQcUhR9kdOfuljJAjlisFG&#43;9vmJ0cTS&#43;ovo0FeA="
onload="hljs.initHighlightingOnLoad();"></script>
<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">
<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="My First Merged PR!" />
<meta property="og:description" content="Child like joy of having my first merged PR! I recently was using Whiptail library and fixed a bug." />
<meta property="og:type" content="article" />
<meta property="og:url" content="/posts/whiptail-first-merged-pr.html" />
<meta property="og:image" content="/merged-pr-accepted.png" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2022-09-01T13:25:02-04:00" />
<meta property="article:modified_time" content="2022-09-01T13:25:02-04:00" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="/merged-pr-accepted.png" />
<meta name="twitter:title" content="My First Merged PR!"/>
<meta name="twitter:description" content="Child like joy of having my first merged PR! I recently was using Whiptail library and fixed a bug."/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "My First Merged PR!",
"item": "/posts/whiptail-first-merged-pr.html"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "My First Merged PR!",
"name": "My First Merged PR!",
"description": "Child like joy of having my first merged PR! I recently was using Whiptail library and fixed a bug.",
"keywords": [
"git", "opensource", "diy"
],
"articleBody": "Admittedly, I feel a bit like a child sharing something like this, as there are so many devs that pull and merge requests from contributors on a regular basis. However, while Ive contributed to documentation and/or tutorials and other non-coding portions of repositories, I feel a tiny bit proud that this was the first instance where I was using a library, found a bug, created an issue, cloned the repo to my local machine, found and fixed the code, and opened a pull request. It was a great learning experience with git, github, contributing to projects, and more. My first merged PR!\nThe project and library I was using was called Whiptail which allows you to use the terminal message boxes through a python script. Here are their docs. These message boxes are the same that you might see when you install a linux distro from a USB or first install of a server.\nWhat I was using this for is to develop an visually appealing way to use the Meshtastic CLI. There can be a ton of settings and flags to add to your Meshtastic device and adding the flags one by one - or worse, you have to go back and change a flag and youre not using zsh-vi-mode - can be time consuming. This project would allow you to choose in a whiptail dialog from a list of flags and pass values to the flags. By having them in a navigable list, you can always retract a flag you no longer need.\nThen, once youve added everything you need, you confirm, and the command runs and syncs up your Meshtastic device!\nMaybe Ill post more about that project if I ever get around to finishing it. But since Meshtastic releases new updates on such a regular basis, I need to ensure the project pulls from Meshtastic commands in a more dynamic way.\nAnyway, in this letter to no one, just thought Id share my excitement.\n",
"wordCount" : "328",
"inLanguage": "en",
"image":"/merged-pr-accepted.png","datePublished": "2022-09-01T13:25:02-04:00",
"dateModified": "2022-09-01T13:25:02-04:00",
"author":{
"@type": "Person",
"name": "Me"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "/posts/whiptail-first-merged-pr.html"
},
"publisher": {
"@type": "Organization",
"name": "Norm-working Packets 💾",
"logo": {
"@type": "ImageObject",
"url": "/favicon.ico"
}
}
}
</script>
</head>
<body class=" 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">
<article class="post-single">
<header class="post-header">
<div class="breadcrumbs"><a href="../">Home</a></div>
<h1 class="post-title">
My First Merged PR!
</h1>
<div class="post-description">
Child like joy of having my first merged PR! I recently was using Whiptail library and fixed a bug.
</div>
<div class="post-meta"><span title='2022-09-01 13:25:02 -0400 EDT'>September 1, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;328 words&nbsp;·&nbsp;Me
</div>
</header>
<div class="post-content"><p>Admittedly, I feel a bit like a child sharing something like this, as there are so many devs that pull and merge requests
from contributors on a regular basis. However, while I&rsquo;ve contributed to documentation and/or tutorials and other non-coding
portions of repositories, I feel a tiny bit proud that this was the first instance where I was using a library, <a href="https://github.com/domdfcoding/whiptail/issues/41">found a bug</a>,
created an issue, cloned the repo to my local machine, found and fixed the code, and opened a pull request. It was a great
learning experience with git, github, contributing to projects, and more. <a href="https://github.com/domdfcoding/whiptail/pull/42">My first merged PR!</a></p>
<p>The project and library I was using was called <a href="https://github.com/domdfcoding/whiptail">Whiptail</a> which allows you to use
the terminal message boxes through a python script. <a href="https://whiptail.readthedocs.io/en/latest/">Here are their docs</a>. These message boxes are the same that you might see when you install a linux distro from a USB or first install of a server.</p>
<p>What I was using this for is to develop an visually appealing way to use the <a href="https://meshtastic.org/docs/software/python/cli">Meshtastic CLI</a>. There can be a ton of
settings and flags to add to your <a href="https://meshtastic.org/">Meshtastic</a> device and adding the flags one by one - or worse,
you have to go back and change a flag and you&rsquo;re not using <a href="https://github.com/jeffreytse/zsh-vi-mode">zsh-vi-mode</a> - can be
time consuming. This project would allow you to choose in a whiptail dialog from a list of flags and pass values to the
flags. By having them in a navigable list, you can always retract a flag you no longer need.</p>
<p>Then, once you&rsquo;ve added everything you need, you confirm, and the command runs and syncs up your Meshtastic device!</p>
<p>Maybe I&rsquo;ll post more about that project if I ever get around to finishing it. But since Meshtastic releases new updates on
such a regular basis, I need to ensure the project pulls from Meshtastic commands in a more dynamic way.</p>
<p>Anyway, in this letter to no one, just thought I&rsquo;d share my excitement.</p>
</div>
<footer class="post-footer">
<ul class="post-tags">
<li><a href="../tags/git.html">git</a></li>
<li><a href="../tags/opensource.html">opensource</a></li>
<li><a href="../tags/diy.html">diy</a></li>
</ul>
<nav class="paginav">
<a class="prev" href="../posts/npm_to_nginx_tutorial.html">
<span class="title">« Prev</span>
<br>
<span>Tutorial: Move from NginxProxyManager to Nginx</span>
</a>
</nav>
</footer>
</article>
</main>
<footer class="footer">
<span>&copy; 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>