push
@ -1,20 +0,0 @@
|
|||||||
# All available Hugo versions are listed here: https://gitlab.com/pages/hugo/container_registry
|
|
||||||
image: registry.gitlab.com/pages/hugo:latest
|
|
||||||
|
|
||||||
variables:
|
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
|
||||||
|
|
||||||
test:
|
|
||||||
script:
|
|
||||||
- hugo
|
|
||||||
except:
|
|
||||||
- master
|
|
||||||
|
|
||||||
pages:
|
|
||||||
script:
|
|
||||||
- hugo
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
only:
|
|
||||||
- master
|
|
88
config.toml
@ -1,5 +1,5 @@
|
|||||||
# Configuration de l'adresse, titre (onglet) et des chemins vers les contenus
|
# Configuration de l'adresse, titre (onglet) et des chemins vers les contenus
|
||||||
baseurl = "https://greglebreton.gitlab.io/hugo-site/"
|
baseurl = "https://greglebreton.gitlab.io"
|
||||||
contentdir = "content"
|
contentdir = "content"
|
||||||
layoutdir = "layouts"
|
layoutdir = "layouts"
|
||||||
publishdir = "public"
|
publishdir = "public"
|
||||||
@ -9,7 +9,6 @@ canonifyurls = true
|
|||||||
# Configuration du language et thème
|
# Configuration du language et thème
|
||||||
DefaultContentLanguage = "fr"
|
DefaultContentLanguage = "fr"
|
||||||
theme = "beautifulhugo"
|
theme = "beautifulhugo"
|
||||||
#theme = "Lanyon"
|
|
||||||
metaDataFormat = "yaml"
|
metaDataFormat = "yaml"
|
||||||
pygmentsUseClasses = true
|
pygmentsUseClasses = true
|
||||||
pygmentCodeFences = true
|
pygmentCodeFences = true
|
||||||
@ -19,14 +18,14 @@ pygmentCodeFences = true
|
|||||||
|
|
||||||
# ACCUEIL
|
# ACCUEIL
|
||||||
[Params]
|
[Params]
|
||||||
subtitle = "Portfolio made in HUGO !"
|
subtitle = "Portfolio"
|
||||||
logo = "img/logo2.png"
|
since = 2022
|
||||||
favicon = "img/favicon.ico"
|
logo = "images/logo.png"
|
||||||
|
favicon = "images/logo.png"
|
||||||
dateFormat = "January 2, 2006"
|
dateFormat = "January 2, 2006"
|
||||||
commit = false
|
commit = false
|
||||||
rss = false
|
rss = false
|
||||||
comments = true
|
comments = true
|
||||||
# gcse = "012345678901234567890:abcdefghijk" # Get your code from google.com/cse. Make sure to go to "Look and Feel" and change Layout to "Full Width" and Theme to "Classic"
|
|
||||||
|
|
||||||
#[[Params.bigimg]]
|
#[[Params.bigimg]]
|
||||||
# src = "img/triangle.jpg"
|
# src = "img/triangle.jpg"
|
||||||
@ -42,17 +41,18 @@ pygmentCodeFences = true
|
|||||||
# ICONES RESEAUX SOCIAUX
|
# ICONES RESEAUX SOCIAUX
|
||||||
[Author]
|
[Author]
|
||||||
name = "Greg Lebreton"
|
name = "Greg Lebreton"
|
||||||
email = "greg.lebreton@hotmail.com"
|
email = "contact@gregandev.fr"
|
||||||
gitlab = "GregLebreton"
|
gitlab = "GregLebreton"
|
||||||
github = "GregLebreton"
|
github = "GregLebreton"
|
||||||
twitter = "Gregan"
|
linkedin = "grégory-lebreton-996b261bb"
|
||||||
reddit = "username"
|
itchio = "gregan"
|
||||||
linkedin = "<greg<lebreton"
|
|
||||||
stackoverflow = "users/XXXXXXX/username"
|
#twitter = "Gregan"
|
||||||
instagram = "username"
|
#reddit = "username"
|
||||||
youtube = "user/username" # or channel/channelname
|
#stackoverflow = "users/XXXXXXX/username"
|
||||||
spotify = "username"
|
#instagram = "username"
|
||||||
itchio = "username"
|
#youtube = "user/username" # or channel/channelname
|
||||||
|
#spotify = "username"
|
||||||
#keybase = "username"
|
#keybase = "username"
|
||||||
#xing = "username"
|
#xing = "username"
|
||||||
#bandcamp = "username"
|
#bandcamp = "username"
|
||||||
@ -65,38 +65,64 @@ pygmentCodeFences = true
|
|||||||
##### MENU #####
|
##### MENU #####
|
||||||
|
|
||||||
|
|
||||||
[[menu.main]]
|
# Accueil
|
||||||
name = "Post"
|
[[menu.main]]
|
||||||
url = "post/"
|
name = "Accueil"
|
||||||
|
url = "./"
|
||||||
weight = 1
|
weight = 1
|
||||||
|
|
||||||
# About
|
# A propos
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "A propos"
|
name = "A propos"
|
||||||
url = "page/about"
|
url = "page/about"
|
||||||
weight = 2
|
weight = 2
|
||||||
|
|
||||||
# Tags
|
# liens
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "Tags"
|
name = "Liens"
|
||||||
url = "tags"
|
url = "page/liens"
|
||||||
weight = 3
|
weight = 3
|
||||||
|
|
||||||
|
# liens
|
||||||
|
[[menu.main]]
|
||||||
|
name = "CV"
|
||||||
|
url = "https://greglebreton.gitlab.io/cv/"
|
||||||
|
weight = 4
|
||||||
|
|
||||||
# sous menu PROJETS
|
# sous menu PROJETS
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
parent = "Projets"
|
parent = "Projets"
|
||||||
name = "Projet 1"
|
name = "LA 2029"
|
||||||
url = "projets/projet1"
|
url = "projets/la-2029"
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
parent = "Projets"
|
||||||
|
name = "GoldeneyeVR"
|
||||||
|
url = "projets/goldeneyevr"
|
||||||
|
weight = 2
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
parent = "Projets"
|
||||||
|
name = "Akira VR"
|
||||||
|
url = "projets/akiravr"
|
||||||
|
weight = 3
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
parent = "Projets"
|
||||||
|
name = "RetroArcade Game"
|
||||||
|
url = "projets/retroarcade"
|
||||||
weight = 4
|
weight = 4
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
parent = "Projets"
|
parent = "Projets"
|
||||||
name = "Projet 2"
|
name = "Le Garage Numérique"
|
||||||
url = "projets/projet2"
|
url = "page/garagenum"
|
||||||
|
weight = 5
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
parent = "Projets"
|
parent = "Projets"
|
||||||
name = "Projet 3"
|
name = "Le CNAM"
|
||||||
url = "projets/projet3"
|
url = "page/cnam"
|
||||||
|
weight = 6
|
||||||
|
|
||||||
|
@ -1,20 +1,36 @@
|
|||||||
## Contenu de la page d'accueil
|
---
|
||||||
|
title: Accueil
|
||||||
|
tags: ["ACCUEIL"]
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
<!-- Ajout image -->
|
### INTRODUCTION
|
||||||

