πŸ”₯ Hugo website builder, Hugo themes & Hugo CMS. No code, build with widgets!



Wowchemy Website Builder

Wowchemy: the website builder for Hugo

Join 750,000+ Sites. No Code. Easily Create Future-Proof Websites ✏️ πŸ“° πŸš€

πŸ”₯ 1. Create any kind of website for free with widgets - from landing pages, knowledge bases, and courses to academic resumΓ©s, conferences, and tech blogs

🎨 2. Personalize a beautiful starter template with 50+ light/dark color themes, language packs, and widgets

πŸ›‹ 3. Write from your sofa or on the go with the integrated open source Content Management System (CMS)

Check out the latest demos of what you'll get in less than 10 minutes, or get inspired by user stories.

Crowd-funded open-source software

To help us develop this template and software sustainably under the MIT license, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship.

❀️ Unlock rewards by supporting this open source software ❀️


  • Hugo Academic CLI: Automatically import academic publications from BibTeX
  • Awesome Hugo: Scripts to help migrate content to new versions of Hugo



Key features:

  • Page builder - Create anything with widgets and elements
  • Edit any type of content - Blog posts, publications, talks, slides, projects, and more!
  • Create content in Markdown, Jupyter, or RStudio
  • Plugin System - Fully customizable color and font themes
  • Display Code and Math - Code highlighting and LaTeX math supported
  • Integrations - Google Analytics, Disqus commenting, Maps, Contact Forms, and more!
  • Beautiful Site - Simple and refreshing one page design
  • Industry-Leading SEO - Help get your website found on search engines and social media
  • Media Galleries - Display your images and videos with captions in a customizable gallery
  • Mobile Friendly - Look amazing on every screen with a mobile friendly version of your site
  • Multi-language - 34+ language packs including English, δΈ­ζ–‡, and PortuguΓͺs
  • Multi-user - Each author gets their own profile page
  • Privacy Pack - Assists with GDPR
  • Stand Out - Bring your site to life with animation, parallax backgrounds, and scroll effects
  • One-Click Deployment - No servers. No databases. Only files.


Wowchemy comes with automatic day (light) and night (dark) mode built-in. Alternatively, click the moon icon in the top right of one of the Demos to set your preferred mode!

Choose a stunning theme for your site and customize it to your liking:


Browse more templates and themes...

The Future of Technical Content Writing

Writing technical content

Join the community

Feel free to star the project on Github, join the community on Discord, and follow @wowchemy on Twitter to be the first to hear about new features.


Copyright 2016-present George Cushen.

