README.md 4.87 KB
Newer Older
Etiene Dalcol's avatar
Etiene Dalcol committed
1
# All4Ling Website
Henk Verlinde's avatar
Henk Verlinde committed
2

Etiene Dalcol's avatar
Etiene Dalcol committed
3
This is a static site using a [Hugo](https://gohugo.io/) template called [Doks](https://getdoks.org/), forked from https://github.com/h-enk/doks.
Henk Verlinde's avatar
Henk Verlinde committed
4

5
6
7
## Setup

### Locally installed dependencies
Henk Verlinde's avatar
Henk Verlinde committed
8

Etiene Dalcol's avatar
Etiene Dalcol committed
9
10
11
1. Install [nodejs](https://nodejs.org/en/download/)
2. Make sure the installation was successful and npm is available: `node -v && npm -v`
3. cd to the root of this repository and run `npm install`. This will install Hugo and all the other necessary dependencies.
Henk Verlinde's avatar
Henk Verlinde committed
12

13
#### Starting the server
Henk Verlinde's avatar
Henk Verlinde committed
14

Etiene Dalcol's avatar
Etiene Dalcol committed
15
`npm run start`
Henk Verlinde's avatar
Henk Verlinde committed
16

Henk Verlinde's avatar
Henk Verlinde committed
17

18
19
20
21
22
23
24
25
26
27
### Docker-ized environment

1. Install [docker](https://docs.docker.com/get-docker/)
2. Install [docker-compose](https://docs.docker.com/compose/install/)

#### Starting the server

`docker-compose up`


Etiene Dalcol's avatar
Etiene Dalcol committed
28
### Deploy
Henk Verlinde's avatar
Henk Verlinde committed
29

Etiene Dalcol's avatar
Etiene Dalcol committed
30
1. To deploy, push your commits to master.
Henk Verlinde's avatar
Henk Verlinde committed
31

32
This will trigger `.gitlab-ci.yml`, which will deploy the website to a [GitLab page](https://docs.gitlab.com/ee/user/project/pages/) located at [https://commul.pages.scientificnet.org/all4ling/www/](https://commul.pages.scientificnet.org/all4ling/www/), and reverse proxied at [https://all4ling.eurac.edu](https://all4ling.eurac.edu).
Dalcol Etiene's avatar
Dalcol Etiene committed
33

Henk Verlinde's avatar
Henk Verlinde committed
34

Etiene Dalcol's avatar
Etiene Dalcol committed
35
### Why Doks?
Henk Verlinde's avatar
Henk Verlinde committed
36
Nine main reasons why you should use Doks:
Henk Verlinde's avatar
Henk Verlinde committed
37
38
39

1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/doks.netlify.app) out of the box. Easily change the default Security Headers to suit your needs.

Henk Verlinde's avatar
Henk Verlinde committed
40
2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=7731347bb8ce999eff7428a8e763b637) by default. Doks removes unused css, prefetches links, and lazy loads images.
Henk Verlinde's avatar
Henk Verlinde committed
41
42
43
44
45

3. __SEO-ready__. Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking.

4. __Development tools__. Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually.

46
5. __Bootstrap framework__. Build robust, flexible, and intuitive websites with Bootstrap 5. Easily customize your Doks site with the source Sass files.
Henk Verlinde's avatar
Henk Verlinde committed
47
48
49

6. __Netlify-ready__. Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers.

Henk Verlinde's avatar
Henk Verlinde committed
50
51
52
53
54
55
7. __Full text search__. Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking.

8. __Page layouts__. Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs.

9. __Dark mode__. Switch to a low-light UI with the click of a button. Change colors with variables to match your branding.

56
57
58
59
60
61
62
63
### Other features

- __Multilingual and i18n__ support
- __Versioning__ documentation support
- __KaTeX__ math typesetting
- __Mermaid__ diagrams and visualization
- __highlight.js__ syntax highlighting

Henk Verlinde's avatar
Henk Verlinde committed
64

Henk Verlinde's avatar
Henk Verlinde committed
65
66
## Requirements

Henk Verlinde's avatar
Henk Verlinde committed
67
68
- [Git](https://git-scm.com/) — latest source release
- [Node.js](https://nodejs.org/) — latest LTS version or newer
Henk Verlinde's avatar
Henk Verlinde committed
69

Henk Verlinde's avatar
Henk Verlinde committed
70
71
72
73
74
75
<details>
<summary>Why Node.js?</summary>

Doks uses npm (included with Node.js) to centralize dependency management, making it [easy to update](https://getdoks.org/docs/help/how-to-update/) resources, build tooling, plugins, and build scripts.

</details>
Henk Verlinde's avatar
Henk Verlinde committed
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92

## Get started

Start a new Doks project in three steps:

### 1. Install dependencies

```bash
npm install
```

### 2. Start development server

```bash
npm run start
```

Henk Verlinde's avatar
Henk Verlinde committed
93
## Other commands
Henk Verlinde's avatar
Henk Verlinde committed
94

Henk Verlinde's avatar
Henk Verlinde committed
95
Doks comes with [commands](https://getdoks.org/docs/prologue/commands/) for common tasks.
Henk Verlinde's avatar
Henk Verlinde committed
96
97
98
99
100
101
102
103
104
105

## Documentation

- [Netlify](https://docs.netlify.com/)
- [Hugo](https://gohugo.io/documentation/)
- [Doks](https://getdoks.org/)

## Communities

- [Netlify Community](https://community.netlify.com/)
Henk Verlinde's avatar
Henk Verlinde committed
106
- [Hugo Forums](https://discourse.gohugo.io/)
107
- [Doks Discussions](https://github.com/h-enk/doks/discussions)
Henk Verlinde's avatar
Henk Verlinde committed
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124

## Thanks

<a href="https://www.netlify.com/">
  <img src="https://cdn.netlify.com/15ecf59b59c9d04b88097c6b5d2c7e8a7d1302d0/1b6d6/img/press/logos/full-logo-light.svg" width="110.25" height="30" alt="Netlify Logo">
</a>

Thanks to [Netlify](https://www.netlify.com/) for providing the hosting infrastructure.

<a href="https://www.algolia.com/">
  <img src="https://res.cloudinary.com/hilnmyskv/image/upload/q_auto/v1631888269/Algolia_com_Website_assets/images/shared/algolia_logo/logo-algolia-nebula-blue-full.svg" width="97" height="30" alt="Algolia Logo">
</a>

Thanks to [Algolia](https://www.algolia.com/) for providing the documentation search.

## Sponsors

125
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
Henk Verlinde's avatar
Henk Verlinde committed
126

127
128
[![OC sponsor 0](https://opencollective.com/doks/tiers/sponsor/0/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/0/website)
[![OC sponsor 1](https://opencollective.com/doks/tiers/sponsor/1/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/1/website)
Henk Verlinde's avatar
Henk Verlinde committed
129
130
131

## Backers

132
Support this project by becoming a backer. Your avatar will show up here.
Henk Verlinde's avatar
Henk Verlinde committed
133

134
[![Backers](https://opencollective.com/doks/tiers/backer.svg)](https://opencollective.com/doks)