docs: Separate terminology from cookbook and manpages

This commit is contained in:
Rylan Polster 2021-06-07 10:57:27 -04:00
parent 144c1c68c3
commit 2c22a258a0
No known key found for this signature in database
GPG Key ID: 46A744940CFF4D64
5 changed files with 71 additions and 73 deletions

View File

@ -67,7 +67,6 @@ module Homebrew
generate_cmd_manpages(Commands.official_external_commands_paths(quiet: quiet))
variables[:global_cask_options] = global_cask_options_manpage
variables[:global_options] = global_options_manpage
variables[:terminology] = terminology_manpage
variables[:environment_variables] = env_vars_manpage
readme = HOMEBREW_REPOSITORY/"README.md"
@ -230,22 +229,6 @@ module Homebrew
lines.join("\n")
end
sig { returns(String) }
def terminology_manpage
formula_cookbook_text = (HOMEBREW_REPOSITORY/"docs/Formula-Cookbook.md").read.split("\n")
start_term = "## Homebrew terminology"
start_index = formula_cookbook_text.index(start_term) + 4 # Skip ahead to the table contents
end_index = formula_cookbook_text.index "## An introduction"
formula_cookbook_text[start_index...end_index].map do |item|
next "" unless item.include? "|"
term, definition, example = item.split("|").map(&:strip)[1..]
definition.gsub!(/\[(.*)\]\(.*\)/, '\1')
"#{term}: #{definition} (e.g. #{example})"
end.join("\n\n")
end
sig { returns(String) }
def env_vars_manpage
lines = Homebrew::EnvConfig::ENVS.flat_map do |env, hash|

View File

