Adding an introduction to Hugo

This commit is contained in:
spf13 2014-02-20 19:03:37 -05:00
parent 82fdfa2c72
commit 30e804eee5

View file

@ -0,0 +1,99 @@
---
title: "Introduction to Hugo"
date: "2013-07-01"
groups: ['gettingStarted']
linktitle: "Introduction"
groups_weight: 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 & 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 then they are
edited, Hugo is optimized for website viewing without sacrificing a great
writing experience.
Sites built with hugo are extremely fast and very secure. Hugo sites can
be hosted anywhere including Heroku, GoDaddy, GitHub pages, S3
& Cloudfront and work well with CDNs. Hugo sites run without dependencies
on expensive run times like Ruby, Python or PHP and without dependencies
on any databases.
We think of Hugo as the ideal website creation tool. With nearly instant
built 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.
## 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:
* Extremely fast built times (~1ms per page)
* Runs on Mac OSX, Linux and Windows
* Content written in [Markdown](/content/example)
* Easy [installation](/overview/installing)
* Straightforward website [organization](/content/organization)
* Completely customizable [homepage](/layout/homepage)
* Support for different [content types](/content/types)
* Support for website [sections](/content/sections)
* Completely customizable [urls](/extras/urls)
* Render changes [on the fly](/overview/usage) as you develop
* Host your site anywhere
* Support for disqus comments
* Dynamic menu creation
* Support for TOML, YAML and JSON in [frontmatter](/content/front-matter)
* [permalink](/extras/permalinks) pattern support
* [pretty urls](/extras/urls) support
* [shortcodes](/extras/shortcodes)
* [Aliases](/extras/aliases) (redirects)
* Automatic [RSS](/layout/rss) creation
* Support for both go and amber templates
* Support for [categories](/indexes/category) and tags
* Support for configurable [indexes](/indexes/overview) to create your own organization
* Syntax [highlighting](/extras/highlighting) powered by pygments
* Ability to [sort content](/content/ordering) as you desire
* Automatic [table of contents](/extras/toc) generation
* Automatic and user defined [summaries](/content/summaries)
* ["Minutes to Read"](/layout/variables) functionality
* ["Wordcount"](/layout/variables) functionality
## 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 looked at existing static site generators like Jekyll, Middle 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.