Fixed blog entries order, added BrainMinder post
This commit is contained in:
parent
36034fc188
commit
0288cb23cf
18 changed files with 86 additions and 25 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 48 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 221 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB |
|
|
@ -1,3 +1,3 @@
|
|||
+++
|
||||
title = "SPOT Blog"
|
||||
title = "Blog"
|
||||
+++
|
||||
|
|
@ -16,5 +16,5 @@ Technologies used : PHP, Yii Framework, MariaDB, Bootstrap
|
|||
- Logic and structure study
|
||||
- Applications implementation and development
|
||||
- Support and maintenance
|
||||
- CMS for the istitutional website
|
||||
- CMS for the institutional website
|
||||
|
||||
|
|
|
|||
17
content/en/blog/brainminder-intro.md
Normal file
17
content/en/blog/brainminder-intro.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
+++
|
||||
tags = ['Software development', 'Web application', 'PWA']
|
||||
categories= ['Projects']
|
||||
images = ['images/blog/brainminder.png']
|
||||
services = ['web-application-development', 'custom-cms']
|
||||
title = 'BrainMinder - second brain web application'
|
||||
date = '2025-10-30'
|
||||
lastmod = '2025-10-30'
|
||||
|
||||
+++
|
||||
|
||||
**BrainMinder** is a software tool to organize and store knowledge, share it with others, analyze situations, ideas, and problems, and make pondered decisions.
|
||||
Items are shared with external users via a pre-authorized link and (optionally) an additional password.
|
||||
<!--more-->
|
||||
It permits organizing personal knowledge in different types of items that can be created to one’s preference. Every item type has some basic fields to collect the information (like title, summary, description) but other fields can be created as preferred.
|
||||
|
||||
**BrainMinder** is already usable and very useful but is currently under heavy development and new features are added frequently.
|
||||
|
|
@ -11,9 +11,9 @@ Client : Web Marketing Trento (Trento - IT)
|
|||
|
||||
Design and development of data synchronization procedures between different applications and databases
|
||||
with a spreadsheet interface with : PHP, MariaDB, Joomla, Virtuemart, CodeIgniter, VueJS.
|
||||
<!--more-->
|
||||
|
||||
I designed and developed a web application based on CodeIgniter framework and integrating [JSpreadsheet](https://jspreadsheet.com/)
|
||||
which allows interaction with the Virtuemart ecommerce database to be able to edit product data in spreadsheet mode.
|
||||
<!--more-->
|
||||
|
||||
The frontend integrates [VueJS](https://vuejs.org) for a more efficient user interface, and all the calls to the backend are ajax and return the data in JSON format.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
+++
|
||||
title = "SPOT Blog"
|
||||
title = "Blog"
|
||||
+++
|
||||
19
content/it/blog/brainminder-intro.md
Normal file
19
content/it/blog/brainminder-intro.md
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
+++
|
||||
tags = ['Software development', 'Web application', 'PWA']
|
||||
categories= ['Projects']
|
||||
images = ['images/blog/brainminder.png']
|
||||
services = ['web-application-development', 'custom-cms']
|
||||
title = 'BrainMinder - second brain web application'
|
||||
date = '2025-10-30'
|
||||
lastmod = '2025-10-30'
|
||||
|
||||
+++
|
||||
|
||||
**BrainMinder** è un software per archiviare e organizzare il proprio archivio di conoscenze, condividerlo con gli altri, analizzare situazioni, idee, e problemi, e prendere decisioni ponderate.
|
||||
I singoli articoli sono condivisi con gli utenti esterni via un url pre autorizzato e (opzionalmente) con una password aggiuntiva.
|
||||
<!--more-->
|
||||
|
||||
Permette di suddividere il proprio archivio di conoscenze in tipi diversi di articoli che possono essere creati in base alle necessità.
|
||||
Ogni tipo di articolo ha alcuni tipi di campi predefiniti per raccogliere le informazioni (come titolo, sommario, descrizione) ma altri campi possono essere aggiunti secondo le proprie preferenze.
|
||||
|
||||
**BrainMinder** è già utilizzabile e molto utile, ma è attualmente in fase di intenso sviluppo e nuove funzionalità vengono aggiunte frequentemente.
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<div style="text-align: justify;">
|
||||
<div style="text-align: justify; margin-bottom: 16px;">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
{{ 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 }}
|
||||
|
|
@ -11,8 +10,8 @@
|
|||
<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>{{ .article.Summary | plainify}}</p>
|
||||
<a class="readmore" href="{{ .article.Permalink }}">{{ i18n "read_more" }}</a>
|
||||
</p>
|
||||
{{ partial (printf "partials/widgets/%s.html" .tags) .article }}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
</div>
|
||||
<div class="col s12 m8 l8 blog-article-summary">
|
||||
<p class="blog-article-introduction">
|
||||
{{ .article.Summary | plainify}}
|
||||
<a href="{{ .article.Permalink }}">{{ i18n "read_more" }}</a>
|
||||
<p>{{ .article.Summary | plainify}}</p>
|
||||
<a class="readmore" href="{{ .article.Permalink }}">{{ i18n "read_more" }}</a>
|
||||
</p>
|
||||
{{ partial (printf "partials/widgets/%s.html" .tags) .article }}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
{{ $projects := first 4 ((where (.Site.RegularPages.RelatedIndices . "services" ) "Type" "blog").ByLastmod ) }}
|
||||
{{ $numOfProjects := $projects | len}}
|
||||
|
||||
{{ $contentClass := "s12 m9 l9 servicecontent" }}
|
||||
{{ $contentClass := "s12 m9 l9" }}
|
||||
|
||||
{{ if eq $numOfProjects 0 }}
|
||||
{{ $contentClass = "s12 m12 l12" }}
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col {{ $contentClass }}">
|
||||
<div class="col {{ $contentClass }} servicecontent">
|
||||
{{ if (fileExists (printf "assets/%s" (index .Params.images 0))) -}}
|
||||
{{ $mainimage := resources.Get (index .Params.images 0) }}
|
||||
<p style="text-align: center"><img class="img-fluid" src="{{ $mainimage.RelPermalink }}" width="500"></p>
|
||||
|
|
|
|||
|
|
@ -62,6 +62,14 @@
|
|||
|
||||
#home-introduction {
|
||||
text-align: justify;
|
||||
box-shadow: 0 10px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19) !important;
|
||||
border-radius: 8px;
|
||||
padding: 10px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#home-introduction p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.service {
|
||||
|
|
@ -74,6 +82,30 @@ footer .menu {
|
|||
border-bottom: 1px solid;
|
||||
}
|
||||
|
||||
.blog-article-summary p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.row.blog-article-item-list img, .articlecontent img, .servicecontent img {
|
||||
box-shadow: 0 10px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19) !important;
|
||||
border-radius: 8px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.servicesidebar h4 {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.servicesidebar .article {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.servicesidebar img, .blogsidebar img {
|
||||
box-shadow: 0 8px 14px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19) !important;
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.blog-article-title {
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
|
|
@ -104,6 +136,11 @@ footer .menu {
|
|||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.articles.home img {
|
||||
box-shadow: 0 10px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19) !important;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.articles.home .article {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
|
|
@ -113,10 +150,6 @@ figure.img-fluid img {
|
|||
max-width: 100%;
|
||||
}
|
||||
|
||||
#home-introduction {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* Min medium */
|
||||
@media (min-width: 767px) {
|
||||
.servicesidebar, .blogsidebar {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{{ $projects := first 4 ((where .Site.RegularPages "Type" "blog").ByParam "LastmodDate") }}
|
||||
{{ $projects := first 4 (((where .Site.RegularPages "Type" "blog").ByParam "Lastmod").Reverse) }}
|
||||
{{ with $projects }}
|
||||
<div class="row articles home" >
|
||||
<h3 class="text-center">{{ i18n "latest_articles" }}</h3>
|
||||
|
|
|
|||
|
|
@ -6,11 +6,10 @@
|
|||
{{ $articleimage := $articleimage.Resize "200x" }}
|
||||
|
||||
<a href="{{ .Permalink }}">
|
||||
<img class="img-fluid" style="padding: 6px; border: 1px solid #ddd" src="{{ $articleimage.RelPermalink }}"
|
||||
<img class="img-fluid" src="{{ $articleimage.RelPermalink }}"
|
||||
width="{{ $articleimage.Width }}" height="{{ $articleimage.Height }}" alt="{{ .Title }}" class="img-fluid"
|
||||
title="{{ .Title }}">
|
||||
</a>
|
||||
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,12 +63,6 @@ body {
|
|||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* Set shorter line heights on headings and interactive elements */
|
||||
h1, h2, h3, h4,
|
||||
input, label {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
/* Balance text wrapping on headings */
|
||||
h1, h2,
|
||||
h3, h4 {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue