static theme include + languages setup
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Mauro Torrez 2020-05-06 01:52:41 -03:00
parent c75c1b3e03
commit 4db8e448b9
47 changed files with 1430 additions and 28 deletions

3
.gitmodules vendored
View File

@ -1,3 +0,0 @@
[submodule "themes/sustain-vitae"]
path = themes/hugo-sustain-vitae
url = https://github.com/maurete/hugo-sustain-vitae.git

View File

@ -5,7 +5,7 @@ title = "Mauro Torrez"
disqusShortname = ""
# Enable Google Analytics by entering your tracking code
googleAnalytics = ""
theme = "hugo-sustain-vitae"
theme = "mauro"
[permalinks]
post = "/:year/:month/:day/:slug"
@ -28,7 +28,7 @@ theme = "hugo-sustain-vitae"
# Medium = "username"
Telegram = "maurete"
[params.vitae]
[params.cv]
website = "mau.ro"
website_full = "https://mau.ro/"
#tel = "+44 0000 000000"
@ -40,18 +40,18 @@ theme = "hugo-sustain-vitae"
country = "Argentina"
## Main Menu
[[menu.main]]
name = "blog"
weight = 100
identifier = "blog"
url = "/blog/"
[[menu.main]]
name = "projects"
identifier = "projects"
weight = 200
url = "/projects/"
# [[menu.main]]
# name = "blog"
# weight = 100
# identifier = "blog"
# url = "/blog/"
# [[menu.main]]
# name = "projects"
# identifier = "projects"
# weight = 200
# url = "/projects/"
[[menu.main]]
name = "CV"
identifier = "resume"
identifier = "cv"
weight = 300
url = "/cv/"

74
config.yaml Normal file
View File

@ -0,0 +1,74 @@
---
baseurl: 'https://mau.ro/'
languageCode: en-US
title: Mauro Torrez
# Enable comments by entering your Disqus shortname
disqusShortname: ''
# Enable Google Analytics by entering your tracking code
googleAnalytics: ''
theme: mauro
permalinks:
post: '/:year/:month/:day/:slug'
defaultLanguage: en
languages:
en:
languageName: English
weight: 1
contentDir: content/en
es:
languageName: Castellano
description: Sitio web personal de Mauro Torrez
weight: 2
contentDir: content/es
fr:
languageName: Français
description: Site web personnel de Mauro Torrez
weight: 3
contentDir: content/fr
params:
avatar: profile.png
author: Mauro Torrez
description: Mauro Torrez's personal website
# Custom assets can be linked with their paths relative to static/
custom_css: []
custom_js: []
social:
Github: maurete
Email: inbox@mau.ro
# Twitter = "eumau"
LinkedIn: maurotorrez
# Stackoverflow = "username"
# Medium = "username"
Telegram: maurete
cv:
website: mau.ro
website_full: 'https://mau.ro/'
#tel = "+44 0000 000000"
#tel_full = "+440000000000"
#google_maps = "https://www.google.co.uk/maps/place/44+Perth+St,+Edinburgh,+Edinburgh+City+EH3+5BL"
#address = "44 Perth Street"
#postcode = "EH3 5BL"
city: Santa Fe
country: Argentina
## Main Menu
# [[menu.main]]
# name = "blog"
# weight = 100
# identifier = "blog"
# url = "/blog/"
# [[menu.main]]
# name = "projects"
# identifier = "projects"
# weight = 200
# url = "/projects/"
menu:
main:
- name: CV
identifier: cv
weight: 300
url: /cv/

10
content/cv.es.md Normal file
View File

@ -0,0 +1,10 @@
---
title: "CV"
categories: ["cv"]
date: 2018-07-28T01:52:59-05:00
tags: ["cv", "resume"]
---
# Hello
Lalalal

View File

@ -1,6 +1,6 @@
---
title: "CV"
categories: ["vitae"]
categories: ["cv"]
date: 2018-07-28T01:52:59-05:00
tags: ["cv", "resume"]
---

View File

@ -1,10 +0,0 @@
---
title: "Vitae"
categories: ["vitae"]
date: 2018-07-28T01:52:59-05:00
tags: ["vitae", "resume"]
---
# Hello
Test 123

9
data/en/education.yml Normal file
View File

@ -0,0 +1,9 @@
name: Formal Education
source:
- title: IT Engineer
univ: Universidad Nacional del Litoral
place: Santa Fe, Argentina
date: 2020
type: Thesis (Work in progress)
description: Implementation of DevOps practices in an IT
organization

24
data/en/employment.yml Normal file
View File

@ -0,0 +1,24 @@
---
name: Employment
source:
- prof: Systems Administrator
place: Universidad Nacional del Litoral, Santa Fe, Argentina
time: 2012 to present
description:
- prof: DevOps consultant
place: 4r Soluciones S.R.L, Santa Fe, Argentina
time: 2019-2020
description:
- prof: Programming Teacher
place: Universidad Nacional del Litoral, Santa Fe, Argentina
time: 2014
description:
- prof: IT Support
place: Universidad Nacional del Litoral, Santa Fe, Argentina
time: 2008 to 2011
description:

