~mrls/www

4db5cdca0085eaa7f3b55fb21d3cb2434f66f3bf — Mauro Morales 22 days ago 791cbf5 master
Basis for mrls theme
M _config.yml => _config.yml +6 -0
@@ 36,6 36,12 @@ ml:
    url: https://lists.sr.ht/~mrls/www
    email: ~mrls/www@lists.sr.ht

languages:
  en:
    root: /
  es:
    root: /inicio.html

collections:
  guias:
    output: true

M _data/i18n.yml => _data/i18n.yml +5 -3
@@ 1,7 1,7 @@
---
description:
  en: Software Engineer
  es: Ingeniero de Software
  en: Software Developer
  es: Programador
is_licensed_under:
  en: is licensed under
  es: está licenciado bajo


@@ 23,4 23,6 @@ send_email:
subscribe_rss:
  en: Get updates via
  es: Recive actualizaciones por medio de

home:
  en: home
  es: inicio

M _data/menus.yml => _data/menus.yml +3 -8
@@ 1,12 1,7 @@
---
en:
  - path: about.md
  - path: inicio.md
    title: Español
  - path: posts.md

es:
  - path: mentoreo.md
  - path: acerca-de.md
  - path: index.md
    title: English

  - path: desarrollo.md
  - path: mentorias.md

M _includes/footer.html => _includes/footer.html +1 -1
@@ 14,10 14,10 @@
          <li><a class="u-email" href="mailto:{{ site.email }}">{{ site.email }}</a></li>
          {%- endif -%}
        </ul>
        {%- include social.html -%}
      </div>

      <div class="footer-col footer-col-2">
        {%- include social.html -%}
      </div>

      <div class="footer-col footer-col-3">

M _includes/header.html => _includes/header.html +22 -16
@@ 4,24 4,30 @@
    {%- assign default_paths = site.pages | map: "path" -%}
    {%- assign lang = page.lang | default: 'en' -%}
    {%- assign page_paths = site.header_pages | default: default_paths -%}
    <a class="site-title" rel="author" href="{{ site.root[lang] | relative_url }}">{{ site.title | escape }}</a>
    <div class="title-group">
      <span class="site-title">{{- site.title -}}</span>
      <span class="site-subtitle">
        {{- site.data.i18n.description[lang] | escape -}}
      </span>
    </div>

    <nav class="site-nav">
      <input type="checkbox" id="nav-trigger" class="nav-trigger" />
      <label for="nav-trigger">
        <span class="menu-icon">
          <svg viewBox="0 0 18 15" width="18px" height="15px">
            <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
          </svg>
        </span>
      </label>

      <div class="trigger">
        {%- for menu in site.data.menus[lang] -%}
          {%- assign my_page = site.pages | where: "path", menu.path | first -%}
          <a class="page-link" href="{{ my_page.url | relative_url }}">{{ menu.title | default: my_page.title | escape }}</a>
        {%- endfor -%}
      </div>
      <a class="page-link" href="{{ site.languages[lang].root | relative_url }}">
        {{- site.data.i18n.home[lang] | escape -}}
      </a>
      {%- for menu in site.data.menus[lang] -%}
        {%- assign my_page = site.pages | where: "path", menu.path | first -%}
        <a class="page-link" href="{{ my_page.url | relative_url }}">{{ menu.title | default: my_page.title | escape }}</a>
      {%- endfor -%}
    </nav>
    <nav class="lang-nav">
      <img src="{{ '/assets/translation-icons.svg' | relative_url }}"></img>
      <span class="lang-item">{{ lang }}</span>
      {%- for language in site.languages -%}
        {%- if language[0] != lang -%}
        <a class="lang-item" href="{{ language[1].root }}">{{ language[0] }}</a>
        {%- endif -%}
      {%- endfor -%}
    </nav>
  </div>
</header>

M _includes/social.html => _includes/social.html +20 -15
@@ 1,15 1,20 @@
<ul class="social-media-list">
  {%- if site.github_username -%}<li><a href="https://github.com/{{ site.github_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg> <span class="username">{{ site.github_username| escape }}</span></a></li>{%- endif -%}
  {%- if site.linkedin_username -%}<li><a href="https://www.linkedin.com/in/{{ site.linkedin_username| cgi_escape | escape }}/" data-proofer-ignore><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#linkedin' | relative_url }}"></use></svg> <span class="username">{{ site.linkedin_username| escape }}</span></a></li>{%- endif -%}
  {%- for mst in site.mastodon -%}
    {%- if mst.username and mst.instance -%}
    <li>
      <a rel="me" href="https://{{ mst.instance| cgi_escape | escape}}/@{{mst.username}}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#mastodon' | relative_url }}"></use></svg> <span class="username">{{ mst.username|escape }}</span></a>
    </li>
    {%- endif -%}
  {%- endfor -%}
  {%- if site.twitter_username -%}<li><a href="https://www.twitter.com/{{ site.twitter_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#twitter' | relative_url }}"></use></svg> <span class="username">{{ site.twitter_username| escape }}</span></a></li>{%- endif -%}
  {%- if site.youtube_username -%}<li><a href="https://youtube.com/{{ site.youtube_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg> <span class="username">{{ site.youtube_username| escape }}</span></a></li>{%- endif -%}
  {%- if site.rss -%}<li><a href="{{ 'feed.xml' | relative_url }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#rss' | relative_url }}"></use></svg> <span>{{ site.rss | escape }}</span></a></li>{%- endif -%}
