PHPackages                             tightenco/jigsaw-blog-template - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. tightenco/jigsaw-blog-template

ActiveLibrary[Templating &amp; Views](/categories/templating)

tightenco/jigsaw-blog-template
==============================

Blog starter template for Jigsaw static site generator by Tighten

v1.4.1(10mo ago)9464.0k—2.9%41[2 PRs](https://github.com/tighten/jigsaw-blog-template/pulls)MITBladeCI failing

Since Dec 21Pushed 5mo ago12 watchersCompare

[ Source](https://github.com/tighten/jigsaw-blog-template)[ Packagist](https://packagist.org/packages/tightenco/jigsaw-blog-template)[ RSS](/packages/tightenco-jigsaw-blog-template/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (27)Used By (0)

Jigsaw Blog Starter Template
============================

[](#jigsaw-blog-starter-template)

This is a starter template for creating a beautiful, customizable blog in Jigsaw with minimal effort. You’ll only have to change a few settings and you’re ready to go.

[View a preview of the blog template.](http://jigsaw-blog-template.tighten.co/)

Installation
------------

[](#installation)

After installing Jigsaw, run the following command from your project directory:

```
./vendor/bin/jigsaw init blog
```

This starter template includes samples of common page types, and comes pre-configured with:

- A fully responsive navigation bar
- [Tailwind CSS](https://tailwindcss.com/), a utility CSS framework that allows you to customize your design without touching a line of CSS
- Syntax highlighting using [Prism](https://prismjs.com/)
- A script that automatically generates a `sitemap.xml` file
- A custom 404 page
- A sample contact form
- A search bar powered by [Fuse.js](http://fusejs.io/) and [Alpine.js](https://alpinejs.dev/), which indexes your content automatically and requires zero configuration

---

[![Blog starter template screenshot](/.github/screenshots/template-blog.png)](/.github/screenshots/template-blog.png)

---

### Configuring your new site

[](#configuring-your-new-site)

As with all Jigsaw sites, configuration settings can be found in `config.php`; you can update the variables in that file with settings specific to your site. You can also add new configuration variables there to use across your site; take a look at the [Jigsaw documentation](http://jigsaw.tighten.co/docs/site-variables/) to learn more.

```
// config.php
return [
    'baseUrl' => 'https://my-awesome-jigsaw-site.com/',
    'production' => false,
    'siteName' => 'My Site',
    'siteDescription' => 'Give your blog a boost with Jigsaw.',
    ...
];
```

> Tip: This configuration file is also where you’ll define any "collections" (for example, a collection of the contributors to your site, or a collection of blog posts organized by topic). Check out the official [Jigsaw documentation](https://jigsaw.tighten.co/docs/collections/) to learn more.

---

### Adding Content

[](#adding-content)

You can write your content using a [variety of file types](http://jigsaw.tighten.co/docs/content-other-file-types/). By default, this starter template expects your content to be located in the `source/_posts/` folder.

The top of each content page contains a YAML header that specifies how it should be rendered. The `title` attribute is used to dynamically generate HTML `title` and OpenGraph tags for each page. The `extends` attribute defines which parent Blade layout this content file will render with (e.g. `_layouts.post` will render with `source/_layouts/post.blade.php`), and the `section` attribute defines the Blade "section" that expects this content to be placed into it.

```
---
extends: _layouts.post
section: content
title: Getting Started
date: 2022-08-02
description: Getting started with the Jigsaw blog starter template
cover_image: /assets/img/post-cover-image-2.png
featured: true
---
```

---

### Adding Assets

[](#adding-assets)

Any assets that need to be compiled, such as JavaScript or CSS using Tailwind, can be added to the `source/_assets/` directory. Vite will process them when running `npm run dev` or `npm run build`, and the processed assets will be stored in `/build_local` or `/build_production`, respectively.

Files that don't require processing (such as images and fonts) can be added directly to `/source/assets/`.

[Read more about compiling assets in Jigsaw using Vite.](http://jigsaw.tighten.co/docs/compiling-assets/)

---

Building Your Site
------------------

[](#building-your-site)

Now that you’ve edited your configuration variables and know how to customize your styles and content, let’s build the site.

```
# run development server
npm run dev

# build static files with Vite
npm run build
```

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance62

Regular maintenance activity

Popularity46

Moderate usage in the ecosystem

Community28

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~99 days

Recently: every ~400 days

Total

25

Last Release

319d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bbd8d70be13fce77c0fc93f9000768b3679cfb36aa1017892ffb571445e21f2f?d=identicon)[damiani](/maintainers/damiani)

---

Top Contributors

[![damiani](https://avatars.githubusercontent.com/u/357312?v=4)](https://github.com/damiani "damiani (130 commits)")[![mattstauffer](https://avatars.githubusercontent.com/u/151829?v=4)](https://github.com/mattstauffer "mattstauffer (51 commits)")[![bakerkretzmar](https://avatars.githubusercontent.com/u/18192441?v=4)](https://github.com/bakerkretzmar "bakerkretzmar (49 commits)")[![nicodevs](https://avatars.githubusercontent.com/u/3766839?v=4)](https://github.com/nicodevs "nicodevs (10 commits)")[![diomed](https://avatars.githubusercontent.com/u/72777?v=4)](https://github.com/diomed "diomed (3 commits)")[![adammish](https://avatars.githubusercontent.com/u/24902327?v=4)](https://github.com/adammish "adammish (2 commits)")[![andypa](https://avatars.githubusercontent.com/u/148700?v=4)](https://github.com/andypa "andypa (2 commits)")[![gcavanunez](https://avatars.githubusercontent.com/u/9332696?v=4)](https://github.com/gcavanunez "gcavanunez (2 commits)")[![RobDearling](https://avatars.githubusercontent.com/u/113444558?v=4)](https://github.com/RobDearling "RobDearling (2 commits)")[![atymic](https://avatars.githubusercontent.com/u/50683531?v=4)](https://github.com/atymic "atymic (1 commits)")[![fletch3555](https://avatars.githubusercontent.com/u/1387843?v=4)](https://github.com/fletch3555 "fletch3555 (1 commits)")[![vmitchell85](https://avatars.githubusercontent.com/u/1248035?v=4)](https://github.com/vmitchell85 "vmitchell85 (1 commits)")[![imacrayon](https://avatars.githubusercontent.com/u/3410149?v=4)](https://github.com/imacrayon "imacrayon (1 commits)")[![intrepidws](https://avatars.githubusercontent.com/u/125735?v=4)](https://github.com/intrepidws "intrepidws (1 commits)")[![julienbourdeau](https://avatars.githubusercontent.com/u/1525636?v=4)](https://github.com/julienbourdeau "julienbourdeau (1 commits)")[![matthieumota](https://avatars.githubusercontent.com/u/2427947?v=4)](https://github.com/matthieumota "matthieumota (1 commits)")[![allmanaj](https://avatars.githubusercontent.com/u/13446694?v=4)](https://github.com/allmanaj "allmanaj (1 commits)")[![mishahawthorn](https://avatars.githubusercontent.com/u/6118330?v=4)](https://github.com/mishahawthorn "mishahawthorn (1 commits)")[![ahinkle](https://avatars.githubusercontent.com/u/17038330?v=4)](https://github.com/ahinkle "ahinkle (1 commits)")[![zuzana-kunckova](https://avatars.githubusercontent.com/u/15965102?v=4)](https://github.com/zuzana-kunckova "zuzana-kunckova (1 commits)")

---

Tags

bladejigsawlaravelstatic-sitestatic-site-generatortailwindcsstemplategeneratortemplatestaticblogsitestarterjigsaw

### Embed Badge

![Health badge](/badges/tightenco-jigsaw-blog-template/health.svg)

```
[![Health](https://phpackages.com/badges/tightenco-jigsaw-blog-template/health.svg)](https://phpackages.com/packages/tightenco-jigsaw-blog-template)
```

###  Alternatives

[tightenco/jigsaw-docs-template

Documentation starter template for Jigsaw static site generator by Tighten

5026.9k](/packages/tightenco-jigsaw-docs-template)[rickwest/jigsaw-clean-blog

Blog starter template for Jigsaw static site generator by Tighten

111.4k](/packages/rickwest-jigsaw-clean-blog)[tightenco/jigsaw

Simple static sites with Laravel's Blade.

2.2k438.5k29](/packages/tightenco-jigsaw)[anourvalar/office

Generate documents from existing Excel &amp; Word templates | Export tables to Excel (Grids)

24085.2k](/packages/anourvalar-office)[aschmelyun/cleaver

A blazing-fast static site generator using Laravel's Blade templating engine

2961.0k](/packages/aschmelyun-cleaver)[tomatophp/filament-plugins

Manage your modules as a plugin system with plugin generator

644.7k2](/packages/tomatophp-filament-plugins)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
