Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs homepage enhancement #5161

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from
Open
70 changes: 31 additions & 39 deletions docs/Home.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,50 @@
Welcome to the Terasology Wiki!
# Welcome to Terasology!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this "home" page should be the split-off point to the "hubs" for the different audiences (players, devs, maintainers), similar to how we did it in http://terasology.org/Terasology/#/Troubleshooting

Also, I feel like this page is very very long - ideally I would imagine it as the jump-off point into the dedicated hubs + some references to the most important links to get additional help (community/support), which btw I think are duplicated in "Community and Support", "Getting Help", "Troubleshooting", and "Stay Updated & Reach Out"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right about making the homepage split-off point to the "hubs" for different audiences. What about the quick links section? It can cover different audience, and regarding the duplicates, we can have "Getting Help and Support," which refer to opening an issue in GitHub, and "Troubleshooting," which refer to the troubleshooting guide. The Announcement Channels remain the same.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can keep some quick links on the "home" page, yes, but we should consider what would be relevant for all audiences to get direct access to. I think troubleshooting, opening an issue, and maybe a link to our discord server might be reasonable candidates. any further ideas?

This is a wiki for those interested in contributing to the development of the project.
🌟 **Embark on an open-source adventure** where you can contribute, play, and explore the world of Terasology.

It doesn't cover game content or how to play the game much, but check out the docs on [Playing](https://github.com/MovingBlocks/Terasology/blob/develop/docs/Playing.md) (including hotkeys etc) and [Modules](https://github.com/MovingBlocks/Terasology/blob/develop/docs/Modules.md) for some of that.
Discover a diverse range of Terasology resources within this wiki, encompassing various aspects of the game. For detailed game content, comprehensive gameplay guidance, developer resources, and dedicated information on related topics, navigate to specific sections provided here.

Use the sidebar to arrive at the most central topics this wiki covers.
## Quick Links

