export to theme
This commit is contained in:
		
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,3 @@
 | 
			
		||||
[submodule "themes/hugo-social-metadata"]
 | 
			
		||||
	path = themes/hugo-social-metadata
 | 
			
		||||
	url = https://github.com/msfjarvis/hugo-social-metadata.git
 | 
			
		||||
[submodule "themes/hugo-theme-lowtech"]
 | 
			
		||||
	path = themes/hugo-theme-lowtech
 | 
			
		||||
	url = https://gitea.lamelio.fr/kosssi/hugo-theme-lowtech.git
 | 
			
		||||
 
 | 
			
		||||
@@ -1,41 +0,0 @@
 | 
			
		||||
.grid            { display: flex; flex-wrap: wrap; }
 | 
			
		||||
.grid.\-top      { align-items: flex-start; }
 | 
			
		||||
.grid.\-middle   { align-items: center; }
 | 
			
		||||
.grid.\-bottom   { align-items: flex-end; }
 | 
			
		||||
.grid.\-stretch  { align-items: stretch; }
 | 
			
		||||
.grid.\-baseline { align-items: baseline; }
 | 
			
		||||
.grid.\-left     { justify-content: flex-start; }
 | 
			
		||||
.grid.\-center   { justify-content: center; }
 | 
			
		||||
.grid.\-right    { justify-content: flex-end; }
 | 
			
		||||
.grid.\-between  { justify-content: space-between; }
 | 
			
		||||
.grid.\-around   { justify-content: space-around; }
 | 
			
		||||
 | 
			
		||||
.cell            { flex: 1; box-sizing: border-box; }
 | 
			
		||||
.cell.\-left   { text-align: left ;}
 | 
			
		||||
.cell.\-right   { text-align: right; }
 | 
			
		||||
.cell.\-center   { text-align: center ;}
 | 
			
		||||
.cell img        { max-width: 100% }
 | 
			
		||||
 | 
			
		||||
@media screen and (min-width: 600px) {
 | 
			
		||||
  .\-even-reverse:nth-child(even) { flex-direction: row-reverse; }
 | 
			
		||||
  .cell.\-1of12    { flex: 0 0 calc(100% * 1 / 12); }
 | 
			
		||||
  .cell.\-2of12    { flex: 0 0 calc(100% * 2 / 12); }
 | 
			
		||||
  .cell.\-3of12    { flex: 0 0 calc(100% * 3 / 12); }
 | 
			
		||||
  .cell.\-4of12    { flex: 0 0 calc(100% * 4 / 12); }
 | 
			
		||||
  .cell.\-5of12    { flex: 0 0 calc(100% * 5 / 12); }
 | 
			
		||||
  .cell.\-6of12    { flex: 0 0 calc(100% * 6 / 12); }
 | 
			
		||||
  .cell.\-7of12    { flex: 0 0 calc(100% * 7 / 12); }
 | 
			
		||||
  .cell.\-8of12    { flex: 0 0 calc(100% * 8 / 12); }
 | 
			
		||||
  .cell.\-9of12    { flex: 0 0 calc(100% * 9 / 12); }
 | 
			
		||||
  .cell.\-10of12   { flex: 0 0 calc(100% * 10 / 12); }
 | 
			
		||||
  .cell.\-11of12   { flex: 0 0 calc(100% * 11 / 12); }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 599px) {
 | 
			
		||||
  .grid {
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
  }
 | 
			
		||||
  .cell {
 | 
			
		||||
    flex: 0 0 auto;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -11,7 +11,7 @@ $size-xl: 1280px
 | 
			
		||||
$size-2x: 1440px
 | 
			
		||||
 | 
			
		||||
@import "./font"
 | 
			
		||||
@import "./grid"
 | 
			
		||||
@import "../../themes/hugo-theme-lowtech/assets/styles/grid"
 | 
			
		||||
@import "./card"
 | 
			
		||||
 | 
			
		||||
body
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
baseURL = "https://histoiredunpied.com/"
 | 
			
		||||
languageCode = "fr-fr"
 | 
			
		||||
title = "Histoire d'un Pied"
 | 
			
		||||
theme = ["lowtech"]
 | 
			
		||||
theme = ["hugo-theme-lowtech"]
 | 
			
		||||
 | 
			
		||||
disableKinds = ["taxonomy", "taxonomyTerm"]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ weight: 3
 | 
			
		||||
 | 
			
		||||
{{< grid class="-middle" >}}
 | 
			
		||||
  {{< cell class="-4of12 -center" >}}
 | 
			
		||||
    <img src="./accueil/apropos.png" alt="Le livre" width="180"/>
 | 
			
		||||
    <img src="./accueil/apropos.png" alt="Le livre" width="180" />
 | 
			
		||||
  {{< /cell >}}
 | 
			
		||||
  {{< cell class="-8of12 " markdown="true" >}}
 | 
			
		||||
Après des études de graphisme, je suis embauchée en tant que graphiste chez *Five*, une agence de communication spécialisée dans le domaine de la beauté et l’édition. Le 6 novembre 2008, j’ai dû arrêter mon travail pendant plusieurs mois suite à l’histoire que je m’apprête à vous raconter :). Je me suis alors noyée dans l’illustration ! Quel bonheur !
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +0,0 @@
 | 
			
		||||
test
 | 
			
		||||
{{ .Page.Dir }}
 | 
			
		||||
							
								
								
									
										2
									
								
								layouts/partials/style.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								layouts/partials/style.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
{{ $style := resources.Get "css/main.sass" | toCSS | minify | fingerprint }}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}">
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
{{ $class := .Get "class" }}
 | 
			
		||||
{{ $body := .Get "text" | default .Inner }}
 | 
			
		||||
{{ $markdown := .Get "markdown" | default false }}
 | 
			
		||||
