Hugo trennt strickt die Editierbarkeit einer Website von seinem Betrieb.
Die Anwendung generiert auf Basis von Themes und Markdown-Dokumenten zum einfachen Formatieren von Text eine Website. Diese Website kann dann mit einem einfacheb Webserver ohne Scripte und vermeintliche Einfalltore im Web verfügbar gemacht werden.
Das Ganze hat natürlich auch seinen Haken. Jede Änderung erfordert ein neues Deployment. Das geht zwar schnell und ist dank Versionierung auch sicher vor Fehlern, aber sich ständig änderte Prozesse oder ein Shop ist damit nicht möglich.
Das ist aber auch nicht der Zweck von Hugo. Hugo liefert einfach nur statische HTML Websiten aus, so wie diese Website.
Go to Hugo releases and download the appropriate version for your OS and architecture.
Save it somewhere specific as we will be using it in the next step.
More complete instructions are available at Install Hugo
Hugo has its own example site which happens to also be the documentation site you are reading right now.
Follow the following steps:
Corresponding pseudo commands:
git clone https://github.com/spf13/hugo
cd hugo
/path/to/where/you/installed/hugo server --source=./docs
> 29 pages created
> 0 tags index created
> in 27 ms
> Web Server is available at http://localhost:1313
> Press ctrl+c to stop
Once you’ve gotten here, follow along the rest of this page on your local build.
Stop the Hugo process by hitting Ctrl+C.
Now we are going to run hugo again, but this time with hugo in watch mode.
/path/to/hugo/from/step/1/hugo server --source=./docs --watch
> 29 pages created
> 0 tags index created
> in 27 ms
> Web Server is available at http://localhost:1313
> Watching for changes in /Users/spf13/Code/hugo/docs/content
> Press ctrl+c to stop
Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.
Content files are found in docs/content/
. Unless otherwise specified, files
are located at the same relative location as the url, in our case
docs/content/overview/quickstart.md
.
Change and save this file.. Notice what happened in your terminal.
> Change detected, rebuilding site
> 29 pages created
> 0 tags index created
> in 26 ms
Refresh the browser and observe that the typo is now fixed.
Notice how quick that was. Try to refresh the site before it’s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.
The best way to learn something is to play with it.
Ich arbeite schon lange mit PHP - irgendwann seit PHP2. Seit der Zeit hat sich die Welt doch stark geändert.
Versteht mich nicht falsch.
In erster Linie bin ich Java-Entwickler und liebe den objektorientierten Ansatz. Die unterschiedlichen Ansätze sind bei kleinen Projekten aber schnell zu sehen. Man darf PHP und Java nicht vergleichen. Das wäre, wie der Vergleich von Äpfeln mit Birnen.
PHP ist trotz aller Versuche in erster Linie eine Scriptsprache und das ist auch gut so. Denn in der Webentwicklung kommt es häufig auf schneller Programmierzyklen an. Manchmal muss man kleine Änderungen am Code durchführen und dann wieder ausführen. Das kann bei Java (speziell im EE Umfeld) doch ziemlich schnell ziemlich aufwendig sein und lange dauern. Ja, es gibt Ansätze nur ein Teildeployment zu machen - aber ehrlich, das ist nur ein Workaround.
PHP hat auch so seine Macken - speziell der Versuch, möglichst einfach zu sein, führt dazu, dass es doch ziemlich kompliziert wird. Der nachträglich eingehängte Versuch, Objektorientierung nachzuahmen, ist nicht gut gelungen. Man kann sich bis heute nicht entscheiden. Typsicherheit, Objektorientierung kann man machen, muss man aber nicht. Das damit einher geht, dass zB. Typsicherheit -auch wenn man will- nicht 100% herstellbar ist - dann kann man auch darauf verzichten. Hat man aber nicht.
Aus heutiger Sicht sieht die Programmierung mit PHP so aus:
…