Flesh out README

This commit is contained in:
Ben Balter 2016-12-13 16:14:16 -05:00
parent e7cd890a2b
commit c0de65c9bb
1 changed files with 68 additions and 38 deletions

106
README.md
View File

@ -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<br />(*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.