Back to templates

Template details

Jake

πŸš€ Effortlessly create and deploy your own one-link website on GitHub. A free Linktree alternative.

About this template

Jake is a free, open-source GitHub Pages template that turns a data.toml configuration file into a self-deploying one-link website.

What is Jake?

Jake is a website generator template for creating a single one-link page and deploying it automatically to GitHub Pages. It takes a data.toml file as input and outputs a static HTML website that lists your links, projects, and social profiles. Jake is maintained by GitHub user thevahidal and is licensed under the MIT License. The repository is configured as a GitHub template, so you fork it to start.

Key Features

  • TOML-driven configuration β€” Edit data.toml to set your name, bio, keywords, avatar image, theme (dark or light), primary color, text alignment, Google Analytics tracking ID, and base URL; no code changes required.
  • Automatic GitHub Pages deployment β€” Select GitHub Actions as your Pages source, and the included "Deploy Jake Website to GitHub Pages" workflow builds and publishes the site on every push.
  • Multi-section link layout β€” Define multiple sections (like Projects, Social, Merch) each with a title, description, direction (row or column), item style (outline or filled), and an arbitrary number of items, each with title, description, and URL.
  • SEO and analytics support β€” The config accepts a keywords meta tag and an avatar image placed in dist/img/, plus a Google Analytics 4 measurement ID through the gtag_id field.
  • Custom domain and base URL handling β€” Set a custom domain from the repository Pages settings, and use the base_url field to deploy to any repository name path, such as username.github.io/repo-name/.
  • Local development pipeline β€” Requires Python 3.11+ and Poetry; run poetry run python script.py to regenerate HTML into dist/, and serve it locally with python -m http.server --directory dist 8000. A local_run.sh script provides one-command builds and a --watch flag for hot reload.
  • Template update workflow β€” Add the upstream repository as a remote, fetch, and merge to pull the latest Jake changes into your fork while preserving your custom data.toml.

Who should use Jake?

  • Creators and influencers who want a free, self-hosted link-in-bio page without paying for hosted services like Linktree.
  • Developers who want a personal landing page that showcases their GitHub projects and social links, and who are comfortable forking a repository and editing a TOML file.
  • Freelancers and small businesses that need a minimal page aggregating contact, portfolio, and social links, hosted free under their GitHub account.
  • GitHub users who prefer open-source tools and want full control over their site's code and data, with the ability to extend the template.

What can you do with Jake?

  • Personal one-link page β€” Put your name, bio, and a single page of links to all your profiles, using sections for each category.
  • Portfolio of projects β€” Use sections to list side projects, each with a title, description, and GitHub URL.
  • Storefront or merch links β€” Add a section for merch or product links, with items styled as outline or filled buttons.
  • Analytics tracking β€” Include your Google Analytics ID in data.toml to measure traffic on your deployed page.

How does Jake work?

  1. Fork the template repository and name it username.github.io or any other name to deploy to username.github.io/repo-name/.
  2. In the Settings > Pages section, choose GitHub Actions as the source.
  3. Edit data.toml with your information and push the changes.
  4. The GitHub Action workflow builds the site and deploys it to GitHub Pages. You can watch progress in the Actions tab.

Pricing

Jake is free to use and distributed under the MIT License. Hosting is provided by GitHub Pages, which is free for public repositories, so the template itself has no associated cost.

Alternatives

Linktree is the most direct alternative; unlike Jake, Linktree is a hosted service where the page and data live on Linktree's platform, whereas Jake deploys a static site to your own GitHub Pages.

FAQ

How do I set up a custom domain with Jake?

Go to your repository's Settings, select Pages in the sidebar, enter your domain under the Custom domain section, and click Save. GitHub Pages will then serve your site from that domain; more details are in GitHub's official docs.

Can I manually trigger the deployment workflow?

Yes. Open the Actions tab in your repository, select the "Deploy Jake Website to GitHub Pages" workflow, and click the Run Workflow button. This is useful when you want to redeploy without pushing a new commit.

How do I update my forked repository with the latest Jake changes?

First back up your data.toml. Then add the original repository as an upstream remote with git remote add upstream https://github.com/thevahidal/jake.git, fetch upstream, and merge upstream/main. Resolve any conflicts (mainly in data.toml), push, and redeploy.

Does Jake support analytics?

Yes. The data.toml file includes a gtag_id field where you can paste your Google Analytics tracking ID (for example, G-33WB8LVHR6), and the generated site will include it.

What are the requirements for local development?

You need Python 3.11 or higher and Poetry. After cloning, run poetry install --no-root, then poetry run python script.py to generate HTML files in the dist/ directory.