Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • R3/school/courses
  • vilem.ded/courses
  • todor.kondic/courses
  • noua.toukourou/courses
  • nene.barry/courses
  • laurent.heirendt/courses
  • marina.popleteeva/courses
  • jenny.tran/courses
8 results
Show changes
Commits on Source (383)
Showing
with 258 additions and 87 deletions
<div id="lap-cookies-banner" class="presentation-banner">
<div class="banner-intro">
<div class="close-button">
<a class="lap-refuse">
<i class="fa fa-times" aria-hidden="true"></i>
</a>
</div>
<div class="banner-img">
<img src="https://analytics.lcsb.uni.lu/lap/static/logos/r3-logo.svg" type="image/svg+xml"/>
</div>
<div class="banner-title">This website needs some cookies and similar means to function.</div>
<div class="banner-text">If you permit us, we will use those means to collect data on your visits for aggregated
statistics to improve our service.
</div>
</div>
<div class="banner-buttons">
<a class="btn lap-accept">Accept cookies for aggregated statistics</a>
<a class="btn lap-refuse">No thanks, only technically necessary cookies</a>
<a class="btn lap-cookies-more" href="https://courses.lcsb.uni.lu/privacy-policy">More information</a>
</div>
</div>
\ No newline at end of file
<script>
const settings = {
expires: "180",
matomoURL: "https://analytics.lcsb.uni.lu/hub/",
siteID: "8", //you get this siteID by sending an email to lcsb-r3@uni.lu
accept_all_text: "Aggregate statistics cookies accepted",
only_necessary_text: "Only necessary cookies accepted",
doNotTrack_text: "Do Not Track is enabled",
cookieName: "lap",
bots: /bot|crawler|spider|crawling/i,
timeout_hidebanner: "500",
cookieDomain: "courses.lcsb.uni.lu"
};
</script>
<script src="https://analytics.lcsb.uni.lu/lap/static/js/jquery.min.js"></script>
<script src="https://analytics.lcsb.uni.lu/lap/static/js/lap.js"></script>
<link rel="stylesheet" type="text/css" href="https://analytics.lcsb.uni.lu/lap/static/css/lap.css" />
<div class="bottomPrivacy">
<a href="https://courses.lcsb.uni.lu/privacy-policy">Privacy Policy</a>
(<span id="doNotTrack-text"><span id="gdpr-result-text"></span> - <a href="javascript: showBanner();">change</a></span>)
</div>
\ No newline at end of file
#!/bin/bash #!/bin/bash
PAGEURL="https://r3.pages.uni.lu/school/courses" PAGEURL="https://courses.lcsb.uni.lu"
rootDir=$(pwd) rootDir=$(pwd)
echo $rootDir echo $rootDir
# clean previous builds # clean previous builds
rm -rf $rootDir/public rm -rf $rootDir/public
rm -rf $rootDir/theme
mkdir $rootDir/public mkdir $rootDir/public
# create img folders if [[ $CI_COMMIT_REF_NAME == "develop" ]]; then
mkdir $rootDir/public/img version="latest";
mkdir $rootDir/public/img/unstable elif [[ $CI_COMMIT_REF_NAME == "master" ]]; then
mkdir $rootDir/public/img/latest version="stable";
mkdir $rootDir/public/img/stable else
version="unstable";
fi
# build the unstable version - can be optimized
git submodule update --init --recursive
# add matomo
sed -i "/matomohead/r./.ci/analytics/head.html" theme/templates/_index.html
sed -i "/matomopolicy/r./.ci/analytics/policy.html" theme/templates/_index.html
sed -i "/matomobanner/r./.ci/analytics/gdpr-banner.html" theme/templates/_index.html
echo " > LAP included"
# loop through all the presentations # loop through all the presentations
nBlades=0 nBlades=0
for d in $(find . -maxdepth 1 -type d) for d in $(find . -maxdepth 1 -type d)
do do
if [[ "${d}" == *20* ]]; then if [[ "${d}" == *20* ]]; then
cd "${d}" pushd "${d}"
echo "changed to ${d}" echo "changed to ${d}"
for d1 in $(find . -maxdepth 1 -type d) for d1 in $(find . -maxdepth 1 -type d)
do do
if [[ ${#d1} -ge 2 ]]; then if [[ ${#d1} -ge 2 ]]; then
let "nBlades+=1" let "nBlades+=1"
#blades[$nBlades]="$tutorial"
BLADE=${d1:2} BLADE=${d1:2}
echo " > -----------------------------------------------------" echo " > -----------------------------------------------------"
echo "Building ... ${d1}" echo "Building ... ${d1}"
# create the required folders in public # create the required folders in public
mkdir $rootDir/public/$BLADE mkdir -p $rootDir/public/$BLADE/$version
mkdir $rootDir/public/$BLADE/unstable
mkdir $rootDir/public/$BLADE/latest
mkdir $rootDir/public/$BLADE/stable
# change to the blade directory to be built
cd $BLADE
# build the unstable version - can be optimized echo "going to $BLADE..."
git config submodule.theme.url https://$CI_DEPLOY_USER:$CI_DEPLOY_PASSWORD@git-r3lab.uni.lu/R3-core/outreach/theme.git pushd $BLADE
git submodule update --recursive --init
# run contribute # run contribute
cp ../../template/Gruntfile.coffee . cp -v ../../template/Gruntfile.coffee .
ln -s ../../theme/package.json package.json ln -sv ../../theme/package.json package.json
ln -s ../../theme theme ln -sv ../../theme theme
# install npm # install npm
#npm install -g npm@latest yo grunt-cli generator-reveal echo "installing deps"
#npm install yarn add grunt-cli generator-reveal grunt
yarn global add grunt-cli generator-reveal
yarn install yarn install
grunt dist echo "running dist"
mv public/* $rootDir/public/$BLADE/unstable/. yarn exec grunt dist
echo "copying to common public dir"
# link to the img directory cp -rLv public/* $rootDir/public/$BLADE/$version/.
mv $rootDir/public/$BLADE/unstable/slides/img/* $rootDir/public/img/unstable/.
rm -rf $rootDir/public/$BLADE/unstable/slides/img
ln -s ../../../img/unstable $rootDir/public/$BLADE/unstable/slides/img
echo " > unstable built for file set ${BLADE}"
# build the master version into stable
git fetch --tags
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
git stash
git checkout $latestTag
git submodule update --init
grunt dist
mv public/* $rootDir/public/$BLADE/stable/.
# link to the img directory
mv $rootDir/public/$BLADE/stable/slides/img/* $rootDir/public/img/stable/.
rm -rf $rootDir/public/$BLADE/stable/slides/img
ln -s ../../../img/stable $rootDir/public/$BLADE/stable/slides/img
echo " > stable built for file set ${BLADE}"
# build the develop version into latest
git stash
git checkout -f develop
git fetch origin develop
git reset --hard origin/develop
git submodule update --init
grunt dist
mv public/* $rootDir/public/$BLADE/latest/.
# link to the img directory
mv $rootDir/public/$BLADE/latest/slides/img/* $rootDir/public/img/latest/.
rm -rf $rootDir/public/$BLADE/latest/slides/img
ln -s ../../../img/latest $rootDir/public/$BLADE/latest/slides/img
echo " > latest built for file set ${BLADE}" echo " > latest built for file set ${BLADE}"
...@@ -109,10 +78,10 @@ do ...@@ -109,10 +78,10 @@ do
echo "autoredirect file set" echo "autoredirect file set"
# move back out # move back out
cd .. popd
echo " > -----------------------------------------------------" echo " > -----------------------------------------------------"
fi fi
done done
cd "${rootDir}" popd
fi fi
done done
import os, re
from os import path
def build_link(title, href):
return f'- <a href="{href}">{title}</a>\n'
def build_section_start(title):
return f'\n' #<h3>{title}</h3>\n
def build_section_end():
return "" #\t\t</ul>\n\t</div>
def camel_to_snake(name):
name = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
return re.sub('([a-z0-9])([A-Z])', r'\1_\2', name).lower()
# loop through the entire internal tree
localroot = os.getcwd()
# generate the index properly speaking
cardDirs = ["2023", "2022", "2021", "2020", "2019"]
index=''
# determine first the directories
for direct in cardDirs:
if path.isdir(direct):
dirs = os.listdir(direct)
dirs.sort(reverse=True);
index += "\n# " + direct + "\n\n"
for d in dirs:
if d[0] != ".":
href = 'https://courses.lcsb.uni.lu/'+d
linkText = camel_to_snake(d)
linkText = linkText.replace("_", " ")
linkText = linkText.title()
# special rules
linkText = linkText.replace("Dm", "Data Management")
linkText = linkText.replace("It", "IT")
linkText = linkText.replace("Siu", "SIU")
index += build_link(linkText, href)
# output the index
print(index)
# Read in the file
repoName = "courses.lcsb.uni.lu"
os.chdir(repoName)
indexFile = "index.md"
filedata = ""
with open(indexFile, 'r') as file :
for line in file:
filedata += line
# stop reading once the index place holder has been reached
if re.search("<!-- index -->", line):
filedata += "[[ index ]]"
break
# Replace the target string
filedata = filedata.replace('[[ index ]]', index)
# Write the file out again
with open(indexFile, 'w') as file:
file.write(filedata)
print("\n > New index generated and saved in " + indexFile)
os.chdir("..")
*.ai
site/
courses.lcsb.uni.lu
index.html index.html
package-lock.json package-lock.json
dist/ dist/
...@@ -20,3 +23,4 @@ package.json ...@@ -20,3 +23,4 @@ package.json
./theme/package.json ./theme/package.json
__pycache__/ __pycache__/
contribute.egg-info/ contribute.egg-info/
.*.swp
image: git-r3lab.uni.lu:4567/r3/docker/nodejs-yarn-grunt stages:
- retrieve
- generate
- build
- deploy
pages: retrieve:repo:
stage: deploy image:
name: alpine/git:latest
entrypoint: [""]
stage: retrieve
script: script:
- bash .ci/deploy.sh - git clone https://$CI_DEPLOY_TOKEN:$CI_DEPLOY_PASSWORD@git-r3lab.uni.lu/R3/school/courses.lcsb.uni.lu.git
artifacts:
expire_in: 1 day
paths:
- courses.lcsb.uni.lu
rules:
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "master"
generate:index:
image: python
stage: generate
rules:
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "master"
script:
- python .ci/generateIndex.py
artifacts:
expire_in: 1 day
paths:
- courses.lcsb.uni.lu
build:website:
image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb
stage: build
rules:
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "master"
before_script:
- cd courses.lcsb.uni.lu
- gem install bundler -v2.0.2
- bundle install && bundle update jekyll-theme-lcsb-default && bundle update jekyll-theme-lcsb-frozen-components
- cd ..
script:
- cd courses.lcsb.uni.lu
- bundle exec jekyll build -d site --config "_config.yml"
- mv site ../.
- cd ..
artifacts: artifacts:
expire_in: 1 week expire_in: 1 day
paths:
- site
variables:
JEKYLL_ENV: production
build:courses:
image: node:19-bullseye
stage: build
rules:
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "master"
script:
- bash .ci/deploy.sh
artifacts:
expire_in: 1 day
paths: paths:
- public - public
upload:
stage: deploy
image: alpine
before_script:
- apk add rsync
- 'which ssh-agent || ( apk add --update openssh )'
- eval $(ssh-agent -s)
- echo "$B64SSHPRIVKEY" | base64 -d | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh && chmod 700 ~/.ssh
- 'echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- echo "$KNOWNHOSTS" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
rules:
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "master"
script:
- rsync -ravu --info=progress2 -e "ssh -p $SSHPORT" site/* $SSHCONNECT:~/web/latest
- rsync -ravu --info=progress2 -e "ssh -p $SSHPORT" public/* $SSHCONNECT:~/web/latest
[submodule "theme"] [submodule "theme"]
path = theme path = theme
url = https://git-r3lab.uni.lu/R3/outreach/theme.git url = https://gitlab.lcsb.uni.lu/R3/outreach/theme.git
...@@ -38,5 +38,5 @@ ...@@ -38,5 +38,5 @@
Contact us if you need help: Contact us if you need help:
r3lab.core@uni.lu lcsb-r3@uni.lu
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
<br> <br>
https://howto.lcsb.uni.lu/ https://howto.lcsb.uni.lu/
<center> <center>
<iframe data-src="https://howto.lcsb.uni.lu/" height="600px" width="1200px"></iframe> <img src="slides/img/howtocard.png" width="50%" style="border: 1px solid #555;">
</center> </center>
2019/2019-08-22_IT101-DM/slides/img/howtocard.png

120 KiB

...@@ -7,5 +7,5 @@ ...@@ -7,5 +7,5 @@
<center> <center>
Contact us if you need help: Contact us if you need help:
<a href="mailto:r3lab.core@uni.lu">r3lab.core@uni.lu</a> <a href="mailto:lcsb-r3@uni.lu">lcsb-r3@uni.lu</a>
</center> </center>
...@@ -4,5 +4,5 @@ ...@@ -4,5 +4,5 @@
Contact us if you need help: Contact us if you need help:
<a href="mailto:r3lab.core@uni.lu">r3lab.core@uni.lu</a> <a href="mailto:lcsb-r3@uni.lu">lcsb-r3@uni.lu</a>
...@@ -38,5 +38,5 @@ ...@@ -38,5 +38,5 @@
Contact us if you need help: Contact us if you need help:
r3lab.core@uni.lu lcsb-r3@uni.lu
...@@ -4,5 +4,5 @@ ...@@ -4,5 +4,5 @@
Contact us if you need help: Contact us if you need help:
<a href="mailto:r3lab.core@uni.lu">r3lab.core@uni.lu</a> <a href="mailto:lcsb-r3@uni.lu">lcsb-r3@uni.lu</a>
...@@ -25,5 +25,5 @@ ...@@ -25,5 +25,5 @@
Contact us if you need help: Contact us if you need help:
r3lab.core@uni.lu lcsb-r3@uni.lu
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
<br> <br>
https://howto.lcsb.uni.lu/ https://howto.lcsb.uni.lu/
<center> <center>
<iframe data-src="https://howto.lcsb.uni.lu/" height="600px" width="1200px"></iframe> <img src="slides/img/howtocard.png" width="50%" style="border: 1px solid #555;">
</center> </center>
2020/2020-02-17_IT101-DM/slides/img/howtocard.png

120 KiB

...@@ -34,7 +34,9 @@ ...@@ -34,7 +34,9 @@
</div> </div>
</div> </div>
<img src="slides/img/excel_data-sheet.png" height="350px"> <div style="text-align:center">
<img src="slides/img/excel_data-sheet.png" height="280px">
</div>
</div> </div>
<div class="fragment"> <div class="fragment">
...@@ -47,11 +49,11 @@ ...@@ -47,11 +49,11 @@
* Flow is visible. * Flow is visible.
</div> </div>
</div> </div>
<img src="slides/img/code-example.png" height="350px"> <img src="slides/img/code-example.png" height="280px">
</div> </div>
</div> </div>
<div class="content-box fragment" style="width:70%;margin:0 auto;"> <div class="content-box fragment" style="left:15%;width:60%;position:relative">
<div class="box-title green">Develop data science skills</div> <div class="box-title green">Develop data science skills</div>
<div class="content"> <div class="content">
......
...@@ -7,11 +7,15 @@ ...@@ -7,11 +7,15 @@
<center> <center>
Contact us if you need help: Contact us if you need help:
<a href="mailto:r3lab.core@uni.lu">r3lab.core@uni.lu</a> <a href="mailto:lcsb-r3@uni.lu">lcsb-r3@uni.lu</a>
</center> </center>
Links: Links:
HowTo cards: https://howto.lcsb.uni.lu/
HPC: https://hpc.uni.lu/ HowTo cards: https://howto.lcsb.uni.lu/
LCSB GitLab: https://git-r3lab.uni.lu/
HPC: https://hpc.uni.lu/
LCSB GitLab: https://git-r3lab.uni.lu/
Service Portal: https://service.uni.lu/sp Service Portal: https://service.uni.lu/sp