Skip to content

obviateio/hugo-slender-poster

Repository files navigation

Slender Poster

CircleCI GitHub issues GitHub stars

A bootstrap 4 based blog theme for Hugo static-site-generator. Forked from hugo-theme-chunky-poster. Original design was based on the Prisma blog and modified from there.

Note: While based originally on the Chunky Poster theme, several key pieces of functionality were modified, making this theme a not-drop-in-replacement.

Screenshot

Features

  • Multi-author
  • Image processing
  • Basic i18n
  • Prism
  • LazyLoad
  • Commento
  • Image gallery
  • Pagination

Usage

cd your-hugo-side
git submodule add https://github.com/obviateio/hugo-slender-poster.git themes/hugo-slender-poster

or

cd your-hugo-site
git clone https://github.com/obviateio/hugo-slender-poster.git ./themes/hugo-slender-poster

Check out the configuration at exampleSite/config.toml for configuring your Hugo site.

Authors

The authors structure is based on this blog post.

  1. Add the taxonomy "author".

  2. hugo new authors/john-doe/_index.md

  3. Configure the author metadata twitter.

  4. Configure the author metadata images. First image on the list will be used as the avatar and on the profile page. Images are page resources under the author e.g. content/authors/john-doe/image.png.

  5. Assign the author to a content:

    ---
    authors: ["John Doe"]
    ---

Featured images

The images structure is inspired by this blog post.

Step 1 - Create file content/images/index.md with the front matter:

---
headless: true
---

Step 2 - Add the image (ex: your-image.png) to be used as featured image, to content/images (ex: content/images/your-image.png)

Step 3 - Add the featured_image property to your post front matter:

---
featured_image: "your-image.png"
---

Prism

Configure Prism under [params.prismJS] and set enable to true. Change the theme under theme.

[params]
  [params.prismJS]
    enable = true
    theme = "okaidia"

Commento

Configure Commento under [params.commento]. Set enable to true and add the URL at url:

[params]
  [params.commento]
    enable = true
    theme = "https://somename.commento.io"

Share

Enable sharing under params with share set to true and disable per-post sharing by setting share to false in the front matter.

[params]
  share = true
---
share: false
---

Image gallery

The image gallery feature uses the ekko-lightbox and figure shortcode. This is just a simple implementation of the lightbox gallery feature from the library.

Customization

Fork the project and run yarn watch during development.

The application javascript file is located at src/js/app.js.

For customizing SCSS, the main entrypoint is at src/scss/style.scss. Bootstrap variables can be overridden in the _variables.scss file. The theme's styles are located at src/scss/slender-poster.scss.

Credits / Inspirations

Images from Unsplash and Freepik.

License

This theme is released under the MIT license.