@ -28,6 +28,24 @@ Homebrew is the easiest and most flexible way to install the UNIX tools Apple
didn't include with macOS. It can also install software not packaged for your
Linux distribution to your home directory without requiring `sudo`.
## TERMINOLOGY
**Formula**: The package definition
**Cask**: An extension of Homebrew to install macOS native apps
**Keg**: The installation prefix of a **Formula**
**Keg-only**: A **Formula** is **Keg-only** if it is not linked into the Homebrew prefix
**Cellar**: All **Kegs** are installed here
**Caskroom**: All **Casks** are installed here
**Tap**: A Git repository of **Formulae** and/or commands
**Bottle**: Pre-built **Keg** used instead of building from source
## ESSENTIAL COMMANDS
For the full command list, see the [COMMANDS](#commands) section.
@ -137,10 +155,6 @@ And for an authenticated HTTP proxy:
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
## TERMINOLOGY
<%= terminology %>
## SEE ALSO
Homebrew Documentation: <https://docs.brew.sh>

View File

@ -8,7 +8,8 @@ A *formula* is a package definition written in Ruby. It can be created with `bre
|----------------|------------------------------------------------------------|-----------------------------------------------------------------|
| **Formula** | The package definition | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/foo.rb` |
| **Keg** | The installation prefix of a **Formula** | `/usr/local/Cellar/foo/0.1` |
| **opt prefix** | A symlink to the active version of a **Keg** | `/usr/local/opt/foo` |
| **Keg-only** | A **Formula** is **Keg-only** if it is not linked into the Homebrew prefix | The [`openjdk` formula](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openjdk.rb) |
| **opt prefix** | A symlink to the active version of a **Keg** | `/usr/local/opt/foo ` |
| **Cellar** | All **Kegs** are installed here | `/usr/local/Cellar` |
| **Tap** | A Git repository of **Formulae** and/or commands | `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core` |
| **Bottle** | Pre-built **Keg** used instead of building from source | `qt-4.8.4.catalina.bottle.tar.gz` |

View File

@ -12,6 +12,24 @@ Homebrew is the easiest and most flexible way to install the UNIX tools Apple
didn't include with macOS. It can also install software not packaged for your
Linux distribution to your home directory without requiring `sudo`.
## TERMINOLOGY
**Formula**: The package definition
**Cask**: An extension of Homebrew to install macOS native apps
**Keg**: The installation prefix of a **Formula**
**Keg-only**: A **Formula** is **Keg-only** if it is not linked into the Homebrew prefix
**Cellar**: All **Kegs** are installed here
**Caskroom**: All **Casks** are installed here
**Tap**: A Git repository of **Formulae** and/or commands
**Bottle**: Pre-built **Keg** used instead of building from source
## ESSENTIAL COMMANDS
For the full command list, see the [COMMANDS](#commands) section.
@ -2052,24 +2070,6 @@ And for an authenticated HTTP proxy:
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
## TERMINOLOGY
**Formula**: The package definition (e.g. `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/foo.rb`)
**Keg**: The installation prefix of a **Formula** (e.g. `/usr/local/Cellar/foo/0.1`)
**opt prefix**: A symlink to the active version of a **Keg** (e.g. `/usr/local/opt/foo`)
**Cellar**: All **Kegs** are installed here (e.g. `/usr/local/Cellar`)
**Tap**: A Git repository of **Formulae** and/or commands (e.g. `/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core`)
**Bottle**: Pre-built **Keg** used instead of building from source (e.g. `qt-4.8.4.catalina.bottle.tar.gz`)
**Cask**: An extension of Homebrew to install macOS native apps (e.g. `/Applications/MacDown.app/Contents/SharedSupport/bin/macdown`)
**Brew Bundle**: An extension of Homebrew to describe dependencies (e.g. `brew 'myservice', restart_service: true`)
## SEE ALSO
Homebrew Documentation: <https://docs.brew.sh>
@ -2107,6 +2107,7 @@ See our issues on GitHub:
[SYNOPSIS]: #SYNOPSIS "SYNOPSIS"
[DESCRIPTION]: #DESCRIPTION "DESCRIPTION"
[TERMINOLOGY]: #TERMINOLOGY "TERMINOLOGY"
[ESSENTIAL COMMANDS]: #ESSENTIAL-COMMANDS "ESSENTIAL COMMANDS"
[COMMANDS]: #COMMANDS "COMMANDS"
[DEVELOPER COMMANDS]: #DEVELOPER-COMMANDS "DEVELOPER COMMANDS"
@ -2118,7 +2119,6 @@ See our issues on GitHub:
[SPECIFYING CASKS]: #SPECIFYING-CASKS "SPECIFYING CASKS"
[ENVIRONMENT]: #ENVIRONMENT "ENVIRONMENT"
[USING HOMEBREW BEHIND A PROXY]: #USING-HOMEBREW-BEHIND-A-PROXY "USING HOMEBREW BEHIND A PROXY"
[TERMINOLOGY]: #TERMINOLOGY "TERMINOLOGY"
[SEE ALSO]: #SEE-ALSO "SEE ALSO"
[AUTHORS]: #AUTHORS "AUTHORS"
[BUGS]: #BUGS "BUGS"

View File

@ -15,6 +15,38 @@
.SH "DESCRIPTION"
Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn\'t include with macOS\. It can also install software not packaged for your Linux distribution to your home directory without requiring \fBsudo\fR\.
.
.SH "TERMINOLOGY"
\fBFormula\fR
The package definition
.
.P
\fBCask\fR
An extension of Homebrew to install macOS native apps
.
.P
\fBKeg\fR
The installation prefix of a \fBFormula\fR
.
.P
\fBKeg\-only\fR
A \fBFormula\fR is \fBKeg\-only\fR if it is not linked into the Homebrew prefix
.
.P
\fBCellar\fR
All \fBKegs\fR are installed here
.
.P
\fBCaskroom\fR
All \fBCasks\fR are installed here
.
.P
\fBTap\fR
A Git repository of \fBFormulae\fR and/or commands
.
.P
\fBBottle\fR
Pre\-built \fBKeg\fR used instead of building from source
.
.SH "ESSENTIAL COMMANDS"
For the full command list, see the \fICOMMANDS\fR section\.
.
@ -2988,38 +3020,6 @@ export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
.
.IP "" 0
.
.SH "TERMINOLOGY"
\fBFormula\fR
The package definition (e\.g\. \fB/usr/local/Homebrew/Library/Taps/homebrew/homebrew\-core/Formula/foo\.rb\fR)
.
.P
\fBKeg\fR
The installation prefix of a \fBFormula\fR (e\.g\. \fB/usr/local/Cellar/foo/0\.1\fR)
.
.P
\fBopt prefix\fR
A symlink to the active version of a \fBKeg\fR (e\.g\. \fB/usr/local/opt/foo\fR)
.
.P
\fBCellar\fR
All \fBKegs\fR are installed here (e\.g\. \fB/usr/local/Cellar\fR)
.
.P
\fBTap\fR
A Git repository of \fBFormulae\fR and/or commands (e\.g\. \fB/usr/local/Homebrew/Library/Taps/homebrew/homebrew\-core\fR)
.
.P
\fBBottle\fR
Pre\-built \fBKeg\fR used instead of building from source (e\.g\. \fBqt\-4\.8\.4\.catalina\.bottle\.tar\.gz\fR)
.
.P
\fBCask\fR
An extension of Homebrew to install macOS native apps (e\.g\. \fB/Applications/MacDown\.app/Contents/SharedSupport/bin/macdown\fR)
.
.P
\fBBrew Bundle\fR: An extension of Homebrew to describe dependencies (e\.g\. \fBbrew \'myservice\', restart_service
true\fR)
.
.SH "SEE ALSO"
Homebrew Documentation: \fIhttps://docs\.brew\.sh\fR
.