beautiful-jekyll-theme 2.0.0 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +2 -11
- data/README.md +103 -129
- data/_includes/disqus.html +12 -12
- data/_includes/ext-css.html +2 -2
- data/_includes/fb-comment.html +12 -10
- data/_includes/footer-minimal.html +11 -11
- data/_includes/footer-scripts.html +2 -2
- data/_includes/footer.html +12 -7
- data/_includes/google_analytics.html +8 -8
- data/_includes/gtag.html +2 -3
- data/_includes/gtm_body.html +3 -4
- data/_includes/gtm_head.html +9 -7
- data/_includes/head.html +54 -44
- data/_includes/header.html +12 -12
- data/_includes/nav.html +33 -44
- data/_includes/readtime.html +10 -10
- data/_includes/social-networks-links.html +89 -29
- data/_includes/social-share.html +8 -3
- data/_includes/staticman-comments.html +9 -9
- data/_layouts/base.html +13 -8
- data/_layouts/default.html +1 -1
- data/_layouts/home.html +25 -12
- data/_layouts/minimal.html +11 -5
- data/_layouts/page.html +2 -2
- data/_layouts/post.html +8 -8
- data/assets/css/main-minimal.css +2 -2
- data/assets/css/main.css +349 -227
- data/assets/css/staticman.css +2 -2
- data/assets/img/thumb.png +0 -0
- data/assets/js/jquery-3.4.1.min.js +2 -0
- data/assets/js/main.js +58 -99
- data/assets/js/staticman.js +13 -13
- metadata +8 -14
- data/assets/css/bootstrap-theme.css +0 -476
- data/assets/css/bootstrap-theme.css.map +0 -1
- data/assets/css/bootstrap-theme.min.css +0 -5
- data/assets/css/bootstrap.css +0 -6566
- data/assets/css/bootstrap.css.map +0 -1
- data/assets/css/bootstrap.min.css +0 -5
- data/assets/css/normalize.css +0 -427
- data/assets/js/bootstrap.js +0 -2306
- data/assets/js/bootstrap.min.js +0 -7
- data/assets/js/jquery-1.11.2.min.js +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9158d7f52b2b394542accaae63a91dd9a6e0b7699be547722c8aadb7782e8e6a
|
4
|
+
data.tar.gz: 21f6f35bcd4a8cc9b576bdd4b2cb4573564dc9053105fc30993a2cd2c5e35edc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8967b23e43f8df211bdc7e812908c6e4d4b2e6903aaf2d173a251dd23cb9968e5f13f931ae9d2f7a2febc605e358bbbc4f6e8d0a57b97a0ae5c5847c0393c294
|
7
|
+
data.tar.gz: 2b96560f416e3232593dcb7289f61d95c807ae5464da0a5affb8ac06b1f00aaaff427d3e4b69ed6207aa5a88499e2b9fd53d9ce602b0ba09b2d271c9af3fbd48
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
MIT License
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) 2020 Dean Attali
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -19,12 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
21
|
SOFTWARE.
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
staticman integration
|
26
|
-
=================================================================================
|
27
|
-
|
28
|
-
The MIT License (MIT)
|
29
|
-
|
30
|
-
Copyright (c) 2013-2018 Michael Rose
|
data/README.md
CHANGED
@@ -1,36 +1,57 @@
|
|
1
1
|
# Beautiful Jekyll
|
2
2
|
|
3
|
-
![
|
3
|
+
[![xscode](https://img.shields.io/badge/Available%20on-xs%3Acode-blue?style=?style=plastic&logo=appveyor&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////////VXz1bAAAAAJ0Uk5T/wDltzBKAAAAlUlEQVR42uzXSwqAMAwE0Mn9L+3Ggtgkk35QwcnSJo9S+yGwM9DCooCbgn4YrJ4CIPUcQF7/XSBbx2TEz4sAZ2q1RAECBAiYBlCtvwN+KiYAlG7UDGj59MViT9hOwEqAhYCtAsUZvL6I6W8c2wcbd+LIWSCHSTeSAAECngN4xxIDSK9f4B9t377Wd7H5Nt7/Xz8eAgwAvesLRjYYPuUAAAAASUVORK5CYII=)](https://xscode.com/daattali/beautiful-jekyll)
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/beautiful-jekyll-theme.svg)](https://badge.fury.io/rb/beautiful-jekyll-theme)
|
5
|
+
[![Beautiful Jekyll CI](https://github.com/daattali/beautiful-jekyll/workflows/Beautiful%20Jekyll%20CI/badge.svg)](https://github.com/daattali/beautiful-jekyll/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22Beautiful+Jekyll+CI%22)
|
5
6
|
|
6
7
|
> *Copyright 2020 [Dean Attali](https://deanattali.com)*
|
7
8
|
|
8
|
-
**Beautiful Jekyll** is a ready-to-use template to help you create
|
9
|
+
**Beautiful Jekyll** is a ready-to-use template to help you create a beautiful website quickly. Perfect for personal sites, blogs, or simple project websites. [Check out a demo](https://beautifuljekyll.com) of what you'll get after just two minutes. You can also look at [my personal website](https://deanattali.com) to see it in use, or see examples of websites other people created using this theme [below](#showcased-users-success-stories).
|
9
10
|
|
10
|
-
**If you enjoy this theme, please consider [
|
11
|
+
**If you enjoy this theme, please consider [sponsoring me](https://github.com/sponsors/daattali) for developing and maintaining it for over 5 years.**
|
11
12
|
|
12
13
|
<p align="center">
|
13
|
-
<a style="display: inline-block;" href="https://paypal.me/daattali">
|
14
|
-
<img height="40" src="https://camo.githubusercontent.com/0e9e5cac101f7093336b4589c380ab5dcfdcbab0/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f74776f6c66736f6e2f70617970616c2d6769746875622d627574746f6e40312e302e302f646973742f627574746f6e2e737667" />
|
15
|
-
</a>
|
16
14
|
<a style="display: inline-block;" href="https://github.com/sponsors/daattali">
|
17
15
|
<img height="40" src="https://i.imgur.com/034B8vq.png" />
|
18
16
|
</a>
|
17
|
+
|
18
|
+
<a style="display: inline-block;" href="https://paypal.me/daattali">
|
19
|
+
<img height="40" src="https://camo.githubusercontent.com/0e9e5cac101f7093336b4589c380ab5dcfdcbab0/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f74776f6c66736f6e2f70617970616c2d6769746875622d627574746f6e40312e302e302f646973742f627574746f6e2e737667" />
|
20
|
+
</a>
|
19
21
|
</p>
|
20
22
|
|
21
|
-
|
23
|
+
## Table of contents
|
22
24
|
|
23
|
-
- [Build your website in 3 steps](#build-your-website-in-3-steps)
|
24
|
-
- [Add your own content](#add-your-own-content)
|
25
|
-
- [Last important thing: parameters for each page](#last-important-thing-parameters-for-each-page)
|
26
25
|
- [Features](#features)
|
27
|
-
- [
|
26
|
+
- [**Build your website in 3 steps**](#build-your-website-in-3-steps)
|
27
|
+
- [Add your own content](#add-your-own-content)
|
28
|
+
- [Customizing parameters for each page](#customizing-parameters-for-each-page)
|
29
|
+
- [Supported parameters](#supported-parameters)
|
28
30
|
- [Showcased users (success stories!)](#showcased-users-success-stories)
|
29
|
-
- [Advanced: Using `remote_theme`](#advanced-using-remote_theme)
|
30
31
|
- [FAQ and support](#faq-and-support)
|
31
32
|
- [Credits and contributions](#credits)
|
32
33
|
|
33
|
-
|
34
|
+
# Features
|
35
|
+
|
36
|
+
- **SIMPLE**: The primary goal of Beautiful Jekyll is to allow literally *anyone* to create a website in a few minutes.
|
37
|
+
- **Modern**: Uses the latest best practices and technologies to achieve nearly perfect scores on Google Chrome's Audit.
|
38
|
+
- **Mobile-first**: Designed to look great on both large-screen and small-screen (mobile) devices.
|
39
|
+
- **Highly customizable**: Many personalization settings such as changing the background colour/image, adding a logo.
|
40
|
+
- **Flexible usage**: Use Beautiful Jekyll directly on GitHub or using a Ruby gem - choose the best [development method](#build-your-website-in-3-steps) for you.
|
41
|
+
- **Battle-tested**: By using Beautiful Jekyll, you'll be joining tens of thousands of users who used this theme since 2015.
|
42
|
+
- **Links to your social media**: You can easily add links to any of your social media accounts in the footer of every page.
|
43
|
+
- **Comments support**: Add comments to any page using either [Disqus](https://disqus.com/), [Facebook comments](https://developers.facebook.com/docs/plugins/comments), [Utterances](https://utteranc.es/), or [Staticman](https://staticman.net).
|
44
|
+
- **Share blog posts on social media**: By default, all blog posts have buttons to allow people to share on Twitter/Facebook/LinkedIn.
|
45
|
+
- **Tags**: Any blog post can be tagged with keywords, and an index page showing all the tags is automatically generated.
|
46
|
+
- **Tracking analytics**: Easily integrate Google Analytics, or other analytics platforms, to track visits to your website.
|
47
|
+
- **Photos support**: Any page can have a cover photo around its title, and any blog post can have an associated image.
|
48
|
+
- **More advanced features**: I wrote [a blog post](https://deanattali.com/2015/03/12/beautiful-jekyll-how-to-build-a-site-in-minutes/) describing some more advanced features that I used in my website that can be used in any beautiful-jekyll site.
|
49
|
+
|
50
|
+
# Build your website in 3 steps
|
51
|
+
|
52
|
+
There's a very easy way to use this theme, and there's a hard way. For most people (including myself!), I suggest going the easy route. If you're an advanced user and want to tinker with the hard way (using ruby gems), then [skip the easy way](https://github.com/daattali/beautiful-jekyll#the-hard-way-using-ruby-gems) if you know what you're doing.
|
53
|
+
|
54
|
+
## The easy way (recommended!)
|
34
55
|
|
35
56
|
Getting started is *literally* as easy as 1-2-3 :smile:
|
36
57
|
|
@@ -56,19 +77,26 @@ After you save your changes to the config file (by clicking on *Commit changes*
|
|
56
77
|
|
57
78
|
Note that in the video above I only edited one setting in the `_config.yml` file. **You should actually go through the rest of the settings as well. Don't be lazy, go through all the settings :)**
|
58
79
|
|
59
|
-
|
80
|
+
## The hard way (using ruby gems)
|
81
|
+
|
82
|
+
If you followed the easy method above, then you already have your site and you can skip this section! If you want to install beautiful-jekyll using ruby gems instead, follow the [advanced installation instructions](https://beautifuljekyll.com/getstarted/#install-steps-hard).
|
60
83
|
|
61
|
-
## Add your own content
|
62
84
|
|
63
|
-
|
85
|
+
# Add your own content
|
86
|
+
|
87
|
+
To add pages to your site, you can either write a markdown file (`.md`) or you can write an HTML file. It's much easier to write markdown than HTML, so I suggest you do that ([here's a great tutorial](https://markdowntutorial.com/) if you need to learn markdown in 5 minutes). You can look at some files on this demo site to get an idea of how to write markdown.
|
88
|
+
|
89
|
+
To look at existing files, click on any file that ends in `.md`, for example [`aboutme.md`](./aboutme.md). On the next page you can see some nicely formatted text (there's a word in bold, a link, a few bullet points), and if you click on the pencil icon to edit the file, you'll see the markdown code that generated the pretty text. Very easy!
|
64
90
|
|
65
91
|
In contrast, look at [`tags.html`](./tags.html). That's how your write HTML - not as pretty. So stick with markdown if you don't know HTML.
|
66
92
|
|
93
|
+
Any markdown or HTML file that you create will be available on your website under `https://<yourusername>.github.io/<pagename>`. For example, if you create a file `about.md` (or `about.html`) then it'll exist at `https://<yourusername>.github.io/about`.
|
94
|
+
|
67
95
|
Files you create inside the [`_posts`](./_posts) directory will be treated as blog entries. You can look at the existing files there to get an idea of how to write blog posts. Note the format of the blog post files - they must follow the naming convention of `YEAR-MONTH-DAY-title.md`. After you successfully add your own post, you can delete the existing files inside [`_posts`](./_posts) to remove the sample posts, as those are just demo posts to help you learn.
|
68
96
|
|
69
|
-
|
97
|
+
# Customizing parameters for each page
|
70
98
|
|
71
|
-
In order to have your new pages use this template and not just be plain HTML pages, **you must add [YAML front matter](https://jekyllrb.com/docs/front-matter/) to the top of each page**. This is where you'll be able to give each page some extra parameters such as a title, a subtitle, or an image. [Below is a list of all available parameters](#supported-
|
99
|
+
**One last important thing**: In order to have your new pages use this template and not just be plain HTML pages, **you must add [YAML front matter](https://jekyllrb.com/docs/front-matter/) to the top of each page**. This is where you'll be able to give each page some extra parameters such as a title, a subtitle, or an image. [Below is a list of all available parameters](#supported-parameters). If you don't want to use any parameters on a page (this also means having no title), then use the empty YAML front matter:
|
72
100
|
|
73
101
|
```
|
74
102
|
---
|
@@ -90,98 +118,71 @@ You can look at the top of [`aboutme.md`](https://raw.githubusercontent.com/daat
|
|
90
118
|
|
91
119
|
If you don't include YAML then your file will not use this template.
|
92
120
|
|
93
|
-
|
94
|
-
|
95
|
-
### Mobile-first
|
121
|
+
# Supported parameters
|
96
122
|
|
97
|
-
|
123
|
+
Below is a list of the parameters that **Beautiful Jekyll** supports (any of these can be added to the YAML front matter of any page). Remember to also look in the `_config.yml` file to see additional settings.
|
98
124
|
|
99
|
-
|
125
|
+
## Main paramaters
|
100
126
|
|
101
|
-
|
127
|
+
These are the basic YAML parameters that you are most likely to use on most pages.
|
102
128
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
#### Facebook comments
|
112
|
-
|
113
|
-
To use Facebook comments, create a Facebook app using [Facebook developers](https://developers.facebook.com/docs/apps/register), and add the Facebook App ID to the `fb_comment_id` parameter in `_config.yml`.
|
114
|
-
|
115
|
-
#### Utterances comments
|
116
|
-
|
117
|
-
To use [Utterances comments](https://utteranc.es/), follow these steps: (1) Enable Issues in your GitHub repository, (2) Install the Utterances app in your repository (go to https://github.com/apps/utterances), (3) Fill in the `repository` parameter in the utterances section of the `_config.yml` file.
|
118
|
-
|
119
|
-
#### Staticman comments
|
120
|
-
|
121
|
-
To use Staticman, you first need to invite `staticmanlab` as a collaborator to your repository (by going to your repository **Settings** page, navigate to the **Collaborators** tab, and add the username `staticmanlab`), and then accept the invitation by going to `https://staticman3.herokuapp.com/v3/connect/github/<username>/<repo-name>`. Lastly, fill in the `staticman` parameters in the Staticman section of `_config.yml`. You may also choose a different Staticman instance other than `staticmanlab`.
|
122
|
-
|
123
|
-
Optional: You may want to configure a webhook to prevent old inactive branches (representing approved comments) from stacking up. You can refer to [Staticman's documentation](https://staticman.net/docs/webhooks) for details. Make sure to input the **Payload URL** according to your chosen `endpoint`. For example, the default `endpoint` is `https://staticman3.herokuapp.com/v3/entry/github/`, so the corresponding **Payload URL** should be `https://staticman3.herokuapp.com/v1/webhook`.
|
124
|
-
|
125
|
-
|
126
|
-
### Adding Google Analytics to track page views
|
127
|
-
|
128
|
-
Beautiful Jekyll lets you easily add Google Analytics to all your pages. This will let you track all sorts of information about visits to your website, such as how many times each page is viewed and where (geographically) your users come from. To add Google Analytics, simply sign up to [Google Analytics](https://www.google.com/analytics/) to obtain your Google Tracking ID, and add this tracking ID to the `google_analytics` parameter in `_config.yml`.
|
129
|
-
|
130
|
-
### Sharing blog posts on social media
|
129
|
+
Parameter | Description
|
130
|
+
----------- | -----------
|
131
|
+
title | Page or blog post title
|
132
|
+
subtitle | Short description of page or blog post that goes under the title
|
133
|
+
tags | List of tags to categorize the post. Separate the tags with commas and place them inside square brackets. Example: `[personal, analysis, finance]`
|
134
|
+
cover-img | Include a large full-width image at the top of the page. You can either provide the path to a single image (eg. `"/path/to/img"`) , or a list of images to cycle through (eg. `["/path/img1", "/path/img2"]`). If you want to add a caption to an image, then the image should be provided as `{"/path/to/img" : "Caption of image"}`.
|
135
|
+
comments | If you want do add comments to a specific page, use `comments: true`. Comments only work if you enable one of the comments providers (Facebook, disqus, staticman, utterances) in `_config.yml` file. Comments are automatically enabled on blog posts but not on other pages; to turn comments off for a specific post, use `comments: false`.
|
131
136
|
|
132
|
-
|
137
|
+
## Less commonly used parameters
|
133
138
|
|
134
|
-
|
139
|
+
These are parameters that you may not use often, but can come in handy sometimes.
|
135
140
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
-
|
140
|
-
-
|
141
|
+
Parameter | Description
|
142
|
+
----------- | -----------
|
143
|
+
readtime | If you want a post to show how many minutes it will take to read it, use `readtime: true`.
|
144
|
+
show-avatar | If you have an avatar configured in the `_config.yml` but you want to turn it off on a specific page, use `show-avatar: false`.
|
145
|
+
thumbnail-img | For blog posts, if you want to add a thumbnail that'll show up next to the post's excerpt in the feed, use `thumbnail-img: /path/to/image`. If no thumbnail is provided, then `cover-img` will be used as the thumbnail. You can use `thumbnail-img: ""` to disable a thumbnail.
|
146
|
+
share-img | The image to use when sharing the page to social media. If not provided, then `cover-img` or `thumbnail-img` will be used.
|
147
|
+
social-share | By default, every blog post has buttons to share the page on social media. If you want to turn this feature off, use `social-share: false`.
|
148
|
+
nav-short | By default, the navigation bar gets shorter after scrolling down the page. If you want the navigation bar to always be short on a certain page, use `nav-short: true`
|
149
|
+
gh-repo | If you want to show GitHub buttons at the top of a post, this sets the GitHub repo name (eg. `daattali/beautiful-jekyll`). You must also use the `gh-badge` parameter to specify what buttons to show.
|
150
|
+
gh-badge | Select which GitHub buttons to display. Available options are: [star, watch, fork, follow]. You must also use the `gh-repo` parameter to specify the GitHub repo.
|
151
|
+
layout | What type of page this is (default is `post` for blog posts and `page` for other pages). See _Page types_ section below for more information.
|
141
152
|
|
142
|
-
##
|
153
|
+
## Advanced parameters
|
143
154
|
|
144
|
-
These are
|
155
|
+
These are advanced parameters that are only useful for people who need very fine control over their website.
|
145
156
|
|
146
157
|
Parameter | Description
|
147
158
|
----------- | -----------
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
bigimg | Include a large full-width image at the top of the page. You can either give the path to a single image, or provide a list of images to cycle through (see [my personal website](https://deanattali.com/) as an example).
|
152
|
-
comments | If you want do add comments to a specific page, use `comments: true`. Comments are automatically enabled on blog posts; to turn comments off for a specific post, use `comments: false`. Comments only work if you enable at least one provider(Facebook, disqus, staticman) in `_config.yml` file.
|
153
|
-
show-avatar | If you have an avatar configured in the `_config.yml` but you want to turn it off on a specific page, use `show-avatar: false`. If you want to turn it off by default, locate the line `show-avatar: true` in the file `_config.yml` and change the `true` to `false`; then you can selectively turn it on in specific pages using `show-avatar: true`.
|
154
|
-
image | If you want to add a personalized image to your blog post that will show up next to the post's excerpt and on the post itself, use `image: /path/to/img`.
|
155
|
-
readtime | If you want to show how many minutes it will take to read a post in the header, add `readtime: true`.
|
156
|
-
share-img | If you want to specify an image to use when sharing the page on Facebook or Twitter, then provide the image's full URL here.
|
157
|
-
social-share | If you don't want to show buttons to share a blog post on social media, use `social-share: false` (this feature is turned on by default).
|
158
|
-
use-site-title | If you want to use the site title rather than page title as HTML document title (ie. browser tab title), use `use-site-title: true`. When set, the document title will take the format `Site Title - Site Description` (eg. `My website - A virtual proof that name is awesome!`). By default, it will use `Page Title` if it exists, or `Site Title` otherwise.
|
159
|
-
language | HTML language code to be set on <html> element (see [W3Schools website](https://www.w3schools.com/tags/ref_language_codes.asp) for more info on this topic). Language can also be set site-wide in `_config.yml`.
|
160
|
-
layout | What type of page this is (default is `post` for blog posts and `page` for other pages. You can use `minimal` if you don't want a header and footer). The `index.html` file should use the `home` layout to show all the blog posts.
|
161
|
-
gh-repo | If you want to show GitHub buttons at the top of a post, this sets the GitHub repo name (eg. `daattali/beautiful-jekyll`). You must also use the `gh-badge` parameter to specify what buttons to show.
|
162
|
-
gh-badge | Select which GitHub buttons to display. Available options are: [star, watch, fork, follow]. You must also use the `gh-repo` parameter to specify the GitHub repo.
|
159
|
+
footer-extra | If you want to include extra information in the footer, create an HTML file in the `_includes/` folder (for example `_includes/myinfo.html`) and set `footer-extra` to the name of the file (for example `footer-extra: myinfo.html`)
|
160
|
+
language | HTML language code to be set on the page's <html> element.
|
161
|
+
use-site-title | If you want to use the site title rather than the page title as the HTML document title, use `use-site-title: true`.
|
163
162
|
js | List of local JavaScript files to include in the page (eg. `/assets/js/mypage.js`)
|
164
163
|
ext-js | List of external JavaScript files to include in the page (eg. `//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js`). External JavaScript files that support [Subresource Integrity (SRI)](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) can be specified using the `href` and `sri` parameters eg.<br/>`href: "//code.jquery.com/jquery-3.1.1.min.js"`<br/>`sri: "sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="`
|
165
164
|
css | List of local CSS files to include in the page
|
166
165
|
ext-css | List of external CSS files to include in the page. External CSS files using SRI (see `ext-js` parameter) are also supported.
|
167
|
-
googlefonts | List of Google fonts to include in the page (eg. `["Monoton", "Lobster"]`)
|
168
166
|
|
169
|
-
|
167
|
+
## Page types
|
170
168
|
|
171
|
-
|
169
|
+
- **post** - To write a blog post, add a markdown or HTML file in the `_posts` folder. As long as you give it YAML front matter (the two lines of three dashes), it will automatically be rendered like a blog post. Look at the existing blog post files to see examples of how to use YAML parameters in blog posts.
|
170
|
+
- **page** - Any page outside the `_posts` folder that uses YAML front matter will have a very similar style to blog posts.
|
171
|
+
- **home** - The home layout is meant to act as the homepage of your blog posts - it will display all your blog posts, sorted from newest to oldest. A file using the `home` layout must be named `index.html` (not `index.md` or anything else!).
|
172
|
+
- **minimal** - If you want to create a page with minimal styling (ie. without the bulky navigation bar and footer), assign `layout: minimal` to the YAML front matter.
|
173
|
+
- If you want to completely bypass the template engine and just write your own HTML page, simply omit the YAML front matter. Only do this if you know how to write HTML!
|
172
174
|
|
173
|
-
|
175
|
+
# Showcased users (success stories!)
|
174
176
|
|
175
177
|
Beautiful Jekyll has been used in over 500 websites in its first 6 months, and tens of thousands of times since its inception. Here is a sample of some websites that use Beautiful Jekyll.
|
176
178
|
|
177
|
-
|
179
|
+
## Project/company websites
|
178
180
|
|
179
181
|
| Website | Description |
|
180
182
|
| :------ |:----------- |
|
181
183
|
| [repidemicsconsortium.org/](https://www.repidemicsconsortium.org/) | R Epidemics Consortium |
|
182
184
|
| [vaccineimpact.org](https://www.vaccineimpact.org/) | Vaccine Impact Modelling Consortium |
|
183
185
|
| [derekogle.com/fishR](http://derekogle.com/fishR/) | Using R for Fisheries Analyses |
|
184
|
-
| [bigdata.juju.solutions](http://bigdata.juju.solutions) | Creating Big Data solutions Juju Solutions |
|
185
186
|
| [joecks.github.io/clipboard-actions](http://joecks.github.io/clipboard-actions/) | Clipboard Actions - an Android app |
|
186
187
|
| [deanattali.com/shinyjs](http://deanattali.com/shinyjs/) | shinyjs - an R package |
|
187
188
|
| [blabel.github.io](http://blabel.github.io) | Library for canonicalising blank node labels in RDF graphs |
|
@@ -192,7 +193,7 @@ Beautiful Jekyll has been used in over 500 websites in its first 6 months, and t
|
|
192
193
|
| [terremotocentroitalia.info](https://www.terremotocentroitalia.info/) | Information about the 2016 Italy earthquake |
|
193
194
|
|
194
195
|
|
195
|
-
|
196
|
+
## Personal websites
|
196
197
|
|
197
198
|
| Website | Who | What |
|
198
199
|
| :------ |:--- | :--- |
|
@@ -208,81 +209,54 @@ Beautiful Jekyll has been used in over 500 websites in its first 6 months, and t
|
|
208
209
|
| [ocram85.com](https://ocram85.com) | Marco Blessing | A personal blog about PowerShell and automation |
|
209
210
|
| [khanna.cc](https://khanna.cc/) | Harry Khanna | Law and software |
|
210
211
|
|
211
|
-
|
212
|
-
|
213
|
-
Instead of forking this repository, it's possible to use GitHub's `remote_theme` feature. This is an advanced feature only suitable for people who are familiar with GitHub's remote themes feature and who know how to write jekyll sites from scratch. You can either use remote themes directly on GitHub or a Jekyll plugin - you should look up the official documentation for whichever method you want to use.
|
214
|
-
|
215
|
-
Regardless of which of the two methods you choose, after setting up beautiful-jekyll as a remote theme you'll need to:
|
216
|
-
|
217
|
-
- Edit the `_config.yml` file (or create it if it doesn't exist) and add a line `remote_theme: daattali/beautiful-jekyll` (make sure to remove any previous `theme` or `remote_theme` parameters that may have been there before).
|
218
|
-
- Go through beautiful-jekyll's `_config.yml` file and copy any settings you want to use into your project's config file.
|
219
|
-
- Some features will not work because of missing files that you'll need to copy from beautiful-jekyll into your project. To enable the `tags` feature, you need to copy `tags.html`. To enable the RSS feed, copy `feed.xml`. If you use staticman comments, copy `staticman.yml` and `_data/ui-text.yml`.
|
220
|
-
- Create any pages/blog posts using the YAML parameters and layouts available in Beautiful-Jekyll that are mentioned above.
|
221
|
-
- If you want the home page to include a feed of all blog posts, create an `index.html` file and use `layout: home` in its YAML.
|
222
|
-
- If you want to replace any file served from beautiful-jekyll (such as a CSS file, a layout, or an include), you'll need to place it with the exact same path in your own jekyll repo (e.g. `/assets/css/main.css`)
|
223
|
-
|
224
|
-
Below is a summary of the steps required to set up a site with remote themes:
|
225
|
-
|
226
|
-
#### Remote themes with a GitHub repository
|
227
|
-
|
228
|
-
- Create a new repository or go to an existing repository.
|
229
|
-
- Go to _Settings_, scroll down to the _GitHub Pages_ section, and choose "master branch" as the source (not "master branch /docs folder"!).
|
230
|
-
|
231
|
-
#### Remote themes with a Ruby Jekyll site
|
232
|
-
|
233
|
-
- Create a new jekyll site using `jekyll new <projectname>`.
|
234
|
-
- Add `gem "jekyll-remote-theme"` to your Gemfile and then run `bundle install` to install the plugin.
|
235
|
-
- Add `- jekyll-remote-theme` to the plugins section of your `_config.yml` file to activate the plugin.
|
236
|
-
- Serve the jekyll site as usual (e.g. `bundle exec jekyll serve -H 0.0.0.0`)
|
237
|
-
|
238
|
-
## FAQ and support
|
212
|
+
# FAQ and support
|
239
213
|
|
240
214
|
If you need any help, I suggest heading over to the [Jekyll support forum](https://talk.jekyllrb.com/).
|
241
215
|
|
242
216
|
Beautiful Jekyll is actively used by thousands of people with wildly varying degrees of competency, so it's impossible to answer all the questions that may arise. Below are answers to a few very common questions. Most questions that I get asked are not directly related to this theme, and instead are more general questions about Jekyll or web development. Many such questions can be answered by reading the [Jekyll documentation](https://jekyllrb.com/) or with Google.
|
243
217
|
|
244
|
-
|
218
|
+
**If you really wany my personal help, please visit https://xscode.com/daattali/beautiful-jekyll to hire my services.**
|
219
|
+
|
220
|
+
### What if I don't want the website to be `https://<yourusername>.github.io`?
|
245
221
|
|
246
222
|
Every GitHub user can have one repository (repository = project) named `<yourusername>.github.io` and the website for that repository will be `https://<yourusername>.github.io`.
|
247
223
|
|
248
|
-
If you want your project to be named something else, for example `MyAwesomeProject`, that's no problem! All you have to do is go to _Settings_ at the top right corner of the page, and rename your repository to `MyAwesomeProject` (remember to click on the _Rename_ button to confirm
|
224
|
+
If you want your project to be named something else, for example `MyAwesomeProject`, that's no problem! All you have to do is go to _Settings_ at the top right corner of the page, and rename your repository to `MyAwesomeProject` (**remember to click on the _Rename_ button to confirm!**). Then you need to scroll down to the _GitHub Pages_ section and choose "master branch" as the source (not "master branch /docs folder"!).
|
249
225
|
|
250
|
-
|
226
|
+
Now your website will be at `https://<yourusername>.github.io\MyAwesomeProject`.
|
227
|
+
|
228
|
+
### How do I change the number of posts per page OR the colour of the navigation bar OR the image in the navigation bar OR ...?
|
251
229
|
|
252
230
|
Beautiful Jekyll is built to be very customizable, and as such, many questions about "how do I change ..." can be answered by looking at the `_config.yml` file. The configuration file has many adjustable parameters to customize your site.
|
253
231
|
|
254
|
-
|
232
|
+
### How do I add a favicon to my site?
|
255
233
|
|
256
234
|
Easy! Just place a valid `favicon.ico` in the root directory of your project. And then wait! It can take a while to update.
|
257
235
|
|
258
|
-
|
236
|
+
### How do I move the blog to another page instead of having it on the home page?
|
259
237
|
|
260
238
|
The default style of Beautiful Jekyll is to feature the blog feed on the front page. But for many sites that's not the ideal structure, and you may want to have a separate dedicated page for the blog posts. To have the blog hosted on a different URL (for example at `<mysite.com>/blog`), copy the `index.html` file into a folder with the same name as the desired page (for example, to `blog/index.html`), and in the `_config.yml` file you need to add a parameter `paginate_path: "/<page name>/page:num/"` (for example `paginate_path: "/blog/page:num/"`).
|
261
239
|
|
262
|
-
|
240
|
+
### What size do you recommend using for the `cover-img` photos?
|
263
241
|
|
264
242
|
Unfortunately, this is a no-answer! There isn't a one-size-fits-all solution to this, because every person will view your site on a different browser with different dimensions. Some browsers will have very wide aspect ratio, some will be narrower, some will be vertical (such as phones), different phones have different screens, etc. The image will always be centered, so the only tip I can give is that you should make sure the important part of the image is in the middle so that it'll always show. Other than that, every browser will show a different clipping of the image.
|
265
243
|
|
266
|
-
|
244
|
+
### How do I use MathJax equations in my posts?
|
267
245
|
|
268
246
|
MathJax can be easily integrated into your website with a one-line addition. You can see [this discussion](https://github.com/daattali/beautiful-jekyll/issues/195) for more information.
|
269
247
|
|
270
|
-
|
271
|
-
|
272
|
-
This template was not made entirely from scratch. I would like to give special thanks to:
|
273
|
-
- [Barry Clark](https://github.com/barryclark) and his project [Jekyll Now](https://github.com/barryclark/jekyll-now), from whom I've taken several ideas and code snippets, as well as some documenation tips.
|
274
|
-
- [Iron Summit Media](https://github.com/IronSummitMedia) and their project [Bootstrap Clean Blog](https://github.com/IronSummitMedia/startbootstrap-clean-blog), from which I've used some design ideas and some of the templating code for posts and pagination.
|
248
|
+
# Contributions
|
275
249
|
|
276
|
-
|
250
|
+
Thank you to [all past contributors](https://github.com/daattali/beautiful-jekyll/graphs/contributors). If you find any problems or would like to contribute in any way, feel free to create a pull request/open an issue/send me a message. Any comments are welcome!
|
277
251
|
|
278
|
-
|
252
|
+
You can also contribute by becoming an [official sponsor](https://github.com/sponsors/daattali) to help keep beautiful-jekyll well-maintained.
|
279
253
|
|
280
|
-
|
254
|
+
# Credits
|
281
255
|
|
282
|
-
|
256
|
+
This template was not made *entirely* from scratch. I'd like to give special thanks to [Jekyll Now](https://github.com/barryclark/jekyll-now) and [Bootstrap Clean Blog](https://github.com/IronSummitMedia/startbootstrap-clean-blog), from whom I've taken several ideas initially.
|
283
257
|
|
284
|
-
|
258
|
+
I'd also like to thank [Dr. Jekyll's Themes](https://drjekyllthemes.github.io/), [Jekyll Themes](http://jekyllthemes.org/), and another [Jekyll Themes](http://jekyllrc.github.io/jekyllthemes/) for featuring Beautiful Jekyll in their Jekyll theme directories.
|
285
259
|
|
286
|
-
|
260
|
+
# Known limitations
|
287
261
|
|
288
262
|
- If there are many navigation bar links and an avatar, some of the links may get partially hidden behind the avatar. I suggest either re-thinking the number of links, or not using an avatar.
|
data/_includes/disqus.html
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
{%- if site.disqus -%}
|
2
2
|
<div class="disqus-comments">
|
3
|
-
<div class="comments">
|
3
|
+
<div class="comments">
|
4
4
|
<div id="disqus_thread"></div>
|
5
5
|
<script type="text/javascript">
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
var disqus_shortname = '{{ site.disqus }}';
|
7
|
+
/* ensure that pages with query string get the same discussion */
|
8
|
+
var url_parts = window.location.href.split("?");
|
9
|
+
var disqus_url = url_parts[0];
|
10
|
+
(function() {
|
11
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
12
|
+
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
13
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
14
|
+
})();
|
15
15
|
</script>
|
16
|
-
<noscript>Please enable JavaScript to view the <a href="
|
17
|
-
</div>
|
16
|
+
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
17
|
+
</div>
|
18
18
|
</div>
|
19
19
|
{%- endif -%}
|
data/_includes/ext-css.html
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{% if include.css.sri %}
|
2
2
|
<link href="{{ include.css.href }}" rel="stylesheet" integrity="{{ include.css.sri }}" crossorigin="anonymous">
|
3
3
|
{% elsif include.css.href %}
|
4
|
-
<link rel="stylesheet" href="{{ include.css.href }}"
|
4
|
+
<link rel="stylesheet" href="{{ include.css.href }}">
|
5
5
|
{% else %}
|
6
|
-
<link rel="stylesheet" href="{{ include.css }}"
|
6
|
+
<link rel="stylesheet" href="{{ include.css }}">
|
7
7
|
{% endif %}
|
data/_includes/fb-comment.html
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
{%- if site.fb_comment_id -%}
|
2
2
|
<div class="comments">
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
3
|
+
<div id="fb-root"></div>
|
4
|
+
<script>
|
5
|
+
(function(d, s, id) {
|
6
|
+
var js, fjs = d.getElementsByTagName(s)[0];
|
7
|
+
if (d.getElementById(id)) return;
|
8
|
+
js = d.createElement(s); js.id = id;
|
9
|
+
js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId={{ site.fb_comment_id }}&autoLogAppEvents=1';
|
10
|
+
fjs.parentNode.insertBefore(js, fjs);
|
11
|
+
}(document, 'script', 'facebook-jssdk'));
|
12
|
+
</script>
|
13
|
+
<div class="fb-comments" data-href="{{ page.url | absolute_url }}" data-width="100%" data-numposts="5"></div>
|
14
|
+
<noscript>Please enable JavaScript to view the comments powered by Facebook.</noscript>
|
13
15
|
</div>
|
14
16
|
{%- endif -%}
|