<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://jsanz.github.io/gh-pages-minima-starter/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jsanz.github.io/gh-pages-minima-starter/" rel="alternate" type="text/html" /><updated>2026-02-20T13:29:38+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/feed.xml</id><title type="html">My blog</title><subtitle>My very nice blog</subtitle><author><name>Jorge Sanz</name></author><entry><title type="html">Tutorial VIII: HTML</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/04/20/html.html" rel="alternate" type="text/html" title="Tutorial VIII: HTML" /><published>2020-04-20T00:00:00+00:00</published><updated>2020-04-20T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/04/20/html</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/04/20/html.html"><![CDATA[<p>Quick note on highlighting that Markdown supports raw HTML. That means that if for some reason Markdown falls short or becomes inconvenient for a thing you are authoring, you can always use HTML as a fallback solution. One very common scenario is customizing the width and height of your images.</p>

<p>You can check the source code of the <a href="/2020/03/24/edit-content.html">editing content</a> post to see how I moved from the standard syntax for images using <code class="language-plaintext highlighter-rouge">![alt text](image path)</code> to use HTML to allow to set up a custom width using a CSS style.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;div</span> <span class="na">style=</span><span class="s">"text-align:right; margin: 20px 0"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;p&gt;</span>
    Another example could be to 
    <span class="nt">&lt;span</span> <span class="na">style=</span><span class="s">"color:red"</span><span class="nt">&gt;</span>change text color<span class="nt">&lt;/span&gt;</span>.
  <span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<div style="text-align:right; margin: 20px 0">
<p>
Another example could be to <span style="color:red">change text color</span>.
</p>
</div>