</ul>

{%- if site.github_username -%}
  <a href="https://github.com/{{ site.github_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/mrls-social-icons.svg#github' | relative_url }}"></use></svg></a>
{%- endif -%}
{%- if site.linkedin_username -%}
  <a href="https://www.linkedin.com/in/{{ site.linkedin_username| cgi_escape | escape }}/" data-proofer-ignore><svg class="svg-icon"><use xlink:href="{{ '/assets/mrls-social-icons.svg#linkedin' | relative_url }}"></use></svg></a>
{%- endif -%}
{%- for mst in site.mastodon -%}
  {%- if mst.username and mst.instance -%}
    <a rel="me" href="https://{{ mst.instance| cgi_escape | escape}}/@{{mst.username}}"><svg class="svg-icon"><use xlink:href="{{ '/assets/mrls-social-icons.svg#mastodon' | relative_url }}"></use></svg></a>
  {%- endif -%}
{%- endfor -%}
{%- if site.twitter_username -%}
  <a href="https://www.twitter.com/{{ site.twitter_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/mrls-social-icons.svg#twitter' | relative_url }}"></use></svg></a>
{%- endif -%}
{%- if site.youtube_username -%}
  <a href="https://youtube.com/{{ site.youtube_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/mrls-social-icons.svg#youtube' | relative_url }}"></use></svg></a>
{%- endif -%}
{%- if site.rss -%}
  <a href="{{ 'feed.xml' | relative_url }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/mrls-social-icons.svg#rss' | relative_url }}"></use></svg> <span>{{ site.rss | escape }}</span></a>
{%- endif -%}

A _layouts/default.html => _layouts/default.html +20 -0
@@ 0,0 1,20 @@
<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: "en" }}">

  {%- include head.html -%}

  <body>

    {%- include header.html -%}

    <main class="page-content" aria-label="Content">
      <div class="wrapper">
        {{ content }}
      </div>
    </main>

    {%- include footer.html -%}

  </body>

</html>

A _layouts/home.html => _layouts/home.html +40 -0
@@ 0,0 1,40 @@
---
layout: default
---

<div class="home">
  {%- if page.avatar -%}
  <div class="avatar">
    <img src="{{ page.avatar }}">
  </div>
  {%- endif -%}
  {%- if page.description -%}
  <div class="first-paragraph">
    {{ page.description }}
  </div>
  {%- endif -%}
</div>

  <div>
    {{ content }}
  </div>

{%- assign lang = page.lang | default: 'en' -%}
{%- assign posts = site.posts | where: "lang", lang -%}
{%- if posts.size > 0 -%}
  <h2 class="post-list-heading">Recent Posts</h2>
  <ul class="post-list">
    {%- for post in site.posts limit:5 -%}
    <li>
      {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
      <h3>
        <a class="post-link" href="{{ post.url | relative_url }}">
          {{ post.title | escape }}
        </a>
      </h3>
    </li>
    {%- endfor -%}
  </ul>

  <p class="rss-subscribe">read more <a href="{{ "/posts.html" | relative_url }}" alt="posts">posts</a></p>
{%- endif -%}

M _posts/2019-12-28-december-2019.md => _posts/2019-12-28-december-2019.md +1 -0
@@ 4,6 4,7 @@ title: December 2019
date: 2019-12-28 10:33 +0100
place: Ghent
category: status-updates
lang: en
---

December was a bit hectic. The month started with me quitting my job in order

M _posts/2020-01-18-big-tech-doesnt-mean-good-software.md => _posts/2020-01-18-big-tech-doesnt-mean-good-software.md +1 -0
@@ 4,6 4,7 @@ title: Big Tech Doesn't Mean Good Software
date: 2020-01-18 12:25 +0100
place: Ghent
category: opinions
lang: en
redirect_from:
  - /big-tech-doesnt-mean-good-software.html
---

M _posts/2020-02-03-the-most-beautiful-lake-in-the-world.md => _posts/2020-02-03-the-most-beautiful-lake-in-the-world.md +1 -0
@@ 2,6 2,7 @@
layout: post
title: The Most Beautiful Lake in the World
place: San Marcos La Laguna
lang: en
date: 2020-02-03 12:17 -0600
---


M _posts/2020-02-04-january-2020.md => _posts/2020-02-04-january-2020.md +1 -0
@@ 4,6 4,7 @@ title: January 2020
category: status-updates
place: Guatemala City
toc: true
lang: en
date: 2020-02-04 11:01 -0600
---
The first month of the year is normally to start fresh. For me it's been more

M _posts/2020-02-23-reunification-visas-for-students-are-broken.md => _posts/2020-02-23-reunification-visas-for-students-are-broken.md +1 -0
@@ 3,6 3,7 @@ layout: post
title: Reunification Visas for Students are Broken
category: expat
place: Ghent
lang: en
date: 2020-02-23 14:25 +0100
---


M _posts/2020-02-29-february-2020.md => _posts/2020-02-29-february-2020.md +1 -0
@@ 3,6 3,7 @@ layout: post
title: February 2020
date: 2020-02-29 21:16 +0100
place: Ghent
lang: en
category: status-updates
---


A _sass/mrls.scss => _sass/mrls.scss +52 -0
@@ 0,0 1,52 @@
@charset "utf-8";

// Define defaults for each variable.

$base-font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
$base-font-size:   16px !default;
$base-font-weight: 400 !default;
$small-font-size:  $base-font-size * 0.875 !default;
$base-line-height: 1.5 !default;

$spacing-unit:     30px !default;

$text-color:       #111 !default;
$background-color: #fdfdfd !default;
$brand-color:      #2a7ae2 !default;

$grey-color:       #828282 !default;
$grey-color-light: lighten($grey-color, 40%) !default;
$grey-color-dark:  darken($grey-color, 25%) !default;

$table-text-align: left !default;

// Width of the content area
$content-width:    800px !default;

$on-palm:          600px !default;
$on-laptop:        800px !default;

// Use media queries like this:
// @include media-query($on-palm) {
//   .wrapper {
//     padding-right: $spacing-unit / 2;
//     padding-left: $spacing-unit / 2;
//   }
// }
@mixin media-query($device) {
  @media screen and (max-width: $device) {
    @content;
  }
}

@mixin relative-font-size($ratio) {
  font-size: $base-font-size * $ratio;
}

// Import partials.
@import
  "mrls/base",
  "mrls/layout",
  "mrls/syntax-highlighting"
;


A _sass/mrls/_base.scss => _sass/mrls/_base.scss +253 -0
@@ 0,0 1,253 @@
/**
 * Reset some basic elements
 */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
  margin: 0;
  padding: 0;
}



