Hugo-Plus Theme/Platform

Hugo-Plus

I created a Hugo ‘Theme’ that allow all configuration to be applied on a per-Section basis (with ability to fallback to a file containing defaults). This allows Sections to be individually Themed and or Customized, but by default will be consistent with the rest of the site. All components are built with Bootstrap.

Overview

  • Sections can act as a Taxonomy to aggregate posts. This allows each ‘taxonomy’ content page to have a description and custom content. This is used for the ‘Authors’ Section taxonomy to provide details about an Author (thumbnail, description, social links) while still being able to display an author’s recent posts.

  • Menu system was moved to Section configuration(to support custom menus per Section).

  • Sections can aggregate posts from other sections (‘blog’ can show ‘blog’, ‘series’, etc posts)

  • Content can be hidden with a ‘meta’ parameter. This is used for Authors so they don’t show up on the index page. Author’s list rendering is set to show meta posts.

  • Hugo Plus contains a bunch of ‘Component’ templates

  • ‘Layouts’ are used to specify how these Components are arranged on the Page

  • Custom components can easily be added or swapped without modifying the Layout templates

  • Sections can selectively disable components from being shown by adding the component name to the ‘disabled’ array. This allows a single template to be used on all Sections while allowing Sections to make minor adjustments to which Components are actually shown. For Sections that are heavily customized, they can just have their own Layout.

  • ‘Themes’ just change the visual styling of the components

    • A theme can be marked as ‘is_dark’ so widgets, background, or syntax highlighting styles can be
  • Almost everything has been parameterized, not much is hardcoded. This allows the user to have their settings persist across Layout, Component, and Theme changes.

Currently Provided Addons

  • Custom ‘Bootswap’ component that allows the Bootstrap Theme and settings to be dynamically changed on a genereted Page. The settings
  • Disqus Comment integration
  • Google search box
  • Twitter Timeline widget
  • HighlightJS for syntax highlighting
  • Magnific Popup
  • OpenGraph (limited support)
3 Likes

Hi! I’m new on Hugo and I’m trying to use your theme. How can I add a twitter widget on a page?