5.8 KiB
date | linktitle | menu | next | title | weight | ||||
---|---|---|---|---|---|---|---|---|---|
2013-07-01 | Introduction |
|
/overview/quickstart | Introduction to Hugo | 5 |
What is Hugo?
Hugo is a general-purpose website framework. Technically speaking, Hugo is a static site generator. This means that, unlike systems like WordPress, Ghost and Drupal, which run on your web server expensively building a page every time a visitor requests one, Hugo does the building when you create your content. Since websites are viewed far more often than they are edited, Hugo is optimized for website viewing while providing a great writing experience.
Sites built with Hugo are extremely fast and very secure. Hugo sites can be hosted anywhere, including Heroku, GoDaddy, DreamHost, GitHub Pages, Amazon S3 and CloudFront, and work well with CDNs. Hugo sites run without dependencies on expensive runtimes like Ruby, Python or PHP and without dependencies on any databases.
We think of Hugo as the ideal website creation tool. With nearly instant build times and the ability to rebuild whenever a change is made, Hugo provides a very fast feedback loop. This is essential when you are designing websites, but also very useful when creating content.
How fast is Hugo?
{{% youtube CdiDYZ51a2o %}}
What does Hugo do?
In technical terms, Hugo takes a source directory of Markdown files and templates and uses these as input to create a complete website.
Hugo boasts the following features:
General
- Extremely fast build times (~1 ms per page)
- Completely cross platform: Runs on Mac OS X, Linux, Windows, and more!
- Easy installation
- Render changes on the fly with LiveReload as you develop
- Complete theme support
- Host your site anywhere
Organization
- Straightforward organization
- Support for website sections
- Completely customizable URLs
- Support for configurable taxonomies which includes categories and tags. Create your own custom organization of content
- Ability to sort content as you desire
- Automatic table of contents generation
- Dynamic menu creation
- Pretty URLs support
- Permalink pattern support
- Aliases (redirects)
Content
- Content written in Markdown
- Support for TOML, YAML and JSON metadata in frontmatter
- Completely customizable homepage
- Support for multiple content types
- Automatic and user defined summaries
- Shortcodes to enable rich content inside of Markdown
- "Minutes to Read" functionality
- "Wordcount" functionality
Additional Features
- Integrated Disqus comment support
- Automatic RSS creation
- Support for Go, Amber and Ace HTML templates
- Syntax highlighting powered by Pygments
See what's coming next in the roadmap.
Who should use Hugo?
Hugo is for people that prefer writing in a text editor over a browser.
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
Hugo is for people building a blog, company site, portfolio, tumblog, documentation, single page site or a site with thousands of pages.
Why did you write Hugo?
I wrote Hugo ultimately for a few reasons. First, I was disappointed with WordPress, my then website solution. It rendered slowly. I couldn't create content as efficiently as I wanted to and needed to be online to write posts. The constant security updates and the horror stories of people's hacked blogs. I hated how content was written in HTML instead of the much simpler Markdown. Overall, I felt like it got in my way more than it helped me from writing great content.
I looked at existing static site generators like Jekyll, Middleman and nanoc. All had complicated dependencies to install and took far longer to render my blog with hundreds of posts than I felt was acceptable. I wanted a framework to be able to get rapid feedback while making changes to the templates, and the 5+-minute render times was just too slow. In general, they were also very blog minded and didn't have the ability to have different content types and flexible URLs.
I wanted to develop a fast and full-featured website framework without dependencies. The Go language seemed to have all of the features I needed in a language. I began developing Hugo in Go and fell in love with the language. I hope you will enjoy using (and contributing to) Hugo as much as I have writing it.