7
data/en/hobbies.yml Normal file
View File

@ -0,0 +1,7 @@
---
name: Hobbies
source:
- Cooking
- Gardening
- Biking
- Running

14
data/en/initiatives.yml Normal file
View File

@ -0,0 +1,14 @@
---
name: Initiatives
source:
- title: Graduate Summer Student
place: University of Glasgow, UK
date: 2013
type: courses
description: Nec et duis iriure temporibus, ullum adolescens eam ea.
- title: Student Volunteer
place: British RedCross, Glasgow, UK
date: 2013
type: fundraiser
description: Lorem adipiscing ei eam, eros conceptam maiestatis ne sea.

11
data/en/skills.yml Normal file
View File

@ -0,0 +1,11 @@
name: Programming Skills
title: Software engineering & web development
source:
- name: [C/C++, Objective-C]
stars: 5
- name: [Java, Python, PHP, Git]
stars: 4
- name: [HTML/CSS3, Javascript]
stars: 3

@ -1 +0,0 @@
Subproject commit 2331ec11c9106d283fd8cacb1c78eaa1613a45b5

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2017 Nurlan Su
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2017 Nurlan Su
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

20
themes/mauro/LICENSE.md Normal file
View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2018 Anirban Mukhopadhyay
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

152
themes/mauro/README.md Normal file
View File

