Added old post about my first PR. Updated archetype for most generic posts.
This commit is contained in:
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
267
public/posts/whiptail-first-merged-pr.html
Normal file
267
public/posts/whiptail-first-merged-pr.html
Normal 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+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||
<script defer crossorigin="anonymous" src="../assets/js/highlight.f413e19d0714851f6474e7ee9632408e58ac146fbdbe62747134bea2fa3415e0.js" integrity="sha256-9BPhnQcUhR9kdOfuljJAjlisFG+9vmJ0cTS+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 I’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, 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 you’re 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 you’ve added everything you need, you confirm, and the command runs and syncs up your Meshtastic device!\nMaybe I’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.\nAnyway, in this letter to no one, just thought I’d 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> · 2 min · 328 words · 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’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’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’ve added everything you need, you confirm, and the command runs and syncs up your Meshtastic device!</p>
|
||||
<p>Maybe I’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’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>© 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>
|
||||
Reference in New Issue
Block a user