diff options
41 files changed, 226 insertions, 150 deletions
| diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0cf37b85d..7ba6830c0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,7 @@ First time contributing to Homebrew? Read our [Code of Conduct](https://github.c  * Run `brew update` (twice).  * Run and read `brew doctor`. -* Read [the Troubleshooting Checklist](https://docs.brew.sh/Troubleshooting.html). +* Read [the Troubleshooting Checklist](https://docs.brew.sh/Troubleshooting).  * Open an issue on the formula's repository or on Homebrew/brew if it's not a formula-specific issue.  ### Propose a feature diff --git a/Library/Homebrew/README.md b/Library/Homebrew/README.md index 681bb9288..e0e961373 100644 --- a/Library/Homebrew/README.md +++ b/Library/Homebrew/README.md @@ -3,6 +3,6 @@ This is the (partially) documented public API for Homebrew.  The main class you should look at is the {Formula} class (and classes linked from there). That's the class that's used to create Homebrew formulae (i.e. package descriptions). Assume anything else you stumble upon is private. -You may also find the [Formula Cookbook](https://docs.brew.sh/Formula-Cookbook.html) and [Ruby Style Guide](https://github.com/styleguide/ruby) helpful in creating formulae. +You may also find the [Formula Cookbook](https://docs.brew.sh/Formula-Cookbook) and [Ruby Style Guide](https://github.com/styleguide/ruby) helpful in creating formulae.  Good luck! diff --git a/Library/Homebrew/cmd/analytics.rb b/Library/Homebrew/cmd/analytics.rb index 0985f00b8..0f56cd675 100644 --- a/Library/Homebrew/cmd/analytics.rb +++ b/Library/Homebrew/cmd/analytics.rb @@ -1,6 +1,6 @@  #:  * `analytics` [`state`]:  #:    Display anonymous user behaviour analytics state. -#:    Read more at <https://docs.brew.sh/Analytics.html>. +#:    Read more at <https://docs.brew.sh/Analytics>.  #:  #:  * `analytics` (`on`|`off`):  #:    Turn on/off Homebrew's analytics. diff --git a/Library/Homebrew/cmd/help.rb b/Library/Homebrew/cmd/help.rb index c85916f9b..c85b92124 100644 --- a/Library/Homebrew/cmd/help.rb +++ b/Library/Homebrew/cmd/help.rb @@ -16,7 +16,7 @@ HOMEBREW_HELP = <<~EOS.freeze    Developers:      brew create [URL [--no-fetch]]      brew edit [FORMULA...] -    https://docs.brew.sh/Formula-Cookbook.html +    https://docs.brew.sh/Formula-Cookbook    Further help:      man brew diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 1eb9fe9fe..27f719c57 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -17,7 +17,7 @@  #:    information on all installed formulae.  #:  #:    See the docs for examples of using the JSON output: -#:    <https://docs.brew.sh/Querying-Brew.html> +#:    <https://docs.brew.sh/Querying-Brew>  require "missing_formula"  require "caveats" diff --git a/Library/Homebrew/cmd/tap-info.rb b/Library/Homebrew/cmd/tap-info.rb index 3d995f4bc..26daa1a8a 100644 --- a/Library/Homebrew/cmd/tap-info.rb +++ b/Library/Homebrew/cmd/tap-info.rb @@ -13,7 +13,7 @@  #:    Pass `--installed` to get information on installed taps.  #:  #:    See the docs for examples of using the JSON output: -#:    <https://docs.brew.sh/Querying-Brew.html> +#:    <https://docs.brew.sh/Querying-Brew>  require "tap" diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 055c55a84..2c4d3de0c 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -35,7 +35,7 @@ module Homebrew          ohai "Homebrew has enabled anonymous aggregate user behaviour analytics."          puts <<~EOS            #{Tty.bold}Read the analytics documentation (and how to opt-out) here: -            #{Formatter.url("https://docs.brew.sh/Analytics.html")}#{Tty.reset} +            #{Formatter.url("https://docs.brew.sh/Analytics")}#{Tty.reset}          EOS diff --git a/Library/Homebrew/dev-cmd/create.rb b/Library/Homebrew/dev-cmd/create.rb index 122be2593..3963e5a7b 100644 --- a/Library/Homebrew/dev-cmd/create.rb +++ b/Library/Homebrew/dev-cmd/create.rb @@ -167,7 +167,7 @@ class FormulaCreator    def template      <<~EOS -      # Documentation: https://docs.brew.sh/Formula-Cookbook.html +      # Documentation: https://docs.brew.sh/Formula-Cookbook        #                http://www.rubydoc.info/github/Homebrew/brew/master/Formula        # PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!         class #{Formulary.class_s(name)} < Formula diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 1355e5945..228eb537b 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -28,7 +28,7 @@ require "language/python"  # @see SharedEnvExtension  # @see FileUtils  # @see Pathname -# @see https://docs.brew.sh/Formula-Cookbook.html Formula Cookbook +# @see https://docs.brew.sh/Formula-Cookbook Formula Cookbook  # @see https://github.com/styleguide/ruby Ruby Style Guide  #  # <pre>class Wget < Formula @@ -2057,7 +2057,7 @@ class Formula      # and you haven't passed or previously used any options on this formula.      #      # If you maintain your own repository, you can add your own bottle links. -    # https://docs.brew.sh/Bottles.html +    # https://docs.brew.sh/Bottles      # You can ignore this block entirely if submitting to Homebrew/homebrew-core.      # It'll be handled for you by the Brew Test Bot.      # diff --git a/Library/Homebrew/manpages/brew.1.md.erb b/Library/Homebrew/manpages/brew.1.md.erb index fbe6fca94..533e1d594 100644 --- a/Library/Homebrew/manpages/brew.1.md.erb +++ b/Library/Homebrew/manpages/brew.1.md.erb @@ -76,7 +76,7 @@ scripts that reside somewhere in the `PATH`, named `brew-`<cmdname> or  to create your own commands without modifying Homebrew's internals.  Instructions for creating your own commands can be found in the docs: -<https://docs.brew.sh/External-Commands.html> +<https://docs.brew.sh/External-Commands>  ## SPECIFYING FORMULAE @@ -193,7 +193,7 @@ can take several different forms:      *Default:* the number of available CPU cores.    * `HOMEBREW_NO_ANALYTICS`: -    If set, Homebrew will not send analytics. See: <https://docs.brew.sh/Analytics.html> +    If set, Homebrew will not send analytics. See: <https://docs.brew.sh/Analytics>    * `HOMEBREW_NO_AUTO_UPDATE`:      If set, Homebrew will not auto-update before running `brew install`, diff --git a/Library/Homebrew/missing_formula.rb b/Library/Homebrew/missing_formula.rb index 146c3e984..31dfa94ef 100644 --- a/Library/Homebrew/missing_formula.rb +++ b/Library/Homebrew/missing_formula.rb @@ -155,7 +155,7 @@ module Homebrew                git -C "$(brew --repo #{tap})" show #{short_hash}^:#{relative_path}              If you still use this formula consider creating your own tap: -              https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap.html +              https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap            EOS          end        end diff --git a/Library/Homebrew/os.rb b/Library/Homebrew/os.rb index d56b03228..cc6c86537 100644 --- a/Library/Homebrew/os.rb +++ b/Library/Homebrew/os.rb @@ -17,7 +17,7 @@ module OS      require "os/mac"      # Don't tell people to report issues on unsupported versions of macOS.      if !OS::Mac.prerelease? && !OS::Mac.outdated_release? -      ISSUES_URL = "https://docs.brew.sh/Troubleshooting.html".freeze +      ISSUES_URL = "https://docs.brew.sh/Troubleshooting".freeze      end      PATH_OPEN = "/usr/bin/open".freeze    elsif OS.linux? diff --git a/Library/Homebrew/utils/analytics.rb b/Library/Homebrew/utils/analytics.rb index 9766c14db..adef3e811 100644 --- a/Library/Homebrew/utils/analytics.rb +++ b/Library/Homebrew/utils/analytics.rb @@ -40,7 +40,7 @@ module Utils          end          # Send analytics. Don't send or store any personally identifiable information. -        # https://docs.brew.sh/Analytics.html +        # https://docs.brew.sh/Analytics          # https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide          # https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters          if ENV["HOMEBREW_ANALYTICS_DEBUG"] @@ -14,7 +14,7 @@ Features, usage and installation instructions are [summarised on the homepage](h  ## Troubleshooting  First, please run `brew update` and `brew doctor`. -Second, read the [Troubleshooting Checklist](https://docs.brew.sh/Troubleshooting.html). +Second, read the [Troubleshooting Checklist](https://docs.brew.sh/Troubleshooting).  **If you don't read these it will take us far longer to help you with your problem.** @@ -26,7 +26,7 @@ We'd love you to contribute to Homebrew. First, please read our [Contribution Gu  We explicitly welcome contributions from people who have never contributed to open-source before: we were all beginners once! We can help build on a partially working pull request with the aim of getting it merged. We are also actively seeking to diversify our contributors and especially welcome contributions from women from all backgrounds and people of colour. -A good starting point for contributing is running `brew audit --strict` with some of the packages you use (e.g. `brew audit --strict wget` if you use `wget`) and then read through the warnings, try to fix them until `brew audit --strict` shows no results and [submit a pull request](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request.html). If no formulae you use have warnings you can run `brew audit --strict` without arguments to have it run on all packages and pick one. +A good starting point for contributing is running `brew audit --strict` with some of the packages you use (e.g. `brew audit --strict wget` if you use `wget`) and then read through the warnings, try to fix them until `brew audit --strict` shows no results and [submit a pull request](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request). If no formulae you use have warnings you can run `brew audit --strict` without arguments to have it run on all packages and pick one.  Alternatively, for something more substantial, check out one of the issues labeled `help wanted` in [Homebrew/brew](https://github.com/homebrew/brew/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) or [Homebrew/homebrew-core](https://github.com/homebrew/homebrew-core/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). diff --git a/docs/.well-known/acme-challenge/CgQNmjNTd6fUriinp4XpuRI5PBGp7zEXbEEsQceSD0k b/docs/.well-known/acme-challenge/CgQNmjNTd6fUriinp4XpuRI5PBGp7zEXbEEsQceSD0k deleted file mode 100644 index d3ba42ff4..000000000 --- a/docs/.well-known/acme-challenge/CgQNmjNTd6fUriinp4XpuRI5PBGp7zEXbEEsQceSD0k +++ /dev/null @@ -1 +0,0 @@ -CgQNmjNTd6fUriinp4XpuRI5PBGp7zEXbEEsQceSD0k.unNjkXuFqjKx4BO8gem4nzeMm1tSZxPPeBjNqQhFCqQ diff --git a/docs/Acceptable-Formulae.md b/docs/Acceptable-Formulae.md index df799bb1a..1530238c5 100644 --- a/docs/Acceptable-Formulae.md +++ b/docs/Acceptable-Formulae.md @@ -2,14 +2,14 @@  Some formulae should not go in  [homebrew/core](https://github.com/Homebrew/homebrew-core). But there are -additional [Interesting Taps and Forks](Interesting-Taps-and-Forks.md) and anyone can start their +additional [Interesting Taps and Forks](Interesting-Taps-and-Forks) and anyone can start their  own!  ### Dupes in `homebrew/core`  We now accept stuff that comes with macOS as long as it uses `keg_only :provided_by_macos` to be keg-only by default.  ### Versioned formulae in `homebrew/core` -We now accept versioned formulae as long as they [meet the requirements](Versions.md). +We now accept versioned formulae as long as they [meet the requirements](Versions).  ### We don’t like tools that upgrade themselves  Software that can upgrade itself does not integrate well with Homebrew's own @@ -36,7 +36,7 @@ the upstream project. Tarballs are preferred to Git checkouts, and  tarballs should include the version in the filename whenever possible.  We don’t accept software without a tagged version because they regularly break -due to upstream changes and we can’t provide [bottles](Bottles.md) for them. +due to upstream changes and we can’t provide [bottles](Bottles) for them.  ### Bindings  First check that there is not already a binding available via @@ -62,7 +62,7 @@ get maintained and partly because we have to draw the line somewhere.  We frown on authors submitting their own work unless it is very popular.  Don’t forget Homebrew is all Git underneath! -[Maintain your own tap](How-to-Create-and-Maintain-a-Tap.md) if you have to! +[Maintain your own tap](How-to-Create-and-Maintain-a-Tap) if you have to!  There may be exceptions to these rules in the main repository; we may  include things that don't meet these criteria or reject things that do. diff --git a/docs/Bottles.md b/docs/Bottles.md index 426b9e91c..b216b2731 100644 --- a/docs/Bottles.md +++ b/docs/Bottles.md @@ -8,7 +8,7 @@ If a bottle is available and usable it will be downloaded and poured automatical  Bottles will not be used if the user requests it (see above), if the formula requests it (with `pour_bottle?`), if any options are specified during installation (bottles are all compiled with default options), if the bottle is not up to date (e.g. lacking a checksum) or if the bottle's `cellar` is not `:any` nor equal to the current `HOMEBREW_CELLAR`.  ## Creation -Bottles are created using the [Brew Test Bot](Brew-Test-Bot.md). This happens mostly when people submit pull requests to Homebrew and the `bottle do` block is updated by maintainers when they `brew pull --bottle` the contents of a pull request. For the Homebrew organisations' taps they are uploaded to and downloaded from [Bintray](https://bintray.com/homebrew). +Bottles are created using the [Brew Test Bot](Brew-Test-Bot). This happens mostly when people submit pull requests to Homebrew and the `bottle do` block is updated by maintainers when they `brew pull --bottle` the contents of a pull request. For the Homebrew organisations' taps they are uploaded to and downloaded from [Bintray](https://bintray.com/homebrew).  By default, bottles will be built for the oldest CPU supported by the OS/architecture you're building for. (That's Core 2 for 64-bit OSs, Core for 32-bit.) This ensures that bottles are compatible with all computers you might distribute them to. If you *really* want your bottles to be optimized for something else, you can pass the `--bottle-arch=` option to build for another architecture - for example, `brew install foo --bottle-arch=penryn`. Just remember that if you build for a newer architecture some of your users might get binaries they can't run and that would be sad! diff --git a/docs/Brew-Test-Bot-For-Core-Contributors.md b/docs/Brew-Test-Bot-For-Core-Contributors.md index 8df0a2835..939e6e9bd 100644 --- a/docs/Brew-Test-Bot-For-Core-Contributors.md +++ b/docs/Brew-Test-Bot-For-Core-Contributors.md @@ -5,7 +5,7 @@ If a build has run and passed on `brew test-bot` then it can be used to quickly  There are two types of Jenkins jobs you will interact with:  ## [Homebrew Core Pull Requests](https://jenkins.brew.sh/job/Homebrew%20Core/) -This job automatically builds any pull requests submitted to Homebrew/homebrew-core. On success or failure it updates the pull request status (see more details on the [main Brew Test Bot documentation page](Brew-Test-Bot.md)). On a successful build it automatically uploads bottles. +This job automatically builds any pull requests submitted to Homebrew/homebrew-core. On success or failure it updates the pull request status (see more details on the [main Brew Test Bot documentation page](Brew-Test-Bot)). On a successful build it automatically uploads bottles.  ## [Homebrew Testing](https://jenkins.brew.sh/job/Homebrew%20Testing/)  This job is manually triggered to run [`brew test-bot`](https://github.com/Homebrew/homebrew-test-bot/blob/master/cmd/brew-test-bot.rb) with user-specified parameters. On a successful build it automatically uploads bottles. diff --git a/docs/Building-Against-Non-Homebrew-Dependencies.md b/docs/Building-Against-Non-Homebrew-Dependencies.md index 4e85757a1..0c8ad9802 100644 --- a/docs/Building-Against-Non-Homebrew-Dependencies.md +++ b/docs/Building-Against-Non-Homebrew-Dependencies.md @@ -8,4 +8,4 @@ As Homebrew became primarily a binary package manager, most users were fulfillin  ## Today -If you wish to build against custom non-Homebrew dependencies that are provided by Homebrew (e.g. a non-Homebrew, non-macOS `ruby`) then you must [create and maintain your own tap](How-to-Create-and-Maintain-a-Tap.md) as these formulae will not be accepted in Homebrew/homebrew-core. Once you have done that you can specify `env :std` in the formula which will allow a e.g. `which ruby` to access your existing `PATH` variable and allow compilation to link against this Ruby. +If you wish to build against custom non-Homebrew dependencies that are provided by Homebrew (e.g. a non-Homebrew, non-macOS `ruby`) then you must [create and maintain your own tap](How-to-Create-and-Maintain-a-Tap) as these formulae will not be accepted in Homebrew/homebrew-core. Once you have done that you can specify `env :std` in the formula which will allow a e.g. `which ruby` to access your existing `PATH` variable and allow compilation to link against this Ruby. diff --git a/docs/Common-Issues.md b/docs/Common-Issues.md index 01ab4e806..896072068 100644 --- a/docs/Common-Issues.md +++ b/docs/Common-Issues.md @@ -80,7 +80,7 @@ When running `brew upgrade`, you see something like this:  $ brew upgrade  Error: undefined method `include?' for nil:NilClass  Please report this bug: -    https://docs.brew.sh/Troubleshooting.html +    https://docs.brew.sh/Troubleshooting  /usr/local/Library/Homebrew/formula.rb:393:in `canonical_name'  /usr/local/Library/Homebrew/formula.rb:425:in `factory'  /usr/local/Library/Contributions/examples/brew-upgrade.rb:7 @@ -121,7 +121,7 @@ To list all files that would be deleted:  Don't follow the advice here but fix by using  `Language::Python.setup_install_args` in the formula as described in -[Python for Formula Authors](Python-for-Formula-Authors.md). +[Python for Formula Authors](Python-for-Formula-Authors).  ### Upgrading macOS diff --git a/docs/External-Commands.md b/docs/External-Commands.md index 65282fcb1..9b03f0422 100644 --- a/docs/External-Commands.md +++ b/docs/External-Commands.md @@ -44,7 +44,7 @@ Note they are largely untested, and as always, be careful about running untested  ### brew-livecheck  Check if there is a new upstream version of a formula. -See the [`README`](https://github.com/Homebrew/homebrew-livecheck/blob/master/README.md) for more info and usage. +See the [`README`](https://github.com/Homebrew/homebrew-livecheck/blob/master/README) for more info and usage.  Install using: diff --git a/docs/FAQ.md b/docs/FAQ.md index 9d76bf4ab..b455ca5f7 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -76,11 +76,11 @@ the launchctl PATH for _all users_. For earlier versions of macOS, see  [this page](https://developer.apple.com/legacy/library/qa/qa1067/_index.html).  ## How do I contribute to Homebrew? -Read [CONTRIBUTING.md](https://github.com/Homebrew/brew/blob/master/CONTRIBUTING.md). +Read [CONTRIBUTING.md](https://github.com/Homebrew/brew/blob/master/CONTRIBUTING).  ## Why do you compile everything?  Homebrew provides pre-compiled versions for many formulae. These -pre-compiled versions are referred to as [bottles](Bottles.md) and are available +pre-compiled versions are referred to as [bottles](Bottles) and are available  at <https://bintray.com/homebrew/bottles>.  If available, bottled binaries will be used by default except under the @@ -163,7 +163,7 @@ creating a separate user account especially for use of Homebrew.  ## Why isn’t a particular command documented? -If it’s not in `man brew`, it’s probably an external command. These are documented [here](External-Commands.md). +If it’s not in `man brew`, it’s probably an external command. These are documented [here](External-Commands).  ## Why haven’t you pulled my pull request?  If it’s been a while, bump it with a “bump” comment. Sometimes we miss requests and there are plenty of them. Maybe we were thinking on something. It will encourage consideration. In the meantime if you could rebase the pull request so that it can be cherry-picked more easily we will love you for a long time. @@ -179,7 +179,7 @@ install <formula>`. If you encounter any issues, run the command with the  into a debugging shell.  If you want your new formula to be part of `homebrew/core` or want -to learn more about writing formulae, then please read the [Formula Cookbook](Formula-Cookbook.md). +to learn more about writing formulae, then please read the [Formula Cookbook](Formula-Cookbook).  ## Can I install my own stuff to `/usr/local`?  Yes, `brew` is designed to not get in your way so you can use it how you diff --git a/docs/Formula-Cookbook.md b/docs/Formula-Cookbook.md index c4db9e9f8..f977a8ef0 100644 --- a/docs/Formula-Cookbook.md +++ b/docs/Formula-Cookbook.md @@ -29,7 +29,7 @@ Make sure you run `brew update` before you start. This turns your Homebrew insta  Before submitting a new formula make sure your package: -*   meets all our [Acceptable Formulae](Acceptable-Formulae.md) requirements +*   meets all our [Acceptable Formulae](Acceptable-Formulae) requirements  *   isn't already in Homebrew (check `brew search <formula>`)  *   isn't in another official [Homebrew tap](https://github.com/Homebrew)  *   isn't already waiting to be merged (check the [issue tracker](https://github.com/Homebrew/homebrew-core/pulls)) @@ -37,7 +37,7 @@ Before submitting a new formula make sure your package:  *   has a stable, tagged version (i.e. not just a GitHub repository with no versions)  *   passes all `brew audit --new-formula <formula>` tests. -Before submitting a new formula make sure you read over our [contribution guidelines](https://github.com/Homebrew/brew/blob/master/CONTRIBUTING.md). +Before submitting a new formula make sure you read over our [contribution guidelines](https://github.com/Homebrew/brew/blob/master/CONTRIBUTING).  ### Grab the URL @@ -251,7 +251,7 @@ Check the top of the e.g. `./configure` output. Some configure scripts do not re  ### Add a test to the formula -Add a valid test to the [`test do`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#test-class_method) block of the formula. This will be run by `brew test foo` and the [Brew Test Bot](Brew-Test-Bot.md). +Add a valid test to the [`test do`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#test-class_method) block of the formula. This will be run by `brew test foo` and the [Brew Test Bot](Brew-Test-Bot).  The  [`test do`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#test-class_method) @@ -344,7 +344,7 @@ If you have already forked Homebrew on GitHub, then you can manually push (just  git push https://github.com/myname/homebrew-core/ <what-you-called-your-branch>  ``` -Now, [open a pull request](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request.html) for your changes. +Now, [open a pull request](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request) for your changes.  *   One formula per commit; one commit per formula  *   Keep merge commits out of the pull request @@ -534,7 +534,7 @@ end  ### Compiler selection -Sometimes a package fails to build when using a certain compiler. Since recent [Xcode versions](Xcode.md) no longer include a GCC compiler we cannot simply force the use of GCC. Instead, the correct way to declare this is the [`fails_with` DSL method](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#fails_with-class_method). A properly constructed [`fails_with`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#fails_with-class_method) block documents the latest compiler build version known to cause compilation to fail, and the cause of the failure. For example: +Sometimes a package fails to build when using a certain compiler. Since recent [Xcode versions](Xcode) no longer include a GCC compiler we cannot simply force the use of GCC. Instead, the correct way to declare this is the [`fails_with` DSL method](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#fails_with-class_method). A properly constructed [`fails_with`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#fails_with-class_method) block documents the latest compiler build version known to cause compilation to fail, and the cause of the failure. For example:  ```ruby  fails_with :clang do diff --git a/docs/Homebrew-and-Python.md b/docs/Homebrew-and-Python.md index eb96e5758..72bc7d7f7 100644 --- a/docs/Homebrew-and-Python.md +++ b/docs/Homebrew-and-Python.md @@ -1,6 +1,6 @@  # Python -This page describes how Python is handled in Homebrew for users. See [Python for Formula Authors](Python-for-Formula-Authors.md) for advice on writing formulae to install packages written in Python. +This page describes how Python is handled in Homebrew for users. See [Python for Formula Authors](Python-for-Formula-Authors) for advice on writing formulae to install packages written in Python.  Homebrew should work with any [CPython](https://stackoverflow.com/questions/2324208/is-there-any-difference-between-cpython-and-python) and defaults to the macOS system Python. @@ -66,7 +66,7 @@ Some formulae provide Python bindings. Sometimes a `--with-python` or `--with-py  Homebrew builds bindings against the first `python` (and `python-config`) in your `PATH`. (Check with `which python`). -**Warning!** Python may crash (see [Common Issues](Common-Issues.md)) if you `import <module>` from a brewed Python if you ran `brew install <formula_with_python_bindings>` against the system Python. If you decide to switch to the brewed Python, then reinstall all formulae with Python bindings (e.g. `pyside`, `wxwidgets`, `pygtk`, `pygobject`, `opencv`, `vtk` and `boost-python`). +**Warning!** Python may crash (see [Common Issues](Common-Issues)) if you `import <module>` from a brewed Python if you ran `brew install <formula_with_python_bindings>` against the system Python. If you decide to switch to the brewed Python, then reinstall all formulae with Python bindings (e.g. `pyside`, `wxwidgets`, `pygtk`, `pygobject`, `opencv`, `vtk` and `boost-python`).  ## Policy for non-brewed Python bindings  These should be installed via `pip install <package>`. To discover, you can use `pip search` or <https://pypi.python.org/pypi>. (**Note:** System Python does not provide `pip`. Follow the [pip documentation](https://pip.readthedocs.io/en/stable/installing/#install-pip) to install it for your system Python if you would like it.) diff --git a/docs/How-To-Open-a-Homebrew-Pull-Request.md b/docs/How-To-Open-a-Homebrew-Pull-Request.md index 812d990e0..979a031a5 100644 --- a/docs/How-To-Open-a-Homebrew-Pull-Request.md +++ b/docs/How-To-Open-a-Homebrew-Pull-Request.md @@ -34,7 +34,7 @@ To make a new branch and submit it for review, create a GitHub pull request with  1. Check out the `master` branch with `git checkout master`.  2. Retrieve new changes to the `master` branch with `brew update`.  3. Create a new branch from the latest `master` branch with `git checkout -b <YOUR_BRANCH_NAME> origin/master`. -4. Make your changes. For formulae, use `brew edit` or your favorite text editor, following all the guidelines in the [Formula Cookbook](Formula-Cookbook.md). +4. Make your changes. For formulae, use `brew edit` or your favorite text editor, following all the guidelines in the [Formula Cookbook](Formula-Cookbook).    * If there's a `bottle do` block in the formula, don't remove or change it; we'll update it when we pull your PR.  5. Test your changes by doing the following, and ensure they all pass without issue. For changed formulae, make sure you do the `brew audit` step while your changed formula is installed.    * `brew tests` diff --git a/docs/How-to-Create-and-Maintain-a-Tap.md b/docs/How-to-Create-and-Maintain-a-Tap.md index 610380aa6..c3296c55d 100644 --- a/docs/How-to-Create-and-Maintain-a-Tap.md +++ b/docs/How-to-Create-and-Maintain-a-Tap.md @@ -27,7 +27,7 @@ If it’s on GitHub, users can install any of your formulae with  file here.  If they want to get your tap without installing any formula at the same time, -users can add it with the [`brew tap` command](Taps.md). +users can add it with the [`brew tap` command](Taps).  If it’s on GitHub, they can use `brew tap user/repo`, where `user` is your  GitHub username and `homebrew-repo` your repository. @@ -51,7 +51,7 @@ Once your tap is installed, Homebrew will update it each time a user runs  ## External commands  You can provide your tap users with custom `brew` commands by adding them in a -`cmd` subdirectory. [Read more on external commands](External-Commands.md). +`cmd` subdirectory. [Read more on external commands](External-Commands).  See [homebrew/aliases](https://github.com/Homebrew/homebrew-aliases) for an  example of a tap with external commands. diff --git a/docs/How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md b/docs/How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md index 1384ce950..e40b04abc 100644 --- a/docs/How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md +++ b/docs/How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md @@ -2,7 +2,7 @@  ## What does "keg-only" mean? -The [FAQ](FAQ.md) briefly explains this. +The [FAQ](FAQ) briefly explains this.  As an example: diff --git a/docs/Installation.md b/docs/Installation.md index 9f091d2e5..5d2eee6d9 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -4,7 +4,7 @@ The suggested and easiest way to install Homebrew is on the  [homepage](https://brew.sh).  The standard script installs Homebrew to `/usr/local` so that -[you don’t need sudo](FAQ.md) when you +[you don’t need sudo](FAQ) when you  `brew install`. It is a careful script; it can be run even if you have stuff  installed to `/usr/local` already. It tells you exactly what it will do before  it does it too. And you have to confirm everything it will do before it starts. @@ -39,12 +39,12 @@ mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar  Create a Homebrew installation wherever you extract the tarball. Whichever `brew` command is called is where the packages will be installed. You can use this as you see fit, e.g. a system set of libs in `/usr/local` and tweaked formulae for development in `~/homebrew`.  ## Uninstallation -Uninstallation is documented in the [FAQ](FAQ.md). +Uninstallation is documented in the [FAQ](FAQ).  <a name="1"><sup>1</sup></a> Not all formulae have CPU or OS requirements, but  you can assume you will have trouble if you don’t conform. Also, you can find  PowerPC and Tiger branches from other users in the fork network. See -[Interesting Taps and Forks](Interesting-Taps-and-Forks.md). +[Interesting Taps and Forks](Interesting-Taps-and-Forks).  <a name="2"><sup>2</sup></a> 10.10 or higher is recommended. 10.5–10.9 are  supported on a best-effort basis. For 10.4 see diff --git a/docs/Maintainer-Guidelines.md b/docs/Maintainer-Guidelines.md index 1d69f5381..9d8b4bbdf 100644 --- a/docs/Maintainer-Guidelines.md +++ b/docs/Maintainer-Guidelines.md @@ -5,7 +5,7 @@ access** to Homebrew’s repository and help merge the contributions of  others. You may find what is written here interesting, but it’s  definitely not a beginner’s guide. -Maybe you were looking for the [Formula Cookbook](Formula-Cookbook.md)? +Maybe you were looking for the [Formula Cookbook](Formula-Cookbook)?  ## Quick checklist @@ -45,7 +45,7 @@ Add other names as aliases as symlinks in `Aliases` in the tap root. Ensure the  name referenced on the homepage is one of these, as it may be different and have  underscores and hyphens and so on. -We now accept versioned formulae as long as they [meet the requirements](Versions.md). +We now accept versioned formulae as long as they [meet the requirements](Versions).  ### Merging, rebasing, cherry-picking  Merging should be done in the `Homebrew/brew` repository to preserve history & GPG commit signing, @@ -64,7 +64,7 @@ the commits. Our main branch history should be useful to other people,  not confusing.  ### Testing -We need to at least check that it builds. Use the [Brew Test Bot](Brew-Test-Bot.md) for this. +We need to at least check that it builds. Use the [Brew Test Bot](Brew-Test-Bot) for this.  Verify the formula works if possible. If you can’t tell (e.g. if it’s a  library) trust the original contributor, it worked for them, so chances are it diff --git a/docs/Manpage.md b/docs/Manpage.md index e4f189490..91f9e0414 100644 --- a/docs/Manpage.md +++ b/docs/Manpage.md @@ -39,7 +39,7 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note    * `analytics` [`state`]:      Display anonymous user behaviour analytics state. -    Read more at <https://docs.brew.sh/Analytics.html>. +    Read more at <https://docs.brew.sh/Analytics>.    * `analytics` (`on`|`off`):      Turn on/off Homebrew's analytics. @@ -212,7 +212,7 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note      information on all installed formulae.      See the docs for examples of using the JSON output: -    <https://docs.brew.sh/Querying-Brew.html> +    <https://docs.brew.sh/Querying-Brew>    * `install` [`--debug`] [`--env=`(`std`|`super`)] [`--ignore-dependencies`|`--only-dependencies`] [`--cc=``compiler`] [`--build-from-source`|`--force-bottle`] [`--devel`|`--HEAD`] [`--keep-tmp`] [`--build-bottle`] [`--force`] [`--verbose`] `formula` [`options` ...]:      Install `formula`. @@ -493,7 +493,7 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note      Pass `--installed` to get information on installed taps.      See the docs for examples of using the JSON output: -    <https://docs.brew.sh/Querying-Brew.html> +    <https://docs.brew.sh/Querying-Brew>    * `tap-pin` `tap`:      Pin `tap`, prioritizing its formulae over core when formula names are supplied @@ -914,7 +914,7 @@ scripts that reside somewhere in the `PATH`, named `brew-``cmdname` or  to create your own commands without modifying Homebrew's internals.  Instructions for creating your own commands can be found in the docs: -<https://docs.brew.sh/External-Commands.html> +<https://docs.brew.sh/External-Commands>  ## SPECIFYING FORMULAE @@ -1031,7 +1031,7 @@ can take several different forms:      *Default:* the number of available CPU cores.    * `HOMEBREW_NO_ANALYTICS`: -    If set, Homebrew will not send analytics. See: <https://docs.brew.sh/Analytics.html> +    If set, Homebrew will not send analytics. See: <https://docs.brew.sh/Analytics>    * `HOMEBREW_NO_AUTO_UPDATE`:      If set, Homebrew will not auto-update before running `brew install`, diff --git a/docs/New-Maintainer-Checklist.md b/docs/New-Maintainer-Checklist.md index 72abf2ddb..d08113156 100644 --- a/docs/New-Maintainer-Checklist.md +++ b/docs/New-Maintainer-Checklist.md @@ -39,8 +39,8 @@ A few requests:    own fork.  - if still in doubt please ask for help and we'll help you out  - please read: -    - https://docs.brew.sh/Brew-Test-Bot-For-Core-Contributors.html -    - https://docs.brew.sh/Maintainer-Guidelines.html +    - https://docs.brew.sh/Brew-Test-Bot-For-Core-Contributors +    - https://docs.brew.sh/Maintainer-Guidelines      - anything else you haven't read on https://docs.brew.sh  How does that sound? @@ -59,6 +59,6 @@ If they accept, follow a few steps to get them set up:  - Invite them to the [`homebrew` private maintainers 1Password](https://homebrew.1password.com/signin)  - Invite them to [Google Analytics](https://analytics.google.com/analytics/web/?authuser=1#management/Settings/a76679469w115400090p120682403/%3Fm.page%3DAccountUsers/) -After a month-long trial period with no problems make them [owners on the Homebrew GitHub organisation](https://github.com/orgs/Homebrew/people) and add them to [Homebrew's README](https://github.com/Homebrew/brew/edit/master/README.md). If there are problems, ask them to step down as a maintainer and revoke their access to the above. +After a month-long trial period with no problems make them [owners on the Homebrew GitHub organisation](https://github.com/orgs/Homebrew/people) and add them to [Homebrew's README](https://github.com/Homebrew/brew/edit/master/README). If there are problems, ask them to step down as a maintainer and revoke their access to the above.  Now sit back, relax and let the new maintainers handle more of our contributions. diff --git a/docs/Node-for-Formula-Authors.md b/docs/Node-for-Formula-Authors.md index 4053706c1..9252602ed 100644 --- a/docs/Node-for-Formula-Authors.md +++ b/docs/Node-for-Formula-Authors.md @@ -82,7 +82,7 @@ In your formula's `install` method, do any installation steps which need to be d  system "npm", "install", *Language::Node.local_npm_install_args  ``` -This will install all of your Node modules dependencies to your local build path. You can now continue with your build steps and take care of the installation into the Homebrew `prefix` on your own, following the [general Homebrew formula instructions](Formula-Cookbook.md). +This will install all of your Node modules dependencies to your local build path. You can now continue with your build steps and take care of the installation into the Homebrew `prefix` on your own, following the [general Homebrew formula instructions](Formula-Cookbook).  ## Example diff --git a/docs/README.md b/docs/README.md index fe227291b..5e90fe95a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,46 +1,46 @@  # Documentation  ## Users -- [`brew` man-page (command documentation)](Manpage.md) -- [Troubleshooting](Troubleshooting.md) -- [Installation](Installation.md) -- [Frequently Asked Questions](FAQ.md) -- [Common Issues](Common-Issues.md) +- [`brew` man-page (command documentation)](Manpage) +- [Troubleshooting](Troubleshooting) +- [Installation](Installation) +- [Frequently Asked Questions](FAQ) +- [Common Issues](Common-Issues) -- [Tips and Tricks](Tips-N'-Tricks.md) -- [Bottles (binary packages)](Bottles.md) -- [Taps (third-party repositories)](Taps.md) -- [Interesting Taps and Forks](Interesting-Taps-and-Forks.md) -- [Anonymous Aggregate User Behaviour Analytics](Analytics.md) +- [Tips and Tricks](Tips-N'-Tricks) +- [Bottles (binary packages)](Bottles) +- [Taps (third-party repositories)](Taps) +- [Interesting Taps and Forks](Interesting-Taps-and-Forks) +- [Anonymous Aggregate User Behaviour Analytics](Analytics) -- [Querying `brew`](Querying-Brew.md) -- [C++ Standard Libraries](C++-Standard-Libraries.md) -- [MD5 and SHA-1 Deprecation](Checksum_Deprecation.md) -- [Custom GCC and Cross Compilers](Custom-GCC-and-cross-compilers.md) -- [External Commands](External-Commands.md) -- [Ruby Gems, Python Eggs and Perl Modules](Gems,-Eggs-and-Perl-Modules.md) -- [Python](Homebrew-and-Python.md) -- [How To Build Software Outside Homebrew With Homebrew `keg_only` dependencies](How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md) -- [Xcode](Xcode.md) -- [Kickstarter Supporters](Kickstarter-Supporters.md) +- [Querying `brew`](Querying-Brew) +- [C++ Standard Libraries](C++-Standard-Libraries) +- [MD5 and SHA-1 Deprecation](Checksum_Deprecation) +- [Custom GCC and Cross Compilers](Custom-GCC-and-cross-compilers) +- [External Commands](External-Commands) +- [Ruby Gems, Python Eggs and Perl Modules](Gems,-Eggs-and-Perl-Modules) +- [Python](Homebrew-and-Python) +- [How To Build Software Outside Homebrew With Homebrew `keg_only` dependencies](How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies) +- [Xcode](Xcode) +- [Kickstarter Supporters](Kickstarter-Supporters)  ## Contributors -- [How To Open A Pull Request (and get it merged)](How-To-Open-a-Homebrew-Pull-Request.md) -- [Formula Cookbook](Formula-Cookbook.md) -- [Acceptable Formulae](Acceptable-Formulae.md) -- [Formulae Versions](Versions.md) -- [Node for Formula Authors](Node-for-Formula-Authors.md) -- [Python for Formula Authors](Python-for-Formula-Authors.md) -- [Migrating A Formula To A Tap](Migrating-A-Formula-To-A-Tap.md) -- [Rename A Formula](Rename-A-Formula.md) -- [Building Against Non-Homebrew Dependencies](Building-Against-Non-Homebrew-Dependencies.md) -- [How To Create (And Maintain) A Tap](How-to-Create-and-Maintain-a-Tap.md) -- [Brew Test Bot](Brew-Test-Bot.md) -- [Prose Style Guidelines](Prose-Style-Guidelines.md) +- [How To Open A Pull Request (and get it merged)](How-To-Open-a-Homebrew-Pull-Request) +- [Formula Cookbook](Formula-Cookbook) +- [Acceptable Formulae](Acceptable-Formulae) +- [Formulae Versions](Versions) +- [Node for Formula Authors](Node-for-Formula-Authors) +- [Python for Formula Authors](Python-for-Formula-Authors) +- [Migrating A Formula To A Tap](Migrating-A-Formula-To-A-Tap) +- [Rename A Formula](Rename-A-Formula) +- [Building Against Non-Homebrew Dependencies](Building-Against-Non-Homebrew-Dependencies) +- [How To Create (And Maintain) A Tap](How-to-Create-and-Maintain-a-Tap) +- [Brew Test Bot](Brew-Test-Bot) +- [Prose Style Guidelines](Prose-Style-Guidelines)  ## Maintainers -- [New Maintainer Checklist](New-Maintainer-Checklist.md) -- [Maintainers: Avoiding Burnout](Maintainers-Avoiding-Burnout.md) -- [Maintainer Guidelines](Maintainer-Guidelines.md) -- [Brew Test Bot For Maintainers](Brew-Test-Bot-For-Core-Contributors.md) -- [Common Issues for Maintainers](Common-Issues-for-Core-Contributors.md) +- [New Maintainer Checklist](New-Maintainer-Checklist) +- [Maintainers: Avoiding Burnout](Maintainers-Avoiding-Burnout) +- [Maintainer Guidelines](Maintainer-Guidelines) +- [Brew Test Bot For Maintainers](Brew-Test-Bot-For-Core-Contributors) +- [Common Issues for Maintainers](Common-Issues-for-Core-Contributors) diff --git a/docs/Tips-N'-Tricks.md b/docs/Tips-N'-Tricks.md index a88940f0e..a71a2ed37 100644 --- a/docs/Tips-N'-Tricks.md +++ b/docs/Tips-N'-Tricks.md @@ -3,7 +3,7 @@  ## Installing previous versions of formulae  The supported method of installing specific versions of -some formulae is to see if there is a versioned formula (e.g. `gcc@6`) available. If the version you’re looking for isn’t available, consider [opening a pull request](How-To-Open-a-Homebrew-Pull-Request.md)! +some formulae is to see if there is a versioned formula (e.g. `gcc@6`) available. If the version you’re looking for isn’t available, consider [opening a pull request](How-To-Open-a-Homebrew-Pull-Request)!  ### Installing directly from pull requests  You can [browse pull requests](https://github.com/Homebrew/homebrew-core/pulls) diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index 8b1bd7312..1bade44f2 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -12,7 +12,7 @@ Follow these steps to fix common problems:  * Run `brew doctor` and fix all the warnings (**outdated Xcode/CLT and unbrewed dylibs are very likely to cause problems**).  * Check that **Command Line Tools for Xcode (CLT)** and **Xcode** are up to date.  * If commands fail with permissions errors, check the permissions of `/usr/local`'s subdirectories. If you’re unsure what to do, you can run `cd /usr/local && sudo chown -R $(whoami) bin etc include lib sbin share var Frameworks`. -* Read through the [Common Issues](Common-Issues.md). +* Read through the [Common Issues](Common-Issues).  ## Check to see if the issue has been reported diff --git a/docs/Versions.md b/docs/Versions.md index 2fa3f563f..43a959574 100644 --- a/docs/Versions.md +++ b/docs/Versions.md @@ -18,6 +18,6 @@ Versioned formulae we include in [homebrew/core](https://github.com/homebrew/hom  * Versioned formulae should be as similar as possible and sensible to the unversioned formulae. Creating or updating a versioned formula should be a chance to ask questions of the unversioned formula e.g. can some unused or useless options be removed or made default?  * No more than five versions of a formula (including the non-versioned one) will be supported at any given time, regardless of usage. When removing formulae that violate this we will aim to do so based on usage and support status rather than age. -Homebrew's versions are not intended to be used for any old versions you personally require for your project. You should create your own [tap](How-to-Create-and-Maintain-a-Tap.md) for formulae you or your organisation wish to control the versioning of or those that do not meet the above standards. Software that has regular API or ABI breaking releases still needs to meet all the above requirements; that a `brew upgrade` has broken something for you is not an argument for us to add and maintain a formula for you. +Homebrew's versions are not intended to be used for any old versions you personally require for your project. You should create your own [tap](How-to-Create-and-Maintain-a-Tap) for formulae you or your organisation wish to control the versioning of or those that do not meet the above standards. Software that has regular API or ABI breaking releases still needs to meet all the above requirements; that a `brew upgrade` has broken something for you is not an argument for us to add and maintain a formula for you.  We may temporarily add versioned formulae for our own needs that do not meet these standards in [homebrew/core](https://github.com/homebrew/homebrew-core). The presence of a versioned formula there does not imply it will be maintained indefinitely or that we are willing to accept any more versions that do not meet the requirements above. diff --git a/docs/_config.yml b/docs/_config.yml index 210d0b0d4..d9514116e 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,17 +1,30 @@ -include: [.well-known] -exclude: [bin, vendor, CNAME, Gemfile, Gemfile.lock] +title: Homebrew Documentation +description: Documentation for the missing package manager for macOS. -# Same as GitHub Pages -# https://help.github.com/articles/using-jekyll-with-pages#troubleshooting -# Disable despite enabled on GitHub Pages for supported plugins to work. -# safe: true -kramdown: -  input: GFM -  hard_wrap: false -lsi: false -highlighter: rouge +exclude: +  - bin +  - CNAME +  - Gemfile* +  - vendor -gems: +plugins:    - jekyll-feed    - jekyll-sitemap    - jekyll-seo-tag + +defaults: +  - scope: +      path: "" +    values: +      image: /img/homebrew-256x256.png + +logo: /img/homebrew-256x256.png + +github: +  repository_nwo: Homebrew/brew + +twitter: +  username: MacHomebrew + +facebook: +  publisher: https://www.facebook.com/machomebrew/ diff --git a/docs/_layouts/analytics.html b/docs/_layouts/analytics.html new file mode 100644 index 000000000..b62e424c5 --- /dev/null +++ b/docs/_layouts/analytics.html @@ -0,0 +1,22 @@ +--- +layout: base +--- +{% assign json = site.data.analytics[page.category] %} +<h2>{{ page.category_pretty }} Events</h2> +<h3>{{ json.start_date }} - {{ json.end_date }}</h3> +<table class="full-width"> +  <tr> +    <th></th> +    <th>{% if page.category == "os-version" %}Version{% else %}Formula{% endif %}</th> +    <th>Events</th> +    <th>%</th> +  </tr> +{% for item in json.items %} +  <tr> +    <td class="number-data">#{{ item.number }}</td> +    <td><code>{% if page.category == "os-version" %}{{ item.os_version }}{% else %}{{ item.formula }}{% endif %}</code></td> +    <td class="number-data">{{ item.count }}</td> +    <td class="number-data">{{ item.percent }}%</td> +  </tr> +{% endfor %} +</table> diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html index ee631bda5..422e98bed 100644 --- a/docs/_layouts/base.html +++ b/docs/_layouts/base.html @@ -1,21 +1,29 @@ +{% assign t = site.data.locales[page.lang][page.lang] %}  <!DOCTYPE html>  <html {% if page.direction == "rtl" %}dir="rtl" {% endif %}lang="{{ page.lang }}">    <head>      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />      {% if page.title %} -    <title>{{ page.title }} — Homebrew</title> -    {% elsif page.direction == "rtl" %} -    <title>{{ page.subtitle }} — Homebrew</title> +    <title>{{ page.title }} — {{ site.title }}</title> +    {% elsif t.subtitle %} +    {% if page.direction == "rtl" %} +    <title>{{ site.title }} — {{ t.subtitle }}</title>      {% else %} -    <title>Homebrew — {{ page.subtitle }}</title> +    <title>{{ t.subtitle }} — {{ t.subtitle }}</title> +    {% endif %} +    {% else %} +    <title>{{ site.title }}</title>      {% endif %}      {% seo title=false %}      {% feed_meta %}      <meta name="viewport" content="width=device-width">      <link rel="icon" type="image/x-icon" href="/img/favicon.ico"> -    <link rel="apple-touch-icon"href="/img/apple-touch-icon.png"> +    <link rel="apple-touch-icon" href="/img/apple-touch-icon.png">      <link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen">      <link rel="stylesheet" href="/css/pygments.css" type="text/css" media="screen"> +    {% if site.url == "http://localhost:4000" %} +    <script src="https://github.com/Khan/tota11y/releases/download/0.1.3/tota11y.min.js"></script> +    {% endif %}      <script>        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), @@ -27,31 +35,37 @@        ga('send', 'pageview');      </script> -    {% for lang in site.langs %} -      {% if lang.langcode == "en" %} +    {% if site.data.locales %} +    {% assign locales = site.data.locales | sort %} +    {% for locale in locales %} +      {% assign lang = locale[0] %} +      {% if lang == "en" %}        <link rel="alternate" hreflang="en" href="{{ site.url }}" />        <link rel="alternate" hreflang="x-default" href="{{ site.url }}" />        {% else %} -      <link rel="alternate" hreflang="{{ lang.langcode }}" href="{{ lang.langcode | downcase | append: '.html' | prepend: '/index_' | prepend: site.url }}" /> +      <link rel="alternate" hreflang="{{ lang }}" href="{{ lang | prepend: '/index_' | prepend: site.url }}" />        {% endif %}      {% endfor %} +    {% endif %}    </head>    <body>      <div id="wrap">        <div id="header" class="{{ page.header-class }}">          <img alt="Homebrew logo" src="/img/homebrew-256x256.png" width="128" height="128">          <h1><a href="/">Homebrew</a></h1> -        {% if page.subtitle %} -        <p id="subtitle"><strong>{{ page.subtitle }}</strong></p> +        {% if t.subtitle %} +        <p id="subtitle"><strong>{{ t.subtitle }}</strong></p>          {% endif %}          {% if page.lang %}          <select id="language" onchange="loadLanguage(this.options[this.selectedIndex].value)"> -          {% for lang in site.langs %} -            {% if page.lang == lang.langcode %} -            <option value="{{ lang.langcode | downcase }}" selected="selected">{{ lang.lang_string }}</option> +          {% for locale in locales %} +            {% assign lang = locale[0] %} +            {% assign locale_name = locale[1][lang].locale_name %} +            {% if page.lang == lang %} +            <option value="{{ lang }}" selected="selected">{{ locale_name }}</option>              {% else %} -            <option value="{{ lang.langcode | downcase }}">{{ lang.lang_string }}</option> +            <option value="{{ lang }}">{{ locale_name }}</option>              {% endif %}            {% endfor %}          </select> @@ -80,9 +94,9 @@          if (lang === {{ page.lang | jsonify }}) {              return;          } else if (lang === "en") { -            window.location.replace("/"); +            window.location.assign("/");          } else { -            window.location.replace("/index_" + lang + ".html"); +            window.location.assign("/index_" + lang);          }        }      </script> diff --git a/docs/_layouts/index.html b/docs/_layouts/index.html index 58b322783..374f4102a 100644 --- a/docs/_layouts/index.html +++ b/docs/_layouts/index.html @@ -1,28 +1,29 @@  ---  layout: base  --- +{% assign t = site.data.locales[page.lang][page.lang] %}  <div id="information">    <ul>      <li>        <div class="group row"> -        <h2 id="install">{{ page.pagecontent.install.install }}</h2> +        <h2 id="install">{{ t.pagecontent.install.install }}</h2>          <br>          <pre style='clear:both;text-align:center;margin-bottom:0.9em'><code id='selectable' onclick="selectText(this)">/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</code></pre>          <div class="col-1"> -          <p>{{ page.pagecontent.install.paste }}</p> +          <p>{{ t.pagecontent.install.paste }}</p>          </div>          <div class="col-2"> -          <p>{{ page.pagecontent.install.what }}</p> +          <p>{{ t.pagecontent.install.what }}</p>          </div>        </div>      </li>      <li>        <div class="group row"> -       <h2 id="question">{{ page.pagecontent.question }}</h2> +       <h2 id="question">{{ t.pagecontent.question }}</h2>         <br>          <div class="col-1"> -          <p>{{ page.pagecontent.what }}</p> +          <p>{{ t.pagecontent.what }}</p>          </div>          <div class="col-2">  {% highlight bash %} @@ -34,7 +35,7 @@ $ brew install wget      <li>        <div class="group row">          <div class="col-1"> -          <p>{{ page.pagecontent.how }}</p> +          <p>{{ t.pagecontent.how }}</p>          </div>          <div class="col-2">  {% highlight bash %} @@ -53,14 +54,14 @@ bin/wget -> ../Cellar/wget/1.16.1/bin/wget      <li>        <div class="group row">          <div class="col-1"> -          <p>{{ page.pagecontent.prefix }}</p> +          <p>{{ t.pagecontent.prefix }}</p>          </div>        </div>      </li>      <li>        <div class="group row">          <div class="col-1"> -          <p>{{ page.pagecontent.createpackages }}</p> +          <p>{{ t.pagecontent.createpackages }}</p>          </div>          <div class="col-2">  {% highlight bash %} @@ -73,11 +74,11 @@ Created /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bar.rb      <li>        <div class="group row">          <div class="col-1"> -          <p>{{ page.pagecontent.hack }}</p> +          <p>{{ t.pagecontent.hack }}</p>          </div>          <div class="col-2">  {% highlight bash %} -$ brew edit wget # {{ page.pagecontent.editor }} +$ brew edit wget # {{ t.pagecontent.editor }}  {% endhighlight %}          </div>        </div> @@ -85,7 +86,7 @@ $ brew edit wget # {{ page.pagecontent.editor }}      <li>        <div class="group row">          <div class="col-1"> -          <p>{{ page.pagecontent.formula }}</p> +          <p>{{ t.pagecontent.formula }}</p>          </div>          <div class="col-2">  {% highlight ruby %} @@ -106,41 +107,68 @@ end      <li>        <div class="group row">          <div class="col-1"> -          <p>{{ page.pagecontent.complement }}</p> +          <p>{{ t.pagecontent.complement }}</p>          </div>        </div>      </li>      <li>        <div class="group row"> -        <h2 id="further-doc">{{ page.pagecontent.doc.further }}</h2> +        <h2 id="further-doc">{{ t.pagecontent.doc.further }}</h2>          <div class="button"> -          <p><a href="https://docs.brew.sh/">docs.brew.sh</a></p> +          <p><a href="https://docs.brew.sh">docs.brew.sh</a></p>          </div>        </div>      </li>      <li>        <div class="group row"> -        <h2 id="homebrew-community">{{ page.pagecontent.doc.community }}</h2> +        <h2 id="homebrew-patreon">{{ t.pagecontent.doc.patreon }}</h2>          <div class="button"> -          <p><a href="https://discourse.brew.sh/">discourse.brew.sh</a></p> +          <p><a href="https://www.patreon.com/homebrew">patreon.com/homebrew</a></p>          </div>        </div>      </li>      <li>        <div class="group row"> -        <h2 id="homebrew-blog">{{ page.pagecontent.doc.blog }}</h2> +        <h2 id="homebrew-community">{{ t.pagecontent.doc.community }}</h2>          <div class="button"> -          <p><a href="/blog">brew.sh/blog</a></p> +          <p><a href="https://discourse.brew.sh">discourse.brew.sh</a></p> +        </div> +      </div> +    </li> + +    <li> +      <div class="group row"> +        <h2 id="homebrew-blog">{{ t.pagecontent.doc.blog }}</h2> +        <div class="button"> +          <p><a href="/blog/">brew.sh/blog</a></p> +        </div> +      </div> +    </li> + +    <li> +      <div class="group row"> +        <h2 id="homebrew-formulae">{{ t.pagecontent.doc.formulae }}</h2> +        <div class="button"> +          <p><a href="http://formulae.brew.sh">formulae.brew.sh</a></p> +        </div> +      </div> +    </li> + +    <li> +      <div class="group row"> +        <h2 id="analytics-data">{{ t.pagecontent.doc.analytics }}</h2> +        <div class="button"> +          <p><a href="/analytics/">brew.sh/analytics</a></p>          </div>        </div>      </li>      <li>        <div class="group row credits"> -        <p>{{ page.pagecontent.foot.code }} {{ page.pagecontent.foot.page }} {{ page.pagecontent.foot.translation }}</p> +        <p>{{ t.pagecontent.foot.code }} {{ t.pagecontent.foot.page }} {{ t.pagecontent.foot.translation }}</p>        </div>      </li>    </ul> diff --git a/manpages/brew.1 b/manpages/brew.1 index 4f373558c..56ae23677 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -45,7 +45,7 @@ Perform a substring search of formula names for \fItext\fR\. If \fItext\fR is su  .  .TP  \fBanalytics\fR [\fBstate\fR] -Display anonymous user behaviour analytics state\. Read more at \fIhttps://docs\.brew\.sh/Analytics\.html\fR\. +Display anonymous user behaviour analytics state\. Read more at \fIhttps://docs\.brew\.sh/Analytics\fR\.  .  .TP  \fBanalytics\fR (\fBon\fR|\fBoff\fR) @@ -226,7 +226,7 @@ Print a JSON representation of \fIformulae\fR\. Currently the only accepted valu  Pass \fB\-\-all\fR to get information on all formulae, or \fB\-\-installed\fR to get information on all installed formulae\.  .  .IP -See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\.html\fR +See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\fR  .  .TP  \fBinstall\fR [\fB\-\-debug\fR] [\fB\-\-env=\fR(\fBstd\fR|\fBsuper\fR)] [\fB\-\-ignore\-dependencies\fR|\fB\-\-only\-dependencies\fR] [\fB\-\-cc=\fR\fIcompiler\fR] [\fB\-\-build\-from\-source\fR|\fB\-\-force\-bottle\fR] [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-keep\-tmp\fR] [\fB\-\-build\-bottle\fR] [\fB\-\-force\fR] [\fB\-\-verbose\fR] \fIformula\fR [\fIoptions\fR \.\.\.] @@ -510,7 +510,7 @@ Print a JSON representation of \fItaps\fR\. Currently the only accepted value fo  Pass \fB\-\-installed\fR to get information on installed taps\.  .  .IP -See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\.html\fR +See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\fR  .  .TP  \fBtap\-pin\fR \fItap\fR @@ -937,7 +937,7 @@ Integrates Homebrew formulae with macOS\'s \fBlaunchctl\fR(1) manager: \fIhttps:  Homebrew, like \fBgit\fR(1), supports external commands\. These are executable scripts that reside somewhere in the \fBPATH\fR, named \fBbrew\-\fR\fIcmdname\fR or \fBbrew\-\fR\fIcmdname\fR\fB\.rb\fR, which can be invoked like \fBbrew\fR \fIcmdname\fR\. This allows you to create your own commands without modifying Homebrew\'s internals\.  .  .P -Instructions for creating your own commands can be found in the docs: \fIhttps://docs\.brew\.sh/External\-Commands\.html\fR +Instructions for creating your own commands can be found in the docs: \fIhttps://docs\.brew\.sh/External\-Commands\fR  .  .SH "SPECIFYING FORMULAE"  Many Homebrew commands accept one or more \fIformula\fR arguments\. These arguments can take several different forms: @@ -1052,7 +1052,7 @@ If set, instructs Homebrew to use the value of \fBHOMEBREW_MAKE_JOBS\fR as the n  .  .TP  \fBHOMEBREW_NO_ANALYTICS\fR -If set, Homebrew will not send analytics\. See: \fIhttps://docs\.brew\.sh/Analytics\.html\fR +If set, Homebrew will not send analytics\. See: \fIhttps://docs\.brew\.sh/Analytics\fR  .  .TP  \fBHOMEBREW_NO_AUTO_UPDATE\fR | 
