Gitlab is now using https://gitlab.lcsb.uni.lu as it's primary address. Please update your bookmarks. FAQ.

Commit 1fd3bad2 authored by Jacek Lebioda's avatar Jacek Lebioda
Browse files

chore: major cleanup of readme and guides

parent bd9b6028
# In case something goes horribly wrong, you can fall back to `image: ruby:latest`
image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb:1.6
image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb:1.8
stages:
- test
......
The MIT License (MIT)
Copyright (c) 2018 Trefex
Copyright (c) 2018 LCSB, University of Luxembourg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
......
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
url: "http://localhost"
baseurl: "/"
title: LCSB Jekyll default theme
email: lcsb-sysadmins@uni.lu
description: >- # this means to ignore newlines until "baseurl:"
This is a default LCSB Jekyll template.
banner: default # When you have custom images, change this setting's value to the name of the folder containing them
# Refer to assets/banners/default or assets/banners/frozen
logo: small # Change to "big" (without quotas) in case of having broad logo
new_menu: false
description: >- # this means to ignore newlines until "baseurl:"
This is a default LCSB Jekyll template.
baseurl: "/jekyll-theme-lcsb-default" # the subpath of your site, e.g. /blog
url: "http://localhost" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: uni_lu
facebook_username: uni.lu
linkedin_schoolname: university-of-luxembourg
......@@ -83,6 +74,21 @@ kramdown:
show_warnings: true
# parse_block_html: true
defaults:
-
scope:
path: "*.md"
values:
layout: default
show_print_button: true
-
scope:
path: "index.md"
values:
title: index
order: 1
# GDPR banner settings
banner_title: >-
This website needs some cookies and similar means to function.
......
---
layout: frozen
title: development
order: 5
---
# Note
This notes are intended for developers of the theme, and **not the developers of the website that use the theme**!
## Installation
Add this line to your Jekyll site's `Gemfile`:
```ruby
gem "jekyll-theme-lcsb-default"
```
And add this line to your Jekyll site's `_config.yml`:
```yaml
theme: jekyll-theme-lcsb-default
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install jekyll-theme-lcsb-default
## Plugins
Plugins that are placed in `_plugins` directory **are not published automatically!**. In order to add a new one, add it to [https://git-r3lab.uni.lu/-/ide/project/core-services/jekyll-theme-lcsb-frozen-components](https://git-r3lab.uni.lu/-/ide/project/core-services/jekyll-theme-lcsb-frozen-components).
## 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:
```markdown
---
layout: default
title: index
order: 1
title: development
order: 3
---
```
* Warning! In case of pages that should be available in the menu, `permalink` item (described below) **IS MANDATORY**.
* 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 to `https://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:
```yaml
layout: external
redirect_to: https://www.google.com
title: Title in menu
order: 4
```
## Please note
> This instructions are intended for developers of the theme, and **not the developers of the website that use the theme**!
### 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`.
# Plugins
Plugins which are placed in `_plugins` directory **are not published automatically with the theme!**.
### 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.
In order to publish a new one, add it to [https://git-r3lab.uni.lu/-/ide/project/core-services/jekyll-theme-lcsb-frozen-components](https://git-r3lab.uni.lu/-/ide/project/core-services/jekyll-theme-lcsb-frozen-components).
There are two sections in `_config.yml`, that refer to pagination: first, ` - jekyll-paginate-v2` line in plugins section, and then the configuration dictionary:
# Banners
The templates for banners are available in our OwnCloud: <https://owncloud.lcsb.uni.lu/apps/files/?dir=/BioCore/logos/R3/git-r3lab/Gitlab-pages&fileid=9451143>
```yaml
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 >`
```
# Development
To set up your environment to develop this theme, run `bundle install`.
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](https://github.com/sverrirs/jekyll-paginate-v2/blob/master/README-GENERATOR.md) for more detailed instructions.
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.
### Analytics
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.
To enable the LCSB Anaytics Platform, add the following lines to your Jekyll site:
# Automatic gem publishing
Gitlab CI has two special triggers when it comes to publishing:
* if you change the contents of `lib/jekyll-theme-lcsb-default.rb` file, it will be automatically tagged
* whenever the commit is tagged, Gitlab CI automatically builds and publishes a new version of theme to Rubygems
```yaml
banner_text: >-
This website needs some cookies and similar means to function.<br>
If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service.
banner_accept_text: >-
Accept cookies for aggregated statistics
banner_refuse_text: >-
No thanks, only technically necessary cookies
banner_more_text: >-
More information
cookies_expire: 180 # days
analyticsurl: https://analytics.lcsb.uni.lu/hub/
siteID: -1 # you get this siteID (>0) by sending an email to lcsb-r3@uni.lu
```
For details refer to [the documentation of ruby gems](https://guides.rubygems.org/make-your-own-gem/), and this repository's `.gitlab-ci.yml` and settings.
## Development
# "Hidden" features
To set up your environment to develop this theme, run `bundle install`.
## Share link in the footer (used by Howto-cards)
Set `shortcut` in the file header, and `share_url` in `_config.html`. Take a look in `_includes/footer.html` to see how the links are generated in the footer.
## "Print this page" button
Set `show_print_button: true` in the file header (or in the default settings in `_config.yml`).
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.
## Where to add additional scripts or stylesheets to the page?
There are two files that can be replaced in the website - `_includes/css-imports.html` and `_includes/scripts.html`.
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.
## Social media icons
Take a look in `_includes/social.html`.
## 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](https://guides.rubygems.org/make-your-own-gem/), and this repository's `.gitlab-ci.yml` and settings.
## Banner link
If you want to override the link on the banner (by default it points to your index page), use the following in `_config.yml`:
`banner_link: https://wwwen.uni.lu/`
\ No newline at end of file
---
layout: frozen
title: frozen
order: 4
title: '"frozen" layout'
order: 3
---
# This is an example of a Frozen Page layout
# This is an example of a "Frozen Page" layout
{% rtitle Modeling Parkinson's disease in midbrain-like organoids %}
Please cite the article on [NPJ Parkinson's disease](https://doi.org/10.1038/s41531-019-0078-4).
......
---
layout: default
title: index
order: 1
---
# LCSB Jekyll Theme
# LCSB theme for [Jekyll](https://jekyllrb.com/)
This repository contains a template you should use when creating any Jekyll-based web page for your LCSB-related projects.
Welcome to our LCSB Jekyll theme! Jekyll is a *static webpages generator*, which turns markdown files into a website. Coupled with Gitlab-CI, it can generate and host the pages for you in a completely automatic way.
Jekyll is a *static webpages generator*, which converts markdown files to a website. Coupled with Gitlab-CI, it can generate and host the pages for you in a completely automatic way (based on your commits to Gitlab).
This repository contains a template, that you should use when creating any webpage for your LCSB-related projects. The layout has been already approved by our Communications Department, so that putting the website live will be fast and easy!
> The layout **has been already approved** by our Communications Department - you don't need to spend time on web design nor asking for additional approvals.
> Note, that unless you want to work directly on the theme, you should not use/clone this repository (`jekyll-theme-lcsb-default`) but use `pages-jekyll-lcsb-template` instead.
# 1. How to use it?
# How to use?
To start a new page for your repository, you should fork [this project](https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template) and modify its contents directly.
The webpage will be published automatically under uni.lu network.
## How to start a new Jekyll page using our theme?...
The easiest way to start a new Jekyll page is to fork [this repository (containing an empty example page)](https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template).
For more information, refer to [https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template/blob/master/index.md](https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template/blob/master/index.md).
The webpage will be published automatically under uni.lu network once you fork the repository - you don't need to open any tickets.
> Make sure that you have Ruby in at least 2.4 version.
After you have forked the repository, you should fill it with your content (either using Gitlab IDE, or cloning the repository and using your favourite Markdown editor) and push the changes using Git.
For more detailed information on all the steps and a guide, please refer to [https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template/blob/master/index.md](https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template/blob/master/index.md).
## ... or how to use the LCSB theme in your existing Jekyll page?
1. Put the following lines in your project's Gemfile:
```
gem 'jekyll-theme-lcsb-default', '~> 0.4.7'
gem 'jekyll-theme-lcsb-frozen-components',
'~> 0.0.2',
:git => "https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-frozen-components.git",
:tag => "0.0.2"
```
2. Specify the theme in your project's `_config.yml` file:
```
theme: jekyll-theme-lcsb-default
plugins:
- jekyll-theme-lcsb-frozen-components
```
3. Run `bundle install` to fetch the theme
> Please note, that unless you want to work directly on the theme, you should not use/clone this repository (`jekyll-theme-lcsb-default`) but use `pages-jekyll-lcsb-template` instead.
# 2. Theme development
Please check a separate guide about developing and maintaining the theme, which is available under: [https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/blob/master/development.md](https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/blob/master/development.md).
## Branches
* **latest** contains latest version
* **master** contains old, legacy version - it might be used by some old projects
## Contributing
Bug reports and pull requests are welcome on Gitlab at [https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/issues](https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/issues).
[Please click here to open a new issue](https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/-/issues/new?issue).
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
# Development
Please see [https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/blob/master/development.md](https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default/blob/master/development.md).
## Contributors
The people actively engaged in the development are:
* Jacek Lebioda ([jacek.lebioda@uni.lu](mailto:jacek.lebioda@uni.lu))
* Laurent Heirendt
* Yohan Jarosz
# Contact
In case you need any information or help, don't hesitate to contact [LCSB Sysadmins Team (lcsb-sysadmins@uni.lu)](mailto:lcsb-sysadmins@uni.lu).
We've accepted contributions from:
* Christophe Trefois
* Elisabeth Guerard
* Mirek Kratochvil
# License
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
# 3. Contact
In case you need any information or help, please don't hesitate to contact [LCSB Sysadmins Team (lcsb-sysadmins@uni.lu)](mailto:lcsb-sysadmins@uni.lu) or the active developers.
# 4. License
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
\ No newline at end of file
......@@ -5,3 +5,148 @@ permalink: privacy-policy
---
# Privacy Policy
{:.no_toc}
<br/>
* TOC
{:toc}
<br/>
<a name="PRF"></a>
# 1. Preface
This is the privacy policy for the [LCSB Theme](https://core-services.pages.uni.lu/jekyll-theme-lcsb-default) that is hosted by the University of Luxembourg’s Luxembourg Centre for Systems Biomedicine (UL-LCSB) the **data controller** here on referred to as "we", "us", "our".
In this policy we outline what **personal data** ("data") we collect when **data subjects** ("you", "your") visit our sites and use our services, for what purposes this data is collected, where and how long it is kept and your rights regarding data as per the EU General Data Protection Regulation ("GDPR"). We also list relevant contact persons regarding requests and inquiries on data and data protection.
The policy document is organised as follows. In [Section 2](#SEC2) we provide contact details for the data controller. In [Section 3](#SEC3) we list your rights regarding the personal data collected. In [Section 4](#SEC4) we summarise the measures taken to protect personal data. In [Section 5](#SEC5) we list the personal data commonly collected on our website. We outline where the data is stored, for what purposes the data is used and the lawful basis for us to process the data. In [Section 5](#SEC5) you will also find our sites' cookie policy.
<a name="SEC2"></a>
# 2. Who is the data controller?
The data controller is the University of Luxembourg.
_University of Luxembourg,_ <br/>
_2, avenue de l'Université,_ <br/>
_L-4365 Esch-sur-Alzette._<br/>
University of Luxembourg’s Data Protection Officer’s contact information is given below.
This contact should be used to exercise of your rights regarding personal data and also for general inquiries on data protection.
_Dr Sandrine Munoz,_ <br/>
_[dpo (AT) uni (dot) lu](mailto:dpo@uni.lu)_ <br/>
_University of Luxembourg,_ <br/>
_Legal Affairs, Central Administration,_ <br/>
_Maison du Savoir,_ <br/>
_L-4365 Esch-sur-Alzette._ <br/>
<a name="SEC3"></a>
# 3. What are your rights regarding the data we collect?
As per GDPR, you as a “data subject” have rights on your personal data. <br/> <br/>
You have the right to be informed that UL-LCSB is processing your personal information.<br/><br/>
You have the right to access your personal information and in case it is inaccurate or incomplete you have the right to have it rectified without undue delay.<br/><br/>
You have the right to ask that we delete your personal data or restrict its use. Where applicable, you have the right to object to our processing of your personal data, and the right to data portability. Your requests for deletion and processing restriction will be assessed by us and we will notify you of the result of this assessment within one month of receipt of the request. This period may be extended by two further months where necessary, taking into account the complexity and the number of applications (in accordance with article 12.3 GDPR).<br/><br/>
You can request that we notify you in case any changes are made to your personal data or your data has been sent to any other party.<br/><br/>
You have the right to lodge a complaint with the Luxembourgish data protection supervisory authority, CNPD, in case you consider that our processing of your personal data infringes the GDPR.<br/><br/>
In order to exercise any of the above rights, you shall contact the University of Luxembourg’s Data Protection Officer in writing. The procedure for this is described in detail [here](https://wwwen.uni.lu/university/data_protection/your_rights).<br/><br/>
<a name="SEC4"></a>
# 4. How do we protect your data?
The UL-LCSB has put in place a number of organisational and technical measures for the protection of your personal data in compliance with the EU GDPR. These measures include but are not limited to access control, encrypted data transmission, institutional policies, staff code of conduct and training on data protection.
UL-LCSB takes all measures reasonably necessary to protect against unauthorized access, use, alterations or destruction of your personal data. Only authorized personnel at the UL-LCSB and its host institution can access the data. Examples of such personnel include, but is not limited to, UL and UL-LCSB IT system administrators.
The types of personal data collected on our sites, its storage, use and sharing is described in the following sections. Please note that:
- No personal data collected on LCSB How-to Cards website are used for direct marketing purposes.
- The data collected on the platform will not be forwarded to 3rd parties.
<a name="SEC5"></a>
# 5. Which personal data is collected?
## 5.1 Site visitor information and site analytics
**Data and its purpose of use**
When you visit the [LCSB Theme](https://core-services.pages.uni.lu/jekyll-theme-lcsb-default), we collect the following information:
- your IP address,
- your device type, name and ID,
- your browser version,
- your operating system and language settings,
- date and time of web resource access request,
- content of access request,
- status and size of response to a request,
This information is automatically collected by server-side software that deliver pages to site visitors.
We use this data to analyse site usage, which in turn allows us to further optimize and secure our site.
The data will be used for statistical purposes only.
In addition, only if you agree to the use of site analytics, we will collect the following information during your visit of our site:
- visitor id, which is a unique string calculated based on your IP address (two bytes masked), operating system, browser, browser plugins, and browser language,
- the URLs, and titles of pages you visit on our site as well as custom events on our pages (such as links clicked),
- referrer page, which is the web page such as a search engine or newsletter link, that leads your visit to our site.
Site analytics information allows us to optimise our site content and its delivery. We use this information to determine whether you have visited our website before, what you have previously viewed or clicked on, how user-friendly our forms are and how you found us. The information is anonymous and only used for statistical purposes, and it helps us to analyse patterns of user activity and to develop a better user experience. We also use this information to prepare aggregated, anonymous statistical reports of visitor activity needed for performance evaluation.
**Legal basis**
The site visitor and site analytics information are necessary for us in order to deliver the website to you as well as to guarantee the website’s stability and security; therefore it is in our legitimate interest (GDPR Article 6(1)(f)) to collect and use site visitor information.
**Storage location and duration**
We store site visitor and site analytics data on servers located in Luxembourg, specifically at the University of Luxembourg’s data centre, for a maximum period of 12 months. Visitor logs are deleted after this period, aggregated statistics on site visits are stored for an indefinite period.
**Transfers**
Site visitor and site analytics information collected by our server-side software is not transferred to any other country.
## 5.2 Site cookies
**Data and its purpose of use**
[LCSB Theme](https://core-services.pages.uni.lu/jekyll-theme-lcsb-default) makes use of cookies. Cookies are bits of information that are created and maintained by your web browser when you visit a website. Cookies are categorized as first-party and third-party. First-party cookies are placed by the website you visit and will not track your activity once you leave that website. Third-party cookies are often set by another site not the one you’re visiting, e.g. advertisements, social media widgets, and they may continue to track your activity across sites. Our site is designed to use the cookies listed below:
- Cookie preference <br/> When you visit our sites for the first time you will be notified of our cookie policy. You will have the option to proceed only with technically necessary cookies (i.e. optimisation, security and authentication) or (additionally) allow site analytics cookies. We will keep your preference in a cookie named “lap”. Your cookie preferences will be displayed at the bottom of pages, and you will have the option to
change your cookie settings at any time.
- Optimization and security cookies<br/> Our sites are fronted by load balancers and firewalls managed by the University of Luxembourg. As a result, additional cookies named "LBServer" and "TS*" will be placed in your browser.
Optimization and security, authentication cookies are first-party and there is no personal information stored in them.
In addition, our websites make use of the following optional cookies:
- Analytics cookies (Optional)<br/> If you allow the use of site analytics, our site will place the following first-party analytics cookies: "_pk_id*" ,"_pk_ses*", "_pk_cvar", "_pk_hsr" and "_pk_ref".
- "_pk_id*" holds your unique visitor ID.
- "_pk_ref" holds the referrer page information, where applicable.
- "_pk_ses*", "_pk_cvar" and "_pk_hsr" are short-lived cookies used to temporarily store data for a particular visit of you to our site.
**Storage location and duration**
Normally cookies are stored on your computer until the end of their expiry period summarized below. You may also choose to clear your browser cookies manually.
| Cookie category | Cookie name| Expiry period |
|--------------------|--------------------|--------------------|
| Cookie preference | lap| 6 months|
| Cookie preference | MATOMO_SESSID | Temporarily created when user opts out of analytics |
| Optimisation & Security | LBServer | End of browsing session |
| Optimisation & Security | TS* | End of browsing session |
| Analytics (optional) | _pk_id* | 1 year |
| Analytics (optional) | _pk_ref | 6 months |
| Analytics (optional) | _pk_ses*, _pk_cvar, _pk_hsr| End of browsing session |
**Legal basis**
The use of cookies is in our legitimate interest (GDPR Article 6(1)(f)), as cookies enable us to deliver our websites to you in a stable and secure manner.
**Transfers**
Essential cookies i.e. the Optimisation & Security cookies listed above are required for our websites to function. These cookies are stored on your computer, and information in them is transferred to servers in Luxembourg, when cookie information is used by our site servers.
~~~
Last updated: 12 June 2020
---
layout: default
title: about
order: 3
show_print_button: true
title: Test of index-boxes
order: -1
---
# LCSB jekyll about page
......
---
layout: default
title: usage
order: 2
---
## Please note
> **A more comprehensive guide** is located at [https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template/blob/master/index.md](https://git-r3lab.uni.lu/core-services/pages-jekyll-lcsb-template/blob/master/index.md).
## Installation
1. Put the following lines in your project's Gemfile:
```
gem 'jekyll-theme-lcsb-default', '~> 0.4.7'
gem 'jekyll-theme-lcsb-frozen-components',
'~> 0.0.2',
:git => "https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-frozen-components.git",
:tag => "0.0.2"
```
2. Specify the theme in your project's `_config.yml` file:
```
theme: jekyll-theme-lcsb-default
plugins:
- jekyll-theme-lcsb-frozen-components
```
3. Run `bundle install` to fetch the theme
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, commit and push the file to the repository. Every time you commit and push to the repository, the new page will be rebuilt and served by Gitlab CI.
### 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:
```markdown
---
layout: default
title: index
order: 1
---
```
* Warning! In case of pages that should be available in the menu, `order` must be a positive number.
* 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 to `https://your-webpage-address.com/something`.
Don't forget to save and commit the file.
### 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:
```yaml
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`.
The templates for banners are available in our OwnCloud: <https://owncloud.lcsb.uni.lu/apps/files/?dir=/BioCore/logos/R3/git-r3lab/Gitlab-pages&fileid=9451143>
### Analytics
To enable the LCSB Anaytics Platform, add the following lines to your Jekyll site:
```yaml
banner_text: >-
This website needs some cookies and similar means to function.<br>
If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service.
banner_accept_text: >-
Accept cookies for aggregated statistics
banner_refuse_text: >-
No thanks, only technically necessary cookies
banner_more_text: >-
More information
cookies_expire: 180 # days
analyticsurl: https://analytics.lcsb.uni.lu/hub/
siteID: -1 # you get this siteID (>0) by sending an email to lcsb-r3@uni.lu
```
### Enabling and configuring post 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:
```yaml
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.