diff --git a/.ci/analytics/gdpr-banner.html b/.ci/analytics/gdpr-banner.html new file mode 100644 index 0000000000000000000000000000000000000000..ac37c68c175c766bcc65a8be65185ab133fd180a --- /dev/null +++ b/.ci/analytics/gdpr-banner.html @@ -0,0 +1,22 @@ +<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 diff --git a/.ci/analytics/head.html b/.ci/analytics/head.html new file mode 100644 index 0000000000000000000000000000000000000000..0d49db5c04afdd56554a00e2bc37917b05ba3e8d --- /dev/null +++ b/.ci/analytics/head.html @@ -0,0 +1,18 @@ +<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" /> diff --git a/.ci/analytics/policy.html b/.ci/analytics/policy.html new file mode 100644 index 0000000000000000000000000000000000000000..fcae58efd2e89f6f96fdd2c7e7909321d225ec04 --- /dev/null +++ b/.ci/analytics/policy.html @@ -0,0 +1,4 @@ +<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 diff --git a/.ci/deploy.sh b/.ci/deploy.sh index c6fc4d21334a23bb786a2c61f21c814aabe7c7c8..9e9515e78d996b01fd5d942c72714b58b3e3a891 100644 --- a/.ci/deploy.sh +++ b/.ci/deploy.sh @@ -17,6 +17,16 @@ else version="unstable"; fi +# build the unstable version - can be optimized +git submodule update --recursive --init + +# 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 nBlades=0 for d in $(find . -maxdepth 1 -type d) @@ -38,10 +48,6 @@ do # change to the blade directory to be built cd $BLADE - # build the unstable version - can be optimized - git config submodule.theme.url https://$CI_DEPLOY_USER:$CI_DEPLOY_PASSWORD@git-r3lab.uni.lu/R3-core/outreach/theme.git - git submodule update --recursive --init - # run contribute cp ../../template/Gruntfile.coffee . ln -s ../../theme/package.json package.json diff --git a/contribute.py b/contribute.py index ea625ac904b127a1f0fc68bfb19110657e34a89e..0f3bbbf328076d1824219ddc1a37fea2cb45f4a2 100644 --- a/contribute.py +++ b/contribute.py @@ -46,7 +46,7 @@ def main(date, name): click.echo(' > Directory for slides {0} created.' . format(slidesPath)) else: - click.echo(' > Directory for slides{0} already exists.' . format(slidesPath)) + click.echo(' > Directory for slides {0} already exists.' . format(slidesPath)) # change to the root directory of the presentation os.chdir(fullPath) @@ -55,6 +55,13 @@ def main(date, name): createSymlink('../../theme', 'theme') createSymlink('../../theme/package.json', 'package.json') + # reset the theme + os.chdir('../../theme') + os.system('git checkout -- templates/_index.html') + os.chdir(fullPath) + click.echo(' > Theme reset.') + + # copy the contents of the template folder if not os.path.isfile(os.path.join(fullPath, 'slides', 'index.md')): copy_tree(os.path.join(rootDir, 'template', 'slides'), slidesPath) @@ -79,6 +86,13 @@ def main(date, name): else: click.echo(' > All dependencies already installed.') + # add analytics + os.system('sed -i "/matomohead/r./../../.ci/analytics/head.html" theme/templates/_index.html') + os.system('sed -i "/matomopolicy/r./../../.ci/analytics/policy.html" theme/templates/_index.html') + os.system('sed -i "/matomobanner/r./../../.ci/analytics/gdpr-banner.html" theme/templates/_index.html') + + click.echo(' > Matomo added.') + # launch the server os.system('grunt server') diff --git a/theme b/theme index f2a496a345b21a440f73acba2181ae2cd2a1e05c..8e70c7685bf9477f500bbc57f2d2c36072fe7741 160000 --- a/theme +++ b/theme @@ -1 +1 @@ -Subproject commit f2a496a345b21a440f73acba2181ae2cd2a1e05c +Subproject commit 8e70c7685bf9477f500bbc57f2d2c36072fe7741