/**
 * Basic styling
 */
body {
  font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
  color: $text-color;
  background-color: $background-color;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" 1;
     -moz-font-feature-settings: "kern" 1;
       -o-font-feature-settings: "kern" 1;
          font-feature-settings: "kern" 1;
  font-kerning: normal;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}



/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure,
%vertical-rhythm {
  margin-bottom: $spacing-unit / 2;
}



/**
 * `main` element
 */
main {
  display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */
}



/**
 * Images
 */
img {
  max-width: 100%;
  vertical-align: middle;
}



/**
 * Figures
 */
figure > img {
  display: block;
}

figcaption {
  font-size: $small-font-size;
}



/**
 * Lists
 */
ul, ol {
  margin-left: $spacing-unit;
}

li {
  > ul,
  > ol {
    margin-bottom: 0;
  }
}



/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: $base-font-weight;
}



/**
 * Links
 */
a {
  color: $brand-color;

  &:visited {
    color: darken($brand-color, 15%);
  }

  &:hover {
    color: $text-color;
    text-decoration: underline;
  }

  .social-media-list &:hover {
    text-decoration: none;

    .username {
      text-decoration: underline;
    }
  }
}


/**
 * Blockquotes
 */
blockquote {
  color: $grey-color;
  border-left: 4px solid $grey-color-light;
  padding-left: $spacing-unit / 2;
  @include relative-font-size(1.125);
  letter-spacing: -1px;
  font-style: italic;

  > :last-child {
    margin-bottom: 0;
  }
}



/**
 * Code formatting
 */
pre,
code {
  @include relative-font-size(0.9375);
  border: 1px solid $grey-color-light;
  border-radius: 3px;
  background-color: #eef;
}

code {
  padding: 1px 5px;
}