@ -0,0 +1,152 @@
<p align="center">
<a href="images/hugo-sustain-logo.png"><img src="images/hugo-sustain-logo.png" width="440" /></a>
<a href="images/hugo-vitae-logo.png"><img src="images/hugo-vitae-logo.png" width="440" /></a>
</p>
## Table of Contents
- [Installation](#installation)
- [Quick start](#quick-start)
- [Features](#features)
- [Syntax highlighting](#syntax-highlighting)
- [Disqus](#disqus)
- [Google Analytics](#google-analytics)
- [About](#about)
- [Contributing](#contributing)
- [Changelog](#changelog)
- [License](#license)
********************
<p align="center">
<a href="images/screenshot.png"><img src="images/screenshot.png" height="275" /></a>
<span style="background-color: rgb(225, 228, 232);height:275px"></span>
<a href="images/screenshot-vitae.png"><img src="images/screenshot-vitae.png" height="275" /></a>
</p>
********************
<p align="center"><b><a href="https://anirbanmu.github.io/hugo-sustain-vitae/">Sustain-vitae Live Demo</a></b></p>
## Installation
#### With `git`
From the root of your Hugo site, clone the theme into `themes/hugo-sustain-vitae` by running :
```
git clone https://github.com/anirbanmu/hugo-sustain-vitae.git themes/hugo-sustain-vitae
```
#### Manual
1. [Download][zip-archive] zip archive.
2. Unarchive it.
3. Move `hugo-sustain-vitae` folder in `themes` folder of your blog
For more information read the official [setup guide][hugo-guide] of Hugo.
## Quick start
After installation, take a look in the `exampleSite` folder at. This directory contains an example config file and the content for the demo. It serves as an example setup for your documentation.
```
exampleSite
├── config.toml
├── content
│   ├── projects.md
│   ├── vitae.md
│   │
│   └── blog
│   ├── creating-a-new-theme.md
│   ├── go-is-for-lovers.md
│   ├── hugo-is-for-lovers.md
│   └── migrate-from-jekyll.md
├── data
| ├── education.yml
| ├── employment.yml
| ├── hobbies.yml
| ├── initiatives.yml
| ├── projects.yml
│ └── skills.yml
├── static
│   └── img
│   └── profile.png
```
Copy at least the `config.toml` in the root directory of your website. Overwrite the existing config file if necessary.
Hugo includes a development server, so you can view your changes as you go -
very handy. Spin it up with the following command:
``` sh
hugo serve
```
Now you can go to [localhost:1313][local] and the Sustain
theme should be visible.
## Features
### Syntax highlighting
Use `highlight = true` in the front matter to include [`highlight.js`][highlight-js] javascript and css files.
### Disqus
To use this feature, uncomment and fill out the `disqusShortname` parameter in `config.toml`.
### Google Analytics
To add Google Analytics, simply sign up to [Google Analytics][g-analytics] to obtain your Google Tracking ID, and add this tracking ID to the `googleAnalytics` parameter in `config.toml`.
## About
This fork is a combined theme from [hugo-sustain](https://github.com/nurlansu/hugo-sustain) & [hugo-vitae](https://github.com/nurlansu/hugo-vitae).
hugo-sustain is a port the Jekyll theme [Sustain][sustain-jekyll] by [Fábio Madeira][sustain-author].
hugo-vitae is port of the Jekyll theme [Vitae][vitae-jekyll] by [Fábio Madeira][vitae-author].
## Contributing
Pull requests, bug fixes, and new features are welcome!
1. Fork the repository
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -a -m 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request on GitHub
## Changelog
> Version 1.0.1
- Added proper "Projects" page rendering
- Fixes, many fixes
> Version 1.0
- Initial release
## License
<p align="center">
<a href="./LICENSE.md"><img src="https://i.nurlan.co/logo.svg" width="100%" height="128"></a>
<a href="./LICENSE.md"><strong>MIT</strong></a>
</p>
[bootstrap]: https://getbootstrap.com/
[hugo]: https://gohugo.io/
[gh-pages]: https://pages.github.com/
[zip-archive]: https://github.com/anirbanmu/hugo-sustain-vitae/archive/master.zip
[hugo-guide]: https://gohugo.io/overview/installing/
[local]: http://localhost:1313/
[highlight-js]: https://highlightjs.org/
[g-analytics]: https://www.google.com/analytics/
[sustain-jekyll]: https://github.com/biomadeira/sustain/
[sustain-author]: https://github.com/biomadeira/
[vitae-jekyll]: https://github.com/biomadeira/vitae/
[vitae-author]: https://github.com/biomadeira/

View File

@ -0,0 +1,6 @@
+++
title = ""
description = ""
tags = []
categories = []
+++

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
themes/mauro/images/tn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -0,0 +1,13 @@
{{ partial "head" . }}
<body>
<div id="wrap">
{{ partial "header" . }}
<div class="container">
<div class="page-not-found">
<h3>Uh oh! Page not found!</h3>
</div>
</div>
</div>
{{ partial "footer" . }}
</body>
</html>

View File

@ -0,0 +1,10 @@
<div class="vitae-container">
{{ partial "cv-basic" . }}
<div class="thirteen columns clearfix">
{{ partial "employment" . }}
{{ partial "education" . }}
{{ partial "skills" . }}
{{ partial "initiatives" . }}
{{ partial "hobbies" . }}
</div>
</div>

View File

@ -0,0 +1,31 @@
{{ partial "head" . }}
<body>
<div id="wrap">
<!-- Header -->
{{ partial "header" . }}
<div class="container">
<h3>Archive</h3>
<div class="panel panel-default">
<div class="panel-body">
{{ range .Data.Pages.ByPublishDate.Reverse }}
<div class="row">
<div class="col-sm-4 col-md-4 col-lg-4">
<h5 style="text-align: right">
{{ .Date.Format "January 2, 2006" }}
</h5>
</div>
<div class="col-sm-8 col-md-8 col-lg-8">
<h5 style="text-align: left">
<strong><a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a></strong>
</h5>
</div>
</div>
{{ end }}
</div>
</div>
</div>
</div>
<!-- Footer -->
{{ partial "footer" . }}
</body>
</html>

View File

@ -0,0 +1,15 @@
<section id="projects">
<div class="container">
<h3>{{ .Site.Data.projects.name }}</h3>
<div class="panel panel-default">
<div class="panel-body">
{{ range $i, $el := .Site.Data.projects.source }}
<h5>
<i class="{{ .icon }}"></i>&nbsp;&nbsp;
<strong><a href="#">Project {{ add $i 1 }}</a></strong>&nbsp;-&nbsp;{{ $el.description }}
</h5>
{{ end }}
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,62 @@
{{ partial "head" . }}
<body>
<div id="wrap">
<!-- Header -->
{{ partial "header" . }}
{{ if (ne (strings.TrimSuffix "/projects/" .URL) .URL) }}
{{ .Render "projects" }}
{{ else if (ne (strings.TrimSuffix "/cv/" .URL) .URL) }}
{{ .Render "cv" }}
{{ else }}
<div class="container">
<div class="blog-post">
<h3>
<strong><a href="{{ .Permalink }}">{{ .Title }}</a></strong>
</h3>
</div>
<div class="blog-title">
<h4>
{{ .Date.Format "January 2, 2006" }}
&nbsp;&nbsp;
{{ range .Params.tags }}
<span class="label label-success">{{ . }}</span>
{{ end }}
</h4>
</div>
<div class="panel panel-default">
<div class="panel-body">
<div class="blogpost">
{{ .Content }}
<hr>
<div class="related-posts">
<h5>Related Posts</h5>
{{ range first 3 ( where ( where .Site.Pages.ByDate.Reverse ".Params.tags" "intersect" .Params.tags ) "Permalink" "!=" .Permalink ) }}
<div class="row">
<div class="col-sm-4 col-md-4 col-lg-4">
<h6 style="text-align: right">
{{ .Date.Format "January 2, 2006" }}
</h6>
</div>
<div class="col-sm-8 col-md-8 col-lg-8">
<h6 style="text-align: left">
<strong><a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a></strong>
</h6>
</div>
</div>
{{ end }}
</div>
</div>
</div>
<hr>
{{ partial "disqus" . }}
</div>
</div>
{{ end }}
</div>
<!-- Footer -->
{{ partial "footer" . }}
</body>
</html>

View File

@ -0,0 +1,21 @@
{{ partial "head" . }}
<body>
<div id="wrap">
{{ partial "header" . }}
<section id="about">
<div class="container">
<div class="avatar">
<img class="img-circle" src="{{ .Site.BaseURL }}img/{{ .Site.Params.avatar }}" alt="Responsive image">
</div>
<h3>I'm <strong>{{ .Site.Params.author }}</strong>, a Systems Administrator.</h3>
<h3>I'm into everything DevOps, Delivery Automation, and Infrastructure.</h3>
<!-- <h3>Have a look at some of my working <a href="{{ .Site.BaseURL }}projects/"> projects</a>.</h3> -->
<h3>Check out my <a href="{{ .Site.BaseURL }}cv/">resume</a>.</h3>
<!-- <h3>Contact me at <a href="http://twitter.com/{{ .Site.Params.Social.Twitter }}">@{{ .Site.Params.Social.Twitter }}</a> or by <a href="mailto:{{ .Site.Params.Social.Email }}">email</a>.</h3> -->
{{ partial "social.html" . }}
</div>
</section>
</div>
{{ partial "footer" . }}
</body>
</html>

View File

@ -0,0 +1,25 @@
<header class="three columns vitae-basic">
<img src="{{ .Site.BaseURL }}img/{{ .Site.Params.avatar }}" class="me">
<h1>{{ .Site.Params.author }}</h1>
<p>
<a href="tel:{{ .Site.Params.vitae.tel_full }}">{{ .Site.Params.vitae.tel }}</a>
</p>
<address>
<a href="{{ .Site.Params.vitae.google_maps }}">
<div>{{ .Site.Params.vitae.address }}</div>
<div>{{ .Site.Params.vitae.postcode }}</div>
<div>{{ .Site.Params.vitae.city }}</div>
<div>{{ .Site.Params.vitae.country }}</div>
</a>
</address>
<p>
<a href="{{ .Site.Params.vitae.website_full }}">{{ .Site.Params.vitae.website }}</a><br/>
</p>
<p>
<a href="mailto:{{ .Site.Params.social.email }}">{{ .Site.Params.social.email }}</a>
</p>
<p>
<a href="http://github.com/{{ .Site.Params.social.github }}"><i class="fa fa-github"></i>&nbsp;Github</a> /
<a href="http://twitter.com/{{ .Site.Params.social.twitter }}"><i class="fa fa-twitter"></i>&nbsp;Twitter</a>
</p>
</header>

View File

@ -0,0 +1,19 @@
<div class="disqus">
<div id="disqus_thread"></div>
<script type="text/javascript">
(function() {
// Don't ever inject Disqus on localhost--it creates unwanted
// discussions from 'localhost:1313' on your Disqus account...
if (window.location.hostname == "localhost")
return;
var disqus_shortname = '{{ .Site.DisqusShortname }}';
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>

View File

@ -0,0 +1,26 @@
{{ $data := index .Site.Data .Site.Language.Lang }}
{{ with $data.education }}
<section class="thirteen columns">
<h1>{{ .name }}</h1>
{{ range .source }}
<article>
<header>
<h1>{{ .title }}</h1>
<span>{{ .univ }}</span>
<span>
<address>{{ .place }}</address>
<time>{{ .date }}</time>
</span>
</header>
<p>
<em>
{{ with .type }}
{{ title . }}:
{{ end }}
{{ .description }}
</em>
</p>
</article>
{{ end }}
</section>
{{ end }}

View File

@ -0,0 +1,18 @@
{{ $data := index .Site.Data .Site.Language.Lang }}
{{ with $data.employment }}
<section class="thirteen columns">
<h1>{{ .name }}</h1>
{{ range .source }}
<article>
<header>
<h1>{{ .prof }}</h1>
<span>
<address>{{ .place }}</address>
<time>{{ .time }}</time>
</span>
</header>
<p>{{ .description }}</p>
</article>
{{ end }}
</section>
{{ end }}

View File

@ -0,0 +1,11 @@
<footer>
<div id="footer">
<div class="container">
<p class="text-muted">&copy; All rights reserved. Powered by <a href="https://gohugo.io/">Hugo</a> and
<a href="https://github.com/anirbanmu/hugo-sustain-vitae">sustain-vitae</a> with ♥</p>
</div>
</div>
</footer>
<div class="footer"></div>
{{ partial "js" . }}

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="{{ .Site.Params.Author }}" />
{{ if .Site.Params.description }}<meta name="description" content="{{ .Site.Params.description }}">{{ end }}
<link rel="shortcut icon" type="image/x-icon" href="{{ .Site.BaseURL }}img/favicon.ico">
<title>
{{- $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" -}}
{{- if eq $url "/" -}}
{{- .Site.Title -}}
{{- else -}}
{{- if .Params.heading -}} {{- .Params.heading -}} {{- else -}} {{- .Title -}} {{- end -}}
{{- end -}}
</title>
{{ .Hugo.Generator }}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="{{ .Site.BaseURL }}css/vitae-skeleton.css" />
<link rel="stylesheet" type="text/css" href="{{ .Site.BaseURL }}css/vitae-layout.css" />
<link rel="stylesheet" type="text/css" href="{{ .Site.BaseURL }}css/sustain-main.css" />
{{- if .Params.highlight -}}
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/styles/tomorrow.min.css">
{{ end }}
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,200bold,400old" />
{{ range .Site.Params.custom_css }}
<link rel="stylesheet" href="{{ $.Site.BaseURL}}{{ . }}">
{{ end }}
{{ `<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->` | safeHTML }}
{{ template "_internal/google_analytics.html" . }}
</head>

View File

@ -0,0 +1,21 @@
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="{{ .Site.BaseURL }}"><i class="fa fa-home"></i></a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="navbar">
<ul class="nav navbar-nav navbar-right">
{{ if .Site.Menus.main }}
{{ range sort .Site.Menus.main }}
<li><a href="{{ .URL }}">{{ .Name | upper }}</a></li>
{{ end }}
{{ end }}
</ul>
</div>
</div>
</nav>

View File

@ -0,0 +1,9 @@
{{ $data := index .Site.Data .Site.Language.Lang }}
{{ with $data.hobbies }}
<section class="thirteen columns">
<h1>{{ .name }}</h1>
<article>
<p>{{ delimit .source ", " }}</p>
</article>
</section>
{{ end }}

View File

@ -0,0 +1,23 @@
{{ $data := index .Site.Data .Site.Language.Lang }}
{{ with $data.initiatives }}
<section class="thirteen columns">
<h1>{{ .name }}</h1>
{{ range .source }}
<article>
<header>
<h1>{{ .title }}</h1>
<span>
<address>{{ .place }}</address>
<time>{{ .date }}</time>
</span>
</header>
<p>
{{ with .type }}
{{ title . }}:
{{ end }}
{{ .description }}
</p>
</article>
{{ end }}
</section>
{{ end }}

View File

@ -0,0 +1,16 @@
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- Bootstrap core JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
{{- range .Site.Params.custom_js -}}
<script src="{{ $.Site.BaseURL }}{{ . }}"></script>
{{ end }}
<script src="{{ .Site.BaseURL }}js/docs.min.js"></script>
<script src="{{ .Site.BaseURL }}js/main.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="{{ .Site.BaseURL }}js/ie10-viewport-bug-workaround.js"></script>
{{- if .Params.highlight -}}
{{ "<!-- Syntax highlighting -->" | safeHTML }}
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
{{ end }}

View File

@ -0,0 +1,17 @@
{{ $data := index .Site.Data .Site.Language.Lang }}
{{ with $data.skills }}
<section class="thirteen columns">
<h1>{{ .name }}</h1>
<article>
<header>
<h1>{{ .title }}</h1>
</header>
{{ range .source }}
<p>
{{ range $i, $seq := (seq .stars) }}<i class="fa fa-star"></i>{{ end }}{{ range $i, $seq := (seq (sub 5 (int .stars))) }}<i class="fa fa-star-o"></i>{{ end }}
&nbsp;&nbsp;<em>{{ delimit .name "</em>, <em>" "</em> & <em>" }}</em>
</p>
{{ end }}
</article>
</section>
{{ end }}

View File

@ -0,0 +1,31 @@
<div class="social">
<ul class="social-links">
{{ if .Site.Params.Social.Github }}
<li><a href="https://github.com/{{ .Site.Params.Social.Github }}"><i class="fa fa-github"></i></a></li>
{{ end }}
{{ if .Site.Params.Social.Email }}
<li><a href="mailto:{{ .Site.Params.Social.Email }}"><i class="fa fa-envelope"></i></a></li>
{{ end }}
{{ if .Site.Params.Social.Twitter }}
<li><a href="https://twitter.com/{{ .Site.Params.Social.Twitter }}"><i class="fa fa-twitter"></i></a></li>
{{ end }}
{{ if .Site.Params.Social.LinkedIn }}
<li><a href="https://linkedin.com/in/{{ .Site.Params.Social.LinkedIn }}"><i class="fa fa-linkedin"></i></a></li>
{{ end }}
{{ if .Site.Params.Social.Stackoverflow }}
<li><a href="https://stackoverflow.com/{{ .Site.Params.Social.Stackoverflow }}"><i class="fa fa-stack-overflow"></i></a></li>
{{ end }}
{{ if .Site.Params.Social.Medium }}
<li><a href="https://medium.com/@{{ .Site.Params.Social.Medium }}"><i class="fa fa-medium"></i></a></li>
{{ end }}
{{ if .Site.Params.Social.Telegram }}
<li><a href="https://telegram.me/{{ .Site.Params.Social.Telegram }}"><i class="fa fa-telegram"></i></a></li>
{{ end }}
</ul>
</div>

View File

@ -0,0 +1,199 @@
/* Main page with stikky-footer */
html, body {
height: 100%;
background-color: #fff;
font-family: 'Source Sans Pro', sans-serif;
/* The html and body elements cannot have any padding or margin. */
border-top: 3px solid #27A822;
}
/* Wrapper for page content to push down footer */
#wrap {
padding-bottom: 50px;
min-height: 100%;
height: auto;
/* Negative indent footer by its height */
margin: 0 auto -65px;
/* Pad bottom by footer height */
/*padding: 0 0 60px;*/
}
/* Navbar */
.navbar-static-top {
margin-bottom: 10px;
}
.navbar-default {
background-color: #ffffff;
border-color: #ffffff;
}
.navbar-default .navbar-brand {
color: #6b6b6b;
}
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
color: #6b6b6b;
}
.navbar-default .navbar-text {
color: #6b6b6b;
}
.navbar-default .navbar-nav > li > a {
color: #6b6b6b;
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
color: #6b6b6b;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
color: #6b6b6b;
background-color: #ffffff;
}
.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
color: #6b6b6b;
background-color: #ffffff;
}
.navbar-default .navbar-toggle {
border-color: #ffffff;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
background-color: #ffffff;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #6b6b6b;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
border-color: #6b6b6b;
}
.navbar-default .navbar-link {
color: #6b6b6b;
}
.navbar-default .navbar-link:hover {
color: #6b6b6b;
}
@media (max-width: 767px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #6b6b6b;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #6b6b6b;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #6b6b6b;
background-color: #ffffff;
}
}
/* Custom page CSS */
.container {
width: auto;
max-width: 800px;
text-align: center;
}
.container .text-muted {
margin: 20px 0;
}
a {
color: #27A822;
}
a:hover {
color: #267723;
}
.container p img, .img-responsive {
display: block;
height: auto;
margin: 2rem auto;
max-width: 100%;
}
.panel-default h4 {
text-align: left;
line-height: 24px;
font-size: 22px;
}
.panel-default h5 {
text-align: left;
line-height: 30px;
font-size: 18px;
}
.panel-default h6 {
font-size: 15px;
}
.panel-default h4 a, h5 a {
color: #27A822;
}
.panel-default h4 a:hover, h5 a:hover {
color: #267723;
}
.panel{
border-style: none;
}
.panel-body {
padding-top: -10px;
text-align: left;
}
.social-links {
display: block;
margin: 0 auto;
margin-top: 40px;
padding: 0px;
width: 100%;
text-align: center;
animation: fade 1s ease 1s both;
}
.social-links li {
display: inline-block;
padding: 5px;
padding-top: 0;
text-align: center;
}
.social-links li a {
font-size: 20px;
color: #000;
padding: 10px;
padding-bottom: 4px;
transition: all .4s ease;
}
.social-links li a:hover {
color: #000;
}
.avatar {
padding-top: 5%;
}
.blog-post{
padding-top: 15px;
}
.blog-title{
padding-top: 2px;
}
.label {
display: inline-block;
margin-bottom: 5px;
}
.related-posts h4 {
text-align: center;
}
.page-not-found {
padding-top: 20%;
}
.disqus {
padding-bottom: 15px;
}
.blogpost{
text-align: left;
line-height: 30px;
font-size: 18px;
}
/* Footer */
.footer {
text-decoration: none !important;
}
.text-muted {
color: #6b6b6b;
}
div.footer{
border-bottom: 5px solid #27A822;;
}
/* Set the fixed height of the footer here */
/*.footer {
height: 50px;
padding-bottom: 15px;
}*/

View File

@ -0,0 +1,130 @@
/*@import url(https://fonts.googleapis.com/css?family=Raleway:700,400);*/
/*body {
font-family: "Raleway", Helvetica, Arial, sans-serif;
font-size: 15px;
line-height: 21px;
color: rgb(48, 48, 48);
border-top: 5px solid #27a822;
border-bottom: 5px solid #27A822;
}*/
.vitae-container {
margin-top: 50px;
}
.vitae-basic a {
color: #6b6b6b;
}
p, address {
margin-bottom: 0;
}
.me {
width: 100px;
height: 100px;
border-radius: 50px;
-webkit-border-radius: 50px;
-moz-border-radius: 50px;
margin-bottom: 20px;
}
header > h1, section > h1 {
color: #27A822;
}
header > h1 {
line-height: 100%;
font-size: 250%;
margin-bottom: 20px;
}
.vitae-container > header p, .vitae-container > header address {
margin-bottom: 20px;
}
.vitae-container > header p:last-child {
margin-bottom: 20px;
}
section {
margin-bottom: 20px;
}
section > h1 {
font-size: 140%;
line-height: 120%;
text-transform: uppercase;
}
article {
margin-bottom: 20px;
}
article > header > h1 {
font-size: 112%;
font-weight: bold;
line-height: 150%;
margin-bottom: 0;
color: inherit;
}
article > header > span + span {
margin-left: 2px;
}
article > header > span + span::before {
content: '@';
margin-right: 4px;
}
article > header > span {
color: #808080;
font-size: 100%;
}
article > header > span a {
color: inherit;
}
article > header address {
display: inline;
}
article > header address + time {
margin-left: 6px;
}
article > header address + time::before {
content: '—';
margin-right: 6px;
}
em {
font-style: normal;
font-weight: bold;
color: rgb(100, 100, 100);
/*margin-right: 6px;*/
}
@media print {
@page {
margin: 15mm;
}
body {
font-size: 14pt;
line-height: 21pt;
}
.vitae-container > header {
font-size: 80%;
line-height: 160%;
}
article > header > span {
font-size: 80%;
line-height: 80%;
}
}

View File

@ -0,0 +1,242 @@
/*
* Skeleton V1.2
* Copyright 2011, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 6/20/2012
*/
/* Table of Contents
==================================================
#Base 960 Grid
#Tablet (Portrait)
#Mobile (Portrait)
#Mobile (Landscape)
#Clearing */
/* #Base 960 Grid
================================================== */
.vitae-container { position: relative; width: 960px; margin: 0 auto; padding: 0; }
.vitae-container .column,
.vitae-container .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
.row { margin-bottom: 20px; }
/* Nested Column Classes */
.column.alpha, .columns.alpha { margin-left: 0; }
.column.omega, .columns.omega { margin-right: 0; }
/* Base Grid */
.vitae-container .one.column,
.vitae-container .one.columns { width: 40px; }
.vitae-container .two.columns { width: 100px; }
.vitae-container .three.columns { width: 160px; }
.vitae-container .four.columns { width: 220px; }
.vitae-container .five.columns { width: 280px; }
.vitae-container .six.columns { width: 340px; }
.vitae-container .seven.columns { width: 400px; }
.vitae-container .eight.columns { width: 460px; }
.vitae-container .nine.columns { width: 520px; }
.vitae-container .ten.columns { width: 580px; }
.vitae-container .eleven.columns { width: 640px; }
.vitae-container .twelve.columns { width: 700px; }
.vitae-container .thirteen.columns { width: 760px; }
.vitae-container .fourteen.columns { width: 820px; }
.vitae-container .fifteen.columns { width: 880px; }
.vitae-container .sixteen.columns { width: 940px; }
.vitae-container .one-third.column { width: 300px; }
.vitae-container .two-thirds.column { width: 620px; }
/* Offsets */
.vitae-container .offset-by-one { padding-left: 60px; }
.vitae-container .offset-by-two { padding-left: 120px; }
.vitae-container .offset-by-three { padding-left: 180px; }
.vitae-container .offset-by-four { padding-left: 240px; }
.vitae-container .offset-by-five { padding-left: 300px; }
.vitae-container .offset-by-six { padding-left: 360px; }
.vitae-container .offset-by-seven { padding-left: 420px; }
.vitae-container .offset-by-eight { padding-left: 480px; }
.vitae-container .offset-by-nine { padding-left: 540px; }
.vitae-container .offset-by-ten { padding-left: 600px; }
.vitae-container .offset-by-eleven { padding-left: 660px; }
.vitae-container .offset-by-twelve { padding-left: 720px; }
.vitae-container .offset-by-thirteen { padding-left: 780px; }
.vitae-container .offset-by-fourteen { padding-left: 840px; }
.vitae-container .offset-by-fifteen { padding-left: 900px; }
/* #Tablet (Portrait)
================================================== */
/* Note: Design for a width of 768px */
@media only screen and (min-width: 768px) and (max-width: 959px) {
.vitae-container { width: 768px; }
.vitae-container .column,
.vitae-container .columns { margin-left: 10px; margin-right: 10px; }
.column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; }
.column.omega, .columns.omega { margin-right: 0; margin-left: 10px; }
.alpha.omega { margin-left: 0; margin-right: 0; }
.vitae-container .one.column,
.vitae-container .one.columns { width: 28px; }
.vitae-container .two.columns { width: 76px; }
.vitae-container .three.columns { width: 124px; }
.vitae-container .four.columns { width: 172px; }
.vitae-container .five.columns { width: 220px; }
.vitae-container .six.columns { width: 268px; }
.vitae-container .seven.columns { width: 316px; }
.vitae-container .eight.columns { width: 364px; }
.vitae-container .nine.columns { width: 412px; }
.vitae-container .ten.columns { width: 460px; }
.vitae-container .eleven.columns { width: 508px; }
.vitae-container .twelve.columns { width: 556px; }
.vitae-container .thirteen.columns { width: 604px; }
.vitae-container .fourteen.columns { width: 652px; }
.vitae-container .fifteen.columns { width: 700px; }
.vitae-container .sixteen.columns { width: 748px; }
.vitae-container .one-third.column { width: 236px; }
.vitae-container .two-thirds.column { width: 492px; }
/* Offsets */
.vitae-container .offset-by-one { padding-left: 48px; }
.vitae-container .offset-by-two { padding-left: 96px; }
.vitae-container .offset-by-three { padding-left: 144px; }
.vitae-container .offset-by-four { padding-left: 192px; }
.vitae-container .offset-by-five { padding-left: 240px; }
.vitae-container .offset-by-six { padding-left: 288px; }
.vitae-container .offset-by-seven { padding-left: 336px; }
.vitae-container .offset-by-eight { padding-left: 384px; }
.vitae-container .offset-by-nine { padding-left: 432px; }
.vitae-container .offset-by-ten { padding-left: 480px; }
.vitae-container .offset-by-eleven { padding-left: 528px; }
.vitae-container .offset-by-twelve { padding-left: 576px; }
.vitae-container .offset-by-thirteen { padding-left: 624px; }
.vitae-container .offset-by-fourteen { padding-left: 672px; }
.vitae-container .offset-by-fifteen { padding-left: 720px; }
}
/* #Mobile (Portrait)
================================================== */
/* Note: Design for a width of 320px */
@media only screen and (max-width: 767px) {
.vitae-container { width: 300px; }
.vitae-container .columns,
.vitae-container .column { margin: 0; }
.vitae-container .one.column,
.vitae-container .one.columns,
.vitae-container .two.columns,
.vitae-container .three.columns,
.vitae-container .four.columns,
.vitae-container .five.columns,
.vitae-container .six.columns,
.vitae-container .seven.columns,
.vitae-container .eight.columns,
.vitae-container .nine.columns,
.vitae-container .ten.columns,
.vitae-container .eleven.columns,
.vitae-container .twelve.columns,
.vitae-container .thirteen.columns,
.vitae-container .fourteen.columns,
.vitae-container .fifteen.columns,
.vitae-container .sixteen.columns,
.vitae-container .one-third.column,
.vitae-container .two-thirds.column { width: 300px; }
/* Offsets */
.vitae-container .offset-by-one,
.vitae-container .offset-by-two,
.vitae-container .offset-by-three,
.vitae-container .offset-by-four,
.vitae-container .offset-by-five,
.vitae-container .offset-by-six,
.vitae-container .offset-by-seven,
.vitae-container .offset-by-eight,
.vitae-container .offset-by-nine,
.vitae-container .offset-by-ten,
.vitae-container .offset-by-eleven,
.vitae-container .offset-by-twelve,
.vitae-container .offset-by-thirteen,
.vitae-container .offset-by-fourteen,
.vitae-container .offset-by-fifteen { padding-left: 0; }
}
/* #Mobile (Landscape)
================================================== */
/* Note: Design for a width of 480px */
@media only screen and (min-width: 480px) and (max-width: 767px) {
.vitae-container { width: 420px; }
.vitae-container .columns,
.vitae-container .column { margin: 0; }
.vitae-container .one.column,
.vitae-container .one.columns,
.vitae-container .two.columns,
.vitae-container .three.columns,
.vitae-container .four.columns,
.vitae-container .five.columns,
.vitae-container .six.columns,
.vitae-container .seven.columns,
.vitae-container .eight.columns,
.vitae-container .nine.columns,
.vitae-container .ten.columns,
.vitae-container .eleven.columns,
.vitae-container .twelve.columns,
.vitae-container .thirteen.columns,
.vitae-container .fourteen.columns,
.vitae-container .fifteen.columns,
.vitae-container .sixteen.columns,
.vitae-container .one-third.column,
.vitae-container .two-thirds.column { width: 420px; }
}
/* #Clearing
================================================== */
/* Self Clearing Goodness */
.vitae-container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
/* Use clearfix class on parent to clear nested columns,
or wrap each row of columns in a <div class="row"> */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
content: '\0020';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0; }
.row:after,
.clearfix:after {
clear: both; }
.row,
.clearfix {
zoom: 1; }
/* You can also use a <br class="clear" /> to clear columns */
.clear {
clear: both;
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}

16
themes/mauro/static/js/docs.min.js vendored Executable file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,23 @@
/*!
* IE10 viewport hack for Surface/desktop Windows 8 bug
* Copyright 2014-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
// See the Getting Started docs for more information:
// http://getbootstrap.com/getting-started/#support-ie10-width
(function () {
'use strict';
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement('style')
msViewportStyle.appendChild(
document.createTextNode(
'@-ms-viewport{width:auto!important}'
)
)
document.querySelector('head').appendChild(msViewportStyle)
}
})();

14
themes/mauro/static/js/main.js Executable file
View File

@ -0,0 +1,14 @@
/**
* Created by fabiomadeira on 25/02/15.
*/
// jQuery for page scrolling feature
jQuery(document).ready(function(e) {
e(".scroll").click(function(t) {
t.preventDefault();
e("html,body").animate({
scrollTop: e(this.hash).offset().top
}, 1e3)
})
});

18
themes/mauro/theme.toml Normal file
View File

@ -0,0 +1,18 @@
name = "Sustain-Vitae"
license = "MIT"
licenselink = "https://github.com/nurlansu/hugo-sustain/blob/master/LICENSE.md"
description = "Personal blog built with Bootstrap, powered by Hugo"
homepage = "https://github.com/nurlansu/hugo-sustain"
tags = ["blog", "minimal", "responsive"]
features = ["responsive", "syntax highlighting"]
min_version = 0.17
[author]
name = "Nurlan Su"
homepage = "https://github.com/nurlansu"
# If porting an existing theme
[original]
name = "Sustain"
homepage = "https://biomadeira.github.io/sustain/"
repo = "https://github.com/biomadeira/sustain"