<p>Easy right? 😀</p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[Quick note on highlighting that Markdown supports raw HTML. That means that if for some reason Markdown falls short or becomes inconvenient for a thing you are authoring, you can always use HTML as a fallback solution. One very common scenario is customizing the width and height of your images.]]></summary></entry><entry><title type="html">Tutorial VII: internal links</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/04/19/links.html" rel="alternate" type="text/html" title="Tutorial VII: internal links" /><published>2020-04-19T00:00:00+00:00</published><updated>2020-04-19T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/04/19/links</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/04/19/links.html"><![CDATA[<p>In your blog post you will write links to internal resources, like other articles, pages, and images. You can use relative paths for those assets so for example to link the archive you may use the following code <code class="language-plaintext highlighter-rouge">[archive](/archive)</code>. This will work fine, since that’s the url of your archive, but what happens if you decide to change the url? You’d have to search for any occurrence in your site for any link and fix it.</p>

<p>A different approach is to use a Jekyll feature called <em>Liquid tags</em>. From the <a href="https://jekyllrb.com/docs/liquid/">documentation</a>:</p>

<blockquote>
  <p>Jekyll uses the <a href="https://shopify.github.io/liquid/">Liquid</a> templating language to process templates.</p>

  <p>Generally in Liquid you output content using two curly braces e.g. <code class="language-plaintext highlighter-rouge">{{ variable }}</code> and perform logic statements by surrounding them in a curly brace percentage sign e.g. <code class="language-plaintext highlighter-rouge">{% if statement %}</code>. To learn more about Liquid, check out the <a href="https://shopify.github.io/liquid/">official Liquid Documentation</a>.</p>
</blockquote>

<p>There is a Liquid tag to link to files, getting as a result the corresponding url for the resource. So for our archive we would use:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[archive]({{ site.base_url }}{% link _pages/archive.md %})
</code></pre></div></div>

<p>and this would be automatically converted into</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[archive](/gh-pages-minima-starter/archive)
</code></pre></div></div>

<p>For a blog post this:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[first post]({{ site.base_url }}{% link _posts/2020-03-18-my-first-post.md %})
</code></pre></div></div>

<p>transforms into:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[first post](/gh-pages-minima-starter/2020/03/18/my-first-post.html)
</code></pre></div></div>

<p>Apart from the benefit of being resilient to changes in the permalinks of your articles, this also has a very important effect: Jekyll <strong>will fail</strong> to process your site if you use a wrong link. This means that Jekyll checks your internal links on every built, and if for any reason you change the name of your file in the future, Jekyll will error with details on where the offending link lives.</p>

<p>An important final note is that if you paid attention, the links are relative to the root of your domain. If you deploy this site in your personal GitHub space that’s OK but if you publish it in a project so your URL is like <code class="language-plaintext highlighter-rouge">https://yourusername.github.io/project</code> then the URLs will fail. You’d need to put <code class="language-plaintext highlighter-rouge">{{ site.base_url }}</code> <strong>before</strong> the <code class="language-plaintext highlighter-rouge">link</code> tag, for absolute URLs that point to the correct resource.</p>

<p>More details on this <a href="https://www.webisland.agency/blog/jekyll-internal-links/">nice article</a>.</p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[In your blog post you will write links to internal resources, like other articles, pages, and images. You can use relative paths for those assets so for example to link the archive you may use the following code [archive](/archive). This will work fine, since that’s the url of your archive, but what happens if you decide to change the url? You’d have to search for any occurrence in your site for any link and fix it.]]></summary></entry><entry><title type="html">Tutorial VI: local environment</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/04/17/local-env.html" rel="alternate" type="text/html" title="Tutorial VI: local environment" /><published>2020-04-17T00:00:00+00:00</published><updated>2020-04-17T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/04/17/local-env</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/04/17/local-env.html"><![CDATA[<p>I’ve included a simple <code class="language-plaintext highlighter-rouge">docker-compose.yml</code> file in the root of the repo, so you can spin up a local environment without having to install in your computer Ruby or any other library. If you are versed in <code class="language-plaintext highlighter-rouge">Ruby</code>, <code class="language-plaintext highlighter-rouge">gems</code>, and <code class="language-plaintext highlighter-rouge">bundle</code> you can probably skip this section and go ahead!</p>

<p>Just install <a href="https://docs.docker.com/get-docker/">Docker</a> and <a href="https://docs.docker.com/compose/">Docker Compose</a>, visit the repo folder and run <code class="language-plaintext highlighter-rouge">docker compose build</code>. Then, every time you wan to spin up the local environment just run <code class="language-plaintext highlighter-rouge">docker compose up</code> and visit <code class="language-plaintext highlighter-rouge">http://localhost:8080/gh-pages-minima-starter</code>.</p>

<p>Alternatively, if you prefer to install all the software locally please follow the <a href="https://help.github.com/en/github/working-with-github-pages/testing-your-github-pages-site-locally-with-jekyll">docs</a>.</p>

<p>The compose file is super simple, it just refers to a local <code class="language-plaintext highlighter-rouge">Dockerfile</code> image definition setting up the current folder as the container <code class="language-plaintext highlighter-rouge">/srv/jekyll</code> directory and starts the server with convenient options like livereload.</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">version</span><span class="pi">:</span> <span class="s1">'</span><span class="s">3'</span>

<span class="na">services</span><span class="pi">:</span>
  <span class="na">jekyll</span><span class="pi">:</span>
    <span class="na">build</span><span class="pi">:</span>
      <span class="na">context</span><span class="pi">:</span> <span class="s">.</span>
    <span class="na">command</span><span class="pi">:</span> <span class="s">jekyll serve --watch --force_polling --incremental --port 8080 -H 0.0.0.0 --livereload --livereload-port 35729 --baseurl /gh-pages-minima-starter</span>
    <span class="na">volumes</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">.:/srv/jekyll</span>
    <span class="na">ports</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s1">'</span><span class="s">8080:8080'</span>
      <span class="pi">-</span> <span class="s1">'</span><span class="s">35729:35729'</span>
    <span class="na">environment</span><span class="pi">:</span> 
      <span class="na">RUBYOPT</span><span class="pi">:</span> <span class="s1">'</span><span class="s">-W0'</span>
      <span class="na">JEKYLL_ENV</span><span class="pi">:</span> <span class="s">production</span> 
</code></pre></div></div>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[I’ve included a simple docker-compose.yml file in the root of the repo, so you can spin up a local environment without having to install in your computer Ruby or any other library. If you are versed in Ruby, gems, and bundle you can probably skip this section and go ahead!]]></summary></entry><entry><title type="html">Tutorial V: posts</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/04/15/posts.html" rel="alternate" type="text/html" title="Tutorial V: posts" /><published>2020-04-15T00:00:00+00:00</published><updated>2020-04-15T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/04/15/posts</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/04/15/posts.html"><![CDATA[<p>Posts in your website are stored in the <code class="language-plaintext highlighter-rouge">_posts</code> folder and they follow a naming convention that you should follow using the date first (year, month, day) and then a simple title slug. This helps to keep things organized.</p>

<p>If you are using Github interface, you can use the top right buttons to create new files or upload them.</p>

<p><img src="/gh-pages-minima-starter/assets/imgs/files.png" alt="" /></p>

<p>Find more details on how to write Jekyll posts on <a href="https://jekyllrb.com/docs/posts/">the docs</a>.</p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[Posts in your website are stored in the _posts folder and they follow a naming convention that you should follow using the date first (year, month, day) and then a simple title slug. This helps to keep things organized.]]></summary></entry><entry><title type="html">Tutorial IV: editing from Github</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/03/25/github-edit.html" rel="alternate" type="text/html" title="Tutorial IV: editing from Github" /><published>2020-03-25T00:00:00+00:00</published><updated>2020-03-25T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/03/25/github-edit</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/03/25/github-edit.html"><![CDATA[<p>Editing pages in Github is <strong>super simple</strong>, just click on the pencil in the top right corner and open an editing interface where you can even preview the changes that you are applying. Once you are done add a short comment to your change (<em>commit</em> in git/github vocabulary) and save them. Remember all changes are saved and available for you to explore afterwards if needed.</p>

<p><img src="/gh-pages-minima-starter/assets/imgs/editing.gif" alt="" /></p>

<p>If your site grows you may want to set up a local environment to make things easier to you. We cover that in the <a href="/2020/04/15/posts.html">local environment</a> post.</p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[Editing pages in Github is super simple, just click on the pencil in the top right corner and open an editing interface where you can even preview the changes that you are applying. Once you are done add a short comment to your change (commit in git/github vocabulary) and save them. Remember all changes are saved and available for you to explore afterwards if needed.]]></summary></entry><entry><title type="html">Tutorial III: editing your content</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/03/24/edit-content.html" rel="alternate" type="text/html" title="Tutorial III: editing your content" /><published>2020-03-24T00:00:00+00:00</published><updated>2020-03-24T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/03/24/edit-content</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/03/24/edit-content.html"><![CDATA[<p>From the <a href="/gh-pages-minima-starter/2020/03/22/get-code.html">last post</a>, your website is published with your details but now how to edit the frontpage, remove the example blog posts or create your own. Let’s dive in to that.</p>

<p>First thing to know is that <a href="https://pages.github.com/">Github Pages</a> by default accepts rendering content in HTML and <a href="https://daringfireball.net/projects/markdown/syntax">Markdown</a>. I <strong>strongly</strong> recommend using Markdown because it’s very simple and out of your way when you write, since the formatting rules are very simple. If you are going to write a long piece, you may want to use an external editor and then upload or paste your content into github. There are many text editors that support Markdown but if I have to suggest one that works well for writing I’d go for <a href="https://typora.io/">typora</a> because it’s supporting Linux, Windows, and also MacOS (in beta).</p>

<p><img src="/gh-pages-minima-starter/assets/imgs/typora.png" style="width:400px" /><br />
<em>Typora</em></p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[From the last post, your website is published with your details but now how to edit the frontpage, remove the example blog posts or create your own. Let’s dive in to that.]]></summary></entry><entry><title type="html">Tutorial II: Take the code!</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/03/22/get-code.html" rel="alternate" type="text/html" title="Tutorial II: Take the code!" /><published>2020-03-22T00:00:00+00:00</published><updated>2020-03-22T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/03/22/get-code</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/03/22/get-code.html"><![CDATA[<p>How to use this template? Well the easiest way may be to hit the <strong>“Use this template”</strong> green button on the <a href="https://github.com/jsanz/gh-pages-minima-starter">Github repository</a> page to copy the repository structure into your own account. You can have your website <strong>without setting up a local environment</strong> (but <a href="/gh-pages-minima-starter/2020/04/17/local-env.html">you can do it</a> if you are a bit tech savvy).</p>

<p>After creating the project, the first thing I would do is to change the project name at the <code class="language-plaintext highlighter-rouge">Settings</code> tab. The name of the project will became part of the website main address. So if for example you name your repo as <code class="language-plaintext highlighter-rouge">myblog</code>, your website will be available at <code class="language-plaintext highlighter-rouge">https://yourusername.github.io/myblog</code>. There is a special case, if you name your repo as <code class="language-plaintext highlighter-rouge">yourusername.github.io</code> then the website will be published at <code class="language-plaintext highlighter-rouge">https://yourusername.github.io</code> which may be a good idea for a personal website!</p>

<p>Next thing to do is to customize the main settings on the <code class="language-plaintext highlighter-rouge">_config.yml</code> file: website title, description, base URL (remove this setting it if you are deploying to your GitHub user website), and your details. If you don’t want to show excerpts of your posts in the front page you can disable that checking removing that entry on adding a <code class="language-plaintext highlighter-rouge">#</code> at the beginning of that line. You don’t need to change anything else.</p>

<p>After the configuration is ready you can enable the website publishing on the same <code class="language-plaintext highlighter-rouge">Settings</code> page a bit further down. Remember to set up the <code class="language-plaintext highlighter-rouge">master</code> branch as the source of your documents. Once you save your settings wait for a few minutes and your site is ready!!</p>

<p><img src="/gh-pages-minima-starter/assets/imgs/gh-pages.png" width="80%" /></p>

<p>Any time you change anything in your repository you do an operation called <em>pushing a commit</em>. On every push the website is rebuilt. You can see the details of that process in the <code class="language-plaintext highlighter-rouge">Environment</code> section that is accessible from the repository front-page.</p>

<p><img src="./assets/imgs/environments.png" alt="" /></p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[How to use this template? Well the easiest way may be to hit the “Use this template” green button on the Github repository page to copy the repository structure into your own account. You can have your website without setting up a local environment (but you can do it if you are a bit tech savvy).]]></summary></entry><entry><title type="html">Tutorial I: my first post</title><link href="https://jsanz.github.io/gh-pages-minima-starter/2020/03/18/my-first-post.html" rel="alternate" type="text/html" title="Tutorial I: my first post" /><published>2020-03-18T00:00:00+00:00</published><updated>2020-03-18T00:00:00+00:00</updated><id>https://jsanz.github.io/gh-pages-minima-starter/2020/03/18/my-first-post</id><content type="html" xml:base="https://jsanz.github.io/gh-pages-minima-starter/2020/03/18/my-first-post.html"><![CDATA[<p>This is <strong>my very first post</strong>!! I can write</p>

<ul>
  <li>unnumbered</li>
  <li>fancy</li>
  <li>lists</li>
</ul>

<p>But also</p>

<ol>
  <li>numbered</li>
  <li>ones</li>
  <li>easily</li>
</ol>

<p>Images</p>

<p><img src="https://media.giphy.com/media/l0MYt5jPR6QX5pnqM/giphy.gif" alt="a gif!" /></p>

<p>And so on…</p>]]></content><author><name>Jorge Sanz</name></author><summary type="html"><![CDATA[This is my very first post!! I can write]]></summary></entry></feed>