diff --git a/CUSTOMIZATION.md b/CUSTOMIZATION.md
index ba55771..0afd6eb 100644
--- a/CUSTOMIZATION.md
+++ b/CUSTOMIZATION.md
@@ -34,10 +34,15 @@ MyPortfolio/
│ │ └── _index.md # Section config
│ └── search.md # Search page
├── layouts/
+│ ├── index.html # Custom home page (no recent posts)
│ ├── partials/ # Override theme partials
-│ │ └── footer.html # Custom footer
-│ └── notes/ # Section-specific layouts
-│ └── list.html # Custom notes list
+│ │ ├── footer.html # Custom footer
+│ │ └── templates/
+│ │ └── schema_json.html # Fixed JSON-LD schema
+│ ├── posts/
+│ │ └── list.html # Custom posts list (compact style)
+│ └── notes/
+│ └── list.html # Custom notes list (compact style)
├── static/
│ └── files/ # Static files (CV.pdf, images, etc.)
├── themes/
@@ -347,7 +352,11 @@ Your `layouts/partials/footer.html` already overrides the theme's footer.
Create `layouts/SECTION_NAME/list.html` for a custom list layout for that section.
-Example: `layouts/notes/list.html` - custom compact layout for notes.
+**Current custom layouts:**
+
+- `layouts/index.html` - Home page with just intro + social icons (no recent posts)
+- `layouts/posts/list.html` - Compact list: `# Title` + date + 2-line description
+- `layouts/notes/list.html` - Compact list: `# Title` + date (no description)
---
diff --git a/assets/css/extended/custom.css b/assets/css/extended/custom.css
index 2e6ec84..47392d0 100644
--- a/assets/css/extended/custom.css
+++ b/assets/css/extended/custom.css
@@ -271,6 +271,78 @@ main .post-entry:hover {
line-height: 1.5;
}
+/* *
+* POSTS SECTION - Same compact style as notes but with description
+* */
+.posts-list {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.post-item {
+ padding: 12px 0;
+ border-bottom: 1px solid var(--tertiary);
+}
+
+.post-item:last-child {
+ border-bottom: none;
+}
+
+.post-item a {
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+ align-items: baseline;
+ text-decoration: none !important;
+ gap: 16px;
+ padding: 8px 12px;
+ margin: 0 -12px;
+ color: inherit;
+ transition: color 0.3s ease;
+ z-index: 1;
+}
+
+.post-item a::before {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 0;
+ background-color: var(--green);
+ z-index: -1;
+ transition: height 0.3s cubic-bezier(0.19, 1, 0.22, 1);
+}
+
+.post-item a:hover::before {
+ height: 100%;
+}
+
+.post-item a:hover .post-title,
+.post-item a:hover .post-date {
+ color: var(--theme) !important;
+}
+
+.post-title {
+ font-size: 1.1rem;
+ font-weight: 500;
+ color: var(--primary);
+}
+
+.post-date {
+ font-size: 0.85rem;
+ color: var(--secondary);
+ white-space: nowrap;
+}
+
+.post-summary {
+ margin: 4px 0 0 0;
+ font-size: 0.96rem;
+ color: var(--secondary);
+ line-height: 1.5;
+}
+
/* *
* POST CONTENT SPACINGS
* */
diff --git a/layouts/index.html b/layouts/index.html
new file mode 100644
index 0000000..e5c4a9c
--- /dev/null
+++ b/layouts/index.html
@@ -0,0 +1,19 @@
+{{- define "main" }}
+
+{{- if .Site.Params.homeInfoParams }}
+{{ .Site.Params.homeInfoParams.Title | markdownify }}
+
{{ .Summary | plainify | truncate 100 }}
- {{- end }}{{ .Summary | plainify | truncate 150 }}
+ {{- end }} +