|
|
||||||
|
|
||||||
<!-- Ajout vidéo youtube -->
|
Bienvenue sur Mon site !
|
||||||
{{< youtube bdQCxm1YOwY >}}
|
Développeur passionné par les technologies de l'information et de communication, autodidacte de formation, j'aime le partage de connaissances par l'intermédiaire de tous vecteur possible.
|
||||||
|
|
||||||
### Explication de config
|
Vous trouverez dans PROJETS tous ce qui concerne mes créations numériques,
|
||||||
This website is powered by [GitLab Pages](https://about.gitlab.com/features/pages/)
|
dans LIENS, divers liens vers des sujets qui m'interessent.
|
||||||
/ [Hugo](https://gohugo.io) and can be built in under 1 minute.
|
Et enfin dans CONTACT, un petit résumé de mes diverses compétences numériques.
|
||||||
Literally. It uses the `beautifulhugo` theme which supports content on your front page.
|
|
||||||
Edit `/content/_index.md` to change what appears here. Delete `/content/_index.md`
|
|
||||||
if you don't want any content here.
|
|
||||||
|
|
||||||
Head over to the [GitLab project](https://gitlab.com/pages/hugo) to get started.
|
### LES PROJETS
|
||||||
|
|
||||||
Bienvenu sinon :)
|
Voici les projets sur lesquels je travaille actuellement:
|
||||||
|
|
||||||
et vive le CI/CD !!!
|
[]({{< relref "projets/LA-2029.md" >}})
|
||||||
|
|
||||||
|
[]({{< relref "projets/GoldeneyeVR.md" >}})
|
||||||
|
|
||||||
|
[]({{< relref "projets/akiravr.md" >}})
|
||||||
|
|
||||||
|
[]({{< relref "projets/RetroArcade.md" >}})
|
||||||
|
|
||||||
|
<!-- (https://www.gregandev.fr/docs/jeux/Akira/NeoTokyoVR.rar) -->
|
||||||
|
|
||||||
|
### LE GARAGE NUMERIQUE
|
||||||
|
|
||||||
|
[]({{< relref "page/garagenum.md" >}})
|
||||||
|
|
||||||
|
### LE CNAM
|
||||||
|
|
||||||
|
[]({{< relref "page/cnam.md" >}})
|
@ -1,43 +1,64 @@
|
|||||||
---
|
---
|
||||||
title: Un titre
|
title: A PROPOS
|
||||||
subtitle: Un sous titre
|
subtitle:
|
||||||
comments: false
|
comments: false
|
||||||
---
|
---
|
||||||
|
|
||||||
## Exemple de texte
|
## MES PASSIONS
|
||||||
|
-----------
|
||||||
|
|
||||||
Mon nom est Greg Lebreton, et voici mes compétences:
|
#### SKATEBOARD
|
||||||
|
|
||||||
- Devops
|

|
||||||
- C#
|
|
||||||
- PHP
|
|
||||||
- Java
|
|
||||||
- Python
|
|
||||||
- Bash
|
|
||||||
- Docker
|
|
||||||
- Ansible
|
|
||||||
- Jenkins
|
|
||||||
- Kubernetes
|
|
||||||
- ...
|
|
||||||
|
|
||||||
Et bien plus encore.
|
#### VR GAMES
|
||||||
|
|
||||||
du code:
|

|
||||||
```
|
|
||||||
cd /etc/
|
|
||||||
```
|
|
||||||
|
|
||||||
## Des exemples d'ajouts de contenu :
|
## MA FORMATION
|
||||||
|
-----------
|
||||||
|
|
||||||
### lien
|
#### CONCEPTEUR DEVELOPPEUR APPLICATION JAVA
|
||||||
Juste le meilleure film : [mon lien](https://www.youtube.com/watch?v=W8sop56DBUs)
|
|
||||||
|
|
||||||
### image
|
La formation de concepteur développeur informatique était orientée Java et web, avec le développement d'applications gérant aussi bien le Frontend que le Backend avec un affichage fenêtré géré par Swing ou un affichage par Jsp.
|
||||||

|
|
||||||
|
|
||||||
### video youtube
|
J'ai pu aborder également la persistence a travers JPA mais aussi de manière traditionnelle avec le SQL et les bases de données (relationnelles).
|
||||||
{{< youtube ZSWzPI4BqvA >}}
|
J'ai alors développer des applications pour des librairie ou de restaurants connectés.
|
||||||
|
|
||||||
### texte
|
En conception, j'ai été formé à la méthode Merise ainsi que l'UML pour la modélisation, puis plus tard la méthode agile avec le développement SCRUM.
|
||||||
|
|
||||||
juste blabla, et bla !
|

|
||||||
|
|
||||||
|
#### DEV WEB PHP LEADING FROG
|
||||||
|
|
||||||
|
J'ai eu la chance de pouvoir développer un module en PHP pour une application liscenciée par Leading Frog.
|
||||||
|
|
||||||
|
L'application est déployée sur des totems dans les hôtels touristiques de Disneyland et offrent
|
||||||
|
différents modules comme la consultation d'horaires des transports (avions, bus, état du traffic routier), etc...
|
||||||
|
|
||||||
|
Mon module propose de choisir parmis des photos selectionnées par l'établissement pour les envoyer via un service payant (stripe) sous forme de carte postale.
|
||||||
|
|
||||||
|
Une fois le paiement éffectué, une notification est envoyée à Leading Frog proposant d'imprimer la carte postale avec le visuel précédement choisie et l'adresse de destination déjà saisie.
|
||||||
|
|
||||||
|
[](https://news.leadingfrog.com/)
|
||||||
|
|
||||||
|
#### DEVOPS
|
||||||
|
|
||||||
|
uis j'ai suivie une formation DEVOPS
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## MON TRAVAIL
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- GARAGE
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Je suis actuellement employé au Garage Numérique en tant que formateur Devops, avec également les casquettes d'administrateur systèmes, développeur et intégrateur.
|
||||||
|
|
||||||
|
C'est dans cet incubateur de talents que j'ai développer une application web de quiz en python via le framework Django, implémenter l'identification centralisée avec le logiciel Keycloak sur tous les services de l'association (Nextcloud, Kanboard, Element, Workadventure, Portainer, Jenkins), ainsi que tout un système de PRA avec sauvegardes régulières et redéploiement automatiser via des outils Devops tels que Ansible.
|
||||||
|
|
||||||
|
- CNAM
|
||||||
|
|
||||||
|

|
||||||
|
15
content/page/cnam.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
title: LE CNAM
|
||||||
|
subtitle: conservatoire national des arts et métiers
|
||||||
|
comments: false
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Dans le cadre d'un partenariat entre le Garage Numérique et le CNAM, j'anime les cours de spécialité DEVOPS technicien d'exploitation.
|
||||||
|
|
||||||
|
Cela me permet de former les jeunes à l'informatique de demain dans une branche offrant tant de métiers différents qu'il est souvent difficile de s'orienter pour un étudiant.
|
||||||
|
|
||||||
|
Pour connaître le contenu de la formation, cliquez sur le logo ci-dessous:
|
||||||
|
|
||||||
|
[](https://formation.cnam.fr/rechercher-par-discipline/technicien-dev-ops-1176364.kjsp)
|
5
content/page/garagenum.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: GarageNum
|
||||||
|
subtitle:
|
||||||
|
comments: false
|
||||||
|
---
|
6
content/page/liens.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: LIENS
|
||||||
|
subtitle:
|
||||||
|
comments: false
|
||||||
|
---
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
title: Test 1 Streets of rage !
|
|
||||||
date: 2021-05-02
|
|
||||||
tags: ["Street of rage", "hugo"]
|
|
||||||
---
|
|
||||||
|
|
||||||
Test de post tout simple avec du contenu :
|
|
||||||
|
|
||||||
{{< youtube ZSWzPI4BqvA >}}
|
|
||||||
|
|
||||||

|
|
@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
title: test pleins de photos !
|
|
||||||
date: 2021-05-02
|
|
||||||
tags: ["photos", "test"]
|
|
||||||
---
|
|
||||||
|
|
||||||
légende 1
|
|
||||||

|
|
||||||
commentaire ...
|
|
||||||
|
|
||||||
légende 2
|
|
||||||

|
|
||||||
|
|
||||||
légende 3
|
|
||||||

|
|
||||||
|
|
||||||
l"gende 4
|
|
||||||

|
|
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
title: Test post deux!
|
|
||||||
date: 2021-05-01
|
|
||||||
tags: ["atari"]
|
|
||||||
---
|
|
||||||
|
|
||||||
Bla BLa Bla, la nouvelle console Atari !
|
|
||||||
|
|
||||||
<!--  -->
|
|
||||||
|
|
||||||
{{< youtube LStkGeUmR_0 >}}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
title: Test post troisième!
|
|
||||||
date: 2021-05-02
|
|
||||||
tags: ["windows", "post"]
|
|
||||||
---
|
|
||||||
|
|
||||||
Test du troisième post :
|
|
||||||
|
|
||||||
{{< youtube HrPRtYvCvZI >}}
|
|
78
content/projets/LA-2029.md
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
---
|
||||||
|
title: LA 2029
|
||||||
|
subtitle:
|
||||||
|
comments: false
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### LE PRINCIPE
|
||||||
|
|
||||||
|
C'est un FPS en VR pour la plateforme Oculus Quest où l'on tire sur des terminators se présentant.
|
||||||
|
|
||||||
|
La recharge se fait de manière manuelle avec le magasin vide à éjecter avant de se munir du nouveau magasin à sa ceinture pour<br>
|
||||||
|
l'ammener à l'arme, ce qui recharge celle-ci.<br>
|
||||||
|
Le but est de rejoindre l'église en tuant un maximum de Terminators et en restant en vie : simple et éfficace!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### LE POURQUOI
|
||||||
|
|
||||||
|
Je voulais tester de créer les scripts de mécanique de recharge manuelle de l'arme :<br>
|
||||||
|
une fois le magasin vide enlevé, on prends celui situé à gauche sur la "ceinture" et finalement celui-ci mis en place, l'arme se recharge.
|
||||||
|
|
||||||
|
L'aspect "limitation technique" vu le support mobile Quest est aussi ce qui m'a motivé pour ce projet.
|
||||||
|
|
||||||
|
Suite à la sortie du jeu Terminator Resistance, j'ai vraiment accroché avec l'ambiance que les
|
||||||
|
devs ont réussis à créer et étant un fan des films, je me suis lançé.<br>
|
||||||
|
C'est une version simple avec des assets téléchargées sur Sketchfab, le tout codé en une semaine.
|
||||||
|
|
||||||
|
### LE COMMENT
|
||||||
|
|
||||||
|
#### les textures
|
||||||
|
|
||||||
|
#### gestion des objets affichés
|
||||||
|
|
||||||
|
### V 2.00
|
||||||
|
|
||||||
|
Suite aux critiques positive sur SideQuest, j'ai décidé de pousser un peu plus loin la complexité des mécanismes en scriptant un objectif:
|
||||||
|
détruire un batiment pour libérer le passage vers la fin du niveau.
|
||||||
|
Pour se faire, le joueur doit se munir d'une bombe à sa ceinture pour la déposer à un endroit spécifique qui déclenchera un compte à rebours,<br>
|
||||||
|
puis l'explosion du batiment qui libèrera enfin l'accès vers la fin du niveau.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### VIDEOS TEST
|
||||||
|
|
||||||
|
Pour la suite du projet, j'ai décidé pour des raisons d'accéssibilité de passer sur openXR.
|
||||||
|
Le Quest faisant partie de l'écosystème Oculus soit Facebook, ce support est voué à être fermé moyennant un compte Facebook... inadmissible pour ma part, donc je fuis!
|
||||||
|
|
||||||
|
En attendant le portage qui apportera des améliorations graphiques et au niveau du gameplay, voici quelques reviews d'internautes ayant fait l'expérience LA 2029 en VR:
|
||||||
|
|
||||||
|
{{< youtube 8Jfupw6VqgU >}}
|
||||||
|
|
||||||
|
La version 2.00 avec le deuxième level est disponible juste en dessous en téléchargement direct
|
||||||
|
|
||||||
|
### ROAD MAP
|
||||||
|
|
||||||
|
Pour la suite du projet, on passe sur PC, on oublie Oculus et on plonge dans l'open source avec openXR pour le côté VR.
|
||||||
|
|
||||||
|
Par la même occassion, on bascule sur la dernière version d'Unity (2021.3.15), on corrige les petits bugs et on repasse les textures en standard (et non flat mobile!).
|
||||||
|
|
||||||
|
Reste à peupler un peu plus la map maintenant que l'on ai plus limité par un chipset mobile et on se lançe vers un niveau 3!
|
||||||
|
|
||||||
|
V 3.00 on the way!
|
||||||
|
|
||||||
|
### TÉLÉCHARGER
|
||||||
|
|
||||||
|
Télécharger la version 2.00 pour Oculus Quest (compatible Quest 2):
|
||||||
|
>(Oculus Quest nécessaire ainsi que SideQuest pour l'installation)
|
||||||
|
|
||||||
|
[STORE SIDEQUEST](https://sdq.st/a/366)
|
||||||
|
|
||||||
|
[TELECHARGER DE GREGANDEV](../../docs/TerminatorQuest/TerminatorQuest_v2.00.apk)
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: projet 3
|
title: Retro Arcade Game
|
||||||
tags: ["projet3", "projet"]
|
tags: ["retro", "projet", "projet"]
|
||||||
---
|
---
|
||||||
|
|
||||||
le projet 3 est un projet de code
|
le projet 3 est un projet de code
|
5
content/projets/akiravr.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: AKIRA VR
|
||||||
|
subtitle: Jeux VR dev sous Unity
|
||||||
|
comments: false
|
||||||
|
---
|
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
title: projet 2
|
|
||||||
tags: ["projet2", "projet"]
|
|
||||||
---
|
|
||||||
|
|
||||||
le projet 2 est un tout nouveau projet ...
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
et bla !
|
|
||||||
|
|
||||||

|
|
@ -0,0 +1 @@
|
|||||||
|
{"Target":"css/main.min.css","MediaType":"text/css","Data":{}}
|
@ -0,0 +1 @@
|
|||||||
|
{"Target":"css/style.css","MediaType":"text/css","Data":{}}
|
Before Width: | Height: | Size: 15 KiB |
BIN
static/images/dos.gif
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
static/images/formation/Afpa12.jpg
Executable file
After Width: | Height: | Size: 334 KiB |
BIN
static/images/formation/Devops.png
Executable file
After Width: | Height: | Size: 161 KiB |
BIN
static/images/formation/Jenkins.png
Executable file
After Width: | Height: | Size: 42 KiB |
BIN
static/images/formation/LG.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
static/images/formation/afpa.jpg
Executable file
After Width: | Height: | Size: 18 KiB |
BIN
static/images/formation/cnam.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
static/images/formation/cnam2.png
Normal file
After Width: | Height: | Size: 723 KiB |
BIN
static/images/formation/garagenum.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
static/images/jeux/AkiraCover.JPG
Executable file
After Width: | Height: | Size: 125 KiB |
BIN
static/images/jeux/Android.png
Executable file
After Width: | Height: | Size: 42 KiB |
BIN
static/images/jeux/CaptureGEVR1.PNG
Executable file
After Width: | Height: | Size: 1.1 MiB |
BIN
static/images/jeux/CaptureGEVR2.PNG
Executable file
After Width: | Height: | Size: 1.2 MiB |
BIN
static/images/jeux/CaptureGEVR3.PNG
Executable file
After Width: | Height: | Size: 1.7 MiB |
BIN
static/images/jeux/CaptureGEVR4.JPG
Executable file
After Width: | Height: | Size: 44 KiB |
BIN
static/images/jeux/CaptureGEVR5.JPG
Executable file
After Width: | Height: | Size: 45 KiB |
BIN
static/images/jeux/CaptureGEVR6.JPG
Executable file
After Width: | Height: | Size: 45 KiB |
BIN
static/images/jeux/CapturePreviewStreetofrageLevel.PNG
Executable file
After Width: | Height: | Size: 1.1 MiB |
BIN
static/images/jeux/CaptureSonicLevel.PNG
Executable file
After Width: | Height: | Size: 918 KiB |
BIN
static/images/jeux/CaptureTent.JPG
Executable file
After Width: | Height: | Size: 58 KiB |
BIN
static/images/jeux/CaptureTerminatorQuest0.jpg
Executable file
After Width: | Height: | Size: 306 KiB |
BIN
static/images/jeux/CaptureTerminatorQuest00.png
Executable file
After Width: | Height: | Size: 510 KiB |
BIN
static/images/jeux/CaptureTerminatorQuest1.png
Executable file
After Width: | Height: | Size: 227 KiB |
BIN
static/images/jeux/CaptureTerminatorQuest2.png
Executable file
After Width: | Height: | Size: 525 KiB |
BIN
static/images/jeux/CaptureTerminatorQuest3.png
Executable file
After Width: | Height: | Size: 239 KiB |
BIN
static/images/jeux/ElyseeCover.JPG
Executable file
After Width: | Height: | Size: 122 KiB |
BIN
static/images/jeux/Emulation.jpg
Executable file
After Width: | Height: | Size: 31 KiB |
BIN
static/images/jeux/GEVRCover.jpg
Executable file
After Width: | Height: | Size: 176 KiB |
BIN
static/images/jeux/GEVRCover2.jpg
Executable file
After Width: | Height: | Size: 184 KiB |
BIN
static/images/jeux/GEVRMail.png
Executable file
After Width: | Height: | Size: 16 KiB |
BIN
static/images/jeux/Oculus.png
Executable file
After Width: | Height: | Size: 706 KiB |
BIN
static/images/jeux/Photogrammetrie.jpg
Executable file
After Width: | Height: | Size: 115 KiB |
BIN
static/images/jeux/R2D2.png
Executable file
After Width: | Height: | Size: 318 KiB |
BIN
static/images/jeux/Zbrush1.jpg
Executable file
After Width: | Height: | Size: 276 KiB |
BIN
static/images/jeux/Zbrush7.JPG
Executable file
After Width: | Height: | Size: 151 KiB |
BIN
static/images/jeux/bladerunner.jpg
Executable file
After Width: | Height: | Size: 599 KiB |
BIN
static/images/jeux/cdc.jpg
Executable file
After Width: | Height: | Size: 50 KiB |
BIN
static/images/jeux/codecastle.jpg
Executable file
After Width: | Height: | Size: 100 KiB |
BIN
static/images/jeux/cover.jpg
Executable file
After Width: | Height: | Size: 315 KiB |
BIN
static/images/jeux/faceGenHollande.JPG
Executable file
After Width: | Height: | Size: 18 KiB |
BIN
static/images/jeux/facegen.JPG
Executable file
After Width: | Height: | Size: 116 KiB |
BIN
static/images/jeux/jeuxElysee.jpg
Executable file
After Width: | Height: | Size: 744 KiB |
BIN
static/images/jeux/projetunity.jpg
Executable file
After Width: | Height: | Size: 632 KiB |
BIN
static/images/jeux/retroarch.png
Executable file
After Width: | Height: | Size: 1.0 MiB |
BIN
static/images/jeux/webgl.png
Executable file
After Width: | Height: | Size: 77 KiB |
BIN
static/images/liens/Mozinor.png
Executable file
After Width: | Height: | Size: 483 KiB |
BIN
static/images/liens/logobr.png
Executable file
After Width: | Height: | Size: 20 KiB |
BIN
static/images/logo.png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 9.4 KiB |
@ -1,81 +0,0 @@
|
|||||||
<!-- This file is the homepage of the website. -->
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
This section just sets up some metadata for the website.
|
|
||||||
|
|
||||||
It probably does not need to be changed.
|
|
||||||
-->
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<base href="{{ .Site.BaseURL }}">
|
|
||||||
<title>{{ .Site.Title }}</title>
|
|
||||||
<link rel="canonical" href="{{ .Permalink }}">
|
|
||||||
<!-- link href="{{ .RSSlink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" /-->
|
|
||||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
|
|
||||||
|
|
||||||
{{ partial "head_includes.html" . }}
|
|
||||||
</head>
|
|
||||||
<body class="theme-base-08" lang="en">
|
|
||||||
|
|
||||||
{{ partial "sidebar.html" . }}
|
|
||||||
|
|
||||||
<!-- See /layouts/indexes/category.html for explanation of this section
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="masthead">
|
|
||||||
<div class="container">
|
|
||||||
<h3 class="masthead-title">
|
|
||||||
<a href="/" title="Home">Home</a>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This section contains the content of our home page.
|
|
||||||
|
|
||||||
I have broken it into three main sections:
|
|
||||||
(1) about the blog
|
|
||||||
(2) about me
|
|
||||||
(3) Recent posts
|
|
||||||
|
|
||||||
The first two sections are pretty self explanatory.
|
|
||||||
|
|
||||||
In the recent posts section we ask Hugo to use the template found in
|
|
||||||
/layouts/posts/summary.html to show a summary of the 10 most recent
|
|
||||||
posts we have made.
|
|
||||||
-->
|
|
||||||
<div class="container content">
|
|
||||||
<h1>This is a Blog made by Hugo</h1>
|
|
||||||
|
|
||||||
<p class="lead"> Welcome to my blog! </p>
|
|
||||||
|
|
||||||
<p>This is really just a bare-bone website to stand as a template for
|
|
||||||
creating a blog that is statically generated by <a href="https://gohugo.io">Hugo</a>
|
|
||||||
and hosted on GitLab via <a href="https://pages.gitlab.io">GitLab Pages</a>.</p>
|
|
||||||
|
|
||||||
<p>It's using a slightly modified version of the <a href="http://lanyon.getpoole.com">Lanyon</a>
|
|
||||||
Jekyll theme.</p>
|
|
||||||
|
|
||||||
<!-- About me subsection -->
|
|
||||||
<h2>About me</h2>
|
|
||||||
|
|
||||||
<p>Sometimes people have an "About me" section on the homepage of their website.</p>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Recent Posts section -->
|
|
||||||
<h1 class="post-title">Recent Posts</h1>
|
|
||||||
<section id="main">
|
|
||||||
<ul id="list">
|
|
||||||
{{ range first 10 .Data.Pages }}
|
|
||||||
{{ .Render "summary"}}
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
|
||||||
|
|
||||||
{{ partial "footer.html" . }}
|
|
@ -1,56 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file is used to render a list of all posts that belong to a specific
|
|
||||||
category.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
{{ partial "header.html" . }}
|
|
||||||
|
|
||||||
<body class="theme-base-08">
|
|
||||||
{{ partial "sidebar.html" . }}
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Taken from Lanyon example site.
|
|
||||||
|
|
||||||
Putting everything in the wrap div makes the whole page slide over when the
|
|
||||||
navigation button is pressed.
|
|
||||||
|
|
||||||
The masthead is a special Lanyon class that is above the horizontal line at
|
|
||||||
the top of each page. To me it seemed like a place to put the page title.
|
|
||||||
|
|
||||||
We want the title to be Blog Posts and we want it to be a link to the
|
|
||||||
root of the /posts section of the site.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="masthead">
|
|
||||||
<div class="container">
|
|
||||||
<h3 class="masthead-title">
|
|
||||||
<a href="/posts" title="Blog">Blog Posts</a>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Show summary of all posts in a category -->
|
|
||||||
<div class="container content">
|
|
||||||
<h1 class="post-title">Recent Posts</h1>
|
|
||||||
<section id="main">
|
|
||||||
<div>
|
|
||||||
<h5><a href="/categories">Full Category Index</a></h5>
|
|
||||||
<h2>Posts in “{{ .Title }}”</h2>
|
|
||||||
{{ range .Data.Pages }}
|
|
||||||
{{ .Render "summary"}}
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
|
||||||
|
|
||||||
<!-- Include footer (ends <body> and <html>) -->
|
|
||||||
{{ partial "footer.html" }}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file is used to generate the root file of a Hugo index.
|
|
||||||
In our case this is only the index for categories, so it will render the
|
|
||||||
page baseurl/categories
|
|
||||||
-->
|
|
||||||
|
|
||||||
{{ partial "header.html" . }}
|
|
||||||
|
|
||||||
<body class="theme-base-08">
|
|
||||||
{{ partial "sidebar.html" . }}
|
|
||||||
|
|
||||||
<!-- See /layouts/indexes/category.html for explanation of this section -->
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="masthead">
|
|
||||||
<div class="container">
|
|
||||||
<h3 class="masthead-title">
|
|
||||||
<a href="/posts" title="Blog">Blog Posts</a>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
In this section we instruct Hugo to list all the different items in the
|
|
||||||
index. Because we only have an index for categories, each item will be
|
|
||||||
a category name. The name is a link to a page that displays all posts in
|
|
||||||
that category.
|
|
||||||
|
|
||||||
We also list the number of entries in each category in parenthesis next
|
|
||||||
to the category name.
|
|
||||||
-->
|
|
||||||
<div class="container content">
|
|
||||||
<section id="main">
|
|
||||||
<div>
|
|
||||||
<h1>Archive of Posts, by {{ .Data.Singular }}</h1>
|
|
||||||
<ul class="category">
|
|
||||||
{{ $data := .Data }}
|
|
||||||
{{ range $key,$value := .Data.Index.ByCount }}
|
|
||||||
<li><a href="/{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> ({{ $value.Count }} entries) </li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
|
||||||
|
|
||||||
<!-- Include footer (ends <body> and <html>) -->
|
|
||||||
{{ partial "footer.html" }}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file is used to render a list of all posts on our blog.
|
|
||||||
-->
|
|
||||||
|
|
||||||
{{ partial "header.html" . }}
|
|
||||||
|
|
||||||
<body class="theme-base-08">
|
|
||||||
{{ partial "sidebar.html" . }}
|
|
||||||
|
|
||||||
<!-- See /layouts/indexes/category.html for explanation of this section -->
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="masthead">
|
|
||||||
<div class="container">
|
|
||||||
<h3 class="masthead-title">
|
|
||||||
<a href="/posts" title="Blog">Blog Posts</a>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
In this section we have Hugo generate a list of all blog posts, ordered
|
|
||||||
by date.
|
|
||||||
|
|
||||||
When showing each post we ask Hugo to use the template in
|
|
||||||
/layouts/posts/li.html to provide a short description of each post.
|
|
||||||
-->
|
|
||||||
<div class="container content">
|
|
||||||
<p>Here are all my blog posts, in descending order by creation date. If you would like to view them by topic, see the <a href="/categories">Categories</a> page.</p>
|
|
||||||
<h1 class="post-title">All Blog Posts (By Date)</h1>
|
|
||||||
<section id="main">
|
|
||||||
<ul id="list">
|
|
||||||
{{ range .Data.Pages }}
|
|
||||||
{{ .Render "li"}}
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
|
||||||
|
|
||||||
<!-- Include footer (ends <body> and <html>) -->
|
|
||||||
{{ partial "footer.html" }}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file is a template that is included various places to have a list of
|
|
||||||
that particular posts categories generated.
|
|
||||||
-->
|
|
||||||
<div class="container">
|
|
||||||
<ul class="catlist">
|
|
||||||
<li><em>Categories: </em></li>
|
|
||||||
{{ range .Params.categories }}
|
|
||||||
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
@ -1,27 +0,0 @@
|
|||||||
<!--
|
|
||||||
This is the main footer for the website. It is included on every page.
|
|
||||||
|
|
||||||
It is very basic. It has some text and a link back to the home page of the
|
|
||||||
site.
|
|
||||||
|
|
||||||
It includes the google analytics template from /layouts/chrome/ga.html
|
|
||||||
|
|
||||||
It also closes the <body> and <html> tags for each page.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div class="container content">
|
|
||||||
<footer>
|
|
||||||
<div>
|
|
||||||
<p class="right credit">
|
|
||||||
Fancy footer here. Link to <a href="/">Home Page</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
{{ partial "ga.html" . }}
|
|
||||||
-->
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,17 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file contains the necessary information for google analytics to track
|
|
||||||
visitors and their behavior on my website.
|
|
||||||
|
|
||||||
This is specific to this website and will need to be changed for any other
|
|
||||||
site
|
|
||||||
-->
|
|
||||||
<script>
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create', 'UA-36732392-2', 'sglyon.com');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
|
|
||||||
</script>
|
|
@ -1,13 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file simply includes all the css and fonts that should go into the
|
|
||||||
header of each page.
|
|
||||||
|
|
||||||
It is separate from the rest of the header because the actual header for the
|
|
||||||
homepage of the site is different, but we want every page of the site
|
|
||||||
(including the homepage) to have the same assets.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/poole.css">
|
|
||||||
<link rel="stylesheet" href="/css/syntax.css">
|
|
||||||
<link rel="stylesheet" href="/css/lanyon.css">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700|PT+Sans:400">
|
|
@ -1,16 +0,0 @@
|
|||||||
<!--
|
|
||||||
This is the actual header for each page of the site except the homepage.
|
|
||||||
|
|
||||||
It simply shows the title of the page and includes the css/fonts found in
|
|
||||||
/layouts/chrome/header.html
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<base href="{{ .Site.BaseURL }}">
|
|
||||||
<title> {{ .Title }} </title>
|
|
||||||
<link rel="canonical" href="{{ .Permalink }}">
|
|
||||||
{{ partial "head_includes.html" . }}
|
|
||||||
</head>
|
|
@ -1,29 +0,0 @@
|
|||||||
<!--
|
|
||||||
This is a helper file that adds previous and next links to the bottom of each
|
|
||||||
blog post. (below next and previous refer to chronological next and previous)
|
|
||||||
|
|
||||||
It will check to see if there is a previous blog post. If is, it will print
|
|
||||||
an arrow as well as the title of the previous post as a link as
|
|
||||||
left-justified text.
|
|
||||||
|
|
||||||
It will then check for a next blog post. If there is one it prints the title
|
|
||||||
of the next post with a right arrow as right justified text on the same line.
|
|
||||||
|
|
||||||
If there is ever not a next or previous post, it does nothing.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<hr />
|
|
||||||
<hr />
|
|
||||||
{{if .Prev}}
|
|
||||||
<span class="left">
|
|
||||||
<em>« Previous:</em> <a class="next" href="{{.Prev.Permalink}}">{{.Prev.Title}}</a>
|
|
||||||
</span>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if .Next}}
|
|
||||||
<span class="right">
|
|
||||||
<em>Next: </em><a class="next" href="{{.Next.Permalink}}"> {{ .Next.Title }}</a> »
|
|
||||||
</span>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
@ -1,29 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file defines the main sidebar that the user can toggle in and out of
|
|
||||||
view. This is included in every file.
|
|
||||||
|
|
||||||
Most of this was taken directly from the Lanyon example site.
|
|
||||||
|
|
||||||
Here we simply include a link to the homepage, a link to the blog posts,
|
|
||||||
and some copyright information.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
|
|
||||||
styles, `#sidebar-checkbox` for behavior. -->
|
|
||||||
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
|
|
||||||
|
|
||||||
<!-- Toggleable sidebar -->
|
|
||||||
<div class="sidebar" id="sidebar">
|
|
||||||
|
|
||||||
<nav class="sidebar-nav">
|
|
||||||
<a class="sidebar-nav-item" href="/">Home</a>
|
|
||||||
|
|
||||||
<a class="sidebar-nav-item" href="/posts">Blog</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div class="sidebar-item">
|
|
||||||
<p>
|
|
||||||
© 2014 Spencer Lyon. Powered by <a href="https://gohugo.io">Hugo</a>. Design adapted from <a href="http://lanyon.getpoole.com">Lanyon</a>.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -1,26 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file defines how a summary of a specifc post should be presented in a
|
|
||||||
list (hence the file name li.html for "list item"). This is used in the
|
|
||||||
template /layouts/indexes/posts.html
|
|
||||||
|
|
||||||
The lines of the displayed list item are as follows:
|
|
||||||
(1) The name of the post
|
|
||||||
(2) The date the post was written as left-justified text and a
|
|
||||||
right-justified horizontal list of categories for that post.
|
|
||||||
(3) The contents of the description field in the metadata of the actual
|
|
||||||
markdown source of the post.
|
|
||||||
-->
|
|
||||||
<li>
|
|
||||||
<span><h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2></span>
|
|
||||||
<span class="left">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
|
|
||||||
<span class="right">
|
|
||||||
<ul class="catlist">
|
|
||||||
{{ range .Params.categories }}
|
|
||||||
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<br />
|
|
||||||
{{ .Description }}
|
|
||||||
</li>
|
|
@ -1,51 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file is responsible for rendering a single blog post.
|
|
||||||
-->
|
|
||||||
|
|
||||||
{{ partial "header.html" . }}
|
|
||||||
|
|
||||||
<body class="theme-base-08">
|
|
||||||
{{ partial "sidebar.html" . }}
|
|
||||||
|
|
||||||
<!-- See /layouts/indexes/category.html for explanation of this section -->
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="masthead">
|
|
||||||
<div class="container">
|
|
||||||
<h3 class="masthead-title">
|
|
||||||
<a href="/posts" title="Blog">Blog Posts</a>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is where the actual post is displayed.
|
|
||||||
|
|
||||||
We first access the title metadata field from the markdown source and
|
|
||||||
display it as a heading.
|
|
||||||
|
|
||||||
We then access the date the post was written (also in the markdown
|
|
||||||
metadata) and display a formated version of it
|
|
||||||
|
|
||||||
Finally we include the actual content of the post.
|
|
||||||
-->
|
|
||||||
<div class="container content">
|
|
||||||
<h1 class="post-title">{{ .Title }}</h1>
|
|
||||||
<section id="main">
|
|
||||||
<h5 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h5>
|
|
||||||
{{ .Content }}
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
|
||||||
|
|
||||||
{{ partial "prev_next.html" . }}
|
|
||||||
<br />
|
|
||||||
{{ partial "categories.html" . }}
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Include footer (ends <body class="theme-base-08"> and <html>) -->
|
|
||||||
{{ partial "footer.html" }}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
<!--
|
|
||||||
This file defines how a summary of a specifc post should be presented. This
|
|
||||||
is similar to the file /layouts/posts/li.html, but is meant have a bit longer
|
|
||||||
of a representation than the one in that file.
|
|
||||||
|
|
||||||
This template does the following:
|
|
||||||
(1) Shows the name of the post
|
|
||||||
(2) Shows the date the post was created (from metadata in post markdown
|
|
||||||
source)
|
|
||||||
(3) Displays a Hugo-generated summary of the post
|
|
||||||
(4) Provides a link with text Read More that points to the post
|
|
||||||
-->
|
|
||||||
|
|
||||||
<article class="post">
|
|
||||||
<header>
|
|
||||||
<h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2>
|
|
||||||
<div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
{{ .Summary }}
|
|
||||||
<footer>
|
|
||||||
<a href='{{ .Permalink }}'><nobr>Read more →</nobr></a>
|
|
||||||
</footer>
|
|
||||||
</article>
|
|
@ -1,527 +0,0 @@
|
|||||||
/*
|
|
||||||
* ___
|
|
||||||
* /\_ \
|
|
||||||
* \//\ \ __ ___ __ __ ___ ___
|
|
||||||
* \ \ \ /'__`\ /' _ `\/\ \/\ \ / __`\ /' _ `\
|
|
||||||
* \_\ \_/\ \_\.\_/\ \/\ \ \ \_\ \/\ \_\ \/\ \/\ \
|
|
||||||
* /\____\ \__/.\_\ \_\ \_\/`____ \ \____/\ \_\ \_\
|
|
||||||
* \/____/\/__/\/_/\/_/\/_/`/___/> \/___/ \/_/\/_/
|
|
||||||
* /\___/
|
|
||||||
* \/__/
|
|
||||||
*
|
|
||||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
|
||||||
* https://github.com/poole/lanyon.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Contents
|
|
||||||
*
|
|
||||||
* Global resets
|
|
||||||
* Masthead
|
|
||||||
* Sidebar
|
|
||||||
* Slide effect
|
|
||||||
* Posts and pages
|
|
||||||
* Pagination
|
|
||||||
* Reverse layout
|
|
||||||
* Themes
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Global resets
|
|
||||||
*
|
|
||||||
* Update the foundational and global aspects of the page.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Prevent scroll on narrow devices */
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
overflow-x: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-family: "PT Serif", Georgia, "Times New Roman", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #313131;
|
|
||||||
letter-spacing: -.025rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Wrapper
|
|
||||||
*
|
|
||||||
* The wrapper is used to position site content when the sidebar is toggled. We
|
|
||||||
* use an outter wrap to position the sidebar without interferring with the
|
|
||||||
* regular page content.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.wrap {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Container
|
|
||||||
*
|
|
||||||
* Center the page content.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.container {
|
|
||||||
max-width: 28rem;
|
|
||||||
}
|
|
||||||
@media (min-width: 38rem) {
|
|
||||||
.container {
|
|
||||||
max-width: 32rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media (min-width: 56rem) {
|
|
||||||
.container {
|
|
||||||
max-width: 38rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Masthead
|
|
||||||
*
|
|
||||||
* Super small header above the content for site name and short description.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.masthead {
|
|
||||||
padding-top: 1rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
margin-bottom: 3rem;
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
}
|
|
||||||
.masthead-title {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
color: #505050;
|
|
||||||
}
|
|
||||||
.masthead-title a {
|
|
||||||
color: #505050;
|
|
||||||
}
|
|
||||||
.masthead-title small {
|
|
||||||
font-size: 75%;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #c0c0c0;
|
|
||||||
letter-spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 48rem) {
|
|
||||||
.masthead-title {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.masthead-title small {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sidebar
|
|
||||||
*
|
|
||||||
* The sidebar is the drawer, the item we are toggling with our handy hamburger
|
|
||||||
* button in the corner of the page.
|
|
||||||
*
|
|
||||||
* This particular sidebar implementation was inspired by Chris Coyier's
|
|
||||||
* "Offcanvas Menu with CSS Target" article, and the checkbox variation from the
|
|
||||||
* comments by a reader. It modifies both implementations to continue using the
|
|
||||||
* checkbox (no change in URL means no polluted browser history), but this uses
|
|
||||||
* `position` for the menu to avoid some potential content reflow issues.
|
|
||||||
*
|
|
||||||
* Source: http://css-tricks.com/off-canvas-menu-with-css-target/#comment-207504
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Style and "hide" the sidebar */
|
|
||||||
.sidebar {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: -14rem;
|
|
||||||
width: 14rem;
|
|
||||||
visibility: hidden;
|
|
||||||
overflow-y: auto;
|
|
||||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
|
||||||
font-size: .875rem; /* 15px */
|
|
||||||
color: rgba(255,255,255,.6);
|
|
||||||
background-color: #202020;
|
|
||||||
-webkit-transition: all .3s ease-in-out;
|
|
||||||
transition: all .3s ease-in-out;
|
|
||||||
}
|
|
||||||
@media (min-width: 30rem) {
|
|
||||||
.sidebar {
|
|
||||||
font-size: .75rem; /* 14px */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sidebar content */
|
|
||||||
.sidebar a {
|
|
||||||
font-weight: normal;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.sidebar-item {
|
|
||||||
padding: 1rem;
|
|
||||||
}
|
|
||||||
.sidebar-item p:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sidebar nav */
|
|
||||||
.sidebar-nav {
|
|
||||||
border-bottom: 1px solid rgba(255,255,255,.1);
|
|
||||||
}
|
|
||||||
.sidebar-nav-item {
|
|
||||||
display: block;
|
|
||||||
padding: .5rem 1rem;
|
|
||||||
border-top: 1px solid rgba(255,255,255,.1);
|
|
||||||
}
|
|
||||||
.sidebar-nav-item.active,
|
|
||||||
a.sidebar-nav-item:hover,
|
|
||||||
a.sidebar-nav-item:focus {
|
|
||||||
text-decoration: none;
|
|
||||||
background-color: rgba(255,255,255,.1);
|
|
||||||
border-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 48rem) {
|
|
||||||
.sidebar-item {
|
|
||||||
padding: 1.5rem;
|
|
||||||
}
|
|
||||||
.sidebar-nav-item {
|
|
||||||
padding-left: 1.5rem;
|
|
||||||
padding-right: 1.5rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Hide the sidebar checkbox that we toggle with `.sidebar-toggle` */
|
|
||||||
.sidebar-checkbox {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Style the `label` that we use to target the `.sidebar-checkbox` */
|
|
||||||
.sidebar-toggle {
|
|
||||||
position: absolute;
|
|
||||||
top: 1rem;
|
|
||||||
left: 1rem;
|
|
||||||
display: block;
|
|
||||||
width: 2.2rem;
|
|
||||||
padding: .5rem .65rem;
|
|
||||||
color: #505050;
|
|
||||||
background-color: #fff;
|
|
||||||
border-radius: 4px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.sidebar-toggle:before {
|
|
||||||
display: block;
|
|
||||||
content: "";
|
|
||||||
width: 100%;
|
|
||||||
padding-bottom: .125rem;
|
|
||||||
border-top: .375rem double;
|
|
||||||
border-bottom: .125rem solid;
|
|
||||||
|
|
||||||
/* Make the border inside the box */
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-toggle:active,
|
|
||||||
#sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #505050;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 30.1rem) {
|
|
||||||
.sidebar-toggle {
|
|
||||||
position: fixed;
|
|
||||||
width: 2.25rem;
|
|
||||||
}
|
|
||||||
.sidebar-toggle:before {
|
|
||||||
padding-bottom: .15rem;
|
|
||||||
border-top-width: .45rem;
|
|
||||||
border-bottom-width: .15rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Slide effect
|
|
||||||
*
|
|
||||||
* Handle the sliding effects of the sidebar and content in one spot, seperate
|
|
||||||
* from the default styles.
|
|
||||||
*
|
|
||||||
* As an a heads up, we don't use `transform: translate3d()` here because when
|
|
||||||
* mixed with `position: fixed;` for the sidebar toggle, it creates a new
|
|
||||||
* containing block. Put simply, the fixed sidebar toggle behaves like
|
|
||||||
* `position: absolute;` when transformed.
|
|
||||||
*
|
|
||||||
* Read more about it at http://meyerweb.com/eric/thoughts/2011/09/12/.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.wrap,
|
|
||||||
.sidebar,
|
|
||||||
.sidebar-toggle {
|
|
||||||
-webkit-backface-visibility: hidden;
|
|
||||||
-ms-backface-visibility: hidden;
|
|
||||||
backface-visibility: hidden;
|
|
||||||
}
|
|
||||||
.wrap,
|
|
||||||
.sidebar-toggle {
|
|
||||||
-webkit-transition: -webkit-transform .3s ease-in-out;
|
|
||||||
transition: transform .3s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-checkbox:checked + .sidebar {
|
|
||||||
visibility: visible;
|
|
||||||
}
|
|
||||||
#sidebar-checkbox:checked ~ .sidebar,
|
|
||||||
#sidebar-checkbox:checked ~ .wrap,
|
|
||||||
#sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
-webkit-transform: translateX(14rem);
|
|
||||||
-ms-transform: translateX(14rem);
|
|
||||||
transform: translateX(14rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Posts and pages
|
|
||||||
*
|
|
||||||
* Each post is wrapped in `.post` and is used on default and post layouts. Each
|
|
||||||
* page is wrapped in `.page` and is only used on the page layout.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.page,
|
|
||||||
.post {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Blog post or page title */
|
|
||||||
.page-title,
|
|
||||||
.post-title,
|
|
||||||
.post-title a {
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
.page-title,
|
|
||||||
.post-title {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Meta data line below post title */
|
|
||||||
.post-date {
|
|
||||||
display: block;
|
|
||||||
margin-top: -.5rem;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
color: #9a9a9a;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Related posts */
|
|
||||||
.related {
|
|
||||||
padding-top: 2rem;
|
|
||||||
padding-bottom: 2rem;
|
|
||||||
border-top: 1px solid #eee;
|
|
||||||
}
|
|
||||||
.related-posts {
|
|
||||||
padding-left: 0;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
.related-posts h3 {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.related-posts li small {
|
|
||||||
font-size: 75%;
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
.related-posts li a:hover {
|
|
||||||
color: #268bd2;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.related-posts li a:hover small {
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Pagination
|
|
||||||
*
|
|
||||||
* Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
|
|
||||||
* there are no more previous or next posts to show.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.pagination {
|
|
||||||
overflow: hidden; /* clearfix */
|
|
||||||
margin-left: -1rem;
|
|
||||||
margin-right: -1rem;
|
|
||||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
|
||||||
color: #ccc;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Pagination items can be `span`s or `a`s */
|
|
||||||
.pagination-item {
|
|
||||||
display: block;
|
|
||||||
padding: 1rem;
|
|
||||||
border: 1px solid #eee;
|
|
||||||
}
|
|
||||||
.pagination-item:first-child {
|
|
||||||
margin-bottom: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Only provide a hover state for linked pagination items */
|
|
||||||
a.pagination-item:hover {
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 30rem) {
|
|
||||||
.pagination {
|
|
||||||
margin: 3rem 0;
|
|
||||||
}
|
|
||||||
.pagination-item {
|
|
||||||
float: left;
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
.pagination-item:first-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
border-top-left-radius: 4px;
|
|
||||||
border-bottom-left-radius: 4px;
|
|
||||||
}
|
|
||||||
.pagination-item:last-child {
|
|
||||||
margin-left: -1px;
|
|
||||||
border-top-right-radius: 4px;
|
|
||||||
border-bottom-right-radius: 4px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reverse layout
|
|
||||||
*
|
|
||||||
* Flip the orientation of the page by placing the `.sidebar` and sidebar toggle
|
|
||||||
* on the right side.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.layout-reverse .sidebar {
|
|
||||||
left: auto;
|
|
||||||
right: -14rem;
|
|
||||||
}
|
|
||||||
.layout-reverse .sidebar-toggle {
|
|
||||||
left: auto;
|
|
||||||
right: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layout-reverse #sidebar-checkbox:checked ~ .sidebar,
|
|
||||||
.layout-reverse #sidebar-checkbox:checked ~ .wrap,
|
|
||||||
.layout-reverse #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
-webkit-transform: translateX(-14rem);
|
|
||||||
-ms-transform: translateX(-14rem);
|
|
||||||
transform: translateX(-14rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Themes
|
|
||||||
*
|
|
||||||
* Apply custom color schemes by adding the appropriate class to the `body`.
|
|
||||||
* Based on colors from Base16: http://chriskempson.github.io/base16/#default.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Red */
|
|
||||||
.theme-base-08 .sidebar,
|
|
||||||
.theme-base-08 .sidebar-toggle:active,
|
|
||||||
.theme-base-08 #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #ac4142;
|
|
||||||
}
|
|
||||||
.theme-base-08 .container a,
|
|
||||||
.theme-base-08 .sidebar-toggle,
|
|
||||||
.theme-base-08 .related-posts li a:hover {
|
|
||||||
color: #ac4142;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Orange */
|
|
||||||
.theme-base-09 .sidebar,
|
|
||||||
.theme-base-09 .sidebar-toggle:active,
|
|
||||||
.theme-base-09 #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #d28445;
|
|
||||||
}
|
|
||||||
.theme-base-09 .container a,
|
|
||||||
.theme-base-09 .sidebar-toggle,
|
|
||||||
.theme-base-09 .related-posts li a:hover {
|
|
||||||
color: #d28445;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Yellow */
|
|
||||||
.theme-base-0a .sidebar,
|
|
||||||
.theme-base-0a .sidebar-toggle:active,
|
|
||||||
.theme-base-0a #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #f4bf75;
|
|
||||||
}
|
|
||||||
.theme-base-0a .container a,
|
|
||||||
.theme-base-0a .sidebar-toggle,
|
|
||||||
.theme-base-0a .related-posts li a:hover {
|
|
||||||
color: #f4bf75;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Green */
|
|
||||||
.theme-base-0b .sidebar,
|
|
||||||
.theme-base-0b .sidebar-toggle:active,
|
|
||||||
.theme-base-0b #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #90a959;
|
|
||||||
}
|
|
||||||
.theme-base-0b .container a,
|
|
||||||
.theme-base-0b .sidebar-toggle,
|
|
||||||
.theme-base-0b .related-posts li a:hover {
|
|
||||||
color: #90a959;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Cyan */
|
|
||||||
.theme-base-0c .sidebar,
|
|
||||||
.theme-base-0c .sidebar-toggle:active,
|
|
||||||
.theme-base-0c #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #75b5aa;
|
|
||||||
}
|
|
||||||
.theme-base-0c .container a,
|
|
||||||
.theme-base-0c .sidebar-toggle,
|
|
||||||
.theme-base-0c .related-posts li a:hover {
|
|
||||||
color: #75b5aa;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Blue */
|
|
||||||
.theme-base-0d .sidebar,
|
|
||||||
.theme-base-0d .sidebar-toggle:active,
|
|
||||||
.theme-base-0d #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #6a9fb5;
|
|
||||||
}
|
|
||||||
.theme-base-0d .container a,
|
|
||||||
.theme-base-0d .sidebar-toggle,
|
|
||||||
.theme-base-0d .related-posts li a:hover {
|
|
||||||
color: #6a9fb5;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Magenta */
|
|
||||||
.theme-base-0e .sidebar,
|
|
||||||
.theme-base-0e .sidebar-toggle:active,
|
|
||||||
.theme-base-0e #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #aa759f;
|
|
||||||
}
|
|
||||||
.theme-base-0e .container a,
|
|
||||||
.theme-base-0e .sidebar-toggle,
|
|
||||||
.theme-base-0e .related-posts li a:hover {
|
|
||||||
color: #aa759f;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Brown */
|
|
||||||
.theme-base-0f .sidebar,
|
|
||||||
.theme-base-0f .sidebar-toggle:active,
|
|
||||||
.theme-base-0f #sidebar-checkbox:checked ~ .sidebar-toggle {
|
|
||||||
background-color: #8f5536;
|
|
||||||
}
|
|
||||||
.theme-base-0f .container a,
|
|
||||||
.theme-base-0f .sidebar-toggle,
|
|
||||||
.theme-base-0f .related-posts li a:hover {
|
|
||||||
color: #8f5536;
|
|
||||||
}
|
|
@ -1,396 +0,0 @@
|
|||||||
/*
|
|
||||||
* ___
|
|
||||||
* /\_ \
|
|
||||||
* _____ ___ ___\//\ \ __
|
|
||||||
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
|
|
||||||
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
|
|
||||||
* \ \ ,__/\ \____/\ \____//\____\ \____\
|
|
||||||
* \ \ \/ \/___/ \/___/ \/____/\/____/
|
|
||||||
* \ \_\
|
|
||||||
* \/_/
|
|
||||||
*
|
|
||||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
|
||||||
* https://github.com/poole/poole.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Contents
|
|
||||||
*
|
|
||||||
* Body resets
|
|
||||||
* Custom type
|
|
||||||
* Messages
|
|
||||||
* Container
|
|
||||||
* Masthead
|
|
||||||
* Posts and pages
|
|
||||||
* Reverse layout
|
|
||||||
* Themes
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Body resets
|
|
||||||
*
|
|
||||||
* Update the foundational and global aspects of the page.
|
|
||||||
*/
|
|
||||||
|
|
||||||
* {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
@media (min-width: 38rem) {
|
|
||||||
html {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
color: #515151;
|
|
||||||
background-color: #fff;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
-ms-text-size-adjust: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* No `:visited` state is required by default (browsers will use `a`) */
|
|
||||||
a {
|
|
||||||
color: #268bd2;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
/* `:focus` is linked to `:hover` for basic accessibility */
|
|
||||||
a:hover,
|
|
||||||
a:focus {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Headings */
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-bottom: .5rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 1.25;
|
|
||||||
color: #313131;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
margin-top: 1rem;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
}
|
|
||||||
h3 {
|
|
||||||
margin-top: 1.5rem;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
h4, h5, h6 {
|
|
||||||
font-family: "ff-meta-web-pro", "Helvetica Neue", "Helvetica", Arial, sans-serif;
|
|
||||||
margin-top: 1rem;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Body text */
|
|
||||||
p {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
strong {
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lists */
|
|
||||||
ul, ol, dl {
|
|
||||||
margin-top: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dt {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
dd {
|
|
||||||
margin-bottom: .5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc */
|
|
||||||
hr {
|
|
||||||
position: relative;
|
|
||||||
margin: 1.5rem 0;
|
|
||||||
border: 0;
|
|
||||||
border-top: 1px solid #eee;
|
|
||||||
border-bottom: 1px solid #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
abbr {
|
|
||||||
font-size: 85%;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #555;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
abbr[title] {
|
|
||||||
cursor: help;
|
|
||||||
border-bottom: 1px dotted #e5e5e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
mono, tt, code, pre {
|
|
||||||
font-family: PragmataPro, Menlo, Monaco, "Andale Mono", "Lucida Console", "Courier New", monospace }
|
|
||||||
code {
|
|
||||||
padding: .25em .5em;
|
|
||||||
font-size: 85%;
|
|
||||||
color: #bf616a;
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
display: block;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
padding: 1rem;
|
|
||||||
font-size: .8rem;
|
|
||||||
line-height: 1.4;
|
|
||||||
white-space: pre;
|
|
||||||
overflow: auto;
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
font-size: 100%;
|
|
||||||
color: inherit;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
.highlight {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.highlight pre {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Quotes */
|
|
||||||
blockquote {
|
|
||||||
padding: .5rem 1rem;
|
|
||||||
margin: .8rem 0;
|
|
||||||
color: #7a7a7a;
|
|
||||||
border-left: .25rem solid #e5e5e5;
|
|
||||||
}
|
|
||||||
blockquote p:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
@media (min-width: 30rem) {
|
|
||||||
blockquote {
|
|
||||||
padding-right: 5rem;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
display: block;
|
|
||||||
margin: 0 0 1rem;
|
|
||||||
border-radius: 5px;
|
|
||||||
height: auto;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fpimg {
|
|
||||||
padding-bottom: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lbg {
|
|
||||||
display: inline;
|
|
||||||
width: auto;
|
|
||||||
padding-left: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.right {
|
|
||||||
float: right;
|
|
||||||
margin-left: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left {
|
|
||||||
float: left;
|
|
||||||
margin-right: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.center {
|
|
||||||
float: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tables */
|
|
||||||
table {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
width: 100%;
|
|
||||||
border-top: 1px solid #e5e5e5;
|
|
||||||
border-bottom: 1px solid #e5e5e5;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
td,
|
|
||||||
th {
|
|
||||||
padding: .25rem .5rem;
|
|
||||||
/* border: 1px solid #e5e5e5; */
|
|
||||||
}
|
|
||||||
tbody tr:nth-child(odd) td,
|
|
||||||
tbody tr:nth-child(odd) th {
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Custom type
|
|
||||||
*
|
|
||||||
* Extend paragraphs with `.lead` for larger introductory text.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.lead {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
font-weight: 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
.front {
|
|
||||||
margin-bottom: 500px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.credit {
|
|
||||||
padding-top: 3rem;
|
|
||||||
font-size: small;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ul.category {text-transform: capitalize;}
|
|
||||||
ul.category li {margin-bottom: 1rem;}
|
|
||||||
|
|
||||||
ul.catlist { list-style: none; margin: 0; padding: 0; }
|
|
||||||
ul.catlist li { display: inline; }
|
|
||||||
ul.catlist li:after { content: "・"; }
|
|
||||||
ul.catlist li:last-child:after { content: ""; }
|
|
||||||
|
|
||||||
/* This gets Google to fall into place */
|
|
||||||
.social {
|
|
||||||
font-size: 1px;
|
|
||||||
padding-bottom: 2rem;
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* From https://gist.github.com/thebigreason/1296097 */
|
|
||||||
/* This gets Facebook to fall into place */
|
|
||||||
.social iframe {
|
|
||||||
vertical-align: bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set an optional width for your button wrappers */
|
|
||||||
.social span {
|
|
||||||
display: inline-block;
|
|
||||||
width: 110px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Messages
|
|
||||||
*
|
|
||||||
* Show alert messages to users. You may add it to single elements like a `<p>`,
|
|
||||||
* or to a parent if there are multiple elements to show.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.message {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
padding: 1rem;
|
|
||||||
color: #717171;
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Container
|
|
||||||
*
|
|
||||||
* Center the page content.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.container {
|
|
||||||
max-width: 38rem;
|
|
||||||
padding-left: 1rem;
|
|
||||||
padding-right: 1rem;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Masthead
|
|
||||||
*
|
|
||||||
* Super small header above the content for site name and short description.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.masthead {
|
|
||||||
padding-top: 1rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
margin-bottom: 3rem;
|
|
||||||
}
|
|
||||||
.masthead-title {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
color: #505050;
|
|
||||||
}
|
|
||||||
.masthead-title a {
|
|
||||||
color: #505050;
|
|
||||||
}
|
|
||||||
.masthead-title small {
|
|
||||||
font-size: 75%;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #c0c0c0;
|
|
||||||
letter-spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Posts and pages
|
|
||||||
*
|
|
||||||
* Each post is wrapped in `.post` and is used on default and post layouts. Each
|
|
||||||
* page is wrapped in `.page` and is only used on the page layout.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.page,
|
|
||||||
.post {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Blog post or page title */
|
|
||||||
.page-title,
|
|
||||||
.post-title,
|
|
||||||
.post-title a {
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
.page-title,
|
|
||||||
.post-title {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Meta data line below post title */
|
|
||||||
.post-date {
|
|
||||||
display: block;
|
|
||||||
margin-top: -.5rem;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
color: #9a9a9a;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Archive list */
|
|
||||||
|
|
||||||
.archive h3 {
|
|
||||||
margin-top:0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
72
themes/beautifulhugo/.github/workflows/hugo.yml
vendored
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# Based on the sample workflow for building and deploying a Hugo site to GitHub Pages
|
||||||
|
name: Deploy Hugo site to Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Runs on pushes targeting the default branch
|
||||||
|
push:
|
||||||
|
branches: ["master"]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
# Allow one concurrent deployment
|
||||||
|
concurrency:
|
||||||
|
group: "pages"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Build job
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
HUGO_VERSION: 0.104.2
|
||||||
|
steps:
|
||||||
|
- name: Install Hugo CLI
|
||||||
|
run: |
|
||||||
|
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
|
||||||
|
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Setup Pages
|
||||||
|
id: pages
|
||||||
|
uses: actions/configure-pages@v2
|
||||||
|
- name: Build with Hugo
|
||||||
|
env:
|
||||||
|
# For maximum backward compatibility with Hugo modules
|
||||||
|
HUGO_ENVIRONMENT: production
|
||||||
|
HUGO_ENV: production
|
||||||
|
run: |
|
||||||
|
hugo \
|
||||||
|
--minify \
|
||||||
|
--baseURL "${{ steps.pages.outputs.base_url }}/" \
|
||||||
|
-s "./exampleSite/" \
|
||||||
|
--themesDir "../../"
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-pages-artifact@v1
|
||||||
|
with:
|
||||||
|
path: ./exampleSite/public
|
||||||
|
|
||||||
|
# Deployment job
|
||||||
|
deploy:
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
if: >
|
||||||
|
success()
|
||||||
|
&& github.ref == 'refs/heads/master'
|
||||||
|
&& github.repository == 'halogenica/beautifulhugo'
|
||||||
|
uses: actions/deploy-pages@v1
|
@ -1,14 +1,19 @@
|
|||||||
# Beautiful Hugo - A port of Beautiful Jekyll Theme
|
# Beautiful Hugo - An adaptation of the Beautiful Jekyll theme
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## Live demo
|
||||||
|
|
||||||
|
See https://hugo-theme-beautifulhugo.netlify.app/
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
$ mkdir themes
|
$ mkdir themes
|
||||||
$ cd themes
|
$ cd themes
|
||||||
$ git clone https://github.com/halogenica/beautifulhugo.git beautifulhugo
|
$ git submodule add https://github.com/halogenica/beautifulhugo.git beautifulhugo
|
||||||
|
|
||||||
|
|
||||||
See [the Hugo documentation](http://gohugo.io/themes/installing/) for more information.
|
See [the Hugo documentation](https://gohugo.io/themes/installing/) for more information.
|
||||||
|
|
||||||
## Extra Features
|
## Extra Features
|
||||||
|
|
||||||
@ -18,49 +23,178 @@ This theme is designed to look great on both large-screen and small-screen (mobi
|
|||||||
|
|
||||||
### Syntax highlighting
|
### Syntax highlighting
|
||||||
|
|
||||||
This theme has support for both server side and client side highlighting.
|
This theme has support for either Hugo's lightning fast Chroma, or both server side and client side highlighting. See [the Hugo docs for more](https://gohugo.io/content-management/syntax-highlighting/).
|
||||||
|
|
||||||
#### Server side syntax highlighting
|
#### Chroma - New server side syntax highlighting
|
||||||
|
|
||||||
Use the `highlight` shortcode (with Pygments),
|
To enable Chroma, add the following to your site parameters:
|
||||||
see [the Hugo documentation](http://gohugo.io/extras/highlighting/) for more information.
|
|
||||||
|
|
||||||
To use this feature install Pygments (`pip install Pygments`) and add `pygmentsuseclasses = true` to your `config.toml`.
|
```
|
||||||
|
pygmentsCodeFences = true
|
||||||
|
pygmentsUseClasses = true
|
||||||
|
```
|
||||||
|
|
||||||
#### Client side syntax highlighting
|
Then, you can generate a different style by running:
|
||||||
|
|
||||||
Use triple backticks ( ``` ) or triple tilde ( ~~~ ) around code blocks.
|
```
|
||||||
|
hugo gen chromastyles --style=trac > static/css/syntax.css
|
||||||
|
```
|
||||||
|
|
||||||
Client side highlighting does not require pygments to be installed.
|
#### Pygments - Old server side syntax highlighting
|
||||||
|
|
||||||
|
To use this feature install Pygments (`pip install Pygments`) and add the following to your site parameters:
|
||||||
|
|
||||||
|
```
|
||||||
|
pygmentsStyle = "trac"
|
||||||
|
pygmentsUseClassic = true
|
||||||
|
```
|
||||||
|
|
||||||
|
Pygments is mostly compatable with the newer Chroma. It is slower but has some additional theme options. I recommend Chroma over Pygments. Pygments will use `syntax.css` for highlighting, unless you also set the config `pygmentsUseClasses = false` which will generate the style code directly in the HTML file.
|
||||||
|
|
||||||
|
#### Highlight.js - Client side syntax highlighting
|
||||||
|
```
|
||||||
|
[Params]
|
||||||
|
useHLJS = true
|
||||||
|
```
|
||||||
|
|
||||||
|
Client side highlighting does not require pygments to be installed. This will use `highlight.min.css` instead of `syntax.css` for highlighting (effectively disabling Chroma). Highlight.js has a wider range of support for languages and themes, and an alternative highlighting engine.
|
||||||
|
|
||||||
### Disqus support
|
### Disqus support
|
||||||
|
|
||||||
To use this feature, uncomment and fill out the `disqusShortname` parameter in `config.toml`.
|
To use this feature, uncomment and fill out the `disqusShortname` parameter in `config.toml`.
|
||||||
|
|
||||||
|
### Staticman support
|
||||||
|
|
||||||
|
Add *Staticman* configuration section in `config.toml` or `config.yaml`
|
||||||
|
|
||||||
|
Sample `config.toml` configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
[Params.staticman]
|
||||||
|
api = "https://<API-ENDPOINT>/v3/entry/{GIT-HOST}/<USERNAME>/<REPOSITORY-BLOGNAME>/master/comments"
|
||||||
|
[Params.staticman.recaptcha]
|
||||||
|
sitekey: "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
|
||||||
|
secret: "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: The public `API-ENDPOINT` https://staticman.net is currently hitting its API limit, so one may use other API instances to provide Staticman comment service.
|
||||||
|
|
||||||
|
The section `[Params.staticman.recaptcha]` is *optional*. To add reCAPTCHA to your site, you have to replace the default values with your own ones (to be obtained from Google.) The site `secret` has to be encrypted with
|
||||||
|
|
||||||
|
https://<API-ENDPOINT>/v3/encrypt/<SITE-SECRET>
|
||||||
|
|
||||||
|
You must also configure the `staticman.yml` in you blog website.
|
||||||
|
|
||||||
|
```
|
||||||
|
comments:
|
||||||
|
allowedFields: ["name", "email", "website", "comment"]
|
||||||
|
branch : "master"
|
||||||
|
commitMessage : "New comment in {options.slug}"
|
||||||
|
path: "data/comments/{options.slug}"
|
||||||
|
filename : "comment-{@timestamp}"
|
||||||
|
format : "yaml"
|
||||||
|
moderation : true
|
||||||
|
requiredFields : ['name', 'email', 'comment']
|
||||||
|
transforms:
|
||||||
|
email : md5
|
||||||
|
generatedFields:
|
||||||
|
date:
|
||||||
|
type : "date"
|
||||||
|
options:
|
||||||
|
format : "iso8601"
|
||||||
|
reCaptcha:
|
||||||
|
enabled: true
|
||||||
|
siteKey: "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
|
||||||
|
secret: "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="
|
||||||
|
```
|
||||||
|
|
||||||
|
If you *don't* have the section `[Params.staticman]` in `config.toml`, you *won't* need the section `reCaptcha` in `staticman.yml`
|
||||||
|
|
||||||
### Google Analytics
|
### Google Analytics
|
||||||
|
|
||||||
To add Google Analytics, simply sign up to [Google Analytics](http://www.google.com/analytics/) to obtain your Google Tracking ID, and add this tracking ID to the `googleAnalytics` parameter in `config.toml`.
|
To add Google Analytics, simply sign up to [Google Analytics](https://www.google.com/analytics/) to obtain your Google Tracking ID, and add this tracking ID to the `googleAnalytics` parameter in `config.toml`.
|
||||||
|
|
||||||
|
Note that the Google Analytics tracking code will only be inserted into the page when the site isn't served on Hugo's built-in server, to prevent tracking from local testing environments.
|
||||||
|
|
||||||
### Commit SHA on the footer
|
### Commit SHA on the footer
|
||||||
|
|
||||||
If the source of your site is in a Git repo, the SHA corresponding to the commit the site is built from can be shown on the footer. To do so, two environment variables have to be set (`GIT_COMMIT_SHA` and `GIT_COMMIT_SHA_SHORT`) and parameter `commit` has to be defined in the config file:
|
If the source of your site is in a Git repo, the SHA corresponding to the commit the site is built from can be shown on the footer. To do so, two site parameters `commit` has to be defined in the config file `config.toml`:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
enableGitInfo = true
|
||||||
[Params]
|
[Params]
|
||||||
commit = "https://github.com/<username>/<siterepo>/tree/"
|
commit = "https://github.com/<username>/<siterepo>/tree/"
|
||||||
```
|
```
|
||||||
|
|
||||||
This can be achieved by running the next command prior to calling Hugo:
|
See at [vincenttam/vincenttam.gitlab.io](https://gitlab.com/vincenttam/vincenttam.gitlab.io) for an example of how to add it to a continuous integration system.
|
||||||
|
|
||||||
|
### Multilingual
|
||||||
|
|
||||||
|
To allow Beautiful Hugo to go multilingual, you need to define the languages
|
||||||
|
you want to use inside the `languages` parameter on `config.toml` file, also
|
||||||
|
redefining the content dir for each one. Check the `i18n/` folder to see all
|
||||||
|
languages available.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[languages]
|
||||||
|
[languages.en]
|
||||||
|
contentDir = "content/en" # English
|
||||||
|
[languages.ja]
|
||||||
|
contentDir = "content/ja" # Japanese
|
||||||
|
[languages.br]
|
||||||
|
contentDir = "content/br" # Brazilian Portuguese
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you just need to create a subdir within the `content/` folder for each
|
||||||
|
language and just put stuff inside `page/` and `post/` regular directories.
|
||||||
|
```
|
||||||
|
content/ content/ content/
|
||||||
|
└── en/ └── br/ └── ja/
|
||||||
|
├── page/ ├── page/ ├── page/
|
||||||
|
└── post/ └── post/ └── post/
|
||||||
|
|
||||||
```
|
```
|
||||||
GIT_COMMIT_SHA=`git rev-parse --verify HEAD` GIT_COMMIT_SHA_SHORT=`git rev-parse --short HEAD`
|
|
||||||
|
### Self Hosted assets for GDPR / EU-DSGVO compliance
|
||||||
|
|
||||||
|
With default settings, visiting to a website using Beautifulhugo connects also to remote services like google fonts or jsdelivr to embed fonts, js and other assets.
|
||||||
|
|
||||||
|
To avoid this, set the following param in config.toml:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
[Params]
|
||||||
See at [xor-gate/xor-gate.org](https://github.com/xor-gate/xor-gate.org) an example of how to add it to a continuous integration system.
|
selfHosted = true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Extra shortcodes
|
||||||
|
|
||||||
|
There are two extra shortcodes provided (along with the customized figure shortcode):
|
||||||
|
|
||||||
|
#### Details
|
||||||
|
|
||||||
|
This simply adds the html5 detail attribute, supported on all *modern* browsers. Use it like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
{{< details "This is the details title (click to expand)" >}}
|
||||||
|
This is the content (hidden until clicked).
|
||||||
|
{{< /details >}}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Split
|
||||||
|
|
||||||
|
This adds a two column side-by-side environment (will turn into 1 col for narrow devices):
|
||||||
|
|
||||||
|
```
|
||||||
|
{{< columns >}}
|
||||||
|
This is column 1.
|
||||||
|
{{< column >}}
|
||||||
|
This is column 2.
|
||||||
|
{{< endcolumns >}}
|
||||||
|
```
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
This is a port of the Jekyll theme [Beautiful Jekyll](http://deanattali.com/beautiful-jekyll/) by [Dean Attali](http://deanattali.com/aboutme#contact). It supports most of the features of the original theme.
|
This is an adaptation of the Jekyll theme [Beautiful Jekyll](https://deanattali.com/beautiful-jekyll/) by [Dean Attali](https://deanattali.com/aboutme#contact). It supports most of the features of the original theme, and many new features. It has diverged from the Jekyll theme over time, with years of community updates.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
---
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
author: ""
|
||||||
|
type: ""
|
||||||
|
date: {{ .Date }}
|
||||||
subtitle: ""
|
subtitle: ""
|
||||||
|
image: ""
|
||||||
tags: []
|
tags: []
|
||||||
---
|
---
|
||||||
|
@ -11,10 +11,10 @@ title = "Facebook"
|
|||||||
icon = "fab fa-facebook"
|
icon = "fab fa-facebook"
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "googleplus"
|
id = "github"
|
||||||
url = "https://www.plus.google.com/%s"
|
url = "https://github.com/%s"
|
||||||
title = "Google+"
|
title = "GitHub"
|
||||||
icon = "fab fa-google-plus"
|
icon = "fab fa-github"
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "gitlab"
|
id = "gitlab"
|
||||||
@ -23,10 +23,10 @@ title = "GitLab"
|
|||||||
icon = "fab fa-gitlab"
|
icon = "fab fa-gitlab"
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "github"
|
id = "bitbucket"
|
||||||
url = "https://github.com/%s"
|
url = "https://bitbucket.org/%s"
|
||||||
title = "GitHub"
|
title = "Bitbucket"
|
||||||
icon = "fab fa-github"
|
icon = "fab fa-bitbucket"
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "twitter"
|
id = "twitter"
|
||||||
@ -34,6 +34,12 @@ url = "https://twitter.com/%s"
|
|||||||
title = "Twitter"
|
title = "Twitter"
|
||||||
icon = "fab fa-twitter"
|
icon = "fab fa-twitter"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "slack"
|
||||||
|
url = "https://%s.slack.com/"
|
||||||
|
title = "Slack"
|
||||||
|
icon = "fab fa-slack"
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "reddit"
|
id = "reddit"
|
||||||
url = "https://reddit.com/u/%s"
|
url = "https://reddit.com/u/%s"
|
||||||
@ -97,15 +103,9 @@ icon = "fab fa-bandcamp"
|
|||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "itchio"
|
id = "itchio"
|
||||||
url = "https://itch.io/profile/%s"
|
url = "https://itch.io/profile/%s"
|
||||||
title = "itch.io"
|
title = "Itch.io"
|
||||||
icon = "fas fa-gamepad"
|
icon = "fas fa-gamepad"
|
||||||
|
|
||||||
[[social_icons]]
|
|
||||||
id = "steam"
|
|
||||||
url = "https://steamcommunity.com/id/%s"
|
|
||||||
title = "Steam"
|
|
||||||
icon = "fab fa-steam"
|
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "keybase"
|
id = "keybase"
|
||||||
url = "https://keybase.io/%s"
|
url = "https://keybase.io/%s"
|
||||||
@ -113,9 +113,62 @@ title = "Keybase"
|
|||||||
icon = "fab fa-keybase"
|
icon = "fab fa-keybase"
|
||||||
|
|
||||||
[[social_icons]]
|
[[social_icons]]
|
||||||
id = "Goodreads"
|
id = "vk"
|
||||||
url = "https://www.goodreads.com/%s"
|
url = "https://vk.com/%s"
|
||||||
title = "Goodreads"
|
title = "VK"
|
||||||
icon = "fab fa-goodreads"
|
icon = "fab fa-vk"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "paypal"
|
||||||
|
url = "https://paypal.me/%s"
|
||||||
|
title = "PayPal"
|
||||||
|
icon = "fab fa-paypal"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "telegram"
|
||||||
|
url = "https://telegram.me/%s"
|
||||||
|
title = "Telegram"
|
||||||
|
icon = "fab fa-telegram"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "500px"
|
||||||
|
url = "https://500px.com/%s"
|
||||||
|
title = "500px"
|
||||||
|
icon = "fab fa-500px"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "codepen"
|
||||||
|
url = "https://codepen.io/%s"
|
||||||
|
title = "CodePen"
|
||||||
|
icon = "fab fa-codepen"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "kaggle"
|
||||||
|
url = "https://www.kaggle.com/%s"
|
||||||
|
title = "kaggle"
|
||||||
|
icon = "fab fa-kaggle"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "mastodon"
|
||||||
|
url = "https://%s"
|
||||||
|
title = "Mastodon"
|
||||||
|
icon = "fab fa-mastodon"
|
||||||
|
rel = "me"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "weibo"
|
||||||
|
url = "https://weibo.com/%s"
|
||||||
|
title = "Weibo"
|
||||||
|
icon = "fab fa-weibo"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "discord"
|
||||||
|
url = "https://discord.gg/%s"
|
||||||
|
title = "Discord"
|
||||||
|
icon = "fab fa-discord"
|
||||||
|
|
||||||
|
[[social_icons]]
|
||||||
|
id = "strava"
|
||||||
|
url = "https://www.strava.com/athletes/%s"
|
||||||
|
title = "Strava"
|
||||||
|
icon = "fab fa-strava"
|
||||||
|
114
themes/beautifulhugo/exampleSite/config.toml
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
baseurl = "https://username.github.io"
|
||||||
|
DefaultContentLanguage = "en"
|
||||||
|
title = "Beautiful Hugo"
|
||||||
|
theme = "beautifulhugo"
|
||||||
|
pygmentsStyle = "trac"
|
||||||
|
pygmentsUseClasses = true
|
||||||
|
pygmentsCodeFences = true
|
||||||
|
pygmentsCodefencesGuessSyntax = true
|
||||||
|
#pygmentsUseClassic = true
|
||||||
|
#pygmentOptions = "linenos=inline"
|
||||||
|
#disqusShortname = "XXX"
|
||||||
|
#googleAnalytics = "XXX"
|
||||||
|
|
||||||
|
[Params]
|
||||||
|
# homeTitle = "Beautiful Hugo Theme" # Set a different text for the header on the home page
|
||||||
|
subtitle = "Build a beautiful and simple website in minutes"
|
||||||
|
mainSections = ["post","posts"]
|
||||||
|
logo = "img/avatar-icon.png" # Expecting square dimensions
|
||||||
|
favicon = "img/favicon.ico"
|
||||||
|
dateFormat = "January 2, 2006"
|
||||||
|
commit = false
|
||||||
|
rss = true
|
||||||
|
comments = true
|
||||||
|
readingTime = true
|
||||||
|
wordCount = true
|
||||||
|
useHLJS = true
|
||||||
|
socialShare = true
|
||||||
|
delayDisqus = true
|
||||||
|
showRelatedPosts = true
|
||||||
|
# hideAuthor = true
|
||||||
|
# gcse = "012345678901234567890:abcdefghijk" # Get your code from google.com/cse. Make sure to go to "Look and Feel" and change Layout to "Full Width" and Theme to "Classic"
|
||||||
|
|
||||||
|
#[[Params.bigimg]]
|
||||||
|
# src = "img/triangle.jpg"
|
||||||
|
# desc = "Triangle"
|
||||||
|
#[[Params.bigimg]]
|
||||||
|
# src = "img/sphere.jpg"
|
||||||
|
# desc = "Sphere"
|
||||||
|
# # position: see values of CSS background-position.
|
||||||
|
# position = "center top"
|
||||||
|
#[[Params.bigimg]]
|
||||||
|
# src = "img/hexagon.jpg"
|
||||||
|
# desc = "Hexagon"
|
||||||
|
|
||||||
|
[Author]
|
||||||
|
# Set only your "username" for default hosts and full URLs otherwise (e.g., "https://MyGitLab.org/username")
|
||||||
|
name = "Some Person"
|
||||||
|
website = "yourwebsite.com"
|
||||||
|
email = "youremail@domain.com"
|
||||||
|
facebook = "username"
|
||||||
|
github = "username"
|
||||||
|
gitlab = "username"
|
||||||
|
bitbucket = "username"
|
||||||
|
twitter = "username"
|
||||||
|
reddit = "username"
|
||||||
|
linkedin = "username"
|
||||||
|
xing = "username"
|
||||||
|
stackoverflow = "users/XXXXXXX/username"
|
||||||
|
snapchat = "username"
|
||||||
|
instagram = "username"
|
||||||
|
youtube = "user/username" # or channel/channelname
|
||||||
|
soundcloud = "username"
|
||||||
|
spotify = "username"
|
||||||
|
bandcamp = "username"
|
||||||
|
itchio = "username"
|
||||||
|
vk = "username"
|
||||||
|
paypal = "username"
|
||||||
|
telegram = "username"
|
||||||
|
500px = "username"
|
||||||
|
codepen = "username"
|
||||||
|
mastodon = "url"
|
||||||
|
kaggle = "username"
|
||||||
|
weibo = "username"
|
||||||
|
slack = "username"
|
||||||
|
discord = "invite code (https://discord.gg/XXXXXXX)"
|
||||||
|
strava = "userid"
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Blog"
|
||||||
|
url = ""
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "About"
|
||||||
|
url = "page/about/"
|
||||||
|
weight = 3
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
identifier = "samples"
|
||||||
|
name = "Samples"
|
||||||
|
weight = 2
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
parent = "samples"
|
||||||
|
name = "Big Image Sample"
|
||||||
|
url = "post/2017-03-07-bigimg-sample"
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
parent = "samples"
|
||||||
|
name = "Math Sample"
|
||||||
|
url = "post/2017-03-05-math-sample"
|
||||||
|
weight = 2
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
parent = "samples"
|
||||||
|
name = "Code Sample"
|
||||||
|
url = "post/2016-03-08-code-sample"
|
||||||
|
weight = 3
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Tags"
|
||||||
|
url = "tags"
|
||||||
|
weight = 3
|
2
themes/beautifulhugo/exampleSite/content/_index.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
## Front Page Content
|
||||||
|
`beautifulhugo` supports content on your front page. Edit `/content/_index.md` to change what appears here. Delete `/content/_index.md` if you don't want any content here.
|
16
themes/beautifulhugo/exampleSite/content/page/about.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
title: About me
|
||||||
|
subtitle: Why you'd want to go on a date with me
|
||||||
|
comments: false
|
||||||
|
---
|
||||||
|
|
||||||
|
My name is Inigo Montoya. I have the following qualities:
|
||||||
|
|
||||||
|
- I rock a great mustache
|
||||||
|
- I'm extremely loyal to my family
|
||||||
|
|
||||||
|
What else do you need?
|
||||||
|
|
||||||
|
### my history
|
||||||
|
|
||||||
|
To be honest, I'm having some trouble remembering right now, so why don't you just watch [my movie](http://en.wikipedia.org/wiki/The_Princess_Bride_%28film%29) and it will answer **all** your questions.
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: First post!
|
||||||
|
date: 2015-01-05
|
||||||
|
---
|
||||||
|
|
||||||
|
This is my first post, how exciting!
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: Pirates arrrr
|
||||||
|
date: 2015-01-15
|
||||||
|
---
|
||||||
|
|
||||||
|
Piracy is typically an act of robbery or criminal violence at sea. The term can include acts committed on land, in the air, or in other major bodies of water or on a shore. It does not normally include crimes committed against persons traveling on the same vessel as the perpetrator (e.g. one passenger stealing from others on the same vessel). The term has been used throughout history to refer to raids across land borders by non-state agents.
|
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
title: Soccer
|
||||||
|
subtitle: Best sport ever!
|
||||||
|
date: 2015-01-19
|
||||||
|
---
|
||||||
|
|
||||||
|
From Wikipedia:
|
||||||
|
|
||||||
|
Association football, more commonly known as football or soccer,[2] is a sport played between two teams of eleven players with a spherical ball. It is played by 250 million players in over 200 countries, making it the world's most popular sport.[3][4][5][6] The game is played on a rectangular field with a goal at each end. The object of the game is to score by getting the ball into the opposing goal.
|
||||||
|
|
||||||
|
The goalkeepers are the only players allowed to touch the ball with their hands or arms while it is in play and then only in their penalty area. Outfield players mostly use their feet to strike or pass the ball, but may use their head or torso to strike the ball instead. The team that scores the most goals by the end of the match wins. If the score is level at the end of the game, either a draw is declared or the game goes into extra time and/or a penalty shootout depending on the format of the competition. The Laws of the Game were originally codified in England by The Football Association in 1863. Association football is governed internationally by the International Federation of Association Football (FIFA; French: Fédération Internationale de Football Association) which organises a World Cup every four years.[7]
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: Dear diary
|
||||||
|
date: 2015-01-27
|
||||||
|
---
|
||||||
|
|
||||||
|
What is it with that Mary girl? Dragging me to school every day. As if I had a choice. What you don't hear in those nursery rhymes is that she starves me if I don't go to school with her; it's the only way I can stay alive! I'm thinking about being adopted by Little Bo Peep, sure I may get lost, but anything is better than being with Mary and those little brats at school (shudder, shudder).
|
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
title: To be
|
||||||
|
subtitle: ... or not to be?
|
||||||
|
date: 2015-02-13
|
||||||
|
---
|
||||||
|
|
||||||
|
To be, or not to be--that is the question:
|
||||||
|
Whether 'tis nobler in the mind to suffer
|
||||||
|
The slings and arrows of outrageous fortune
|
||||||
|
Or to take arms against a sea of troubles
|
||||||
|
And by opposing end them. To die, to sleep--
|
||||||
|
No more--and by a sleep to say we end
|
||||||
|
The heartache, and the thousand natural shocks
|
||||||
|
That flesh is heir to. 'Tis a consummation
|
||||||
|
Devoutly to be wished. To die, to sleep--
|
||||||
|
To sleep--perchance to dream: ay, there's the rub,
|
||||||
|
For in that sleep of death what dreams may come
|
||||||
|
When we have shuffled off this mortal coil,
|
||||||
|
Must give us pause. There's the respect
|
||||||
|
That makes calamity of so long life.
|
||||||
|
For who would bear the whips and scorns of time,
|
||||||
|
Th' oppressor's wrong, the proud man's contumely
|
||||||
|
The pangs of despised love, the law's delay,
|
||||||
|
The insolence of office, and the spurns
|
||||||
|
That patient merit of th' unworthy takes,
|
||||||
|
When he himself might his quietus make
|
||||||
|
With a bare bodkin? Who would fardels bear,
|
||||||
|
To grunt and sweat under a weary life,
|
||||||
|
But that the dread of something after death,
|
||||||
|
The undiscovered country, from whose bourn
|
||||||
|
No traveller returns, puzzles the will,
|
||||||
|
And makes us rather bear those ills we have
|
||||||
|
Than fly to others that we know not of?
|
||||||
|
Thus conscience does make cowards of us all,
|
||||||
|
And thus the native hue of resolution
|
||||||
|
Is sicklied o'er with the pale cast of thought,
|
||||||
|
And enterprise of great pitch and moment
|
||||||
|
With this regard their currents turn awry
|
||||||
|
And lose the name of action. -- Soft you now,
|
||||||
|
The fair Ophelia! -- Nymph, in thy orisons
|
||||||
|
Be all my sins remembered.
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: Test markdown
|
||||||
|
subtitle: Each post also has a subtitle
|
||||||
|
date: 2015-02-20
|
||||||
|
tags: ["example", "markdown"]
|
||||||
|
---
|
||||||
|
|
||||||
|
You can write regular [markdown](http://markdowntutorial.com/) here and [Hugo](https://gohugo.io) will automatically convert it to a nice webpage. I strongly encourage you to [take 5 minutes to learn how to write in markdown](http://markdowntutorial.com/) - it'll teach you how to transform regular text into bold/italics/headings/tables/etc.
|
||||||
|
|
||||||
|
**Here is some bold text**
|
||||||
|
|
||||||
|
## Here is a secondary heading
|
||||||
|
|
||||||
|
Here's a useless table:
|
||||||
|
|
||||||
|
| Number | Next number | Previous number |
|
||||||
|
| :------ |:--- | :--- |
|
||||||
|
| Five | Six | Four |
|
||||||
|
| Ten | Eleven | Nine |
|
||||||
|
| Seven | Eight | Six |
|
||||||
|
| Two | Three | One |
|
||||||
|
|
||||||
|
|
||||||
|
How about a yummy crepe?
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Here's a code chunk with syntax highlighting:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
var foo = function(x) {
|
||||||
|
return(x + 5);
|
||||||
|
}
|
||||||
|
foo(3)
|
||||||
|
```
|
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
title: Flake it till you make it
|
||||||
|
subtitle: Excerpt from Soulshaping by Jeff Brown
|
||||||
|
date: 2015-02-26
|
||||||
|
bigimg: [{src: "/img/path.jpg", desc: "Path"}]
|
||||||
|
---
|
||||||
|
|
||||||
|
Under what circumstances should we step off a path? When is it essential that we finish what we start? If I bought a bag of peanuts and had an allergic reaction, no one would fault me if I threw it out. If I ended a relationship with a woman who hit me, no one would say that I had a commitment problem. But if I walk away from a seemingly secure route because my soul has other ideas, I am a flake?
|
||||||
|
|
||||||
|
The truth is that no one else can definitively know the path we are here to walk. It’s tempting to listen—many of us long for the omnipotent other—but unless they are genuine psychic intuitives, they can’t know. All others can know is their own truth, and if they’ve actually done the work to excavate it, they will have the good sense to know that they cannot genuinely know anyone else’s. Only soul knows the path it is here to walk. Since you are the only one living in your temple, only you can know its scriptures and interpretive structure.
|
||||||
|
|
||||||
|
At the heart of the struggle are two very different ideas of success—survival-driven and soul-driven. For survivalists, success is security, pragmatism, power over others. Success is the absence of material suffering, the nourishing of the soul be damned. It is an odd and ironic thing that most of the material power in our world often resides in the hands of younger souls. Still working in the egoic and material realms, they love the sensations of power and focus most of their energy on accumulation. Older souls tend not to be as materially driven. They have already played the worldly game in previous lives and they search for more subtle shades of meaning in this one—authentication rather than accumulation. They are often ignored by the culture at large, although they really are the truest warriors.
|
||||||
|
|
||||||
|
A soulful notion of success rests on the actualization of our innate image. Success is simply the completion of a soul step, however unsightly it may be. We have finished what we started when the lesson is learned. What a fear-based culture calls a wonderful opportunity may be fruitless and misguided for the soul. Staying in a passionless relationship may satisfy our need for comfort, but it may stifle the soul. Becoming a famous lawyer is only worthwhile if the soul demands it. It is an essential failure if you are called to be a monastic this time around. If you need to explore and abandon ten careers in order to stretch your soul toward its innate image, then so be it. Flake it till you make it.
|