From 7b4b78ee8458b16a6167170bf7405d7bf911cfbc Mon Sep 17 00:00:00 2001 From: Francesco Date: Mon, 22 Apr 2024 13:19:56 +0200 Subject: Initial --- .DS_Store | Bin 0 -> 6148 bytes README.md | 12 +- archetypes/default.md | 5 + assets/.DS_Store | Bin 0 -> 6148 bytes assets/css/fonts.css | 41 ++++ assets/css/main.css | 251 +++++++++++++++++++++ assets/css/reset.css | 117 ++++++++++ assets/css/utils.css | 19 ++ assets/css/vars.css | 54 +++++ assets/js/main.js | 1 + content/_index.md | 4 + hugo.toml | 8 + layouts/_default/baseof.html | 31 +++ layouts/_default/home.html | 58 +++++ layouts/_default/list.html | 18 ++ layouts/_default/single.html | 45 ++++ layouts/partials/footer.html | 5 + layouts/partials/head.html | 10 + layouts/partials/head/css.html | 11 + layouts/partials/head/js.html | 12 + layouts/partials/header.html | 20 ++ layouts/partials/math.html | 9 + layouts/partials/pagination-controls.html | 23 ++ layouts/partials/post-entry.html | 4 + misc/readme.png | Bin 0 -> 71886 bytes static/.DS_Store | Bin 0 -> 6148 bytes static/favicon.ico | Bin 0 -> 15406 bytes static/fonts/.DS_Store | Bin 0 -> 6148 bytes static/fonts/Literata/Literata-Light.woff | Bin 0 -> 114960 bytes static/fonts/Literata/Literata-LightItalic.woff | Bin 0 -> 115604 bytes static/fonts/Literata/Literata-SemiBold.woff | Bin 0 -> 117168 bytes static/fonts/Literata/Literata-SemiBoldItalic.woff | Bin 0 -> 118092 bytes static/fonts/Monaspace/MonaspaceArgon-Regular.woff | Bin 0 -> 48612 bytes .../fonts/Monaspace/MonaspaceArgon-SemiBold.woff | Bin 0 -> 49488 bytes theme.toml | 14 ++ 35 files changed, 770 insertions(+), 2 deletions(-) create mode 100644 .DS_Store create mode 100644 archetypes/default.md create mode 100644 assets/.DS_Store create mode 100644 assets/css/fonts.css create mode 100644 assets/css/main.css create mode 100644 assets/css/reset.css create mode 100644 assets/css/utils.css create mode 100644 assets/css/vars.css create mode 100644 assets/js/main.js create mode 100644 content/_index.md create mode 100644 hugo.toml create mode 100644 layouts/_default/baseof.html create mode 100644 layouts/_default/home.html create mode 100644 layouts/_default/list.html create mode 100644 layouts/_default/single.html create mode 100644 layouts/partials/footer.html create mode 100644 layouts/partials/head.html create mode 100644 layouts/partials/head/css.html create mode 100644 layouts/partials/head/js.html create mode 100644 layouts/partials/header.html create mode 100644 layouts/partials/math.html create mode 100644 layouts/partials/pagination-controls.html create mode 100644 layouts/partials/post-entry.html create mode 100644 misc/readme.png create mode 100644 static/.DS_Store create mode 100644 static/favicon.ico create mode 100644 static/fonts/.DS_Store create mode 100644 static/fonts/Literata/Literata-Light.woff create mode 100644 static/fonts/Literata/Literata-LightItalic.woff create mode 100644 static/fonts/Literata/Literata-SemiBold.woff create mode 100644 static/fonts/Literata/Literata-SemiBoldItalic.woff create mode 100644 static/fonts/Monaspace/MonaspaceArgon-Regular.woff create mode 100644 static/fonts/Monaspace/MonaspaceArgon-SemiBold.woff create mode 100644 theme.toml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..8374486 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index 3e3feba..b1cbd0d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ -# typo -A dead simple Hugo theme for your blogs. +![banner](misc/readme.png) + +## Installation +... + +## Features +... + +## Configuration +... \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000..94393c3 Binary files /dev/null and b/assets/.DS_Store differ diff --git a/assets/css/fonts.css b/assets/css/fonts.css new file mode 100644 index 0000000..ece20ea --- /dev/null +++ b/assets/css/fonts.css @@ -0,0 +1,41 @@ +@font-face { + font-family: 'Literata'; + src: url('/fonts/Literata/Literata-Light.woff') format('woff'); + font-weight: light; + font-style: normal; +} + +@font-face { + font-family: 'Literata'; + src: url('/fonts/Literata/Literata-LightItalic.woff') format('woff'); + font-weight: light; + font-style: italic; +} + +@font-face { + font-family: 'Literata'; + src: url('/fonts/Literata/Literata-SemiBold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'Literata'; + src: url('/fonts/Literata/Literata-SemiBoldItalic.woff') format('woff'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'Monaspace'; + src: url('/fonts/Monaspace/MonaspaceArgon-Regular.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Monaspace'; + src: url('/fonts/Monaspace/MonaspaceArgon-SemiBold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} \ No newline at end of file diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..0dc0584 --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,251 @@ +/* BASE */ + +html { + scroll-behavior: smooth; + padding: 0; +} + +body { + font-family: "Literata"; + font-size: 1rem; + color: #222; + line-height: 1.3rem; + margin: auto; + max-width: var(--main-width); + padding-left: var(--main-padding); + padding-right: var(--main-padding); +} + +.content { + min-height: var(--content-height) !important; +} + +h1 { + margin-top: var(--h1-margin-top); + margin-bottom: var(--h1-margin-bottom); + font-size: 2em; +} + +h2 { + margin-top: var(--h2-margin-top); + margin-bottom: var(--h2-margin-bottom); + font-size: 1.5em; +} + +h3, +h4, +h5, +h6 { + font-size: 1.2em; + margin-top: var(--hx-margin-top); + margin-bottom: var(--hx-margin-bottom); +} + +p { + margin-top: var(--p-margin-top); + margin-bottom: var(--p-margin-bottom); +} + +ul { + margin-top: var(--ul-margin-top); + margin-bottom: var(--ul-margin-bottom); +} + +li { + margin-left: var(--li-indent); +} + +a { + text-decoration: underline; +} + +/* Code blocks */ + +pre { + padding: var(--code-padding); + overflow: scroll; + border-radius: var(--code-border-radius); + margin-top: var(--code-margin-top); + margin-bottom: var(--code-margin-bottom); +} + +code { + -webkit-font-smoothing: antialiased; + -moz-font-feature-settings: "liga=1, dlig=1"; + -ms-font-feature-settings: "liga", "dlig"; + -webkit-font-feature-settings: "liga", "dlig"; + -o-font-feature-settings: "liga", "dlig"; + font-feature-settings: "liga", "dlig"; + font-variant-ligatures: contextual; + font-family: "Monaspace"; + font-size: .9em; +} + +/* Latex Overflow */ + +.MathJax { + overflow-x: auto; + overflow-y: hidden; +} + +/* Footnotes */ + +.footnotes { + margin-top: 3rem; + border-style: none; +} + +hr { + border: 1px solid black; + margin-top: 2rem; + margin-bottom: 2rem; +} + + +/* Header */ + +.header { + padding-top: var(--header-top-gap); + margin-bottom: var(--header-bottom-gap); +} + +.header p { + font-family: monospace; + margin-top: var(--header-menu-top-gap); + margin-right: var(--header-menu-side-gap); +} + +.header h1 { + font-size: 2.6em; + margin-bottom: 0; + margin-top: 0; +} + +/* Footer */ + +footer { + font-size: small; + display: flex; + justify-content: center; + align-items: center; + max-height: var(--footer-height); +} + +footer a { + font-family: "Monaspace"; + margin-left: .2rem; + margin-right: .2rem; +} + +/* Posts list */ + +.post-list-container { + margin-bottom: 2rem; +} + +.post-line { + margin-bottom: .5rem; + display: flex; + align-items: baseline; +} + +.post-line p { + margin-top: 0rem; + margin-bottom: 0rem; +} + +.post-date { + font-size: small; + font-family: "Monaspace"; + width: 110px; + text-align: right; + padding-right: 1rem; +} + +.post-title { + margin: 0; +} + +.pagination { + display: flex; + align-items: center; + margin-top: 1rem; + margin-bottom: 1rem; + justify-content: center; +} + +.pagination-control { + min-width: 3rem; + margin-left: .5rem; + margin-right: .5rem; + text-align: center; + align-items: center; +} + +.page-number { + min-width: 3rem; + margin-left: .5rem; + margin-right: .5rem; + display: flex; + align-items: center; + justify-content: center; + align-items: center; + font-weight: bold; +} + +/* Social Icons */ + +.social-icons { + padding: 12px 0; + margin-bottom: 3rem; +} + +.social-icons a { + text-decoration: none; +} + +.social-icons a:not(:last-of-type) { + margin-inline-end: 12px; +} + +.social-icons a svg { + height: 20px; + width: 20px; +} + +/* Single post page */ + +.single-intro-container { + margin-top: 1rem; + margin-bottom: 2rem; +} + +.single-title { + margin-top: 1rem; + margin-bottom: .5rem; +} + +.single-readtime { + margin-top: .5rem; +} + +.single-summary { + font-style: italic; + margin-bottom: 0; +} + +.single-content { + margin-bottom: 6rem; +} + +/* Table of contents */ + +.toc { + margin-top: var(--toc-margin-top); + margin-bottom: var(--toc-margin-bottom); +} + +.toc ul { + margin-top: 0; + margin-bottom: .5rem; +} \ No newline at end of file diff --git a/assets/css/reset.css b/assets/css/reset.css new file mode 100644 index 0000000..a2c9a46 --- /dev/null +++ b/assets/css/reset.css @@ -0,0 +1,117 @@ +*, +::after, +::before { + box-sizing: border-box; +} + +html { + -webkit-tap-highlight-color: transparent; + overflow-y: scroll; + -webkit-text-size-adjust: 100%; + text-size-adjust: 100%; +} + +a, +button, +body, +h1, +h2, +h3, +h4, +h5, +h6 { + color: var(--primary); +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + font-size: 18px; + line-height: 1.6; + word-break: break-word; + background: var(--theme); +} + +article, +aside, +figcaption, +figure, +header, +hgroup, +main, +nav, +section, +table { + display: block; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1, +h2, +h3, +h4, +h5, +h6, +p { + margin-top: 0; + margin-bottom: 0; +} + +ul { + padding: 0; +} + +a { + text-decoration: none; +} + +body, +figure, +ul { + margin: 0; +} + +table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow-x: auto; + word-break: keep-all; +} + +button, +input, +textarea { + padding: 0; + font: inherit; + background: 0 0; + border: 0; +} + +input, +textarea { + outline: 0; +} + +button, +input[type=button], +input[type=submit] { + cursor: pointer; +} + +input:-webkit-autofill, +textarea:-webkit-autofill { + box-shadow: 0 0 0 50px var(--theme) inset; +} + +img { + display: block; + max-width: 100%; +} \ No newline at end of file diff --git a/assets/css/utils.css b/assets/css/utils.css new file mode 100644 index 0000000..d6ab544 --- /dev/null +++ b/assets/css/utils.css @@ -0,0 +1,19 @@ +.flex { + display: flex; +} + +.bold { + font-weight: bold; +} + +.italic { + font-style: italic; +} + +.small { + font-size: medium; +} + +.monospace { + font-family: "Monaspace"; +} \ No newline at end of file diff --git a/assets/css/vars.css b/assets/css/vars.css new file mode 100644 index 0000000..1ec2afd --- /dev/null +++ b/assets/css/vars.css @@ -0,0 +1,54 @@ +:root { + --main-width: 900px; + --main-padding: 1rem; + --main-padding-bottom: 3rem; + + /* header settings */ + --header-top-gap: 1.5rem; + --header-bottom-gap: 2rem; + --header-menu-side-gap: .5rem; + --header-menu-top-gap: 1rem; + + /* Typography */ + --h1-margin-top: 2rem; + --h1-margin-bottom: 2rem; + --h2-margin-top: 2rem; + --h2-margin-bottom: 2rem; + --hx-margin-top: 1rem; + --hx-margin-bottom: 1rem; + --p-margin-top: 1rem; + --p-margin-bottom: 1rem; + --code-margin-top: 2rem; + --code-margin-bottom: 2rem; + + /* List indentation */ + --li-indent: 1.5rem; + --ul-margin-top: 1rem; + --ul-margin-bottom: 1rem; + + --toc-margin-top: 2rem; + --toc-margin-bottom: 3rem; + + /* code */ + --code-padding: 1.5rem; + --code-border-radius: 20px; + + /* Footer */ + --footer-height: 3rem; + + /* Content */ + --content-height: calc(100vh - var(--footer-height)); +} + +@media screen and (max-width: 1024px) { + :root { + --main-width: 750px; + --header-top-gap: 1rem; + } +} + +@media screen and (max-width: 640px) { + :root { + --header-top-gap: .5rem; + } +} \ No newline at end of file diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..e2aac52 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1 @@ +console.log('This site was generated by Hugo.'); diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..2f99648 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,4 @@ ++++ +title = 'Home' +draft = false ++++ diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..0456687 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,8 @@ +baseURL = 'https://example.org/' +languageCode = 'en-us' +title = 'typo' + +[module] +[module.hugoVersion] +extended = false +min = "0.116.0" diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..eef7b25 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,31 @@ + + + + + {{ partial "head.html" . }} + {{ if .Param "math" }} + {{ partialCached "math.html" . }} + {{ end }} + + + + +
+
+ {{ partial "header.html" . }} +
+ +
+ {{ block "main" . }}{{ end }} +
+
+ + + + + + + \ No newline at end of file diff --git a/layouts/_default/home.html b/layouts/_default/home.html new file mode 100644 index 0000000..bc3aad8 --- /dev/null +++ b/layouts/_default/home.html @@ -0,0 +1,58 @@ +{{ define "main" }} + +{{ .Content }} + +{{/* Intro summary section */}} +{{ if .Site.Params.homeIntro }} + +
+ {{ if .Site.Params.homeIntroTitle }} +