<div class="cell{{ with $class }} {{ . }}{{ end }}">
 | 
			
		||||
  {{ if $markdown }}
 | 
			
		||||
    {{ $.Page.RenderString .Inner }}
 | 
			
		||||
  {{ else }}
 | 
			
		||||
    {{ .Inner }}
 | 
			
		||||
  {{ end }}
 | 
			
		||||
</div>
 | 
			
		||||
@@ -1,39 +0,0 @@
 | 
			
		||||
{{/* https://github.com/martignoni/hugo-cloak-email */}}
 | 
			
		||||
{{/* Get address, protocol and other parameters */}}
 | 
			
		||||
{{- $address := .Get "address" | default (.Get 0) -}}
 | 
			
		||||
{{- $protocol := .Get "protocol" | default "mailto" -}}
 | 
			
		||||
{{- $class := .Get "class" -}}
 | 
			
		||||
{{- $displaytext := .Get "display" -}}
 | 
			
		||||
{{- $parts := split $address "@" -}}
 | 
			
		||||
{{- $user := (index $parts 0) -}}
 | 
			
		||||
{{- $domain := (index $parts 1) | default "" -}}
 | 
			
		||||
{{- $query := .Get "query" | default "" -}}
 | 
			
		||||
{{/* Compute md5 fingerprint */}}
 | 
			
		||||
{{- $fingerprint := md5 (print (.Get "address") $protocol (index (seq 999 | shuffle) 0)) | truncate 8 "" -}}
 | 
			
		||||
{{/* Set via CSS what is displayed when Javascript is disabled. Query is never displayed */}}
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
  #id-{{ $fingerprint }}.cloaked-e-mail:before {
 | 
			
		||||
    content:{{ with $domain }}attr(data-domain) "\0040" {{ end }}attr(data-user);
 | 
			
		||||
    unicode-bidi:bidi-override;
 | 
			
		||||
    direction:rtl;
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
 <span class="cloaked-e-mail" data-user="{{ range $index := seq (sub (len $user) 1) 0}}{{ substr $user $index 1}}{{ end }}"{{ with $domain }} data-domain="{{ range $index := seq (sub (len $domain) 1) 0}}{{ substr $domain $index 1}}{{ end }}"{{ end }} id="id-{{ $fingerprint }}"></span> 
 | 
			
		||||
{{/* Alter display with Javascript by changing DOM */}}
 | 
			
		||||