See [What is Terasology](What-is-Terasology.md) for some more background information.
- **[🎮 Players](https://github.com/MovingBlocks/Terasology/blob/develop/docs-pre-merge/Playing.md)** - For Players
- **[🏗️ Developer's Hub](Contributor-Quick-Start.md)** - For Developers
- **[🛠️ Maintainer's Dashboard](Maintenance.md)** - For Maintainers

## Joining the Community & Asking for Help

Our main place of communication is on our [Discord Server](https://discord.gg/terasology).
Make sure to check in, introduce yourself and what you're interested in with regards to Terasology :wave:
For any playing related issues, leave us a note in the `#play-terasology` channel.
Troubleshooting workspace setup, compile / test issues or other development related issues can be raised in the `#terasology` channel or by [opening an issue on this repo](https://github.com/MovingBlocks/Terasology/issues/new/choose).

Our [forum](https://forum.terasology.org/forum/) is currently mainly used to track progress of our GSoC student projects.
However, it has a lot of more or less actionable ideas for improvement and a bunch of history of our current gameplays floating around, so feel free to roam around a bit and get inspired :wink:
## Understanding Terasology

## Contributing
Terasology itself is a pure sandbox. Gameplay is implemented through modules, which can add anything from new blocks and crafting methods to entirely new game modes.

Interested in getting involved with working on the game? Make sure to check out the [Contributor Quick Start](Contributor-Quick-Start.md) for setting up your first workspace and starting the game from source. It also has useful links on how to start with your first contribution.
- 🏛️ **[Architecture Overview](Codebase-Structure.md)**
- Understand the high-level structure of the project.
- 🔧 **[Entity System Architecture](Entity-System-Architecture.md)**
- Dive into how our entity system powers the game.
- 🎲 **[Events and Systems](Events-and-Systems.md)**
- Explore how to inject new logic and life into the game.
- 🏗️ **[Block Architecture](https://github.com/Terasology/TutorialAssetSystem/wiki/Block-Attributes)**
- Delve into the building blocks of the game world.

We also apply for GSOC - [Google Summer of Code](https://developers.google.com/open-source/gsoc) and [GCI](GCI.md) - [Google Code-In](https://codein.withgoogle.com/) every year. So if you're a student and it is that time of the year maybe check it out!
## Core and Libraries
- This core is backed by several in-house libraries, such as [MovingBlocks/gestalt](https://github.com/MovingBlocks/gestalt), providing the entity system and module management, or our own UI library [MovingBlocks/TeraNUI](https://github.com/MovingBlocks/TeraNUI).
- The actual game content is added by modules on top of that.

## Architecture

Terasology is build from many building bricks, that together turn into a game.
### Getting Help and Support

The _engine_ forms the core, and resides alongside the default _facade_ and _subsystems_ in ([MovingBlocks/Terasology](https://github.com/MovingBlocks/Terasology)).
- If you believe you've found a bug, please create an issue on GitHub [open an issue on GitHub](https://github.com/MovingBlocks/Terasology/issues/new/choose).

This core is backed by several in-house _libraries_, such as([MovingBlocks/gestalt](https://github.com/MovingBlocks/gestalt)) providing the entity system and module management, or our own UI library ([MovingBlocks/TeraNUI](https://github.com/MovingBlocks/TeraNUI)).
The actual game content is added by _modules_ on top of that.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The information removed here is somewhat important. Are you planning to reintroduce it somewhere else?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i we add it back to the home page and figured out the right positioning for it


All Terasology modules reside in the [Terasology](https://github.com/Terasology) Github organization.
## Troubleshooting

![Terasology - High Level Architecture](architecture.png)

These pages offer more advanced insight into how specific features of the game are architected and why.

- [Project Sturcture](Codebase-Structure.md) - a high-level overview of the code base
- [Entity System Architecture](Entity-System-Architecture.md) - describes the structure and usage of the entity system.
- [Events and Systems](Events-and-Systems.md) - describes how new game logic can be hooked in
- [Block Architecture](https://github.com/Terasology/TutorialAssetSystem/wiki/Block-Attributes) - development overview of our Block system. (pending changes needed to make the game work in an applet again)
- [Block Shapes](Block-Shapes.md) - defining 3D meshes via definitions in JSON!
Encountering issues? Our [Troubleshooting guide](Troubleshooting.md) offers solutions for common problems faced by players and developers alike.

## Announcement Channels

We have several ways to get the word out on updates, likewise, there are several ways to contact us.

- [Discord](https://discordapp.com/invite/terasology) - New development/game topics will be posted in `#announcement`, and any questions answered.
- [GitHub (Engine)](https://github.com/MovingBlocks/Terasology) - "Watch" the official project here to be able to easily spot core commits and changes.
- [GitHub (Modules)](https://github.com/Terasology) - "Watch" the module repos to be able to keep track of game content fixes / changes.
- [Forum](http://forum.terasology.org/) - Find the progress reports of ongoing and past GSoC projects along with a lot of gameplay ideas and lore
- [Twitter](http://twitter.com/#!/Terasology) - We'll tweet regularly about significant commits or new discussion topics posted, so "Follow" us for updates.
- [Facebook](http://www.facebook.com/pages/Terasology/248329655219905) - If you prefer to keep updated via Facebook you can "Like" us on there to keep up.
- [Jenkins RSS](http://jenkins.terasology.org/rssAll) - If you really want to know when something has just been built ;-)
- **[Discord](https://discordapp.com/invite/terasology)** - for discussion and general support.
- **[GitHub (Engine)](https://github.com/MovingBlocks/Terasology)** - Watch the engine or modules for real-time updates.
- **[GitHub (Modules)](https://github.com/Terasology)** - Watch the module repos for game content fixes / changes.
- **[Forum](http://forum.terasology.org/)** - Find the progress reports of ongoing and past GSoC projects
- **[Twitter](http://twitter.com/#!/Terasology)** - Follow for tweet-sized news.
- **[Facebook](http://www.facebook.com/pages/Terasology/248329655219905)** - Like us for updates in your feed.
- **[Jenkins RSS](http://jenkins.terasology.io/rssAll)** - For the keen observers of new builds.
118 changes: 64 additions & 54 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -1,59 +1,69 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Terasology - Knowledge Base</title>
<link rel="stylesheet" href="styles.css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta
name="google-site-verification"
content="AEyBzDSx59v83eaRwdY3ghuYBa4g072fzgMdtQiCCn8"
Comment on lines +8 to +10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know that this predates your changes but does anyone recall what this is for?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no idea about what it is, but when I just checked, this is what it means [The "google-site-verification" meta tag is used to confirm that you have access to the website's backend and can make changes to its code.]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/>
<meta
name="description"
content="An open source voxel game - imagine the possibilities!"
/>
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0"
/>
<link
rel="stylesheet"
href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css"
/>
</head>

<head>
<meta charset="UTF-8">
<title>Terasology - Knowledge Base</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="google-site-verification" content="AEyBzDSx59v83eaRwdY3ghuYBa4g072fzgMdtQiCCn8" />
<meta name="description"
content="An open source voxel game - imagine the possibilities!">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
</head>

<body>
<div id="app"></div>
<script src="//cdn.jsdelivr.net/npm/docsify-edit-on-github"></script>
<script>
window.$docsify = {
name: 'Terasology',
repo: 'MovingBlocks/Terasology',
logo: '/_media/icon.svg',
themeColor: '#08A045',
loadSidebar: true,
autoHeader: true,
search: 'auto',
//homepage: 'https://raw.githubusercontent.com/MovingBlocks/Terasology/develop/README.md',
homepage: 'Home.md',
pagination: {
crossChapter: true,
crossChapterText: true,
},
plugins: [
EditOnGithubPlugin.create(
"https://github.com/MovingBlocks/Terasology/tree/develop/docs/"
),
// function (hook) {
// // this "fixes" the relative links in the README which is loaded from remote (see 'homepage' above)
// hook.beforeEach(function (content) {
// return content
// .replace(new RegExp("https://raw.githubusercontent.com/MovingBlocks/Terasology/develop/docs/"), "")
// .replace(new RegExp("./docs/"), "");
// })
// }
],
}
</script>
<!-- Docsify v4 -->
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>
<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>

<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json5.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-java.min.js"></script>
</body>
<body>
<div id="app"></div>
<script src="//cdn.jsdelivr.net/npm/docsify-edit-on-github"></script>
<script>
window.$docsify = {
name: "Terasology",
repo: "MovingBlocks/Terasology",
logo: "/images/terasology-logo.png",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The icon in the sidebar appears a bit too tall, in my opinion. It displaces the start of the content almost a third of the way down the page.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the sidebar icon can be reduced to any size. just let me know the actual width and height.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't go with fix width and height but with a percentage if possible.
Also, I think having the icon on top of the navigation is sufficient - it doesn't need to be on the "home" page as well

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

noted.

themeColor: "#08A045",
loadSidebar: true,
autoHeader: true,
search: "auto",
//homepage: 'https://raw.githubusercontent.com/MovingBlocks/Terasology/develop/README.md',
homepage: "Home.md",
pagination: {
crossChapter: true,
crossChapterText: true,
},
plugins: [
EditOnGithubPlugin.create(
"https://github.com/MovingBlocks/Terasology/tree/develop/docs/"
),
// function (hook) {
// // this "fixes" the relative links in the README which is loaded from remote (see 'homepage' above)
// hook.beforeEach(function (content) {
// return content
// .replace(new RegExp("https://raw.githubusercontent.com/MovingBlocks/Terasology/develop/docs/"), "")
// .replace(new RegExp("./docs/"), "");
// })
// }
],
};
</script>
<!-- Docsify v4 -->
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>
<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>

<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json5.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-java.min.js"></script>
</body>
</html>
4 changes: 4 additions & 0 deletions docs/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.app-name img {
max-width: 70%;
height: auto;
}
Loading