Luis Puerto Source Code

This is the source code of my personal site luispuerto.net. It's built using the Jekyll and Netlify. I use the Minimal Mistakes template from Michael Rose as a base and I've added some changes from my own vintage. Please feel free to fork my work since I would really happy to see that it helps others to build also their sites.

NB: I've archived my work in this repo previous to October 27, 2018 here. You can know more about the reasons why I've done that in this blog post.

Table of Contents

Getting Started

You can get a copy of this repo running the following in your terminal:

$ git clone https://github.com/luispuerto/luispuerto.net.git

Prerequisites

The only prerequisite to run this blog locally is to have Jekyll on your machine, and it's recommended to have also Bundler.

$ gem install jekyll bundler

Of course to be able to run Jekyll you need to have several other things on your system, like Ruby :gem:. Please check the Jekyll docs for more info about prerequisites.

Built With

This site is build using the following software and services.

  • Jekyll - The static website generator I'm using to build my side.
  • Bundler - Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably.
  • Minimal Mistakes - The Jekyll template I'm using.
  • Netlify - Where I'm building and hosting my site.
  • TravisCI - I'm performing some continuous integration tasks over here, like for example index the site for Algolia when I build it from master.

Noteworthy Jekyll Plugins - Gems :gem:

Since I've not publishing the site using GitHub pages and I'm building this page by other means —Netlify— I have the freedom of using additional plugins and more granular control over what plugins I use on this site. These are the most noteworthy gems I'm using over the current Jekyll 4 dependencies, but you can check the complete list on my [Gemfile][].

  • jekyll-algolia - I'm using Algolia as a search engine on the site, so this gem comes in handy to index the site every time I push a new version to master.
  • jekyll-archives - I use this gem to create the archives of my site on a more compressive way.
  • jekyll-include-cache - To be able to cache part some includes that repeat themselves in most of the pages.
  • jemoji - The World without emojies is much more boring :man_shrugging:.

Icons + Demo Images:

Some of the icons and images come from the following sites:

Other:

I use the additional services, snippets and JavaScript in this site.

  • Algolia - I use their service on this site for searching and indexing the site.
  • Jekyl Codex - I've used some snippets of code from this site for some solutions. Like for example open in a new window when you click in a link to a outside page.
  • jQuery - jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.
  • Susy - Susy is a lightweight grid-layout engine for Sass.
  • Breakpoint - Breakpoint makes writing media queries in Sass simpler.
  • Magnific Popup - Responsive lightbox for images.
  • FitVids.JS - Plugin for fluid width video embeds.
  • GreedyNav.js - JS to handle the burger :hamburger: menu.
  • Smooth Scroll - A lightweight script to animate scrolling to anchor links.
  • Gumshoe - A simple vanilla JS scrollspy script.
  • jQuery throttle / debounce - Allows you to rate-limit your functions in multiple useful ways.
  • Lunr - In site search engine
  • Bigfootjs - A better way to handle footnotes.

Issues

Please submit any on [issues][], but please read first the CONTRIBUTING.md file.

Contributing

Please read CONTRIBUTING.md for details about how to contribute and the process of submitting a pull request to this repo. Note that we have subscribe to the Contributor Covenant as our code of conduct while participating in this community. Please read CODE_OF_CONDUCT.md if you don't know about it.

I more than happy to accept contributions to the code and even more to the content —like for example if you encounter a typo or something like that or you are a native English speaker and something you're reading isn't quite right. Even more if you think there is a mistake somewhere.

Please contribute.

Versioning

I don't use any versioning system —and I don't know if it's appropriate for a project like a blog— and in general I follow the versioning system used for the Minimal Mistakes template, which is SemVer. You can check the available versions taking a look to the tags on this repository.

Authors

  • Michael Rose - Initial work and template creator - @mmistakes
  • Luis Puerto - Maintainer and author of this fork and the blog that it hosts - @luispuerto

See also the list of contributors who participated on this project either on my side or in mmistakes' ones.

License

Following Michael Rose, I've continued to license the code of this project under the MIT License —see the LICENSE file for details. However, the content of the website is license under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license ——see the LICENSE4CONTENT file for details.

Minimal Mistakes template uses also a series of additional software and plugins, and I've also added some to this fork. You can see the licenses of those in the LICENSE4VENDORS file.

Acknowledgments

I would like to specially acknowledge Michael Rose work creating the template I'm using that it's awesome. And of course all the contributors to Minimal Mistakes template.