mirror of
https://github.com/danog/gojekyll.git
synced 2024-11-30 08:19:00 +01:00
1.7 KiB
1.7 KiB
Contributing
Here's some ways to help:
- Try it on your site. Use this as fodder for test cases.
- Pick an un-checked item from Status. Let me know you want to work on it – I have ideas for some of these.
- Search the source for FIXME and TODO.
- 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 install_dev_tools
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 gojekyll gojekyll.prof