pre {
  padding: 8px 12px;
  overflow-x: auto;

  > code {
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}



/**
 * Wrapper
 */
.wrapper {
  max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
  max-width:         calc(#{$content-width} - (#{$spacing-unit} * 2));
  margin-right: auto;
  margin-left: auto;
  padding-right: $spacing-unit;
  padding-left: $spacing-unit;
  @extend %clearfix;

  @include media-query($on-laptop) {
    max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
    max-width:         calc(#{$content-width} - (#{$spacing-unit}));
    padding-right: $spacing-unit / 2;
    padding-left: $spacing-unit / 2;
  }
}



/**
 * Clearfix
 */
%clearfix:after {
  content: "";
  display: table;
  clear: both;
}



/**
 * Icons
 */

.svg-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    fill: #{$grey-color};
    padding-right: 5px;
    vertical-align: text-top;
}

.social-media-list {
  li + li {
    padding-top: 5px;
  }
}



/**
 * Tables
 */
table {
  margin-bottom: $spacing-unit;
  width: 100%;
  text-align: $table-text-align;
  color: lighten($text-color, 18%);
  border-collapse: collapse;
  border: 1px solid $grey-color-light;
  tr {
    &:nth-child(even) {
      background-color: lighten($grey-color-light, 6%);
    }
  }
  th, td {
    padding: ($spacing-unit / 3) ($spacing-unit / 2);
  }
  th {
    background-color: lighten($grey-color-light, 3%);
    border: 1px solid darken($grey-color-light, 4%);
    border-bottom-color: darken($grey-color-light, 12%);
  }
  td {
    border: 1px solid $grey-color-light;
  }
}

A _sass/mrls/_layout.scss => _sass/mrls/_layout.scss +270 -0
@@ 0,0 1,270 @@
/**
 * Site header
 */
.site-header {
  min-height: $spacing-unit * 1.865;

  // Positioning context for the mobile navigation icon
}

.title-group {
  float: left;
  max-width: 30%;

  @include media-query($on-palm) {
    max-width: 100%;
    width: 100%;
  }
}

.site-title {
  @include relative-font-size(2.2);

  float: left;
  font-weight: 300;
  letter-spacing: -1px;
  margin-top: 0.5rem;

  @include media-query($on-palm) {
    width: 100%;
  }
}

.site-subtitle {
  color: $grey-color;
  float: left;

  @include media-query($on-palm) {
    width: 100%;
  }
}

.lang-nav {
  float: right;

  @include media-query($on-palm) {
    position: absolute;
    right: 1em;
  }

  > .lang-item ~ .lang-item {
      padding-left: 0.5rem;
  }
}

.site-nav {
  float: left;
  line-height: $base-line-height * $base-font-size * 2.25;
  text-align: center;
  margin-top: 1em;
  padding-left: 2em;

  .page-link {
    line-height: $base-line-height;
    padding: 5px;

    // Gaps between nav items, but not on the last one
    &:not(:last-child) {
      margin-right: 5px;
    }
  }

  @include media-query($on-palm) {
    line-height: 0;
    padding-left: 0;
    width: 100%;

    .page-link {

      &:not(:last-child) {
        margin-right: 0;
      }
    }
  }
}

.home {
  float: left;
  width: 100%;
  margin-bottom: 1em;
}

.first-paragraph {
  @include relative-font-size(2.2);

  border-bottom: 3px solid black;
  font-weight: 300;
  float: left;
  line-height: $base-line-height * 0.8;
  max-width: 70%;
  padding-bottom: 1.4rem;
  //text-align: justify;

  @include media-query($on-palm) {
    @include relative-font-size(1.5);
    max-width: 100%;
  }
}

.avatar {
  float: right;
  max-width: 25%;
  padding-top: 0.5em;

  @include media-query($on-palm) {
    display: none;
  }
}


/**
 * Site footer
 */
.site-footer {
  border-top: 1px solid $grey-color-light;
  padding: $spacing-unit 0;
}

.footer-heading {
  @include relative-font-size(1.125);
  margin-bottom: $spacing-unit / 2;
}

.contact-list,
.social-media-list {
  list-style: none;
  margin-left: 0;
}

.footer-col-wrapper {
  @include relative-font-size(0.9375);
  color: $grey-color;
  margin-left: -$spacing-unit / 2;
  @extend %clearfix;
}

.footer-col {
  float: left;
  margin-bottom: $spacing-unit / 2;
  padding-left: $spacing-unit / 2;
}

.footer-col-1 {
  width: -webkit-calc(35% - (#{$spacing-unit} / 2));
  width:         calc(35% - (#{$spacing-unit} / 2));
}

.footer-col-2 {
  width: -webkit-calc(20% - (#{$spacing-unit} / 2));
  width:         calc(20% - (#{$spacing-unit} / 2));
}

.footer-col-3 {
  width: -webkit-calc(45% - (#{$spacing-unit} / 2));
  width:         calc(45% - (#{$spacing-unit} / 2));
}

@include media-query($on-laptop) {
  .footer-col-1,
  .footer-col-2 {
    width: -webkit-calc(50% - (#{$spacing-unit} / 2));
    width:         calc(50% - (#{$spacing-unit} / 2));
  }

  .footer-col-3 {
    width: -webkit-calc(100% - (#{$spacing-unit} / 2));
    width:         calc(100% - (#{$spacing-unit} / 2));
  }
}

@include media-query($on-palm) {
  .footer-col {
    float: none;
    width: -webkit-calc(100% - (#{$spacing-unit} / 2));
    width:         calc(100% - (#{$spacing-unit} / 2));
  }
}



/**
 * Page content
 */
.page-content {
  padding: $spacing-unit 0;
  flex: 1;
}

.page-heading {
  @include relative-font-size(2);
}

.post-list-heading {
  @include relative-font-size(1.75);
}

.post-list {
  margin-left: 0;
  list-style: none;

  h3 {
    margin-bottom: 0;
  }
}

.post-meta {
  font-size: $small-font-size;
  color: $grey-color;
}

.post-link {
  display: block;
  @include relative-font-size(1.5);
}



/**
 * Posts
 */
.post-header {
  margin-bottom: $spacing-unit;
}

.post-title {
  @include relative-font-size(2.625);
  letter-spacing: -1px;
  line-height: 1;

  @include media-query($on-laptop) {
    @include relative-font-size(2.25);
  }
}

.post-content {
  margin-bottom: $spacing-unit;

  h2 {
    @include relative-font-size(2);

    @include media-query($on-laptop) {
      @include relative-font-size(1.75);
    }
  }

  h3 {
    @include relative-font-size(1.625);

    @include media-query($on-laptop) {
      @include relative-font-size(1.375);
    }
  }

  h4 {
    @include relative-font-size(1.25);

    @include media-query($on-laptop) {
      @include relative-font-size(1.125);
    }
  }
}

A _sass/mrls/_syntax-highlighting.scss => _sass/mrls/_syntax-highlighting.scss +71 -0
@@ 0,0 1,71 @@
/**
 * Syntax highlighting styles
 */
.highlight {
  background: #fff;
  @extend %vertical-rhythm;

  .highlighter-rouge & {
    background: #eef;
  }

  .c     { color: #998; font-style: italic } // Comment
  .err   { color: #a61717; background-color: #e3d2d2 } // Error
  .k     { font-weight: bold } // Keyword
  .o     { font-weight: bold } // Operator
  .cm    { color: #998; font-style: italic } // Comment.Multiline
  .cp    { color: #999; font-weight: bold } // Comment.Preproc
  .c1    { color: #998; font-style: italic } // Comment.Single
  .cs    { color: #999; font-weight: bold; font-style: italic } // Comment.Special
  .gd    { color: #000; background-color: #fdd } // Generic.Deleted
  .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
  .ge    { font-style: italic } // Generic.Emph
  .gr    { color: #a00 } // Generic.Error
  .gh    { color: #999 } // Generic.Heading
  .gi    { color: #000; background-color: #dfd } // Generic.Inserted
  .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
  .go    { color: #888 } // Generic.Output
  .gp    { color: #555 } // Generic.Prompt
  .gs    { font-weight: bold } // Generic.Strong
  .gu    { color: #aaa } // Generic.Subheading
  .gt    { color: #a00 } // Generic.Traceback
  .kc    { font-weight: bold } // Keyword.Constant
  .kd    { font-weight: bold } // Keyword.Declaration
  .kp    { font-weight: bold } // Keyword.Pseudo
  .kr    { font-weight: bold } // Keyword.Reserved
  .kt    { color: #458; font-weight: bold } // Keyword.Type
  .m     { color: #099 } // Literal.Number
  .s     { color: #d14 } // Literal.String
  .na    { color: #008080 } // Name.Attribute
  .nb    { color: #0086B3 } // Name.Builtin
  .nc    { color: #458; font-weight: bold } // Name.Class
  .no    { color: #008080 } // Name.Constant
  .ni    { color: #800080 } // Name.Entity
  .ne    { color: #900; font-weight: bold } // Name.Exception
  .nf    { color: #900; font-weight: bold } // Name.Function
  .nn    { color: #555 } // Name.Namespace
  .nt    { color: #000080 } // Name.Tag
  .nv    { color: #008080 } // Name.Variable
  .ow    { font-weight: bold } // Operator.Word
  .w     { color: #bbb } // Text.Whitespace
  .mf    { color: #099 } // Literal.Number.Float
  .mh    { color: #099 } // Literal.Number.Hex
  .mi    { color: #099 } // Literal.Number.Integer
  .mo    { color: #099 } // Literal.Number.Oct
  .sb    { color: #d14 } // Literal.String.Backtick
  .sc    { color: #d14 } // Literal.String.Char
  .sd    { color: #d14 } // Literal.String.Doc
  .s2    { color: #d14 } // Literal.String.Double
  .se    { color: #d14 } // Literal.String.Escape
  .sh    { color: #d14 } // Literal.String.Heredoc
  .si    { color: #d14 } // Literal.String.Interpol
  .sx    { color: #d14 } // Literal.String.Other
  .sr    { color: #009926 } // Literal.String.Regex
  .s1    { color: #d14 } // Literal.String.Single
  .ss    { color: #990073 } // Literal.String.Symbol
  .bp    { color: #999 } // Name.Builtin.Pseudo
  .vc    { color: #008080 } // Name.Variable.Class
  .vg    { color: #008080 } // Name.Variable.Global
  .vi    { color: #008080 } // Name.Variable.Instance
  .il    { color: #099 } // Literal.Number.Integer.Long
}

M assets/main.scss => assets/main.scss +1 -1
@@ 2,7 2,7 @@
# Only the main Sass file needs front matter (the dashes are enough)
---

@import "minima";
@import "mrls";

.en_us::after {
  content: ' 🇺🇸';

A assets/mrls-social-icons.svg => assets/mrls-social-icons.svg +20 -0
@@ 0,0 1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<symbol id="github" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"/></symbol>

<symbol id="linkedin" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M13.632 13.635h-2.37V9.922c0-.886-.018-2.025-1.234-2.025-1.235 0-1.424.964-1.424 1.96v3.778h-2.37V6H8.51v1.04h.03c.318-.6 1.092-1.233 2.247-1.233 2.4 0 2.845 1.58 2.845 3.637v4.188zM3.558 4.955c-.762 0-1.376-.617-1.376-1.377 0-.758.614-1.375 1.376-1.375.76 0 1.376.617 1.376 1.375 0 .76-.617 1.377-1.376 1.377zm1.188 8.68H2.37V6h2.376v7.635zM14.816 0H1.18C.528 0 0 .516 0 1.153v13.694C0 15.484.528 16 1.18 16h13.635c.652 0 1.185-.516 1.185-1.153V1.153C16 .516 15.467 0 14.815 0z" fill-rule="nonzero"/></symbol>

<symbol id="rss" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.8 16C12.8 8.978 7.022 3.2 0 3.2V0c8.777 0 16 7.223 16 16h-3.2zM2.194 11.61c1.21 0 2.195.985 2.195 2.196 0 1.21-.99 2.194-2.2 2.194C.98 16 0 15.017 0 13.806c0-1.21.983-2.195 2.194-2.195zM10.606 16h-3.11c0-4.113-3.383-7.497-7.496-7.497v-3.11c5.818 0 10.606 4.79 10.606 10.607z"/></symbol>

<symbol id="stackoverflow" class="svg-icon" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.658 14.577v-4.27h1.423V16H1.23v-5.693h1.42v4.27h10.006zm-8.583-1.423h7.16V11.73h-7.16v1.424zm.173-3.235l6.987 1.46.3-1.38L4.55 8.54l-.302 1.38zm.906-3.37l6.47 3.02.602-1.3-6.47-3.02-.602 1.29zm1.81-3.19l5.478 4.57.906-1.08L7.87 2.28l-.9 1.078zM10.502 0L9.338.863l4.27 5.735 1.164-.862L10.5 0z"/></symbol>

<symbol id="twitter" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M16 3.038c-.59.26-1.22.437-1.885.517.677-.407 1.198-1.05 1.443-1.816-.634.37-1.337.64-2.085.79-.598-.64-1.45-1.04-2.396-1.04-1.812 0-3.282 1.47-3.282 3.28 0 .26.03.51.085.75-2.728-.13-5.147-1.44-6.766-3.42C.83 2.58.67 3.14.67 3.75c0 1.14.58 2.143 1.46 2.732-.538-.017-1.045-.165-1.487-.41v.04c0 1.59 1.13 2.918 2.633 3.22-.276.074-.566.114-.865.114-.21 0-.41-.02-.61-.058.42 1.304 1.63 2.253 3.07 2.28-1.12.88-2.54 1.404-4.07 1.404-.26 0-.52-.015-.78-.045 1.46.93 3.18 1.474 5.04 1.474 6.04 0 9.34-5 9.34-9.33 0-.14 0-.28-.01-.42.64-.46 1.2-1.04 1.64-1.7z" fill-rule="nonzero"/></symbol>

<symbol id="youtube" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 7.345c0-1.294.16-2.59.16-2.59s.156-1.1.636-1.587c.608-.637 1.408-.617 1.764-.684C3.84 2.36 8 2.324 8 2.324s3.362.004 5.6.166c.314.038.996.04 1.604.678.48.486.636 1.588.636 1.588S16 6.05 16 7.346v1.258c0 1.296-.16 2.59-.16 2.59s-.156 1.102-.636 1.588c-.608.638-1.29.64-1.604.678-2.238.162-5.6.166-5.6.166s-4.16-.037-5.44-.16c-.356-.067-1.156-.047-1.764-.684-.48-.487-.636-1.587-.636-1.587S0 9.9 0 8.605v-1.26zm6.348 2.73V5.58l4.323 2.255-4.32 2.24z"/></symbol>

<symbol id="mastodon" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
  <path transform="scale(0.07)" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/>
  <path transform="scale(0.07)" fill="#FFF" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/>
</symbol>

</svg>

A assets/translation-icons.svg => assets/translation-icons.svg +1 -0
@@ 0,0 1,1 @@
<?xml version="1.0" ?><svg height="32" id="svg4050" version="1.1" viewBox="0 0 32 32.000001" width="32" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs4052"/><g id="layer1" transform="translate(0,-1020.3622)"><path d="m 16.339286,1028.8622 9.66071,0 c 0.83101,0 1.500018,0.669 1.500018,1.5 l 0,14 c 0,0.831 -0.669008,1.5 -1.500018,1.5 l -9.499996,0 -0.680744,-2.8931" id="path4307" style="opacity:1;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0999999;stroke-dasharray:none"/><path d="m 19.5,1042.8622 -13.4999967,0 c -0.8310096,0 -1.5000174,-0.669 -1.5000174,-1.5 l 0,-14 c 0,-0.831 0.6690078,-1.5 1.5000174,-1.5 l 9.4999967,0 z" id="rect4302" style="opacity:1;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0999999;stroke-dasharray:none"/><path d="m 16.505051,1045.8572 2.989899,-2.9899" id="path4309" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"/><path d="m 9.9994799,1031.3618 2.5005201,0 c -1.5e-5,1.1318 -0.760164,2.1224 -1.853338,2.4153 -1.093179,0.2929 -2.2468122,-0.1849 -2.8126964,-1.165 -0.5658815,-0.9801 -0.4028951,-2.2182 0.3973789,-3.0184 0.8002711,-0.8003 2.0382745,-0.9633 3.0183955,-0.3974" id="path4331" style="opacity:1;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0999999;stroke-dasharray:none"/><path d="m 17.492879,1032.8623 7,0" id="path4333" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"/><path d="m 23.987701,1039.8556 a 8.5,8.5 0 0 1 -4.470661,-6.9555" id="path4335" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"/><path d="m 22.483263,1032.8953 a 8.5,8.5 0 0 1 -3.739827,6.5202" id="circle4337" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"/><path d="m 21.00005,1030.8693 0,2" id="path4339" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"/></g></svg>
\ No newline at end of file

A desarrollo.md => desarrollo.md +48 -0
@@ 0,0 1,48 @@
---
layout: page
title: Desarrollo
lang: es
---

Ofrezco servicios de desarrollo de aplicaciones web y automatización de
servicios.

## Portafolio

- [4over4]
- [Babbel]
- [CircusOffers]
- [Cloud Foundry]
- [CodeShip]
- [Jenkins X]
- [Machinery]

[4over4]: https://www.4over4.com/
[Babbel]: https://www.babbel.com/
[CircusOffers]: https://circusoffers.com/
[Cloud Foundry]: https://www.cloudfoundry.org/
[CodeShip]: https://codeship.com/
[Jenkins X]: https://jenkins-x.io/
[Machinery]: http://machinery-project.org/
[USportNutrition]: https://usportnutrition.com/


[cv]: /hoja-de-vida.html

## ¿Por qué trabajar conmigo?

Tengo más de 15 años de experiencia profesional a nivel internacional. Me
especializo en desarrollo web y aplicaciones para la línea de comando. Mi
lenguaje principal es Ruby pero también he utilizado Go, JavaScript, PHP
y PL/SQL.

Puedes encontrar más información sobre mi carrera profesional en mi [hoja de
vida][cv].

## Contacto

Si estás interesado en trabajar conmigo por favor envíe un correo
a [contact@mauromorales.com] con una introducción del proyecto y con mucho
gusto me pondré en contacto contigo.

[contact@mauromorales.com]: mailto:contact@mauromorales.com

A hoja-de-vida.md => hoja-de-vida.md +123 -0
@@ 0,0 1,123 @@
---
layout: page
title: Hoja de Vida
lang: es
---

Soy autodidacta y pragmático. Me gusta trabajar en proyectos que producen valor
a sus usuarios. Creo en los beneficios de escribir código libre o en su defecto
abierto. Me gusta trabajar con programadores junior y ayudarles a crecer en su
carrera. Puedo trabajar de forma remota y presencial.

## Trabajo

### [CloudBees] 

    👴🏽 Senior Software Engineer 
    📅 Abril 2019 - Diciembre 2019
    🌐 Remoto
    🧰 Ruby, Ruby on Rails, Go, Amazon Lambda, Docker, Kubernetes, LXC
    🏭 Scrum

Fui contratado en CloudBees para trabajar en [CodeShip] un **SaaS** para
**CI/CD** en donde tuve la oportunidad de optimizar el rendimiento de queries
y agregar funcionalidad a su plataforma de compilación. Adicionalmente fui
parte del equipo de **Jenkins X** donde trabajé arreglando errores y agregando
funcionalidad a su aplicación de línea de comando.


### [Babbel] 

    👴🏽 Senior Software Engineer 
    📅 Mayo 2018 - Marzo 2019
    🌐 Berlín, Alemania
    🧰 Ruby, Ruby on Rails, Go, Amazon Lambda, Amazon S3, Jekyll, express.js
    🏭 Scrum

En Babbel forme parte del equipo de desarrollo apoyando al equipo de mercadeo
en donde tuve la oportunidad de rediseñar todo el sistema de generación
y validación de páginas estáticas.

### [SUSE]

    👴🏽 Senior Software Engineer 
    📅 Abril 2015 - Abril 2018
    🌐 Núremberg, Alemania
    🧰 Ruby, Go, Docker, OpenStack, Linux
    🏭 Scrum & XP

Originalmente trabaje para SUSE desarrollando Machinery, una herramienta para
hacer introspección de servidores de Linux. Posteriormente pasé a formar parte
del equipo de Cloud Foundry, donde trabajé en la integración entre IaaS y PaaS
por medio de BOSH.

### [LAS]

    🧑‍💼 Data Services Manager
    📅 Agosto 2012 - Enero 2015
    🌐 Leysin, Suiza
    🧰 Ruby, Ruby on Rails, Linux, OS X
    🏭 Lean & Kanban

En LAS trabajé principalmente haciendo la integración de diferentes servicios
que utilizaba el internado. Adicionalmente hice una aplicación para la
configuración automática de ordenadores corriendo el sistema operativo OS X.

### Scream Web Studios

    🦸 Co-Founder
    📅 Diciembre 2009 - Enero 2012
    🌐 Ciudad de Guatemala
    🧰 Ruby, Ruby on Rails, PHP, BigCommerce

### [Creative Works]

    👨‍🔧 Software Developer
    📅 Agosto 2009 - Julio 2012
    🌐 Remoto
    🧰 PHP, CodeIgniter, JavaScript, jQuery, MySQL, Linux

En Creative Works me tocó trabajar en el desarrollo de 4over4, una plataforma
de comercio electrónico para la venta de productos en papel de la imprenta más
grande de la costa oeste de los Estados Unidos.

### [Telefónica]

    👶 Analista de Sistemas
    📅 Junio 2006 - Julio 2009
    🌐 Ciudad de Guatemala
    🧰 PL/SQL, Oracle DB 9, Oracle Discoverer

En telefónica trabajé en el departamento de Data Warehouse. Tuve la oportunidad
de agregar valor generando reportes automatizados.

[CloudBees]: https://www.cloudbees.com/
[CodeShip]: https://codeship.com/
[Babbel]: https://www.babbel.com/
[SUSE]: https://www.suse.com/
[Cloud Foundry]: https://www.cloudfoundry.org/
[LAS]: https://www.las.ch/
[Creative Works]: https://www.creativeworks.us/
[Telefónica]: https://www.telefonica.com/

## Estudios

Cursé aproximadamente la mitad de la carrera de Ciencias de la Computación. Sin
embargo decidí salirme ya que la carga entre estudios y trabajo de tiempo
completo era muy demandante. Esto no me ha limitado de seguir aprendiendo cosas
nuevas, ni de aprender más a profundidad sobre fundamentos de la programación.

**Certificaciones**

- Linux Foundation Certified Administrator
- Linux System Administration, O'Reilley
- Puppet Fundamentals, OlinData
- BDD with Cucumber, BDD Kickstart

## Idiomas

**Español** Idioma materno

**Inglés** Fluido

**Alemán** Avanzado

M index.md => index.md +15 -0
@@ 3,4 3,19 @@
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

layout: home
description: |
  Specialised in backend development and CLI apps using Ruby and Go. Free and
  Open Source Software enthusiast.
avatar: /assets/img/avatar.jpeg
---

I'm a [CloudBees], [Babbel], [SUSE], [LAS], [CW], and [Telefónica] alumnus
<mark>currently looking for his next gig.</mark>


[CloudBees]: https://www.cloudbees.com/
[Babbel]: https://www.babbel.com/
[SUSE]: https://www.suse.com/
[LAS]: https://www.las.ch/
[CW]: https://www.creativeworks.us/
[Telefónica]: https://www.telefonica.com/

M inicio.md => inicio.md +9 -26
@@ 1,36 1,19 @@
---
layout: page
layout: home
lang: es
description: |
  Especialista en backend y aplicaciones para la línea de comando utilizando
  Ruby y Go. Entusiasta del software libre y de código abierto.
avatar: /assets/img/avatar.jpeg
---

Desarrollador de software con 15 años de experiencia profesional ubicado en
Bélgica.

## Carrera profesional

Año | Empresa        | País    | Tipo de desarrollo
----|----------------|---------|-------------------
2019|[CloudBees]     |Alemania |Web y Sistemas
2018|[Babbel]        |Alemania |Web
2015|[SUSE]          |Alemania |Web y Sistemas
2012|[LAS]           |Suiza    |Web y Sistemas
2009|[Creative Works]|Guatemala|Web
2005|[Telefónica]    |Guatemala|Data Warehouse
Trabajé para [CloudBees], [Babbel], [SUSE], [LAS], [CW], y [Telefónica].
<mark>Actualmente ofrezco <a href="/desarrollo.html">desarrollo</a> y <a
href="/mentorias.html">mentorías</a>.</mark>

[CloudBees]: https://www.cloudbees.com/
[CodeShip]: https://codeship.com/
[Babbel]: https://www.babbel.com/
[SUSE]: https://www.suse.com/
[Cloud Foundry]: https://www.cloudfoundry.org/
[LAS]: https://www.las.ch/
[Creative Works]: https://www.creativeworks.us/
[CW]: https://www.creativeworks.us/
[Telefónica]: https://www.telefonica.com/

## Consultoría y desarrollo

Actualmente ofrezco servicios de consultoría y desarrollo. Únicamente trabajo
de forma remota (reuniones en persona son posibles) y en la zona horaria de
Europa Central. Para mas información, por favor envíe un correo a
[contact@mauromorales.com] y con mucho gusto me pondré en contacto con usted.

[contact@mauromorales.com]: mailto:contact@mauromorales.com

R mentoreo.md => mentorias.md +16 -4
@@ 1,7 1,9 @@
---
layout: page
title: Mentoreo
title: Mentorías
lang: es
redirect_from:
  - /mentoreo.html
---

Me gusta mucho trabajar con otros programadores y ayudarles a mejorar en su


@@ 44,9 46,9 @@ a nivel mundial como Cloud Foundry y Jenkins X y hasta logré dar una charla en
una LinuxCon en Irlanda.

Para poder alcanzar mis objetivos, tuve que aprender no solamente de
tecnología, sino también de los procesos migratorios y trabajar con culturas
diferentes. Incluso me tocó aprender habilidades blandas sobre relaciones
a distancia y hacer amistades en un país foráneo.
tecnología, sino también entender lo que las empresas buscan, desarrollar
habilidades blandas, aprender a integrarme en otra cultura y romperme la cabeza
con los procesos migratorios.

## ¿Qué son sesiones uno a uno?



@@ 85,6 87,16 @@ y personalmente.

-- Kebin Eberle

> Mauro es un mentor apasionado, amable y talentoso. Siempre hace un esfuerzo
> extraordinario para ayudar a los programadores junior con sus preguntas
> y mentorearlos de la mejor manera posible. Como un miembro junior del
> equipo, encontré que Mauro era accesible, rápido y empático. El valora
> a las personas sin importar su rango y trata a todos con respeto. No
> solamente disfruté trabajar con el por su conocimiento y experiencia sino
> que también por su buen sentido del humor.

--Abdul Rehman

## ¿Estás interesado?

- Escríbeme un correo

A posts.md => posts.md +25 -0
@@ 0,0 1,25 @@
---
layout: page
title: posts
---

{%- if site.posts.size > 0 -%}
  <ul class="post-list">
    {%- for post in site.posts -%}
    <li>
      {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
      <h3>
        <a class="post-link" href="{{ post.url | relative_url }}">
          {{ post.title | escape }}
        </a>
      </h3>
      <span class="post-meta">{{ post.date | date: date_format }}</span>
      {%- if site.show_excerpts -%}
        {{ post.excerpt }}
      {%- endif -%}
    </li>
    {%- endfor -%}
  </ul>

  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
{%- endif -%}