- ID de l'analyse :
- 8dd607a6-1375-47ef-8d94-08e8a7bcdf68Terminée
- URL soumise :
- https://jpshlk.com/
- Fin du rapport :
Liens : 7 trouvé(s)
Liens sortants identifiés à partir de la page
Lien | texte |
---|---|
https://routinehub.co/user/jpasholk | RoutineHub Page |
https://github.com/jpasholk | github |
https://mastodon.social/@jpasholk | mastodon |
https://www.instagram.com/joshpasholk/ | |
https://www.linkedin.com/in/joshpasholk | |
https://buymeacoffee.com/jpasholk | buymeacoffee .cls-1, .cls-2 { stroke-width: 0px; } .cls-2 { fill: #fd0; } |
https://github.com/jpasholk/jpshlk-blog | the source code |
Variables JavaScript : 4 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
isThemeSwitherInitialized | boolean |
Messages de journal de console : 0 trouvé(s)
Messages consignés dans la console web
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html lang="en-us" class="scroll-smooth light"><head><!-- Global Metadata --><meta charset="utf-8" lang="en-us"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/png" href="/apple-touch-icon.png"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="icon" type="image/png" href="/favicon.png"><meta name="generator" content="Astro v3.6.5"><!-- Font preloads --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap" rel="stylesheet" crossorigin=""><!--<link rel="preload" href="/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin />--><!--<link rel="preload" href="/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin />--><!-- Canonical URL --><link rel="canonical" href="https://jshlk.com/"><!-- Primary Meta Tags --><title>jpshlk.com</title><meta name="description" content="A blog about things I find useful, and want to remember."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://jshlk.com/"><meta property="og:title" content="jpshlk.com"><meta property="og:description" content="A blog about things I find useful, and want to remember."><meta property="og:image" content="https://jshlk.com/blog-placeholder-1.jpg"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://jshlk.com/"><meta property="twitter:title" content="jpshlk.com"><meta property="twitter:description" content="A blog about things I find useful, and want to remember."><meta property="twitter:image" content="https://jshlk.com/blog-placeholder-1.jpg"><!-- Favicons --><link rel="apple-touch-icon" sizes="180x180" href="/static/favicons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/static/favicons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/static/favicons/favicon-16x16.png"><link rel="manifest" href="/static/favicons/site.webmanifest"><link rel="mask-icon" href="/static/favicons/apple-touch-icon.png"><meta name="msapplication-TileColor" content="#000000"><meta name="theme-color" media="(prefers-color-scheme: light)" content="#fff"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#000"><link rel="alternate" type="application/rss+xml" href="/rss.xml"><!-- Other Stuff --><meta name="impact-site-verification" value="ee39c5de-d8d2-4d6e-925b-a10838f07d68"><link rel="me" href="https://mastodon.social/@jpasholk"><script async="" defer="" src="https://buttons.github.io/buttons.js" data-astro-exec=""></script><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><link rel="stylesheet" href="/_astro/about.ee05ddf2.css">
<style>.task-list-item:before{display:none}.task-list-item{list-style-type:none}.footnotes{margin-top:3rem;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding-top:2rem}:is(.dark .footnotes){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.data-footnote-backref{text-decoration-line:none}.csl-entry{margin-top:1.25rem;margin-bottom:1.25rem}input:-webkit-autofill,input:-webkit-autofill:focus{-webkit-transition:background-color 600000s 0s,color 600000s 0s;transition:background-color 600000s 0s,color 600000s 0s}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}}@keyframes astroFadeOut{to{opacity:0}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
</style><script type="module" src="/_astro/hoisted.39271966.js" data-astro-exec=""></script>
<script type="module" src="/_astro/page.b7ef8561.js" data-astro-exec=""></script><style>[data-astro-transition-scope="astro-f6245za2-1"] { view-transition-name: astro-f6245za2-1; }@layer astro { ::view-transition-old(astro-f6245za2-1) {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }::view-transition-new(astro-f6245za2-1) {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(astro-f6245za2-1) {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(astro-f6245za2-1) {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-f6245za2-1"],
[data-astro-transition-fallback="old"][data-astro-transition-scope="astro-f6245za2-1"] {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-f6245za2-1"],
[data-astro-transition-fallback="new"][data-astro-transition-scope="astro-f6245za2-1"] {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-f6245za2-1"],
[data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-f6245za2-1"] {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-f6245za2-1"],
[data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-f6245za2-1"] {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-vl4az43y-2"] { view-transition-name: astro-vl4az43y-2; }@layer astro { ::view-transition-old(astro-vl4az43y-2) {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }::view-transition-new(astro-vl4az43y-2) {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(astro-vl4az43y-2) {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(astro-vl4az43y-2) {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-vl4az43y-2"],
[data-astro-transition-fallback="old"][data-astro-transition-scope="astro-vl4az43y-2"] {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-vl4az43y-2"],
[data-astro-transition-fallback="new"][data-astro-transition-scope="astro-vl4az43y-2"] {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-vl4az43y-2"],
[data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-vl4az43y-2"] {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-vl4az43y-2"],
[data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-vl4az43y-2"] {
animation-duration: 180ms;
animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
animation-fill-mode: both;
animation-name: astroFadeIn; }</style></head><body class="bg-white text-black antialiased dark:bg-gray-950 dark:text-white"><!--TODO: Add Google Analytics--><!--<Analytics analyticsConfig={SITE_METADATA.analytics as AnalyticsConfig} />--><section class="mx-auto max-w-3xl px-4 sm:px-6 xl:max-w-5xl xl:px-0"><div class="flex h-screen flex-col justify-between font-sans"><header class="flex items-center justify-between py-10"><div><a href="/" aria-label="Jpshlk"><div class="flex items-center justify-between"><div class="mr-3"><img src="/josh-logo.svg" alt="My site logo" width="50" height="50"></div><div class="h-6 text-2xl font-semibold sm:block dark:text-gray-100">Jpshlk</div></div></a></div><div class="flex items-center leading-5 space-x-4 sm:space-x-6"><a href="/blog" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">Blog</a><a href="/tags" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">Tags</a><a href="/projects" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">Projects</a><a href="/about" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">About</a><!--TODO: add theme button--><!--<SearchButton />--><button aria-label="Toggle Dark Mode"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100 h-6 w-6"><path class="sun hidden" fillrule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" cliprule="evenodd"></path><path class="moon" d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></svg></button><button aria-label="Toggle Menu" class="sm:hidden toggle-menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100 h-8 w-8"><path fillrule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" cliprule="evenodd"></path></svg></button><div id="mobileMenuContainer" class="translate-x-full fixed left-0 top-0 z-10 h-full w-full transform opacity-95 dark:opacity-[0.98] bg-white duration-300 ease-in-out dark:bg-gray-950"><div class="flex justify-end"><button class="mr-8 mt-11 h-8 w-8 toggle-menu" aria-label="Toggle Menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path fillrule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" cliprule="evenodd"></path></svg></button></div><nav class="fixed mt-8 h-full"><div class="px-12 py-4"><a href="/" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Home</a></div><div class="px-12 py-4"><a href="/blog" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Blog</a></div><div class="px-12 py-4"><a href="/tags" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Tags</a></div><div class="px-12 py-4"><a href="/projects" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Projects</a></div><div class="px-12 py-4"><a href="/about" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">About</a></div></nav></div></div></header><main class="mb-auto" data-astro-transition-scope="astro-vl4az43y-2"><div class="divide-y divide-gray-200 dark:divide-gray-700"><div class="space-y-2 pb-8 pt-6 md:space-y-5"><h1 class="text-3xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-4xl sm:leading-10 md:text-6xl md:leading-14">
👋 I'm Josh
</h1><h2 class="text-2xl font-bold leading-8 tracking-tight dark:text-gray-100">
Thanks for stopping by!
</h2><p class="text-lg leading-7 text-gray-500 dark:text-gray-400">
Here you will find posts about iPhone and macOS apps, marketing, eCommerce, and a smidge of web development, among other things I find interesting. I'm currently learning Astro and loving it.
I like building fun things with iOS Shortcuts, some of which you can find on my
<a target="_blank" rel="noopener noreferrer" href="https://routinehub.co/user/jpasholk" class="text-primary-500 hover:text-sky-600 dark:hover:text-primary-400">
RoutineHub Page
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 m-0.2 p-0.5 inline"><path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 0 0-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-4a.75.75 0 0 1 1.5 0v4A2.25 2.25 0 0 1 12.75 17h-8.5A2.25 2.25 0 0 1 2 14.75v-8.5A2.25 2.25 0 0 1 4.25 4h5a.75.75 0 0 1 0 1.5h-5Z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 0 0 1.06.053L16.5 4.44v2.81a.75.75 0 0 0 1.5 0v-4.5a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0 0 1.5h2.553l-9.056 8.194a.75.75 0 0 0-.053 1.06Z" clip-rule="evenodd"></path></svg></a>.
</p><hr class="h-px w-48 !mt-4 mx-auto my-8 bg-gray-200 border-0 dark:bg-gray-700"><div id="quotes" class="!mt-8 !min-h-min"><p class="text-lg leading-7 text-gray-500 dark:text-gray-400 text-center" id="quote">"The way to get started is to quit talking and begin doing."</p><p class="text-base leading-7 text-gray-400 dark:text-gray-400 text-center" id="author">~ Walt Disney</p></div><script type="module" data-astro-exec="">
async function loadRandomQuote() {
try {
const response = await fetch('/quotes.json'); // Ensure the file is in the public directory
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
const randomIndex = Math.floor(Math.random() * data.quotes.length);
const quote = data.quotes[randomIndex];
document.getElementById('quote').textContent = `"${quote.text}"`;
document.getElementById('author').textContent = `~ ${quote.author}`;
} catch (error) {
console.error('Fetch error:', error);
document.getElementById('quote').textContent = "Failed to load quote.";
document.getElementById('author').textContent = "";
}
}
loadRandomQuote();
</script></div><ul class="divide-y divide-gray-200 dark:divide-gray-700" data-astro-transition-scope="astro-f6245za2-1"><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-09T00:00:00.000Z">May 9, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/routinehub-podcast-live-review-sessions-5" class="text-gray-900 dark:text-gray-100">I Guest-Host A Podcast About Shortcuts</a></h2><div class="flex flex-wrap"><a href="/tags/podcast" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Podcast</a><a href="/tags/shortcuts" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Shortcuts</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">I recently started co-hosting a podcast for RoutineHub, check out Episode 5!</div></div><div class="text-base font-medium leading-6"><a href="/blog/routinehub-podcast-live-review-sessions-5" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read "I Guest-Host A Podcast About Shortcuts"">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-07T00:00:00.000Z">May 7, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/ui-actions-beta" class="text-gray-900 dark:text-gray-100">UI Actions Beta - First Impressions</a></h2><div class="flex flex-wrap"><a href="/tags/apps" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Apps</a><a href="/tags/mac" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Mac</a><a href="/tags/shortcuts" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Shortcuts</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Use macOS Shortcuts to control any app that has menus, buttons, or accepts keyboard input.</div></div><div class="text-base font-medium leading-6"><a href="/blog/ui-actions-beta" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read "UI Actions Beta - First Impressions"">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-05T00:00:00.000Z">May 5, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/new-scam-bank-notification" class="text-gray-900 dark:text-gray-100">There's A New Scam In Town - And It's Very Sophisticated</a></h2><div class="flex flex-wrap"><a href="/tags/scams" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Scams</a><a href="/tags/news" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">News</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Scammers team up to pretend they're your bank.</div></div><div class="text-base font-medium leading-6"><a href="/blog/new-scam-bank-notification" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read "There's A New Scam In Town - And It's Very Sophisticated"">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-02T00:00:00.000Z">May 2, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/settapp-apps-for-power-users" class="text-gray-900 dark:text-gray-100">Setapp - Powerful Apps For Powerful Workflows</a></h2><div class="flex flex-wrap"><a href="/tags/apps" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Apps</a><a href="/tags/mac" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Mac</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Yet another subscription, but is it worth it?</div></div><div class="text-base font-medium leading-6"><a href="/blog/settapp-apps-for-power-users" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read "Setapp - Powerful Apps For Powerful Workflows"">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-04-26T00:00:00.000Z">Apr 26, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/darksun-a-darksky-inspired-weather-app" class="text-gray-900 dark:text-gray-100">Darksun - A Dark Sky-Inspired Weather App</a></h2><div class="flex flex-wrap"><a href="/tags/apps" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Apps</a><a href="/tags/ios" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">iOS</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">A "spiritual-successor" to the sorely-missed weather app shows lot of promise.</div></div><div class="text-base font-medium leading-6"><a href="/blog/darksun-a-darksky-inspired-weather-app" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read "Darksun - A Dark Sky-Inspired Weather App"">
Read more →
</a></div></div></div></article></li></ul></div><div class="flex justify-end text-base font-medium leading-6"><a href="/blog" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="All posts">
All Posts →
</a></div></main><footer><div class="mt-16 flex flex-col items-center"><div class="mb-3 flex space-x-4"><!-- <SocialIcon kind="mail" href={`mailto:${SITE_METADATA.email}`} size={6}/> --><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://github.com/jpasholk"><span class="sr-only">github</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><!-- <SocialIcon kind="facebook" href={SITE_METADATA.facebook} size={6}/> --><!-- <SocialIcon kind="youtube" href={SITE_METADATA.youtube} size={6}/> --><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://mastodon.social/@jpasholk"><span class="sr-only">mastodon</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/joshpasholk/"><span class="sr-only">instagram</span><!--?xml version="1.0" encoding="UTF-8"?--><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path class="cls-1" d="M17.4,0H6.6C3,0,0,3,0,6.6v10.8C0,21,3,24,6.6,24h10.8c3.7,0,6.6-3,6.6-6.6V6.6c0-3.7-3-6.6-6.6-6.6ZM21.9,17.4c0,2.5-2,4.5-4.5,4.5H6.6c-2.5,0-4.5-2-4.5-4.5V6.6c0-2.5,2-4.5,4.5-4.5h10.8c2.5,0,4.5,2,4.5,4.5v10.8h0Z"></path><path class="cls-1" d="M12,5.8c-3.4,0-6.2,2.8-6.2,6.2s2.8,6.2,6.2,6.2,6.2-2.8,6.2-6.2-2.8-6.2-6.2-6.2ZM12,16.1c-2.2,0-4.1-1.8-4.1-4.1s1.8-4.1,4.1-4.1,4.1,1.8,4.1,4.1c0,2.2-1.8,4.1-4.1,4.1Z"></path><path class="cls-1" d="M18.4,4c-.4,0-.8.2-1.1.5-.3.3-.5.7-.5,1.1s.2.8.5,1.1c.3.3.7.5,1.1.5s.8-.2,1.1-.5c.3-.3.5-.7.5-1.1s-.2-.8-.5-1.1c-.3-.3-.7-.5-1.1-.5Z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/in/joshpasholk"><span class="sr-only">linkedin</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a><!-- <SocialIcon kind="twitter" href={SITE_METADATA.twitter} size={6} target="_blank"/> --><!-- <SocialIcon kind="link" href="/links" size={10} /> --><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://buymeacoffee.com/jpasholk"><span class="sr-only">buymeacoffee</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 34.74" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><defs><style>
.cls-1, .cls-2 {
stroke-width: 0px;
}
.cls-2 {
fill: #fd0;
}
</style></defs><path class="cls-1" d="M21.49,8.08h-.02s-.06-.03-.06-.03c.02.02.05.03.08.03Z"></path><path class="cls-1" d="M21.84,10.56h-.03s.03,0,.03,0Z"></path><path class="cls-1" d="M21.5,8.08s0,0,0,0c0,0,0,0,0,0,0,0,0,0,0,0Z"></path><path class="cls-1" d="M21.49,8.08h0s0,0,0,0Z"></path><path class="cls-1" d="M21.82,10.56l.04-.02h.01s.01-.02.01-.02c-.03.01-.05.03-.07.05Z"></path><path class="cls-1" d="M21.56,8.14l-.04-.04h-.03s.04.03.07.04Z"></path><path class="cls-1" d="M11.68,32.22s-.06.03-.08.06l.02-.02s.04-.03.06-.05Z"></path><path class="cls-1" d="M17.42,31.09s-.02-.03-.01.1c0-.01,0-.02,0-.03,0-.02,0-.04,0-.07Z"></path><path class="cls-1" d="M16.82,32.22s-.06.03-.08.06l.02-.02s.04-.03.06-.05Z"></path><path class="cls-1" d="M7.64,32.49s-.05-.03-.08-.04c.03.01.05.02.07.03h.02Z"></path><path class="cls-1" d="M6.73,31.62s-.02-.07-.03-.1c.01.03.02.07.03.1h0Z"></path><path class="cls-2" d="M12.84,16.05c-1.25.53-2.66,1.14-4.5,1.14-.77,0-1.53-.11-2.27-.31l1.27,13.03c.04.54.29,1.05.7,1.42.4.37.93.58,1.48.58,0,0,1.8.09,2.4.09.65,0,2.58-.09,2.58-.09.55,0,1.07-.21,1.48-.58.4-.37.65-.88.7-1.42l1.36-14.4c-.61-.21-1.22-.35-1.91-.35-1.2,0-2.16.41-3.27.89Z"></path><path class="cls-1" d="M2.14,10.49l.02.02h.01s-.02-.01-.04-.02Z"></path><path class="cls-1" d="M23.89,9.29l-.19-.96c-.17-.87-.56-1.68-1.45-2-.28-.1-.61-.14-.83-.35-.22-.21-.28-.53-.33-.83-.09-.55-.18-1.1-.28-1.64-.08-.47-.15-1-.36-1.43-.28-.58-.86-.92-1.44-1.14-.3-.11-.6-.2-.91-.28-1.45-.38-2.97-.52-4.45-.6-1.79-.1-3.58-.07-5.36.09-1.33.12-2.72.27-3.98.72-.46.17-.93.37-1.28.72-.43.44-.57,1.11-.26,1.66.22.39.6.66,1,.84.52.23,1.07.41,1.63.53,1.56.34,3.17.48,4.76.54,1.76.07,3.53.01,5.28-.17.43-.05.87-.1,1.3-.17.51-.08.84-.74.69-1.21-.18-.55-.66-.77-1.21-.69-.08.01-.16.02-.24.04h-.06c-.18.03-.37.05-.55.07-.38.04-.76.07-1.15.1-.86.06-1.72.09-2.58.09-.85,0-1.69-.02-2.54-.08-.39-.03-.77-.06-1.15-.1-.17-.02-.35-.04-.52-.06l-.17-.02h-.04s-.17-.03-.17-.03c-.35-.05-.7-.11-1.05-.19-.03,0-.07-.03-.09-.06-.02-.03-.03-.06-.03-.1s.01-.07.03-.1c.02-.03.05-.05.09-.06h0c.3-.06.6-.12.91-.17.1-.02.2-.03.3-.05h0c.19-.01.38-.05.57-.07,1.65-.17,3.3-.23,4.96-.17.8.02,1.61.07,2.41.15.17.02.34.04.51.06.07,0,.13.02.2.03l.13.02c.39.06.77.13,1.15.21.57.12,1.3.16,1.55.79.08.2.12.42.16.62l.06.26s0,0,0,.01c.13.62.27,1.25.4,1.87,0,.05.01.09,0,.14,0,.05-.03.09-.06.13-.03.04-.06.07-.1.1-.04.02-.08.04-.13.05h-.09s-.08.02-.08.02c-.26.03-.51.06-.77.09-.51.06-1.01.11-1.52.15-1.01.08-2.02.14-3.03.16-.52.01-1.03.02-1.55.02-2.05,0-4.1-.12-6.14-.36-.22-.03-.44-.05-.66-.08.17.02-.12-.02-.18-.03-.14-.02-.28-.04-.42-.06-.47-.07-.94-.16-1.41-.23-.57-.09-1.11-.05-1.62.23-.42.23-.76.58-.98,1.01-.22.46-.29.96-.39,1.45-.1.49-.25,1.02-.19,1.53.13,1.09.89,1.98,1.98,2.17,1.03.19,2.07.34,3.11.47,4.09.5,8.21.56,12.31.18.33-.03.67-.07,1-.1.1-.01.21,0,.31.04.1.03.19.09.26.16.07.07.13.16.17.26.04.1.05.2.04.31l-.1,1.01c-.21,2.04-.42,4.08-.63,6.11-.22,2.14-.44,4.28-.66,6.42-.06.6-.12,1.21-.19,1.81-.06.59-.07,1.21-.18,1.79-.18.92-.8,1.49-1.71,1.69-.83.19-1.69.29-2.54.3-.95,0-1.9-.04-2.84-.03-1.01,0-2.25-.09-3.03-.84-.69-.66-.78-1.7-.87-2.59-.12-1.19-.25-2.37-.37-3.56l-.69-6.59-.44-4.27c0-.07-.01-.14-.02-.21-.05-.51-.41-1.01-.98-.98-.49.02-1.04.43-.98.98l.33,3.16.68,6.54c.19,1.86.39,3.72.58,5.58.04.36.07.71.11,1.07.21,1.95,1.7,3,3.54,3.29,1.08.17,2.18.21,3.27.23,1.4.02,2.81.08,4.19-.18,2.04-.37,3.57-1.73,3.79-3.85.06-.61.12-1.22.19-1.83.21-2.02.41-4.03.62-6.05l.68-6.59.31-3.02c.02-.15.08-.29.18-.4.1-.11.24-.19.38-.21.58-.11,1.14-.31,1.55-.75.66-.71.79-1.63.56-2.56ZM1.97,9.94s0,.07-.01.11c0-.05,0-.1.01-.11ZM2.02,10.38s.02.02.03.04c-.02-.02-.04-.04-.03-.04h0ZM2.08,10.45s.03.06,0,0h0ZM2.19,10.54h0s0,0,0,0c0,0,0,0-.01,0h0ZM21.75,10.4c-.21.2-.52.29-.84.34-3.5.52-7.04.78-10.58.67-2.53-.09-5.03-.37-7.54-.72-.25-.03-.51-.08-.68-.26-.32-.34-.16-1.03-.08-1.44.08-.38.22-.88.67-.93.7-.08,1.52.21,2.21.32.84.13,1.67.23,2.51.31,3.59.33,7.24.28,10.82-.2.65-.09,1.3-.19,1.95-.31.58-.1,1.22-.3,1.56.3.24.41.27.95.23,1.41-.01.2-.1.39-.24.53h0Z"></path></svg></a></div><div class="mb-2 flex space-x-2 text-sm text-gray-500 dark:text-gray-400"><a href="/about">Josh Pasholk</a><div> • </div><div>© 2024</div><div> • </div><a href="/">jpshlk.com</a></div><div class="mb-8 text-sm text-gray-500 dark:text-gray-400"><p class="text-center">
Open source, built with Astro, and typeset in Inter.
</p><p class="text-center">
View
<a target="_blank" rel="noopener noreferrer" href="https://github.com/jpasholk/jpshlk-blog"><span class="underline">the source code</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 m-0.2 p-0.5 inline"><path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 0 0-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-4a.75.75 0 0 1 1.5 0v4A2.25 2.25 0 0 1 12.75 17h-8.5A2.25 2.25 0 0 1 2 14.75v-8.5A2.25 2.25 0 0 1 4.25 4h5a.75.75 0 0 1 0 1.5h-5Z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 0 0 1.06.053L16.5 4.44v2.81a.75.75 0 0 0 1.5 0v-4.5a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0 0 1.5h2.553l-9.056 8.194a.75.75 0 0 0-.053 1.06Z" clip-rule="evenodd"></path></svg></a>
on GitHub.
</p></div></div></footer></div></section><script async="" defer="" src="https://buttons.github.io/buttons.js" data-astro-exec=""></script></body></html>