Removed double blog, modified home page

This commit is contained in:
roberto 2025-09-15 08:46:36 +02:00
parent bc198d01b7
commit 36034fc188
106 changed files with 236 additions and 799 deletions

1
.idea/misc.xml generated
View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />

View file

@ -9,21 +9,14 @@ themesDir = "themes"
paginate = 5 paginate = 5
[taxonomies] [taxonomies]
categoriesspot = "categoriesspot" categoriesspot = "categories"
categoriesibis = "categoriesibis" tagsspot = "tags"
tagsspot = "tagsspot"
tagsibis = "tagsibis"
[[related.indices]] [[related.indices]]
name = "services" name = "services"
weight = 100 weight = 100
[menu] [menu]
[[menu.main]]
identifier="about"
name = "About"
url = "/en/#home-introduction"
weight = 10
[[menu.main]] [[menu.main]]
identifier="services" identifier="services"
@ -52,51 +45,15 @@ paginate = 5
[[menu.main]] [[menu.main]]
identifier = "blog" identifier = "blog"
name = "Blog" name = "Blog"
url = "#" url = "/en/blog"
weight = 70 weight = 70
[[menu.main]]
identifier="blogspot"
name = "Solutions Projects Technology"
url = "/en/blog/spot"
weight = 10
parent = "blog"
[[menu.main]]
identifier="blogibis"
name = "Ideas Books Science"
url = "/en/blog/ibis"
weight = 20
parent = "blog"
[permalinks]
[permalinks.page]
blogspot = "/blog/spot/:slug/"
blogibis = "/blog/ibis/:slug/"
[permalinks.section]
blogspot = "/blog/spot/"
blogibis = "/blog/ibis/"
[permalinks.term]
categoriesspot = "/categories/spot/:slug/"
tagsspot = "/tags/spot/:slug/"
categoriesibis = "/categories/ibis/:slug/"
tagsibis = "/tags/ibis/:slug/"
[params.carousel]
enable = true
[languages] [languages]
[languages.it] [languages.it]
weight = 10 weight = 10
contentDir = "content/it" contentDir = "content/it"
languageName = "Italiano" languageName = "Italiano"
[[languages.it.menu.main]]
identifier="about"
name = "Presentazione"
url = "/#home-introduction"
weight = 10
[[languages.it.menu.main]] [[languages.it.menu.main]]
identifier="services" identifier="services"
name = "Servizi" name = "Servizi"
@ -124,23 +81,9 @@ paginate = 5
[[languages.it.menu.main]] [[languages.it.menu.main]]
identifier = "blog" identifier = "blog"
name = "Blog" name = "Blog"
url = "#" url = "/blog"
weight = 70 weight = 70
[[languages.it.menu.main]]
identifier = "blogspot"
name = "Soluzioni Progetti Tecnologia"
url = "/blog/spot"
weight = 10
parent = "blog"
[[languages.it.menu.main]]
identifier = "blogibis"
name = "Idee Libri Scienza"
url = "/blog/ibis"
weight = 20
parent = "blog"
[languages.en] [languages.en]
weight = 20 weight = 20
contentDir = "content/en" contentDir = "content/en"

View file

@ -1,6 +1,6 @@
+++ +++
tagsspot = ['Software development', 'Web application'] tags = ['Software development', 'Web application']
categoriesspot= ['Projects'] categories= ['Projects']
images = ['images/project/agiati-web-application-development.png'] images = ['images/project/agiati-web-application-development.png']
services = ['web-application-development', 'custom-cms'] services = ['web-application-development', 'custom-cms']
title = 'Accounting, members and custom CMS applications' title = 'Accounting, members and custom CMS applications'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/altevie-web-application-geolocation.png'] images = ['images/project/altevie-web-application-geolocation.png']
tagsspot= ['Software development', 'Web application'] tags= ['Software development', 'Web application']
categoriesspot = ['Projects'] categories = ['Projects']
services = ['web-application-development'] services = ['web-application-development']
title = 'Skibus GPS map tracking application' title = 'Skibus GPS map tracking application'
date = '2015-01-31' date = '2015-01-31'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/amor-cosmetics-ecommerce.png'] images = ['images/project/amor-cosmetics-ecommerce.png']
services = ['web-application-development', 'e-commerce'] services = ['web-application-development', 'e-commerce']
tagsspot = ['Software development', 'Web application', 'E-commerce'] tags = ['Software development', 'Web application', 'E-commerce']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'E-commerce website setup and customization for beauty products' title = 'E-commerce website setup and customization for beauty products'
date = '2021-05-27' date = '2021-05-27'
lastmod = '2021-05-27' lastmod = '2021-05-27'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/amore-ecommerce.png'] images = ['images/project/amore-ecommerce.png']
services = ['web-application-development', 'e-commerce'] services = ['web-application-development', 'e-commerce']
tagsspot = ['Software development', 'Web application', 'E-commerce'] tags = ['Software development', 'Web application', 'E-commerce']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'E-commerce website setup and customization ' title = 'E-commerce website setup and customization '
date = '2012-08-02' date = '2012-08-02'
lastmod = '2012-08-02' lastmod = '2012-08-02'

View file