The Wowchemy Hugo Themes repository is released under the MIT license.


  • Updated reveal.js to v 4.10

    Updated reveal.js to v 4.10


    Update reveal.js to v4.10 and include some additional useful plugints, addresses #1802 Update also adds chalkboard and menu plugins.


    Please note while this update works, it requires the following: 1- testing that mathjax and speaker notes work (currently works on my setup, mac + safari) 2- I think it is possible to make presentations configurable from front matter of slides. I am not familiar with hugo templating to make this work, and hope someone can give guidance or assist with this.

    opened by koutbo6 62
  • Add data visualization feature

    Add data visualization feature

    It might be a good idea to integrate chart.js to the theme as default and leave an option in the config file. image examples

    opened by renegades12 27
  • Widgets: Add a People widget

    Widgets: Add a People widget


    I am currently trying to set up a new website for my lab, and I truly love the Academic theme for Hugo! Very, very good job! Perfect for what I'm looking for.

    One piece I am missing though would be a specific widget for people. I know I could use a custom widget, for instance based on Teaching, but what I want is a layout similar to the Projects widget: a grid of people with their portraits, and a toolbar to filter them (in my case: "All", "Current" and "Alumni").

    I have been able to work around it duplicating the project widget (and associated html page), as well as the CSS and JS pieces (into custom CSS and JS files), replacing every instance of project/projects by people. It almost works, with the same problem as #100, in which filtering in the toolbar seems to be global, and filters both Projects and People.

    In other words, this is redundant to #100 in the sense that the essential problem is to be able to reuse the filter toolbar, but I also think that a People widget makes a lot of sense for an academic website.


    enhancement needs investigation 
    opened by basille 26
  • Import publication list from BibTeX

    Import publication list from BibTeX

    Unless I am mistaken users have to manually populate half a dozen fields for each new publication created in content/publication/. Most users will already have this data stored in other structured formats such as BibTeX. Would it be possible to...

    1. Parse publications from a user supplied .bib file, perhaps also allowing users to specify which @bibtexkeys are promoted?
    2. Grab such a list from the ORCID, Google Scholar or Mendeley handles given in config.toml ?
    opened by johnghill 22
  • = v0.65 < 0.69">

    "Homepage not found" error after upgrading Hugo >= v0.65 < 0.69

    After I upgrade my Hugo to 0.67.0 and Academics to 4.8, I began to get the following error message when I execute blogdown::build_site(): Homepage not found or duplicate homepages detected for a localization!.

    Before the upgrade, it was compiling without any problem, everything was good.

    The source code of my web site is found at https://gitlab.com/ogurcan/web-site/-/tree/upgradeHugo67Academic48

    Can anyone help me? What could be the problem? I did all the breaking changes of the Academics releases, but still getting the same error.

    upstream stale 
    opened by ogurcan 22
  • Talks widget: Enable separating Upcoming and Past talks into two sections

    Talks widget: Enable separating Upcoming and Past talks into two sections

    I use Academic for a seminar webpage where we store upcoming and past talks. Currently, the talks widget displays every talks, upcoming or not, and is thus not really practical for this kind of usage.

    I've added these changes:

    • partials/widgets/talk: "Automatically" separate upcoming and past (automatically = at each building and not, obviously, dynamically)
    • partials/talk_li_simple and partials/talk_li_detailed: Display authors on homepage (if available)

    If you guys think this could be relevant for you too, I could send a PR. Proposed changes and options do not change the default behavior of Hugo Academic (= display every talks). I believe this can also be useful for a lab webpage if they hold a regular seminar.


    More precisly, I added some options to the widgets/talks.md:

    • order: ascending or descending order (usefull for what follows)
    • exclude_past (resp. exclude_upcoming): when true the widget will exclude the past (resp. upcoming) talks. As we are dealing with static website, the dates of talks are compared to the now function and hence to the last building date.

    These 2 last options allow me to re-use the talks widget: one for the past (descending order), one for the upcoming (ascending order), without having to move or change the talks/files.md. And if a talk has been given, I just have to rebuild the website to move it to the "past" part without having to move a file (and hence modify its URL).

    I also get rid of legacy scratch functions.

    PS : in the talk layout, there is a small error: "Event" is shown even if there is "no" event.

    opened by Bertbk 21
  • Add a teaching widget

    Add a teaching widget

    Teaching has some interesting meta-data, too, and I wonder whether other people might find such a widget useful as well. It might be quite similar to talks or publication, except with a different set of metadata:

    • University (where the class took place)
    • Kind: Section/Tutorial, Seminar, Lecture
    • Academic Year / Quarter etc.
    • Academic program the class is a part of
    help wanted needs investigation stale 
    opened by maxheld83 21
  •  failed to extract shortcode: template for shortcode

    failed to extract shortcode: template for shortcode "alert" not found


    Launched with netlify Git cloned github page from terminal ran $ hugo server -D --> Error building failed to extract shortcode: template for shortcode "alert" not found

    opened by musm 19
  • TOC for blog posts

    TOC for blog posts

    Feature Request

    some of my blog posts are very long. Is it possible to get a TOC for blog posts?

    It would be nice to have something like a floating TOC that can be done when rendering as html, or like with the "courses" page

    opened by derekmichaelwright 19
  • Several authors for project

    Several authors for project

    With the new multi-user feature in academic, it would be consistent to have multiple authors for a project.

    opened by PierreMarchand20 18
  • Update Academicons font library to v1.9.1

    Update Academicons font library to v1.9.1


    This PR updates the Academicons font library to the latest version (v1.9.1). This fixes issue #2465. Even though that issue is already closed, the latest version contains some stylistic consistency fixes.

    opened by mitchellolsthoorn 0
  • split ridiculously long line into multiple lines

    split ridiculously long line into multiple lines

    a minor formatting change that should have no impact on page function


    improves legibility



    opened by 7yl4r 0
  • Add phonetic annotations

    Add phonetic annotations


    In CJK languages, it is natural to mark the pronunciation above the text.

    Thanks for your suggestions, I added a specific structure instead of modifying content. So now this will not influence the SEO and so on.

    If you specific the anno, it will render <ruby></ruby>. If you leave it blank, it doesn't cause side effects.



    # Display name
    title: εΌ δΈ‰
    # Display pronunciation
    anno: Zhang San
    # Is this the primary user of the site?
    superuser: true
    # Role/position/tagline
    role: Professor of Artificial Intelligence
    # Organizations/Affiliations to show in About widget
    - name: Stanford University
      url: https://www.stanford.edu/
    # Short bio (displayed in user profile at end of posts)
    bio: My research interests include distributed robotics, mobile computing and programmable matter.
    # Interests to show in About widget
    - Artificial Intelligence
    - Computational Linguistics
    - Information Retrieval
    # Education to show in About widget
      - course: PhD in Artificial Intelligence
        institution: Stanford University
        year: 2012
      - course: MEng in Artificial Intelligence
        institution: Massachusetts Institute of Technology
        year: 2009
      - course: BSc in Artificial Intelligence
        institution: Massachusetts Institute of Technology
        year: 2008
    # Social/Academic Networking
    # For available icons, see: https://wowchemy.com/docs/getting-started/page-builder/#icons
    #   For an email link, use "fas" icon pack, "envelope" icon, and a link in the
    #   form "mailto:[email protected]" or "/#contact" for contact widget.
    - icon: envelope
      icon_pack: fas
      link: '/#contact'
    - icon: twitter
      icon_pack: fab
      link: https://twitter.com/GeorgeCushen
    - icon: graduation-cap  # Alternatively, use `google-scholar` icon from `ai` icon pack
      icon_pack: fas
      link: https://scholar.google.co.uk/citations?user=sIwtMXoAAAAJ
    - icon: github
      icon_pack: fab
      link: https://github.com/gcushen
    - icon: linkedin
      icon_pack: fab
      link: https://www.linkedin.com/
    # Link to a PDF of your resume/CV.
    # To use: copy your resume to `static/uploads/resume.pdf`, enable `ai` icons in `params.toml`,
    # and uncomment the lines below.
    # - icon: cv
    #   icon_pack: ai
    #   link: uploads/resume.pdf
    # Enter email to display Gravatar (if Gravatar enabled in Config)
    email: ""
    # Highlight the author in author lists? (true/false)
    highlight_name: true
    opened by kazutoiris 0
  • The optional

    The optional "Feature Image" with default content shouldn't be there of wowchemycms

    Describe the bug

    The optional "Feature Image" with default content shouldn't be there when create new content on wowchemycms.

    To Reproduce

    Steps to reproduce the behavior:

    1. Go to '/admin' wowochemycms
    2. Click on 'New Post'

    Please find the attached screenshot.

    Expected behavior

    Without these default content on these optional fields.

    Technical details:

    • Wowchemy Version (from your go.mod): github.com/wowchemy/wowchemy-hugo-modules/v5 v5.3.0
    • Hugo Version (run hugo version): 0.87.0
    • Browser/OS: Any
    • Wowchemy Template (e.g. Academic):starter-academic

    If applicable, add screenshots to help explain the issue.


    opened by tanshuai 2
  • Add video support for `hero_media`

    Add video support for `hero_media`


    This PR attempts to address issue #949 by adding video support for hero_media. Feel free to comment, I only tested it with a local .mp4 I put in my assets/media folder and it was fine (I also tested that the previous options β€”imagesβ€” worked too).

    opened by rodrigoalcarazdelaosa 6
  • Migrate to Hugo's v0.86 cascade system for setting page collection options

    Migrate to Hugo's v0.86 cascade system for setting page collection options

    Currently, we have our own system for this purpose, such as for comments > commentable in params.yaml.

    Moving to Hugo's system may simplify the experience whilst providing a common way to set page collection options.

    opened by gcushen 0
  • wowchemy v5.2.0 Slider widget: left/right aligned text + overlay_filter issue

    wowchemy v5.2.0 Slider widget: left/right aligned text + overlay_filter issue

    After updating to wowchemy v5.2.0, I am having the following issues with text display in the slider widget.

    1. Setting align to left or right, the text now overlaps the carousel control.
    2. Applying overlay_filter now dims the text too, not just the image

    The text in these two images are left aligned. The first has overlay_filter: 0.0 no_filter

    And this one is set overlay_filter: 0.3 filter_0_3

    YAML formated Markdown file

    active: true  
    headless: true  
    height: 250px
    interval: false
    - title: The Istmobiome Project
      align: center 
      content: a microbial tale told in two oceans
      overlay_color: '#1f4e74FF' # An HTML color value.
      overlay_filter: 0.0 
      overlay_img: ''   
    - title: The Isthmus of Panama Changed the World...
      align: center 
      content: Three million years ago an experiment began
      overlay_color: '#1f4e74FF'
      overlay_filter: 0.0
      overlay_img: ''
    - title: '...on Land...'
      align: right 
      content: it connected two continents
      overlay_color: '#333'
      overlay_filter: 0.0
      overlay_img: site_banner/land.jpg
    - title: '...in the Sea.'
      align: right 
      content: 'it divided one ocean. '
      overlay_color: '#333'
      overlay_filter: 0.7
      overlay_img: site_banner/sea.jpg
    - title: ''
      align: center 
      content: Learn more about this website & the grant that supports the work---*Divergence
        of Marine Symbiosis After the Rise of the Isthmus of Panama*.
      cta_icon: info
      cta_icon_pack: fas
      cta_label: More Information
      cta_url: about/
      overlay_color: '#1f4e74FF'
      overlay_filter: 0.0
      overlay_img: ''
    weight: 10 
    widget: slider  

    Technical details:

    • Link to your GitHub project: https://github.com/istmobiome/istmobiome-web
    • Wowchemy Version (from your go.mod): v0.0.0-20210525210730-89d079bcf055
    • Hugo Version hhugo v0.83.1-5AFE0A57+extended darwin/amd64 BuildDate=2021-05-02T14:38:05Z VendorInfo=gohugoio
    • Browser/OS: OS X 10.14.6
    opened by jarrodscott 7
  • Support multi-lingual content folders in the CMS

    Support multi-lingual content folders in the CMS

    Feature Request

    Is your feature request related to a problem? Please describe. Right now Wowchemy CMS does not work with multi-lingual sites having different folders for the different languages.

    Describe the solution you'd like To be able to create a file such as this one inside a language folder.

    Describe alternatives you've considered Hugo's alternative multi-lingual approach may be a workaround.

    Additional context Empty Wowchemy CMS, even though the site has plenty of content (live here) Captura de pantalla 2021-03-18 a las 23 13 07

    enhancement upstream 
    opened by rodrigoalcarazdelaosa 5
  • πŸ‘©β€πŸ’» Collaborators wanted!

    πŸ‘©β€πŸ’» Collaborators wanted!

    We have an exciting roadmap ahead and want to keep the pulse of the project beating fast and steady.

    Are you someone who wants to take an active role in improving the Wowchemy website builder and templates?

    Look at the areas we need help with:

    • Community - help users on Discord and GitHub Discussions
    • Community - create Wowchemy tutorials and raise awareness of new features on your blog or Youtube etc.
    • Development - contribute a Pull Request to help resolve issues, especially those tagged with help wanted
    • Development - review Issues and Pull Requests
    • Development - further refactor, modularise, and optimise code according to the latest best practices for Hugo, JS, etc.
    • Development - maintaining the starter templates to keep them in-sync with the latest Hugo Modules

    Where can you start?

    opened by gcushen 0
  • Change behaviour of Book menu to collapse/expand chapters

    Change behaviour of Book menu to collapse/expand chapters

    Less important now that we have #1964 , but may still be useful with large book menus in Desktop view.

    Requires further investigation.

    enhancement help wanted needs investigation 
    opened by gcushen 1