<script id="id-{{ $fingerprint }}">
 | 
			
		||||
  var scriptTag = document.getElementById("id-{{ $fingerprint }}");
 | 
			
		||||
  var link = document.createElement("a");
 | 
			
		||||
  var address = "{{ range $index := seq (sub (len $user) 1) 0}}{{ substr $user $index 1}}{{ end }}".split('').reverse().join(''){{ with $domain }} + "@" + "{{ range $index := seq (sub (len $domain) 1) 0}}{{ substr $domain $index 1}}{{ end }}".split('').reverse().join(''){{ with $query }} + "?" + "{{ range $index := seq (sub (len $query) 1) 0}}{{ substr $query $index 1}}{{ end }}".split('').reverse().join(''){{ end }}{{ end }};
 | 
			
		||||
  link.href = {{ $protocol }} + ":" + address;
 | 
			
		||||
  {{ with $displaytext }}
 | 
			
		||||
  link.innerText = {{ $displaytext }};
 | 
			
		||||
  {{ else }}
 | 
			
		||||
  link.innerText = address.split('?')[0];
 | 
			
		||||
  {{ end }}
 | 
			
		||||
  {{ with $class }}
 | 
			
		||||
  link.className = "{{ $class }}";
 | 
			
		||||
  {{ end }}
 | 
			
		||||
  scriptTag.parentElement.insertBefore(link, scriptTag.previousElementSibling);
 | 
			
		||||
  scriptTag.parentElement.removeChild(scriptTag.previousElementSibling)
 | 
			
		||||
</script>
 | 
			
		||||
{{/* The end */}}
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
{{ $class := .Get "class" }}
 | 
			
		||||
{{ $body := .Get "text" | default .Inner }}
 | 
			
		||||
<div class="grid{{ with $class }} {{ . }}{{ end }}">{{ $body }}</div>
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
{{ partial "image.html" . }}
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
{{ now.Format "2006" }}
 | 
			
		||||
							
								
								
									
										1024
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1024
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										11
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								package.json
									
									
									
									
									
								
							@@ -2,11 +2,10 @@
 | 
			
		||||
  "name": "histoiredunpied",
 | 
			
		||||
  "version": "0.1.0",
 | 
			
		||||
  "description": "Source code of histoiredunpied.com",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "start": "hugo server -D",
 | 
			
		||||
    "serve": "(cd public && python3 -m http.server 8080)",
 | 
			
		||||
    "build": "rm -rf public && hugo -D --minify && node typo",
 | 
			
		||||
    "build": "rm -rf public && hugo -D --minify && node themes/hugo-theme-lowtech/scripts/typo",
 | 
			
		||||
    "favicon": "convert static/icon.png -resize 32x32 -colors 16 \\( -clone 0 -resize 16x16 -extent 16x16 \\) \\( -clone 0 -resize 32x32 -extent 32x32 \\) -delete 0 static/favicon.ico",
 | 
			
		||||
    "deploy": "docker-compose up -d --build",
 | 
			
		||||
    "ftp-deploy": "lftp -u $HISTOIREDUNPIED_FTP_USER,$HISTOIREDUNPIED_FTP_PASSWORD $HISTOIREDUNPIED_FTP_HOST -e 'mirror -e -R ./public /www ; quit'",
 | 
			
		||||
