Commit 7fff1b1f authored by Laurent Heirendt's avatar Laurent Heirendt
Browse files

Merge branch 'develop' into 'master'

[release] Regular merge of develop

See merge request R3/howto-cards!215
parents 97047e34 c6634b83
Pipeline #35555 passed with stages
in 2 minutes and 14 seconds
...@@ -197,12 +197,13 @@ for s in sections: ...@@ -197,12 +197,13 @@ for s in sections:
index += "\n</div>" index += "\n</div>"
## add link to return to main index ## add link to return to main index
index += "<br><center><a href='/'>Overview of all HowTo cards</a></center>" index += "<br><center><a href='/'>go back</a></center>"
index += "<br><center><a href='/cards'>Overview of all HowTo cards</a></center>"
# output the index # output the index
#print(index) #print(index)
# Read in the file # Read in the file
indexFile = "index.md" indexFile = "cards.md"
filedata = "" filedata = ""
with open(indexFile, 'r') as file : with open(indexFile, 'r') as file :
for line in file: for line in file:
......
...@@ -22,7 +22,7 @@ prepare:index: ...@@ -22,7 +22,7 @@ prepare:index:
script: script:
- python .ci/generateIndex.py - python .ci/generateIndex.py
- mkdir .tmp - mkdir .tmp
- cp index.md .tmp/. - cp cards.md .tmp/.
artifacts: artifacts:
expire_in: 1 day expire_in: 1 day
paths: paths:
...@@ -47,7 +47,7 @@ save:commitIndex: ...@@ -47,7 +47,7 @@ save:commitIndex:
- git config user.email $GIT_ACCESS_EMAIL - git config user.email $GIT_ACCESS_EMAIL
script: script:
# copy the index and remove the temporary directory # copy the index and remove the temporary directory
- cp .tmp/index.md . - cp .tmp/cards.md .
- rm -rf .tmp - rm -rf .tmp
# commit # commit
......
...@@ -16,7 +16,7 @@ window.pinned_cards = [ ...@@ -16,7 +16,7 @@ window.pinned_cards = [
let create_card = function(icon, title, caption, link) { let create_card = function(icon, title, caption, link) {
let new_div = document.createElement('div'); let new_div = document.createElement('div');
new_div.innerHTML = ` new_div.innerHTML = `
<a class="card-link card-dynamic" href="${link}"> <a class="card-link card-dynamic" ondragstart="window.cardDragStart(event)" ondragend="window.cardDragEnd(event)" href="${link}">
<div class="card" draggable="True" ondragstart="window.cardDragStart(event)" ondragend="window.cardDragEnd(event)" data-icon='${icon}' data-title='${title}' data-caption='${caption}' data-link="${link}"> <div class="card" draggable="True" ondragstart="window.cardDragStart(event)" ondragend="window.cardDragEnd(event)" data-icon='${icon}' data-title='${title}' data-caption='${caption}' data-link="${link}">
<div class="card-header"> <div class="card-header">
<div class="card-icon">${icon}</div> <div class="card-icon">${icon}</div>
...@@ -33,8 +33,8 @@ let create_card = function(icon, title, caption, link) { ...@@ -33,8 +33,8 @@ let create_card = function(icon, title, caption, link) {
let create_pinned_card = function(icon, title, caption, link) { let create_pinned_card = function(icon, title, caption, link) {
let new_div = document.createElement('div'); let new_div = document.createElement('div');
new_div.innerHTML = ` new_div.innerHTML = `
<a class="card-link card-dynamic-pinned" href="${link}"> <a class="card-link card-dynamic-pinned" ondragstart="window.pinnedCardDragStart(event)" ondragend="window.pinnedCardDragEnd(event)" href="${link}">
<div class="card-pinned" draggable="True" ondragstart="window.pinnedCardDragStart(event)" ondragend="window.pinnedCardDragEnd(event)" data-icon='${icon}' data-title='${title}' data-caption='${caption}' data-link="${link}"> <div class="card-pinned" draggable="True" draggable="false" ondragstart="window.pinnedCardDragStart(event)" ondragend="window.pinnedCardDragEnd(event)" data-icon='${icon}' data-title='${title}' data-caption='${caption}' data-link="${link}">
<div class="card-header"> <div class="card-header">
<div class="card-icon">${icon}</div> <div class="card-icon">${icon}</div>
</div> </div>
...@@ -77,17 +77,21 @@ let remove_from_list = function(the_list, the_object, key) { ...@@ -77,17 +77,21 @@ let remove_from_list = function(the_list, the_object, key) {
} }
// ============= DRAG&DROP functions ======================================== // ============= DRAG&DROP functions ========================================
window.cardDragStart = function(event) { window.cardDragStart = function(event) {
var target = event.target;
if (target.nodeName == 'A') {
target = target.firstElementChild;
}
// First, attach classes for animations // First, attach classes for animations
event.target.classList.add('card-dragged'); target.classList.add('card-dragged');
event.target.children[0].classList.add('card-dragged'); target.children[1].classList.add('card-dragged');
event.target.children[1].classList.add('card-dragged'); target.children[0].classList.add('card-dragged');
$right_inner_container.classList.add('droppable'); $right_inner_container.classList.add('droppable');
// Attach data about the card to drag&drop event // Attach data about the card to drag&drop event
let card = { let card = {
"title": event.target.dataset['title'], "title": target.dataset['title'],
"icon": event.target.dataset['icon'], "icon": target.dataset['icon'],
"caption": event.target.dataset['caption'], "caption": target.dataset['caption'],
"link": event.target.dataset['link'], "link": target.dataset['link'],
"type": "big" "type": "big"
} }
event.dataTransfer.setData("card", JSON.stringify(card)); event.dataTransfer.setData("card", JSON.stringify(card));
...@@ -96,20 +100,28 @@ window.cardDragStart = function(event) { ...@@ -96,20 +100,28 @@ window.cardDragStart = function(event) {
return true; return true;
} }
window.cardDragEnd = function(event) { window.cardDragEnd = function(event) {
event.target.classList.remove('card-dragged'); var target = event.target;
event.target.children[0].classList.remove('card-dragged'); if (target.nodeName == 'A') {
event.target.children[1].classList.remove('card-dragged'); target = target.firstElementChild;
}
target.classList.remove('card-dragged');
target.children[1].classList.remove('card-dragged');
target.children[0].classList.remove('card-dragged');
$right_inner_container.classList.remove('droppable'); $right_inner_container.classList.remove('droppable');
return true; return true;
} }
window.pinnedCardDragStart = function(event) { window.pinnedCardDragStart = function(event) {
var target = event.target;
if (target.nodeName == 'A') {
target = target.firstElementChild;
}
$left_inner_container.classList.add('droppable'); $left_inner_container.classList.add('droppable');
// Attach data about the card to drag&drop event // Attach data about the card to drag&drop event
let card = { let card = {
"title": event.target.dataset['title'], "title": target.dataset['title'],
"icon": event.target.dataset['icon'], "icon": target.dataset['icon'],
"caption": event.target.dataset['caption'], "caption": target.dataset['caption'],
"link": event.target.dataset['link'], "link": target.dataset['link'],
"type": "small" "type": "small"
} }
event.dataTransfer.setData("card", JSON.stringify(card)); event.dataTransfer.setData("card", JSON.stringify(card));
......
---
layout: default
title: Cards
order: -1
---
{% include scripts.html %}
<style>
.noborderbox {
border :0;
}
</style>
<!-- index -->
<div class="index-box-container">
<div class="index-box noborderbox" id="access">
<h3>Access</h3>
<ul>
<li><a href="external/access/harrenhal-access">HARRENHAL access</a></li>
<li><a href="external/access/lums-passwords">LUMS account</a></li>
<li><a href="external/access/passwords">Managing your passwords</a></li>
<li><a href="external/access/vpn-cerbere-access">VPN/CERBERE connection</a></li>
</ul>
</div>
<div class="index-box noborderbox" id="contribute">
<h3>Contribute</h3>
<ul>
<li><a href="external/contribute/add-edit-card">How to add or edit a howto card</a></li>
<li><a href="external/contribute/git-clients">Git clients</a></li>
<li><a href="external/contribute/install-git">Installation of Git</a></li>
<li><a href="external/contribute/markdown">Markdown</a></li>
</ul>
</div>
<div class="index-box noborderbox" id="exchange-channels">
<h3>Exchange channels</h3>
<ul>
<li><a href="external/exchange-channels/asperaweb">AsperaWEB Quick Guide</a></li>
<li><a href="external/exchange-channels/calendar">Sharing calendar in Microsoft Exchange</a></li>
<li><a href="external/exchange-channels/owncloud">Owncloud</a></li>
</ul>
</div>
<div class="index-box noborderbox" id="general">
<h3>General</h3>
<ul>
<li><a href="external/general/attend-webex">Attend the LCSB Team Meeting online (webex)</a></li>
<li><a href="external/general/remote-working">Work remotely</a></li>
</ul>
</div>
<div class="index-box noborderbox" id="integrity">
<h3>Integrity</h3>
<ul>
<li><a href="external/integrity/checksum">Ensuring Integrity of Data Files with Checksums</a></li>
<li><a href="external/integrity/encryption/disk">Encrypting the Startup Disk for Your Laptop/Desktop</a></li>
<li><a href="external/integrity/encryption/file">Encrypting Files and Folders</a></li>
<li><a href="external/integrity/naming">Naming files</a></li>
<li><a href="external/integrity/organization">Organization</a></li>
</ul>
</div>
</div><br><center><a href='/'>go back</a></center><br><center><a href='/cards'>Overview of all HowTo cards</a></center>
\ No newline at end of file
--- ---
layout: default layout: landing
title: Home title: Home
order: 1 order: 1
--- ---
{% include scripts.html %} {% comment %}
The Bioinformatics Core and Lab Support teams assist researchers from the Luxembourg Centre for Systems Biomedicine ([LCSB](https://www.uni.lu/lcsb)) with the organization, management, and curation of research data through its R3 initiative.
<style> The How-to cards are intended to provide practical guidance in implementing Data Management, Data Protection, IT setup, lab support, and others.
.noborderbox { {% endcomment %}
border :0;
} <script>
</style> window.cards = [
{
<!-- index --> "title": "General",
"caption": "I need information on LCSB operations",
<div class="index-box-container"> "icon": "<i class=\"large material-icons\">sticky_note_2</i>",
"link": "/cards#general"
<div class="index-box noborderbox" id="access"> },
<h3>Access</h3> {
<ul> "title": "Access",
<li><a href="external/access/harrenhal-access">HARRENHAL access</a></li> "caption": "How can I get access to systems and infrastructure?",
<li><a href="external/access/lums-passwords">LUMS account</a></li> "icon": "<i class=\"large material-icons\">login</i>",
<li><a href="external/access/passwords">Managing your passwords</a></li> "link": "/cards#access"
<li><a href="external/access/vpn-cerbere-access">VPN/CERBERE connection</a></li> },
{
</ul> "title": "Contribute",
</div> "caption": "I want to share my knowledge and expertise. How?",
<div class="index-box noborderbox" id="contribute"> "icon": "<i class=\"large material-icons\">add_circle</i>",
<h3>Contribute</h3> "link": "/cards#contribute"
<ul> },
<li><a href="external/contribute/add-edit-card">How to add or edit a howto card</a></li> {
<li><a href="external/contribute/git-clients">Git clients</a></li> "title": "Exchange channels",
<li><a href="external/contribute/install-git">Installation of Git</a></li> "caption": "I am looking to share data or information",
<li><a href="external/contribute/markdown">Markdown</a></li> "icon": "<i class=\"large material-icons\">multiple_stop</i>",
"link": "/cards#exchange-channels"
</ul> },
</div> {
<div class="index-box noborderbox" id="exchange-channels"> "title": "Integrity",
<h3>Exchange channels</h3> "caption": "I want to ensure that my work and research is compliant and reusable",
<ul> "icon": "<i class=\"large material-icons\">vpn_key</i>",
<li><a href="external/exchange-channels/asperaweb">AsperaWEB Quick Guide</a></li> "link": "/cards#integrity"
<li><a href="external/exchange-channels/calendar">Sharing calendar in Microsoft Exchange</a></li> },
<li><a href="external/exchange-channels/owncloud">Owncloud</a></li> ];
</ul> document.addEventListener('DOMContentLoaded', function() {
</div> window.start_cards();
<div class="index-box noborderbox" id="general"> }, false);
<h3>General</h3>
<ul> </script>
<li><a href="external/general/attend-webex">Attend the LCSB Team Meeting online (webex)</a></li>
<li><a href="external/general/remote-working">Work remotely</a></li>
</ul>
</div>
<div class="index-box noborderbox" id="integrity">
<h3>Integrity</h3>
<ul>
<li><a href="external/integrity/checksum">Ensuring Integrity of Data Files with Checksums</a></li>
<li><a href="external/integrity/encryption/disk">Encrypting the Startup Disk for Your Laptop/Desktop</a></li>
<li><a href="external/integrity/encryption/file">Encrypting Files and Folders</a></li>
<li><a href="external/integrity/naming">Naming files</a></li>
<li><a href="external/integrity/organization">Organization</a></li>
</ul>
</div>
</div><br><center><a href='/'>Overview of all HowTo cards</a></center>
\ No newline at end of file
---
layout: landing
title: Home
order: -1
---
{% comment %}
The Bioinformatics Core and Lab Support teams assist researchers from the Luxembourg Centre for Systems Biomedicine ([LCSB](https://www.uni.lu/lcsb)) with the organization, management, and curation of research data through its R3 initiative.
The How-to cards are intended to provide practical guidance in implementing Data Management, Data Protection, IT setup, lab support, and others.
{% endcomment %}
<script>
window.cards = [
{
"title": "General",
"caption": "I need information on LCSB operations",
"icon": "<i class=\"large material-icons\">sticky_note_2</i>",
"link": "/#general"
},
{
"title": "Access",
"caption": "How can I get access to systems and infrastructure?",
"icon": "<i class=\"large material-icons\">login</i>",
"link": "/#access"
},
{
"title": "Contribute",
"caption": "I want to share my knowledge and expertise. How?",
"icon": "<i class=\"large material-icons\">add_circle</i>",
"link": "/#contribute"
},
{
"title": "Exchange channels",
"caption": "I am looking to share data or information",
"icon": "<i class=\"large material-icons\">multiple_stop</i>",
"link": "/#exchange-channels"
},
{
"title": "Integrity",
"caption": "I want to ensure that my work and research is compliant and reusable",
"icon": "<i class=\"large material-icons\">vpn_key</i>",
"link": "/#integrity"
},
];
document.addEventListener('DOMContentLoaded', function() {
window.start_cards();
}, false);
</script>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment