diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b5a164a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +public +resources/_gen +themes/* \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b9a73a7 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# Repository del sito web di loviuz.me + +## Come compilare +```bash +git clone https://github.com/loviuz/loviuz-website.git +cd loviuz-website +git submodule add https://github.com/luizdepra/hugo-coder.git themes/hugo-coder +``` + +Per testare live: +```bash +hugo server -D +``` diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100755 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/assets/css/bootstrap.css b/assets/css/bootstrap.css new file mode 100644 index 0000000..eb1f208 --- /dev/null +++ b/assets/css/bootstrap.css @@ -0,0 +1,139 @@ +progress { + vertical-align: baseline; +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; + } + + .progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; + } + + @media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } + } + + .progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; + } + + .progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; + } + + @media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } + } + + .bg-primary { + background-color: #007bff !important; + } + + a.bg-primary:hover, a.bg-primary:focus, + button.bg-primary:hover, + button.bg-primary:focus { + background-color: #0062cc !important; + } + + .bg-secondary { + background-color: #6c757d !important; + } + + a.bg-secondary:hover, a.bg-secondary:focus, + button.bg-secondary:hover, + button.bg-secondary:focus { + background-color: #545b62 !important; + } + + .bg-success { + background-color: #28a745 !important; + } + + a.bg-success:hover, a.bg-success:focus, + button.bg-success:hover, + button.bg-success:focus { + background-color: #1e7e34 !important; + } + + .bg-info { + background-color: #17a2b8 !important; + } + + a.bg-info:hover, a.bg-info:focus, + button.bg-info:hover, + button.bg-info:focus { + background-color: #117a8b !important; + } + + .bg-warning { + background-color: #ffc107 !important; + } + + a.bg-warning:hover, a.bg-warning:focus, + button.bg-warning:hover, + button.bg-warning:focus { + background-color: #d39e00 !important; + } + + .bg-danger { + background-color: #dc3545 !important; + } + + a.bg-danger:hover, a.bg-danger:focus, + button.bg-danger:hover, + button.bg-danger:focus { + background-color: #bd2130 !important; + } + + .bg-light { + background-color: #f8f9fa !important; + } + + a.bg-light:hover, a.bg-light:focus, + button.bg-light:hover, + button.bg-light:focus { + background-color: #dae0e5 !important; + } + + .bg-dark { + background-color: #343a40 !important; + } + + a.bg-dark:hover, a.bg-dark:focus, + button.bg-dark:hover, + button.bg-dark:focus { + background-color: #1d2124 !important; + } + + .bg-white { + background-color: #fff !important; + } + + .bg-transparent { + background-color: transparent !important; + } + \ No newline at end of file diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..8c31b1d --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,73 @@ +.projects-list{ + text-align: left; +} + +.list ul.projects-list > li{ + display: inline; +} + +.projects-list > li > img{ + float: left; +} + +.list ul.tags, +.page ul.tags{ + text-align: right; +} + +.list ul.tags > li{ + display: inline; + color: #999; + font-size: 80%; +} + +.page ul.tags > li{ + display: inline; + color: #999; +} + +.list ul.projects-list li .title{ + font-size: 1.5em; + line-height: 1.3em; + margin-bottom: 0.5em; +} + +.list ul li .date{ + width: auto; + float: right; + margin: 0; +} + +.project-image{ + display: inline; + float: left; + position: relative; + margin-right: 1em; + margin-bottom: 1em; +} + +.project-image > span{ + position: absolute; + bottom: 15px; + right: -5px; + color: #fff; + padding: 0em .5em; + background: rgb(16, 104, 192); + font-size: 70%; +} + + +@media (max-width: 768px) { + .projects-list > li > img{ + float: none; + margin-right: 0px; + } + + .projects-list > li > a{ + float: right; + } + + .projects-list .progress{ + width: 100%; + } +} diff --git a/config.toml b/config.toml new file mode 100755 index 0000000..3fb2750 --- /dev/null +++ b/config.toml @@ -0,0 +1,86 @@ +baseurl = "https://loviuz.blog" +title = "Loviuz" +theme = "hugo-coder" +languagecode = "it" +defaultcontentlanguage = "it" +pluralizeListTitles = false + +paginate = 20 + +pygmentsstyle = "bw" +pygmentscodefences = true +pygmentscodefencesguesssyntax = true + +[params] + author = "Fabio Lovato" + info = "Sviluppatore, Imprenditore e Hacker" + description = "Sito web personale di Fabio Lovato" + keywords = "hacking,linux,opensource,blog,developer,personal" + avatarurl = "images/loviuz_avatar.jpg" + #gravatar = "john.doe@example.com" + + favicon_32 = "images/favicon-32x32.png" + favicon_16 = "images/favicon-16x16.png" + + since = 2011 + + enableTwemoji = true + + colorScheme = "auto" + hidecolorschemetoggle = false + + customCSS = ["css/custom.css", "css/bootstrap.css"] + #customSCSS = ["scss/custom.scss"] + #customJS = ["js/custom.js"] + +[taxonomies] + category = "categorie" + +# Social links +[[params.social]] + name = "Telegram" + icon = "fa fa-telegram fa-2x" + weight = 1 + url = "https://t.me/loviuz" +[[params.social]] + name = "Mastodon" + icon = "fa fa-mastodon fa-2x" + weight = 2 + url = "https://mastodon.uno/web/@loviuz86" +[[params.social]] + name = "Github" + icon = "fa fa-github fa-2x" + weight = 3 + url = "https://github.com/loviuz/" +[[params.social]] + name = "Gitlab" + icon = "fa fa-gitlab fa-2x" + weight = 4 + url = "https://gitlab.com/loviuz/" +[[params.social]] + name = "Twitter" + icon = "fa fa-twitter fa-2x" + weight = 5 + url = "https://twitter.com/loviuz/" + +# Menu links +[[menu.main]] + name = "Chi sono" + weight = 1 + url = "chi-sono/" +[[menu.main]] + name = "Hacking civico" + weight = 2 + url = "hacking/" +[[menu.main]] + name = "Progetti" + weight = 3 + url = "progetti/" + + +[imaging] + anchor = 'Smart' + bgColor = '#ffffff' + hint = 'photo' + quality = 75 + resampleFilter = 'Box' diff --git a/content/chi-sono/index.md b/content/chi-sono/index.md new file mode 100755 index 0000000..a092719 --- /dev/null +++ b/content/chi-sono/index.md @@ -0,0 +1,23 @@ +--- +title: Chi sono +slug: chi-sono +date: 2022-06-04T16:34:00+02:00 +--- + +Sono un **programmatore** web italiano dell'annata 86, appassionato di **hacking** in qualsiasi forma e dal 2015 **imprenditore** in un'azienda di sviluppo software fondata con un socio e dipendenti, dove sviluppiamo il gestionale open source [OpenSTAManager](https://openstamanager.com). + +![Io a computer](/images/work-g21747db40_1280.jpg) + + +### Perché questo blog? +Questo blog nasce da tante idee che in questi anni ho voluto esternare ad amici e conoscenti o ad altre persone su Internet. Leggendo molto su vari argomenti e con una buona esperienza su alcuni di questi ho sempre avuto difficoltà nel concentrarmi su uno in particolare, ma non ho mai voluto scrivere di tutto in modo approssimativo senza entrare nello specifico, ed è questo che forse mi ha frenato e ha fatto tardare l'uscita di un blog personale. + +Per far capire quali sono tutti questi argomenti provo a elencarli in una banale lista: +- libertà digitali +- software libero +- questioni etiche nel mondo digitale +- politica e hacktivismo +- cybersecurity +- OSINT su fake news (open source intelligence e approfondimento delle notizie per rilevare quelle false) + +Sono tutti temi legati fra loro. Alcune sembrano parolone ma ti assicuro che quello che era traducibile in italiano l'ho fatto 😅. Scendere nel dettaglio di ciascun argomento diventerebbe troppo pesante, soprattutto per chi non è del settore, per questo cercherò di rendere la lettura leggera dove possibile. \ No newline at end of file diff --git a/content/chi-sono/work-g21747db40_1280.jpg b/content/chi-sono/work-g21747db40_1280.jpg new file mode 100755 index 0000000..8ba685f Binary files /dev/null and b/content/chi-sono/work-g21747db40_1280.jpg differ diff --git a/content/hacking.md b/content/hacking.md new file mode 100755 index 0000000..fecc216 --- /dev/null +++ b/content/hacking.md @@ -0,0 +1,19 @@ +--- +title: Civic Hacking +slug: hacking +date: 2022-06-04T17:34:00+02:00 +--- + + +## Cosa fa un hacker? +Diversamente da come lo dipingono i media, cioè come un pirata informatico o chi invia virus, ransomware o lancia attacchi informatici, l'[hacker](https://it.wikipedia.org/wiki/Hacker) è semplicemente una persona curiosa che smonta, rimonta, studia qualsiasi cosa per il gusto di farlo e per raggiungere anche degli obiettivi "smanettando". Spesso è un termine legato al mondo della cybersicurezza ma non è così. + +## Cos'è quindi il CivicHacking? +E' un termine che non ho sentito molto usare, ma se non ha una sua definizione gliela darò io: + +**fare hacking per la collettività e il territorio**. + +Il Civic Hacking diventa quindi usare la propria curiosità per aiutare le persone, trovare soluzioni e sperimentare nel mondo digitale con lo scopo di partecipare attivamente alla vita democratica del proprio paese, mettendosi a disposizione di tutti le proprie scoperte o soluzioni, così come il mondo open source insegna. + +## Si ma... qualche esempio? +Lo puoi trovare tra [i miei progetti](/progetti), se pur qualcuno iniziato da poco (per iniziare qualcosa di utile serve tempo, sperimentare e trovare qualcosa che può fare la differenza). \ No newline at end of file diff --git a/content/progetti/mappa-prezzi-distributori-italia/fuel-gf6da54ccc_1280.jpg b/content/progetti/mappa-prezzi-distributori-italia/fuel-gf6da54ccc_1280.jpg new file mode 100644 index 0000000..eb3add8 Binary files /dev/null and b/content/progetti/mappa-prezzi-distributori-italia/fuel-gf6da54ccc_1280.jpg differ diff --git a/content/progetti/mappa-prezzi-distributori-italia/index.md b/content/progetti/mappa-prezzi-distributori-italia/index.md new file mode 100644 index 0000000..a39268c --- /dev/null +++ b/content/progetti/mappa-prezzi-distributori-italia/index.md @@ -0,0 +1,18 @@ +--- +title: Mappa dei prezzi distributori in Italia +description: Mappatura dei prezzi dei distributori in Italia importati dai dati ufficiali del MISE (MInistero dello Sviluppo Economico) dal formato CSV +date: 2022-05-28T19:46:00+02:00 +image: fuel-gf6da54ccc_1280.jpg +obiettivo_percent: 90 +categories: + - Mappe +tags: + - openstreetmap + - umap + - benzina + - italia +--- + + +## Subtitle +das \ No newline at end of file diff --git a/content/progetti/mappatura-raccoglitori-olio/glass-g3f8fa8a62_1280.jpg b/content/progetti/mappatura-raccoglitori-olio/glass-g3f8fa8a62_1280.jpg new file mode 100644 index 0000000..c8aafb0 Binary files /dev/null and b/content/progetti/mappatura-raccoglitori-olio/glass-g3f8fa8a62_1280.jpg differ diff --git a/content/progetti/mappatura-raccoglitori-olio/index.md b/content/progetti/mappatura-raccoglitori-olio/index.md new file mode 100644 index 0000000..f09f8fd --- /dev/null +++ b/content/progetti/mappatura-raccoglitori-olio/index.md @@ -0,0 +1,21 @@ +--- +title: Mappa dei raccoglitori di olio a Este +description: Mappatura dei raccoglitori +date: 2022-06-05T10:30:00+02:00 +image: glass-g3f8fa8a62_1280.jpg +obiettivo_percent: 10 +categories: + - Mappe +tags: + - openstreetmap + - umap + - riciclo + - italia +--- + + +A maggio ho letto un articolo de **LaPiazzaWeb.it** dove scrivevano che il comune stava posizionando dei contenitori di olio alimentare esausto: + +https://www.lapiazzaweb.it/2022/05/a-este-nuovi-contenitori-per-conferire-lolio-alimentare-esausto/ + +In quel momento ho pensato di poter mappare su OpenStreetMap i punti dove trovare questi raccoglitori. Al momento non sapendo come mapparli su OpenStreetMap e se è corretto mapparli lì ho pensato di usare [uMap](http://umap.openstreetmap.fr/it/). Devo ancora iniziare, devo prima trovarli fisicamente 😅 \ No newline at end of file diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html new file mode 100644 index 0000000..d32ff75 --- /dev/null +++ b/layouts/_default/_markup/render-link.html @@ -0,0 +1,7 @@ + + {{ .Text | safeHTML }} + diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..e511feb --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,24 @@ + + {{ partial "head/meta-tags.html" . }} + + {{ block "title" . }}{{ .Site.Title }}{{ if not (eq .Site.Title .Page.Title) }} - {{ .Page.Title }}{{ end }}{{ end }} + + {{ if .Permalink }} + + {{ end }} + + {{ partialCached "head/theme-styles.html" . }} + + {{ partialCached "head/color-scheme.html" . }} + + {{ partialCached "head/custom-styles.html" . }} + + {{ partialCached "head/custom-icons.html" . }} + + {{ partialCached "head/alternative-output-formats.html" . }} + + {{ partialCached "head/hugo-generator.html" . }} + + {{ partial "head/extensions.html" . }} + + \ No newline at end of file diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100755 index 0000000..a54fed1 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,39 @@ + diff --git a/layouts/partials/list.html b/layouts/partials/list.html new file mode 100644 index 0000000..c8851ef --- /dev/null +++ b/layouts/partials/list.html @@ -0,0 +1,50 @@ +
+

+ + {{- if eq .Kind "term" -}} + {{- i18n .Data.Plural 1 | title -}} + {{- print ": " -}} + {{- end -}} + {{- i18n (lower .Title) | default .Title | title -}} + +

+ {{ .Content }} + + {{ partial "pagination.html" . }} +
diff --git a/layouts/partials/page.html b/layouts/partials/page.html new file mode 100755 index 0000000..d881600 --- /dev/null +++ b/layouts/partials/page.html @@ -0,0 +1,28 @@ +
+ Torna a {{.Section}} +
+
+

+ + {{ .Title }} + +

+ + {{ if .Params.tags }} +
    + {{ range .Params.tags }} +
  • #{{ . }}
  • + {{ end }} +
+ {{ end }} +
+ + {{ $image := .Resources.GetMatch .Params.image }} + {{ if $image }} + {{ $image := $image.Crop "1280x250" }} + + {{ end }} + + {{ .Content }} +
+
diff --git a/static/images/loviuz_avatar.jpg b/static/images/loviuz_avatar.jpg new file mode 100644 index 0000000..180f241 Binary files /dev/null and b/static/images/loviuz_avatar.jpg differ