For empowering scientific & technical content creators 🌱
A collection of themes created by the Hugo community

Hugo themes A collection of themes created by the Hugo community. Builds to themes.gohugo.io. Having questions? Have a look at the FAQ first. Adding a

GoHugo.io 46 Oct 22, 2021
Go Server/API boilerplate using best practices DDD CQRS ES gRPC

Go Server/API boilerplate using best practices DDD CQRS ES gRPC

RafaΕ‚ Lorenz 481 Oct 15, 2021
A user-friendly CMS written in Go (golang)

Fragmenta CMS Fragmenta CMS is a user-friendly Content Management System built with Go. For more information and a demo of the CMS in action, see the

Fragmenta 577 Sep 22, 2021
Remark42 is a self-hosted, lightweight, and simple comment engine

Remark42 is a self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments.

Umputun 3.1k Oct 18, 2021
verless is a Static Site Generator designed for Markdown-based content

verless (pronounced like serverless) is a Static Site Generator designed for Markdown-based content with a focus on simplicity and performance. It reads your Markdown files, applies your HTML templates and renders them as a website.

verless 286 Oct 19, 2021
App Twittor

Documentacion App Esta app utiliza el siguiente stack: Github, Heroku, Postman, MongoDB, Golang Crear un Cluster de Base de Datos en la Nube con Mongo

