bulma-clean-theme 0.6.5 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +59 -2
- data/_includes/callouts.html +5 -1
- data/_includes/footer.html +1 -1
- data/_includes/head.html +5 -2
- data/_includes/header.html +13 -3
- data/_includes/hero.html +3 -3
- data/_includes/menubar.html +2 -2
- data/_includes/pagination.html +2 -2
- data/_includes/share-buttons.html +19 -0
- data/_includes/showcase.html +1 -1
- data/_includes/sponsors.html +42 -0
- data/_includes/tabs.html +1 -1
- data/_layouts/default.html +1 -0
- data/_layouts/post.html +4 -0
- data/_layouts/product-category.html +1 -1
- data/_posts/2019-02-09-getting-started-with-bulma-clean-theme.markdown +2 -2
- data/_posts/2020-05-08-creating-a-docs-site-with-bulma-clean-theme.markdown +96 -0
- data/_sass/_layout.scss +4 -0
- data/_sass/_main.scss +7 -1
- data/node_modules/bulma-block-list/README.md +12 -0
- data/node_modules/bulma-block-list/docs/demo.css +105 -76
- data/node_modules/bulma-block-list/docs/index.html +33 -3
- data/node_modules/bulma-block-list/package.json +10 -10
- data/node_modules/bulma-block-list/src/block-list.scss +34 -44
- data/node_modules/bulma-block-list/src/demo.scss +1 -1
- data/node_modules/bulma/CHANGELOG.md +20 -1
- data/node_modules/bulma/LICENSE +1 -1
- data/node_modules/bulma/README.md +11 -7
- data/node_modules/bulma/bulma.sass +1 -1
- data/node_modules/bulma/css/bulma.css +34 -11
- data/node_modules/bulma/css/bulma.css.map +1 -1
- data/node_modules/bulma/css/bulma.min.css +1 -1
- data/node_modules/bulma/package.json +19 -20
- data/node_modules/bulma/sass/base/helpers.sass +1 -1
- data/node_modules/bulma/sass/components/media.sass +1 -1
- data/node_modules/bulma/sass/components/modal.sass +1 -1
- data/node_modules/bulma/sass/components/navbar.sass +9 -11
- data/node_modules/bulma/sass/components/panel.sass +2 -1
- data/node_modules/bulma/sass/elements/button.sass +10 -9
- data/node_modules/bulma/sass/elements/notification.sass +7 -0
- data/node_modules/bulma/sass/form/file.sass +7 -7
- data/node_modules/bulma/sass/form/input-textarea.sass +1 -1
- data/node_modules/bulma/sass/form/select.sass +2 -2
- data/node_modules/bulma/sass/form/shared.sass +3 -3
- data/node_modules/bulma/sass/layout/hero.sass +21 -19
- data/node_modules/bulma/sass/utilities/functions.sass +12 -0
- data/node_modules/bulma/sass/utilities/mixins.sass +4 -4
- data/package-lock.json +6 -6
- data/package.json +2 -2
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 365edf96f993fdb04ab7a6a17438e902546e21b7
|
4
|
+
data.tar.gz: 88e83adb658f7cda5708136893e8b0f98f3fc004
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bad6e57b63ca40367551dba6f41a881db24871bb643dd61de2a9df24f26585adb40c9635356ba65576219b4bb9645ee4fcd2f147b9aeebd67514ec94edb6d6a
|
7
|
+
data.tar.gz: 3242a63eca3d967ab9902e3f74de37660044a26c4ff56dab6bdf1a2011f68fcb9c51032c11acd69f720939a6c50a9b1eddbedb978152eb3068226c9754aa41a8
|
data/README.md
CHANGED
@@ -25,6 +25,7 @@ This is a clean and simple Jekyll Theme built with the [Bulma](https://bulma.io/
|
|
25
25
|
* [Callouts](#callouts)
|
26
26
|
* [Favicon](#favicon)
|
27
27
|
* [Showcases](#showcases)
|
28
|
+
* [Sponsors](#sponsors)
|
28
29
|
* [Disqus](#disqus)
|
29
30
|
* [Contributing](#contributing)
|
30
31
|
* [Development](#development)
|
@@ -33,6 +34,8 @@ This is a clean and simple Jekyll Theme built with the [Bulma](https://bulma.io/
|
|
33
34
|
|
34
35
|
## Installation
|
35
36
|
|
37
|
+
**This theme requires Jekyll 3.8 so it is compatible with GitHub Pages.**
|
38
|
+
|
36
39
|
Add this line to your Jekyll site's `Gemfile`:
|
37
40
|
|
38
41
|
```ruby
|
@@ -72,6 +75,9 @@ If you would like to add a call to action button in the hero then add `hero_link
|
|
72
75
|
**New in 0.5.7**
|
73
76
|
If you would like to hide the hero, you can set `hide_hero: true` in the page's front matter.
|
74
77
|
|
78
|
+
**New in 0.7.1**
|
79
|
+
If you would like to darken the hero so the title stands out more, you can set `hero_darken: true` in the page's front matter. You can overwrite the default background colour by setting the `$hero-darken` sass variable.
|
80
|
+
|
75
81
|
#### Table Of Contents
|
76
82
|
|
77
83
|
**New in 0.5.8**
|
@@ -92,6 +98,10 @@ paginate_path: "/blog/page:num"
|
|
92
98
|
|
93
99
|
You can also set the height of the hero by providing a Bulma hero height class in your front matter, such as `hero_height: is-fullwidth`. If you do not provide this, it will revert to is-medium
|
94
100
|
|
101
|
+
#### Social Share Buttons
|
102
|
+
|
103
|
+
Share buttons will be displayed on your posts unless you hide them by adding `hide_share_buttons: true` to your config file.
|
104
|
+
|
95
105
|
|
96
106
|
### Navigation
|
97
107
|
|
@@ -375,7 +385,7 @@ Create a data file following the below format. The style is for classes to set t
|
|
375
385
|
|
376
386
|
**New in 0.5.7** You can set the height of the callouts in the data file, such as is-small, is-medium or is-large. If unset it will be is-medium by default.
|
377
387
|
|
378
|
-
The items have
|
388
|
+
The items have 6 fields, but only the title and subtitle are required. If the icon is a brand icon, such as GitHub in the below example, set `icon_brand: true`.
|
379
389
|
|
380
390
|
```yaml
|
381
391
|
style: is-light
|
@@ -383,7 +393,8 @@ height: is-medium
|
|
383
393
|
items:
|
384
394
|
- title: Example callout 1
|
385
395
|
subtitle: Example subtitle 1
|
386
|
-
icon: fa-
|
396
|
+
icon: fa-github
|
397
|
+
icon_brand: true
|
387
398
|
description: >
|
388
399
|
The example description text goes here and can be multiple lines.
|
389
400
|
|
@@ -459,6 +470,52 @@ showcase: showcase_example
|
|
459
470
|
show_sidebar: false
|
460
471
|
```
|
461
472
|
|
473
|
+
### Sponsors
|
474
|
+
|
475
|
+
#### Sponsor link in navbar
|
476
|
+
|
477
|
+
If you have a GitHub sponsors account set up, you can add your username to `gh_sponsor` in the `_config.yml` file and it will display a link to your profile on the right of the navbar.
|
478
|
+
|
479
|
+
```yaml
|
480
|
+
gh_sponsor: chrisrhymes
|
481
|
+
```
|
482
|
+
|
483
|
+
#### Creating a Sponsors Datafile
|
484
|
+
|
485
|
+
If you would like to create a page to thank your sponsors then create a data file, such as my_sponsors.yml file with the following structure:
|
486
|
+
|
487
|
+
```yaml
|
488
|
+
- tier_name: Platinum Sponsors
|
489
|
+
size: large
|
490
|
+
description: |-
|
491
|
+
This is the description for the Platinum Tier
|
492
|
+
sponsors:
|
493
|
+
- name: Dave McDave
|
494
|
+
profile: https://github.com/
|
495
|
+
- name: Sarah Lee-Cheesecake
|
496
|
+
profile: https://github.com/
|
497
|
+
- tier_name: Gold Sponsors
|
498
|
+
description: |-
|
499
|
+
This is the description for the Gold Tier
|
500
|
+
sponsors:
|
501
|
+
- name: Dave McDave
|
502
|
+
profile: https://github.com/
|
503
|
+
```
|
504
|
+
|
505
|
+
The `tier_name` and `description` are required. The `size` is not required, but can be overwritten to 'large' or 'small' to increase or decrease the size of the box and the text size.
|
506
|
+
|
507
|
+
The sponsors require a name, but not a profile link.
|
508
|
+
|
509
|
+
#### Displaying the Sponsors
|
510
|
+
|
511
|
+
To display the sponsors on your page, set the sponsors to the filename without the extension in the page's front matter
|
512
|
+
|
513
|
+
```yaml
|
514
|
+
layout: page
|
515
|
+
title: My Sponsors Page
|
516
|
+
sponsors: my_sponsors
|
517
|
+
```
|
518
|
+
|
462
519
|
### Disqus
|
463
520
|
|
464
521
|
Disqus comments are available for posts. To be able to use them, you need to set your disqus shortname in `_config.yml`. Then you need to set your Jekyll environment to production:
|
data/_includes/callouts.html
CHANGED
@@ -8,7 +8,11 @@
|
|
8
8
|
<div class="column is-4 has-text-centered">
|
9
9
|
{% if callout.icon %}
|
10
10
|
<div class="icon is-large">
|
11
|
+
{% if callout.icon_brand %}
|
12
|
+
<i class="fab {{ callout.icon }} fa-4x"></i>
|
13
|
+
{% else %}
|
11
14
|
<i class="fas {{ callout.icon }} fa-4x"></i>
|
15
|
+
{% endif %}
|
12
16
|
</div>
|
13
17
|
{% endif %}
|
14
18
|
<p class="title is-5">{{ callout.title }}</p>
|
@@ -21,7 +25,7 @@
|
|
21
25
|
{% endif %}
|
22
26
|
|
23
27
|
{% if callout.call_to_action_name %}
|
24
|
-
<a href="{{ callout.call_to_action_link |
|
28
|
+
<a href="{{ callout.call_to_action_link | absolute_url }}" class="button is-primary">
|
25
29
|
{{ callout.call_to_action_name }}
|
26
30
|
</a>
|
27
31
|
{% endif %}
|
data/_includes/footer.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
{% for item in site.data[site.footer_menu] %}
|
7
7
|
<div class="column has-text-centered">
|
8
8
|
<div>
|
9
|
-
<a href="{{ item.link |
|
9
|
+
<a href="{{ item.link | absolute_url }}" class="link">{{ item.name }}</a>
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
{% endfor %}
|
data/_includes/head.html
CHANGED
@@ -4,9 +4,12 @@
|
|
4
4
|
<title>{{ page.title }} - {{ site.title }}</title>
|
5
5
|
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/app.css">
|
6
6
|
<link rel="shortcut icon" type="image/png"
|
7
|
-
{% if site.favicon %} href="{{ site.favicon |
|
7
|
+
{% if site.favicon %} href="{{ site.favicon | absolute_url }}" {% else %} href="{{ site.baseurl }}/favicon.png" {% endif %}
|
8
8
|
/>
|
9
|
-
<
|
9
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css">
|
10
|
+
{% unless site.hide_share_buttons %}
|
11
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma-social@1/bin/bulma-social.min.css">
|
12
|
+
{% endunless %}
|
10
13
|
{% seo %}
|
11
14
|
{%- if site.google_analytics -%}
|
12
15
|
{%- include google-analytics.html -%}
|
data/_includes/header.html
CHANGED
@@ -18,19 +18,29 @@
|
|
18
18
|
{% for item in site.data.navigation %}
|
19
19
|
{% if item.dropdown %}
|
20
20
|
<div class="navbar-item has-dropdown is-hoverable">
|
21
|
-
<a href="{{ item.link |
|
21
|
+
<a href="{{ item.link | absolute_url }}" class="navbar-link {% if item.link == page.url %}is-active{% endif %}">{{ item.name }}</a>
|
22
22
|
<div class="navbar-dropdown">
|
23
23
|
{% for subitem in item.dropdown %}
|
24
|
-
<a href="{{ subitem.link |
|
24
|
+
<a href="{{ subitem.link | absolute_url }}" class="navbar-item {% if subitem.link == page.url %}is-active{% endif %}">{{ subitem.name }}</a>
|
25
25
|
{% endfor %}
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
{% else %}
|
29
|
-
<a href="{{ item.link |
|
29
|
+
<a href="{{ item.link | absolute_url }}" class="navbar-item {% if item.link == page.url %}is-active{% endif %}">{{ item.name }}</a>
|
30
30
|
{% endif %}
|
31
31
|
{% endfor %}
|
32
32
|
{% endif %}
|
33
33
|
</div>
|
34
|
+
|
35
|
+
<div class="navbar-end">
|
36
|
+
{% if site.gh_sponsor %}
|
37
|
+
<a class="navbar-item" href="https://github.com/sponsors/{{ site.gh_sponsor }}">
|
38
|
+
<span class="icon gh-sponsor"><i class="fas fa-heart"></i></span>
|
39
|
+
<span>Sponsor</span>
|
40
|
+
</a>
|
41
|
+
{% endif %}
|
42
|
+
</div>
|
43
|
+
|
34
44
|
</div>
|
35
45
|
</div>
|
36
46
|
</nav>
|
data/_includes/hero.html
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
<section class="hero {% if page.hero_height %} {{ page.hero_height }} {% else %} is-medium {% endif %} is-bold is-primary" {% if page.hero_image %} style="background: url('{{ page.hero_image }}') no-repeat center center; background-size: cover;" {% endif %}>
|
2
|
-
<div class="hero-body">
|
2
|
+
<div class="hero-body {% if page.hero_darken %} hero-darken {% endif %}">
|
3
3
|
<div class="container">
|
4
|
-
<
|
4
|
+
<h1 class="title is-2">{{ page.title }}</h1>
|
5
5
|
<p class="subtitle is-3">{{ page.subtitle }}</p>
|
6
6
|
{% if page.hero_link %}
|
7
|
-
<a href="{{ page.hero_link |
|
7
|
+
<a href="{{ page.hero_link | absolute_url }}" class="button is-info is-large">{{ page.hero_link_text }}</a>
|
8
8
|
{% endif %}
|
9
9
|
</div>
|
10
10
|
</div>
|
data/_includes/menubar.html
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
<ul class="menu-list">
|
7
7
|
{% for item in menu.items %}
|
8
8
|
<li>
|
9
|
-
<a href="{{ item.link |
|
9
|
+
<a href="{{ item.link | absolute_url }}" class="{% if item.link == page.url %}is-active{% endif %}">{{ item.name }}</a>
|
10
10
|
{% if item.items %}
|
11
11
|
<ul>
|
12
12
|
{% for subitem in item.items %}
|
13
|
-
<li><a href="{{ subitem.link |
|
13
|
+
<li><a href="{{ subitem.link | absolute_url }}" class="{% if subitem.link == page.url %}is-active{% endif %}">{{ subitem.name }}</a></li>
|
14
14
|
{% endfor %}
|
15
15
|
</ul>
|
16
16
|
{% endif %}
|
data/_includes/pagination.html
CHANGED
@@ -14,10 +14,10 @@
|
|
14
14
|
{% if page == paginator.page %}
|
15
15
|
<li><a class="pagination-link is-current">{{ page }}</a></li>
|
16
16
|
{% elsif page == 1 %}
|
17
|
-
<li><a href="{{
|
17
|
+
<li><a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | split: '/' | pop | join: '/' }}" class="pagination-link">{{ page }}</a></li>
|
18
18
|
{% else %}
|
19
19
|
<li><a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}" class="pagination-link">{{ page }}</a></li>
|
20
20
|
{% endif %}
|
21
21
|
{% endfor %}
|
22
22
|
</ul>
|
23
|
-
</nav>
|
23
|
+
</nav>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<p><strong>Share</strong></p>
|
2
|
+
<div class="buttons {% if include.centered %} is-centered {% endif %}">
|
3
|
+
<a class="button is-medium is-facebook"
|
4
|
+
onclick="window.open('https://www.facebook.com/share.php?u={{ site.url }}{{ page.url | prepend: site.baseurl }}');">
|
5
|
+
<span class="icon"><i class="fab fa-facebook fa-lg"></i></span>
|
6
|
+
</a>
|
7
|
+
<a class="button is-medium is-twitter"
|
8
|
+
onclick="window.open('https://twitter.com/intent/tweet?text={{ site.url }}{{ page.url | prepend: site.baseurl }}');">
|
9
|
+
<span class="icon"><i class="fab fa-twitter fa-lg"></i></span>
|
10
|
+
</a>
|
11
|
+
<a class="button is-medium is-linkedin"
|
12
|
+
onclick="window.open('https://www.linkedin.com/shareArticle?mini=true&url={{ site.url }}{{ page.url | prepend: site.baseurl }}&title={{ page.title | url_encode }}&summary=&source=');">
|
13
|
+
<span class="icon"><i class="fab fa-linkedin fa-lg"></i></span>
|
14
|
+
</a>
|
15
|
+
<a class="button is-medium is-reddit"
|
16
|
+
onclick="window.open('https://reddit.com/submit?url={{ site.url }}{{ page.url | prepend: site.baseurl }}');">
|
17
|
+
<span class="icon"><i class="fab fa-reddit fa-lg"></i></span>
|
18
|
+
</a>
|
19
|
+
</div>
|
data/_includes/showcase.html
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
{% for item in showcase.items %}
|
9
9
|
<section class="showcase">
|
10
10
|
<figure class="image {% if item.image_ratio %} {{ item.image_ratio }} {% else %} is-16by9 {% endif %}">
|
11
|
-
<img src="{{ item.image |
|
11
|
+
<img src="{{ item.image | absolute_url }}" />
|
12
12
|
</figure>
|
13
13
|
<div class="showcase-content">
|
14
14
|
<div class="columns is-centered">
|
@@ -0,0 +1,42 @@
|
|
1
|
+
{% if page.sponsors %}
|
2
|
+
{% assign tiers=site.data.[page.sponsors] %}
|
3
|
+
<div class="columns is-multiline">
|
4
|
+
{% for tier in tiers %}
|
5
|
+
<div class="column is-12">
|
6
|
+
<p class="title is-3 has-text-centered">
|
7
|
+
<span>{{ tier.tier_name }}</span>
|
8
|
+
</p>
|
9
|
+
<p class="subtitle has-text-centered">
|
10
|
+
<span class="icon is-large gh-sponsor"><i class="fas fa-heart fa-2x"></i></span>
|
11
|
+
</p>
|
12
|
+
<div class="columns is-centered">
|
13
|
+
<div class="column is-6 content has-text-centered">
|
14
|
+
<p>{{ tier.description | markdownify }}</p>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="columns is-multiline is-centered">
|
19
|
+
{% for sponsor in tier.sponsors %}
|
20
|
+
<div class="column {% if tier.size == 'large' %} is-4-desktop is-6-tablet {% else %} is-3-desktop is-4-tablet {% endif %}">
|
21
|
+
<div class="box has-text-centered">
|
22
|
+
<p class="title {% if tier.size == 'large' %} is-4 {% elsif tier.size == 'small' %} is-6 {% else %} is-5 {% endif %}">
|
23
|
+
{{ sponsor.name }}
|
24
|
+
</p>
|
25
|
+
<p class="subtitle is-6">
|
26
|
+
{% if sponsor.profile %}
|
27
|
+
<a href="{{ sponsor.profile }}" class="is-link is-small">View Profile</a>
|
28
|
+
{% else %}
|
29
|
+
|
30
|
+
{% endif %}
|
31
|
+
</p>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
{% endfor %}
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
<div class="column is-12">
|
38
|
+
<hr />
|
39
|
+
</div>
|
40
|
+
{% endfor %}
|
41
|
+
</div>
|
42
|
+
{% endif %}
|
data/_includes/tabs.html
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
<ul>
|
6
6
|
{% for tab in tabs.items %}
|
7
7
|
<li {% if tab.link == page.url %} class="is-active" {% endif %}>
|
8
|
-
<a href="{{ tab.link |
|
8
|
+
<a href="{{ tab.link | absolute_url }}">
|
9
9
|
{% if tab.icon %}
|
10
10
|
<span class="icon is-small"><i class="fas {{ tab.icon }}" aria-hidden="true"></i></span>
|
11
11
|
{% endif %}
|
data/_layouts/default.html
CHANGED
data/_layouts/post.html
CHANGED
@@ -135,10 +135,10 @@ And then push up your changes to Github as normal.
|
|
135
135
|
|
136
136
|
There seems to be an issue where Jekyll doesn't work locally with remote_theme, so when working locally you have to add theme back in, but remember to comment theme out again before pushing back up to GitHub or you will probably get a build warning email.
|
137
137
|
|
138
|
-
## I hope
|
138
|
+
## I hope you're not feeling overwhelmed
|
139
139
|
|
140
140
|
It may seem like there is a lot to do to get started, but really it shouldn't take very long to get a site up and running. All the options are there just in case you want to further customise the theme to be more personal to you, but you can just use the basic minimal settings to get yourself up and running.
|
141
141
|
|
142
142
|
## Feedback and Issues
|
143
143
|
|
144
|
-
If you have any feedback, ideas or issues with how the theme could be improved, then please create an issue on the theme's GitHub page and I will try and take a look into it as soon as I can. The theme is still quite new and I have quite a few ideas for future enhancements, so I will write a new blog post on this site when any new features become available.
|
144
|
+
If you have any feedback, ideas or issues with how the theme could be improved, then please create an issue on the theme's GitHub page and I will try and take a look into it as soon as I can. The theme is still quite new and I have quite a few ideas for future enhancements, so I will write a new blog post on this site when any new features become available.
|
@@ -0,0 +1,96 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: Creating a docs site with Bulma Clean Theme
|
4
|
+
description: How to create a docs site for your project with Bulma Clean Theme
|
5
|
+
date: 2020-05-08 09:00:07
|
6
|
+
hero_image: https://www.csrhymes.com/img/example-docs-page.jpg
|
7
|
+
hero_height: is-large
|
8
|
+
hero_darken: true
|
9
|
+
image: https://www.csrhymes.com/img/example-docs-page.jpg
|
10
|
+
tags: bulma-clean-theme jekyll docs
|
11
|
+
canonical_url: https://www.csrhymes.com/2020/05/08/creating-a-docs-site-with-bulma-clean-theme.html
|
12
|
+
---
|
13
|
+
|
14
|
+
I created Bulma Clean Theme as a theme for my own website and decided to open source it so others could use it as well. One of the key things I wanted to do was to create a theme that worked with GitHub Pages, which also means that you can also use it as a docs site for your project.
|
15
|
+
|
16
|
+
## GitHub Pages Configuration
|
17
|
+
|
18
|
+
GitHub pages allows you to create a website for your project with free hosting. Go to your repo on GitHub, then click Settings, then scroll down to the GitHub Pages section. You have the option to create a site from the root of your master branch of from the /docs directory in your master branch. For this example, we are going to use the /docs directory.
|
19
|
+
|
20
|
+
Don't change this setting just yet as if you don't have a docs directory there will be nothing there to publish.
|
21
|
+
|
22
|
+
## Creating the docs directory
|
23
|
+
|
24
|
+
Clone your git repo to a local directory, let's say `~/code/my-project` for this example. The below assumes you don't yet have a docs directory and you have [jekyll installed](https://jekyllrb.com/docs/installation/). If you do already have a docs directory you will have to rename it to something else.
|
25
|
+
|
26
|
+
Create a new jekyll installation in the docs directory, ensuring you replace your username and project name in the below example.
|
27
|
+
|
28
|
+
```bash
|
29
|
+
git clone https://github.com/username/my-project.git ~/code/my-project
|
30
|
+
cd ~/code/my-project
|
31
|
+
jekyll new docs
|
32
|
+
```
|
33
|
+
|
34
|
+
You should now have a base install of Jekyll in your freshly created docs directory.
|
35
|
+
|
36
|
+
## Configuring the theme
|
37
|
+
|
38
|
+
1. Replace everything in the Gemfile with the following
|
39
|
+
```
|
40
|
+
source 'https://rubygems.org'
|
41
|
+
gem "bulma-clean-theme", '0.7.2'
|
42
|
+
gem 'github-pages', group: :jekyll_plugins
|
43
|
+
```
|
44
|
+
|
45
|
+
2. Open the `_config.yml` and comment out or delete the line `theme: minima` and replace it with `remote_theme: chrisrhymes/bulma-clean-theme`, then add `github-pages` to the list of plugins. Update the baseurl to your GitHub repo name, in this example we are using `my-project` as the repo name
|
46
|
+
```yaml
|
47
|
+
#theme: minima
|
48
|
+
remote_theme: chrisrhymes/bulma-clean-theme
|
49
|
+
baseurl: "/my-project"
|
50
|
+
plugins:
|
51
|
+
- github-pages
|
52
|
+
```
|
53
|
+
|
54
|
+
3. Open the `index.md` file and update the front matter so the layout is page and then add a title
|
55
|
+
```yaml
|
56
|
+
layout: page
|
57
|
+
title: Docs for My Project
|
58
|
+
```
|
59
|
+
|
60
|
+
4. Run `bundle install` and then `bundle exec jekyll serve`
|
61
|
+
|
62
|
+
5. Visit `http://localhost:4000/my-project/` to view your new docs page.
|
63
|
+
|
64
|
+
## Menu
|
65
|
+
|
66
|
+
To create a menu on the left on your docs page you need to create a new yaml file in _data directory, such as `menu.yaml` and then use the below format, where the label will be the menu title and the items are the menu items. Each menu item can have a list of sub menu items if needed.
|
67
|
+
|
68
|
+
```yaml
|
69
|
+
- label: Example Menu
|
70
|
+
items:
|
71
|
+
- name: Menu item
|
72
|
+
link: /link/
|
73
|
+
items:
|
74
|
+
- name: Sub menu item
|
75
|
+
link: /sub-menu-item/
|
76
|
+
```
|
77
|
+
|
78
|
+
## Table of contents
|
79
|
+
|
80
|
+
If you would like auto generated table of contents for your docs page then add `toc: true` to the page's front matter. The table of contents works for markdown pages and loops through the heading 2s and heading 3s in the markdown and then auto generates the contents.
|
81
|
+
|
82
|
+
## GitHub Sponsors
|
83
|
+
|
84
|
+
If you want to link to your GitHub sponsors profile then add `gh_sponsor` with your username to the `_config.yml` file.
|
85
|
+
|
86
|
+
```
|
87
|
+
gh_sponsor: chrisrhymes
|
88
|
+
```
|
89
|
+
|
90
|
+
## Making the docs page live
|
91
|
+
|
92
|
+
Once you have finished creating your docs page you can commit your changes and push everything up to GitHub. Go back to the GitHub settings page and scroll back down to the GitHub Pages section. Now we can update the setting to use the Master branch /docs folder and then GitHub will build your new docs page.
|
93
|
+
|
94
|
+
## Want to see an example?
|
95
|
+
|
96
|
+
I recently updated one of my own packages to use Bulma Clean Theme to power the docs page. Check out the docs for [Bulma Block List](https://www.csrhymes.com/bulma-block-list) as an example.
|