From 381ac1fc3d98ecd0b6f5215c54f907eac6d2b873 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Wed, 12 Feb 2020 09:26:16 -0300
Subject: html tidy wip

---
 _layouts/default.html   |  2 +-
 _layouts/index.html     | 20 +++++++++++---------
 default.nix             |  4 +++-
 scripts/tidy-content.sh | 40 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 55 insertions(+), 11 deletions(-)
 create mode 100755 scripts/tidy-content.sh

diff --git a/_layouts/default.html b/_layouts/default.html
index 1ff8c1d..6416f57 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -57,7 +57,7 @@
     </header>
 
     <main>
-      <h1>{{ page.title }}</h1>
+      {% if page.title %}<h1>{{ page.title }}</h1>{% endif %}
       {{ content }}
     </main>
 
diff --git a/_layouts/index.html b/_layouts/index.html
index 3c145d0..73b97ef 100644
--- a/_layouts/index.html
+++ b/_layouts/index.html
@@ -2,12 +2,14 @@
 layout: default
 ---
 <h1>{{ site.t.recent_posts[page.lang] }}</h1>
-<ul>
-  {%- for post in site.posts -%}
-    {% if post.lang == page.lang %}
-      <li>
-        <a href="{{ post.url }}">{{ post.title | escape }}</a> - {{ post.date | date: site.t.date_format[page.lang] }}
-      </li>
-    {% endif %}
-  {%- endfor -%}
-</ul>
+{% if site.posts.size > 0 %}
+  <ul>
+    {%- for post in site.posts -%}
+      {% if post.lang == page.lang %}
+        <li>
+          <a href="{{ post.url }}">{{ post.title | escape }}</a> - {{ post.date | date: site.t.date_format[page.lang] }}
+        </li>
+      {% endif %}
+    {%- endfor -%}
+  </ul>
+{% endif %}
diff --git a/default.nix b/default.nix
index c664429..0f98063 100644
--- a/default.nix
+++ b/default.nix
@@ -33,9 +33,10 @@ in rec {
     });
     docs = utils.baseTask.overrideAttrs (baseAttrs: {
       name = "${baseAttrs.name}-docs";
-      buildInputs = [ jekyllEnv ];
+      buildInputs = [ jekyllEnv pkgs.html-tidy ];
       buildPhase = ''
         jekyll build -d $out
+        find $out -type f -name '*.html' | xargs -I{} tidy -errors -utf8 -indent -modify {}
       '';
     });
   };
