alex.racine/themes/portfoliGor
Alexandre Racine 1c20e08cb7 Description du site & compte Mastodon
* Améliore la métadonnée
  "Description du site web"

* Ajoute la vérification du compte
  Mastodon dans la balise <head>

Co-Authored-by: Racine Alexandre <alex@alexracine.ch>
2023-09-17 21:11:41 +02:00
..
archetypes Migration du site 2023-09-03 11:11:39 +02:00
assets Infos de contact et responsive layout 2023-09-12 22:26:26 +02:00
i18n Migration du site 2023-09-03 11:11:39 +02:00
layouts Description du site & compte Mastodon 2023-09-17 21:11:41 +02:00
static Migration du site 2023-09-03 11:11:39 +02:00
LICENSE Migration du site 2023-09-03 11:11:39 +02:00
README.md Migration du site 2023-09-03 11:11:39 +02:00
package.json Migration du site 2023-09-03 11:11:39 +02:00
theme.toml Migration du site 2023-09-03 11:11:39 +02:00
yarn.lock Migration du site 2023-09-03 11:11:39 +02:00

README.md

portfoliGor

Yet another HUGO portfolio theme, that I'm writing to my own purpose on https://igor.milhit.ch, published with the regular MIT license.

It displays on the front page a personal and professional description, and ways to contact the person. It has a blog section too.

The HTML <head> has a metadata section to expose metadata that are useful for reference manager as Zotero (in Dublin Core) or to social media (see below).

As the release version can tell, this theme is still in development and misses lot of things [see the opened issues].

You can install it as the HUGO documentation recommends.

Screenshot

Configuration

Personal and professional description

The front page displays, if it exists, the content of the main index markdown file that could be placed at the root of the content directory [HUGO's documentation].

There's also three sections that can be displayed:

  • The online presence.
  • The personal contacts.
  • The professional contacts.

It depends on the data provided by the site configuration, in the params section. Below a comprehensive example:

[params]

    # Professional contact data
    [params.contactsPro]
    address = ""
    phone = "[as-used-by-a-phone]"
    mobile = "[as-used-by-a-phone]"
    email = ""
    cv = "[file-added-in-static-directory]"
    publickey = "[file-added-in-static-directory]"
    fingerprint = ""

    # Personal contact data
    [params.contactsPriv]
    address = ""
    phone = "[as-used-by-a-phone]"
    mobile = "[as-used-by-a-phone]"
    email = ""
    publickey = "[file-added-in-static-directory]"
    fingerprint = ""
    xmpp = "[handle]"

    # Web accounts
    [params.online]
    github = "[username]"
    framagit = "[username]"
    mastodon = "[URL]"
    twitter = "[username]"
    keybase = "[username]"
    wikipedia = "[french-site-username]"
    openstreetmap = "[username]"
    discogs = "[username]"

Layout configuration

  • Add layout: verse to the front header of a specific content to improve format for text in verse. Verse should be separated by a line break, strophes are paragraphs.
  • Add layout: static to the front header of a static page, thus preventing to display the post metadata such as the publication date.

Date management

You should set enableGitInfo to True, as it is used by the post metadata display for the last modification date, and in the footer to provide a link to the last commit modifying the content (still hard coded though, #14).

The publication date uses the date field of the front matter, that should be automatically set by the hugo new command. If the content is published later, you can add the publishdate field manually, and it will override the date data.

All further modification dates should be provided by the git metadata. But you can also set manually the lastmod date in the front matter.

To make it work, in the site configuration file, you should configure the date management as below:

[frontmatter]
date = ["date", "publishDate"]
lastmod = [":git", "lastmod"]

Social media metadata

An image for the website can be defined in the site configuration. Place an image optimized for the web, in the 1200 × 600 pixels resolution, in the static/images/ directory. Then provide in the site configuration it's file name and image description (max 80 chars, with a trailing dot):

[params]

    Description = "[Small website description]"
    Image = "mySite.jpg"
    ImageDescription = "[Alternate text]"

For each content (blog post), a social media image can be defined in the front matter. The image have to be placed in the same directory (static/images/), same resolution. The frontmatter is as follow:

description: "[post-description]"
postimage: "[file-name.extension]"
postimagedescription: "[Alternate text]"

Changelog

The Changelog is described in CHANGELOG.md. It's generated by auto-changelog. The configuration is in .auto-changelog.

To generate it, use the following command:

yarn auto-changelog