78 lines
2.2 KiB
Markdown
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.
|
|
|
|
|