@@ -51,6 +52,7 @@ in rec {
     buildInputs = [
       jekyllEnv
       (pkgs.hunspellWithDicts (with pkgs.hunspellDicts; [ en-us ]))
+      pkgs.html-tidy
     ];
   };
   publishScript = utils.overwritingPublishScript {
diff --git a/scripts/tidy-content.sh b/scripts/tidy-content.sh
new file mode 100755
index 0000000..53533a1
--- /dev/null
+++ b/scripts/tidy-content.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+
+end="\033[0m"
+red="\033[0;31m"
+red() { echo -e "${red}${1}${end}"; }
+
+usage() {
+  red "Missing argument <${1}>.\n"
+  cat <<EOF
+Usage:
+    $0 <INPUT_DIR>
+
+    Arguments:
+        INPUT_DIR        Input directory with the static HTML to be tidy-ed
+
+Examples:
+    $0 _site/
+EOF
+}
+
+INPUT_DIR="${1:-}"
+[[ -z "${INPUT_DIR}" ]] && {
+  usage 'INPUT_DIR'
+  exit 2
+}
+
+format() {
+  FILE="${1}"
+  # mktemp
+  if ! tidy -utf8 -indent -modify "${FILE}" 2>> tmp-error.txt; then
+    cat <(echo "${FILE}") tmp-error.txt >> errors.txt
+    echo "Error in formatting '${FILE}'. See errors.txt for more detail."
+    exit 1
+  fi
+}
+export -f format
+
+find "${INPUT_DIR}" -type f -name '*.html' -print0 | \
+  xargs -0 -I{} bash -c "format {}"
-- 
cgit v1.2.3


From 6191fde9b2d190ae9a0d27b0c514434158e0d517 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 22:52:36 -0300
Subject: _layouts/default.html: Generate langs <ul> only when there are langs

---
 _layouts/default.html | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/_layouts/default.html b/_layouts/default.html
index 6416f57..6a0587b 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -28,25 +28,25 @@
           <a href="{{ site.t.home_url[page.lang] }}">{{ site.t.home[page.lang] }}</a>
         </div>
         <div id="nav-right">
-          <ul>
-            {% if page.ref != nil %}
-              {% assign lposts=site.posts | where:"ref", page.ref | sort: 'lang' %}
-              {% for lpost in lposts %}
-                <li>
-                  <a href="{{ lpost.url }}" class="{{ lpost.lang }}">{{ lpost.lang }}</a>
-                </li>
-              {% endfor %}
-            {% endif %}
+          {% if page.ref != nil %}
+            {% if site.posts.size > 0 or site.pages.size > 0 %}
+              <ul>
+                {% assign lposts=site.posts | where:"ref", page.ref | sort: 'lang' %}
+                {% for lpost in lposts %}
+                  <li>
+                    <a href="{{ lpost.url }}" class="{{ lpost.lang }}">{{ lpost.lang }}</a>
+                  </li>
+                {% endfor %}
 
-            {% if page.ref != nil %}
-              {% assign lpages=site.pages | where:"ref", page.ref | sort: 'lang' %}
-              {% for lpage in lpages %}
-                <li>
-                  <a href="{{ lpage.url }}" class="{{ lpage.lang }}">{{ lpage.lang }}</a>
-                </li>
-              {% endfor %}
+                {% assign lpages=site.pages | where:"ref", page.ref | sort: 'lang' %}
+                {% for lpage in lpages %}
+                  <li>
+                    <a href="{{ lpage.url }}" class="{{ lpage.lang }}">{{ lpage.lang }}</a>
+                  </li>
+                {% endfor %}
+              </ul>
             {% endif %}
-          </ul>
+          {% endif %}
 
           <a href="{{ site.t.about_url[page.lang] }}">{{ site.t.about[page.lang] }}</a>
           <a href="{{ site.t.feed_url[page.lang] }}">
-- 
cgit v1.2.3


From bdfc3da94fa8d16873c427bd4b2c1a1d054a9183 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 22:56:47 -0300
Subject: Only list posts for languages there are available

---
 _layouts/index.html | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/_layouts/index.html b/_layouts/index.html
index 73b97ef..037e0e3 100644
--- a/_layouts/index.html
+++ b/_layouts/index.html
@@ -2,14 +2,13 @@
 layout: default
 ---
 <h1>{{ site.t.recent_posts[page.lang] }}</h1>
-{% if site.posts.size > 0 %}
+{% assign lposts=site.posts | where:"lang", page.lang | sort: 'date' %}
+{% if lposts.size > 0 %}
   <ul>
-    {%- for post in site.posts -%}
-      {% if post.lang == page.lang %}
-        <li>
-          <a href="{{ post.url }}">{{ post.title | escape }}</a> - {{ post.date | date: site.t.date_format[page.lang] }}
-        </li>
-      {% endif %}
+    {%- for post in lposts -%}
+      <li>
+        <a href="{{ post.url }}">{{ post.title | escape }}</a> - {{ post.date | date: site.t.date_format[page.lang] }}
+      </li>
     {%- endfor -%}
   </ul>
 {% endif %}
-- 
cgit v1.2.3


From 8796f1ac4cba340633c67eb16e1a20b69c11e929 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 22:59:08 -0300
Subject: Fix call of tidy: run in quiet mode

---
 scripts/tidy-content.sh | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/scripts/tidy-content.sh b/scripts/tidy-content.sh
index 53533a1..e9bc577 100755
--- a/scripts/tidy-content.sh
+++ b/scripts/tidy-content.sh
@@ -27,10 +27,9 @@ INPUT_DIR="${1:-}"
 
 format() {
   FILE="${1}"
-  # mktemp
-  if ! tidy -utf8 -indent -modify "${FILE}" 2>> tmp-error.txt; then
-    cat <(echo "${FILE}") tmp-error.txt >> errors.txt
-    echo "Error in formatting '${FILE}'. See errors.txt for more detail."
+  echo "${FILE}" >&2
+  if ! tidy --quiet yes -utf8 -indent -modify "${FILE}"; then
+    echo "Error in formatting '${FILE}'. See errors.txt for more detail." >&2
     exit 1
   fi
 }
-- 
cgit v1.2.3


From e70a82008013769abb408ff29871826c5d0ffca8 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 22:59:19 -0300
Subject: Call tidy-content.sh in build derivation

---
 default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/default.nix b/default.nix
index 0f98063..4fbdc61 100644
--- a/default.nix
+++ b/default.nix
@@ -36,7 +36,7 @@ in rec {
       buildInputs = [ jekyllEnv pkgs.html-tidy ];
       buildPhase = ''
         jekyll build -d $out
-        find $out -type f -name '*.html' | xargs -I{} tidy -errors -utf8 -indent -modify {}
+        ./scripts/tidy-content.sh $out
       '';
     });
   };
