Escrever os SpongeDocs

A documentação do Sponge, também conhecida como “SpongeDocs”, é a documentação oficial do projeto Sponge. O objetivo da SpongeDocs é:

  • Ajudar os utilizadores a configurar os seus próprios servidores que usam uma implementação do Sponge.

  • Fornecer aos desenvolvedores informações sobre como contribuir para o projeto Sponge.

  • Fornecer aos desenvolvedores informações sobre como iniciar o desenvolvimento de plugins.

Denunciar problemas

It may always occur that a page gets outdated, an error sneaks in or you just look at a page and think “Well, there is a better way of explaining this.” If that is the case and you are for some reason not able to provide a fix yourself, there are four ways of making us aware of the problem:

  1. Criar um Issue no GitHub da SpongeDocs

  2. Criar um tópico na categoria SpongeDocs dos Fórums

  3. Visit us in the #spongedocs channel on irc.esper.net (you need to be registered)

  4. Visit us on our Discord Server, namely the #docs channel.

Escrever a Documentação

Mudanças e adições à SpongeDocs devem ser submetidas como um Pull Request no repositório SpongeDocs no GitHub. Não é necessário que esteja perfeito à partida, pois é comum que os Pull Request sejam refinados durante o processo de revisão. Explicações incompletas também são bem-vindas, por isso não te acanhes se há partes que não compreendes. Haverá sempre alguém para preencher essas lacunas.

The Docs are written in reStructuredText (reST), if you’re familiar with Markdown (md) the step to reST shouldn’t be too hard. If you’re having issues with it we suggest that you join our #spongedocs on irc.esper.net and ask for help there, or join our Discord Server and post on the #docs channel. Discord and IRC are linked, so you’ll get the same support irrespective of the platform you choose. Alternatively, you can post on our forums if you think it is more apropriate.

The Sponge Documentation is licensed under the Creative Commons - Share-Alike license. Art assets are held under the related Creative Commons - Non Commercial, No Derivatives license. Contributors implicitly accept this licensing.

Style Guide

To make sure we have consistent format across all SpongeDocs pages, here are the guidelines we have developed for writing Sponge Documentation. This list may get added to (or bent out of shape) as the Docs get bigger.

  1. Headings Should Be Written in Title Case (<- example) [unless #8 applies].

  2. Page headings should be meaningful (the heading appears as a link).

  3. Program code should be contained in inline literals or code blocks.

  1. Try not to put too much text in code blocks, as they cannot be translated. Contributors are discouraged from commenting in code blocks wherever possible. Simple place-holder text may be necessary in some examples. Ideally, code block examples will be short, and followed by an explanation for each example in the body text. Of course, there may be some concepts that cannot be illustrated with a short example.

  2. Use the following code block types for particular code blocks:

  • Groovy/Gradle-Files -> groovy

  • Hocon-Config -> guess (hocon highlighting is not yet supported)

  • In-Game/Server Console Command -> none

  • Java-Code -> java

  • Json-Config -> json

  • Linux-Terminal -> bash

  • Logs -> none

  • Text -> text

  • Windows-Console -> bat

  1. Keep separate areas for Users, Plugin Devs, and Sponge Devs.

  2. Avoid repetition by sharing pages where possible.

  3. Link to external resources rather than reproduce them.

  1. Some exceptions are made for translation purposes.

  1. Make distinction between SpongeForge, SpongeVanilla and SpongeAPI.

  2. If it looks awful in your language, invent your own rules.

  3. Sponge is the Project Title and should NOT be translated.

  1. Some languages may wish to use a phonetic translation as well.

  1. Automated translations (e.g. Google Translate) are strongly discouraged. These often contain serious errors, and are very likely to be rejected.

  2. Page Titles and Section Headings should be plain text, avoiding literal blocks and other formatting.

  3. Code symbols should be capitalized in their original form and have no extra spaces (e.g. blockState (a field name) or BlockState (a class name), rather than block state). They should also be formatted as a literal using double backticks (e.g. blockState) in body text.

  4. Lines should have a maximum length of 120 characters.

  5. Imports should be written out in code blocks the first time they are referenced in each article, but not repeated after the first time.

Nota

As Sponge is still in a state of flux, a shortfall of development docs is to be expected. Until official release of Sponge, there are sure to be voids in many subjects. Nevertheless, SpongeDocs is a living document, always subject to edit. It’s never going to be perfect, just beaten into shape as needs demand.

Contributions, suggestions and corrections are always welcome.