Site DevFest 2020
June 9, 2020 ยท View on GitHub
Requirement
-
Install Hugo Note: you need to install the extended version.
-
If you need to use tools, or deploy, you also need NodeJS.
Install Theme
git submodule init
git submodule update themes/devfest-theme-hugo
Commit theme update
When you have made changes on the theme, you need to add the
git add themes/devfest-theme-hugo
Run Local site
First run
npm run build
Then you can work with Hugo with
hugo server -D
Notice that the -D flag is used to render draft elements,
you also can add the -F to build elements planed for future.
More information here
Build
Just run
hugo
More information here
Edit data
You can edit
- general information about the site into the
config.tomlfile. - some data into
data/*.ymlfiles, for header and footer information, team or schedule data. - some content into
content/**files. - some static assets like images into the
static/*folder
Create a new blog entry
You can use hugo new blog/i-create-a-new-entry.md command and then edit it.
Or just copy an already existing blog entry, and update the content.
Update the theme
If you need to touch file of the theme (i.e. into ./themes/devfest-theme-hugo/) you to know one more thing:
The theme is in another Git repository https://github.com/GDGToulouse/devfest-theme-hugo, it's using git submodules, so you need to handle this two repository.
So this is an example of workflow:
- install last NodeJS, see here
- go into the theme folder
./themes/devfest-theme-hugo/ - install dependencies with
npm install - run
npm startto launch automatically the build when a file change - (you still need to launch
hugo serverinto the site folder) - HACK, HACK, HACK
- then build an optimized version with
npm run build - then create the PR (or push)
- into the site folder,
git add themes/devfest-theme-hugo - then create the PR (or push)
Publish
To publish the site on firebase, just run firebase deploy.
Note that you need to authenticate once with firebase login
YOU DON'T NEED to publish manually the website, it's already done by pushing on develop or master branches.
You could take a look at the .github/workflows file