mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
100 lines
4.2 KiB
Markdown
100 lines
4.2 KiB
Markdown
|
---
|
||
|
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.
|