You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
2.6 KiB

# Site DevFest 2019
[![pipeline status](https://gitlab.com/devfest-toulouse/site-devfest-2019/badges/develop/pipeline.svg)](https://gitlab.com/devfest-toulouse/site-devfest-2019/commits/develop)
6 years ago
## Requirement
* [Install Hugo](https://gohugo.io/getting-started/installing/)
Note: you need to install the extended version.
* If you need to use tools, or deploy, you also need [NodeJS](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/lang/en/docs/install).
## Install Theme
```bash
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
```
6 years ago
## Run Local site
6 years ago
Just run
6 years ago
6 years ago
```bash
6 years ago
hugo server -D
```
Notice that the `-D` flag is used to rendrer draft elements.
More information [here](https://gohugo.io/commands/hugo_server/)
## Build
6 years ago
Just run
6 years ago
6 years ago
```bash
6 years ago
hugo
```
More information [here](https://gohugo.io/commands/hugo/)
## Edit data
6 years ago
You can edit
6 years ago
6 years ago
* general information about the site into the `config.toml` file.
* some data into `data/*.yml` files, like header or footer information
* some content into `content/**` files.
* some static assets like images into the `static/*` folder
6 years ago
### 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.
6 years ago
### 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](https://git-scm.com/book/en/v2/Git-Tools-Submodules),
so you need to handle this two repository.
So this is an example of workflow:
* install last NodeJS and yarn, see [here](https://github.com/creationix/nvm) and [yarn](https://yarnpkg.com/)
* go into the theme folder `./themes/devfest-theme-hugo/`
* install dependencies with `yarn`
* run `npm start` to launch automatically the build when a file change
* (you still need to launch `hugo server` into 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)
6 years ago
### Publish
6 years ago
To publish the site on firebase, just run `firebase deploy`.
Note that you need to authenticate once with `firebase login`
6 years ago
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 `.gitlab-ci.yml` file
6 years ago
### Extract data from CFP
TODO...