Installation #
Below are the ways to get started with the Typo theme.
Getting Started #
First of all, create a new Hugo project as follows:
hugo new site <your site name> --config toml
Downloading the Theme #
Themes are contained in the /themes
directory, there are different ways to get Typo there
Submodule - Recommended
git submodule add --depth=1 https://github.com/tomfran/typo.git themes/typo
git submodule update --init --recursive
Hugo module
Installing Typo as a Hugo module requires Go to be installed in your development environment.
# Initialize your project as a Hugo module
hugo mod init <module_name>
# Install the theme
hugo mod get github.com/tomfran/typo
Then add the following to hugo.toml
:
[module]
[[module.imports]]
path = "github.com/tomfran/typo"
Finally, remove the theme = 'typo'
parameter from hugo.toml
.
Cloning
git clone https://github.com/tomfran/typo themes/typo --depth=1
You need to keep it updated manually by pulling.
Manual download a release
Finally, you can manually download a release and unzip it into the appropriate folder.
Sample Config #
Use those to get started with the theme. You can find a complete overview of the available features here.
Here you can find a repo using this theme.
Site Config #
Here is a sample hugo.toml
config to get started with the theme.
baseURL = 'https://example.org/'
languageCode = 'en-us'
title = 'My website'
theme = 'typo'
[taxonomies]
tag = 'tags'
# Google analytics code
googleAnalytics = "G-xxxxxxxxx"
[params]
# Meta description
description = "A Tech Blog"
# Appearance settings
theme = 'auto'
colorPalette = 'default'
hideHeader = false
# Intro on main page, content is markdown
homeIntroTitle = 'Hi!'
homeIntroContent = """
I am an Italian Software Engineer with a strong foundation in computer science and a passion for solving complex problems.
I am interested in a range of topics, including algorithms, distributed systems, databases, and information retrieval.
"""
# Collection to display on home
homeCollectionTitle = 'Posts'
homeCollection = 'posts'
# Lists parameters
paginationSize = 100
listSummaries = true
listDateFormat = '2 Jan 2006'
# Breadcrumbs
breadcrumbs = true
# Social icons
[[params.social]]
name = "linkedin"
url = "https://www.linkedin.com/in/user/"
[[params.social]]
name = "medium"
url = "https://medium.com/@user"
[[params.social]]
name = "github"
url = "https://github.com/user"
# Main menu pages
[[params.menu]]
name = "home"
url = "/"
[[params.menu]]
name = "posts"
url = "/posts"
[[params.menu]]
name = "about"
url = "/about"
# Syntax highligth on code blocks
[markup]
[markup.highlight]
style = 'algol'
# Giscus comments
[params.giscus]
enable = false
repo = "user/repo"
repoid = "repoId"
category = "General"
categoryid = "categoryId"
mapping = "pathname"
theme = "preferred_color_scheme"
Post Config #
Sample post config.
---
title: "Log-Structured Merge Tree"
date: "2023-11-12"
summary: "An LSM Tree overview and Java implementation."
description: "An LSM Tree overview and Java implementation."
toc: true
readTime: true
autonumber: true
math: true
tags: ["database", "java"]
showTags: false
hideBackToTop: false
---
Support #
If you use the theme or found it useful you can support me by leaving a star :star: to Typo’s Github repository or opening issues and PRs with fixes or new features.