Compare commits
7 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
87328de610 | |
|
|
32636fa0cb | |
|
|
cfaa727b88 | |
|
|
6d2c7dc5f1 | |
|
|
b60d3a89ca | |
|
|
51ac30cbc4 | |
|
|
f27f505281 |
|
|
@ -118,8 +118,8 @@ async function generatePdf(browser, htmlFile) {
|
|||
try {
|
||||
// Navigate to the page and wait for content to load
|
||||
await page.goto(url, {
|
||||
waitUntil: 'networkidle0',
|
||||
timeout: 30000
|
||||
waitUntil: 'networkidle2',
|
||||
timeout: 60000
|
||||
});
|
||||
|
||||
// Wait for includes.js to finish loading header and footer
|
||||
|
|
@ -146,7 +146,7 @@ async function generatePdf(browser, htmlFile) {
|
|||
|
||||
return true;
|
||||
}, {
|
||||
timeout: 15000,
|
||||
timeout: 30000,
|
||||
polling: 100 // Check every 100ms
|
||||
});
|
||||
} catch (waitError) {
|
||||
|
|
@ -192,8 +192,8 @@ async function generatePdf(browser, htmlFile) {
|
|||
// Re-navigate to the page if it was closed
|
||||
try {
|
||||
await page.goto(url, {
|
||||
waitUntil: 'networkidle0',
|
||||
timeout: 30000
|
||||
waitUntil: 'networkidle2',
|
||||
timeout: 60000
|
||||
});
|
||||
await page.waitForTimeout(1000);
|
||||
} catch (navError) {
|
||||
|
|
|
|||
|
|
@ -2,40 +2,58 @@
|
|||
|
||||
<!-- Matomo -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function () {
|
||||
var u = "//metrics.nixc.us/";
|
||||
_paq.push(['setTrackerUrl', u + 'matomo.php']);
|
||||
_paq.push(['setSiteId', '3']);
|
||||
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
|
||||
g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s);
|
||||
})();
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//metrics.nixc.us/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '3']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<!-- End Matomo Code -->
|
||||
|
||||
<div class="theme-switch">
|
||||
<button id="themeToggle" aria-label="Theme mode: Auto" role="switch" aria-checked="false"
|
||||
title="Toggle between light, dark, and auto theme modes" tabindex="0">🌓</button>
|
||||
</div>
|
||||
<!-- PostHog -->
|
||||
<script>
|
||||
!function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init zr Wr fi Br Gr ci Nr Hr capture Ui calculateEventProperties Kr register register_once register_for_session unregister unregister_for_session Zr getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey cancelPendingSurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty Xr Jr createPersonProfile Qr jr ts opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Vr debug O Yr getPageViewId captureTraceFeedback captureTraceMetric Or".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
|
||||
|
||||
<nav class="main-nav">
|
||||
<ul>
|
||||
<li><a href="/" id="nav-portfolio">Portfolio</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="/resumes/business-development.html" id="nav-resumes">Resumes</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="/resumes/business-development.html" id="nav-businessdev">Business Development</a>
|
||||
<a href="/resumes/devsecops.html" id="nav-devsecops">DevSecOps</a>
|
||||
<a href="/resumes/team-leadership.html" id="nav-teamleadership">Team Leadership</a>
|
||||
<a href="/resumes/tool-building.html" id="nav-toolbuilding">Tool Building</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="/stories/" id="nav-stories">Stories</a>
|
||||
<div class="dropdown-content">
|
||||
posthog.init('phc_3WDvcJlYYXlBVYL8vC1raT0gMfjkMuCyOpXdmgjK0CK', {
|
||||
api_host: 'https://eu.i.posthog.com',
|
||||
defaults: '2025-11-30',
|
||||
person_profiles: 'identified_only', // or 'always' to create profiles for anonymous users as well
|
||||
})
|
||||
</script>
|
||||
<!-- End PostHog Code -->
|
||||
|
||||
<div class="theme-switch">
|
||||
<button
|
||||
id="themeToggle"
|
||||
aria-label="Theme mode: Auto"
|
||||
role="switch"
|
||||
aria-checked="false"
|
||||
title="Toggle between light, dark, and auto theme modes"
|
||||
tabindex="0"
|
||||
>🌓</button>
|
||||
</div>
|
||||
|
||||
<nav class="main-nav">
|
||||
<ul>
|
||||
<li><a href="/" id="nav-portfolio">Portfolio</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="/resumes/business-development.html" id="nav-resumes">Resumes</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="/resumes/business-development.html" id="nav-businessdev">Business Development</a>
|
||||
<a href="/resumes/devsecops.html" id="nav-devsecops">DevSecOps</a>
|
||||
<a href="/resumes/team-leadership.html" id="nav-teamleadership">Team Leadership</a>
|
||||
<a href="/resumes/tool-building.html" id="nav-toolbuilding">Tool Building</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="/stories/" id="nav-stories">Stories</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="/stories/airport-dns.html" id="nav-airportdns" class="nav-story-tbd">Airport Dns</a>
|
||||
<a href="/stories/app-development.html" id="nav-appdevelopment" class="nav-story-written">App Development</a>
|
||||
<a href="/stories/athion-turnaround.html" id="nav-athionturnaround" class="nav-story-written">Athion Turnaround</a>
|
||||
|
|
@ -53,21 +71,18 @@
|
|||
<a href="/stories/wordpress-security.html" id="nav-wordpresssecurity" class="nav-story-tbd">Wordpress Security</a>
|
||||
<a href="/stories/youtube-game-dev.html" id="nav-youtubegamedev" class="nav-story-written">Youtube Game Dev</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="/one-pager-tools/csv-tool.html" id="nav-tools">Tools</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="/one-pager-tools/csv-tool.html" id="nav-csv">CSV Tool</a>
|
||||
<a href="/one-pager-tools/utm-tool.html" id="nav-utm">UTM Builder</a>
|
||||
<a href="https://md.colinknapp.com" id="nav-markdown" target="_blank" rel="noopener noreferrer">Markdown
|
||||
Tool</a>
|
||||
<a href="https://nix.colinknapp.com" id="nav-nix" target="_blank" rel="noopener noreferrer">NixOS
|
||||
Validator</a>
|
||||
<a href="https://qr.colinknapp.com" id="nav-qrcode" target="_blank" rel="noopener noreferrer">QR Code
|
||||
Tool</a>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="https://meet.colinknapp.com" id="nav-meet" target="_blank" rel="noopener noreferrer"
|
||||
title="No-account web meetings without software">Meet</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="/one-pager-tools/csv-tool.html" id="nav-tools">Tools</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="/one-pager-tools/csv-tool.html" id="nav-csv">CSV Tool</a>
|
||||
<a href="/one-pager-tools/utm-tool.html" id="nav-utm">UTM Builder</a>
|
||||
<a href="https://md.colinknapp.com" id="nav-markdown" target="_blank" rel="noopener noreferrer">Markdown Tool</a>
|
||||
<a href="https://nix.colinknapp.com" id="nav-nix" target="_blank" rel="noopener noreferrer">NixOS Validator</a>
|
||||
<a href="https://qr.colinknapp.com" id="nav-qrcode" target="_blank" rel="noopener noreferrer">QR Code Tool</a>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="https://meet.colinknapp.com" id="nav-meet" target="_blank" rel="noopener noreferrer" title="No-account web meetings without software">Meet</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue