jekyll-theme-lcsb-default
Welcome to our LCSB Jekyll theme!
To experiment with this code, add some sample content and run bundle exec jekyll serve
– this directory is setup just like a Jekyll site!
This theme is based upon https://github.com/jekyll/minima.
Installation
Add this line to your Jekyll site's Gemfile
:
gem "jekyll-theme-lcsb-default"
And add this line to your Jekyll site's _config.yml
:
theme: jekyll-theme-lcsb-default
And then execute:
$ bundle
Or install it yourself as:
$ gem install jekyll-theme-lcsb-default
Usage
How to configure your website
Open the _config.yml
file.
Update:
- baseurl entry with the name of your repository,
- title entry with your website's title,
- email entry with your email,
- new_menu to true, if you want to have menu items fully underlined (feel free to check how the site looks with the both options),
- date entry to the year you want to appear in the footer,
- (optional) banner to the name of the folder containing banner images (more later in this readme file)
- (optional) logo to "small" or "big", depending on how wide your banner images are
Save, and commit the file. Every time you commit and push to the repository, the new page will be rebuilt and served.
How to add new pages to the website?
Create a new .md
file inside the project's directory.
For example, you can copy index.md
file (and you can refer to its contents as to a valid page).
It should contain the following header:
---
layout: default
title: index
order: 1
---
- Leave layout as
default
. - The title attribute (here -
index
) is displayed in the menu, thus rename it to your needs. - Order attribute (here -
1
) decides about the order in the menu - lower numbers come first. - In addition, you can add
permalink
attribute, which will cause the page to be accessible by the given permalink. For example :permalink: /something/
refers tohttps://your-webpage-address.com/something
.
Don't forget to save and commit the file.
Having links to external sites in the menu
There is a special layout type, called external
. For example, to have a link redirecting you to google.com website, you can create a post with the following contents:
layout: external
redirect_to: https://www.google.com
title: Title in menu
order: 4
Customise images in the header
Create a folder in assets/banners
directory, with banner.svg
, logos.svg
and motto.svg
files (for reference, consult assets/banners/frozen
directory. Do not exceed image dimensions). Update _config.yml
file with the name of directory you created for the images.
In case logos.svg
file is wide, change logo: small
to logo: big
in _config.yml
.
Enabling and configuring pagination
The template includes jekyll-paginate-v2
plugin by default, but it's turned off.
To use it, configure the pagination following instructions from the next paragraph, go to pagination.md
file and change enabled: false
to enabled: true
, and published: false
to published: true
. Later, create a directory called _posts
in the project root directory and fill it with posts.
You may also need to disable showing index.md
, by setting published: false
in its contents.
There are two sections in _config.yml
, that refer to pagination: first, - jekyll-paginate-v2
line in plugins section, and then the configuration dictionary:
pagination:
enabled: true # Note, that setting it to disabled does not disable it completely, as it has to be also set to false in `pagination.md` file
title: ':title - page :num of :max' # Customize the text
per_page: 8 # How many posts should be displayed on one page
permalink: '/page/:num/' # The URL to the index of pagination
limit: 0
sort_field: 'date' # How the posts should be sorted. can also be: `title` or any page attribute
sort_reverse: true
trail: # How many pages should be shown in paginator.
before: 2 # Show 2 before the current one, e.g. `< 5 6 CURRENT ...`
after: 2 # Show 2 after the current one, e.g. `... CURRENT 6 7 >`
To disable it completely, set enabled
to false
, remove the aforementioned sections from the configuration, and gem "jekyll-paginate-v2", "~> 1.7"
from Gemfile
(from the project's root), and remove pagination.md
file from project's root directory.
Refer to its documentation for more detailed instructions.
Enabling Google Analytics
To enable Google Anaytics, add the following lines to your Jekyll site:
google_analytics: UA-NNNNNNNN-N
Contributing
Bug reports and pull requests are welcome on Gitlab at https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/issues. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Development
To set up your environment to develop this theme, run bundle install
.
Your theme is setup just like a normal Jekyll site! To test your theme, run bundle exec jekyll serve
and open your browser at http://localhost:4000
. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
When your theme is released, only the files in _layouts
, _includes
, _sass
and assets
tracked with Git will be bundled.
To add a custom directory to your theme-gem, please edit the regexp in jekyll-theme-lcsb-default.gemspec
accordingly.
Automatic gem publishing
Gitlab CI is configured to automatically build and publish a new version of theme, whenever the commit is tagged.
For details refer to the documentation of ruby gems, and this repository's .gitlab-ci.yml
and settings.
Changelog
0.2.18
- Corrected placement of R3 logo in the footer on mobile
License
The theme is available as open source under the terms of the MIT License.