# Tutorial that teaches the theory, not the end result?

**URL:** <https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203>\
**Category:** support\
**Created:** [November 12, 2017, 9:01am UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203 "2017-11-12T09:01:55Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![carambar](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@carambar](https://discourse.gohugo.io/u/carambar)\
**Post date:** [November 12, 2017, 9:01am UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/1 "2017-11-12T09:01:55Z")

</div>

Hi,

I’m a Hugo newbie who is experiencing tutorial frustration. The current tutorial seems to be like “here’s how you can get this beautiful theme up and running in no time, and here’s how you can replace the title with your own title, now good luck!” instead of teaching the underlying principles of the system in a linear fashion.

Is there a good tutorial that would teach me how Hugo really works, so that I can eventually make it do what how I want? I have an ongoing gripe with open-source “tutorials” that just want to show off the most impressive thing the system can do in the least amount of command lines, without actually teaching anything about said system…

(PS: My frustration is echoed [in this old thread](https://discourse.gohugo.io/t/tutorial/1885) by eaigner. Thought I would revive the topic in a new thread.)

Thanks!

John

---

<div class="post-metadata">

**Author:** ![maiki](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/maiki/32/16384_2.png) [@maiki](https://discourse.gohugo.io/u/maiki)\
**Post date:** [November 12, 2017, 10:13am UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/2 "2017-11-12T10:13:22Z")

</div>

> [@carambar](#):
>
> Is there a good tutorial that would teach me how Hugo really works, so that I can eventually make it do what how I want?

I don’t speak for the project, but I don’t think there is. Hugo is a templating system, with a lot of flexibility, and it is difficult to fully understand. Fortunately, most don’t need to grok it to get started using it.

Please read every page of documentation. It lays out the web of information you’ll need to understand the nuances of templates and formats and all that. And then you’ll be able to let us know how to improve the docs! 🙂

> [@carambar](#):
>
> I have an ongoing gripe with open-source “tutorials” that just want to show off the most impressive thing the system can do in the least amount of command lines, without actually teaching anything about said system…

That is not the case with our quickstart (it isn’t that impressive, feature-wise). It is, actually, closer to the thing that most people ask us for, including the thread you linked to. Most of the time folks are not asking for _more_ detail, but instead would just like to paste a few lines and have a site up.

If you see that as a pattern in software projects, it isn’t an accident. It is the only marketing projects have.

Do you have experience with another static site generator? There is a common pattern of processing content files via templates, and if you know a different system, let us know, maybe someone can translate vocabulary between them.

But definitely read all the docs. I personally think the most important doc we have is the [introduction to templating](https://gohugo.io/templates/introduction/). I would refer to that page often, until I basically memorized it. 🙂

---

<div class="post-metadata">

**Author:** ![carambar](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@carambar](https://discourse.gohugo.io/u/carambar)\
**Post date:** [November 12, 2017, 11:27am UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/3 "2017-11-12T11:27:11Z")

</div>

@maiki Thanks for the “intro to templating” tip. Right now I am working my way through the giraffe academy video tutorial. Have also downloaded the hugo [skeleton site](https://github.com/madranet/hugoskeletonsite) by madranet, which could help me.

I have some previous experience with Jekyll, but never moved much beyond using a predefined template there. Now the time has come where I have to move beyond a predefined template, and Hugo seems to be the way to go.

I’m all for marketing, by the way, since the more people use Hugo, the more support there will be for all users… I just wish that open-source offered something beyond the “see, it works!” type of example. And even open-source docs are good quality, they always tend to be nonlinear, with no obvious entry point.

(Btw, when I said that eaigner was echoing some of my own gripes I was referring to his quote “not everyone wants to use a predefined template - in fact most will start out creating their own templates”. This is precisely me!)

Anyway, Hugo looks like a lot of fun… my frustration is precisely caused by sensing that Hugo must be really fun if you grok it, but that there is no clear road to said grokking… 😕

---

<div class="post-metadata">

**Author:** ![Leo\_Merkel](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/leo_merkel/32/3321_2.png) [@Leo\_Merkel](https://discourse.gohugo.io/u/Leo_Merkel)\
**Post date:** [November 12, 2017, 3:50pm UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/4 "2017-11-12T15:50:06Z")

</div>

> **[Build Static Sites in Seconds with Hugo | Udemy](https://www.udemy.com/build-static-sites-in-seconds-with-hugo/)**
>
> Learn how to build static sites quickly and easily with Hugo.

Perhaps this helps.

---

<div class="post-metadata">

**Author:** ![garyng](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/garyng/32/4549_2.png) [@garyng](https://discourse.gohugo.io/u/garyng)\
**Post date:** [November 12, 2017, 5:10pm UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/5 "2017-11-12T17:10:51Z")

</div>

The thing is - devs are busy catching bugs, fulfilling feature requests, and adding new features that _are requested by us, the **user** _. Striking the balance between that (development) and writing detailed documentation/tutorials about _everything_ in that particular piece of software is really hard. Thus most of the devs/projects you see will just showcase the most impressive thing in the system, as _it is the thing that differentiate it from the others_ (Just like a new product, you don’t tell the customer everything what the product can do, you will only tell them what the product can do the best.)

As for Hugo, reading all the docs (which are _really, really_ well-written) and sometimes going through the discussion on GitHub issue (or this forum) will definitely help a lot. Utilize the powerful **search bar** properly will also ease your journey. And the best way for learning anything, is as the old cliche that goes “learning by doing” - build your own site, poke around with the theme you downloaded, make mistakes, ask questions, or occasionally go through the `go` docs, and hopefully you will be able grasp the `theory` that you wanted.

PS: All of this are my own humble opinions, and do not anyhow speak for the project.

---

<div class="post-metadata">

**Author:** ![RickCogley](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/rickcogley/32/10269_2.png) [@RickCogley](https://discourse.gohugo.io/u/RickCogley)\
**Post date:** [November 12, 2017, 9:13pm UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/6 "2017-11-12T21:13:04Z")

</div>

@carambar, if you find the existing lacking, why not contribute a tutorial?

---

<div class="post-metadata">

**Author:** ![totoff](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/totoff/32/2286_2.png) [@totoff](https://discourse.gohugo.io/u/totoff)\
**Post date:** [November 16, 2017, 1:48pm UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/7 "2017-11-16T13:48:02Z")

</div>

[http://www.humboldtux.net/sbcb-demo/post/post-01/](http://www.humboldtux.net/sbcb-demo/post/post-01/)

---

<div class="post-metadata">

**Author:** ![jwhevans](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jwhevans/32/14609_2.png) [@jwhevans](https://discourse.gohugo.io/u/jwhevans)\
**Post date:** [June 18, 2021, 2:29pm UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/8 "2021-06-18T14:29:51Z")

</div>

I have found Mike Dane’s website very helpful.

> **[Hugo | Mike Dane](https://www.mikedane.com/static-site-generators/hugo/)**
>
> Learn Hugo from start to finish with this free tutorial

---

<div class="post-metadata">

**Author:** ![pointyfar](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/pointyfar/32/5797_2.png) [@pointyfar](https://discourse.gohugo.io/u/pointyfar)\
**Post date:** [June 18, 2021, 11:33pm UTC](https://discourse.gohugo.io/t/tutorial-that-teaches-the-theory-not-the-end-result/9203/9 "2021-06-18T23:33:18Z")

</div>