Hugo Orlando 0 Oct 17, 2021
Forms is a fast, powerful, flexible, sortable web form rendering library written in golang.

forms Description forms makes form creation and handling easy. It allows the creation of form without having to write HTML code or bother to make the

coscms 19 Sep 20, 2021
A fast clone of the Jekyll blogging engine, in Go

Gojekyll Gojekyll is a partially-compatible clone of the Jekyll static site generator, written in the Go programming language. It provides build and s

Oliver Steele 68 Oct 17, 2021
A golang framework helps gopher to build a data visualization and admin panel in ten minutes

the missing golang data admin panel builder tool. Documentation | 中文介绍 | DEMO | δΈ­ζ–‡DEMO | Twitter | Forum Inspired by laravel-admin Preface GoAdmin is

GoAdmin 5.4k Oct 25, 2021
Self-hosted video-hosting website and video archival manager for Niconico, Bilibili, and Youtube

Self-hosted video-hosting website and video archival manager for Niconico, Bilibili, and Youtube

null 418 Oct 16, 2021
Plenti Static Site Generator with Go backend and Svelte frontend

Plenti Static Site Generator with Go backend and Svelte frontend Website: https://plenti.co Requirements ❗ You must have NodeJS version 13 or newer As

Plentico 629 Oct 18, 2021
Azanul Haque 7 Oct 1, 2021
A lightweight transactional message bus on top of RabbitMQ

