Skip to content

Latest commit

 

History

History
166 lines (117 loc) · 8.95 KB

README.md

File metadata and controls

166 lines (117 loc) · 8.95 KB

Terasology Website

Gitpod Ready-to-Code status License GitHub issues


This repository contains the codebase of the Terasology website hosted at https://terasology.org/. The website provides easy access to news blog posts and impressions of the game as well as module and contribution information. Terasology and related projects are developed by a group of software enthusiast volunteers under the organization name [MovingBlocks][github movingblocks].

Community

If you want to get in contact with the Terasology community and the whole MovingBlocks team, you can easily connect with us, share your ideas, report and solve problems. We are present in nearly the complete round-up of social networks. Follow/friend us wherever you want, chat with us and tell the world.

 

                                  

Authoring Blog Posts

Terasology blog posts are authored in GitHub markdown. They typically cover relatively neutral news related to releases, recent contributions or contributor programs; however, we also value your personal project-related opinions, thoughts, and insights.

⚠️ NOTE: If you write an opinionated post about your personal experiences and views on Terasology or related topics, please add a disclaimer at the top of your blog post indicating this.

All blog posts are stored in the /blog directory with a dedicated subdirectory for each of them. Every blog post directory name consists of the publish date and blog post title: <date>-<title>, e.g. 2017-07-14-gsoc-2017-an-overview Blog post directory names should not contain non-alphanumeric characters other than dashes (-)

⚠️ NOTE: The directory name is, on a technical level, not related to the date and title in the blog post metadata. However, we ask you to comply with our convention and ensure that date and title match the blog post metadata.

Blog post directories should always contain a markdown file named index.md which will hold the blog post content and metadata. Additionally, you can provide a cover image in jpg format named cover.jpg. Optionally, any images you want to include into the blog post should be in jpg format and included in the blog post directory.

Blog Post Template

To allow your blog post to show up properly on the website and search results, you'll need to use the following template in your index.md:

---
posttype: blog
title: "My first Terasology blog!"
cover: "./cover.jpg"
description: "This blog is about my latest experience with Terasology"
author: "It's me, Mario!"
date: "2023-04-08"
tags: ["Announcement"]
---

Hello world, this is my newest blog post for Terasology!
I'm so excited to share this with you!

See below the two wonderful screenshots I took.
  <div class="row">
    <div class="col-md-6"> <img src="./image-1.jpg" width="40%" /> </div>
    <div class="col-md-6"> <img src="./image-2.jpg" width="40%" /> </div>
  </div>

The upper part is metadata that will processed for nicely displaying your blog post on the website. THe lower part is your blog post content. You'll also see an example of how to include multiple images side-by-side there.

⚠️ NOTE: All the metadata fields are required.

  • posttype should always be blog (without quotation marks)
  • title is your news in a short phrase and also the path your blog will be published under, e.g. blog/my-first-terasology-blog (if you're writing a TeraSaturday post, please prefix it with TeraSaturday #<id>: where "<id>" is the last TeraSaturday post ID + 1)
  • cover should always be "./cover.jpg" and the cover a JPG image with ratio 16:9
  • description is a short one or two line summary of your blog post
  • author is your name / nickname / alias - we recommend using either your GitHub or Discord name
  • date is the date you want your blog post to be published aka. go online (in ISO form: YYYY-MM-DD) (this feature is no longer supported, your blog post will always be visible irrespective of the date you set)
  • tags should always be an array, multiple values are possible (please tag TeraSaturday posts with "TeraSaturday")

Development

The Terasology website is built with Gatsby. A respective development environment can be installed on macOS, Windows, and Linux (Debian or Ubuntu recommended). You’ll need at least 1GB of available RAM.

Make sure that you install the following tools to be able to build and serve the website locally:

To install all dependencies, run

yarn install

You can then use the Gatsby CLI commands build, clean, develop and serve.

Our custom source plugin fetches information from GitHub, and therefore needs a GitHub personal access token in the environment named GITHUB_TOKEN.

🧰 Access Tokens in CI

If the token expires, you can follow the "How to fix an expired GitHub Action token" instructions with the following adjustments:

To build the website, run

yarn run build

To serve the website from a previous build, run

yarn run serve

To compile and serve a preview of the website that reflects your source code changes in the browser in real time, run

yarn run develop

To clean up built assets and caches, run

yarn run clean

To learn more about the project structure and working of the project please refer to our docs.

License

The Terasology website is licensed under the MIT License.