diff --git a/.gitignore b/.gitignore index c3f6cf6..1f4f37c 100644 --- a/.gitignore +++ b/.gitignore @@ -311,3 +311,5 @@ public/ package-lock.json img/ + +docs/ diff --git a/auth/marketmind.pem b/auth/marketmind.pem new file mode 100644 index 0000000..e35b572 --- /dev/null +++ b/auth/marketmind.pem @@ -0,0 +1,23 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAwIaPYPemuR3j3uyc6uT7HmTCEotVl1nDI41QVuF9rYFA4oL3ET45NAzWuZPB +7F2zeOMpjU3KtiNvMb1qR/a8gQHceI9wOWfq6r8IOxm/r+ZKtoBbsQg/ygfmKtNJ1NcsUIGVhv1G +4buoOaU65UbATO8uXC6zmuwk/q7VnXRcoequqnXhg06TBeIFGtf92BxUdjUAEDpHyN11d0zDVN7N +SRyvt93YSusB3UVPlds9le0xqOIXEMQzvCheqODLGpW0CR1sq02SmwAzvosBiMB4PHYlpkHptGXt +MujSjzIJE2PrlM4ZOYLMqSUk62qh7vnFMaOb/GtN1wo8uh10qIkfuwIDAQABAoIBADwsEjXpURd8 +axLqeuTDamUGcs2e9MJYELBU4240DbajtibVbejavMAy3w2jS7HXW1eGEB+U161zh7ZREB2r1SCw +9zpLAnU+sGJsEGOAWbPdUy6VEZNUE7POIjbyUJoQIk6LIbPOB1BX+W0C4lR0d3fULXYsNoBOHAXp +mOQcUTNdfY3imXMTQkx+wKPyp7VW7MN1uHowFU039HPy4BSxKtGrMXvt7vm8OzWzqUp5sYMZGIcK +Hi5s1wo9vzaqXJgMuqAPvFnLrx/wF+EYfUcjBZVck6Oy3CbB2O8z2XUlkeGzFrXHYgyvi//GXNQz +sABkGmvWazwdlNlFzz5y7bOy5hkCgYEA9F+svyPFcdkO0Xdx/MWaS6ghtaCRoTiGx1Zlx6jtVDEB +jYIL9oOKjGACCxyTo1cLvh0WTf2J9KWhCYS3GQEaTkG+EUA5HIob2m9Khvhbbgtlmb0O+U2mMTT9 +5GHyrCGGMWqdUvQQArjhDoKxDos5NDJAty34x+jfDXIyQ+xS9a0CgYEAya9oEb4AHrdN2DSWA5Ju +aTYHcXtJnvYO2EYHvYx1D1L/SSpdxm/crc6QoZiM4UmvGdUgkf0nzkp/ql+ln9JzbYSNgffvEVKt +++7y6RPYwFkBvHZ/PgUQM4+sjmdATNGb1OzPlBC2DtMNoB6N55OLPTK34WND7jEgKtdCEDHTCAcC +gYBr0WaTMoIjt+PM0Uluf/SSmsy8qOp32kvE2T6wt7x2X+TSfWUvz1uqkZV1N5eAAqDAsW6s3Eco +tIb3fyGVm6Hykxj73X0VNW4SkvWr1Rnp1IdwLDTWE8dWgI3gXMLH5UaiuOpOtjX2LYHGeC0MQKrt +d5qL93GDKiB3e0HoK/VyRQKBgCYKQH3AMXOZrUQPPxAzaUHM4ACGeW9TB5/BLaqRuG6IgAADzqYj +6SKbKGpiRIglhrI/oaIHdp+RK50t5yZK4lyQuMP/yIai6o/vFL/jb2lwIES0sPE4sUKYYbqGPPmA +O30goVJTCJOpOROvT6KTEJsdWtNXDrP5bhDGgv5c92m3AoGASrDKqIP5kazJy0wQWw/C2iE3qsMb +b/WSt64yOq7OLZlSCh+7P1K3X4ecqfy1fVfQ7rvM35tJiNNhspqZsEmsZg09m4h6jzYLuxNs2+I7 +65M3yOcbEixRdXKiv2PBBRK5qfMOogkRIEY4ZPzC32LXVgi8qYvxPMqfBBS12BsNSFY= +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/components/ambassador/ambassador.html b/components/ambassador/ambassador.html index 34ed887..0393333 100644 --- a/components/ambassador/ambassador.html +++ b/components/ambassador/ambassador.html @@ -1,6 +1,6 @@
-
+

