-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathIndex.jsx
More file actions
234 lines (229 loc) · 8.08 KB
/
Index.jsx
File metadata and controls
234 lines (229 loc) · 8.08 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
import React from "react";
import { Row, Col, Button } from "reactstrap";
import { Link, graphql, useStaticQuery, withPrefix } from "gatsby";
import { FaRegArrowAltCircleRight, FaDiscord } from "react-icons/fa";
import Section from "../Section";
import PostListing from "../PostListing/PostListing";
import HighlightBox from "./HighlightBox";
function Index() {
const data = useStaticQuery(graphql`
query homePageQuery {
allMarkdownRemark(
sort: { frontmatter: { date: DESC } }
filter: { frontmatter: { posttype: { eq: "blog" } } }
limit: 3
) {
edges {
node {
fields {
slug
date
}
excerpt(format: PLAIN, pruneLength: 120, truncate: true)
timeToRead
frontmatter {
title
date
author
tags
posttype
description
cover {
childImageSharp {
gatsbyImageData
}
}
}
}
}
}
}
`);
const recentPostEdges = data.allMarkdownRemark.edges;
const recentPostList = recentPostEdges.map(({ node }) => {
const { frontmatter, fields, excerpt } = node;
const { posttype, tags, cover, title, author } = frontmatter;
const { slug, date } = fields;
return {
posttype,
title,
path: `/blog${slug}-${date.replace(/[-T:.Z]/g, "-").substring(0, 10)}`,
cover,
tags,
excerpt,
date,
author,
};
});
return (
<section className="sect-home">
<Row>
<Col md="6">
<h3>What is Terasology?</h3>
<p className="p-title">
An open source voxel world - imagine the possibilities!
</p>
<p className="p-description text-justify">
The Terasology project was born from a Minecraft-inspired tech demo
in 2011. Over the years it has been a playground for different kinds
of technical experiments and proof of concepts. The community
strives to make Terasology a stable platform for various types of
gameplay settings in a voxel world.
</p>
<Col className="my-5 justify-content-around">
<Button type="button" color="primary" size="lg">
<Link to="#about-us" className="link-about">
Learn more
</Link>
</Button>
<Button type="button" color="primary" size="lg">
<Link
to="https://discordapp.com/invite/Terasology"
className="link-about"
>
Join our Discord <FaDiscord />
</Link>
</Button>
</Col>
</Col>
<Col md="6">
<div className="index">
<iframe
src="https://www.youtube.com/embed/Wpa2aiadwE8"
title="Terasology trailer"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
webkitallowfullscreen="true"
mozallowfullscreen="true"
allowFullScreen
style={{ border: "0px" }}
/>
</div>
</Col>
</Row>
<Section title="Recent News">
<Col lg="12">
<Row className="justify-content-center ">
<PostListing postList={recentPostList} />
</Row>
<Row className="d-flex justify-content-center mb-4">
<Link
to="/blog"
className="btn-primary home-btn-read-more-blog font-weight-bold"
>
Find More Blogs
<FaRegArrowAltCircleRight
style={{
fontSize: "24px",
marginLeft: "0.5rem",
}}
/>
</Link>
</Row>
</Col>
</Section>
<Section title="About Us">
<Row>
<Col md="12">
<HighlightBox
title="History"
bgImage={withPrefix("/images/Light_at_the_End_of_the_Tunnel.jpg")}
>
<p>
The project was founded in 2011 by {`Benjamin "Begla" Glatzel `}
while researching procedural terrain generation and effective
rendering techniques. He succeeded in creating a minecraft-like
demo engine, the foundation stone for what Terasology is today.
</p>
<p>
We are always on the lookout for contributors with expertise in
rendering, networking and concurrency, as well as in-game
physics and AI technology.
</p>
<p>
If you are interested in game engine development, come check out
our{" "}
<Link
to="/contribute#terasology-engine-and-module-land"
className="link-about"
>
Terasology Engine & Module Land
</Link>
.
</p>
</HighlightBox>
</Col>
<Col md="12">
<HighlightBox
title="Modules & Gameplays"
bgImage={withPrefix("/images/Quiet_Village.jpg")}
align="end"
>
<p>
From the ground up, Terasology was built to be very modular and
support different kinds of gameplay ideas. We still host a large
number of modules under the {`"Terasology" `}GitHub organization
providing basic and advanced gameplay content as well as world
generation options and technical libraries.
</p>
<p>
Combining these modules allows to create very different kinds of
gameplay in our voxel worlds. The possibilities are manifold and
range from crafting- or trading-oriented survival over
capture-the-flag to puzzle-style experiences and tower defenses.
</p>
<p>
We especially appreciate expertise or interest in UI/UX, world
generation or well-thought out gameplay mechanics, but also
always have an open ear for crazy ideas for existing or new
modules and gameplay content.
</p>
<p>
If you are interested in gameplay development, come check out
our{" "}
<Link
to="/contribute#terasology-engine-and-module-land"
className="link-about"
>
Terasology Engine & Module Land
</Link>
.
</p>
</HighlightBox>
</Col>
<Col md="12">
<HighlightBox
title="Community"
bgImage={withPrefix("/images/Flowing_Water.jpg")}
>
<p>
The Terasology community is a diverse mix of software
developers, designers, game testers, graphic artists, musicians
and other open source loving {`"Gooeys"`}. We value a positive,
inclusive and respectful environment without harassment, attacks
or inappropriate activities of any form.
</p>
<p>
We encourage and appreciate contributions from everybody, and
try to accept constructive criticism even by newcomers as
gracefully and warmly as possible. and welcoming as possible to
newcomers.
</p>
<p>
If you want to talk to us or be the next in our group of Gooeys,
come join us on our{" "}
<Link
to="https://discordapp.com/invite/Terasology"
className="link-about"
>
Terasology Discord
</Link>
.
</p>
</HighlightBox>
</Col>
</Row>
</Section>
</section>
);
}
export default Index;