@@ -14,11 +13,5 @@
 | 
			
		||||
    "test": "echo \"Error: no test specified\" && exit 1"
 | 
			
		||||
  },
 | 
			
		||||
  "author": "Simon <simon@lamelio.fr>",
 | 
			
		||||
  "license": "GPL-3.0",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "fledermaus": "7.1.0",
 | 
			
		||||
    "richtypo": "4.0.7",
 | 
			
		||||
    "richtypo-rules-common": "4.0.2",
 | 
			
		||||
    "richtypo-rules-fr": "4.0.2"
 | 
			
		||||
  }
 | 
			
		||||
  "license": "GPL-3.0"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 Submodule themes/hugo-social-metadata deleted from 13c8288ad4
									
								
							
							
								
								
									
										1
									
								
								themes/hugo-theme-lowtech
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								themes/hugo-theme-lowtech
									
									
									
									
									
										Submodule
									
								
							 Submodule themes/hugo-theme-lowtech added at b5e2e32c9e
									
								
							@@ -1,20 +0,0 @@
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2020 YOUR_NAME_HERE
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
			
		||||
this software and associated documentation files (the "Software"), to deal in
 | 
			
		||||
the Software without restriction, including without limitation the rights to
 | 
			
		||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 | 
			
		||||
the Software, and to permit persons to whom the Software is furnished to do so,
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 | 
			
		||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 | 
			
		||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | 
			
		||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | 
			
		||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
@@ -1,2 +0,0 @@
 | 
			
		||||
+++
 | 
			
		||||
+++
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
    {{- partial "head.html" . -}}
 | 
			
		||||
    <body>
 | 
			
		||||
        {{- partial "header.html" . -}}
 | 
			
		||||
        <div id="content">
 | 
			
		||||
        {{- block "main" . }}{{- end }}
 | 
			
		||||
        </div>
 | 
			
		||||
        {{- partial "footer.html" . -}}
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -1,2 +0,0 @@
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
{{ end }}
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
<meta charset="utf-8">
 | 
			
		||||
<base href="{{ .Site.BaseURL }}">
 | 
			
		||||
 | 
			
		||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 | 
			
		||||
<meta name="HandheldFriendly" content="True">
 | 
			
		||||
<meta name="MobileOptimized" content="320">
 | 
			
		||||
<meta name="viewport" content="width=device-width, initial-scale=1">
 | 
			
		||||
 | 
			
		||||
{{ $style := resources.Get "css/main.sass" | toCSS | minify | fingerprint }}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}">
 | 
			
		||||
 | 
			
		||||
{{ partial "social_metadata.html" . }}
 | 
			
		||||
@@ -1,47 +0,0 @@
 | 
			
		||||
<!-- Configure meta and title tags -->
 | 
			
		||||
<meta property="og:type" content="website" />
 | 
			
		||||
{{ if .Site.Params.TwitterCardType }}
 | 
			
		||||
<meta name="twitter:card" content="{{ .Site.Params.TwitterCardType }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="twitter:card" content="summary_large_image" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ if .Site.Params.TwitterUsername }}
 | 
			
		||||
<meta name="twitter:site" content="{{ .Site.Params.TwitterUsername }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ if .IsHome }}
 | 
			
		||||
<title>{{ .Site.Title }}</title>
 | 
			
		||||
<meta name="description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="keywords" content="{{ $.Site.Params.Keywords }}" />
 | 
			
		||||
<meta property="og:image" content="{{ .Site.BaseURL}}{{ .Site.Params.SocialImage }}" />
 | 
			
		||||
<meta property="og:url" content="{{ .Site.BaseURL }}" />
 | 
			
		||||
<meta property="og:title" content="{{ .Site.Title }}" />
 | 
			
		||||
<meta name="og:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="twitter:title" content="{{ .Site.Title }}" />
 | 
			
		||||
<meta name="twitter:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="twitter:url" content="{{ .Site.BaseURL }}" />
 | 
			
		||||
<meta name="twitter:image:src" content="{{ .Site.BaseURL}}{{ .Site.Params.SocialImage }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<title>{{ .Title }} · {{ .Site.Title }}</title>
 | 
			
		||||
<meta name="description" content="{{ .Description }}" />
 | 
			
		||||
{{ if .Params.tags }}
 | 
			
		||||
