--- title: Getting Started description: Getting started with Jigsaw's docs starter template is as easy as 1, 2, 3. extends: _layouts.documentation section: content --- # Getting Started {#getting-started} This is a starter template for creating a beautiful, customizable documentation site for your project with minimal effort. You’ll only have to change a few settings and you’re ready to go. ## Configuration {#getting-started-configuration} 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 project. 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. ```php // config.php return [ 'baseUrl' => 'https://my-awesome-jigsaw-site.com/', 'production' => false, 'siteName' => 'My Site', 'siteDescription' => 'Give your documentation a boost with Jigsaw.', 'docsearchAppId' => '', 'docsearchApiKey' => '', 'docsearchIndexName' => '', 'navigation' => require_once('navigation.php'), ]; ``` > 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). Check out the official [Jigsaw documentation](https://jigsaw.tighten.co/docs/collections/) to learn more. --- ### Adding Content {#getting-started-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/docs` folder. If you change this, be sure to update the URL references in [navigation.php](/docs/navigation.php). [Read more about navigation.](/docs/navigation) The first section 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.documentation` will render with `source/_layouts/documentation.blade.php`), and the `section` attribute defines the Blade "section" that expects this content to be placed into it. ```yaml --- title: Navigation description: Building a navigation menu for your site extends: _layouts.documentation section: content --- ``` [Read more about Jigsaw layouts.](https://jigsaw.tighten.co/docs/content-blade/) --- ### Adding Assets {#getting-started-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 need processing (like images and fonts) can be placed in `/source/assets/` and will be included in the build as-is. [Read more about compiling assets in Jigsaw using Vite.](http://jigsaw.tighten.co/docs/compiling-assets/) --- ## Building Your Site {#getting-started-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. ```bash # run development server npm run dev # build static files with Vite npm run build ```