docs: correct casing/quoting on sentences

This commit is contained in:
Jose Diaz-Gonzalez
2020-05-15 00:34:37 -04:00
parent dd83b621f2
commit 956bc4aafa
3 changed files with 84 additions and 52 deletions

View File

@@ -78,15 +78,15 @@ Create a mongo service named lolipop:
dokku mongo:create lolipop
```
You can also specify the image and image version to use for the service. It *must* be compatible with the ${plugin_image} image.
You can also specify the image and image version to use for the service. It *must* be compatible with the mongo image.
```shell
export MONGO_IMAGE="${PLUGIN_IMAGE}"
export MONGO_IMAGE="mongo"
export MONGO_IMAGE_VERSION="${PLUGIN_IMAGE_VERSION}"
dokku mongo:create lolipop
```
You can also specify custom environment variables to start the mongo service in semi-colon separated form.
You can also specify custom environment variables to start the mongo service in semi-colon separated form.
```shell
export MONGO_CUSTOM_ENV="USER=alpha;HOST=beta"
@@ -182,7 +182,7 @@ flags:
- `-a|--alias "BLUE_DATABASE"`: an alternative alias to use for linking to an app via environment variable
- `-q|--querystring "pool=5"`: ampersand delimited querystring arguments to append to the service link
A mongo service can be linked to a container. This will use native docker links via the docker-options plugin. Here we link it to our 'playground' app.
A mongo service can be linked to a container. This will use native docker links via the docker-options plugin. Here we link it to our 'playground' app.
> NOTE: this will restart your app
@@ -213,14 +213,14 @@ The host exposed here only works internally in docker containers. If you want yo
dokku mongo:link other_service playground
```
It is possible to change the protocol for mongo_url by setting the environment variable mongo_database_scheme on the app. Doing so will after linking will cause the plugin to think the service is not linked, and we advise you to unlink before proceeding.
It is possible to change the protocol for `MONGO_URL` by setting the environment variable `MONGO_DATABASE_SCHEME` on the app. Doing so will after linking will cause the plugin to think the service is not linked, and we advise you to unlink before proceeding.
```shell
dokku config:set playground MONGO_DATABASE_SCHEME=mongodb2
dokku mongo:link lolipop playground
```
This will cause mongo_url to be set as:
This will cause `MONGO_URL` to be set as:
```
mongodb2://lolipop:SOME_PASSWORD@dokku-mongo-lolipop:27017/lolipop
@@ -265,13 +265,13 @@ dokku mongo:connect lolipop
dokku mongo:enter <service>
```
A bash prompt can be opened against a running service. Filesystem changes will not be saved to disk.
A bash prompt can be opened against a running service. Filesystem changes will not be saved to disk.
```shell
dokku mongo:enter lolipop
```
You may also run a command directly against the service. Filesystem changes will not be saved to disk.
You may also run a command directly against the service. Filesystem changes will not be saved to disk.
```shell
dokku mongo:enter lolipop touch /tmp/test
@@ -284,10 +284,10 @@ dokku mongo:enter lolipop touch /tmp/test
dokku mongo:expose <service> <ports...>
```
Expose the service on the service's normal ports, allowing access to it from the public interface (0. 0. 0. 0):
Expose the service on the service's normal ports, allowing access to it from the public interface (`0.0.0.0`):
```shell
dokku mongo:expose lolipop ${PLUGIN_DATASTORE_PORTS[@]}
dokku mongo:expose lolipop 27017 27018 27019 28017
```
### unexpose a previously exposed mongo service
@@ -297,7 +297,7 @@ dokku mongo:expose lolipop ${PLUGIN_DATASTORE_PORTS[@]}
dokku mongo:unexpose <service>
```
Unexpose the service, removing access to it from the public interface (0. 0. 0. 0):
Unexpose the service, removing access to it from the public interface (`0.0.0.0`):
```shell
dokku mongo:unexpose lolipop
@@ -324,7 +324,7 @@ You can promote the new service to be the primary one:
dokku mongo:promote other_service playground
```
This will replace mongo_url with the url from other_service and generate another environment variable to hold the previous value if necessary. You could end up with the following for example:
This will replace `MONGO_URL` with the url from other_service and generate another environment variable to hold the previous value if necessary. You could end up with the following for example:
```
MONGO_URL=mongodb://other_service:ANOTHER_PASSWORD@dokku-mongo-other-service:27017/other_service
@@ -402,7 +402,7 @@ Service scripting can be executed using the following commands:
dokku mongo:app-links <app>
```
List all mongo services that are linked to the 'playground' app.
List all mongo services that are linked to the 'playground' app.
```shell
dokku mongo:app-links playground
@@ -436,7 +436,7 @@ dokku mongo:clone lolipop lolipop-2
dokku mongo:exists <service>
```
Here we check if the lolipop mongo service exists.
Here we check if the lolipop mongo service exists.
```shell
dokku mongo:exists lolipop
@@ -449,7 +449,7 @@ dokku mongo:exists lolipop
dokku mongo:linked <service> <app>
```
Here we check if the lolipop mongo service is linked to the 'playground' app.
Here we check if the lolipop mongo service is linked to the 'playground' app.
```shell
dokku mongo:linked lolipop playground
@@ -462,7 +462,7 @@ dokku mongo:linked lolipop playground
dokku mongo:links <service>
```
List all apps linked to the 'lolipop' mongo service.
List all apps linked to the 'lolipop' mongo service.
```shell
dokku mongo:links lolipop
@@ -567,7 +567,7 @@ flags:
- `-u|--use-iam`: use the IAM profile associated with the current server
Backup the 'lolipop' service to the 'my-s3-bucket' bucket on aws:
Backup the 'lolipop' service to the 'my-s3-bucket' bucket on ``AWS`:`
```shell
dokku mongo:backup lolipop my-s3-bucket --use-iam
@@ -580,7 +580,7 @@ dokku mongo:backup lolipop my-s3-bucket --use-iam
dokku mongo:backup-set-encryption <service> <passphrase>
```
Set the gpg-compatible passphrase for encrypting backups for backups:
Set the GPG-compatible passphrase for encrypting backups for backups:
```shell
dokku mongo:backup-set-encryption lolipop
@@ -593,7 +593,7 @@ dokku mongo:backup-set-encryption lolipop
dokku mongo:backup-unset-encryption <service>
```
Unset the gpg encryption passphrase for backups:
Unset the `GPG` encryption passphrase for backups:
```shell
dokku mongo:backup-unset-encryption lolipop

