feat(projects): migrate moritzgrafde website into monorepo and document in AGENTS.md
@@ -71,6 +71,13 @@ This repository is divided into distinct domains, each with its own `AGENTS.md`
|
||||
* **Key Rules**: Prequel landing screen for QR codes, dynamic GameBoy arcade vs RPG layouts, real-photo character portraits, pure Web Audio synthesizer, competitive certificate scoring.
|
||||
* **Read**: [projects/sasch40/AGENTS.md](./projects/sasch40/AGENTS.md)
|
||||
|
||||
### 8. [Moritz Graf Personal Website](./projects/moritzgrafde/AGENTS.md) (`projects/moritzgrafde/`)
|
||||
* **Purpose**: Personal homepage and portfolio for Moritz Graf (`https://moritzgraf.de`).
|
||||
* **Manifest**: `k8s/web/moritzgrafde.yaml` (Namespace: `web`).
|
||||
* **Image**: `registry.haumdaucher.de/moritzgrafde:latest`.
|
||||
* **Key Rules**: Static Hugo website using `hugo-goa` theme served via Nginx. Migrated from standalone `moritzgraf` repository into this monorepo.
|
||||
* **Read**: [projects/moritzgrafde/AGENTS.md](./projects/moritzgrafde/AGENTS.md)
|
||||
|
||||
## Global Constraints
|
||||
* **Secrets**: `git-crypt` is used extensively. Ensure you have the unlock key before editing `*.secret` files.
|
||||
* **Identity**:
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
**/.DS_Store
|
||||
.hugo_build.lock
|
||||
@@ -0,0 +1,45 @@
|
||||
# AGENTS.md — Moritz Graf Personal Website (`moritzgrafde`)
|
||||
|
||||
> [!NOTE]
|
||||
> **Domain**: Personal portfolio and homepage for Moritz Graf.
|
||||
> **Live Production URL**: `https://moritzgraf.de`
|
||||
> **Kubernetes Manifest**: `k8s/web/moritzgrafde.yaml` (Namespace: `web`)
|
||||
> **Container Image**: `registry.haumdaucher.de/moritzgrafde:latest`
|
||||
> **Source Location**: `projects/moritzgrafde/` (Migrated from standalone `moritzgraf` repo)
|
||||
|
||||
---
|
||||
|
||||
## 🏛️ Architecture & Build Pipeline
|
||||
|
||||
1. **Stack**:
|
||||
- Static site generated with [Hugo](https://gohugo.io/) using the `hugo-goa` theme.
|
||||
- Served via lightweight `nginx` container (`Dockerfile`).
|
||||
- The compiled static site is maintained in `public/`.
|
||||
|
||||
2. **Container Build & Architecture**:
|
||||
- The target Kubernetes node `haumdaucher` runs on **`linux/amd64`**.
|
||||
- Build command:
|
||||
```bash
|
||||
docker build --platform linux/amd64 -t registry.haumdaucher.de/moritzgrafde:latest .
|
||||
docker push registry.haumdaucher.de/moritzgrafde:latest
|
||||
```
|
||||
|
||||
3. **Deployment**:
|
||||
- Deployed to the Kubernetes cluster in namespace `web`.
|
||||
- Ingress controller: Traefik, Let's Encrypt SSL via `cert-manager`.
|
||||
- Rollout restart:
|
||||
```bash
|
||||
kubectl rollout restart deployment/moritzgrafde -n web
|
||||
kubectl rollout status deployment/moritzgrafde -n web
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Repository Structure
|
||||
|
||||
- `content/`: Hugo content markdown files.
|
||||
- `themes/hugo-goa/`: Hugo Goa theme layouts and partials.
|
||||
- `public/`: Pre-rendered production assets and HTML ready for the Nginx container.
|
||||
- `Dockerfile`: Minimal Nginx container copying `./public/` to `/usr/share/nginx/html/`.
|
||||
- `build.sh`: Convenience build, push, and redeploy script.
|
||||
- `config.toml`: Hugo site configuration.
|
||||
@@ -0,0 +1 @@
|
||||
moritzgraf.de
|
||||
@@ -0,0 +1,2 @@
|
||||
FROM nginx
|
||||
COPY ./public/ /usr/share/nginx/html/
|
||||
@@ -0,0 +1,26 @@
|
||||
REGISTRY ?= registry.haumdaucher.de
|
||||
IMAGE_NAME ?= moritzgrafde
|
||||
TAG ?= latest
|
||||
PLATFORM ?= linux/amd64
|
||||
|
||||
IMAGE ?= $(REGISTRY)/$(IMAGE_NAME):$(TAG)
|
||||
|
||||
.PHONY: compile build tag push deploy all
|
||||
|
||||
all: compile build tag push deploy
|
||||
|
||||
compile:
|
||||
hugo
|
||||
|
||||
build:
|
||||
docker build --platform $(PLATFORM) -t $(IMAGE_NAME):$(TAG) .
|
||||
|
||||
tag:
|
||||
docker tag $(IMAGE_NAME):$(TAG) $(IMAGE)
|
||||
|
||||
push:
|
||||
docker push $(IMAGE)
|
||||
|
||||
deploy:
|
||||
kubectl rollout restart deployment/moritzgrafde -n web
|
||||
kubectl rollout status deployment/moritzgrafde -n web
|
||||
@@ -0,0 +1,16 @@
|
||||
# website as docker image
|
||||
|
||||
Build container and push to registry
|
||||
|
||||
```bash
|
||||
build.sh
|
||||
cat build.sh # to execute commands seperately
|
||||
```
|
||||
|
||||
Then ssh to the server and redeploy container:
|
||||
|
||||
```bash
|
||||
ssh moritzgraf.de
|
||||
cd /home/docker/container/
|
||||
docker-compose-fullupgrade moritzgrafde
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
CONTAINER_NAME="moritzgrafde"
|
||||
DEPLOYMENT="moritzgrafde"
|
||||
NAMESPACE="web"
|
||||
|
||||
hugo
|
||||
|
||||
docker build --platform linux/amd64 -t ${CONTAINER_NAME}:latest -t registry.haumdaucher.de/${CONTAINER_NAME}:latest .
|
||||
docker push registry.haumdaucher.de/${CONTAINER_NAME}:latest
|
||||
|
||||
kubectl patch deployment $DEPLOYMENT -n $NAMESPACE -p "{\"spec\": {\"template\": {\"metadata\": { \"labels\": { \"redeploy\": \"$( date +%s )\"}}}}}"
|
||||
kubectl get po -l app=$DEPLOYMENT -n $NAMESPACE -w
|
||||
@@ -0,0 +1,68 @@
|
||||
## Basic Configuration
|
||||
|
||||
baseurl = "https://moritzgraf.de"
|
||||
builddrafts = false
|
||||
canonifyurls = false
|
||||
languageCode = "en-US"
|
||||
|
||||
contentdir = "content"
|
||||
layoutdir = "layouts"
|
||||
publishdir = "public"
|
||||
|
||||
author = "Moritz Graf"
|
||||
title = "Moritz Graf"
|
||||
|
||||
theme = "hugo-goa"
|
||||
|
||||
## Hugo Built-in Features
|
||||
#disqusShortname = "https-shenoybr-github-io-hugo-goa-demo" # Comment out to disable Disqus.
|
||||
#googleAnalytics = "XYZ"
|
||||
#enableRobotsTXT = true
|
||||
|
||||
## Site Settings
|
||||
[params]
|
||||
author = "Moritz Graf"
|
||||
intro = "- - - - - - - - -"
|
||||
description = "- - - - - - - - -"
|
||||
authorimage = "headshot.jpg"
|
||||
dateformat = "2 Jan 2006"
|
||||
|
||||
## Site Meta Settings
|
||||
[params.meta]
|
||||
description = "Online business card - Moritz Graf"
|
||||
keywords = "monitoring,ansible,configuration management,icinga2,grafana,ELK-Stack,prometheus,kubernetes,k3s,cncf,grafana,boto3,aws,terraform,terragrunt,atlantis,serverless,packer,loki,kustomize,jenkins,dependabot,oauth"
|
||||
|
||||
## Social Accounts
|
||||
[params.social]
|
||||
github = "iptizer"
|
||||
#instagram = "<username>"
|
||||
linkedin = "moritz-graf-92abaa91"
|
||||
twitter = "TheIPtizer"
|
||||
#facebook = "<username>"
|
||||
#google = "<username>"
|
||||
stackoverflow = "7779723"
|
||||
xing = "Moritz_Graf4"
|
||||
email = "contact-moritz@moritzgraf.de"
|
||||
|
||||
## Extras
|
||||
[params.extra]
|
||||
copyright = "© 2021. Moritz Graf. [Some Rights Reserved](http://creativecommons.org/licenses/by/3.0/)."
|
||||
poweredby = false
|
||||
highlightjs = true
|
||||
|
||||
## Main Menu
|
||||
# [[menu.main]]
|
||||
# name = "blog"
|
||||
# weight = 100
|
||||
# identifier = "blog"
|
||||
# url = "http://iptize.it"
|
||||
#[[menu.main]]
|
||||
# name = "about"
|
||||
# identifier = "about"
|
||||
# weight = 200
|
||||
# url = "/about/"
|
||||
#[[menu.main]]
|
||||
# name = "coderag"
|
||||
# identifier = "coderag"
|
||||
# weight = 300
|
||||
# url = "/coderag/"
|
||||
@@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<meta name="description" content="Online business card - Moritz Graf">
|
||||
<meta name="keywords" content="monitoring,ansible,configuration management,icinga2,grafana,ELK-Stack,prometheus,kubernetes,k3s,cncf,grafana,boto3,aws,terraform,terragrunt,atlantis,serverless,packer,loki,kustomize,jenkins,dependabot,oauth">
|
||||
|
||||
<base href="https://moritzgraf.de/">
|
||||
|
||||
<title>Moritz Graf</title>
|
||||
|
||||
<meta name="generator" content="Hugo 0.160.1">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i">
|
||||
<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" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://moritzgraf.de/css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
</head>
|
||||
<body lang="en-US">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<section id="error-pane" class="row text-center error">
|
||||
<h1 class="text-center">404</h1>
|
||||
<p>Sorry! That page does not exist. It may have been removed or moved to a new section on the site. Click <a href="/">here</a> go back to the home page.</p>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<footer class="row text-center footer">
|
||||
<hr />
|
||||
|
||||
<h6 class="text-center copyright">© 2021. Moritz Graf. <a href="http://creativecommons.org/licenses/by/3.0/">Some Rights Reserved</a>.</h6>
|
||||
|
||||
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#ffc40d</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
@@ -0,0 +1,89 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<meta name="description" content="Online business card - Moritz Graf">
|
||||
<meta name="keywords" content="monitoring,ansible,configuration management,icinga2,grafana,ELK-Stack,prometheus,kubernetes,k3s,cncf,grafana,boto3,aws,terraform,terragrunt,atlantis,serverless,packer,loki,kustomize,jenkins,dependabot,oauth">
|
||||
|
||||
<base href="https://moritzgraf.de/">
|
||||
|
||||
<title>Moritz Graf</title>
|
||||
|
||||
<meta name="generator" content="Hugo 0.160.1">
|
||||
|
||||
|
||||
<link href="https://moritzgraf.de/categories/index.xml" rel="alternate" type="application/rss+xml" title="Moritz Graf" />
|
||||
<link href="https://moritzgraf.de/categories/index.xml" rel="feed" type="application/rss+xml" title="Moritz Graf" />
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i">
|
||||
<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" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://moritzgraf.de/css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
</head>
|
||||
<body lang="en-US">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<section id="list-pane" class="row list">
|
||||
<ul >
|
||||
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="menu-pane" class="row menu text-center">
|
||||
|
||||
<h4 class="text-center"><a class="menu-item" href="https://moritzgraf.de/">home</a></h4>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<footer class="row text-center footer">
|
||||
<hr />
|
||||
|
||||
<h6 class="text-center copyright">© 2021. Moritz Graf. <a href="http://creativecommons.org/licenses/by/3.0/">Some Rights Reserved</a>.</h6>
|
||||
|
||||
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Categories on Moritz Graf</title>
|
||||
<link>https://moritzgraf.de/categories/</link>
|
||||
<description>Recent content in Categories on Moritz Graf</description>
|
||||
<generator>Hugo</generator>
|
||||
<language>en-US</language>
|
||||
<atom:link href="https://moritzgraf.de/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -0,0 +1,257 @@
|
||||
@-ms-viewport
|
||||
{
|
||||
width: device-width;
|
||||
}
|
||||
@-o-viewport
|
||||
{
|
||||
width: device-width;
|
||||
}
|
||||
@viewport
|
||||
{
|
||||
width: device-width;
|
||||
}
|
||||
a,
|
||||
a:hover,
|
||||
a:visited,
|
||||
a:link
|
||||
{
|
||||
text-decoration: none;
|
||||
|
||||
color: #526d7a;
|
||||
}
|
||||
body
|
||||
{
|
||||
font-family: 'Roboto Slab', 'Roboto', 'Lato', sans-serif;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
|
||||
width: auto;
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
html
|
||||
{
|
||||
position: relative;
|
||||
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
.author
|
||||
{
|
||||
color: #444;
|
||||
}
|
||||
.author h1,
|
||||
.author h2,
|
||||
.author h3,
|
||||
.author h4,
|
||||
.author h5,
|
||||
.author h6,
|
||||
.author p
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
}
|
||||
.category
|
||||
{
|
||||
color: #966 !important;
|
||||
}
|
||||
.container
|
||||
{
|
||||
overflow: auto;
|
||||
|
||||
max-width: 680px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.content
|
||||
{
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
div.content
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 18px;
|
||||
font-weight: 300;
|
||||
|
||||
color: #777;
|
||||
}
|
||||
.copyright
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
}
|
||||
.description
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 200;
|
||||
color: #bbb;
|
||||
}
|
||||
.error
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
|
||||
margin-top: 100px;
|
||||
}
|
||||
.error h1
|
||||
{
|
||||
font-size: 80px;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
.error p
|
||||
{
|
||||
margin-top: 150px;
|
||||
|
||||
color: #777;
|
||||
}
|
||||
.excerpt
|
||||
{
|
||||
font-family: 'Lato', sans-serif;
|
||||
font-size: 18px;
|
||||
font-weight: 200;
|
||||
|
||||
color: #555;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.footer
|
||||
{
|
||||
margin-top: 10px;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
.header
|
||||
{
|
||||
margin-top: 60px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.headshot
|
||||
{
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
.info
|
||||
{
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.intro
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
font-weight: 200;
|
||||
color: #777;
|
||||
}
|
||||
h3.intro
|
||||
{
|
||||
margin-top: 0px
|
||||
}
|
||||
.list
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
|
||||
margin-top: 50px;
|
||||
}
|
||||
.list li
|
||||
{
|
||||
list-style: none;
|
||||
}
|
||||
.list-entry
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
font-size: 25px;
|
||||
font-weight: 400;
|
||||
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.list-entry-link
|
||||
{
|
||||
padding: 0;
|
||||
}
|
||||
.main-menu
|
||||
{
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.menu
|
||||
{
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.menu-item
|
||||
{
|
||||
font-family: 'Lato', sans-serif;
|
||||
font-size: 20px;
|
||||
font-weight: 300;
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
color: #966 !important;
|
||||
}
|
||||
.meta
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
a.meta
|
||||
{
|
||||
color: #966;
|
||||
}
|
||||
h6.meta
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
section.meta {
|
||||
margin-top:
|
||||
}
|
||||
.powered
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 300;
|
||||
}
|
||||
.social {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.social,
|
||||
.social a
|
||||
{
|
||||
color: #526d7a;
|
||||
}
|
||||
.title
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
font-weight: 400;
|
||||
|
||||
color: #555;
|
||||
}
|
||||
header.title
|
||||
{
|
||||
margin-top: 50px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
@media (max-width: 991px)
|
||||
{
|
||||
.header
|
||||
{
|
||||
margin-top: 50px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.list
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 269 B |
|
After Width: | Height: | Size: 436 B |
|
After Width: | Height: | Size: 888 KiB |
|
After Width: | Height: | Size: 874 KiB |
@@ -0,0 +1,127 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<meta name="description" content="Online business card - Moritz Graf">
|
||||
<meta name="keywords" content="monitoring,ansible,configuration management,icinga2,grafana,ELK-Stack,prometheus,kubernetes,k3s,cncf,grafana,boto3,aws,terraform,terragrunt,atlantis,serverless,packer,loki,kustomize,jenkins,dependabot,oauth">
|
||||
|
||||
<base href="https://moritzgraf.de/">
|
||||
|
||||
<title>Moritz Graf</title>
|
||||
|
||||
<meta name="generator" content="Hugo 0.160.1">
|
||||
|
||||
|
||||
<link href="https://moritzgraf.de/index.xml" rel="alternate" type="application/rss+xml" title="Moritz Graf" />
|
||||
<link href="https://moritzgraf.de/index.xml" rel="feed" type="application/rss+xml" title="Moritz Graf" />
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i">
|
||||
<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" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://moritzgraf.de/css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
</head>
|
||||
<body lang="en-US">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<header class="row text-center header">
|
||||
<img src="img/headshot.jpg" alt="Author Image" class="img-circle text-center headshot">
|
||||
<h1 class="author">Moritz Graf</h1>
|
||||
</header>
|
||||
|
||||
|
||||
<section id="info-pane" class="row text-center info">
|
||||
|
||||
<h3 class="intro"><hr>
|
||||
</h3>
|
||||
|
||||
|
||||
<h4 class="description"><hr>
|
||||
</h4>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section id="social-pane" class="row text-center social">
|
||||
|
||||
<a href="https://twitter.com/TheIPtizer"><i class="fa fa-twitter" aria-hidden="true"></i></a>
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://github.com/iptizer"><i class="fa fa-github" aria-hidden="true"></i></a>
|
||||
|
||||
|
||||
|
||||
<a href="https://linkedin.com/in/moritz-graf-92abaa91"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
|
||||
|
||||
|
||||
<a href="https://stackoverflow.com/users/7779723"><i class="fa fa-stack-overflow" aria-hidden="true"></i></a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="mailto:contact-moritz@moritzgraf.de"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>
|
||||
|
||||
|
||||
<a href="https://www.xing.com/profile/Moritz_Graf4"><i class="fa fa-xing" aria-hidden="true"></i></a>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section id="main-menu-pane" class="row text-center main-menu">
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<footer class="row text-center footer">
|
||||
<hr />
|
||||
|
||||
<h6 class="text-center copyright">© 2021. Moritz Graf. <a href="http://creativecommons.org/licenses/by/3.0/">Some Rights Reserved</a>.</h6>
|
||||
|
||||
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Moritz Graf</title>
|
||||
<link>https://moritzgraf.de/</link>
|
||||
<description>Recent content on Moritz Graf</description>
|
||||
<generator>Hugo</generator>
|
||||
<language>en-US</language>
|
||||
<atom:link href="https://moritzgraf.de/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -0,0 +1,11 @@
|
||||
// Copyright 2014-2015 Twitter, Inc.
|
||||
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
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)
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "hugo-goa",
|
||||
"icons": [
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="152.000000pt" height="152.000000pt" viewBox="0 0 152.000000 152.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,152.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M719 1506 c-177 -61 -281 -271 -231 -465 14 -57 55 -145 71 -155 5
|
||||
-3 12 -27 16 -53 3 -27 9 -62 11 -79 6 -36 -58 -232 -90 -279 -25 -37 -62 -72
|
||||
-98 -91 -25 -13 -28 -12 -47 12 -12 15 -21 32 -22 38 0 6 -2 20 -5 31 -2 11
|
||||
-5 32 -6 47 -2 29 -13 27 -42 -9 -10 -13 -23 -22 -30 -20 -14 5 -35 -22 -36
|
||||
-48 -1 -19 -2 -19 -9 -1 -7 18 -9 17 -35 -10 -97 -103 -111 -239 -31 -314 26
|
||||
-24 149 -70 175 -65 94 20 146 37 173 57 18 13 44 30 59 37 15 8 35 30 44 50
|
||||
9 20 23 39 30 44 7 4 25 30 40 57 14 27 32 51 40 54 13 5 14 11 -30 -143 -22
|
||||
-74 -21 -134 2 -154 20 -18 84 -47 105 -47 7 0 21 6 31 13 16 12 19 31 22 123
|
||||
5 170 6 175 42 189 30 13 31 13 46 -26 9 -22 16 -48 16 -58 0 -21 67 -128 98
|
||||
-155 38 -33 130 -73 159 -69 16 2 49 4 74 3 37 0 51 5 79 30 18 16 36 30 40
|
||||
30 3 0 13 12 22 28 22 37 17 116 -10 167 -18 34 -23 34 -22 0 1 -10 -33 -69
|
||||
-46 -82 -18 -19 -52 -16 -80 6 l-25 20 36 17 c19 9 42 28 51 43 9 15 32 36 52
|
||||
46 74 40 89 123 39 222 l-24 46 -7 -39 c-8 -43 -31 -84 -46 -84 -6 0 -10 7
|
||||
-10 15 0 24 -16 17 -17 -7 -3 -30 -27 -46 -64 -42 -74 9 -129 56 -182 155 -22
|
||||
42 -24 55 -20 150 4 112 5 129 15 144 62 103 82 176 75 281 -10 145 -82 266
|
||||
-191 319 -64 31 -152 40 -207 21z m167 -1062 c2 -16 6 -39 9 -51 7 -29 -13
|
||||
-40 -20 -11 -9 36 -13 82 -8 91 7 12 13 3 19 -29z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>https://moritzgraf.de/categories/</loc>
|
||||
</url><url>
|
||||
<loc>https://moritzgraf.de/</loc>
|
||||
</url><url>
|
||||
<loc>https://moritzgraf.de/tags/</loc>
|
||||
</url>
|
||||
</urlset>
|
||||
@@ -0,0 +1,89 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<meta name="description" content="Online business card - Moritz Graf">
|
||||
<meta name="keywords" content="monitoring,ansible,configuration management,icinga2,grafana,ELK-Stack,prometheus,kubernetes,k3s,cncf,grafana,boto3,aws,terraform,terragrunt,atlantis,serverless,packer,loki,kustomize,jenkins,dependabot,oauth">
|
||||
|
||||
<base href="https://moritzgraf.de/">
|
||||
|
||||
<title>Moritz Graf</title>
|
||||
|
||||
<meta name="generator" content="Hugo 0.160.1">
|
||||
|
||||
|
||||
<link href="https://moritzgraf.de/tags/index.xml" rel="alternate" type="application/rss+xml" title="Moritz Graf" />
|
||||
<link href="https://moritzgraf.de/tags/index.xml" rel="feed" type="application/rss+xml" title="Moritz Graf" />
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i">
|
||||
<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" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://moritzgraf.de/css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
</head>
|
||||
<body lang="en-US">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<section id="list-pane" class="row list">
|
||||
<ul >
|
||||
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="menu-pane" class="row menu text-center">
|
||||
|
||||
<h4 class="text-center"><a class="menu-item" href="https://moritzgraf.de/">home</a></h4>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<footer class="row text-center footer">
|
||||
<hr />
|
||||
|
||||
<h6 class="text-center copyright">© 2021. Moritz Graf. <a href="http://creativecommons.org/licenses/by/3.0/">Some Rights Reserved</a>.</h6>
|
||||
|
||||
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Tags on Moritz Graf</title>
|
||||
<link>https://moritzgraf.de/tags/</link>
|
||||
<description>Recent content in Tags on Moritz Graf</description>
|
||||
<generator>Hugo</generator>
|
||||
<language>en-US</language>
|
||||
<atom:link href="https://moritzgraf.de/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
||||
|
After Width: | Height: | Size: 888 KiB |
|
After Width: | Height: | Size: 874 KiB |
@@ -0,0 +1,4 @@
|
||||
exampleSite/public
|
||||
.DS_Store
|
||||
*/**/.DS_Store
|
||||
*.sw*
|
||||
@@ -0,0 +1,9 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 [Rajesh Shenoy](https://github.com/shenoybr)
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,210 @@
|
||||
|
||||
# Goa
|
||||
|
||||
Goa is a clean, simple and minimalist theme for blogs and personal websites.
|
||||
|
||||
<img src="http://i.imgur.com/vqMd1Mx.png" width="40%" height="40%" />
|
||||
|
||||
[](https://raw.githubusercontent.com/shenoybr/hugo-goa/master/LICENSE)
|
||||
[](https://github.com/shenoybr/hugo-goa/stargazers)
|
||||
[](https://github.com/shenoybr/hugo-goa/network)
|
||||
[](http://www.emergencykitten.com/)
|
||||
[](https://twitter.com/intent/tweet?text=Wow:&url=%5Bobject%20Object%5D)
|
||||
## Demo
|
||||
|
||||
You can find the demo site in action [here](https://shenoybr.github.io/hugo-goa-demo) and the source [here](https://github.com/shenoybr/hugo-goa-demo).
|
||||
|
||||
## Installation
|
||||
|
||||
From the root of your blog:
|
||||
|
||||
```
|
||||
mkdir -p themes
|
||||
cd themes
|
||||
git clone https://github.com/shenoybr/hugo-goa
|
||||
```
|
||||
|
||||
## Content creation
|
||||
|
||||
### Creating a post
|
||||
|
||||
To create a new page or post:
|
||||
|
||||
````
|
||||
hugo new about.md
|
||||
````
|
||||
or
|
||||
|
||||
````
|
||||
hugo new posts/first.md
|
||||
````
|
||||
|
||||
You can now go ahead an edit the newly created file under the `content` directory. Once you are finished editing, to have hugo generate the page, set `draft = false` in the articles front matter.
|
||||
|
||||
### Organizing pages
|
||||
|
||||
The above example demonstrates how to create a pages and posts. Hugo automatically applies the list templates for a directory of pages/posts, which works well for blogs and posts. However, you may want at times want to override this behavior and create a standalone page (like an about page or projects page) or have more control of what content is listed from within the directory. In such cases, you can override the default behavior by placing an index.md file in the corresponding content
|
||||
directory.
|
||||
|
||||
````
|
||||
hugo new projects/index.md
|
||||
````
|
||||
|
||||
### Page settings
|
||||
|
||||
These settings are at the page level.
|
||||
|
||||
- `showpagemeta`: default=`true`. This allows you to disable page meta information from being displayed. For example, this setting is disabled [here](https://shenoybr.github.io/hugo-goa-demo/about/) and enabled [here](https://shenoybr.github.io/hugo-goa-demo/coderag/).
|
||||
- `showcomments`: default=`true`. Enables or disable comments. For example, this setting is disabled [here](https://shenoybr.github.io/hugo-goa-demo/blog/third/) and enabled [here](https://shenoybr.github.io/hugo-goa-demo/blog/first/).
|
||||
|
||||
## Configuration
|
||||
|
||||
The provided [config.toml](https://github.com/shenoybr/hugo-goa/blob/master/exampleSite/config.toml) describes all options and features that are supported. Configure it your way!
|
||||
|
||||
### Basic Configuration
|
||||
|
||||
These are site wide configuration parameters that are used by this template.
|
||||
|
||||
- `baseurl`: This is the root of your site.
|
||||
- `builddrafts`: default=`false`. Enables or Disable building drafts when hugo is run.
|
||||
- `canonifyurls`: default=`false`. Prefix all relative URLs with your base URL. [More Information](https://gohugo.io/extras/urls#canonicalization).
|
||||
- `languageCode`: Used to set site localization preferences. eg. `en-US`.
|
||||
- `contentdir`: Where hugo can find your content. eg. `content`.
|
||||
- `layoutdir`: Where hugo can find your templates. eg. `layouts`.
|
||||
- `publishdir`: Where hugo generates the static site. eg. `public`.
|
||||
- `author`: Site author name. eg. `Erlich Bachman`.
|
||||
- `title`: Site title name. eg. `Erlich Bachman`.
|
||||
- `theme`: Your theme name should be set to `hugo-goa` if using this theme.
|
||||
|
||||
## Hugo Built-in Features
|
||||
|
||||
These are features that hugo provides and are used by this template.
|
||||
|
||||
- `disqusShortname`: Your discusShortname if you want to enable comments on your posts.
|
||||
- `googleAnalytics`: Your google analytics id for tracking.
|
||||
- `enableRobotsTXT`: Enable or disable search engines from crawling your site.
|
||||
|
||||
## Site Settings `[params]`
|
||||
|
||||
These are settings that are specific to this theme.
|
||||
|
||||
- `author`: Main author name. eg. `Erlich Bachman`.
|
||||
- `intro`: Author introduction. This field supports markdown. eg. `Startup Guru Extraordinaire`.
|
||||
- `description`: Author description. This field supports markdown. eg. `Now @Pied Piper. Previously @Hacker Hostel, @Bachmanity and @Aviato. <br/> \"What is F times 5? It's Fleventy-five.\"`.
|
||||
- `authorimage`: Location of author image under static/img directory. eg. `headshot.jpg`
|
||||
- `dateformat`: Golang date format to be used on this site. eg. `Jan 2, 2006`
|
||||
|
||||
### Site Meta Settings `[params.meta]`
|
||||
|
||||
These settings are included in the site's meta section.
|
||||
|
||||
- `description`: User this field to describe your site to search engines. eg. `Simple minimalist theme`.
|
||||
- `keywords`: Keywords that desribe your site. eg. `minimalist,blog,goa,hugo,developer`.
|
||||
|
||||
### Social Accounts `[params.social]`
|
||||
|
||||
These settings to display your social accounts.
|
||||
|
||||
- `github`: Your github username.
|
||||
- `instagram`: Your instagram username.
|
||||
- `xing`: Your xing username.
|
||||
- `linkedin`: Your linkedIn username.
|
||||
- `twitter`: Your twitter username.
|
||||
- `facebook`: Your facebook username.
|
||||
- `google`: Your google username.
|
||||
- `email`: Your email.
|
||||
|
||||
### Extras `[params.extra]`
|
||||
|
||||
These settings for extra features that this site uses.
|
||||
|
||||
- `copyright`: Add a copyright statement to the bottom of the theme. eg. `© 2016. Erlich Bachman. [Some Rights Reserved](http://creativecommons.org/licenses/by/3.0/)."`
|
||||
- `poweredby`: Help promote this theme and give the authors credit. eg. `true` or `false`.
|
||||
- `highlightjs`: Use highlightJS to highlight code on your site. eg. `true` or `false`.
|
||||
|
||||
### Main Menu `[[menu.main]]`
|
||||
|
||||
These settings for the main menu that is displayed on the home page.
|
||||
|
||||
- `name`: Name of menu item. eg. `blog`
|
||||
- `weight`: Weight of this menu item. Higher items go to the bottom. eg. `100`
|
||||
- `url`: Root URL for this section/page. eg. `/blog/`.
|
||||
|
||||
Example:
|
||||
```
|
||||
[[menu.main]]
|
||||
name = "blog"
|
||||
weight = 100
|
||||
url = "/blog/"
|
||||
[[menu.main]]
|
||||
name = "about"
|
||||
weight = 200
|
||||
url = "/about/"
|
||||
[[menu.main]]
|
||||
name = "coderag"
|
||||
weight = 300
|
||||
url = "/coderag/"
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
* Responsive
|
||||
* Minimalist
|
||||
* Bootstrap 3
|
||||
* Fontawesome
|
||||
* HighlighJS
|
||||
* Disqus support for commenting
|
||||
* Built-in support for 404 pages, Disqus comments and Google Analytics.
|
||||
|
||||
## Screenshots
|
||||
|
||||
<img src="http://i.imgur.com/vqMd1Mx.png" width="30%" height="30%" />
|
||||
<img src="http://i.imgur.com/dfj8MHz.png" width="30%" height="30%" />
|
||||
<img src="http://i.imgur.com/mMFfkZY.png" width="30%" height="30%" />
|
||||
<img src="http://i.imgur.com/7e67ypn.png" width="30%" height="30%" />
|
||||
<img src="http://i.imgur.com/lz3RGH9.png" width="30%" height="30%" />
|
||||
<img src="http://i.imgur.com/IPggNGk.png" width="30%" height="30%" />
|
||||
<img src="http://i.imgur.com/FW1Bdln.png" width="10%" height="10%" />
|
||||
<img src="http://i.imgur.com/vTY5GeX.png" width="10%" height="10%" />
|
||||
<img src="http://i.imgur.com/aJZQYZ6.png" width="10%" height="10%" />
|
||||
<img src="http://i.imgur.com/rGQJAF3.png" width="10%" height="10%" />
|
||||
|
||||
## Contributing
|
||||
|
||||
### Bug Reports
|
||||
|
||||
1. Search Github Issues to see if the bug has been previously filed.
|
||||
2. If it has been filed, +1 the post. This helps us in assessing impact and priortitizing the bug.
|
||||
3. If not previously filed, open a new Github Issue and describe in detail. Attach error traces and provide relavant details to help us solve it.
|
||||
4. For Hugo issues, search the Hugo [Forum](https://discuss.gohugo.io/)
|
||||
|
||||
### Feature Requests
|
||||
|
||||
1. Search Github Issues to see if the feature has been previously requested.
|
||||
2. If it has been filed, +1 the post. This helps us in assessing popularity and priortitizing the feature.
|
||||
3. If not previously filed, open a new Github Issue and describe it in detail.
|
||||
|
||||
### Pull Requests
|
||||
|
||||
1. Clone the repository, create the feature/bug branch.
|
||||
2. Code.
|
||||
3. Make sure your code follows the style of the project.
|
||||
4. Test it thoroughly.
|
||||
5. Open a PR requesting for it to be merged.
|
||||
6. Describe the feature or issue your are solving in detail.
|
||||
7. Wait for its approval.
|
||||
8. Merge and Rejoice.
|
||||
|
||||
## Attribution
|
||||
|
||||
The theme's design was inspired by many blogs and themes:
|
||||
|
||||
1. Bruno de Carvalho's [blog](http://biasedbit.com).
|
||||
2. [Hugo Cocoa](http://themes.gohugo.io/cocoa/).
|
||||
3. [Hugo Vec](http://themes.gohugo.io/hugo-theme-vec/).
|
||||
4. [Hugo Agency](http://themes.gohugo.io/hugo-agency/).
|
||||
|
||||
## License
|
||||
|
||||
Licensed under the [MIT](https://opensource.org/licenses/MIT) License. See the [LICENSE](https://raw.githubusercontent.com/shenoybr/hugo-goa/master/LICENSE) file for more details.
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
+++
|
||||
draft = false
|
||||
comments = false
|
||||
slug = ""
|
||||
tags = []
|
||||
categories = []
|
||||
|
||||
showpagemeta = true
|
||||
showcomments = true
|
||||
+++
|
||||
@@ -0,0 +1,3 @@
|
||||
.DS_Store
|
||||
*/**/.DS_Store
|
||||
public
|
||||
@@ -0,0 +1,9 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 [Rajesh Shenoy](https://github.com/shenoybr)
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,16 @@
|
||||
# Hugo Goa Demo
|
||||
|
||||
## About
|
||||
|
||||
This site demonstrates the use of the [Hugo Goa Theme](https://github.com/shenoybr/hugo-goa) by [@shenoybr](https://github.com/shenoybr).
|
||||
|
||||
## Usage
|
||||
|
||||
* Install [Hugo](gohugo.io)
|
||||
* git clone https://github.com/shenoybr/hugo-goa-demo
|
||||
* Run `hugo server -w -v` from the root directory
|
||||
* Site will be visible at `localhost:1313`
|
||||
|
||||
## License
|
||||
|
||||
Licensed under the [MIT](https://opensource.org/licenses/MIT) License. See the [LICENSE](https://raw.githubusercontent.com/shenoybr/hugo-goa-demo/master/LICENSE) file for more details.
|
||||
@@ -0,0 +1,68 @@
|
||||
## Basic Configuration
|
||||
|
||||
baseurl = "https://shenoybr.github.io/hugo-goa-demo/"
|
||||
builddrafts = false
|
||||
canonifyurls = false
|
||||
languageCode = "en-US"
|
||||
|
||||
contentdir = "content"
|
||||
layoutdir = "layouts"
|
||||
publishdir = "public"
|
||||
|
||||
author = "Erlich Bachman"
|
||||
title = "Erlich Bachman"
|
||||
|
||||
theme = "hugo-goa"
|
||||
|
||||
## Hugo Built-in Features
|
||||
disqusShortname = "https-shenoybr-github-io-hugo-goa-demo" # Comment out to disable Disqus.
|
||||
googleAnalytics = "XYZ"
|
||||
enableRobotsTXT = true
|
||||
|
||||
## Site Settings
|
||||
[params]
|
||||
author = "Erlich Bachman"
|
||||
intro = "Startup Guru Extraordinaire"
|
||||
description = "Now @Pied Piper. Previously @Hacker Hostel, @Bachmanity and @Aviato. <br/> \"What is F times 5? It's Fleventy-five.\""
|
||||
authorimage = "headshot.jpg"
|
||||
dateformat = "Jan 2, 2006"
|
||||
|
||||
## Site Meta Settings
|
||||
[params.meta]
|
||||
description = "Simple minimalist theme"
|
||||
keywords = "minimalist,blog,goa,hugo,developer"
|
||||
|
||||
## Social Accounts
|
||||
[params.social]
|
||||
github = "<username>"
|
||||
instagram = "<username>"
|
||||
xing = "<username>"
|
||||
linkedin = "<username>"
|
||||
twitter = "<username>"
|
||||
facebook = "<username>"
|
||||
google = "<username>"
|
||||
stackoverflow = "<username>"
|
||||
email = "you@example.com"
|
||||
|
||||
## Extras
|
||||
[params.extra]
|
||||
copyright = "© 2016. Erlich Bachman. [Some Rights Reserved](http://creativecommons.org/licenses/by/3.0/)."
|
||||
poweredby = true
|
||||
highlightjs = true
|
||||
|
||||
## Main Menu
|
||||
[[menu.main]]
|
||||
name = "blog"
|
||||
weight = 100
|
||||
identifier = "blog"
|
||||
url = "/blog/"
|
||||
[[menu.main]]
|
||||
name = "about"
|
||||
identifier = "about"
|
||||
weight = 200
|
||||
url = "/about/"
|
||||
[[menu.main]]
|
||||
name = "coderag"
|
||||
identifier = "coderag"
|
||||
weight = 300
|
||||
url = "/coderag/"
|
||||
@@ -0,0 +1,18 @@
|
||||
+++
|
||||
categories = ["about"]
|
||||
comments = false
|
||||
date = "2016-10-02T22:55:05-04:00"
|
||||
draft = false
|
||||
slug = ""
|
||||
tags = ["about"]
|
||||
title = "About"
|
||||
|
||||
showpagemeta = false
|
||||
+++
|
||||
|
||||
Erlich administers the Hacker Hostel, a tech incubator where Richard, Big Head, Dinesh, and Gilfoyle live and work in exchange for 10 percent of their potential businesses. Erlich clings to his glory days, when he sold aviation start-up Aviato, a move that, at least in his mind, qualifies him to be a svengali lording over other tech nerds. He still drives a car emblazoned with multiple Aviato logos and smokes copious amounts of weed.[1]
|
||||
|
||||
In Fiduciary Duties, a drunk Richard makes Erlich a Pied Piper board member, a decision he later regrets.
|
||||
|
||||
In Two Days of the Condor, it is revealed that Erlich no longer codes due to carpal tunnel syndrome.
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
+++
|
||||
categories = ["ad"]
|
||||
comments = false
|
||||
date = "2016-10-02T15:59:13-04:00"
|
||||
draft = false
|
||||
showpagemeta = true
|
||||
showcomments = true
|
||||
slug = ""
|
||||
tags = ["gavin", "belson", "hooli", "hardware"]
|
||||
title = "Gavin Belson"
|
||||
description = "A post about the amazingness of Gavin Belson"
|
||||
|
||||
+++
|
||||
|
||||
Note: This article originally appeared in [CodeRag](http://www.coderag.com/10-facts-you-didnt-know-about-gavin-belson/).
|
||||
|
||||
Gavin Belson’s name has long been synonymous with innovation—but beyond his work at Hooli, do we even know the man behind the rampant success? In a Code/Rag exclusive, Belson revealed to us 10 things about himself that aren’t common knowledge.
|
||||
|
||||
* He’s a nature fanatic! “It’s important to me that Hooli has an effective recycling program, and a personal passion of mine is donating to elephant sanctuaries. In fact, I’ve recently spearheaded the creation of Hooli’s newest charity: the Hooli Elephant Wildlife Trust.”
|
||||
* He likes to go analog! His company may have been founded on email, but Belson has a soft spot for the written word. “There’s something nostalgic about receiving a letter—it’s a message from the past.”
|
||||
* He’s an honorary shaman! “I studied at the Institute of Spiritual Therapy and Vision Quests, where I was honored with the title of shaman. The Institute has fundamentally furthered my understanding of the world and its capacity for greatness.”
|
||||
* His favorite pizza topping is pepperoni! “Uncured, preferably, with some aged parmesan.”
|
||||
* He drives a Tesla! “Black. I try not to bee too conspicuous. And of course, the benefit to the environment is incomparable.”
|
||||
* His health is important to him! “I eat at least one piece of unprocessed fruit a day.”
|
||||
* He has bad habits too! “I never reboot my laptop. I know it’s bad, but I’m always in a hurry.”
|
||||
* He doesn’t have a Nobel Peace Prize…yet! “It’s a common misconception, especially with the amount of charity work I do with Hooli, and sometimes people associate my status as a shaman with working towards world peace, which of course is something I’m striving for.”
|
||||
* He’s loyal to his barber! “I’ve been going to the same barber for years—he was based in Palo Alto, but I’ve convinced him to move to the South Bay.”
|
||||
* He really, really loves animals! “I would say I’m a cat person. And a dog person. I’m an animal person, and I don’t just mean that human beings are animals. Did you know the African bush elephant is still an endangered species? Programs like the Hooli Elephant Wildlife Trust won’t save them immediately, but it’s a start.”
|
||||
@@ -0,0 +1,21 @@
|
||||
+++
|
||||
categories = ["propaganda"]
|
||||
comments = false
|
||||
date = "2016-10-01T16:59:13-04:00"
|
||||
draft = false
|
||||
showpagemeta = true
|
||||
slug = ""
|
||||
tags = ["gavin", "belson", "hooli", "ceo"]
|
||||
title = "Belson Back on Top"
|
||||
description = "Hooli’s CEO Focusing on the Bottom Line"
|
||||
|
||||
+++
|
||||
Note: This post originally appeared in [CodeRag](http://www.coderag.com/belson-back-on-top-hoolis-ceo-focusing-on-the-bottom-line/)
|
||||
|
||||
Gavin Belson’s brilliant leadership is unstoppable. While allegedly taking a personal hiatus from day-to-day operations at Hooli, Belson couldn’t resist brokering a blockbuster deal between Hooli and Maleant Data Systems, deploying Hooli’s innovative new Hooli/Endframe Box. The multi-year deal brings handsome margins for Hooli and can easily be a template to apply across the entire Fortune 1000. An inside source tells me that, no surprise, the board was no longer satisfied to let Belson fade into the background. Hat in hand, they begged Belson to come back to the helm.
|
||||
|
||||
It’s been barely two months since Belson announced he would be taking a leave from his leadership role in order to focus on spiritual wellness and family. What drove Belson to this decision remains unclear. Was it additional fallout from the Hooli-Search scandal we broke at this very blog? Or perhaps his cutthroat methods in managing Hooli-Search results indicate a demand across the board for higher standards, and as such, Belson could not tolerate the sloppy security upgrades we also reported on. In any case, it seems the company’s electrical issues are resolved, and with it, any spirituality Belson felt the need to examine. The company’s Chief Innovation Officer has returned.
|
||||
|
||||
Belson, who is single, has had a slew of successes at Hooli this past year. When he announced the dissolution of the Nucleus project, his bravery was rewarded as Hooli stock jumped 7 percent. The cost savings was compounded when Belson pulled the trigger on company-wide layoffs, and the hole left by Nucleus was quickly filled when he acquired middle-out company Endframe. Endframe’s tech has long dominated the middle-out space, and it’s no surprise that the Hooli/Endframe relationship has combined Hooli’s resources and innovation with Endframe’s impressive tech to create something obscenely profitable: the Hooli/Endframe Box.
|
||||
|
||||
With Belson back on top at Hooli, shareholders can breathe a sigh of relief. While Belson’s career is certainly not without drama, his shrewd business sense and innovative technological accomplishments are what’s shaped Hooli into the company it is today. Without Gavin Belson, there is no Hooli. And without Hooli, where would any of us be?
|
||||
@@ -0,0 +1,23 @@
|
||||
+++
|
||||
categories = ["propaganda"]
|
||||
comments = false
|
||||
date = "2016-10-03T16:59:13-04:00"
|
||||
draft = false
|
||||
showpagemeta = true
|
||||
showcomments = false
|
||||
slug = ""
|
||||
tags = ["gavin", "belson", "hooli"]
|
||||
title = "Hooli’s Hot New Hardware"
|
||||
description = "Middle out compression technology for the win!"
|
||||
|
||||
+++
|
||||
|
||||
Note: This article originally appeared in [CodeRag](http://www.coderag.com/hoolis-hot-new-hardware/).
|
||||
|
||||
When Hooli acquired Endframe, no one could wait to see what the tech giant would do with the revolutionary, middle-out compression technology. The wait is over: In a savvy pivot, Hooli took the software and created their newest hardware: the Hooli/Endframe Box. While initially conceived as a consumer-facing platform, the Endframe technology has been repurposed to “make the world a better place through secure, high-capacity enterprise data storage servers utilizing middle-out compression technology.”
|
||||
|
||||
Insanely simple and beautifully crafted, the hardware backs up large amounts of data at a fraction of what it used to cost, so it’s no surprise that enterprise top dog Maleant Data System Solutions jumped at the chance to make a multi-year deal for the product. At a press conference announcing the blockbuster deal, CEO Calvin Greene stated, “The Hooli/Endframe Box is a welcome integration with our banking and medical system clients, who need to process large amounts of secure data at an accelerated pace.” Hooli’s Gavin Belson quipped that the world “always needs more money and doctors.”
|
||||
|
||||
The hardware features a Dual Intel Haswell 2.6 Ghz processor, NVIDIA Tesla K80, Lightnight Eco Gen II SanDisk (800 TB, no less) and two 4TB Seagate hard drives. Matched with Endframe’s middle out algorithm, there’s a reason Maleant promises a 200 percent ROI to any client who elects to incorporate the Hooli/Endframe Box into their service deal with Maleant.
|
||||
|
||||
The two companies flirted with multiple deal options before sealing the deal on a white label agreement, and becoming the power couple of enterprise data storage. Hooli could sell upgraded versions of these boxes to Maleant indefinitely, and Maleant’s penetration in the enterprise market ensures high demand for more Hooli/Endframe Boxes as long as Hooli can keep making them. Hundreds of millions of dollars could follow for Hooli’s enterprise sales division. With these two joining to sell storage solutions, no one will be able to touch their profits—or their data.
|
||||
@@ -0,0 +1,19 @@
|
||||
+++
|
||||
categories = ["articles"]
|
||||
comments = false
|
||||
date = "2016-10-02T22:55:05-04:00"
|
||||
draft = false
|
||||
slug = ""
|
||||
tags = ["bachman", "pied piper", "aviato"]
|
||||
title = "CodeRag"
|
||||
|
||||
showpagemeta = true
|
||||
+++
|
||||
Notes: This article originally appeared in [CodeRag](http://www.coderag.com/-note-from-the-editor/).
|
||||
|
||||
Code/Rag has always been more than just another online tech blog. We strive to be part of the tech community—serving an essential, fundamental look at what’s going on in the valley. It’s why our tagline is “Know Your Code.” We think a tech news publication should know the basics. Be the source. Get down to brass tacks. We can do that because we’re part of the very ecosystem we’re reporting on. And like any other company in the Silicon Valley community, Code/Rag is an ever-evolving entity.
|
||||
|
||||
Part of Code/Rag’s evolution includes our new investor: Bachmanity Capital. Bachmanity, as of this writing, owns a 50 percent stake in Code/Rag. I want to assure our readers this will in no way affect the quality or integrity of our journalism (it takes more than a couple dollars to shut me up). It simply means we have more funds to chase down the story, more resources to analyze trends and more assurances that when you read Code/Rag, you’ll know your code.
|
||||
|
||||
C.J. Cantwell
|
||||
Editor-in-Chief
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#ffc40d</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
|
After Width: | Height: | Size: 269 B |
|
After Width: | Height: | Size: 436 B |
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "hugo-goa",
|
||||
"icons": [
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="152.000000pt" height="152.000000pt" viewBox="0 0 152.000000 152.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,152.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M719 1506 c-177 -61 -281 -271 -231 -465 14 -57 55 -145 71 -155 5
|
||||
-3 12 -27 16 -53 3 -27 9 -62 11 -79 6 -36 -58 -232 -90 -279 -25 -37 -62 -72
|
||||
-98 -91 -25 -13 -28 -12 -47 12 -12 15 -21 32 -22 38 0 6 -2 20 -5 31 -2 11
|
||||
-5 32 -6 47 -2 29 -13 27 -42 -9 -10 -13 -23 -22 -30 -20 -14 5 -35 -22 -36
|
||||
-48 -1 -19 -2 -19 -9 -1 -7 18 -9 17 -35 -10 -97 -103 -111 -239 -31 -314 26
|
||||
-24 149 -70 175 -65 94 20 146 37 173 57 18 13 44 30 59 37 15 8 35 30 44 50
|
||||
9 20 23 39 30 44 7 4 25 30 40 57 14 27 32 51 40 54 13 5 14 11 -30 -143 -22
|
||||
-74 -21 -134 2 -154 20 -18 84 -47 105 -47 7 0 21 6 31 13 16 12 19 31 22 123
|
||||
5 170 6 175 42 189 30 13 31 13 46 -26 9 -22 16 -48 16 -58 0 -21 67 -128 98
|
||||
-155 38 -33 130 -73 159 -69 16 2 49 4 74 3 37 0 51 5 79 30 18 16 36 30 40
|
||||
30 3 0 13 12 22 28 22 37 17 116 -10 167 -18 34 -23 34 -22 0 1 -10 -33 -69
|
||||
-46 -82 -18 -19 -52 -16 -80 6 l-25 20 36 17 c19 9 42 28 51 43 9 15 32 36 52
|
||||
46 74 40 89 123 39 222 l-24 46 -7 -39 c-8 -43 -31 -84 -46 -84 -6 0 -10 7
|
||||
-10 15 0 24 -16 17 -17 -7 -3 -30 -27 -46 -64 -42 -74 9 -129 56 -182 155 -22
|
||||
42 -24 55 -20 150 4 112 5 129 15 144 62 103 82 176 75 281 -10 145 -82 266
|
||||
-191 319 -64 31 -152 40 -207 21z m167 -1062 c2 -16 6 -39 9 -51 7 -29 -13
|
||||
-40 -20 -11 -9 36 -13 82 -8 91 7 12 13 3 19 -29z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 284 KiB |
|
After Width: | Height: | Size: 125 KiB |
@@ -0,0 +1,5 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
{{ partial "error.html" . }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
@@ -0,0 +1,7 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
{{ partial "li.html" . }}
|
||||
|
||||
{{ partial "menu.html" . }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
{{ partial "content.html" . }}
|
||||
|
||||
{{ if ne .Params.showcomments false }}
|
||||
|
||||
{{ template "_internal/disqus.html" . }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ partial "menu.html" . }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
{{ partial "avatar.html" . }}
|
||||
|
||||
{{ partial "info.html" . }}
|
||||
|
||||
{{ partial "social.html" . }}
|
||||
|
||||
{{ partial "main_menu.html" . }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
@@ -0,0 +1,4 @@
|
||||
<header class="row text-center header">
|
||||
{{ with .Site.Params.authorimage }} <img src="img/{{ . }}" alt="Author Image" class="img-circle text-center headshot"> {{ end }}
|
||||
<h1 class="author">{{ .Site.Params.author }}</h1>
|
||||
</header>
|
||||
@@ -0,0 +1,45 @@
|
||||
<header class="row text-left title">
|
||||
<h1 class="title">{{ .Title }}</h1>
|
||||
</header>
|
||||
<section id="category-pane" class="row meta">
|
||||
{{ if ne .Params.showpagemeta false }}
|
||||
<div class="col-md-12">
|
||||
<h6 class="text-left meta">
|
||||
PUBLISHED ON {{ .Date.Format .Site.Params.dateformat | upper }}
|
||||
{{ if isset .Params "categories" }}
|
||||
{{ $total := len .Params.categories }}
|
||||
{{ if gt $total 0 }}
|
||||
—
|
||||
{{ $total := sub $total 1 }}
|
||||
{{ range $i, $cat := sort $.Params.categories }}
|
||||
<a class="meta" href="{{ "/categories/" | relURL }}{{ $cat | urlize }}">{{ $cat | upper }}</a>{{ if lt $i $total }}, {{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</h6>
|
||||
</div>
|
||||
{{ end }}
|
||||
</section>
|
||||
<section id="content-pane" class="row">
|
||||
<div class="col-md-12 text-justify content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</section>
|
||||
<section id="tag-pane" class="row meta">
|
||||
{{ if ne .Params.showpagemeta false }}
|
||||
<div class="col-md-12">
|
||||
<h6 class="text-right meta">
|
||||
{{ if isset .Params "tags" }}
|
||||
{{ $total := len .Params.tags }}
|
||||
{{ if gt $total 0 }}
|
||||
TAGS:
|
||||
{{ $subtotal := sub $total 1 }}
|
||||
{{ range $i, $tag := sort $.Params.tags }}
|
||||
<a class="meta" href="{{ "/tags/" | relURL }}{{ $tag | urlize }}">{{ $tag | upper }}</a>{{ if lt $i $subtotal }}, {{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</h6>
|
||||
</div>
|
||||
{{ end }}
|
||||
</section>
|
||||
@@ -0,0 +1,4 @@
|
||||
<section id="error-pane" class="row text-center error">
|
||||
<h1 class="text-center">404</h1>
|
||||
<p>Sorry! That page does not exist. It may have been removed or moved to a new section on the site. Click <a href="/">here</a> go back to the home page.</p>
|
||||
</section>
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
{{ partial "sub_footer.html" . }}
|
||||
</div>
|
||||
|
||||
{{ with .Site.Params.extra }}
|
||||
{{ if .highlightjs }}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||
{{ range .highlightjslanguages }}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/{{.}}.min.js"></script>
|
||||
{{ end }}
|
||||
|
||||
<script type="text/javascript">
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
{{ with .Site.Params.meta.description }}<meta name="description" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Params.meta.keywords }}<meta name="keywords" content="{{.}}">{{ end }}
|
||||
|
||||
<base href="{{ .Site.BaseURL }}">
|
||||
|
||||
<title>{{ .Site.Title }}</title>
|
||||
|
||||
{{ hugo.Generator }}
|
||||
|
||||
{{ with .OutputFormats.Get "rss" }}
|
||||
<link href="{{ .Permalink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
<link href="{{ .Permalink }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.extra.highlightjs }}
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/{{ .Site.Params.extra.highlightjsstyle | default "default" }}.min.css">
|
||||
{{ end }}
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i">
|
||||
<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" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="{{ "css/main.css" | absURL }}">
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
</head>
|
||||
<body lang="{{ .Site.LanguageCode }}">
|
||||
<div class="container">
|
||||
@@ -0,0 +1,8 @@
|
||||
<section id="info-pane" class="row text-center info">
|
||||
{{ with .Site.Params.intro }}
|
||||
<h3 class="intro">{{ . | markdownify }}</h3>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.description }}
|
||||
<h4 class="description">{{ . | markdownify }}</h4>
|
||||
{{ end }}
|
||||
</section>
|
||||
@@ -0,0 +1,27 @@
|
||||
<section id="list-pane" class="row list">
|
||||
<ul >
|
||||
{{ range .Data.Pages.ByPublishDate }}
|
||||
<li class="list-entry">
|
||||
<a class="list-entry-link" href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
<p class="meta">
|
||||
{{ .Date.Format .Site.Params.dateformat | upper }}
|
||||
<span class="category">
|
||||
{{ if isset .Params "categories" }}
|
||||
{{ $total := len .Params.categories }}
|
||||
{{ if gt $total 0 }}
|
||||
—
|
||||
{{ $total := sub $total 1 }}
|
||||
{{ range $i, $cat := sort .Params.categories }}
|
||||
<a class="category" href="{{ "/categories/" | relURL }}{{ $cat | humanize | urlize }}">{{ $cat | upper }}</a>{{ if lt $i $total }}, {{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</span>
|
||||
</p>
|
||||
<p class="excerpt">
|
||||
{{ .Description }}
|
||||
</p>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</section>
|
||||
@@ -0,0 +1,7 @@
|
||||
<section id="main-menu-pane" class="row text-center main-menu">
|
||||
{{ with .Site.Menus.main }}
|
||||
{{ range sort . }}
|
||||
<h4><a class="menu-item" href="{{ .URL }}">{{ .Name | lower }}</a></h4>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</section>
|
||||
@@ -0,0 +1,14 @@
|
||||
<section id="menu-pane" class="row menu text-center">
|
||||
{{ if not .IsNode }}
|
||||
{{ with .PrevInSection }}
|
||||
<span><a class="menu-item" href="{{ .Permalink }}">< prev | </a></span>
|
||||
{{ end }}
|
||||
{{ if (or (.PrevInSection) (.NextInSection)) }}
|
||||
<span><a class="menu-item" href="{{ .Section | relURL }}">{{ .Section | lower }}</a></span>
|
||||
{{ end }}
|
||||
{{ with .NextInSection }}
|
||||
<span><a class="menu-item" href="{{ .Permalink }}"> | next ></a></span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<h4 class="text-center"><a class="menu-item" href="{{ .Site.BaseURL }}">home</a></h4>
|
||||
</section>
|
||||
@@ -0,0 +1,38 @@
|
||||
<section id="social-pane" class="row text-center social">
|
||||
{{ with .Site.Params.social.twitter }}
|
||||
<a href="https://twitter.com/{{.}}"><i class="fa fa-twitter" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.google }}
|
||||
<a href="https://plus.google.com/{{.}}/about"><i class="fa fa-google-plus-official" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.facebook }}
|
||||
<a href="https://facebook.com/{{.}}"><i class="fa fa-facebook-official" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.github }}
|
||||
<a href="https://github.com/{{.}}"><i class="fa fa-github" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.instagram }}
|
||||
<a href="https://instagram.com/{{.}}"><i class="fa fa-instagram" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.linkedin }}
|
||||
<a href="https://linkedin.com/in/{{.}}"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.stackoverflow }}
|
||||
<a href="https://stackoverflow.com/users/{{.}}"><i class="fa fa-stack-overflow" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.medium}}
|
||||
<a href="https://medium.com/{{.}}"><i class="fa fa-medium" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.devto}}
|
||||
<a href="https://dev.to/{{.}}"><i class="fa fa-terminal" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.angellist}}
|
||||
<a href="https://angel.co/{{.}}"><i class="fa fa-angellist" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.email }}
|
||||
<a href="mailto:{{.}}"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
{{ with .Site.Params.social.xing }}
|
||||
<a href="https://www.xing.com/profile/{{.}}"><i class="fa fa-xing" aria-hidden="true"></i></a>
|
||||
{{ end }}
|
||||
</section>
|
||||
@@ -0,0 +1,9 @@
|
||||
<footer class="row text-center footer">
|
||||
<hr />
|
||||
{{ with .Site.Params.extra }}
|
||||
<h6 class="text-center copyright">{{ .copyright | markdownify }}</h6>
|
||||
{{ if ne .poweredby false }}
|
||||
<h6 class="text-center powered">Powered by <a href="https://gohugo.io/">Hugo</a> & <a href="https://github.com/shenoybr/hugo-goa">Goa</a>.</h6>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</footer>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#ffc40d</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
@@ -0,0 +1,257 @@
|
||||
@-ms-viewport
|
||||
{
|
||||
width: device-width;
|
||||
}
|
||||
@-o-viewport
|
||||
{
|
||||
width: device-width;
|
||||
}
|
||||
@viewport
|
||||
{
|
||||
width: device-width;
|
||||
}
|
||||
a,
|
||||
a:hover,
|
||||
a:visited,
|
||||
a:link
|
||||
{
|
||||
text-decoration: none;
|
||||
|
||||
color: #526d7a;
|
||||
}
|
||||
body
|
||||
{
|
||||
font-family: 'Roboto Slab', 'Roboto', 'Lato', sans-serif;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
|
||||
width: auto;
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
html
|
||||
{
|
||||
position: relative;
|
||||
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
.author
|
||||
{
|
||||
color: #444;
|
||||
}
|
||||
.author h1,
|
||||
.author h2,
|
||||
.author h3,
|
||||
.author h4,
|
||||
.author h5,
|
||||
.author h6,
|
||||
.author p
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
}
|
||||
.category
|
||||
{
|
||||
color: #966 !important;
|
||||
}
|
||||
.container
|
||||
{
|
||||
overflow: auto;
|
||||
|
||||
max-width: 680px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.content
|
||||
{
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
div.content
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 18px;
|
||||
font-weight: 300;
|
||||
|
||||
color: #777;
|
||||
}
|
||||
.copyright
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
}
|
||||
.description
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 200;
|
||||
color: #bbb;
|
||||
}
|
||||
.error
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
|
||||
margin-top: 100px;
|
||||
}
|
||||
.error h1
|
||||
{
|
||||
font-size: 80px;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
.error p
|
||||
{
|
||||
margin-top: 150px;
|
||||
|
||||
color: #777;
|
||||
}
|
||||
.excerpt
|
||||
{
|
||||
font-family: 'Lato', sans-serif;
|
||||
font-size: 18px;
|
||||
font-weight: 200;
|
||||
|
||||
color: #555;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.footer
|
||||
{
|
||||
margin-top: 10px;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
.header
|
||||
{
|
||||
margin-top: 60px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.headshot
|
||||
{
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
.info
|
||||
{
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.intro
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
font-weight: 200;
|
||||
color: #777;
|
||||
}
|
||||
h3.intro
|
||||
{
|
||||
margin-top: 0px
|
||||
}
|
||||
.list
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
|
||||
margin-top: 50px;
|
||||
}
|
||||
.list li
|
||||
{
|
||||
list-style: none;
|
||||
}
|
||||
.list-entry
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
font-size: 25px;
|
||||
font-weight: 400;
|
||||
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.list-entry-link
|
||||
{
|
||||
padding: 0;
|
||||
}
|
||||
.main-menu
|
||||
{
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.menu
|
||||
{
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.menu-item
|
||||
{
|
||||
font-family: 'Lato', sans-serif;
|
||||
font-size: 20px;
|
||||
font-weight: 300;
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
color: #966 !important;
|
||||
}
|
||||
.meta
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
a.meta
|
||||
{
|
||||
color: #966;
|
||||
}
|
||||
h6.meta
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
|
||||
color: #bbb;
|
||||
}
|
||||
section.meta {
|
||||
margin-top:
|
||||
}
|
||||
.powered
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 300;
|
||||
}
|
||||
.social {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.social,
|
||||
.social a
|
||||
{
|
||||
color: #526d7a;
|
||||
}
|
||||
.title
|
||||
{
|
||||
font-family: 'Roboto Slab', serif;
|
||||
font-weight: 400;
|
||||
|
||||
color: #555;
|
||||
}
|
||||
header.title
|
||||
{
|
||||
margin-top: 50px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
@media (max-width: 991px)
|
||||
{
|
||||
.header
|
||||
{
|
||||
margin-top: 50px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.list
|
||||
{
|
||||
font-family: 'Roboto', sans-serif;
|
||||
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 269 B |
|
After Width: | Height: | Size: 436 B |
@@ -0,0 +1,11 @@
|
||||
// Copyright 2014-2015 Twitter, Inc.
|
||||
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
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)
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "hugo-goa",
|
||||
"icons": [
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="152.000000pt" height="152.000000pt" viewBox="0 0 152.000000 152.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,152.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M719 1506 c-177 -61 -281 -271 -231 -465 14 -57 55 -145 71 -155 5
|
||||
-3 12 -27 16 -53 3 -27 9 -62 11 -79 6 -36 -58 -232 -90 -279 -25 -37 -62 -72
|
||||
-98 -91 -25 -13 -28 -12 -47 12 -12 15 -21 32 -22 38 0 6 -2 20 -5 31 -2 11
|
||||
-5 32 -6 47 -2 29 -13 27 -42 -9 -10 -13 -23 -22 -30 -20 -14 5 -35 -22 -36
|
||||
-48 -1 -19 -2 -19 -9 -1 -7 18 -9 17 -35 -10 -97 -103 -111 -239 -31 -314 26
|
||||
-24 149 -70 175 -65 94 20 146 37 173 57 18 13 44 30 59 37 15 8 35 30 44 50
|
||||
9 20 23 39 30 44 7 4 25 30 40 57 14 27 32 51 40 54 13 5 14 11 -30 -143 -22
|
||||
-74 -21 -134 2 -154 20 -18 84 -47 105 -47 7 0 21 6 31 13 16 12 19 31 22 123
|
||||
5 170 6 175 42 189 30 13 31 13 46 -26 9 -22 16 -48 16 -58 0 -21 67 -128 98
|
||||
-155 38 -33 130 -73 159 -69 16 2 49 4 74 3 37 0 51 5 79 30 18 16 36 30 40
|
||||
30 3 0 13 12 22 28 22 37 17 116 -10 167 -18 34 -23 34 -22 0 1 -10 -33 -69
|
||||
-46 -82 -18 -19 -52 -16 -80 6 l-25 20 36 17 c19 9 42 28 51 43 9 15 32 36 52
|
||||
46 74 40 89 123 39 222 l-24 46 -7 -39 c-8 -43 -31 -84 -46 -84 -6 0 -10 7
|
||||
-10 15 0 24 -16 17 -17 -7 -3 -30 -27 -46 -64 -42 -74 9 -129 56 -182 155 -22
|
||||
42 -24 55 -20 150 4 112 5 129 15 144 62 103 82 176 75 281 -10 145 -82 266
|
||||
-191 319 -64 31 -152 40 -207 21z m167 -1062 c2 -16 6 -39 9 -51 7 -29 -13
|
||||
-40 -20 -11 -9 36 -13 82 -8 91 7 12 13 3 19 -29z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,12 @@
|
||||
name = "Goa"
|
||||
license = "MIT"
|
||||
licenselink = "https://github.com/shenoybr/hugo-goa/blob/master/LICENSE.md"
|
||||
description = "Simple Minimalist Hugo Theme"
|
||||
homepage = "https://github.com/shenoybr/hugo-goa"
|
||||
tags = ["Roboto", "Lato", "Roboto Slab", "bootstrap", "font awesome", "minimal", "clean"]
|
||||
features = ["blog", "pages", "minimal", "responsive", "404", "icons", "disqus", "anlaytics"]
|
||||
min_version = 0.16
|
||||
|
||||
[author]
|
||||
name = "Rajesh Shenoy"
|
||||
homepage = "https://github.com/shenoybr"
|
||||