{{ .Site.Params.homeIntroTitle }}

+ {{ end }} + + {{ if .Site.Params.homeIntroContent }} +

{{ .Site.Params.homeIntroContent | markdownify }}

+ {{ end }} +
+ +{{ end }} + +{{/* Social Icons */}} + +{{ with site.Params.social }} +
+ {{- range . }} + + {{ partial "svg.html" . }} + + {{- end }} +
+{{ end }} + +{{/* Collection Section */}} + +{{ if .Site.Params.homeCollection }} + +{{ with .Site.Params.homeCollectionTitle}} +

{{ . }}

+{{ end }} + +{{ $pages := where .Site.RegularPages "Section" .Site.Params.homeCollection }} + +{{ $paginationSize := 1}} +{{ if (gt .Site.Params.paginationSize 0) }} +{{ $paginationSize = .Site.Params.paginationSize }} +{{ end }} + +{{ $paginator := .Paginate $pages $paginationSize }} + +{{ range $index, $page := $paginator.Pages }} +{{ partial "post-entry.html" $page}} +{{ end }} + +{{ partial "pagination-controls.html" $paginator}} + +{{ end }} + +{{ end }} \ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..8c52a86 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,18 @@ +{{ define "main" }} +

{{ .Title }}

+{{ .Content }} + +{{ $paginationSize := 1}} +{{ if (gt .Site.Params.paginationSize 0) }} +{{ $paginationSize = .Site.Params.paginationSize }} +{{ end }} + +{{ $paginator := .Paginate (.Pages) $paginationSize }} + +{{ range $index, $page := $paginator.Pages }} +{{ partial "post-entry.html" $page}} +{{ end }} + +{{ partial "pagination-controls.html" $paginator}} + +{{ end }} \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..b68da6c --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,45 @@ +{{ define "main" }} + +{{/* Intro */}} + +
+ + {{/* Title and Summary */}} + +