View File

@@ -5,7 +5,7 @@ import os
import re
def compile(service, version, alias, scheme, ports, unimplemented, dokku_version):
def compile(service, version, variable, alias, image, scheme, ports, unimplemented, dokku_version):
return (
"\n\n".join(
[
@@ -13,8 +13,8 @@ def compile(service, version, alias, scheme, ports, unimplemented, dokku_version
description(service, version),
requirements_section(dokku_version),
installation_section(service, dokku_version),
commands_section(service, alias, scheme, ports, unimplemented),
usage_section(service, alias, scheme, ports, unimplemented),
commands_section(service, variable, alias, image, scheme, ports, unimplemented),
usage_section(service, variable, alias, image, scheme, ports, unimplemented),
]
)
.replace("\n\n\n\n\n", "\n")
@@ -56,7 +56,7 @@ def installation_section(service, dokku_version):
)
def commands_section(service, alias, scheme, ports, unimplemented):
def commands_section(service, variable, alias, image, scheme, ports, unimplemented):
content = [
"## Commands",
"",
@@ -71,7 +71,7 @@ def commands_section(service, alias, scheme, ports, unimplemented):
for filename in subcommands:
if filename in unimplemented:
continue
data = command_data(filename, service, alias, scheme, ports)
data = command_data(filename, service, variable, alias, image, scheme, ports)
description = data["description"]
arguments = data["arguments_string"]
@@ -89,31 +89,31 @@ def commands_section(service, alias, scheme, ports, unimplemented):
return "\n".join(content)
def usage_section(service, alias, scheme, ports, unimplemented):
def usage_section(service, variable, alias, image, scheme, ports, unimplemented):
return "\n\n".join(
[
"## Usage",
f"Help for any commands can be displayed by specifying the command as an argument to {service}:help. Please consult the `{service}:help` command for any undocumented commands.",
usage_intro(service, alias, scheme, ports, unimplemented),
usage_lifecycle(service, alias, scheme, ports, unimplemented),
usage_automation(service, alias, scheme, ports, unimplemented),
usage_data_management(service, alias, scheme, ports, unimplemented),
usage_backup(service, alias, scheme, ports, unimplemented),
usage_docker_pull(service, alias, scheme, ports, unimplemented),
usage_intro(service, variable, alias, image, scheme, ports, unimplemented),
usage_lifecycle(service, variable, alias, image, scheme, ports, unimplemented),
usage_automation(service, variable, alias, image, scheme, ports, unimplemented),
usage_data_management(service, variable, alias, image, scheme, ports, unimplemented),
usage_backup(service, variable, alias, image, scheme, ports, unimplemented),
usage_docker_pull(service, variable, alias, image, scheme, ports, unimplemented),
]
)
def usage_intro(service, alias, scheme, ports, unimplemented):
def usage_intro(service, variable, alias, image, scheme, ports, unimplemented):
commands = ["create", "info", "list", "logs", "link", "unlink"]
content = ["### Basic Usage"]
return fetch_commands_content(
service, alias, scheme, ports, unimplemented, commands, content
service, variable, alias, image, scheme, ports, unimplemented, commands, content
)
def usage_lifecycle(service, alias, scheme, ports, unimplemented):
def usage_lifecycle(service, variable, alias, image, scheme, ports, unimplemented):
commands = [
"connect",
"enter",
@@ -133,11 +133,11 @@ def usage_lifecycle(service, alias, scheme, ports, unimplemented):
]
return fetch_commands_content(
service, alias, scheme, ports, unimplemented, commands, content
service, variable, alias, image, scheme, ports, unimplemented, commands, content
)
def usage_automation(service, alias, scheme, ports, unimplemented):
def usage_automation(service, variable, alias, image, scheme, ports, unimplemented):
commands = ["app-links", "clone", "exists", "linked", "links"]
content = [
"### Service Automation",
@@ -147,11 +147,11 @@ def usage_automation(service, alias, scheme, ports, unimplemented):
]
return fetch_commands_content(
service, alias, scheme, ports, unimplemented, commands, content
service, variable, alias, image, scheme, ports, unimplemented, commands, content
)
def usage_data_management(service, alias, scheme, ports, unimplemented):
def usage_data_management(service, variable, alias, image, scheme, ports, unimplemented):
commands = ["import", "export"]
content = [
"### Data Management",
@@ -161,11 +161,11 @@ def usage_data_management(service, alias, scheme, ports, unimplemented):
]
return fetch_commands_content(
service, alias, scheme, ports, unimplemented, commands, content
service, variable, alias, image, scheme, ports, unimplemented, commands, content
)
def usage_backup(service, alias, scheme, ports, unimplemented):
def usage_backup(service, variable, alias, image, scheme, ports, unimplemented):
commands = [
"backup-auth",
"backup-deauth",
@@ -188,11 +188,11 @@ def usage_backup(service, alias, scheme, ports, unimplemented):
]
return fetch_commands_content(
service, alias, scheme, ports, unimplemented, commands, content
service, variable, alias, image, scheme, ports, unimplemented, commands, content
)
def usage_docker_pull(service, alias, scheme, ports, unimplemented):
def usage_docker_pull(service, variable, alias, image, scheme, ports, unimplemented):
service_prefix = service.upper()
return "\n".join(
[
@@ -206,11 +206,11 @@ def usage_docker_pull(service, alias, scheme, ports, unimplemented):
def fetch_commands_content(
service, alias, scheme, ports, unimplemented, commands, content
service, variable, alias, image, scheme, ports, unimplemented, commands, content
):
i = 0
for command in commands:
output = command_help(command, service, alias, scheme, ports, unimplemented)
output = command_help(command, service, variable, alias, image, scheme, ports, unimplemented)
if output == "":
continue
content.append(output)
@@ -248,11 +248,11 @@ def parse_args(line):
return " ".join(arguments)
def command_help(command, service, alias, scheme, ports, unimplemented):
def command_help(command, service, variable, alias, image, scheme, ports, unimplemented):
if command in unimplemented:
return ""
data = command_data(command, service, alias, scheme, ports)
data = command_data(command, service, variable, alias, image, scheme, ports)
content = [
f"### {data['description']}",
"",
@@ -283,7 +283,7 @@ def command_help(command, service, alias, scheme, ports, unimplemented):
return "\n" + "\n".join(content)
def command_data(command, service, alias, scheme, ports):
def command_data(command, service, variable, alias, image, scheme, ports):
description = None
arguments = []
arguments_string = ""
@@ -295,9 +295,12 @@ def command_data(command, service, alias, scheme, ports):
line = line.replace("$PLUGIN_SERVICE", service)
line = line.replace("$PLUGIN_COMMAND_PREFIX", service)
line = line.replace("${PLUGIN_COMMAND_PREFIX}", service)
line = line.replace("${PLUGIN_VARIABLE}", variable)
line = line.replace("${PLUGIN_DEFAULT_ALIAS}", alias)
line = line.replace("${PLUGIN_IMAGE}", image)
line = line.replace("${PLUGIN_SCHEME}", scheme)
line = line.replace("${PLUGIN_DATASTORE_PORTS[0]}", ports[0])
line = line.replace("${PLUGIN_DATASTORE_PORTS[@]}", " ".join(ports))
if "declare desc" in line:
description = re.search('"(.+)"', line).group(1)
@@ -394,11 +397,34 @@ def command_data(command, service, alias, scheme, ports):
def process_sentence(sentence_lines):
sentence_lines = " ".join(sentence_lines)
sentences = ". ".join(
i.strip().capitalize() for i in sentence_lines.split(".")
upperfirst(i.strip()) for i in sentence_lines.split(".")
).strip()
if not sentences.endswith(".") and not sentences.endswith(":"):
sentences += ":"
return sentences
text = []
for sentence in sentences.split("."):
parts = []
for word in sentence.strip().split(" "):
if word.isupper() and len(word) > 1:
for ending in [':', '.']:
if word.endswith(ending):
word = '`{0}`{1}'.format(word[:-1], ending)
else:
word = '`{0}`'.format(word)
parts.append(word)
text.append(" ".join(parts))
text = ". ".join(text)
# some cleanup
text = text.replace("(0. 0. 0. 0)", "(`0.0.0.0`)")
return text
def upperfirst(x):
return x[:1].upper() + x[1:]
def process_blockquote(blockquote_lines):
@@ -418,16 +444,22 @@ def process_codeblock(codeblock_lines):
def main():
service = None
version = None
variable = None
image = None
alias = None
unimplemented = []
with open("config") as f:
for line in f.readlines():
if "IMAGE_VERSION=${" in line:
version = re.search('"(.+)"', line).group(1)
if "_IMAGE=${" in line:
image = re.search('"(.+)"', line).group(1)
if "PLUGIN_COMMAND_PREFIX=" in line:
service = re.search('"(.+)"', line).group(1)
if "PLUGIN_DEFAULT_ALIAS=" in line:
alias = re.search('"(.+)"', line).group(1)
if "PLUGIN_VARIABLE=" in line:
variable = re.search('"(.+)"', line).group(1)
if "PLUGIN_SCHEME=" in line:
scheme = re.search('"(.+)"', line).group(1)
if "PLUGIN_DATASTORE_PORTS=" in line:
@@ -437,7 +469,7 @@ def main():
if match is not None:
unimplemented = [s.strip('"') for s in match.group(1).split(" ")]
text = compile(service, version, alias, scheme, ports, unimplemented, "0.12.x+")
text = compile(service, version, variable, alias, image, scheme, ports, unimplemented, "0.12.x+")
base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
readme_file = os.path.join(base_path, "README.md")

View File

@@ -30,10 +30,10 @@ service-link-cmd() {
#E use the 'expose' subcommand. another service can be linked to your app:
#E dokku $PLUGIN_COMMAND_PREFIX:link other_service playground
#E it is possible to change the protocol for ${PLUGIN_DEFAULT_ALIAS}_URL by setting the
#E environment variable ${PLUGIN_DEFAULT_ALIAS}_DATABASE_SCHEME on the app. doing so will
#E environment variable ${PLUGIN_VARIABLE}_DATABASE_SCHEME on the app. doing so will
#E after linking will cause the plugin to think the service is not
#E linked, and we advise you to unlink before proceeding.
#E dokku config:set playground ${PLUGIN_DEFAULT_ALIAS}_DATABASE_SCHEME=${PLUGIN_SCHEME}2
#E dokku config:set playground ${PLUGIN_VARIABLE}_DATABASE_SCHEME=${PLUGIN_SCHEME}2
#E dokku $PLUGIN_COMMAND_PREFIX:link lolipop playground
#E this will cause ${PLUGIN_DEFAULT_ALIAS}_URL to be set as:
#E