<meta name="keywords" content="{{ range .Params.tags }}{{ . }},{{ end }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="keywords" content="{{ $.Site.Params.Keywords }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
<meta property="og:url" content="{{ .Permalink }}" />
 | 
			
		||||
<meta property="og:title" content="{{ .Title }} · {{ .Site.Title }}" />
 | 
			
		||||
<meta name="twitter:title" content="{{ .Title }} · {{ .Site.Title }}" />
 | 
			
		||||
{{ if .Description }}
 | 
			
		||||
<meta name="og:description" content="{{ .Description }}" />
 | 
			
		||||
<meta name="twitter:description" content="{{ .Description }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="og:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="twitter:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
<meta name="twitter:url" content="{{ .Permalink }}" />
 | 
			
		||||
{{ if .Params.SocialImage }}
 | 
			
		||||
<meta name="twitter:image:src" content="{{ .Site.BaseURL }}{{ .Params.SocialImage }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="twitter:image:src" content="{{ .Site.Params.SocialImage }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ end }}
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
# theme.toml template for a Hugo theme
 | 
			
		||||
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
 | 
			
		||||
 | 
			
		||||
name = "Lowtech"
 | 
			
		||||
license = "MIT"
 | 
			
		||||
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
 | 
			
		||||
description = ""
 | 
			
		||||
homepage = "http://example.com/"
 | 
			
		||||
tags = []
 | 
			
		||||
features = []
 | 
			
		||||
min_version = "0.41"
 | 
			
		||||
 | 
			
		||||
[author]
 | 
			
		||||
  name = ""
 | 
			
		||||
  homepage = ""
 | 
			
		||||
 | 
			
		||||
# If porting an existing theme
 | 
			
		||||
[original]
 | 
			
		||||
  name = ""
 | 
			
		||||
  homepage = ""
 | 
			
		||||
  repo = ""
 | 
			
		||||
							
								
								
									
										34
									
								
								typo.js
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								typo.js
									
									
									
									
									
								
							@@ -1,34 +0,0 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
const path = require('path');
 | 
			
		||||
const { loadSourceFiles, savePages } = require('fledermaus');
 | 
			
		||||
const richtypo = require('richtypo');
 | 
			
		||||
const frRules = require('richtypo-rules-fr');
 | 
			
		||||
const { definitions } = require('richtypo-rules-common');
 | 
			
		||||
 | 
			
		||||
console.log('Prepares your texts to publication on web: applies typography rules.');
 | 
			
		||||
 | 
			
		||||
const openingQuote = '«';
 | 
			
		||||
const closingQuote = '»';
 | 
			
		||||
const quotes = text => text
 | 
			
		||||
	.replace(
 | 
			
		||||
		new RegExp(`${definitions.notInTag}(["“«]|“)((${definitions.tag})?(${definitions.dash}${definitions.space})?${definitions.letter})`, 'gmi'),
 | 
			
		||||
		`${openingQuote}$2`
 | 
			
		||||
	)
 | 
			
		||||
	.replace(
 | 
			
		||||
		new RegExp(`${definitions.notInTag}(["”»]|”)`, 'gmi'),
 | 
			
		||||
		`${closingQuote}`
 | 
			
		||||
	);
 | 
			
		||||
 | 
			
		||||
const rt = richtypo.default([frRules.default, quotes]);
 | 
			
		||||
 | 
			
		||||
let documents = loadSourceFiles(path.resolve(__dirname, 'public'), ['html'], {});
 | 
			
		||||
 | 
			
		||||
const pages = documents.map(doc => {
 | 
			
		||||
	return {
 | 
			
		||||
		pagePath: doc.sourcePath,
 | 
			
		||||
		content: rt(doc.content),
 | 
			
		||||
	};
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
savePages(pages, path.resolve(__dirname, 'public'));
 | 
			
		||||
		Reference in New Issue
	
	Block a user