commit eca01b23f084ca0fcd39505a19ae382ea426d2fc
Author: Hugo Soucy <hs0ucy@h50ucy.local>
Date: Sun, 14 Apr 2019 19:32:51 -0400
First commit.
Diffstat:
19 files changed, 720 insertions(+), 0 deletions(-)
diff --git a/archetypes/.gitignore b/archetypes/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+*
+# Except those files
+!.gitignore
+!doc.*
diff --git a/archetypes/doc.json b/archetypes/doc.json
@@ -0,0 +1,9 @@
+{
+ "title": "{{ title }}",
+ "date": "{{ date }}",
+ "datetime": "{{ datetime }}",
+ "template": "{{ template }}",
+ "bridgy": "false",
+ "keywords": "",
+ "description": ""
+}
diff --git a/archetypes/doc.md b/archetypes/doc.md
@@ -0,0 +1,2 @@
+
+# {{ title }}
diff --git a/config.lua b/config.lua
@@ -0,0 +1,37 @@
+--
+-- Web Site Configuration File
+--
+
+return {
+ domainname = "soucy.cc",
+ url = "https://soucy.cc",
+ urldev = "http://localhost:8181",
+ portdev = "8181",
+ baseurl = "https://soucy.cc",
+ language = "fr",
+
+ metas = {
+ description = "Site web de la Famille Soucy",
+ generator = "Ferron SSG",
+ },
+
+ author = {
+ name = "Hugo Soucy",
+ nickname = "hs0ucy",
+ jobtitle = "Web Developper",
+ email = "hugo@soucy.cc",
+ locality ="Quebec city",
+ region = "Qc",
+ uri = "https://hugo.soucy.cc/#hs",
+ },
+
+ paths = {
+ archetypes = "/archetypes",
+ content = "/content",
+ data = "/data",
+ html = "/public_html",
+ static = "/static",
+ templates = "/templates",
+ plugins = "/plugins",
+ },
+}
diff --git a/content/index.json b/content/index.json
@@ -0,0 +1,7 @@
+{
+ "date":"0000-00-00",
+ "datetime":"00:00:00",
+ "id":"tag:soucy.cc,0000-00-00:0000/00/index",
+ "template":"default",
+ "title":"Site web de la famille Soucy"
+}
diff --git a/content/index.md b/content/index.md
@@ -0,0 +1,6 @@
+# Soucy.cc
+
+Site web de la famille Soucy:
+
+* [Hugo](./~hs0ucy/),
+* [Roxanne](http://roxanne.soucy.cc/).
diff --git a/content/self-hosted.json b/content/self-hosted.json
@@ -0,0 +1,7 @@
+{
+ "title": "Self-Hosted",
+ "date": "2019-04-14",
+ "datetime": "14:05:30",
+ "bridgy": "false",
+ "keywords": ["Self-Hosting","OpenBSD"],
+}
diff --git a/content/self-hosted.md b/content/self-hosted.md
@@ -0,0 +1,7 @@
+
+This web site is self-hosted in my living room on a [HP Mini
+110](https://en.wikipedia.org/wiki/HP_Mini#110) who is running on
+[OpenBSD httpd](https://www.openbsd.org/).
+
+For now my IP is dynamic. Soon i'll have to use a service like DynDNS
+or DuckDNS to deal with the change of IP address.
diff --git a/content/~hs0ucy/index.json b/content/~hs0ucy/index.json
@@ -0,0 +1,7 @@
+{
+ "date":"0000-00-00",
+ "datetime":"00:00:00",
+ "feed": false,
+ "id":"tag:soucy.cc,0000-00-00:0000/00/index",
+ "title":"Hello, my name is Hugo Soucy..."
+}
diff --git a/content/~hs0ucy/index.md b/content/~hs0ucy/index.md
@@ -0,0 +1,20 @@
+Hello, my name is **Hugo Soucy**,
+
+I’m a front-end programmer who is interested in
+[OpenBSD](../self-hosted.html) and Web standards, GNU
+Emacs, and [winter] cycling.
+
+I'm currently learning JavaScript library React and the Lua
+programming language by developping a static site generator called
+[Ferron](https://github.com/hs0ucy/Ferron). I would like also learn
+Go, and maybe a Lisp dilalect like Racket.
+
+My dream job would be to be an old school webmaster for a great
+non-profit organization :)
+
+--
+
+¤ [Website](https://hugo.soucy.cc/) ¤
+[GitHub](https://github.com/hs0ucy) ¤
+[Mastodon](https://mastodon.social/@hs0ucy) ¤
+[Twitter](https://twitter.com/hs0ucy) ¤
diff --git a/data/.gitignore b/data/.gitignore
@@ -0,0 +1,4 @@
+# Ignore everything in this directory
+*
+# Except those files
+!.gitignore+
\ No newline at end of file
diff --git a/public_html/.gitignore b/public_html/.gitignore
@@ -0,0 +1,4 @@
+# Ignore everything in this directory
+*
+# Except those files
+!.gitignore+
\ No newline at end of file
diff --git a/static/css/styles.css b/static/css/styles.css
@@ -0,0 +1,488 @@
+/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
+
+/**
+ * 1. Change the default font family in all browsers (opinionated).
+ * 2. Correct the line height in all browsers.
+ * 3. Prevent adjustments of font size after orientation changes in
+ * IE on Windows Phone and in iOS.
+ */
+
+/* Document
+ ========================================================================== */
+
+html {
+ font-family: sans-serif; /* 1 */
+ line-height: 1.15; /* 2 */
+ -ms-text-size-adjust: 100%; /* 3 */
+ -webkit-text-size-adjust: 100%; /* 3 */
+}
+
+/* Sections
+ ========================================================================== */
+
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+
+body {
+ margin: 0;
+}
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+article,
+aside,
+footer,
+header,
+nav,
+section {
+ display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in IE.
+ */
+
+figcaption,
+figure,
+main { /* 1 */
+ display: block;
+}
+
+/**
+ * Add the correct margin in IE 8.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
+ */
+
+a {
+ background-color: transparent; /* 1 */
+ -webkit-text-decoration-skip: objects; /* 2 */
+}
+
+/**
+ * Remove the outline on focused links when they are also active or hovered
+ * in all browsers (opinionated).
+ */
+
+a:active,
+a:hover {
+ outline-width: 0;
+}
+
+/**
+ * 1. Remove the bottom border in Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+
+b,
+strong {
+ font-weight: inherit;
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+
+mark {
+ background-color: #ff0;
+ color: #000;
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+audio,
+video {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in iOS 4-7.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Remove the border on images inside links in IE 10-.
+ */
+
+img {
+ border-style: none;
+}
+
+/**
+ * Hide the overflow in IE.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: sans-serif; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+ text-transform: none;
+}
+
+/**
+ * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+ * controls in Android 4.
+ * 2. Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+html [type="button"], /* 1 */
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Change the border, margin, and padding in all browsers (opinionated).
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
+
+/* Interactive
+ ========================================================================== */
+
+/*
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in Edge, IE, and Firefox.
+ */
+
+details, /* 1 */
+menu {
+ display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+ display: list-item;
+}
+
+/* Scripting
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+canvas {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in IE.
+ */
+
+template {
+ display: none;
+}
+
+/* Hidden
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 10-.
+ */
+
+[hidden] {
+ display: none;
+}
+
+/* Soucy.cc Styles */
+:root {
+ font-size: calc(1vw + 1vh + .5vmin);
+}
+
+html, body {
+ height: 100%;
+}
+
+body {
+ align-items: center;
+ background: #f0f0f0;
+ color: #111;
+ display: flex;
+ font: 1rem/1.6 mono, monospace;
+ height: auto;
+ justify-content: center;
+ min-height: 100%;
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+main {
+ margin: auto;
+ max-width: 71.25rem;
+}
diff --git a/templates/default-index.mustache b/templates/default-index.mustache
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html lang="{{ site.language }}">
+ {{> head }}
+
+ <body id="list" class="list">
+ <main>
+ <div>
+ {{{ content }}}
+ {{# entries }}
+ <ol class="list__list">
+ {{# entries }}
+ <li class="list__item h-entry hentry" id="id{{{ shortlink }}}">
+ <a class="list__link u-url u-uid"
+ href="{{{ permalink }}}">
+ {{{ title }}}
+ </a> —
+
+ <time class="dt-published" datetime="{{{ date }}}T{{{ datetime }}}">{{{ date }}}</time>
+ </li>
+ {{/ entries }}
+ </ol>
+ {{/ entries }}
+ </div>
+ </main>
+ </body>
+</html>
diff --git a/templates/default.mustache b/templates/default.mustache
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="{{ site.language }}">
+ {{> head }}
+
+ <body id="single" class="single">
+ <article class="h-entry hentry">
+ <div class="e-content p-name single">
+ {{{ content }}}
+ </div>
+ </article>
+ </body>
+</html>
diff --git a/templates/feed/atom.mustache b/templates/feed/atom.mustache
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <title>Flux Atom de {{{ site.domainname }}}</title>
+ <subtitle>{{{ site.metas.description }}}</subtitle>
+ <id>tag:{{{ site.domainname }}},{{{ site.created }}}:{{{ site.author.nickname }}}</id>
+ <link href="{{{ site.url }}}/feed.atom.xml" rel="self" type="application/atom+xml"/>
+ <!-- PubSubHubbub Discovery -->
+ <link href="https://bridgy-fed.superfeedr.com/" rel="hub" />
+ <link href="https://pubsubhubbub.superfeedr.com" rel="hub" />
+ <!-- End Of PubSubHubbub Discovery -->
+ <link href="{{{ site.url }}}" rel="alternate" />
+ <updated>{{{ lastupdate }}}Z</updated>
+ <author>
+ <name>{{{ site.author.name }}}</name>
+ <email>{{{ site.author.email }}}</email>
+ <uri>{{{ site.author.uri }}}</uri>
+ </author>
+
+ {{# entries }}
+ <entry>
+ <title>{{{ title }}}</title>
+ <id>{{{ id }}}</id>
+ <link href="{{{ permalink }}}" hreflang="{{{ site.language }}}" rel="alternate" />
+ <updated>{{ updated }}Z</updated>
+ <content type="html" xml:base="{{{ permalink }}}">
+ {{ content }}
+ </content>
+ </entry>
+ {{/ entries }}
+</feed>
diff --git a/templates/feed/rss2.mustache b/templates/feed/rss2.mustache
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="2.0">
+ <channel>
+ <title>Flux RSS 2 de {{{ site.domainname }}}</title>
+ <description>{{{ site.metas.description }}}</description>
+ <lastBuildDate>{{{ lastupdate }}}Z</lastBuildDate>
+ <link>{{{ site.url }}}</link>
+
+ {{# entries }}
+ <item>
+ <title></title>
+ <description>{{ content }}</description>
+ <pubDate>{{ updated }}Z</pubDate>
+ <link>{{{ permalink }}}</link>
+ </item>
+ {{/ entries }}
+ </channel>
+</rss>
diff --git a/templates/partials/footer.mustache b/templates/partials/footer.mustache
@@ -0,0 +1,5 @@
+<footer id="footer">
+ <p>
+ <time datetime="{{ date.update }}T{{ date.updatetime }}">{{ date.update }}</time>.
+ </p>
+</footer>
diff --git a/templates/partials/head.mustache b/templates/partials/head.mustache
@@ -0,0 +1,24 @@
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+
+ <title>{{ title }} — {{ site.domainname }}</title>
+
+ <base href="{{{ site.baseurl }}}" />
+ <link rel="stylesheet" href="{{{ site.baseurl }}}/css/styles.css" />
+ <link href="{{{ site.baseurl }}}/feed.atom.xml" rel="alternate" title="Feed de tous les contenus" type="application/atom+xml" />
+ <link href="{{ permalink }}" hreflang="{{ site.language }}" rel="canonical" />
+
+ <meta name="robots" content="index, follow" />
+ <meta name="author" content="{{ site.author.name }}" />
+ <meta name="generator" content="{{ site.metas.generator }}" />
+
+ {{# description }}
+ <meta name="description" content="{{ description }}" />
+ {{/ description }}
+
+ {{# keywords }}
+ <meta name="keywords" content="{{ keywords }}" />
+ {{/ keywords }}
+</head>