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..c76b0a51354196ad60b49084a859b486c7cead5b --- /dev/null +++ b/.ci/analytics/head.html @@ -0,0 +1,17 @@ +<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", + }; +</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..0abc904ab547b59c23bcb047a40715879f1ee633 100644 --- a/.ci/deploy.sh +++ b/.ci/deploy.sh @@ -47,6 +47,16 @@ do ln -s ../../theme/package.json package.json ln -s ../../theme theme + # add matomo + if [[ -v matomoID ]]; then + matomoTagOrig='<!-- matomohead -->' + sed -i '' "/${matomoTagOrig}/r./.ci/analytics/head.html" theme/templates/_index.html + matomoTagOrig='<!-- matomopolicy -->' + sed -i '' "/${matomoTagOrig}/r./.ci/analytics/policy.html" theme/templates/_index.html + matomoTagOrig='<!-- matomobanner -->' + sed -i '' "/${matomoTagOrig}/r./.ci/analytics/gdpr-banner.html" theme/templates/_index.html + fi + # install npm yarn global add grunt-cli generator-reveal yarn install 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..8c78d6caeb5aa478e3928ad01c158c0060f1f81c 160000 --- a/theme +++ b/theme @@ -1 +1 @@ -Subproject commit f2a496a345b21a440f73acba2181ae2cd2a1e05c +Subproject commit 8c78d6caeb5aa478e3928ad01c158c0060f1f81c