Diventa nostro ambassador

@@ -9,7 +9,7 @@

Compila la lettera di motivazione e rispondi alle nostre domande, puoi vincere un free-pass per la masterclass.

- + Compila e invia la candidatura
diff --git a/components/ambassador/ambassador.scss b/components/ambassador/ambassador.scss index 6133d99..5a4a355 100644 --- a/components/ambassador/ambassador.scss +++ b/components/ambassador/ambassador.scss @@ -9,7 +9,7 @@ font-size: $font-48; font-weight: normal; color: $blue; - padding: 40px 0 30px 0; + padding: 0 0 30px 0; } .subtitle { @@ -30,6 +30,8 @@ } .image { + object-fit: cover; width: 100%; + height: 100%; } } diff --git a/components/footer/footer.html b/components/footer/footer.html index 50b2c04..2abf9eb 100644 --- a/components/footer/footer.html +++ b/components/footer/footer.html @@ -7,7 +7,7 @@
- Copyright – ANES, MarketMind Research. Per info: informazioni@info.com + Copyright 2020 - ANES - Via Crocefisso, 5, 20122 Milano. Per info: anes@anes.it
diff --git a/components/header/header.html b/components/header/header.html index 1d74e4e..b8db026 100644 --- a/components/header/header.html +++ b/components/header/header.html @@ -11,13 +11,15 @@
+ +

Corso online

- Intelligenza Artificiale: come implementarla operativamente in azienda + Intelligenza Artificiale:
come implementarla operativamente in azienda

Master class

- La Masterclass in Intelligenza Artificiale per il business è un weekend full-immersion di formazione in cui imparerai a comprendere e utilizzare le nuove tecnologie di A.I. per implementare innovativi prodotti e servizi. + La Masterclass in Intelligenza Artificiale per il business è una giornata full immersion di formazione a distanza in cui imparerai a comprendere e utilizzare le nuove tecnologie di A.I. per implementare prodotti e servizi innovativi. L'intera Masterclass si terrà online con un docente dedicato che ti seguirà per tutta la giornata di formazione.

