diff --git a/web/locales/en.json b/web/locales/en.json
index 5633bd2..4c3ea50 100644
--- a/web/locales/en.json
+++ b/web/locales/en.json
@@ -12,6 +12,8 @@
"on_demand_text": "Create and share your ideas on our lab-room platform. Join tutors labs, learn more about your interests and broaden your horizon.",
"git": "Git",
"git_text": "The wolds leading, powerful collaboration tool at your disposal on our servers. Keep in touch with your workmates and make sharing simpler then ever.",
+ "learning_objects": "Learning Objects Notebooks",
+ "learning_objects_text": "Create a Web-based interactive chunks of e-learning to explain a learning objective, which can be used, reused or referenced during technology supported learning.",
"available_swarmlab": "Available Swarmlab Lab-rooms",
"bug": "Found a bug? Help us fix it!",
"more_info": "More Info",
@@ -34,7 +36,6 @@
"node_text4": "Learn How to providing a bi-directional communication channel between a client and a server.",
"python_header": "Python, scipy",
"python_text": "This Labroom provides a Python-based ecosystem of open-source software for mathematics, science, engineering and Web development",
-
"doc-text-02": "The Swarmlabs platform",
"doc-text-03": "The Main page",
"doc-text-04": "My lab",
diff --git a/web/package-lock.json b/web/package-lock.json
index 984fe36..8849594 100755
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -5,9 +5,9 @@
"requires": true,
"dependencies": {
"@babel/runtime": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz",
- "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==",
+ "version": "7.11.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz",
+ "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
@@ -617,9 +617,9 @@
}
},
"i18next": {
- "version": "19.6.2",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.6.2.tgz",
- "integrity": "sha512-Zyd/Z32FY+sD+Eg6sLj5DeDSlrIN3WZ4onuOBRGcjDx/rvodsyUZ9TJ2Y+3aD9Vu8MPbiMU2WesIER/rs1ioyw==",
+ "version": "19.7.0",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.7.0.tgz",
+ "integrity": "sha512-sxZhj6u7HbEYOMx81oGwq5MiXISRBVg2wRY3n6YIbe+HtU8ydzlGzv6ErHdrRKYxATBFssVXYbc3lNZoyB4vfA==",
"requires": {
"@babel/runtime": "^7.10.1"
}
@@ -987,6 +987,11 @@
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
+ "particles.js": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/particles.js/-/particles.js-2.0.0.tgz",
+ "integrity": "sha1-IThsQyjWx/lngKIB6W7t/AnHNvY="
+ },
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -1079,9 +1084,9 @@
}
},
"regenerator-runtime": {
- "version": "0.13.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
- "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
},
"registry-auth-token": {
"version": "4.2.0",
diff --git a/web/package.json b/web/package.json
index 8073e10..be28b84 100755
--- a/web/package.json
+++ b/web/package.json
@@ -13,10 +13,11 @@
"express": "~4.16.1",
"express-session": "^1.17.1",
"http-errors": "~1.6.3",
- "i18next": "^19.6.2",
+ "i18next": "^19.7.0",
"i18next-express-middleware": "^2.0.0",
"i18next-node-fs-backend": "^2.1.3",
"morgan": "~1.9.1",
- "nodemon": "^2.0.4"
+ "nodemon": "^2.0.4",
+ "particles.js": "^2.0.0"
}
}
diff --git a/web/public/assets/particlesjs-config.json b/web/public/assets/particlesjs-config.json
new file mode 100644
index 0000000..c1d27e7
--- /dev/null
+++ b/web/public/assets/particlesjs-config.json
@@ -0,0 +1,110 @@
+{
+ "particles": {
+ "number": {
+ "value": 10,
+ "density": {
+ "enable": true,
+ "value_area": 800
+ }
+ },
+ "color": {
+ "value": "#087fff"
+ },
+ "shape": {
+ "type": "polygon",
+ "stroke": {
+ "width": 0,
+ "color": "#000000"
+ },
+ "polygon": {
+ "nb_sides": 5
+ },
+ "image": {
+ "src": "img/github.svg",
+ "width": 100,
+ "height": 100
+ }
+ },
+ "opacity": {
+ "value": 0.5,
+ "random": false,
+ "anim": {
+ "enable": false,
+ "speed": 1,
+ "opacity_min": 0.1,
+ "sync": false
+ }
+ },
+ "size": {
+ "value": 3,
+ "random": true,
+ "anim": {
+ "enable": false,
+ "speed": 40,
+ "size_min": 0.1,
+ "sync": false
+ }
+ },
+ "line_linked": {
+ "enable": false,
+ "distance": 150,
+ "color": "#ffffff",
+ "opacity": 0.4,
+ "width": 1
+ },
+ "move": {
+ "enable": true,
+ "speed": 6,
+ "direction": "none",
+ "random": false,
+ "straight": false,
+ "out_mode": "out",
+ "bounce": false,
+ "attract": {
+ "enable": false,
+ "rotateX": 600,
+ "rotateY": 1200
+ }
+ }
+ },
+ "interactivity": {
+ "detect_on": "canvas",
+ "events": {
+ "onhover": {
+ "enable": false,
+ "mode": "repulse"
+ },
+ "onclick": {
+ "enable": false,
+ "mode": "push"
+ },
+ "resize": true
+ },
+ "modes": {
+ "grab": {
+ "distance": 400,
+ "line_linked": {
+ "opacity": 1
+ }
+ },
+ "bubble": {
+ "distance": 400,
+ "size": 40,
+ "duration": 2,
+ "opacity": 8,
+ "speed": 3
+ },
+ "repulse": {
+ "distance": 200,
+ "duration": 0.4
+ },
+ "push": {
+ "particles_nb": 4
+ },
+ "remove": {
+ "particles_nb": 2
+ }
+ }
+ },
+ "retina_detect": true
+}
\ No newline at end of file
diff --git a/web/public/images/undraw_content_team_3epn.svg b/web/public/images/undraw_content_team_3epn.svg
new file mode 100644
index 0000000..a313a25
--- /dev/null
+++ b/web/public/images/undraw_content_team_3epn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/web/public/images/undraw_server_q2pb.svg b/web/public/images/undraw_server_q2pb.svg
new file mode 100644
index 0000000..93ebb15
--- /dev/null
+++ b/web/public/images/undraw_server_q2pb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/web/public/images/undraw_taking_notes_tjaf.svg b/web/public/images/undraw_taking_notes_tjaf.svg
new file mode 100644
index 0000000..e1123ea
--- /dev/null
+++ b/web/public/images/undraw_taking_notes_tjaf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/web/public/images/undraw_version_control_9bpv.svg b/web/public/images/undraw_version_control_9bpv.svg
new file mode 100644
index 0000000..0c35735
--- /dev/null
+++ b/web/public/images/undraw_version_control_9bpv.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/web/public/javascripts/bs-init.js b/web/public/javascripts/bs-init.js
index 7d8617c..8b76096 100644
--- a/web/public/javascripts/bs-init.js
+++ b/web/public/javascripts/bs-init.js
@@ -1,5 +1,15 @@
-$(document).ready(function(){
+$(document).ready(function () {
$('[data-bs-hover-animate]')
- .mouseenter( function(){ var elem = $(this); elem.addClass('animated ' + elem.attr('data-bs-hover-animate')) })
- .mouseleave( function(){ var elem = $(this); elem.removeClass('animated ' + elem.attr('data-bs-hover-animate')) });
-});
\ No newline at end of file
+ .mouseenter(function () {
+ var elem = $(this);
+ elem.addClass('animated ' + elem.attr('data-bs-hover-animate'))
+ })
+ .mouseleave(function () {
+ var elem = $(this);
+ elem.removeClass('animated ' + elem.attr('data-bs-hover-animate'))
+ });
+});
+
+window.onload = function () {
+ particlesJS.load('particles-js', '../assets/particlesjs-config.json');
+}
\ No newline at end of file
diff --git a/web/public/stylesheets/styles.min.css b/web/public/stylesheets/styles.min.css
index ef4a756..6b17991 100644
--- a/web/public/stylesheets/styles.min.css
+++ b/web/public/stylesheets/styles.min.css
@@ -272,7 +272,7 @@
.navigation-clean-button,
.navigation-clean-search {
- background: #fff;
+ background: transparent !important;
padding-top: .75rem;
padding-bottom: .75rem;
color: #333;
@@ -1135,4 +1135,24 @@ ul ul a {
#sidebar ul ul a {
padding: 10px !important
}
+}
+
+#particles-js canvas {
+ display: block;
+ vertical-align: bottom;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ -webkit-transition: opacity .8s ease, -webkit-transform 1.4s ease;
+ transition: opacity .8s ease, transform 1.4s ease
+}
+
+#particles-js {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ z-index: -10;
+ top: 0;
+ left: 0
}
\ No newline at end of file
diff --git a/web/views/index.ejs b/web/views/index.ejs
index f3cabbe..8577fee 100755
--- a/web/views/index.ejs
+++ b/web/views/index.ejs
@@ -1,24 +1,24 @@
<%- include("partials/header.ejs") %>
- <%= t('welcome_text') %><%= t('welcome') %>
-