diff --git a/README.md b/README.md index ea0c95d..41a8e42 100644 --- a/README.md +++ b/README.md @@ -1,60 +1,90 @@ -# `jekyll-theme-hacker` +# The Hacker theme -Hacker is a Jekyll theme for [GitHub Pages](https://pages.github.com). +[![Build Status](https://travis-ci.org/pages-themes/jekyll-theme-hacker.svg?branch=master)](https://travis-ci.org/pages-themes/jekyll-theme-hacker) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-hacker.svg)](https://badge.fury.io/rb/jekyll-theme-hacker) -You can preview the theme at http://pages-themes.github.io/hacker. +*Hacker is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/hacker), or even [use it today](#usage).* -### Usage +## Usage -This theme was ported from the GitHub Automatic Page Generator to a Jekyll v3.3 theme gem. +To use the Hacker theme: -To use it on a Pages site, add `theme: jekyll-theme-hacker` to your `_config.yml`. +1. Add the following to your site's `_config.yml`: + + ```yml + theme: jekyll-theme-hacker + ``` + +2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: + + ```ruby + gem "github-pages", group: :jekyll_plugins + ``` + + + +## Customizing + +### Configuration variables + +Hacker will respect the following variables, if set in your site's `_config.yml`: ```yml -theme: jekyll-theme-hacker -title: Custom title -description: Custom description. -show_downloads: true -google_analytics: +title: [The title of your site] +description: [A short description of your site's purpose] ``` -- To override the repository name or description from GitHub used in the header, set a `title` or `description`. -- Set `show_downloads` to `false` to hide the download buttons in the header. -- Set `google_analytics` to your tracking ID to enable pageview tracking. - -This theme includes a single `default` layout. Markdown files should be prefixed with the following frontmatter. - -``` ---- -layout: default ---- +Additionally, you may choose to set the following optional variables: +```yml +show_downloads: ["true" or "false" to indicate whether to provide a download URL] +google_analytics: [Your Google Analytics tracking ID] ``` -#### CSS +### Stylesheet -For CSS customization, create your own `/assets/css/styles.scss` in your project to replace the one from this theme, and override selected stylesheet properties. +If you'd like to add your own custom styles: -```scss ---- ---- +1. Create a file called `/assets/css/style.css` in your site +2. Add the following content to the top of the file, exactly as shown: + ```scss + --- + --- -@import "rouge-base16-dark"; -@import 'hacker'; + @import "{{ site.theme }}"; + ``` +3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line -``` +### Layouts -#### Syntax Highlighting +If you'd like to change the theme's HTML layout: -[Rouge](http://rouge.jneen.net/) is the default highlighter in Jekyll 3. This theme includes the `base16.dark` stylesheet from Rouge. +1. [Copy the original template](https://github.com/pages-themes/hacker/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 -To switch syntax highlighting colors to say `monokai`, install the `rouge` gem and run the following on the command line. +## Roadmap -``` -mkdir _scss -rougify style monokai > _scss/rouge-monokai.scss -``` +See the [open issues](https://github.com/pagse-themes/hacker/issues) for a list of proposed features (and known issues). -Then replace `rouge-base16-dark` with `rouge-monokai` in `/assets/css/styles.scss` +## Project philosophy -Other pygments highlighter themes should work as well. +The Hacker theme is intended to make it quick and easy for GitHub Pages 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](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://github.com/pages-themes/hacker`) +2. `cd` into the theme's directory +3. Run `script/bootstrap` to install the necessary dependencies +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.