Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/welcome-mortals/llms.txt

Use this file to discover all available pages before exploring further.

Navigation in Welcome, Mortals is handled by the components/Layout.js component, which wraps every page and renders the shared header, the slide-out nav menu, the audio toggle, and the animated decorative elements. The component is pre-compiled — you do not need to edit it to customize the text content of your portfolio. Focus your edits on the HTML pages themselves.

How navigation works

The nav renders as a slide-out panel that appears when a visitor clicks the hamburger button in the fixed header. Clicking a nav link plays the creak sound if audio is enabled. The navigation links point to the HTML files at the repository root using relative paths, so the standard pages — about.html, projects.html, skills.html, and the rest — are linked automatically. For most customization work, you do not need to touch the navigation at all. Update the content inside each HTML page and the nav will direct visitors there correctly. If you need to make structural changes to the navigation itself (adding or removing pages), that requires editing Layout.js directly, which is an advanced change beyond the scope of this guide.
After any edits that affect page filenames, make sure every navigation link and every in-page href points to a file that actually exists at the repository root with a name that matches exactly — including capitalization. A link to a file that does not exist produces a 404 on the live site.

Case sensitivity on GitHub Pages

GitHub Pages paths are case-sensitive. A file named Projects.html is not the same as projects.html. If your filename and your link do not match in case exactly, the link will work locally but return a 404 on the published site.Always use lowercase filenames for all HTML pages, and make sure every link href matches the filename exactly — including the .html extension and capitalization.
This applies to:
  • Internal page links (href="projects.html")
  • Image paths (src="images/screenshots/preview.PNG")
  • Stylesheet and script references (href="./assets/main.css")
  • Any other file path in the repository
The screenshot files in this theme use uppercase .PNG extensions. Do not change the capitalization of existing paths — they must match the uploaded filenames exactly.

Linking between pages using relative paths

All internal links in Welcome, Mortals use relative paths from the repository root. Because every HTML file sits at the root level (not inside subfolders), links between pages are simple and flat:
<!-- From any page to the About page -->
<a href="about.html">About</a>

<!-- From any page to Projects -->
<a href="projects.html">Projects</a>

<!-- From any page to Contact -->
<a href="contact.html">Contact</a>

Linking to the homepage

Always use index.html for the homepage link:
<a href="index.html">Home</a>
Do not rename index.html to home.html or any other name. GitHub Pages requires the homepage to be named exactly index.html. A separate home.html file is not needed and will not be served as the entry point.

Linking to external profiles

External links — GitHub, LinkedIn, résumé downloads, published articles — go in contact.html and wherever else they appear in the portfolio pages. Use target="_blank" and rel="noopener" for external links to open them in a new tab safely:
<!-- GitHub profile -->
<a href="https://github.com/your-username" target="_blank" rel="noopener">
  GitHub
</a>

<!-- LinkedIn profile -->
<a href="https://linkedin.com/in/your-profile" target="_blank" rel="noopener">
  LinkedIn
</a>

<!-- Résumé download -->
<a href="images/your-resume.pdf" download>
  Download Résumé
</a>
Replace every placeholder URL with your real profile link before publishing. An unupdated GitHub link pointing to the default placeholder profile is one of the most common issues on customized portfolios.

Testing navigation after every edit

Test every navigation link after editing the theme, including:
  • All navigation links in the slide-out menu
  • Any in-page links within portfolio content (project links, article links)
  • The résumé download link
  • External profile links (GitHub, LinkedIn)
  • Image paths (confirm images load correctly)
The fastest way to confirm links on GitHub Pages is to open the live site in an incognito or private browser window after the latest commit has published. This avoids cached versions of earlier pages that might hide broken links.
Test on both desktop and mobile widths. The nav panel is a fixed overlay that behaves differently at smaller screen sizes, and decorative spacing changes can shift layout in ways that reveal link problems more easily.

What not to do

Don't rename index.html

index.html is the GitHub Pages entry file. Renaming it breaks the published site. It must remain at the repository root with that exact name.

Don't create home.html

A separate home.html file is not used by this theme and is not required by GitHub Pages. The homepage is always index.html.

Don't use absolute paths for internal links

Internal links should use relative paths like href="projects.html", not absolute paths like href="/projects.html". Absolute paths can break when the site is hosted at a project URL subdirectory.

Don't change capitalization of existing filenames

The screenshot images use .PNG (uppercase). Changing file extensions or filenames without updating every matching path will break image loading on the live site.
The .nojekyll file at the repository root tells GitHub Pages to publish the files directly without running Jekyll processing. This is what allows the components/ folder, assets/ folder, and all relative paths to work correctly. Do not delete it, rename it, or add a file extension.
.nojekyll   ✅ correct — empty file, no extension
nojekyll    ❌ incorrect — missing the leading dot
.nojekyll.txt ❌ incorrect — has a file extension
If .nojekyll is missing, GitHub Pages may process the files as a Jekyll site and fail to serve the JavaScript components and stylesheets correctly. Navigation will appear to load but the page content may not render.

Build docs developers (and LLMs) love