# The Hacker theme *Hacker is a Jekyll theme based on the [hacker theme for GitHub](https://github.com/pages-themes/hacker). You can [preview the theme to see what it looks like](http://sw4j-net.pages.sw4j.net/jekyll-theme-hacker-nogh), or even [use it today](#usage).* ![Thumbnail of Hacker](thumbnail.png) ## Usage To use the Hacker theme: 1. Add the following to your site's `_config.yml`: ```yml theme: jekyll-theme-hacker-nogh ``` 2. Optionally, if you'd like to preview your site on your computer, execute the following: ```ruby gem install jekyll-theme-hacker-nogh ``` ## Customizing ### Configuration variables Hacker will respect the following variables, if set in your site's `_config.yml`: ```yml title: [The title of your site] description: [A short description of your site's purpose] ``` Additionally, you may choose to set the following optional variables: ```yml zip_url: [URL of a ZIP download of your project] tar_url: [URL of a tar.gz download of your project] repository_url: [URL to the repository] matomo: host: [The host URL of your matomo server] id: [The id of your site in the matomo installation] ``` ### Stylesheet If you'd like to add your own custom styles: 1. Create a file called `/assets/css/style.scss` in your site 2. Add the following content to the top of the file, exactly as shown: ```scss --- --- @import "{{ site.theme }}"; ``` 3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line *Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* ### Layouts If you'd like to change the theme's HTML layout: 1. [Copy the original template](https://git.sw4j.net/sw4j-net/jekyll-theme-hacker-nogh/blob/master/_layouts/default.html) from the theme's repository
(*Pro-tip: click "raw" to make copying easier*) 2. Create a file called `/_layouts/default.html` in your site 3. Paste the default layout content copied in the first step 4. Customize the layout as you'd like ## Roadmap See the [open issues](https://git.sw4j.net/sw4j-net/jekyll-theme-hacker-nogh/issues) for a list of proposed features (and known issues). ## Project philosophy The Hacker theme is intended to make it quick and easy for Jekyll users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. ## Contributing Interested in contributing to Hacker? We'd love your help. Hacker is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. ### Previewing the theme locally If you'd like to preview the theme locally (for example, in the process of proposing a change): 1. Clone down the theme's repository (`git clone https://git.sw4j.net/sw4j-net/jekyll-theme-hacker-nogh`) 2. `cd` into the theme's directory 3. Run `script/bootstrap` to install the necessary dependencies (must be run with superuser grants) 4. Run `bundle exec jekyll serve` to start the preview server 5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme ### Running tests The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` one before the test script will work.