grabbit A lightweight transactional message bus on top of RabbitMQ supporting: Supported Messaging Styles One Way (Fire and forget) Publish/Subscribe

WeWork 81 Oct 22, 2021
Hajimari is a beautiful & customizable browser startpage/dashboard with Kubernetes application discovery.

Hajimari ?? ...The beginning of a pleasant experience Features Web search bar Dynamically list apps discovered from Kubernetes ingresses Support for n

Toboshii Nakama 82 Oct 11, 2021
:construction: Closed. A website and user system (Gin/Backbone).

A website and user system starter. Implemented with gin and Backbone. Gowall is port of Drywall Go Node.js Repository here Drywall Site Gowall Drywall

Petr 34 Jul 6, 2020
Birthdays is a web service that stores the birthday date of users and calculates the remaining days until the user's birthday.

Birthdays is a web service that stores the birthday date of users and calculates the remaining days until the user's birthday. Features Metrics servic

Hugo Meneses 0 Oct 17, 2021
Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.

Focalboard Like what you see? ?? Give us a GitHub Star! ⭐ Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. It helps

Mattermost 5.3k Oct 23, 2021
Beautifully simple single author blog in Go - derived from Bear Blog.

Polar Bear Blog ??‍❄️ Lightweight blogging system for a single author. Written in Go and deploys to your own GCP project with a few commands. It's a d

Joseph Spurrier 21 Sep 26, 2021
Lazyload module with golang

Install & Use Other installation options Disable global-sidecar Use cluster unique global-sidecar Introduction of features Automatic ServiceFence gene

null 2 Oct 15, 2021