-- 
cgit v1.2.3


From 5dc77abbdda39c7539fd6eb780db2d1b63f0a266 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 22:59:46 -0300
Subject: Add building docs to test derivation

---
 default.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/default.nix b/default.nix
index 4fbdc61..537c2ae 100644
--- a/default.nix
+++ b/default.nix
@@ -35,6 +35,7 @@ in rec {
       name = "${baseAttrs.name}-docs";
       buildInputs = [ jekyllEnv pkgs.html-tidy ];
       buildPhase = ''
+        patchShebangs .
         jekyll build -d $out
         ./scripts/tidy-content.sh $out
       '';
@@ -46,6 +47,7 @@ in rec {
     (utils.fixme null)
     subtasks.hunspellCheck
     subtasks.assertContent
+    subtasks.docs
   ];
   shell = pkgs.mkShell rec {
     name = "website-shell";
-- 
cgit v1.2.3


From c293692321f83ca11542eb3a4f795e8f140246dd Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 23:01:07 -0300
Subject: Remove old error tidy message

---
 scripts/tidy-content.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/tidy-content.sh b/scripts/tidy-content.sh
index e9bc577..2ccb925 100755
--- a/scripts/tidy-content.sh
+++ b/scripts/tidy-content.sh
@@ -29,7 +29,7 @@ format() {
   FILE="${1}"
   echo "${FILE}" >&2
   if ! tidy --quiet yes -utf8 -indent -modify "${FILE}"; then
-    echo "Error in formatting '${FILE}'. See errors.txt for more detail." >&2
+    echo "Error in formatting '${FILE}'." >&2
     exit 1
   fi
 }
-- 
cgit v1.2.3


From 43a9e4eb977477275086b65bc5337f520499e08e Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 23:06:27 -0300
Subject: Improve error message of tidy-content.sh

---
 default.nix             | 6 +++++-
 scripts/tidy-content.sh | 8 ++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/default.nix b/default.nix
index 537c2ae..2f10691 100644
--- a/default.nix
+++ b/default.nix
@@ -37,7 +37,11 @@ in rec {
       buildPhase = ''
         patchShebangs .
         jekyll build -d $out
-        ./scripts/tidy-content.sh $out
+        ./scripts/tidy-content.sh $out || {
+          echo 'Error in formatting HTML. Reproduce with: '
+          echo '  jekyll build && ./scripts/tidy-content.sh _site/'
+          exit 1
+        }
       '';
     });
   };
diff --git a/scripts/tidy-content.sh b/scripts/tidy-content.sh
index 2ccb925..6dc13c6 100755
--- a/scripts/tidy-content.sh
+++ b/scripts/tidy-content.sh
@@ -26,12 +26,8 @@ INPUT_DIR="${1:-}"
 }
 
 format() {
-  FILE="${1}"
-  echo "${FILE}" >&2
-  if ! tidy --quiet yes -utf8 -indent -modify "${FILE}"; then
-    echo "Error in formatting '${FILE}'." >&2
-    exit 1
-  fi
+  echo "${1}" >&2
+  tidy --quiet yes -utf8 -indent -modify "${1}"
 }
 export -f format
 
-- 
cgit v1.2.3


From d3d1a6e281f39a58395fdf07eaf75dd38c9febe4 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 14 Feb 2020 23:17:36 -0300
Subject: Fix navigation bar links to Atom feeds

---
 _config.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/_config.yml b/_config.yml
index 8eabae1..91d9e90 100644
--- a/_config.yml
+++ b/_config.yml
@@ -43,8 +43,8 @@ t:
     en: "EuAndreh's Feed"
     pt: "Feed do EuAndreh"
   feed_url:
-    en: '/feed.en.xml'
-    pt: '/feed.pt.xml'
+    en: '/feed.en.atom'
+    pt: '/feed.pt.atom'
   date_format:
     en: '%B %-d, %Y'
     pt: '%-d de %B de %Y'
-- 
cgit v1.2.3