@ -1,13 +1,13 @@
+++ +++
images = ['images/project/botta-online-museum.png'] images = ['images/project/botta-online-museum.png']
services = ['web-application-development', 'e-commerce'] services = ['web-application-development', 'e-commerce']
tagsspot = ['Software development', 'Web application', 'E-commerce', 'Custom CMS'] tags = ['Software development', 'Web application', 'E-commerce', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'Online museum and e-commerce' title = 'Online museum and e-commerce'
date = '2017-04-15' date = '2017-04-15'
lastmod = '2017-04-15' lastmod = '2017-04-15'
+++ +++
Client : Museo Botta (Rovereto - IT) Client: Museo Botta (Rovereto - IT)
Car models and advertising objects virtual museum with custom e-commerce Car models and advertising objects virtual museum with custom e-commerce

View file

@ -2,8 +2,8 @@
images = ['images/project/cspolsa-renting-software.jpg'] images = ['images/project/cspolsa-renting-software.jpg']
mainclass = 'app-development' mainclass = 'app-development'
services = ['desktop-applications'] services = ['desktop-applications']
tagsspot = ['Software development', 'Desktop application'] tags = ['Software development', 'Desktop application']
categoriesspot = ['Projects'] categories = ['Projects']
title = 'Ski rental service software application' title = 'Ski rental service software application'
date = '2017-12-12' date = '2017-12-12'
lastmod = '2017-12-12' lastmod = '2017-12-12'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/daxtor-firewall-vpn-server-farm.jpg'] images = ['images/project/daxtor-firewall-vpn-server-farm.jpg']
services = ['security-firewalls-vpn', 'managed-linux-servers'] services = ['security-firewalls-vpn', 'managed-linux-servers']
tagsspot = ['VPN', 'Firewall', 'System Administration'] tags = ['VPN', 'Firewall', 'System Administration']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'Firewall, VPN and server farm network' title = 'Firewall, VPN and server farm network'
date = '2002-06-07' date = '2002-06-07'
lastmod = '2002-06-07' lastmod = '2002-06-07'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/deflorian-server.png'] images = ['images/project/deflorian-server.png']
services = ['online-offline-collaboration', 'managed-linux-servers'] services = ['online-offline-collaboration', 'managed-linux-servers']
tagsspot = ['NAS', 'Office server'] tags = ['NAS', 'Office server']
categoriesspot= ['Projects'] categories= ['Projects']
subTitle = 'Linux server to serve many users with different privileges in a MS Windows environment' subTitle = 'Linux server to serve many users with different privileges in a MS Windows environment'
title = 'Linux file and backup server' title = 'Linux file and backup server'
date = '2011-03-12' date = '2011-03-12'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/encrypt-compress-emails-on-server.jpg'] images = ['images/blog/encrypt-compress-emails-on-server.jpg']
tagsspot = ['Security','Server','Privacy', 'Dovecot'] tags = ['Security','Server','Privacy', 'Dovecot']
categoriesspot= ['Solutions'] categories= ['Solutions']
date = '2022-07-08' date = '2022-07-08'
lastmod = '2022-07-08' lastmod = '2022-07-08'
title = 'Encrypt and compress emails server side' title = 'Encrypt and compress emails server side'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/finova-vps-servers-firewall-vpn.jpg'] images = ['images/project/finova-vps-servers-firewall-vpn.jpg']
services = ['security-firewalls-vpn'] services = ['security-firewalls-vpn']
tagsspot = ['Firewall', 'VPN', 'Networking', 'OpnSense', 'System Administration'] tags = ['Firewall', 'VPN', 'Networking', 'OpnSense', 'System Administration']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'VPS servers, Firewall and VPN' title = 'VPS servers, Firewall and VPN'
date = '2019-09-14' date = '2019-09-14'
lastmod = '2019-09-14' lastmod = '2019-09-14'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/finova-oracle-apex.png'] images = ['images/project/finova-oracle-apex.png']
services = ['managed-linux-servers'] services = ['managed-linux-servers']
tagsspot = ['System administration', 'Database', 'Server', 'Linux'] tags = ['System administration', 'Database', 'Server', 'Linux']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'Oracle database and APEX' title = 'Oracle database and APEX'
date = '2019-11-09' date = '2019-11-09'
lastmod = '2019-11-09' lastmod = '2019-11-09'

View file

@ -1,8 +1,7 @@
+++ +++
images = ['images/blog/fritzbox.jpg'] images = ['images/blog/fritzbox.jpg']
tags = ['VPN', 'Router', 'Networking']
categories = ['Security', 'VPN'] categories = ['Security', 'VPN']
tagsspot = ['VPN', 'Router', 'Networking']
categoriesspot = ['Solutions', 'Technology']
date = '2022-07-08' date = '2022-07-08'
lastmod = '2022-07-08' lastmod = '2022-07-08'
title = 'VPN with Fritz!Box router' title = 'VPN with Fritz!Box router'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/guiet-web-application-development.jpg'] images = ['images/project/guiet-web-application-development.jpg']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'Web application development' title = 'Web application development'
date = '2015-08-03' date = '2015-08-03'
lastmod = '2015-08-03' lastmod = '2015-08-03'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/home-assistant.jpg'] images = ['images/blog/home-assistant.jpg']
tagsspot = ['Home Assistant', 'Home automation'] tags = ['Home Assistant', 'Home automation']
categoriesspot= ['Technology'] categories= ['Technology']
PublishDate = '2022-08-30' PublishDate = '2022-08-30'
LastmodDate = '2022-08-30' LastmodDate = '2022-08-30'
title = 'Home automation with Home Assistant' title = 'Home automation with Home Assistant'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/lrm-drupal.png'] images = ['images/project/lrm-drupal.png']
services = ['web-application-development'] services = ['web-application-development']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'Drupal software development' title = 'Drupal software development'
date = '2010-06-13' date = '2010-06-13'
lastmod = '2010-06-13' lastmod = '2010-06-13'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/mariadb-replication-master-master.jpg'] images = ['images/blog/mariadb-replication-master-master.jpg']
categoriesspot = ['Solutions', 'Technology'] categories = ['Solutions', 'Technology']
tagsspot = ['Server', 'Database', 'Firewall', 'MariaDB', 'OpenSSL', 'UFW'] tags = ['Server', 'Database', 'Firewall', 'MariaDB', 'OpenSSL', 'UFW']
date = '2022-07-19' date = '2022-07-19'
lastmod = '2022-12-11' lastmod = '2022-12-11'
title = 'MariaDB replication master-master via Internet' title = 'MariaDB replication master-master via Internet'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/postgresql.jpg'] images = ['images/blog/postgresql.jpg']
categoriesspot = ['Solutions', 'Technology'] categories = ['Solutions', 'Technology']
tagsspot = ['Server', 'Database', 'PostgreSQL'] tags = ['Server', 'Database', 'PostgreSQL']
date = '2022-12-11' date = '2022-12-11'
lastmod = '2022-12-11' lastmod = '2022-12-11'
title = 'Database link with PostgreSQL' title = 'Database link with PostgreSQL'

View file

@ -2,8 +2,8 @@
client = 'SINT (Torino - IT)' client = 'SINT (Torino - IT)'
images = ['images/project/sint-crm.jpg'] images = ['images/project/sint-crm.jpg']
services = ['desktop-applications'] services = ['desktop-applications']
tagsspot = ['Software development', 'Desktop application', 'Oracle Database', 'Pascal'] tags = ['Software development', 'Desktop application', 'Oracle Database', 'Pascal']
categoriesspot= ['Projects'] categories= ['Projects']
title = 'CRM applications, Oracle and PCI certification' title = 'CRM applications, Oracle and PCI certification'
date = '2000-06-05' date = '2000-06-05'
lastmod = '2000-06-15' lastmod = '2000-06-15'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/synology-nas.jpg'] images = ['images/project/synology-nas.jpg']
categoriesspot = ['Solutions', 'Technology', 'Projects'] categories = ['Solutions', 'Technology', 'Projects']
tagsspot = ['NAS', 'File server'] tags = ['NAS', 'File server']
services = ['office-servers'] services = ['office-servers']
title = 'Synology NAS installation and configuration' title = 'Synology NAS installation and configuration'
date = '2021-07-03' date = '2021-07-03'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/versantus-drupal.jpg'] images = ['images/project/versantus-drupal.jpg']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Projects']
services = ['web-application-development', 'e-commerce'] services = ['web-application-development', 'e-commerce']
title = 'Drupal software development' title = 'Drupal software development'
date = '2016-02-03' date = '2016-02-03'

View file

@ -3,7 +3,7 @@ client = 'Cooperativa VillaMaria (Rovereto - IT)'
images = ['images/project/coopvillamaria-opnsense-firewalls.jpg'] images = ['images/project/coopvillamaria-opnsense-firewalls.jpg']
services = ['security-firewalls-vpn'] services = ['security-firewalls-vpn']
categoriespot = ['Projects', 'Solutions'] categoriespot = ['Projects', 'Solutions']
tagsspot = ['Firewall', 'VPN', 'Networking', 'OpnSense'] tags = ['Firewall', 'VPN', 'Networking', 'OpnSense']
title = 'Firewalls, VPN and content filtering' title = 'Firewalls, VPN and content filtering'
date = '2016-01-14' date = '2016-01-14'
lastmod = '2016-01-14' lastmod = '2016-01-14'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/wmtrento-data-sync.jpg'] images = ['images/project/wmtrento-data-sync.jpg']
services = ['web-application-development', 'e-commerce'] services = ['web-application-development', 'e-commerce']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Projects']
subTitle = 'PHP, MySQL, Joomla, Virtuemart' subTitle = 'PHP, MySQL, Joomla, Virtuemart'
title = 'Data synchronization procedures' title = 'Data synchronization procedures'
date = '2022-11-07' date = '2022-11-07'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/wmtrento-jspreadsheet.jpg'] images = ['images/project/wmtrento-jspreadsheet.jpg']
tagsspot = ['Software development', 'Web application'] tags = ['Software development', 'Web application']
categoriesspot= ['Projects'] categories= ['Projects']
services = ['web-application-development', 'e-commerce'] services = ['web-application-development', 'e-commerce']
title = 'Web spreadsheet application with sync capabilities' title = 'Web spreadsheet application with sync capabilities'
date = '2023-05-07' date = '2023-05-07'

View file

@ -1,3 +0,0 @@
+++
title = "IBIS Blog"
+++

View file

