1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-30 06:08:57 +01:00
gojekyll/CONTRIBUTING.md
2017-07-12 20:01:17 -04:00

1.7 KiB

Contributing

Here's some ways to help:

  • Try using gojekyll on your site. Use this as fodder for test cases.
  • Choose an item to work on from the issues list.
  • Search the sources for FIXME and TODO comments.
  • Improve the code coverage.

If you choose to contribute code, please review the pull request template before you get too far along.

Developer Cookbook

Set up your machine

Fork and clone the repo.

Install go. On macOS running Homebrew, brew install go is easier than the linked instructions.

Install package dependencies and development tools:

make setup
go get -t ./...

Test and Lint

make test
make lint

Debugging tools

gojekyll -s path/to/site render index.md              # render a file to stdout
gojekyll -s path/to/site render page.md               # render a file to stdout
gojekyll -s path/to/site render /                     # render a URL to stdout
gojekyll -s path/to/site variables /                  # print a file or URL's variables
gojekyll -s path/to/site variables site               # print the site variables
gojekyll -s path/to/site variables site.twitter.name  # print a specific site variable

./scripts/gojekyll is an alternative to the gojekyll executable, that uses go run each time it's invoked.

Coverage

./scripts/coverage && go tool cover -html=coverage.out

Profiling

gojekyll -s path/to/site benchmark
go tool pprof --web gojekyll gojekyll.prof