@@ -29,7 +31,7 @@
- Codice Early Bird -20% + Codice Early Bird -22% XPR3877
diff --git a/components/header/header.scss b/components/header/header.scss index b10128e..7f205aa 100644 --- a/components/header/header.scss +++ b/components/header/header.scss @@ -15,7 +15,7 @@ font-weight: 300; line-height: 45px; color: $blue; - padding: 40px 0 5px 0; + padding: 10px 0 5px 0; margin: 0; &:after { @@ -28,6 +28,16 @@ } } + .suptitle { + font-size: $font-18; + font-weight: bold; + line-height: 20px; + color: $black; + padding: 25px 0 0 0; + margin: 0; + text-transform: uppercase; + } + .subtitle { font-size: $font-18; font-weight: bold; @@ -79,16 +89,21 @@ .component-header { .title { - font-size: $font-50; - line-height: 60px; + //font-size: $font-50; + //line-height: 60px; + font-size: $font-44; + line-height: $font-50; } .subtitle { - font-size: $font-18; + //font-size: $font-18; + font-size: $font-16; + padding-bottom: 15px; } .text { - font-size: $font-18; + //font-size: $font-18; + font-size: $font-16; } .line { diff --git a/components/info/info.html b/components/info/info.html index 16a9c32..eb8248a 100644 --- a/components/info/info.html +++ b/components/info/info.html @@ -3,8 +3,8 @@

Hai bisogno di ulteriori informazioni?

- Scrivi a
- informazioni@info.it + Fabiola Iannaccone di Anes è a tua disposizione
+ scrivi all'indirizzo: anes@anes.it

diff --git a/components/questions/questions.html b/components/questions/questions.html index 7344620..b91aaf7 100644 --- a/components/questions/questions.html +++ b/components/questions/questions.html @@ -3,23 +3,23 @@

Alcune domande a cui saprai rispondere

- Cos'è esattamente l'intelligenza artificiale?
-E quali sono i suoi limiti attuali? + Cos'è esattamente l'Intelligenza Artificiale?
+ E quali sono i suoi limiti attuali?

- Cos'è il Machine Learning e che valore può consegnare alla mia azienda / startup? + Cos'è il Machine Learning e che valore può consegnare alla mia azienda / startup?

- Dove reperire la tecnologia necessaria per sviluppare un primo progetto di AI? + Dove reperire la tecnologia necessaria per sviluppare un primo progetto di AI?

- Quali sono le metodologie che consentono di prototipare rapidamente proof-of-concept con poco effort e poco budget? + Quali sono le metodologie che consentono di prototipare rapidamente proof-of-concept con poco effort e poco budget?

- Qual è il processo di adozione che dovrei seguire per gestire l'implementazione di un primo progetto di AI? + Qual è il processo di adozione che dovrei seguire per gestire l'implementazione di un primo progetto di AI?

- Come AI può consentire di aiutare nel funnel di vendita o di marketing? + Come l'AI può consentire di aiutare nel funnel di vendita o di marketing?

diff --git a/components/register/register.html b/components/register/register.html index 70dbcc7..691bee0 100644 --- a/components/register/register.html +++ b/components/register/register.html @@ -3,29 +3,29 @@
- Milano + Completamente on-line
- 6-7 Giugno 2020 + 28 Aprile 2020 (9.30-16.00)
- 14 ore di lezioni e workshop + 5 ore e 30 minuti di lezioni frontali in diretta e workshop
- EARLY BIRD 300 € - registrazioni fino al 15/3/2020 - ADVANCED: 400€ - registrazioni fino al 15/4/2020 + EARLY BIRD 225 € + Registrazioni fino al 16/04/2020 + ADVANCED: 290€ + Registrazioni dal 17/04/2020
- + Registrati subito su EventBrite

A chi è rivolto

-

Il weekend full immersion è dedicato a:

+

La giornata online di full immersion è dedicata a:

Manager e decision maker che desiderano comprendere e sfruttare il nuovo trend tecnologico dell'Intelligenza Artificiale da un punto di vista business e organizzativo. @@ -33,7 +33,7 @@ Professionisti del settore IT che desiderano comprendere le metodologie di adozione e come analizzare e valutare i business case abilitati da tecnologie di Intelligenza Artificiale. - Chiunque voglia diventare una figura di riferimento all'interno della propria società/startup per tutte le tematiche inerenti all'A.I.. + Chiunque voglia diventare una figura di riferimento all'interno della propria società/startup per tutte le tematiche inerenti all'Intelligenza Artificiale.
diff --git a/components/teacher/teacher.html b/components/teacher/teacher.html index 50564f9..e77fa69 100644 --- a/components/teacher/teacher.html +++ b/components/teacher/teacher.html @@ -10,7 +10,7 @@ È un co-founder e partner di MarketMind Research e nella sua carriera ha aiutato numerose organizzazioni (tra cui banche, società di assicurazioni, ospedali e università) a implementare progetti di Intelligenza Artificiale e predictive analytics.

- È attualmente docente a contratto presso l'Università Luigi Bocconi e presso la scuola d'innovazione Talent Garden dove si occupa di Intelligenza Artificiale applicata.Ha lavorato come consulente in numerose multinazionali, in particolare all'interno del settore IT Governance. + È attualmente docente a contratto presso l'Università Luigi Bocconi e presso la scuola d'innovazione Talent Garden dove si occupa di Intelligenza Artificiale applicata. Durante l'intera giornata di formazione ti aiuterà a comprendere la rivoluzione dell'A.I. grazie a simulazioni, workshop e analisi di business case reali.

diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..29ac2c6 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +BASE="http://www.anesacademy.com/" + +BASE_PARSED=$(echo $BASE | sed 's/\//\\\//g') + +cd public +for f in *.html +do + sed -i "s/href\=\"\//href\=\"$BASE_PARSED/g" "$f" + sed -i "s/src\=\"\//src\=\"$BASE_PARSED/g" "$f" + sed -i "s/src\=\"\.\//src\=\"$BASE_PARSED/g" "$f" +done +cd .. + +scp -r -i ./auth/marketmind.pem ./public/* ubuntu@3.94.203.176:/var/www/anesacademy.com/ diff --git a/images/teacher.png b/images/teacher.png index dc9d113..41cff8e 100644 Binary files a/images/teacher.png and b/images/teacher.png differ diff --git a/package.json b/package.json index 281fdd5..df680f0 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "scripts": { "dev": "nodemon --watch webpack.config.js --exec \"webpack --config webpack.config.js --watch --progress --mode development\"", "prod": "webpack --config webpack.config.js --mode none --env.prod", + "deploy": "sh deploy.sh", "add-comp": "sh ./comps.sh add", "del-comp": "sh ./comps.sh del", "preview": "http-server", @@ -15,21 +16,22 @@ "author": "Dslak", "license": "MIT", "dependencies": { - "@babel/core": "^7.5.4", - "@babel/preset-env": "^7.6.3", - "autoprefixer": "^9.6.0", - "babel-eslint": "^10.0.2", - "babel-loader": "^8.0.6", + "@babel/core": "^7.9.0", + "@babel/preset-env": "^7.9.0", + "autoprefixer": "^9.7.6", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.1.0", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-object-assign": "^6.22.0", "babel-preset-env": "^1.7.0", + "base-href-webpack-plugin": "^2.0.0", "bootstrap": "^4.3.1", "copy-webpack-plugin": "^5.0.3", - "css-loader": "^3.0.0", + "css-loader": "^3.5.1", "es6-promise-promise": "^1.0.0", "eslint": "^6.0.1", "eslint-config-google": "^0.13.0", - "eslint-config-prettier": "^6.0.0", + "eslint-config-prettier": "^6.10.1", "eslint-plugin-prettier": "^3.1.0", "extract-loader": "^3.1.0", "file-loader": "^4.0.0", @@ -39,6 +41,7 @@ "http-server": "^0.12.1", "jquery": "^3.4.1", "mini-css-extract-plugin": "^0.7.0", + "minimist": "^1.2.5", "node-sass": "^4.12.0", "nodemon": "^1.19.1", "popper.js": "^1.15.0", @@ -46,7 +49,7 @@ "prettier": "^1.18.2", "sass-loader": "^7.1.0", "url-loader": "^2.0.1", - "webpack": "^4.41.1", + "webpack": "^4.42.1", "webpack-cli": "^3.3.9", "webpack-notifier": "^1.8.0" } diff --git a/pages/index.ejs b/pages/index.ejs index 502f404..baf602a 100644 --- a/pages/index.ejs +++ b/pages/index.ejs @@ -3,7 +3,7 @@ Anes - + diff --git a/src/js/index.js b/src/js/index.js index d7e3e5c..ba7a963 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -18,3 +18,32 @@ window.readyResize = (callback, orientation = false) => { } }; + + +$('body').ihavecookies({ + title: "Cookies & Privacy", + message: "Questo sito web utilizza cookie tecnici per assicurarti di ottenere la migliore esperienza sul nostro portale.", + expires: 30, + moreInfoLabel: 'Maggiori informazioni', + link: "https://anes.it/informativa-sui-cookie/", + acceptBtnLabel: 'Accetta i Cookies', + advancedBtnLabel: 'Personalizza Cookies', + uncheckBoxes: false, + cookieTypesTitle: 'Seleziona i Cookies da accettare', + fixedCookieTypeLabel:'Necessari', + fixedCookieTypeDesc: 'Si tratta di cookie essenziali per il corretto funzionamento del sito Web.', + cookieTypes: [ + { + type: 'Analytics', + value: 'analytics', + description: 'Cookie relativi a statistiche sulle visite al sito, tipi di browser, ecc' + }, + { + type: 'Marketing', + value: 'marketing', + description: 'Cookie relativi al marketing, e.g. newsletters, social media, etc' + } + ], + onAccept: function(){ + } +}) diff --git a/src/js/jquery.ihavecookies.min.js b/src/js/jquery.ihavecookies.min.js new file mode 100644 index 0000000..9d9084b --- /dev/null +++ b/src/js/jquery.ihavecookies.min.js @@ -0,0 +1,10 @@ +/*! + * ihavecookies - jQuery plugin for displaying cookie/privacy message + * v0.3.1 + * + * Copyright (c) 2018 Ketan Mistry (https://iamketan.com.au) + * Licensed under the MIT license: + * http://www.opensource.org/licenses/mit-license.php + * + */ +!function(e){e.fn.ihavecookies=function(n){var a=e(this),c=e.extend({cookieTypes:[{type:"Site Preferences",value:"preferences",description:"These are cookies that are related to your site preferences, e.g. remembering your username, site colours, etc."},{type:"Analytics",value:"analytics",description:"Cookies related to site visits, browser types, etc."},{type:"Marketing",value:"marketing",description:"Cookies related to marketing, e.g. newsletters, social media, etc"}],title:"Cookies & Privacy",message:"Cookies enable you to use shopping carts and to personalize your experience on our sites, tell us which parts of our websites people have visited, help us measure the effectiveness of ads and web searches, and give us insights into user behavior so we can improve our communications and products.",link:"/privacy-policy",delay:2e3,expires:30,moreInfoLabel:"More information",acceptBtnLabel:"Accept Cookies",advancedBtnLabel:"Customise Cookies",cookieTypesTitle:"Select cookies to accept",fixedCookieTypeLabel:"Necessary",fixedCookieTypeDesc:"These are cookies that are essential for the website to work correctly.",onAccept:function(){},uncheckBoxes:!1},n),r=t("cookieControl"),s=t("cookieControlPrefs");if(r&&s){var p=!0;"false"==r&&(p=!1),o(p,c.expires)}else{var d='
  • ";e.each(c.cookieTypes,function(e,o){if(""!==o.type&&""!==o.value){var i="";o.description!==!1&&(i=' title="'+o.description+'"'),d+='
  • "}});var l='";setTimeout(function(){e(a).append(l),e("#gdpr-cookie-message").hide().fadeIn("slow")},c.delay),e("body").on("click","#gdpr-cookie-accept",function(){o(!0,c.expires),e('input[name="gdpr[]"][data-auto="on"]').prop("checked",!0);var t=[];e.each(e('input[name="gdpr[]"]').serializeArray(),function(e,o){t.push(o.value)}),i("cookieControlPrefs",JSON.stringify(t),365),c.onAccept.call(this)}),e("body").on("click","#gdpr-cookie-advanced",function(){e('input[name="gdpr[]"]:not(:disabled)').attr("data-auto","off").prop("checked",!1),e("#gdpr-cookie-types").slideDown("fast",function(){e("#gdpr-cookie-advanced").prop("disabled",!0)})})}c.uncheckBoxes===!0&&e('input[type="checkbox"].ihavecookies').prop("checked",!1)},e.fn.ihavecookies.cookie=function(){var e=t("cookieControlPrefs");return JSON.parse(e)},e.fn.ihavecookies.preference=function(e){var o=t("cookieControl"),i=t("cookieControlPrefs");return i=JSON.parse(i),o!==!1&&(i!==!1&&i.indexOf(e)!==-1)};var o=function(o,t){i("cookieControl",o,t),e("#gdpr-cookie-message").fadeOut("fast",function(){e(this).remove()})},i=function(e,o,i){var n=new Date;n.setTime(n.getTime()+24*i*60*60*1e3);var a="expires="+n.toUTCString();return document.cookie=e+"="+o+";"+a+";path=/",t(e)},t=function(e){for(var o=e+"=",i=decodeURIComponent(document.cookie),t=i.split(";"),n=0;n { const isProd = env && env.prod || false + entries.push(srcPath + '/js/jquery.ihavecookies.min.js') entries.push(srcPath + '/js/index.js') entries.push(srcPath + '/scss/main.scss') @@ -31,6 +34,8 @@ module.exports = (env) => { }) plugins = [ + new HtmlWebpackPlugin(), + new BaseHrefWebpackPlugin({ baseHref: isProd ? 'http://tmp.it/' : '/' }), new WebpackNotifierPlugin({ title: 'Anes', contentImage: path.join(__dirname, basePath + '/images/logoWP.png'), @@ -53,6 +58,13 @@ module.exports = (env) => { from: '*.*', to: distPath + '/images', }, + ]), + new CopyWebpackPlugin([ + { + context: docsPath, + from: '*.*', + to: distPath + '/docs', + }, ]) ]