{{ .Title }}

+ {{if .Param "summary" }} +

{{ .Summary }}

+ {{ end }} + + {{/* Reading Time */}} + +

+ {{if .Date }} + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + - + {{end}} + {{if (.Param "readTime")}} + {{.ReadingTime}} min + {{end }} +

+ +
+ +{{/* Table of Content */}} + +{{if .Param "toc" }} + +{{ end }} + +{{/* Actual document content */}} + +
+ {{ .Content }} +
+ +{{ end }} \ No newline at end of file diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..65f97aa --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,5 @@ +

Powered by + Hugo + {{/* and + tomfran/typo */}} +

\ No newline at end of file diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..a16d7ea --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,10 @@ + + +{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }} +{{ partialCached "head/css.html" . }} +{{ partialCached "head/js.html" . }} + + +{{ if hugo.IsProduction }} +{{ template "_internal/google_analytics.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/head/css.html b/layouts/partials/head/css.html new file mode 100644 index 0000000..abca3b8 --- /dev/null +++ b/layouts/partials/head/css.html @@ -0,0 +1,11 @@ +{{- $CSS := slice +(resources.Get "css/reset.css") +(resources.Get "css/vars.css") +(resources.Get "css/utils.css") +(resources.Get "css/fonts.css") +(resources.Get "css/main.css") | +resources.Concat "assets/combined.css" | +minify | +fingerprint }} + + \ No newline at end of file diff --git a/layouts/partials/head/js.html b/layouts/partials/head/js.html new file mode 100644 index 0000000..18fe842 --- /dev/null +++ b/layouts/partials/head/js.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/main.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..92da9a7 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,20 @@ +{{/* Header */}} + +
+

{{ site.Title }}

+ +
+ {{ $currentPage := . }} + + {{ with site.Params.menu }} + {{ range . }} +

+ + /{{.name }} + +

+ {{ end }} + {{ end }} + +
+
\ No newline at end of file diff --git a/layouts/partials/math.html b/layouts/partials/math.html new file mode 100644 index 0000000..59a0b2d --- /dev/null +++ b/layouts/partials/math.html @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/layouts/partials/pagination-controls.html b/layouts/partials/pagination-controls.html new file mode 100644 index 0000000..b26d609 --- /dev/null +++ b/layouts/partials/pagination-controls.html @@ -0,0 +1,23 @@ +{{ if gt .TotalPages 1 }} + +{{ end }} \ No newline at end of file diff --git a/layouts/partials/post-entry.html b/layouts/partials/post-entry.html new file mode 100644 index 0000000..f3f2a23 --- /dev/null +++ b/layouts/partials/post-entry.html @@ -0,0 +1,4 @@ +
+ +

{{ .Title }}

+
\ No newline at end of file diff --git a/misc/readme.png b/misc/readme.png new file mode 100644 index 0000000..1073e9f Binary files /dev/null and b/misc/readme.png differ diff --git a/static/.DS_Store b/static/.DS_Store new file mode 100644 index 0000000..e1b066b Binary files /dev/null and b/static/.DS_Store differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..67f8b77 Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/fonts/.DS_Store b/static/fonts/.DS_Store new file mode 100644 index 0000000..3c6e5dd Binary files /dev/null and b/static/fonts/.DS_Store differ diff --git a/static/fonts/Literata/Literata-Light.woff b/static/fonts/Literata/Literata-Light.woff new file mode 100644 index 0000000..bfc63d9 Binary files /dev/null and b/static/fonts/Literata/Literata-Light.woff differ diff --git a/static/fonts/Literata/Literata-LightItalic.woff b/static/fonts/Literata/Literata-LightItalic.woff new file mode 100644 index 0000000..0699d5a Binary files /dev/null and b/static/fonts/Literata/Literata-LightItalic.woff differ diff --git a/static/fonts/Literata/Literata-SemiBold.woff b/static/fonts/Literata/Literata-SemiBold.woff new file mode 100644 index 0000000..0fa567d Binary files /dev/null and b/static/fonts/Literata/Literata-SemiBold.woff differ diff --git a/static/fonts/Literata/Literata-SemiBoldItalic.woff b/static/fonts/Literata/Literata-SemiBoldItalic.woff new file mode 100644 index 0000000..a596fde Binary files /dev/null and b/static/fonts/Literata/Literata-SemiBoldItalic.woff differ diff --git a/static/fonts/Monaspace/MonaspaceArgon-Regular.woff b/static/fonts/Monaspace/MonaspaceArgon-Regular.woff new file mode 100644 index 0000000..adcd7ba Binary files /dev/null and b/static/fonts/Monaspace/MonaspaceArgon-Regular.woff differ diff --git a/static/fonts/Monaspace/MonaspaceArgon-SemiBold.woff b/static/fonts/Monaspace/MonaspaceArgon-SemiBold.woff new file mode 100644 index 0000000..26b60db Binary files /dev/null and b/static/fonts/Monaspace/MonaspaceArgon-SemiBold.woff differ diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..416f7a5 --- /dev/null +++ b/theme.toml @@ -0,0 +1,14 @@ +name = 'Typo' +license = 'MIT' +licenselink = 'https://github.com/tomfran/typo/LICENSE' +description = 'A simple Hugo theme' + +homepage = 'https://github.com/tomfran/typo' + +demosite = 'https://tomfran.github.io/' + +tags = ['blog'] + +[author] +name = 'Francesco Tomaselli' +homepage = 'https://tomfran.github.io/' -- cgit v1.2.3