Poole
The Strange Case of Dr. Jekyll and Mr. Hyde tells the story of a lawyer investigating the connection of two persons, Dr. Henry Jekyll and Mr. Edward Hyde. Chief among the novel's supporting cast is a man by the name of Mr. Poole, Dr. Jekyll's loyal butler.
Poole is the butler for Jekyll, the static site generator. It's designed and developed by @mdo to provide a clear and concise foundational setup for any Jekyll site. It does so by furnishing a full vanilla Jekyll install with example templates, pages, posts, and styles.
See Poole in action with the demo site.
There are currently two official themes built on Poole:
Individual theme feedback and bug reports should be submitted to the theme's individual repository.
Contents
Usage
1. Install dependencies
Poole is built on Jekyll and uses its built-in SCSS compiler to generate our CSS. Before getting started, you'll need to install the Jekyll gem and related dependencies:
$ gem install jekyll jekyll-gist jekyll-sitemap jekyll-seo-tag
Windows users: Windows users have a bit more work to do, but luckily @juthilo has your back with his Run Jekyll on Windows guide.
Need syntax highlighting? Poole includes support for Pygments or Rouge, so install your gem of choice to make use of the built-in styling. Read more about this in the Jekyll docs.
2a. Quick start
To help anyone with any level of familiarity with Jekyll quickly get started, Poole includes everything you need for a basic Jekyll site. To that end, just download Poole and start up Jekyll.
2b. Roll your own Jekyll site
Folks wishing to use Jekyll's templates and styles can do so with a little bit of manual labor. Download Poole and then copy what you need (likely _layouts/
, *.html
files, atom.xml
for RSS, and assets/
for CSS, JS, etc.).
3. Running locally
To see your Jekyll site with Poole applied, start a Jekyll server. In Terminal, from /poole
(or whatever your Jekyll site's root directory is named):
$ jekyll serve
Open http://localhost:4000 in your browser, and voilà.
4. Serving it up
If you host your code on GitHub, you can use GitHub Pages to host your project.
- Fork this repo and switch to the
gh-pages
branch. - If you're using a custom domain name, modify the
CNAME
file to point to your new domain. - If you're not using a custom domain name, modify the
baseurl
in_config.yml
to point to your GitHub Pages URL. Example: for a repo atgithub.com/username/poole
, usehttp://username.github.io/poole/
. Be sure to include the trailing slash. - Done! Head to your GitHub Pages URL or custom domain.
No matter your production or hosting setup, be sure to verify the baseurl
option file and CNAME
settings. Not applying this correctly can mean broken styles on your site.
Development
Poole has two branches, but only one is used for active development.
master
for development. All pull requests should be to submitted againstmaster
.gh-pages
for our hosted site, which includes our analytics tracking code. Please avoid using this branch.
CSS is handled via Jeykll's built-in Sass compiler. Source Sass files are located in _sass/
, included into styles.scss
, and compile to styles.css
.
Author
Mark Otto
License
Open sourced under the MIT license.
<3
Insecure CSS and page jumping up/down?
Hello,
When I try and load the page over https, I get an insecure content warning that I have to manually allow to see the page render correctly. The errors chrome console gives me are:
Also, when clicking the navigation bar, the page shifts either up or down, and this happens in both chrome and IE
http://diego898.github.io
Any recommendations?
How to move index page to site/blog?
I want to make static index page and move current index page to blog page.
I've created copy of index.html (blog.html). But template engine can't find any posts on site/blog. There is just empty page with two buttons (newer and older). Link.
Page "jumping" around
@mdo I finally made a gif of what I mean. When clicking around page titles I see this:
Note that the first three links are ok, but for some reason the last two cause a slight right shift. When I click on the first three again, I shift back to the left.
This happens to me in both chrome 40 and IE 11. Should I make a separate issue for just this jumping around?
Note: this was also posted on a closed issue but I wasnt sure if it was seen
`Related Article` links are wrong?
Hi,
I have
poole
demo blog up and running but when I click on any demorelated article
links, it showed wrong path. I thought the issue is fixed at #41. But it seems not to work for me.For example:
Line numbering for code blocks
This theme is great, but it should be nice to be able to enable line numbering for code blocks like Octopress (http://octopress.org/docs/plugins/codeblock/)
Media query flickering in Safari
When checking the responsiveness of Lanyon (in Safari 7.0), I noticed that the page would flicker between two media query states. So rapidly that it would consume about 80% of a single core.
I have traced the issue back to the following lines in poole's css:
It is not a stretch to think that Safari is evaluating the minimum width as 608px (16 * 38) AND 760px (16 * 20). Indeed, after a quick check, the issue does occur between those window sizes.
Clearly this is caused by the fact that REMs are being used, and that the HTML font-size is being changed by the mentioned media query.
The issue does not appear to occur in Chrome or Firefox.
2a. Quickstart in README requires context or more info.
The README implies that getting started is easy, but there must be a missing step or some context that is required:
2a. Quick start
To help anyone with any level of familiarity with Jekyll quickly get started, Poole includes everything you need for a basic Jekyll site. To that end, just download Poole and start up Jekyll.
Following this instruction results in:
Add Sass support
This overhauls everything and adds Sass support to the styles.
.scss
files are stored in_scss
.css/styles.scss
compiles into_site/css/styles.css
.poole.css
and one for the syntax—into a single file..scss
files.This PR represents the bulk of the work going into v2.
Use SCSS with Jekyll 2
GitHub Pages now uses Jekyll 2.x, which supports SCSS, SASS, and CoffeeScript assets. I think it would be great if the styles could be switched to SCSS. It makes it easier to make code more modular, and configuration would be easier through variables and mixins.
Additionally, it is fairly easy to concatenate files with SCSS by simplifying including an SCSS file that only imports other files. Lowering the number of requests made is often very helpful for improving performance.
Note: I would also like to see this with the Hyde and Layon themes. I personally only use Hyde right now, though I'm hoping this was the right repo to mention the issue in, since it's related to the Poole project in general.
in `require': cannot load such file -- yajl/2.0/yajl (LoadError)
On my machine, I can use Jekyll with my own gh-pages and with jekyll-bootstrap, but Jekyll doesn't like Poole (on Windows, Ruby 2.0.0, Jekyll freshly installed today). What do you make of this error?
Preceding slash in asset urls doesn't work with Github Pages
Just an FYI really - I'm playing around with Github Pages, Jeykll and Poole, and I had to remove the preceding slash in the asset urls to get them working. For example...
This doesn't work:
But this does:
It's obviously because of the way GH Pages urls work, i.e. `http://[username].github.io/[repo-name]. Adding a preceding slash makes the browser look for the assets in the root, whereas it should be looking one level down in the repo directory.
Bump addressable from 2.7.0 to 2.8.1
Bumps addressable from 2.7.0 to 2.8.1.
Changelog
Sourced from addressable's changelog.
Commits
8657465
Update version, gemspec, and CHANGELOG for 2.8.1 (#474)4fc5bb6
CI: remove Ubuntu 18.04 job (#473)860fede
Force UTF-8 encoding only if needed (#341)99810af
Merge pull request #431 from ojab/ct-_do_not_parse_multiline_strings7ce0f48
Merge branch 'main' into ct-_do_not_parse_multiline_strings7ecf751
Merge pull request #449 from okeeblow/freeze_concatenated_strings41f12dd
Merge branch 'main' into freeze_concatenated_strings068f673
Merge pull request #459 from jarthod/iso-encoding-problemb4c9882
Merge branch 'main' into iso-encoding-problem08d27e8
Merge pull request #471 from sporkmonger/sporkmonger-enable-codeqlDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Add workflow to publish gem
https://rubygems.org/gems/poole-for-jekyll-test - example of the publish.
This PR adds a Github workflow to automatically publish the poole gem on
git push --tags
.This PR requires some prework before being able to succeed:
RUBYGEMS_AUTH_TOKEN
with the value of the API key generated in step 1.Page build failed for the `gh-pages` branch
As instructed, I forked this repo and switched to the
gh-pages
branch, then edited the_config.yml
file to change thebaseurl
tohttps://j-rahman.github.io/
(which includes the trailing slash). I get the following error message from Github.An easy fix is to set
relative_permalinks = false
.Bump kramdown from 2.1.0 to 2.3.1
Bumps kramdown from 2.1.0 to 2.3.1.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.