@ -1,25 +0,0 @@
+++
tagsibis = ['Economy', 'USA']
categoriesibis= ['Books']
images = ['images/blog/amadeo_peter_giannini.jpg']
title = "Amadeo Peter Giannini - The banker who invested in the future"
date = '2023-10-19'
lastmod = '2023-10-19'
+++
This book tells the story of the founder of Bank of Italy which later became Bank of America : Amadeo Peter Giannini.
Amadeo was the son of Italian migrants to the United States of America in the mid-1800s who from simple
peasants became landowners.
<!--more-->
The book tells the story of the Giannini family beginning with the emigration and childhood of Amadeo, who was orphaned
of his father at a young age had to grow up quickly.
The book not only exposes the historical context in which Amadeo spent his life, but also describes the values, principles
and ethics of Amadeo, who through his bank enabled the lives of so many people to be improved.
An important lesson in what should be the role of banks in our society.
[Article on Wikipedia](https://wikipedia.org/wiki/Amadeo_Giannini)

View file

@ -1,15 +0,0 @@
+++
tagsibis = ['Electricity', 'Electrotechnics']
categoriesibis= ['Science']
images = ['images/blog/tester.jpg']
title = "Online course of electricity and electrotechnics"
date = '2023-10-21'
lastmod = '2023-10-21'
+++
On the Youtube channel [Corrado Lai - The Electrical Prof](https://www.youtube.com/@laicorrado-theelectricalprof), rofessor Lai explains
in clear and simple language the fundamentals of electricity and electrical engineering, accessible even to the uninitiated.
On the other hand, to delve into purely practical aspects and follow step-by-step guides for installing electrical systems in a
a proper and professional manner, the Youtube channel [Stefano Lai Elettrica PLC](https://www.youtube.com/@ElettricaPLC) offers video guides
very detailed.

View file

@ -1,37 +0,0 @@
+++
tagsibis = ['Car', 'Security']
categoriesibis= ['Ideas']
images = ['images/blog/dashcam_car.jpg']
title = "Installing a dash cam on your own car"
date = '2023-10-29'
lastmod = '2023-10-29'
+++
In view of the dangers one may encounter on the road, both to oneself and to others,
I believe it is appropriate to install a pair of dash cams in one's car, one on the front windshield and one
on the rear window.
Many models of different features and prices exist, and after a research, looking for the right balance between functionality provided and my own needs,
I decided to purchase one of these : [Viofo Dashcams](https://viofo.com/)
For my needs, I chose this one : [Viofo A229](https://viofo.com/content/73-viofo-a229-duo-dual-channel-dash-cam/).
This dash cam is a dual type, that is, it shoots from two cameras (front and back) and also offers parking mode via this [parking kit](https://viofo.com/accessories/323-viofo-type-c-hk4-hardwire-kit-with-8pcs-full-set-circuit-fuse-tap-for-a119-mini2a229t130wm1a139a139pro.html)
It is basically a small 12V->5V transformer that connects to the fuse box in the passenger compartment via 2 adapters : one connection should be made to an outlet that receives voltage only when the car is on and the other (for parking mode) that always receives voltage, even when the car is off.
The transformer has a selector switch that allows you to set the threshold of voltage received below which it automatically turns off the dash cam to avoid
deplete the car battery charge.
Another important feature of this dash cam is the presence of a capacitor, which, when power is cut off to the dash cam, is able to provide the necessary current to the dash cam for a clean shutdown, allowing it to save the recording properly, without the risk of losing data or corrupting the file system of the sd card.
In my installation, I added 3 small switches that allow me to completely cut off the power to the dash cam transformer, when, for example, the car is in a safe parking lot.
{{<figure src="/img/blog/dashcam-switch.jpg" class="img-content text-center" alt="Dashcam kill switch">}}
Based on my experience, I believe that it would be very useful to have the following provisions on the cars to allow for simplified installation
of the dash cam of your choice and also a possible replacement :
1. a conduit for cable passage from the rear window under the top of the car to the rearview mirror
2. a conduit for cable passage from the top center of the windshield to the passenger compartment fuse box
3. provision in the fuse box of two power outlets : one always powered and one only when the engine is running
Wanting to further improve the safety of the installation, it would be very useful to have the provision for a small battery, separate
from the main one in the car, that recharges when the engine is running and dedicated only to dash cams or to other additional devices that you would want to
install on your car, such as some SBCs like Raspberry or a tablet.

View file

@ -1,21 +0,0 @@
+++
tagsibis = ['Economy', 'Italy']
categoriesibis= ['Books']
images = ['images/blog/economia-spiegata-facile-costantino-rover.jpg']
title = "Economics easy explained by Costantino Rover"
date = '2023-10-19'
lastmod = '2023-10-19'
+++
This book, in simple and direct language, and with documented analysis of facts and figures,
summarizes the most important and significant economic events in the Italian economy,
analyzing in detail the wrong decisions and causes that led to a general impoverishment
of the country.
He also explains in a very understandable way, even to the uninitiated, the main indicators
economy and what solutions could be adopted to bring the real economy back to the center
of attention, depowering speculative finance and predatory capitalism.
Sito web : [Economia Spiegata Facile](https://economiaspiegatafacile.it/)

View file

@ -23,11 +23,11 @@ Software applications (project management, time tracking, inventory, accounting,
The applications are accessible from everywhere (only an Internet connection is necessary), dont require an installation and can be used simultaneously by many users and support every operating system (MS Windows, Linux, Apple) and every mobile device (smartphone and tablet). The applications are accessible from everywhere (only an Internet connection is necessary), dont require an installation and can be used simultaneously by many users and support every operating system (MS Windows, Linux, Apple) and every mobile device (smartphone and tablet).
###### Tecnology used #### Tecnology used
Language and development framework : [PHP](https://www.php.net/), [CodeIgniter](https://codeigniter.org), [HTMX](https://htmx.org), [Ionic Framework](https://ionicframework.com/), [FreePascal](https://www.freepascal.org/) and [Lazarus IDE](https://www.lazarus-ide.org/) Language and development framework : [PHP](https://www.php.net/), [CodeIgniter](https://codeigniter.org), [HTMX](https://htmx.org), [Ionic Framework](https://ionicframework.com/), [FreePascal](https://www.freepascal.org/) and [Lazarus IDE](https://www.lazarus-ide.org/)
Database : [MariaDB](https://www.mariadb.org/), [PostgreSQL](https://postgresql.org), [SQLite](https://sqlite.org) Database : [MariaDB](https://www.mariadb.org/), [PostgreSQL](https://postgresql.org), [SQLite](https://sqlite.org)
###### Applications #### Applications
- Project management - Project management
- Time tracking - Time tracking
- Inventory - Inventory

View file

@ -23,11 +23,11 @@ collaborators. It also allows you to centralize the backup of your most importan
A NAS can be built either with dedicated hardware such as Synology, or on generic hardware and selected according to the customer's specific needs. A NAS can be built either with dedicated hardware such as Synology, or on generic hardware and selected according to the customer's specific needs.
###### Tecnology used #### Tecnology used
[NextCloud](https://nextcloud.org), [OpenMediaVault](https://www.openmediavault.org/), [TrueNAS](https://www.truenas.com/truenas-community-editions/), [Synology](https://www.synology.com/), [Seafile](https://www.seafile.com) [NextCloud](https://nextcloud.org), [OpenMediaVault](https://www.openmediavault.org/), [TrueNAS](https://www.truenas.com/truenas-community-editions/), [Synology](https://www.synology.com/), [Seafile](https://www.seafile.com)
###### Applications #### Applications
- Internal and external file and document sharing - Internal and external file and document sharing
- Centralized access to activity documents with diversified privileges - Centralized access to activity documents with diversified privileges
- Centralized and shared collaboration platform - Centralized and shared collaboration platform

View file

@ -1,6 +1,6 @@
+++ +++
tagsspot = ['Software development', 'Web application'] tags = ['Software development', 'Web application']
categoriesspot= ['Projects'] categories= ['Progetti']
images = ['images/project/agiati-web-application-development.png'] images = ['images/project/agiati-web-application-development.png']
services = ['application-development', 'websites-custom-cms'] services = ['application-development', 'websites-custom-cms']
title = 'Applicazioni web per contabilità, gestione soci e CMS personalizzato' title = 'Applicazioni web per contabilità, gestione soci e CMS personalizzato'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/altevie-web-application-geolocation.png'] images = ['images/project/altevie-web-application-geolocation.png']
tagsspot= ['Software development', 'Web application'] tags= ['Software development', 'Web application']
categoriesspot = ['Projects'] categories = ['Progetti']
services = ['application-development'] services = ['application-development']
title = 'Applicazione per il tracciamento di Skibus con GPS' title = 'Applicazione per il tracciamento di Skibus con GPS'
date = '2015-01-31' date = '2015-01-31'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/amor-cosmetics-ecommerce.png'] images = ['images/project/amor-cosmetics-ecommerce.png']
tagsspot = ['Software development', 'Web application', 'E-commerce'] tags = ['Software development', 'Web application', 'E-commerce']
categoriesspot= ['Projects'] categories= ['Progetti']
services = ['application-development', 'e-commerce'] services = ['application-development', 'e-commerce']
title = 'Configurazione e personalizzazione del sito di e-commerce per prodotti di bellezza' title = 'Configurazione e personalizzazione del sito di e-commerce per prodotti di bellezza'
date = '2021-05-27' date = '2021-05-27'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/amore-ecommerce.png'] images = ['images/project/amore-ecommerce.png']
tagsspot = ['Software development', 'Web application', 'E-commerce'] tags = ['Software development', 'Web application', 'E-commerce']
categoriesspot= ['Projects'] categories= ['Progetti']
services = ['application-development', 'e-commerce'] services = ['application-development', 'e-commerce']
title = 'Installazione e personalizzazione sito e-commerce' title = 'Installazione e personalizzazione sito e-commerce'
date = '2012-08-02' date = '2012-08-02'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/botta-online-museum.png'] images = ['images/project/botta-online-museum.png']
services = ['application-development', 'e-commerce', 'websites-custom-cms'] services = ['application-development', 'e-commerce', 'websites-custom-cms']
tagsspot = ['Software development', 'Web application', 'E-commerce', 'Custom CMS'] tags = ['Software development', 'Web application', 'E-commerce', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Museo e shop online' title = 'Museo e shop online'
date = '2017-04-15' date = '2017-04-15'
lastmod = '2017-04-15' lastmod = '2017-04-15'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/cspolsa-renting-software.jpg'] images = ['images/project/cspolsa-renting-software.jpg']
services = ['application-development'] services = ['application-development']
tagsspot = ['Software development', 'Desktop application'] tags = ['Software development', 'Desktop application']
categoriesspot = ['Projects'] categories = ['Progetti']
subTitle = 'Applicazione desktop multipiattaforma per Linux, Mac and Windows' subTitle = 'Applicazione desktop multipiattaforma per Linux, Mac and Windows'
title = 'Software per noleggio attrezzature per lo sci' title = 'Software per noleggio attrezzature per lo sci'
date = '2017-12-12' date = '2017-12-12'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/daxtor-firewall-vpn-server-farm.jpg'] images = ['images/project/daxtor-firewall-vpn-server-farm.jpg']
services = ['security-firewalls-vpn'] services = ['security-firewalls-vpn']
tagsspot = ['VPN', 'Firewall', 'System Administration'] tags = ['VPN', 'Firewall', 'System Administration']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Firewall, VPN e rete in server farm' title = 'Firewall, VPN e rete in server farm'
date = '2002-06-07' date = '2002-06-07'
lastmod = '2002-06-07' lastmod = '2002-06-07'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/deflorian-server.png'] images = ['images/project/deflorian-server.png']
services = ['online-offline-collaboration'] services = ['online-offline-collaboration']
tagsspot = ['NAS', 'Office server'] tags = ['NAS', 'Office server']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Server Linux come file e backup server' title = 'Server Linux come file e backup server'
date = '2011-03-12' date = '2011-03-12'
lastmod = '2011-03-12' lastmod = '2011-03-12'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/encrypt-compress-emails-on-server.jpg'] images = ['images/blog/encrypt-compress-emails-on-server.jpg']
tagsspot = ['Security','Server','Privacy', 'Dovecot'] tags = ['Security','Server','Privacy', 'Dovecot']
categoriesspot= ['Solutions'] categories= ['Soluzioni']
date = '2022-07-08' date = '2022-07-08'
lastmod = '2022-07-08' lastmod = '2022-07-08'
title = 'Cifrare e comprimere le email lato server' title = 'Cifrare e comprimere le email lato server'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/finova-vps-servers-firewall-vpn.jpg'] images = ['images/project/finova-vps-servers-firewall-vpn.jpg']
services = ['security-firewalls-vpn', 'managed-linux-servers'] services = ['security-firewalls-vpn', 'managed-linux-servers']
tagsspot = ['Firewall', 'VPN', 'Networking', 'OpnSense', 'System Administration'] tags = ['Firewall', 'VPN', 'Networking', 'OpnSense', 'System Administration']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Servers VPS, Firewall e VPN' title = 'Servers VPS, Firewall e VPN'
date = '2019-09-14' date = '2019-09-14'
lastmod = '2019-09-14' lastmod = '2019-09-14'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/fritzbox.jpg'] images = ['images/blog/fritzbox.jpg']
tagsspot = ['VPN', 'Router', 'Networking'] tags = ['VPN', 'Router', 'Networking']
categoriesspot = ['Solutions', 'Technology'] categories = ['Soluzioni', 'Technology']
date = '2022-07-08' date = '2022-07-08'
lastmod = '2022-07-08' lastmod = '2022-07-08'
title = 'VPN con router Fritz!Box' title = 'VPN con router Fritz!Box'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/guiet-web-application-development.jpg'] images = ['images/project/guiet-web-application-development.jpg']
services = ['application-development', 'websites-custom-cms'] services = ['application-development', 'websites-custom-cms']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Svilluppo di applicazioni web' title = 'Svilluppo di applicazioni web'
date = '2015-08-03' date = '2015-08-03'
lastmod = '2015-08-03' lastmod = '2015-08-03'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/home-assistant.jpg'] images = ['images/blog/home-assistant.jpg']
tagsspot = ['Home Assistant', 'Home automation'] tags = ['Home Assistant', 'Home automation']
categoriesspot= ['Technology'] categories= ['Technology']
PublishDate = '2022-08-30' PublishDate = '2022-08-30'
LastmodDate = '2022-08-30' LastmodDate = '2022-08-30'
title = 'Automazione casa con Home Assistant' title = 'Automazione casa con Home Assistant'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/lrm-drupal.png'] images = ['images/project/lrm-drupal.png']
services = ['application-development', 'websites-custom-cms'] services = ['application-development', 'websites-custom-cms']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Sviluppo software per Drupal' title = 'Sviluppo software per Drupal'
date = '2010-06-13' date = '2010-06-13'
lastmod = '2010-06-13' lastmod = '2010-06-13'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/mariadb-replication-master-master.jpg'] images = ['images/blog/mariadb-replication-master-master.jpg']
categoriesspot = ['Solutions', 'Technology'] categories = ['Soluzioni', 'Technology']
tagsspot = ['Server', 'Database', 'Firewall', 'MariaDB', 'OpenSSL', 'UFW'] tags = ['Server', 'Database', 'Firewall', 'MariaDB', 'OpenSSL', 'UFW']
date = '2022-07-19' date = '2022-07-19'
lastmod = '2022-12-11' lastmod = '2022-12-11'
title = 'Replicazione master-master MariaDB tramite Internet' title = 'Replicazione master-master MariaDB tramite Internet'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/blog/postgresql.jpg'] images = ['images/blog/postgresql.jpg']
categoriesspot = ['Solutions', 'Technology'] categories = ['Soluzioni', 'Technology']
tagsspot = ['Server', 'Database', 'PostgreSQL'] tags = ['Server', 'Database', 'PostgreSQL']
date = '2022-12-11' date = '2022-12-11'
lastmod = '2022-12-11' lastmod = '2022-12-11'
title = 'Database link con PostgreSQL' title = 'Database link con PostgreSQL'

View file

@ -2,8 +2,8 @@
client = 'SINT (Torino - IT)' client = 'SINT (Torino - IT)'
images = ['images/project/sint-crm.jpg'] images = ['images/project/sint-crm.jpg']
services = ['application-development'] services = ['application-development']
tagsspot = ['Software development', 'Desktop application', 'Oracle Database', 'Pascal'] tags = ['Software development', 'Desktop application', 'Oracle Database', 'Pascal']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Applicazioni per CRM, Oracle e certificazione PCI' title = 'Applicazioni per CRM, Oracle e certificazione PCI'
date = '2000-06-05' date = '2000-06-05'
lastmod = '2000-06-15' lastmod = '2000-06-15'

View file

@ -2,8 +2,8 @@
client = 'Diversi' client = 'Diversi'
images = ['images/project/synology-nas.jpg'] images = ['images/project/synology-nas.jpg']
services = ['office-servers'] services = ['office-servers']
categoriesspot = ['Solutions', 'Technology', 'Projects'] categories = ['Soluzioni', 'Technology', 'Progetti']
tagsspot = ['NAS', 'File server'] tags = ['NAS', 'File server']
title = 'Installazione e configurazione Synology NAS' title = 'Installazione e configurazione Synology NAS'
date = '2021-07-03' date = '2021-07-03'
lastmod = '2021-07-03' lastmod = '2021-07-03'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/versantus-drupal.jpg'] images = ['images/project/versantus-drupal.jpg']
services = ['application-development', 'e-commerce'] services = ['application-development', 'e-commerce']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Sviluppo software per Drupal' title = 'Sviluppo software per Drupal'
date = '2016-02-03' date = '2016-02-03'
lastmod = '2016-02-03' lastmod = '2016-02-03'

View file

@ -2,8 +2,8 @@
client = 'Cooperativa VillaMaria (Rovereto - IT)' client = 'Cooperativa VillaMaria (Rovereto - IT)'
images = ['images/project/coopvillamaria-opnsense-firewalls.jpg'] images = ['images/project/coopvillamaria-opnsense-firewalls.jpg']
services = ['security-firewalls-vpn'] services = ['security-firewalls-vpn']
categoriespot = ['Projects', 'Solutions'] categoriespot = ['Progetti', 'Soluzioni']
tagsspot = ['Firewall', 'VPN', 'Networking', 'OpnSense'] tags = ['Firewall', 'VPN', 'Networking', 'OpnSense']
title = 'Firewalls, VPN e filtraggio contenuti' title = 'Firewalls, VPN e filtraggio contenuti'
date = '2016-01-14' date = '2016-01-14'
lastmod = '2016-01-14' lastmod = '2016-01-14'

View file

@ -1,8 +1,8 @@
+++ +++
images = ['images/project/wmtrento-data-sync.jpg'] images = ['images/project/wmtrento-data-sync.jpg']
services = ['application-development', 'e-commerce'] services = ['application-development', 'e-commerce']
tagsspot = ['Software development', 'Web application', 'Custom CMS'] tags = ['Software development', 'Web application', 'Custom CMS']
categoriesspot= ['Projects'] categories= ['Progetti']
title = 'Procedure di sincronizzazione dati' title = 'Procedure di sincronizzazione dati'
date = '2022-11-07' date = '2022-11-07'
lastmod = '2022-11-07' lastmod = '2022-11-07'

View file

@ -1,7 +1,7 @@
+++ +++
images = ['images/project/wmtrento-jspreadsheet.jpg'] images = ['images/project/wmtrento-jspreadsheet.jpg']
tagsspot = ['Software development', 'Web application'] tags = ['Software development', 'Web application']
categoriesspot= ['Projects'] categories= ['Progetti']
services = ['application-development', 'e-commerce'] services = ['application-development', 'e-commerce']
title = 'Applicazione web con funzionalità di foglio di calcolo e sincronizzazione' title = 'Applicazione web con funzionalità di foglio di calcolo e sincronizzazione'
date = '2023-05-07' date = '2023-05-07'

View file

@ -1,3 +0,0 @@
+++
title = "IBIS Blog"
+++

View file

@ -1,28 +0,0 @@
+++
tagsibis = ['Economy', 'USA']
categoriesibis= ['Books']
images = ['images/blog/amadeo_peter_giannini.jpg']
title = "Amadeo Peter Giannini - Il banchiere che investiva nel futuro"
date = '2023-10-19'
lastmod = '2023-10-19'
+++
Questo libro racconta la storia del fondatore di Bank of Italy divenuta in seguito Bank of America :
Amadeo Peter Giannini.
Amadeo era figlio di migranti italiani negli Stati Uniti d'America a metà del 1800 che da semplici
contadini divennero proprietari terrieri.
<!--more-->
Il libro racconta la storia della famiglia Giannini a partire dall'emigrazione e dell'infanzia di Amadeo, che rimasto orfano
di padre in giovane età dovette crescere in fretta.
Il libro non espone solo il contesto storico in cui Amadeo trascorse la sua vita, ma descrive anche i valori, i principi
e l'etica di Amadeo, che tramite la sua banca consentì di migliorare le vite di moltissime persone.
Una importante lezione su quello che dovrebbe essere il ruolo delle banche nella nostra società.
[Articolo su Wikipedia](https://it.wikipedia.org/wiki/Amadeo_Giannini)

View file

@ -1,15 +0,0 @@
+++
tagsibis = ['Electricity', 'Electrotechnics']
categoriesibis= ['Science']
images = ['images/blog/tester.jpg']
title = "Corso online di elettricità ed elettrotecnica"
date = '2023-10-21'
lastmod = '2023-10-21'
+++
Sul canale Youtube [Corrado Lai - Il prof elettrico](https://www.youtube.com/@laicorrado-ilprofelettrico), il professor Lai spiega
con un linguaggio semplice e chiaro i fondamenti di elettricità e di elettrotecnica, accessibili anche ai non adetti ai lavori.
Per approfondire invece gli aspetti puramente pratici e seguire delle guide passo-passo per l'installazione di impianti eletrici in
maniera corretta e professionale il canale Youtube [Stefano Lai Elettrica PLC](https://www.youtube.com/@ElettricaPLC) offre delle videoguide
molto dettagliate.

View file

@ -1,37 +0,0 @@
+++
tagsibis = ['Car', 'Security']
categoriesibis= ['Ideas']
images = ['images/blog/dashcam_car.jpg']
title = "Montare una dashcam sulla propria auto"
date = '2023-10-29'
lastmod = '2023-10-29'
+++
In considerazione dei pericoli che si possono incontrare sulla strada, sia per se stessi che per gli altri,
credo che sia opportuno installare sulla propria auto una coppia di dash cam, una sul parabrezza anteriore ed una
sul lunotto posteriore.
Ne esistono di diversi caratteristiche e prezzi, e dopo una serie di ricerche, cercando un giusto equilibrio tra funzionalità offerte e necessità,
ho deciso di acquistare una di queste : [Viofo Dashcams](https://viofo.com/)
Per le mi esigenze ho scelto questa : [Viofo A229](https://viofo.com/content/73-viofo-a229-duo-dual-channel-dash-cam/).
Questa dash cam è di tipo duale, ossia riprende da due obiettivi (fronte e retro) ed inoltre offre la modalità parcheggio tramite questo [parking kit](https://viofo.com/accessories/323-viofo-type-c-hk4-hardwire-kit-with-8pcs-full-set-circuit-fuse-tap-for-a119-mini2a229t130wm1a139a139pro.html)
Si tratta sostanzialmente di un piccolo trasformatore 12V->5V che si collega alla scatola dei fusibili nell'abitacolo tramite 2 adattatori : un collegamento va fatto ad una presa di corrente che riceve tensione solo quando l'auto è accesa e l'altro (per la modalità parcheggio) che riceve sempre tensione, anche con l'auto spenta.
Il trasformatore dispone di un selettore che consente di impostare la soglia di tensione ricevuta sotto la quale automaticamente spegne la dash cam per evitare di
esaurire la carica della batteria dell'auto.
Un'altra caratteristica importante di questa dash cam è la presenza di un capacitore, il quale, quando viene interrotta l'alimentazione alla dash cam, è in grado di fornire la corrente necessaria alla dash cam per uno spegnimento pulito, permettendole di salvare la registrazione correttamente, senza il rischio di perdere dati o di corrompere il file system dalla sd card.
Nella mia installazione ho aggiunto 3 piccoli pulsanti che mi consentono di escludere completamente la corrente al trasformatore della dash cam, quando ad esempio l'auto si trova in un parcheggio sicuro.
{{<figure src="/img/blog/dashcam-switch.jpg" class="img-content text-center" alt="Dashcam kill switch">}}
In base alla mia esperienza, credo che sarebbe molto utile avere sulle auto le seguenti predisposizioni, in modo da consentire un'installazione semplificata
della dash cam di propria scelta ed anche un eventuale sostituzione :
1. una canalina per passaggio cavo dal lunotto posteriore sotto il cielo dell'auto fino allo specchietto retrovisore
2. una canalina per passaggio cavo dalla parte alta centrale del parabrezza fino alla scatola fusibili abitacolo
3. predisposizione in scatola fusibili di due prese corrente : una sempre alimentata ed una solo a motore acceso
Volendo ulteriormente migliorare la sicurezza dell'installazione sarebbe molto utile avere la predisposizione per una piccola batteria separata
da quella dell'autovettura che si ricarica quando il motore è acceso e dedicata solo alle dash cam od altri devices aggiuntivi che si volessero
installare sulla propria auto, come ad esempio qualche SBC come Raspberry o un tablet.

View file

@ -1,19 +0,0 @@
+++
tagsibis = ['Economy', 'Italy']
categoriesibis= ['Books']
images = ['images/blog/economia-spiegata-facile-costantino-rover.jpg']
title = "Economia spiegata facile di Costantino Rover"
date = '2023-10-19'
lastmod = '2023-10-19'
+++
Questo libro, con un linguaggio semplice e diretto, e con documentata analisi di fatti e numeri,
riassume gli eventi economici più importanti e significativi dell'economia italiana,
analizzando nel dettaglio le decisioni sbagliate e le cause che hanno portato ad un generale impoverimento
del paese.
Spega anche in maniera molto comprensibile, anche ai non addetti ai lavori, i principali indicatori
economici e quali soluzioni potrebbero essere adottate per riportare l'economia reale al centro
dell'attenzione, depotenziando la finanza speculativa ed il capitalismo predatorio.
Sito web : [Economia Spiegata Facile](https://economiaspiegatafacile.it/)

View file

@ -1,4 +0,0 @@
---
title: Libri
url: /categorie/ibis/libro
---

View file

@ -1,4 +0,0 @@
---
title: Idee
url: /categorie/ibis/idee
---

View file

@ -1,4 +0,0 @@
---
title: Scienza
url: /categorie/ibis/scienza
---

View file

@ -1,4 +0,0 @@
---
title: Progetti
url: /categorie/spot/progetti
---

View file

@ -1,4 +0,0 @@
---
title: Soluzioni
url: /categorie/spot/soluzioni
---

View file

@ -1,4 +0,0 @@
---
title: Tecnologia
url: /categorie/spot/tecnologia
---

View file

@ -21,11 +21,13 @@ Applicazioni (gestione progetti, registrazione attività, magazzino, contabilià
Le applicazioni sono accessibili da ovunque nel mondo (è sufficiente una connessione ad Internet), non richiedono nessuna installazione e possono essere utilizzati contemporaneamente da più postazioni e possono essere utlizzati da qualsiasi sistema operativo (MS Windows, Linux, Apple), compresi i dispositivi mobili (smartphone e tablet). Le applicazioni sono accessibili da ovunque nel mondo (è sufficiente una connessione ad Internet), non richiedono nessuna installazione e possono essere utilizzati contemporaneamente da più postazioni e possono essere utlizzati da qualsiasi sistema operativo (MS Windows, Linux, Apple), compresi i dispositivi mobili (smartphone e tablet).
###### Tecnologie utilizzate
#### Tecnologie utilizzate
Linguaggio e framework di sviluppo : [PHP](https://www.php.net/), [CodeIgniter](https://codeigniter.org), [HTMX](https://htmx.org), [Ionic Framework](https://ionicframework.com/), [FreePascal](https://www.freepascal.org/) e [Lazarus IDE](https://www.lazarus-ide.org/) Linguaggio e framework di sviluppo : [PHP](https://www.php.net/), [CodeIgniter](https://codeigniter.org), [HTMX](https://htmx.org), [Ionic Framework](https://ionicframework.com/), [FreePascal](https://www.freepascal.org/) e [Lazarus IDE](https://www.lazarus-ide.org/)
Database : [MariaDB](https://www.mariadb.org/), [PostgreSQL](https://postgresql.org), [SQLite](https://sqlite.org) Database : [MariaDB](https://www.mariadb.org/), [PostgreSQL](https://postgresql.org), [SQLite](https://sqlite.org)
###### Applicazioni
#### Applicazioni
- Gestione progetti - Gestione progetti
- Rendicontazione attività - Rendicontazione attività
- Magazzino - Magazzino

View file

@ -23,11 +23,11 @@ collaboratori. Consente inoltre anche di centralizzare il backup dei dati più i
Un NAS può essere realizzato sia con hardware dedicato come Synology, oppure su hardware generico e selezionato in base alle specifiche necessità del cliente. Un NAS può essere realizzato sia con hardware dedicato come Synology, oppure su hardware generico e selezionato in base alle specifiche necessità del cliente.
###### Tecnologie utilizzate #### Tecnologie utilizzate
[NextCloud](https://nextcloud.org), [OpenMediaVault](https://www.openmediavault.org/), [TrueNAS](https://www.truenas.com/truenas-community-editions/), [Synology](https://www.synology.com/it-it), [Seafile](https://www.seafile.com) [NextCloud](https://nextcloud.org), [OpenMediaVault](https://www.openmediavault.org/), [TrueNAS](https://www.truenas.com/truenas-community-editions/), [Synology](https://www.synology.com/it-it), [Seafile](https://www.seafile.com)
###### Applicazioni #### Applicazioni
- Condivisione files e documenti interna ed esterna - Condivisione files e documenti interna ed esterna
- Accesso centralizzato ai documenti dell'attività con privilegi diversificati - Accesso centralizzato ai documenti dell'attività con privilegi diversificati
- Piattaforma di collaborazione centralizzata e condivisa - Piattaforma di collaborazione centralizzata e condivisa

View file

@ -1,4 +0,0 @@
---
title: Automobile
url: /etichette/ibis/automobile
---

View file

@ -1,4 +0,0 @@
---
title: Economia
url: /etichette/ibis/economia
---

View file

@ -1,4 +0,0 @@
---
title: Elettricità
url: /etichette/ibis/elettricita
---

View file

@ -1,4 +0,0 @@
---
title: Elettrotecnica
url: /etichette/ibis/elettrotecnica
---

View file

@ -1,4 +0,0 @@
---
title: Italia
url: /etichette/ibis/italia
---

View file

@ -1,4 +0,0 @@
---
title: Sicurezza
url: /etichette/ibis/sicurezza
---

View file

@ -1,4 +0,0 @@
---
title: Applicazioni desktop
url: /etichette/spot/desktop-application
---

View file

@ -1,4 +0,0 @@
---
title: Sviluppo software
url: /etichette/spot/sviluppo-software
---

View file

@ -1,4 +0,0 @@
---
title: Applicazioni web
url: /etichette/spot/web-application
---

View file

@ -1,23 +1,11 @@
title: "Roberto Gerola" title: ""
image : "/img/roberto.jpg"
description: | description: |
I have a degree in engineering and since 1999 I have been offering a full range of IT (Information Technology) services with original and long-lasting solutions tailored to specific customer needs with emphasis on reliability, simplicity, security and privacy. Design and development of custom web and desktop software applications for website backends, e-commerce platforms, management systems, and PWAs
(Progressive Web Applications) using open source technologies that respect privacy and European digital sovereignty.
I provide complete custom software development services starting from analysis, study and design of database and storage systems, to complete implementation, Installation, configuration, and maintenance of dedicated Linux servers on-site or remotely.
using only modern and advanced open source technologies and different development languages chosen from time to time according to the specific project.
For many years I have also been involved in system administration on Linux servers. Installation, configuration, and maintenance of Linux desktop clients as an alternative to Microsoft Windows.
I keep myself constantly updated on new technologies and solutions and I am constantly looking for state-of-the-art solutions in every IT area :
[software development](/en/service/web-application-development/), [database](/en/service/linux-servers/), [networking](/en/service/security-firewalls-vpn/),
[server management](/en/service/linux-servers/), [firewall](/en/service/security-firewalls-vpn/), [VPN](/en/service/security-firewalls-vpn/).
Data control and privacy are indispensable, which is why I offer my clients [hosting services on virtual private servers (VPS) in European data centers](https://contabo.com) that I manage directly.
I devote special attention to cybersecurity, protection and access control of data, both in terms of the solutions I design and develop and the protection of servers and networks through firewalls and VPNs.
For more details and news about my activities and interests you can consult my 2 blogs on this site :
- [SPoT](/en/blog/spot) : [Solutions](/en/categories/spot/solutions/), [Projects](/en/categories/spot/projects/) and [Technology](/en/categories/spot/technology/), devoted to my professional activity
- [IBiS](/en/blog/ibis) : [Ideas](/en/categories/spot/ideas/), [Books](/en/categories/spot/books/) and [Science](/en/categories/spot/science/), devoted to my more personal interests
Open source, privacy-friendly, and encrypted solutions for: email, messaging, document sharing, and password management.

View file

@ -1,28 +1,10 @@
title: "Roberto Gerola" title: ""
image : "/img/roberto.jpg"
description: | description: |
Sono laureato in ingegneria e dal 1999 offro una completa gamma di servizi per l'IT (Information Technology) con soluzioni originali e durature nel tempo, Progettazione e realizzazione di applicativi software web e desktop personalizzati per backend siti web, piattaforme di ecommerce, gestionali e PWA
realizzate su misura in base alle specifiche necessità del cliente con particolare riguardo alla affidabilità, semplicità, (Progressive Web Application) con tecnologie open source e rispettose della privacy e della sovranità digitale europea.
sicurezza e privacy.
Offro servizi di sviluppo software personalizato completi a partire dalla analisi, allo studio e progettazione dei sistemi di database Installazione, configurazione e manutenzione di servers Linux dedicati in sede o remoti.
e storage, fino all'implementazione completa, utilizzando solo tecnologie open source moderne ed avanzate
e diversi linguaggi di sviluppo scelti di volta in volta in base
allo specifico progetto.
Mi occupo inoltre da molti anni di amministrazione di sistema su servers Linux. Installazione, configurazione e manutenzione di client Linux desktop come alternativa a Microsoft Windows.
Mi tengo costantemente aggiornato sulle nuove tecnologie e soluzioni e sono alla costante ricerca di soluzioni all'avanguardia in ogni ambito IT :
[sviluppo software](/servizio/applicazioni-web), [database](/servizio/servers-con-linux/), [networking](/servizio/sicurezza-firewalls-vpn/),
[gestione server](/servizio/servers-con-linux/), [firewall](/servizio/sicurezza-firewalls-vpn/), [VPN](/servizio/sicurezza-firewalls-vpn/).
Considero irrinunciabili il controllo e la privacy dei dati e per questo offro ai miei clienti servizi di [hosting su server
virtuali privati (VPS) in datacenter europei](https://contabo.com) che gestisco direttamente.
Dedico particolare attenzione alla sicurezza informatica, alla protezione ed al controllo di accesso ai dati, sia per quanto riguarda
le soluzioni che progetto e sviluppo, sia per la protezione dei servers e delle reti tramite firewall e VPN.
Per ulteriori dettagli e novità sulle mie attività ed interessi potete consultare i miei 2 blogs presenti su questo sito :
- [SPoT](/blog/spot) : [Soluzioni](/categorie/spot/soluzioni/), [Progetti](/categorie/spot/progetti/) e [Tecnologia](/categorie/spot/tecnologia/), dedicato alla mia attività professionale
- [IBiS](/blog/ibis) : [Idee](/categorie/ibis/idee/), [LiBri](/categorie/ibis/libri/) e [Scienza](/categorie/ibis/scienza/), dedicato ai miei interessi più personali
Soluzioni open source, rispettose della privacy e cifrate per : posta elettronica, messaggistica, condivisione documenti, gestione password.

View file

@ -10,8 +10,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<h2><a href="{{ "blog/spot" | relLangURL }}">SPOT Blog</a></h2> <h2><a href="{{ "blog" | relLangURL }}">Blog</a></h2>
{{ partial "widgets/categoriesspot.html" . }}
</div> </div>
</div> </div>
</div> </div>
@ -22,16 +21,16 @@
<div class="row"> <div class="row">
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<div class="list-group"> <div class="list-group">
{{ $paginator := .Paginate ((where .Pages "Type" "blogspot").ByParam "lastmod").Reverse}} {{ $paginator := .Paginate ((where .Pages "Type" "blog").ByParam "lastmod").Reverse}}
{{ range $paginator.Pages }} {{ range $paginator.Pages }}
{{ partial "partials/article-item.html" (dict "article" . "tags" "spotcattags") }} {{ partial "partials/article-item.html" (dict "article" . "tags" "cattags") }}
{{ end }} {{ end }}
</div> </div>
{{ partial "partials/pagination.html" (dict "page" . "format" "default" "align" "center") }} {{ partial "partials/pagination.html" (dict "page" . "format" "default" "align" "center") }}
</div> </div>
{{ partial "partials/widgets/spotsidebar.html" . }} {{ partial "partials/widgets/sidebar.html" . }}
</div> </div>
</div> </div>
</div> </div>

View file

@ -10,8 +10,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<h2><a href="{{ "blog/spot" | relLangURL }}">SPOT Blog</a></h2> <h2><a href="{{ "blog/" | relLangURL }}">Blog</a></h2>
{{ partial "widgets/categoriesspot.html" . }}
<h3 class="title">{{ .Title }}</h3> <h3 class="title">{{ .Title }}</h3>
</div> </div>
</div> </div>
@ -35,10 +34,10 @@
<small>{{ i18n "publishdate"}} : {{.PublishDate.Format "2006-01-02"}}</small> | <small>{{ i18n "lastchange"}} : {{.Lastmod.Format "2006-01-02"}}</small> <small>{{ i18n "publishdate"}} : {{.PublishDate.Format "2006-01-02"}}</small> | <small>{{ i18n "lastchange"}} : {{.Lastmod.Format "2006-01-02"}}</small>
{{ partial "partials/widgets/spotcattags.html" . }} {{ partial "partials/widgets/cattags.html" . }}
</div> </div>
{{ partial "partials/widgets/spotsidebar.html" . }} {{ partial "partials/widgets/sidebar.html" . }}
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.Language.Lang }}">
{{ $Title := "Blog IBIS" }}
{{ partial "head.html" . }}
<body hx-boost="true" lang="{{ .Site.Language.Lang }}">
{{ partial "nav.html" . }}
<header class="blog">
<div class="container">
<div class="row">
<div class="col s12 m9 l9">
<h2><a href="{{ "blog/spot" | relLangURL }}">IBIS Blog</a></h2>
{{ partial "widgets/categoriesibis.html" . }}
</div>
</div>
</div>
</header>
<div id="page-content">
<div class="container">
<div class="row">
<div class="col l9 m9 s12">
<div class="list-group">
{{ $paginator := .Paginate ((where .Pages "Type" "blogibis").ByParam "lastmod").Reverse}}
{{ range $paginator.Pages }}
{{ partial "partials/article-item.html" (dict "article" . "tags" "ibiscattags") }}
{{ end }}
</div>
{{ partial "partials/pagination.html" (dict "page" . "format" "default" "align" "center") }}
</div>
{{ partial "widgets/ibissidebar.html" . }}
</div>
</div>
</div>
<!-- /#content -->
{{ partial "footer.html" . }}
</body>
</html>

View file

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.Language.Lang }}">
{{ partial "head.html" . }}
<body hx-boost="true" lang="{{ .Site.Language.Lang }}">
{{ partial "nav.html" . }}
<header class="blog-single">
<div class="container">
<div class="row">
<div class="col s12 m9 l9">
<h2><a href="{{ "blog/ibis" | relLangURL }}">IBIS Blog</a></h2>
{{ partial "widgets/categoriesibis.html" . }}
<h3 class="title">{{ .Title }}</h3>
</div>
</div>
</div>
</header>
<div id="page-content">
<div class="container">
<div class="row">
<div class="col s12 m9 l9 articlecontent">
{{ if isset .Params "images"}}
{{ if (fileExists (printf "assets/%s" (index .Params.images 0))) -}}
{{ $mainimage := resources.Get (index .Params.images 0) }}
<p style="text-algin: center"><img class="img-fluid" src="{{ $mainimage.RelPermalink }}" width="500"></p>
{{ end }}
{{ end }}
<div style="text-align: justify;">
{{ .Content }}
</div>
<small>{{ i18n "publishdate"}} : {{.PublishDate.Format "2006-01-02"}}</small> | <small>{{ i18n "lastchange"}} : {{.Lastmod.Format "2006-01-02"}}</small>
{{ partial "widgets/ibiscattags.html" . }}
</div>
{{ partial "widgets/ibissidebar.html" . }}
</div>
</div>
</div>
<!-- /#content -->
{{ partial "footer.html" . }}
</body>
</html>

View file

@ -10,8 +10,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<h2><a href="{{ "blog/spot" | relLangURL }}">SPOT Blog</a></h2> <h2><a href="{{ "blog" | relLangURL }}">Blog</a></h2>
{{ partial "widgets/categoriesspot.html" . }}
</div> </div>
</div> </div>
</div> </div>
@ -23,9 +22,9 @@
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<section> <section>
<div class="list-group"> <div class="list-group">
{{ $paginator := .Paginate ((where .Pages "Type" "blogspot").ByParam "LastmodDate")}} {{ $paginator := .Paginate ((where .Pages "Type" "blog").ByParam "LastmodDate")}}
{{ range $paginator.Pages }} {{ range $paginator.Pages }}
{{ partial "partials/article-item.html" (dict "article" . "tags" "spotcattags") }} {{ partial "partials/article-item.html" (dict "article" . "tags" "cattags") }}
{{ end }} {{ end }}
</div> </div>
@ -33,7 +32,7 @@
</section> </section>
</div> </div>
{{ partial "partials/widgets/spotsidebar.html" . }} {{ partial "partials/widgets/sidebar.html" . }}
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,43 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.Language.Lang }}">
{{ partial "head.html" . }}
<body hx-boost="true" lang="{{ .Site.Language.Lang }}">
{{ partial "nav.html" . }}
<header class="service">
<div class="container">
<div class="row">
<div class="col s12 m9 l9">
<h2><a href="{{ "blog/ibis" | relLangURL }}">IBIS Blog</a></h2>
{{ partial "widgets/categoriesibis.html" . }}
</div>
</div>
</div>
</header>
<div id="page-content">
<div class="container">
<div class="row">
<div class="col s12 m9 l9">
<section>
<div class="list-group">
{{ $paginator := .Paginate ((where .Pages "Type" "blogibis").ByParam "LastmodDate")}}
{{ range $paginator.Pages }}
{{ partial "partials/article-item.html" (dict "article" . "tags" "ibiscattags") }}
{{ end }}
</div>
{{ partial "partials/pagination.html" (dict "page" . "format" "default" "align" "center") }}
</section>
</div>
{{ partial "partials/widgets/ibissidebar.html" . }}
</div>
</div>
</div>
<!-- /#content -->
{{ partial "footer.html" . }}
</body>
</html>

View file

@ -0,0 +1,19 @@
<div class="row blog-article-item-list">
<div class="col s12 m4 l4 blog-article-image">
{{ if isset .article.Params "images"}}
{{ if (fileExists (printf "assets/%s" (index .article.Params.images 0))) -}}
{{ $mainimage := resources.Get (index .article.Params.images 0) }}
{{ $mainimage := $mainimage.Crop "500x200" }}
<a href="{{ .article.Permalink }}"><img class="img-thumbnail img-fluid" src="{{ $mainimage.RelPermalink }}"></a>
{{ end }}
{{ end }}
</div>
<div class="col s12 m8 l8 blog-article-summary">
<h4 class="blog-article-title"><a href="{{ .article.Permalink }}">{{.article.Title}}</a></h4>
<p class="blog-article-introduction">
{{ .article.Summary | plainify}}
<a href="{{ .article.Permalink }}">{{ i18n "read_more" }}</a>
</p>
{{ partial (printf "partials/widgets/%s.html" .tags) .article }}
</div>
</div>

View file

@ -16,7 +16,7 @@
<li><a href="/en/service/private-e-mail/">Private email</a></li> <li><a href="/en/service/private-e-mail/">Private email</a></li>
<li><a href="/en/service/private-e-mail/">GPG for email</a></li> <li><a href="/en/service/private-e-mail/">GPG for email</a></li>
<li><a href="/en/service/online-offline-collaboration-solutions/">Nextcloud</a></li> <li><a href="/en/service/online-offline-collaboration-solutions/">Nextcloud</a></li>
<li><a href="/en/service/online-offline-collaboration-solutions/">Synology</a></li> <li><a href="/en/service/online-offline-collaboration-solutions/">TrueNAS</a></li>
<li><a href="/en/service/online-offline-collaboration-solutions/">Seafile</a></li> <li><a href="/en/service/online-offline-collaboration-solutions/">Seafile</a></li>
<li><a href="/en/service/managed-linux-servers/">Servers with Linux</a></li> <li><a href="/en/service/managed-linux-servers/">Servers with Linux</a></li>
</ul> </ul>

View file

@ -16,7 +16,7 @@
<li><a href="/servizio/e-mail-privata/">Email privata</a></li> <li><a href="/servizio/e-mail-privata/">Email privata</a></li>
<li><a href="/servizio/e-mail-privata/">GPG per email</a></li> <li><a href="/servizio/e-mail-privata/">GPG per email</a></li>
<li><a href="/servizio/soluzioni-collaborazione-online-offline/">Nextcloud</a></li> <li><a href="/servizio/soluzioni-collaborazione-online-offline/">Nextcloud</a></li>
<li><a href="/servizio/soluzioni-collaborazione-online-offline/">Synology</a></li> <li><a href="/servizio/soluzioni-collaborazione-online-offline/">TrueNAS</a></li>
<li><a href="/servizio/soluzioni-collaborazione-online-offline/">Seafile</a></li> <li><a href="/servizio/soluzioni-collaborazione-online-offline/">Seafile</a></li>
<li><a href="/servizio/servers-linux-gestiti/">Servers con Linux</a></li> <li><a href="/servizio/servers-linux-gestiti/">Servers con Linux</a></li>
</ul> </ul>

View file

@ -1,23 +0,0 @@
<p>
{{ if isset .Params "categoriesibis" }}
<small>{{ i18n "categories" }} :
{{ $len := (sub (len .Params.categoriesibis) 1)}}
{{ range $key, $name := .Params.categoriesibis }}
<a href="{{"categories/ibis/" | relLangURL }}{{ $name | urlize | lower }}">{{ $name }}</a>
{{ if ne $key $len }} | {{ else }}{{ end }}
{{ end }}
</small>
{{ end }}
{{ if isset .Params "tagsibis" }}
<br />
<small>
{{ i18n "tags" }} :
{{ $len := (sub (len .Params.tagsibis) 1)}}
{{ range $key, $name := .Params.tagsibis }}
<a href="{{"tags/ibis/" | relLangURL }}{{ $name | urlize | lower }}">{{ $name }}</a>
{{ if ne $key $len }} | {{ else }}{{ end }}
{{ end }}
</small>
{{ end }}
</p>

View file

@ -1,9 +1,9 @@
{{ if isset .Site.Taxonomies "categoriesibis" }} {{ if isset .Site.Taxonomies "categories" }}
{{ if not (eq (len .Site.Taxonomies.categoriesibis) 0) }} {{ if not (eq (len .Site.Taxonomies.categories) 0) }}
<h3> <h3>
{{ $current_path := .RelPermalink}} {{ $current_path := .RelPermalink}}
{{ range $name, $items := .Site.Taxonomies.categoriesibis }} {{ range $name, $items := .Site.Taxonomies.categories }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/categoriesibis/"}} {{ $pagepath := $name | urlize | lower | printf "%s%s" "/categories/"}}
{{ $p := $.Site.GetPage $pagepath}} {{ $p := $.Site.GetPage $pagepath}}
{{ $path := $p.RelPermalink }} {{ $path := $p.RelPermalink }}

View file

@ -1,19 +0,0 @@
{{ if isset .Site.Taxonomies "categoriesspot" }}
{{ if not (eq (len .Site.Taxonomies.categoriesspot) 0) }}
<h3>
{{ $current_path := .RelPermalink}}
{{ range $name, $items := .Site.Taxonomies.categoriesspot }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/categoriesspot/"}}
{{ $p := $.Site.GetPage $pagepath}}
{{ $path := $p.RelPermalink }}
{{ if eq $current_path $path }}
{{ $p.Title }}
{{ else }}
<a href="{{ $path }}">{{ $p.Title }}</a>
{{ end }}
{{ end }}
</h3>
{{ end }}
{{ end }}

View file

@ -1,20 +1,19 @@
<p> <p>
<small> <small>
{{ if isset .Params "categoriesibis" }} {{ if isset .Params "categories" }}
{{ $len := (sub (len .Params.categoriesibis) 1)}} {{ $len := (sub (len .Params.categories) 1)}}
{{ range $key, $name := .Params.categoriesibis }} {{ range $key, $name := .Params.categories }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/categoriesibis/"}} {{ $pagepath := $name | urlize | lower | printf "%s%s" "/categories/"}}
{{ $p := $.Site.GetPage $pagepath}} {{ $p := $.Site.GetPage $pagepath}}
<a href="{{ $p.RelPermalink }}">{{ $p.Title }}</a> | <a href="{{ $p.RelPermalink }}">{{ $p.Title }}</a> |
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ if isset .Params "tagsibis" }} {{ if isset .Params "tags" }}
{{ $len := (sub (len .Params.tagsibis) 1)}} {{ $len := (sub (len .Params.tags) 1)}}
{{ range $key, $name := .Params.tagsibis }} {{ range $key, $name := .Params.tags }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/tagsibis/"}} {{ $pagepath := $name | urlize | lower | printf "%s%s" "/tags/"}}
{{ $p := $.Site.GetPage $pagepath}} {{ $p := $.Site.GetPage $pagepath}}
<a href="{{ $p.RelPermalink }}">{{ $p.Title }}</a> <a href="{{ $p.RelPermalink }}">{{ $p.Title }}</a>
{{ if ne $key $len }} | {{ else }}{{ end }} {{ if ne $key $len }} | {{ else }}{{ end }}
{{ end }} {{ end }}

View file

@ -1,40 +0,0 @@
<section class="col s12 m3 l3 text-center blogsidebar">
{{ if isset .Site.Taxonomies "tagsibis" }}
{{ if not (eq (len .Site.Taxonomies.tagsibis) 0) }}
<div class="tags">
<h4 class="text-center">{{ i18n "tags" }}</h4>
<small>
{{ $current_path := .RelPermalink}}
{{ range $name, $item := .Site.Taxonomies.tagsibis }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/tagsibis/"}}
{{ $p := $.Site.GetPage $pagepath}}
{{ $path := $p.RelPermalink }}
{{ if eq $current_path $path }}
{{ $p.Title }}
{{ else }}
<a href="{{ $path }}">{{ $p.Title }}</a>
{{ end }}
{{ end }}
</small>
</div>
{{ end }}
{{ end }}
{{ $projects := first 4 ((where .Site.RegularPages "Type" "blogibis").ByParam "LastmodDate") }}
{{ with $projects }}
<div class="row articles" >
<h4 class="text-center">{{ i18n "latest_articles" }}</h4>
{{ range . }}
<div class="col l12 article" style="text-align: center">
{{ partial "widgets/article.html" . }}
</div>
{{ end }}
</div>
{{ end }}
</section>

View file

@ -1,12 +1,12 @@
<section class="col s12 m3 l3 text-center blogsidebar"> <section class="col s12 m3 l3 text-center blogsidebar">
{{ if isset .Site.Taxonomies "tagsspot" }} {{ if isset .Site.Taxonomies "tags" }}
{{ if not (eq (len .Site.Taxonomies.tagsspot) 0) }} {{ if not (eq (len .Site.Taxonomies.tags) 0) }}
<div class="tags"> <div class="tags">
<h4 class="text-center">{{ i18n "tags" }}</h4> <h4 class="text-center">{{ i18n "tags" }}</h4>
<small> <small>
{{ $current_path := .RelPermalink}} {{ $current_path := .RelPermalink}}
{{ range $name, $item := .Site.Taxonomies.tagsspot }} {{ range $name, $item := .Site.Taxonomies.tags }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/tagsspot/"}} {{ $pagepath := $name | urlize | lower | printf "%s%s" "/tags/"}}
{{ $p := $.Site.GetPage $pagepath}} {{ $p := $.Site.GetPage $pagepath}}
{{ $path := $p.RelPermalink }} {{ $path := $p.RelPermalink }}
@ -23,7 +23,7 @@
{{ end }} {{ end }}
{{ $projects := first 4 ((where .Site.RegularPages "Type" "blogspot").ByParam "LastmodDate") }} {{ $projects := first 4 ((where .Site.RegularPages "Type" "blog").ByParam "LastmodDate") }}
{{ with $projects }} {{ with $projects }}
<div class="row articles" > <div class="row articles" >
<h4 class="text-center">{{ i18n "latest_articles" }}</h4> <h4 class="text-center">{{ i18n "latest_articles" }}</h4>

View file

@ -1,22 +0,0 @@
<p>
<small>
{{ if isset .Params "categoriesspot" }}
{{ $len := (sub (len .Params.categoriesspot) 1)}}
{{ range $key, $name := .Params.categoriesspot }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/categoriesspot/"}}
{{ $p := $.Site.GetPage $pagepath}}
<a href="{{ $p.RelPermalink }}">{{ $p.Title }}</a> |
{{ end }}
{{ end }}
{{ if isset .Params "tagsspot" }}
{{ $len := (sub (len .Params.tagsspot) 1)}}
{{ range $key, $name := .Params.tagsspot }}
{{ $pagepath := $name | urlize | lower | printf "%s%s" "/tagsspot/"}}
{{ $p := $.Site.GetPage $pagepath}}
<a href="{{ $p.RelPermalink }}">{{ $p.Title }}</a>
{{ if ne $key $len }} | {{ else }}{{ end }}
{{ end }}
{{ end }}
</small>
</p>

View file

@ -5,10 +5,10 @@
<body hx-boost="true" lang="{{ .Site.Language.Lang }}"> <body hx-boost="true" lang="{{ .Site.Language.Lang }}">
{{ partial "nav.html" . }} {{ partial "nav.html" . }}
{{ $projects := first 4 ((where (.Site.RegularPages.RelatedIndices . "services" ) "Type" "blogspot").ByLastmod ) }} {{ $projects := first 4 ((where (.Site.RegularPages.RelatedIndices . "services" ) "Type" "blog").ByLastmod ) }}
{{ $numOfProjects := $projects | len}} {{ $numOfProjects := $projects | len}}
{{ $contentClass := "s12 m9 l9" }} {{ $contentClass := "s12 m9 l9 servicecontent" }}
{{ if eq $numOfProjects 0 }} {{ if eq $numOfProjects 0 }}
{{ $contentClass = "s12 m12 l12" }} {{ $contentClass = "s12 m12 l12" }}

View file

@ -10,8 +10,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<h2><a href="{{ "blog/ibis" | relLangURL }}">IBIS Blog</a></h2> <h2><a href="{{ "blog" | relLangURL }}">Blog</a></h2>
{{ partial "widgets/categoriesibis.html" . }}
</div> </div>
</div> </div>
</div> </div>
@ -23,9 +22,9 @@
<div class="col s12 m9 l9"> <div class="col s12 m9 l9">
<section> <section>
<div class="list-group"> <div class="list-group">
{{ $paginator := .Paginate ((where .Pages "Type" "blogibis").ByParam "LastmodDate")}} {{ $paginator := .Paginate ((where .Pages "Type" "blog").ByParam "LastmodDate")}}
{{ range $paginator.Pages }} {{ range $paginator.Pages }}
{{ partial "partials/article-item.html" (dict "article" . "tags" "ibiscattags") }} {{ partial "partials/article-item.html" (dict "article" . "tags" "cattags") }}
{{ end }} {{ end }}
</div> </div>
@ -33,7 +32,7 @@
</section> </section>
</div> </div>
{{ partial "widgets/ibissidebar.html" . }} {{ partial "partials/widgets/sidebar.html" . }}
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,43 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.Language.Lang }}">
{{ partial "head.html" . }}
<body hx-boost="true" lang="{{ .Site.Language.Lang }}">
{{ partial "nav.html" . }}
<header class="blog">
<div class="container">
<div class="row">
<div class="col s12 m9 l9">
<h2><a href="{{ "blog/spot" | relLangURL }}">SPOT Blog</a></h2>
{{ partial "widgets/categoriesspot.html" . }}
</div>
</div>
</div>
</header>
<div id="content">
<div class="container">
<div class="row">
<div class="col s12 m9 l9">
<section>
<div class="list-group">
{{ $paginator := .Paginate ((where .Pages "Type" "blogspot").ByParam "LastmodDate")}}
{{ range $paginator.Pages }}
{{ partial "partials/article-item.html" (dict "article" . "tags" "spotcattags") }}
{{ end }}
</div>
{{ partial "partials/pagination.html" (dict "page" . "format" "default" "align" "center") }}
</section>
</div>
{{ partial "partials/widgets/spotsidebar.html" . }}
</div>
</div>
</div>
<!-- /#content -->
{{ partial "footer.html" . }}
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more