Files
gitea-pages/pages/single-sourcing/build_arguments.md

78 lines
2.2 KiB
Markdown

---
title: Build arguments
permalink: /build_arguments/
tags: [single-sourcing, publishing]
audience: writer, designer
---
## How to build Jekyll sites
The normal way to build the Jekyll site is through the build command:
```
jekyll build
```
To build the site and view it in a live server, use the `serve` command:
```
jekyll serve
```
By default, the _config.yml will be used, Jekyll will scan the current directory for files, and the folder _site will be used as the output. You can customize these build commands.
```
jekyll serve --config configs/config_writer.yml --destination /users/tjohnson/projects/documentation-theme-jekyll-builds/writer
```
Here the configs/config_writer.yml file is used instead of _config.yml. The destination directory is /users/tjohnson/projects/documentation-theme-jekyll-builds/writer.
In order to exclude pages from being included in the build, use the `exclude` property in the configuration file:
```
exclude:
- "README.md"
- "CHANGELOG.md"
- "CNAME"
- "Gemfile"
- "Gemfile.lock"
- content/web
- content/acme/drafts
```
These files or directories will be excluded from the build.
## Shortcuts for the build arguments
If you don't want to enter the long Jekyll argument every time, with all your configuration details, you can create a shell script and then just run the script. This theme shows an example with the build_writer.sh file in the root directory.
To run the script:
Open Terminal and go to the directory. The first time, you may need to change the file permissions to make the sh file executable:
```
chmod +x build_writer.sh
```
Now to execute the build script, do this:
```
. build_writer.sh
```
A similar file is set up for the designer output. Note that the port listed in the configuration file for each build must be unique.
## Stop a server
When you're doing with the preview server, press `Ctrl+C` to exit out of it. If you exit Terminal without shutting down the server, the next time you build your site, you may get a server-already-in-use message.
You can kill the server process using these commands:
`ps aux | grep jekyll`
Find the PID (for example, it looks like "22298").
Then type `kill -9 22298` where "22298" is the PID.