This is the complete source code for GDQuest.com. The website is entirely open-source.
Table of Contents:
The website uses the static site engine hugo.
To test the site locally:
- Install hugo extended. On the GitHub releases page of hugo, look for an executable named
hugo_extended_.... This version of Hugo includes tools to process pictures and SCSS code.
- Clone this repository.
- In your terminal, navigate to the repository's folder and run
npm install. You need to have node.js installed for that.
- Once all node packages are installed, run
hugo server --buildDrafts.
This will build the website locally, including draft pages, watch for any file changes, and make it accessible via a URL like
To create a new page, use the
hugo new command. You need to give it a path to a new markdown file relative to the
hugo new tutorial/godot/3D/import-from-blender/index.md
The command above creates a new 3D Godot tutorial in
content/tutorial/godot/3D/import-from-blender/. The file's name,
index.md, is a special name for hugo that defines a page bundle. It links all other files in the directory, like images and videos, as resources of that new page. To define a new section, you want to name the file
_index.md instead. Look into the
content/ directory for some examples.
You can also use the
--editor option to open the newly created file in a text editor:
hugo new tutorial/godot/3D/import-from-blender/index.md --editor $VISUAL
On Linux, you can use one of the special variables
$VISUAL to respectively open the new document in a terminal-based editor or a graphical application like Atom or Emacs.
Keeping the content as draft and publishing
Each document contains some metadata at the top, also called front-matter:
+++ title = "Importing 3D objects from Blender" author = "nathan" date = 2020-07-15 draft = true +++
This metadata uses the TOML markup language. If the variable
draft has the value
true, the article is considered a draft and won't be published on the website. Remove the line
draft = true for the article to be published.
For SCSS code, we follow the RSCSS (Reasonable System for CSS Stylesheet Structure) style guide.
Note: some of the CSS code still doesn't follow the style guide. We're progressively moving code to that style-guide as we go.
Help is always welcome!
Get in touch:
When working on new features, keep in mind this website only supports evergreen browsers:
- Chrome (latest version and N-1 version)
- Edge (latest version and N-1 version)
- Firefox (latest version, N-1 version, and latest ESR version)
- Opera (latest version and N-1 version)
- Safari (latest version and N-1 version)
The website supports translations into any language.
We are currently working on a Spanish version of the tutorials, and we're looking to support languages such as French and Japanese. If you'd like to contribute to translating tutorials or other pieces of content, you're most welcome!
There are two ways you can translate a page:
- Use Gitlocalize, which gives you an accessible online editor and handy tools like one-click machine translation. Watch their two-minute tutorial to get started.
- Translate the files on your computer and use git instead. More on that below.
We recommend using an AI-powered translation tool like DeepL to generate a translation you can then edit and refine. It will save you a lot of time and work. GitLocalize has a button to translate a document automatically.
Translating a page manually
To translate a page manually on your computer, you need to:
- Fork this repository.
- Clone your fork on your computer.
- Head to the page's corresponding directory inside the repository's
- Duplicate the
index.mdfile you'll find there and add the target language's two-letter code to the extension.
For example, to translate the game settings tutorial to French, you need to head to the directory
content/tutorial/godot/2D/character-customization/, duplicate the file
index.md, which is the tutorial written in English, and name the copy
index.fr.md. For Spanish, name the file
index.es.md. You can call it
name.ja.md for Japanese. In general, you need to add the corresponding two-letter country code to the copied markdown file's extension.
The website uses two licenses for its content and its source code, respectively:
- The website's content, that is to say, anything in the
content/directory, or images in the
static/directory, is available under the CC-By 4.0 license. If you reuse it, please attribute it to "GDQuest and contributors."
- The website's source code, including the
archetypes/, and the
_src/folder are under the MIT license.
For more information, see LICENSE.