Improve documentation

This commit is contained in:
rubenwardy
2020-09-16 23:32:24 +01:00
parent a1e0e37223
commit d76f10c312
10 changed files with 271 additions and 242 deletions

View File

@@ -2,12 +2,14 @@ title: Package Configuration and Releases Guide
## Introduction
ContentDB will read configuration files in your package when doing a number of
tasks, including package and release creation.
This page details the ways in which you can use this to your advantage.
ContentDB will read configuration files in your package when doing several
tasks, including package and release creation. This page details how you can use
this to your advantage.
## .conf files
### What is a content .conf file?
Every type of content can have a `.conf` file that contains the metadata.
The filename of the `.conf` file depends on the content type:
@@ -22,13 +24,15 @@ The `.conf` uses a key-value format, separated using equals. Here's a simple exa
name = mymod
description = A short description to show in the client.
### Understood values
ContentDB understands the following information:
* `description` - A short description to show in the client.
* `depends` - Comma-separated hard dependencies.
* `optional_depends` - Comma-separated soft dependencies.
* `min_minetest_version` - The minimum Minetest version this runs on.
* `max_minetest_version` - The maximum Minetest version this runs on.
* `min_minetest_version` - The minimum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_versions).
* `max_minetest_version` - The maximum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_versions).
and for mods only:
@@ -36,10 +40,12 @@ and for mods only:
## Controlling Release Creation
### Git Releases and Submodules
### Git-based Releases and Submodules
ContentDB can automatically create releases from a git repository.
ContentDB can create releases from a Git repository.
It will include submodules in the resulting archive.
Simply set VCS Repository in the package's meta to a Git repository, and then
choose Git as the method when creating a release.
### Automatic Release Creation
@@ -48,16 +54,26 @@ You can also use the [API](/help/api/) to create releases.
### Min and Max Minetest Versions
<a name="min_max_versions" />
When creating a release, the `.conf` file will be read to determine what Minetest
versions the release supports. If the `.conf` doesn't specify, then it is assumed
that is supports all versions.
that it supports all versions.
This happens when you create a release via the ContentDB web interface, the
[API](/help/api/), or using a [GitLab/GitHub webhook](/help/release_webhooks/).
Here's an example config:
name = mymod
min_minetest_version = 5.0
max_minetest_version = 5.3
Leaving out min or max to have them set as "None".
### Excluding files
When using git to create releases,
When using Git to create releases,
you can exclude files from a release by using [gitattributes](https://git-scm.com/docs/gitattributes):