Website Summary Files Commits Branches @commit @diff @stats
path: root / website / README.md
blob: 50bb4818b62d6222b2f9a378803a202ea7a0fe43 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Implementation of Programming Languages

This is the code of the website of a course on implementing a programming
language. The website is hosted at https://sofiacpp.github.io/IPL.

## Working with the website

The website is deployed as GitHub pages from the contents of the gh-pages branch
of this repository.


### Requirements

- Git and Git-Bash on Windows
- [hugo](https://gohugo.io)

### Checking out the code

Simply clone this repository.

### Setting up the clone

1. Make sure that `git` and `hugo` are in the path
2. Add the gh-pages as a *git worktree* under the public folder

        git worktree add public gh-pages

### Creating new content

#### Creating new posts

The normal hugo way of creating new posts applies

    hugo new content/posts/post.md
    hugo new content/page/page.md

Creating new slides requires using a different template. You can use the
*content/slides* as boilerplate.

    cp -R content/slides content/myslides
    edit content/myslides/_index.md

### Publishing changes

1. Make any changes to the content and **COMMIT**
2. Run the publish.sh script

        sh publish.sh

    It will generate the new version inside the *public* folder, commit and push
    it.