internet-weblog is a minimalistic (and a bit responsive) Hugo theme that offers a traditional blog mixed with a microblog and a photoblog. It also offers the ability to do simple link posts that link to a remote page. It was ported from a theme made for Octopress.
$ mkdir themes
$ cd themes
$ git clone https://github.com/jnjosh/internet-weblog.git
For more information read the official setup guide for Hugo.
There are a few concepts this theme employs to make a personal blog. It’s important to read this as you may not see what you expect upon launching. Since this theme is built to be a personal blog it opts for some simplifications like using the “Section Menu for the Lazy Blogger” option in Hugo for displaying a simple menu. It assumes you want to call your blog posts posts and organizes them as such. For example, creating a new post (or micropost, or photopost) with Hugo would require you typing:
$ hugo new posts/my-new-post.md
$ hugo new microposts/quick-thought.md
$ hugo new photos/my-nyc-vacation.md
It also assumes you want to display links to your sections of content (posts, microposts, photos) and display links to other pages in the menu and requires some setup on your part. This guide will take you through the steps to configure your blog to use the theme.
Configuring your Blog
Where should blog post markdown files be stored?
The theme works with other content types, but posts work best when grouped under posts. When using the posts (note that it is plural) content type you’ll have a customized list page sorted by year and the default list page. Here’s an example:
Recommendation: Organize your blog posts under the posts directory.
How to configure the menu in the blog’s navigation
As mentioned above, this theme takes a simplistic approach to menus. In fact, it doesn’t really support custom menus opting to just use Hugo’s main menu. Because it uses the “Section Menu for the Lazy Blogger” you’ll need to make one change to your config.toml file. Add main as the SectionPagesMenu.
SectionPagesMenu = "main"
Because of this, your individual posts don’t need to organize themselves into menu groupings. Everything is assumed to be grouped at the top level. One exception to this is if you want to add a custom page to the root of the menu. In this case you would want to add menu: main to your page’s Front Matter.
You can control which menu items get an RSS icon and link by adding the RSSSections list to your Params section of your config.toml:
Recommendation: Add SectionPagesMenu to your config.toml file.
Recommendation: Don’t set a menu in your post’s Front Matter unless you want it to display on the navigation.
Recommendation: Customize the menus that get an RSS icon by adding the RSSSections parameter to your config.toml file.
Recommendation: Configure the menu items by adding menu.main sections to your config.toml file.
Defining yourself as the Author
It looks like most themes use the author variable to add something simple like your name. This theme uses more structured data about you and requires an [author] section. The details of what is affected by each property is defined below in the variables section, but you should add this section to your config.toml:
Recommendation: Don’t use the author variable, use the above [author] section in your config.toml.
There are a few entry points for you to customize built in. The most important one is the bio.html partial. The contents of this file are displayed in the left side of the footer. To customize this, add a bio.html file in your site’s directory under layouts/partials.
More details about each of these overrides are below in the overrides section.
Recommendation: Add a layouts/partials/bio.html file to your site that tells your readers about you.
Creating a Link Post
Sometimes you want a post that just links to another website. This can be done by including the externalurl parameter on your individual post. A link post is just a normal post under posts that has this special parameter. For example, on a post talking about some kickstarter project, you can add this to your individual post’s Front Matter:
externalurl = "http://kickstarter.com"
These posts are rendered slightly different with an → to signify that it is remote.
Only if you want to use this theme! 😃
No. Unless you want to call your blog something else.
The theme expects you to override a few files in your blog to finalize the customization of your blog. Below is a list of the files you can override and why you’d want to. To override these, create your own version of the file under layouts/partials—you may need to create this directory.
The footer of the blog features a section about you.
Yes. Otherwise it just has default text.
If you want to customize the 404 not found page, you can update it here.
Probably. The default is pretty plain.
If you need all pages to have your own custom stylesheets referenced, you can do so here.
The footer of the blog features a photo stream. If you want to customize it or use a different source, you can override this behavior.
Did you find a bug or have an ideas for new features? Feel free to use the issue tracker to let me know or make a pull request.
3rd Party Libraries
This theme makes use of the following 3rd Party Libraries.