diff --git a/Makefile b/Makefile
index cc10bc2..7959375 100644
--- a/Makefile
+++ b/Makefile
@@ -45,10 +45,11 @@ $(DST_DIR)/%.html: $(SRC_DIR)/%.org $(TEMPLATE)
# HTML INDEX
HTML_INDEX := $(DST_DIR)/index.html
+MKINDEX := engine/mk-index.sh
-$(HTML_INDEX): $(SRC_PANDOC_FILES)
+$(HTML_INDEX): $(SRC_PANDOC_FILES) $(MKINDEX)
mkdir -p $(DST_DIR)
- engine/mk-index.sh
+ $(MKINDEX)
ALL += $(HTML_INDEX)
@@ -60,10 +61,9 @@ DST_GMI_FILES ?= $(subst $(EXT),.gmi, \
$(SRC_GMI_FILES)))
ALL += $(DST_GMI_FILES)
-
GMI := engine/org2gemini.sh
-$(DST_DIR)/%.gmi: $(SRC_DIR)/%.org
+$(DST_DIR)/%.gmi: $(SRC_DIR)/%.org $(GMI)
mkdir -p $(dir $@)
$(GMI) "$<" "$@"
@@ -71,14 +71,19 @@ $(DST_DIR)/%.gmi: $(SRC_DIR)/%.org
# OPTIM PHASE
OPTIM_DIR ?= _optim
-$(OPTIM_DIR)/index.html: $(HTML_INDEX) $(SRC_RAW_FILES)
+OPTIM := engine/pre-deploy.sh
+$(OPTIM_DIR)/index.html: $(HTML_INDEX) $(SRC_RAW_FILES) $(OPTIM)
mkdir -p $(OPTIM_DIR)
- engine/pre-deploy.sh
+ $(OPTIM)
optim: $(OPTIM_DIR)/index.html
+
+# DEPLOY
+
deploy: $(OPTIM_DIR)/index.html
- engine/sync.sh
+ engine/sync.sh # deploy to her.esy.fun
+ engine/ye-com-fastpublish.hs # deploy to yannesposito.com (via github pages)
allatend: $(ALL)
diff --git a/engine/mk-index.sh b/engine/mk-index.sh
index 32bffa3..8b31d66 100755
--- a/engine/mk-index.sh
+++ b/engine/mk-index.sh
@@ -7,7 +7,7 @@ postsdir="$webdir/posts"
indexfile="$webdir/index.html"
# maximal number of articles to put in the RSS file
-maxarticles=10
+maxarticles=100
# RSS Metas
rsstitle="her.esy.fun"
@@ -69,7 +69,7 @@ for fic in $postsdir/**/*.html; do
absoluteurl="${websiteurl}/${blogfile}"
{ printf "\\n
"
printf "\\n%s" "${blogfile}" "$title"
- printf "\\n%s%s" "$rssdate"
+ printf "\\n%s%s" "$d"
printf "%s" "$categories"
printf "\\n\\n\\n"
} >> "$tmpdir/${d}-$(basename $fic).index"
diff --git a/engine/search-bad-keywords.sh b/engine/search-bad-keywords.sh
new file mode 100755
index 0000000..0fcb7f1
--- /dev/null
+++ b/engine/search-bad-keywords.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+rg -w '#\+keywords:.*,' -t org
diff --git a/src/css/y.css b/src/css/y.css
index d7e7612..758745e 100644
--- a/src/css/y.css
+++ b/src/css/y.css
@@ -3,7 +3,7 @@ html {
font-size: 16px;
line-height: calc(1ex/0.37); }
#TOC {text-align: left;}
-html,body { margin: 0; padding: 0; border: 0; }
+html,body { margin: 0; padding: 0 0 3em 0; border: 0; }
.main { min-height: calc(100vh - 1em); }
h1,h2,h3,h4,h5,h6 {
line-height: calc(1ex/0.42);
diff --git a/src/drafts/XXXX-Haskell-Projects/index.org b/src/drafts/XXXX-Haskell-Projects/index.org
index dd0582e..a09a389 100644
--- a/src/drafts/XXXX-Haskell-Projects/index.org
+++ b/src/drafts/XXXX-Haskell-Projects/index.org
@@ -3,7 +3,7 @@
#+date: [2020-02-10 Mon]
#+author: Yann Esposito
#+EMAIL: yann@esposito.host
-#+keywords: Haskell, programming, functional, tutorial
+#+keywords: Haskell programming functional tutorial
#+DESCRIPTION: How to write Haskell application.
#+OPTIONS: auto-id:t toc:t
#+STARTUP: overview
diff --git a/src/drafts/XXXX-abstractions-haskell-vs-clojure/index.org b/src/drafts/XXXX-abstractions-haskell-vs-clojure/index.org
index b6511df..b533999 100644
--- a/src/drafts/XXXX-abstractions-haskell-vs-clojure/index.org
+++ b/src/drafts/XXXX-abstractions-haskell-vs-clojure/index.org
@@ -4,7 +4,7 @@
#+created: [2020-01-18 Sat]
#+author: Yann Esposito
#+EMAIL: yann@esposito.host
-#+keywords: Haskell, Clojure, programming, fp
+#+keywords: Haskell Clojure functional-programming
#+DESCRIPTION: Simulate some abstractions in Clojure vs Haskell
#+OPTIONS: auto-id:t toc:t
#+STARTUP: overview
diff --git a/src/drafts/XXXX-how-i-use-nix/index.org b/src/drafts/XXXX-how-i-use-nix/index.org
index dc4f780..a5c7453 100644
--- a/src/drafts/XXXX-how-i-use-nix/index.org
+++ b/src/drafts/XXXX-how-i-use-nix/index.org
@@ -2,7 +2,7 @@
#+Author: Yann Esposito
#+Email: yann@esposito.host
#+Date: [2020-06-14 Sun]
-#+KEYWORDS: nix, programming
+#+KEYWORDS: nix programming
#+DESCRIPTION: In this article I explain how I use nix. As a brew replacement, as home environment manager, to have reproductible dev environment.
#+LANGUAGE: en
#+LANG: en
diff --git a/src/drafts/XXXX-professional-lessons-and-opinions.draft/index.org b/src/drafts/XXXX-professional-lessons-and-opinions.draft/index.org
index 61b0190..e1b72ec 100644
--- a/src/drafts/XXXX-professional-lessons-and-opinions.draft/index.org
+++ b/src/drafts/XXXX-professional-lessons-and-opinions.draft/index.org
@@ -2,7 +2,7 @@
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-07-04]
-#+KEYWORDS: programming, blog, org-mode
+#+KEYWORDS: programming blog org-mode
#+DESCRIPTION: Different divagations about my experiences in the professional world of Software Developer
#+begin_comment
diff --git a/src/posts/0001-new-blog/index.org b/src/posts/0001-new-blog/index.org
index 23a4f62..40119e7 100644
--- a/src/posts/0001-new-blog/index.org
+++ b/src/posts/0001-new-blog/index.org
@@ -3,7 +3,7 @@
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-08-17 Sat 16:00]
-#+KEYWORDS: programming, blog, org-mode, web, css
+#+KEYWORDS: programming blog org-mode web css
#+DESCRIPTION: Meta article about how I generate this blog.
#+OPTIONS: auto-id:t
diff --git a/src/posts/0003-project-el/index.org b/src/posts/0003-project-el/index.org
index a0a4a42..803276e 100644
--- a/src/posts/0003-project-el/index.org
+++ b/src/posts/0003-project-el/index.org
@@ -3,7 +3,7 @@
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-08-18 Sun]
-#+KEYWORDS: programming, blog, org-mode
+#+KEYWORDS: programming blog org-mode
#+DESCRIPTION: A script I use to load safely an eLISP file when entering a new project directory.
#+OPTIONS: auto-id:t
diff --git a/src/posts/0004-how-i-internet/index.org b/src/posts/0004-how-i-internet/index.org
index 9478784..2eeb50e 100644
--- a/src/posts/0004-how-i-internet/index.org
+++ b/src/posts/0004-how-i-internet/index.org
@@ -3,7 +3,7 @@
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-09-23 Mon]
-#+KEYWORDS: blog, self-hosting, web, zen, minimalism
+#+KEYWORDS: blog self-hosting web zen minimalism
#+DESCRIPTION: How I protect myself against attention grabbers and many social media anti-patterns.
#+OPTIONS: auto-id:t
diff --git a/src/posts/0005-rss-gen/index.org b/src/posts/0005-rss-gen/index.org
index aa36886..cf0642e 100644
--- a/src/posts/0005-rss-gen/index.org
+++ b/src/posts/0005-rss-gen/index.org
@@ -3,7 +3,7 @@
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-09-30 Mon]
-#+KEYWORDS: programming, web
+#+KEYWORDS: programming web
#+DESCRIPTION: How I generate RSS feed via command line
#+OPTIONS: auto-id:t
diff --git a/src/posts/0006-modern-irc/index.org b/src/posts/0006-modern-irc/index.org
index 1e1973a..51eafe1 100644
--- a/src/posts/0006-modern-irc/index.org
+++ b/src/posts/0006-modern-irc/index.org
@@ -3,7 +3,7 @@
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-10-19 Sat]
-#+KEYWORDS: self-hosting, chat, irc
+#+KEYWORDS: self-hosting chat irc
#+DESCRIPTION: Why and how to have modern and respectful chat system with IRC.
#+OPTIONS: auto-id:t toc:t
diff --git a/src/posts/0013-how-to-choose-your-tools/index.org b/src/posts/0013-how-to-choose-your-tools/index.org
index ca025f4..7c58899 100644
--- a/src/posts/0013-how-to-choose-your-tools/index.org
+++ b/src/posts/0013-how-to-choose-your-tools/index.org
@@ -5,7 +5,7 @@
#+Author: Yann Esposito
#+Email: yann@esposito.host
#+Date: [2020-05-09 Sat]
-#+KEYWORDS: emacs, softwares
+#+KEYWORDS: emacs softwares
#+DESCRIPTION: Modern tools tend to disapears. An app on the web will change, and could break for the worst. Quite often investing in long living tools which are harder start with will be worth the investment.
#+LANGUAGE: en
#+LANG: en
diff --git a/src/slides.org b/src/slides.org
index 47d4b10..35c9f99 100644
--- a/src/slides.org
+++ b/src/slides.org
@@ -1,5 +1,5 @@
#+TITLE: Slides
-#+KEYWORDS: programming, presentations, slides
+#+KEYWORDS: programming presentations slides
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+LANGUAGE: en
diff --git a/templates/post.html b/templates/post.html
index d3a8cc2..71f012f 100644
--- a/templates/post.html
+++ b/templates/post.html
@@ -41,8 +41,6 @@