├── .gitignore ├── 404.html ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── _config.yml ├── _includes ├── Util │ ├── pages_list │ └── top ├── footer.html ├── header.html ├── js.html ├── markdown │ ├── Environments.md │ ├── GlobalCommands.md │ ├── Installation.md │ ├── Introduction.md │ ├── Tools.md │ └── WPSnapshots.md └── tweet-button.html ├── _layouts └── default.html ├── assets ├── css │ ├── base │ │ ├── _base.scss │ │ ├── _buttons.scss │ │ ├── _fonts.scss │ │ ├── _normalize.scss │ │ └── _typography.scss │ ├── components │ │ ├── _code-block.scss │ │ ├── _social-networks.scss │ │ ├── _syntax-highlighter.scss │ │ └── _template-header.scss │ ├── global │ │ ├── _functions.scss │ │ ├── _grid.scss │ │ ├── _mixins.scss │ │ ├── _placeholders.scss │ │ ├── _sticky-footer.scss │ │ └── _variables.scss │ ├── includes │ │ ├── _docs-section.scss │ │ ├── _footer-about.scss │ │ ├── _footer.scss │ │ ├── _header.scss │ │ ├── _nav-dropdowns.scss │ │ └── _table-of-contents.scss │ └── style.scss ├── fonts │ ├── 10up.eot │ ├── 10up.svg │ ├── 10up.ttf │ ├── 10up.woff │ ├── fontello.eot │ ├── fontello.svg │ ├── fontello.ttf │ ├── fontello.woff │ └── selection.json ├── img │ ├── 10up-icon-reversed.svg │ ├── 10up-logo-full.svg │ ├── apple-touch-icon.png │ ├── coding-documentation.jpg │ ├── favicon.ico │ └── page-header.png └── js │ └── main.js ├── environments.md ├── global-commands.md ├── index.md ├── installation.md ├── readme.md ├── tools.md └── wp-snapshots.md /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .jekyll-metadata 4 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | layout: default 4 | --- 5 | 6 | 19 | 20 |
21 |

404

22 | 23 |

Page not found :(

24 |

The requested page could not be found.

25 |
26 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # This is the default theme for new Jekyll sites. You may change this to anything you like. 4 | gem "minima", "~> 2.0" 5 | 6 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 7 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 8 | gem "github-pages", group: :jekyll_plugins 9 | 10 | # If you have any plugins, put them here! 11 | group :jekyll_plugins do 12 | gem "jekyll-feed", "~> 0.6" 13 | end 14 | 15 | # Windows does not include zoneinfo files, so bundle the tzinfo-data gem 16 | gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] 17 | 18 | # Performance-booster for watching directories on Windows 19 | gem "wdm", "~> 0.1.0" if Gem.win_platform? 20 | 21 | gem 'jekyll-redirect-from' 22 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (4.2.10) 5 | i18n (~> 0.7) 6 | minitest (~> 5.1) 7 | thread_safe (~> 0.3, >= 0.3.4) 8 | tzinfo (~> 1.1) 9 | addressable (2.5.2) 10 | public_suffix (>= 2.0.2, < 4.0) 11 | coffee-script (2.4.1) 12 | coffee-script-source 13 | execjs 14 | coffee-script-source (1.11.1) 15 | colorator (1.1.0) 16 | commonmarker (0.17.13) 17 | ruby-enum (~> 0.5) 18 | concurrent-ruby (1.1.4) 19 | dnsruby (1.61.2) 20 | addressable (~> 2.5) 21 | em-websocket (0.5.1) 22 | eventmachine (>= 0.12.9) 23 | http_parser.rb (~> 0.6.0) 24 | ethon (0.12.0) 25 | ffi (>= 1.3.0) 26 | eventmachine (1.2.7) 27 | execjs (2.7.0) 28 | faraday (0.15.4) 29 | multipart-post (>= 1.2, < 3) 30 | ffi (1.10.0) 31 | forwardable-extended (2.6.0) 32 | gemoji (3.0.0) 33 | github-pages (197) 34 | activesupport (= 4.2.10) 35 | github-pages-health-check (= 1.16.1) 36 | jekyll (= 3.7.4) 37 | jekyll-avatar (= 0.6.0) 38 | jekyll-coffeescript (= 1.1.1) 39 | jekyll-commonmark-ghpages (= 0.1.5) 40 | jekyll-default-layout (= 0.1.4) 41 | jekyll-feed (= 0.11.0) 42 | jekyll-gist (= 1.5.0) 43 | jekyll-github-metadata (= 2.12.1) 44 | jekyll-mentions (= 1.4.1) 45 | jekyll-optional-front-matter (= 0.3.0) 46 | jekyll-paginate (= 1.1.0) 47 | jekyll-readme-index (= 0.2.0) 48 | jekyll-redirect-from (= 0.14.0) 49 | jekyll-relative-links (= 0.6.0) 50 | jekyll-remote-theme (= 0.3.1) 51 | jekyll-sass-converter (= 1.5.2) 52 | jekyll-seo-tag (= 2.5.0) 53 | jekyll-sitemap (= 1.2.0) 54 | jekyll-swiss (= 0.4.0) 55 | jekyll-theme-architect (= 0.1.1) 56 | jekyll-theme-cayman (= 0.1.1) 57 | jekyll-theme-dinky (= 0.1.1) 58 | jekyll-theme-hacker (= 0.1.1) 59 | jekyll-theme-leap-day (= 0.1.1) 60 | jekyll-theme-merlot (= 0.1.1) 61 | jekyll-theme-midnight (= 0.1.1) 62 | jekyll-theme-minimal (= 0.1.1) 63 | jekyll-theme-modernist (= 0.1.1) 64 | jekyll-theme-primer (= 0.5.3) 65 | jekyll-theme-slate (= 0.1.1) 66 | jekyll-theme-tactile (= 0.1.1) 67 | jekyll-theme-time-machine (= 0.1.1) 68 | jekyll-titles-from-headings (= 0.5.1) 69 | jemoji (= 0.10.2) 70 | kramdown (= 1.17.0) 71 | liquid (= 4.0.0) 72 | listen (= 3.1.5) 73 | mercenary (~> 0.3) 74 | minima (= 2.5.0) 75 | nokogiri (>= 1.8.5, < 2.0) 76 | rouge (= 2.2.1) 77 | terminal-table (~> 1.4) 78 | github-pages-health-check (1.16.1) 79 | addressable (~> 2.3) 80 | dnsruby (~> 1.60) 81 | octokit (~> 4.0) 82 | public_suffix (~> 3.0) 83 | typhoeus (~> 1.3) 84 | html-pipeline (2.10.0) 85 | activesupport (>= 2) 86 | nokogiri (>= 1.4) 87 | http_parser.rb (0.6.0) 88 | i18n (0.9.5) 89 | concurrent-ruby (~> 1.0) 90 | jekyll (3.7.4) 91 | addressable (~> 2.4) 92 | colorator (~> 1.0) 93 | em-websocket (~> 0.5) 94 | i18n (~> 0.7) 95 | jekyll-sass-converter (~> 1.0) 96 | jekyll-watch (~> 2.0) 97 | kramdown (~> 1.14) 98 | liquid (~> 4.0) 99 | mercenary (~> 0.3.3) 100 | pathutil (~> 0.9) 101 | rouge (>= 1.7, < 4) 102 | safe_yaml (~> 1.0) 103 | jekyll-avatar (0.6.0) 104 | jekyll (~> 3.0) 105 | jekyll-coffeescript (1.1.1) 106 | coffee-script (~> 2.2) 107 | coffee-script-source (~> 1.11.1) 108 | jekyll-commonmark (1.2.0) 109 | commonmarker (~> 0.14) 110 | jekyll (>= 3.0, < 4.0) 111 | jekyll-commonmark-ghpages (0.1.5) 112 | commonmarker (~> 0.17.6) 113 | jekyll-commonmark (~> 1) 114 | rouge (~> 2) 115 | jekyll-default-layout (0.1.4) 116 | jekyll (~> 3.0) 117 | jekyll-feed (0.11.0) 118 | jekyll (~> 3.3) 119 | jekyll-gist (1.5.0) 120 | octokit (~> 4.2) 121 | jekyll-github-metadata (2.12.1) 122 | jekyll (~> 3.4) 123 | octokit (~> 4.0, != 4.4.0) 124 | jekyll-mentions (1.4.1) 125 | html-pipeline (~> 2.3) 126 | jekyll (~> 3.0) 127 | jekyll-optional-front-matter (0.3.0) 128 | jekyll (~> 3.0) 129 | jekyll-paginate (1.1.0) 130 | jekyll-readme-index (0.2.0) 131 | jekyll (~> 3.0) 132 | jekyll-redirect-from (0.14.0) 133 | jekyll (~> 3.3) 134 | jekyll-relative-links (0.6.0) 135 | jekyll (~> 3.3) 136 | jekyll-remote-theme (0.3.1) 137 | jekyll (~> 3.5) 138 | rubyzip (>= 1.2.1, < 3.0) 139 | jekyll-sass-converter (1.5.2) 140 | sass (~> 3.4) 141 | jekyll-seo-tag (2.5.0) 142 | jekyll (~> 3.3) 143 | jekyll-sitemap (1.2.0) 144 | jekyll (~> 3.3) 145 | jekyll-swiss (0.4.0) 146 | jekyll-theme-architect (0.1.1) 147 | jekyll (~> 3.5) 148 | jekyll-seo-tag (~> 2.0) 149 | jekyll-theme-cayman (0.1.1) 150 | jekyll (~> 3.5) 151 | jekyll-seo-tag (~> 2.0) 152 | jekyll-theme-dinky (0.1.1) 153 | jekyll (~> 3.5) 154 | jekyll-seo-tag (~> 2.0) 155 | jekyll-theme-hacker (0.1.1) 156 | jekyll (~> 3.5) 157 | jekyll-seo-tag (~> 2.0) 158 | jekyll-theme-leap-day (0.1.1) 159 | jekyll (~> 3.5) 160 | jekyll-seo-tag (~> 2.0) 161 | jekyll-theme-merlot (0.1.1) 162 | jekyll (~> 3.5) 163 | jekyll-seo-tag (~> 2.0) 164 | jekyll-theme-midnight (0.1.1) 165 | jekyll (~> 3.5) 166 | jekyll-seo-tag (~> 2.0) 167 | jekyll-theme-minimal (0.1.1) 168 | jekyll (~> 3.5) 169 | jekyll-seo-tag (~> 2.0) 170 | jekyll-theme-modernist (0.1.1) 171 | jekyll (~> 3.5) 172 | jekyll-seo-tag (~> 2.0) 173 | jekyll-theme-primer (0.5.3) 174 | jekyll (~> 3.5) 175 | jekyll-github-metadata (~> 2.9) 176 | jekyll-seo-tag (~> 2.0) 177 | jekyll-theme-slate (0.1.1) 178 | jekyll (~> 3.5) 179 | jekyll-seo-tag (~> 2.0) 180 | jekyll-theme-tactile (0.1.1) 181 | jekyll (~> 3.5) 182 | jekyll-seo-tag (~> 2.0) 183 | jekyll-theme-time-machine (0.1.1) 184 | jekyll (~> 3.5) 185 | jekyll-seo-tag (~> 2.0) 186 | jekyll-titles-from-headings (0.5.1) 187 | jekyll (~> 3.3) 188 | jekyll-watch (2.1.2) 189 | listen (~> 3.0) 190 | jemoji (0.10.2) 191 | gemoji (~> 3.0) 192 | html-pipeline (~> 2.2) 193 | jekyll (~> 3.0) 194 | kramdown (1.17.0) 195 | liquid (4.0.0) 196 | listen (3.1.5) 197 | rb-fsevent (~> 0.9, >= 0.9.4) 198 | rb-inotify (~> 0.9, >= 0.9.7) 199 | ruby_dep (~> 1.2) 200 | mercenary (0.3.6) 201 | mini_portile2 (2.5.1) 202 | minima (2.5.0) 203 | jekyll (~> 3.5) 204 | jekyll-feed (~> 0.9) 205 | jekyll-seo-tag (~> 2.1) 206 | minitest (5.11.3) 207 | multipart-post (2.0.0) 208 | nokogiri (1.11.4) 209 | mini_portile2 (~> 2.5.0) 210 | racc (~> 1.4) 211 | octokit (4.13.0) 212 | sawyer (~> 0.8.0, >= 0.5.3) 213 | pathutil (0.16.2) 214 | forwardable-extended (~> 2.6) 215 | public_suffix (3.0.3) 216 | racc (1.5.2) 217 | rb-fsevent (0.10.3) 218 | rb-inotify (0.10.0) 219 | ffi (~> 1.0) 220 | rouge (2.2.1) 221 | ruby-enum (0.7.2) 222 | i18n 223 | ruby_dep (1.5.0) 224 | rubyzip (2.0.0) 225 | safe_yaml (1.0.5) 226 | sass (3.7.3) 227 | sass-listen (~> 4.0.0) 228 | sass-listen (4.0.0) 229 | rb-fsevent (~> 0.9, >= 0.9.4) 230 | rb-inotify (~> 0.9, >= 0.9.7) 231 | sawyer (0.8.1) 232 | addressable (>= 2.3.5, < 2.6) 233 | faraday (~> 0.8, < 1.0) 234 | terminal-table (1.8.0) 235 | unicode-display_width (~> 1.1, >= 1.1.1) 236 | thread_safe (0.3.6) 237 | typhoeus (1.3.1) 238 | ethon (>= 0.9.0) 239 | tzinfo (1.2.5) 240 | thread_safe (~> 0.1) 241 | unicode-display_width (1.5.0) 242 | 243 | PLATFORMS 244 | ruby 245 | 246 | DEPENDENCIES 247 | github-pages 248 | jekyll-feed (~> 0.6) 249 | jekyll-redirect-from 250 | minima (~> 2.0) 251 | tzinfo-data 252 | 253 | BUNDLED WITH 254 | 1.17.2 255 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 10up Inc. (https://10up.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole blog, values 4 | # which you are expected to set up once and rarely edit after that. If you find 5 | # yourself editing this file very often, consider using Jekyll's data files 6 | # feature for the data you need to update frequently. 7 | # 8 | # For technical reasons, this file is *NOT* reloaded automatically when you use 9 | # 'bundle exec jekyll serve'. If you change this file, please restart the server process. 10 | 11 | # Site settings 12 | # These are used to personalize your new site. If you look in the HTML files, 13 | # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. 14 | # You can create any custom variable you would like, and they will be accessible 15 | # in the templates via {{ site.myvariable }}. 16 | name: WP Local Docker 17 | title: WP Local Docker 18 | description: >- # this means to ignore newlines until "baseurl:" 19 | WP Local Docker is an easy to use docker based development environment, focused on WordPress development. 20 | baseurl: "/wp-local-docker-docs" 21 | url: "https://10up.github.io/" 22 | author: 23 | name: 10up 24 | email: sales@10up.com 25 | github: 10up 26 | twitter: 10up 27 | 28 | markdown: kramdown 29 | permalink: pretty 30 | highlighter: rouge 31 | encoding: utf-8 32 | kramdown: 33 | input: GFM 34 | sass: 35 | sass_dir: assets/css 36 | 37 | plugins: 38 | - jekyll-redirect-from 39 | 40 | # Exclude from processing. 41 | # The following items will not be processed, by default. Create a custom list 42 | # to override the default setting. 43 | # exclude: 44 | # - Gemfile 45 | # - Gemfile.lock 46 | # - node_modules 47 | # - vendor/bundle/ 48 | # - vendor/cache/ 49 | # - vendor/gems/ 50 | # - vendor/ruby/ 51 | -------------------------------------------------------------------------------- /_includes/Util/pages_list: -------------------------------------------------------------------------------- 1 | {% for node in pages_list %} 2 | {% if null != node.title %} 3 | {% if null == group or node.group == group %} 4 | {% if page.url == node.url %} 5 |
  • 6 | {% else %} 7 |
  • 8 | {% endif %} 9 | {{ node.nav }} 10 | {% if node.subnav %} 11 | {% assign subnav_list = node.subnav %} 12 | 17 | {% assign subnav_list = nil %} 18 | {% endif %} 19 |
  • 20 | {% endif %} 21 | {% endif %} 22 | {% endfor %} 23 | {% assign pages_list = nil %} 24 | {% assign group = nil %} 25 | -------------------------------------------------------------------------------- /_includes/Util/top: -------------------------------------------------------------------------------- 1 | back to top 2 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 16 | 30 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | 21 | 22 |
    23 |
    24 |

    25 | {% if page.page == "introduction" %} 26 | WP Local Docker 27 | {% else %} 28 | {{ page.title }} 29 | {% endif %} 30 |

    31 |
    32 |
    33 | -------------------------------------------------------------------------------- /_includes/js.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/markdown/Environments.md: -------------------------------------------------------------------------------- 1 | ## Create an Environment 2 | 3 | `10updocker create` will present you with a series of prompts to configure your environment to suit your needs. 4 | 5 | It is recommended that you use the `.test` top level domain (TLD) for your local environments, as this TLD is reserved 6 | for the testing of software and is not intended to ever be installed into the global Domain Name System. Additionally, 7 | WP Local Docker is configured to send any container to container traffic for .test TLDs directly to the gateway 8 | container, so that things like WP Cron and the REST API can work between environments out of the box. 9 | 10 | ## Migrate a WP Local Docker V1 Environment 11 | 12 | `10updocker migrate [NEW_ENV]` will migrate an old standalone WP Local Docker environment into a new WP Local Docker V2 13 | environment. Before running this command, create a new environment using the `10updocker create` command. 14 | 15 | `OLD_PATH` should be the path to the root of your old WP Local Docker environment. 16 | 17 | `NEW_ENV` should specify what environment to import into. If omitted, you will be prompted to select from available environments 18 | 19 | Example: 20 | * `10updocker migrate ~/sites/mysite` 21 | 22 | ## Delete an Environment 23 | 24 | `10updocker delete ` will delete an environment with the given hostname. Any local files, docker volumes, and 25 | databases related to the environment will be deleted permanently. 26 | 27 | A special hostname `all` is available that will delete all environments. You will be asked to confirm deletion of each 28 | environment. 29 | 30 | ## Stop an Environment 31 | 32 | `10updocker stop ` will stop an environment from running while retaining all files, docker volumes, and 33 | databases related to the environment. 34 | 35 | A special hostname `all` is available that will stop all running environments as well as the global services. 36 | 37 | ## Start an Environment 38 | 39 | `10updocker start ` will start a preexisting environment. 40 | 41 | A special hostname `all` is available that will start all environments as well as the global services. 42 | 43 | ## Restart an Environment 44 | 45 | `10updocker restart ` will restart all services associated with a preexisting environment. 46 | 47 | A special hostname `all` is available that will restart all environments as well as the global services. 48 | 49 | ## Upgrade an Environment 50 | 51 | `10updocker upgrade ` will upgrade all services associated with a preexisting environment. 52 | 53 | This command will assist you with keeping your environments up to date with the most recent upstream changes. If you 54 | are running an environment that was created before `v2.6.0`, we recommend upgrading your environment for a noticeable 55 | performance increase. 56 | 57 | ## Elasticsearch 58 | 59 | If you have enabled Elasticsearch for a particular environment, you can send requests from the host machine to the 60 | Elasticsearch server by prefixing the url path with `/__elasticsearch/`. For example, if you wanted to hit the 61 | `/_all/_search/` endpoint of Elasticsearch, the URL would look like: `http:///__elasticsearch/_all/_search` 62 | 63 | ## WP Snapshots 64 | 65 | See the section on [using WP Snapshots](../wp-snapshots) 66 | 67 | ## Running WP CLI Commands 68 | 69 | Running WP CLI commands against an environment is easy. First, make sure you are somewhere within your environment 70 | directory (by default, this is somewhere within `~/wp-local-docker-sites//`). Once within the environment 71 | directory, simply run `10updocker wp `. `` can be any valid command you would otherwise pass directly 72 | to WP CLI. 73 | 74 | Examples: 75 | * `10updocker wp search-replace 'mysite.com' 'mysite.test'` 76 | * `10updocker wp site list` 77 | 78 | ## Shell 79 | 80 | You can get a shell inside of any container in your environment using the `10updocker shell []` command. If a 81 | service is not provided, the `phpfpm` container will be used by default. Other available services can vary depending 82 | on the options selected during creation of the environment, but may include: 83 | * `phpfpm` 84 | * `nginx` 85 | * `elasticsearch` 86 | * `memcached` 87 | 88 | ## Logs 89 | 90 | Real time container logs are available using the `10updocker logs []` command. If a service is not provided, 91 | logs from all containers in the current environment will be shown. To stop logs, type `ctrl+c`. Available services can 92 | vary depending on the options selected during creation of the environment, but may include: 93 | * `phpfpm` 94 | * `nginx` 95 | * `elasticsearch` 96 | * `memcached` 97 | -------------------------------------------------------------------------------- /_includes/markdown/GlobalCommands.md: -------------------------------------------------------------------------------- 1 | ## Clearing Shared Cache 2 | WP CLI, WP Snapshots, and npm (when building the development version of WordPress) all utilize cache to speed up 3 | operations and save on bandwidth in the future. 4 | 5 | `10updocker cache clear` Clears the WP CLI, WP Snapshots, and npm (for WordPress core development) caches. 6 | 7 | ## Updating Docker Images 8 | `10updocker image update` Will determine which of the docker images utilized by WP Local Docker are present on your 9 | system and update them to the latest version available. 10 | 11 | ## Stopping global services 12 | WP Local Docker relies on a set of global services to function properly. To turn off global services, run 13 | `10updocker stop all`. This will stop all environments and then the global services. 14 | -------------------------------------------------------------------------------- /_includes/markdown/Installation.md: -------------------------------------------------------------------------------- 1 | ## Prerequisites 2 | 3 | [WP Local Docker](https://github.com/10up/wp-local-docker-v2) requires docker, docker-compose, Node, and npm. It is recommended that you use the latest versions of 4 | docker and docker-compose. Node 12 is the minimum version of node that is currently supported. While WP Local Docker _may_ work with other versions of Node, compatibility is not guaranteed. 5 | 6 | #### MacOS 7 | [Docker Desktop](https://docs.docker.com/docker-for-mac/install/) is available for download from the [Docker website](https://docs.docker.com/docker-for-mac/install/) and will 8 | install docker-compose automatically. NodeJS and npm can be installed from the [NodeJS website](https://nodejs.org), 9 | via a package manager, such as [Homebrew](https://brew.sh/), or using a version manager, such as 10 | [nvm](https://github.com/creationix/nvm). 11 | 12 | ##### NodeJS EACCESS Error 13 | If Node was installed via the download from the NodeJS website, you will likely get an `EACCESS` error when trying to install 14 | global npm packages without using sudo. Npm has an article on [preventing permission errors](https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory) 15 | if you'd like to run the command without sudo. Alternatively, just run the install command with sudo. 16 | 17 | #### Windows 18 | [Docker Desktop](https://docs.docker.com/docker-for-windows/install/) is available for download from the [Docker website](https://docs.docker.com/docker-for-windows/install/) and will 19 | install docker-compose automatically. NodeJS and npm can be installed from the [NodeJS website](https://nodejs.org). You may also need [Python](https://www.python.org/downloads/windows/) 3.7+ and [Visual Studio](https://visualstudio.microsoft.com/downloads/) 2015 or newer with the [“Desktop development with C++” workload](https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160). 20 | 21 | It is recommended that you use the [WSL/2 backend for Docker](https://docs.docker.com/docker-for-windows/wsl/). You should use ([nvm](https://github.com/creationix/nvm) to install Node inside of your default Linux distro. Once you have, you can install WP Local Docker, from inside of Linux, following the [installation instructions](#Installation). 22 | 23 | It is helpful to share git credentials between Windows and WSL/2. To do so, run the following, from inside of your default Linux, making sure to change `USER-NAME` to your Windows username: 24 | 25 | ```bash 26 | git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" 27 | cd ~/.ssh 28 | cp /mnt/c/Users/USER-NAME/.ssh/id_rsa* . 29 | ``` 30 | 31 | #### Linux 32 | Docker has platform specific installation instructions available for linux on their [documentation site](https://docs.docker.com/install/#supported-platforms). 33 | Once docker is installed, you will need to [manually install docker compose](https://docs.docker.com/compose/install/). 34 | NodeJS can be installed via a package manager for many linux platforms [following these instructions](https://nodejs.org/en/download/package-manager/). 35 | 36 | ## Installation 37 | 38 | Once all installation prerequisites have been met, WP Local Docker is installed as a global npm package by running 39 | `npm install -g wp-local-docker`. You can confirm it has been installed by running `10updocker --version`. 40 | 41 | ## Configuration 42 | 43 | The first time you run a WP Local Docker command, default configuration settings will be used if you have not manually 44 | configured WP Local Docker beforehand. By default, WP Local Docker will store all environments within the 45 | `~/wp-local-docker-sites` directory and try to manage your hosts file when creating and deleting environments. If you 46 | would like to customize the environment path or opt to not have WP Local Docker update your hosts file, run 47 | `10updocker configure` and follow the prompts. 48 | 49 | ## Updating 50 | 51 | To update WP Local Docker, run `npm update -g wp-local-docker` 52 | -------------------------------------------------------------------------------- /_includes/markdown/Introduction.md: -------------------------------------------------------------------------------- 1 | [WP Local Docker](https://github.com/10up/wp-local-docker-v2) is an easy to use Docker based local development environment for WordPress development that works on Mac, 2 | Windows, and Linux. Any number of environments can be created and may run at the same time1, and requests will be routed 3 | appropriately to the correct environment based on the hostname specified during environment creation. 4 | 5 | Each environment within WP Local Docker is powered by nginx, phpfpm, memcached, and if desired, elasticsearch. PHP versions 6 | 5.5, 5.6, 7.0, 7.1, 7.2 or 7.3 are all supported. Supporting all environments within WP Local Docker is a MySQL container to run 7 | all MySQL databases, WP Snapshots to easily push and pull snapshots of a WordPress installation, PHPMyAdmin to manage 8 | MySQL databases with a familiar UI, and mailcatcher to catch any mail sent from all environments. 9 | 10 | In addition to the services required to run WordPress, WP Local Docker will also download and install WordPress as a 11 | single site installation, a Multisite with Subdirectories, a Multisite with Subdomains, or the core development version. 12 | 13 | ---- 14 | 1. Concurrent environments are limited by the available resources of your host machine 15 | -------------------------------------------------------------------------------- /_includes/markdown/Tools.md: -------------------------------------------------------------------------------- 1 | ## phpMyAdmin 2 | 3 | [phpMyAdmin](https://www.phpmyadmin.net/) is available as part of the global services stack that is deployed to support all of the environments. 4 | 5 | Access phpMyAdmin by navigating to [http://localhost:8092](http://localhost:8092). 6 | * Username: `wordpress` 7 | * Password: `password` 8 | 9 | ## MailCatcher 10 | 11 | [MailCatcher](https://mailcatcher.me/) is available as part of the global services stack that is deployed to support all of the environments. It is preconfigured to catch mail sent from any of the environments created by WP Local Docker. 12 | 13 | Access MailCatcher by navigating to [http://localhost:1080](http://localhost:1080). 14 | 15 | ## Xdebug 16 | 17 | Xdebug is included in the php images but must be manually enabled if you use wp-local-docker 2.7.0 or earlier. To enable Xdebug, set the environment variable `ENABLE_XDEBUG` to `'true'` in the `docker-compose.yml` file in the root of the project. If you use wp-local-docker 2.8.0 or higher, then new environments will have Xdebug enabled by default. 18 | 19 | Make sure your IDE is listening for PHP debug connections and set up a path mapping to your local environment's `wordpress/` directory to `/var/www/html/` in the container. 20 | 21 | ### Visual Studio Code 22 | 23 | 1. Ensure Xdebug is enabled for the environment using the `ENABLE_XDEBUG` environment variable. 24 | 2. Install the [PHP Debug](https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug) extension. 25 | 3. In your project, go to the Debug view, click "Add Configuration..." and choose PHP environment. A new launch configuration will be created for you. 26 | 4. Set the `pathMappings` parameter to your local `wordpress` directory. Example: 27 | ```json 28 | "configurations": [ 29 | { 30 | "name": "Listen for XDebug", 31 | "type": "php", 32 | "request": "launch", 33 | "port": 9000, 34 | "pathMappings": { 35 | "/var/www/html": "${workspaceFolder}/wordpress", 36 | } 37 | } 38 | ] 39 | ``` 40 | -------------------------------------------------------------------------------- /_includes/markdown/WPSnapshots.md: -------------------------------------------------------------------------------- 1 | ## Configuration 2 | 3 | If you have not used [WP Snapshots](https://github.com/10up/wpsnapshots) with [WP Local Docker](https://github.com/10up/wp-local-docker-v2) yet, you'll first need to configure WP Snapshots with your AWS 4 | credentials. To configure, run `10updocker wpsnapshots configure ` (e.g. `10updocker wpsnapshots configure 10up`). You will then be prompted to enter 5 | your AWS credentials and a few other configuration details. Once complete, the configuration will be available across 6 | all of your WP Local Docker environments. 7 | 8 | ## Pulling an Environment 9 | 10 | `10updocker wpsnapshots pull ` This command pulls an existing snapshot from the repository into your current 11 | environment, replacing your database and wp-content. This command must be run from withing your environment directory 12 | (by default, this is somewhere within `~/wp-local-docker-sites//`). 13 | 14 | ## Searching for an Environment 15 | 16 | `10updocker wpsnapshots search ` with searches the repository for snapshots. `` will be 17 | compared against project names and authors. Searching for "*" will return all snapshots. 18 | 19 | ## Other Commands 20 | 21 | `10updocker wpsnapshots ` is the general form for all WP Snapshots commands. `` is passed directly to 22 | WP Snapshots, so any command that WP Snapshots accepts will work in this form. Any command that requires a WordPress 23 | environment (pull, create, etc) needs to be run from somewhere within an environment directory (by default, this is 24 | somewhere within `~/wp-local-docker-sites//`). 25 | -------------------------------------------------------------------------------- /_includes/tweet-button.html: -------------------------------------------------------------------------------- 1 |
    2 | 3 |
    4 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | {{ site.name }} 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | {% include header.html %} 30 | 31 | {{ content }} 32 | 33 | {% include footer.html %} 34 | 35 | {% include js.html %} 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /assets/css/base/_base.scss: -------------------------------------------------------------------------------- 1 | * { 2 | -moz-box-sizing: border-box; 3 | -webkit-box-sizing: border-box; 4 | box-sizing: border-box; 5 | } 6 | 7 | html { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-size: $base-font-size; 13 | line-height: $base-line-height; 14 | color: $color-text-default; 15 | background-color: $color-background-color-default; 16 | font-family: $font-family-sans; 17 | padding-top: 60px; 18 | } 19 | 20 | ::selection { 21 | background: $party-blue; /* Webkit */ 22 | color:white; 23 | } 24 | 25 | ::-moz-selection { 26 | background: $party-blue; /* Firefox */ 27 | color:white; 28 | } 29 | 30 | img { 31 | max-width: 100%; 32 | height: auto; 33 | } 34 | 35 | a { 36 | color: darken($color-accent-alternate, 10%); 37 | text-decoration: none; 38 | 39 | &:visited { 40 | color: desaturate($color-accent-alternate, 20%); 41 | } 42 | 43 | &:hover, 44 | &:active { 45 | color: saturate( darken($color-accent-alternate, 10%), 10% ); 46 | } 47 | } 48 | 49 | p a { 50 | border-bottom: 1px solid rgba( $color-accent-alternate, .3 ); 51 | 52 | &:hover { 53 | border-bottom-color: rgba( saturate( darken( $color-accent-alternate, 10%), 10% ), .8 ); 54 | } 55 | 56 | &:visited { 57 | 58 | } 59 | 60 | } 61 | 62 | // otherwise it's too wonky with our static header on mobile 63 | body #wpadminbar { 64 | position: fixed; 65 | } 66 | 67 | // Reusable, toolbox kind of class 68 | .screen-reader-text { 69 | position: absolute; 70 | top: -9999px; 71 | left: -9999px; 72 | } 73 | 74 | .interface-checkbox { 75 | display: none; 76 | speak: none; 77 | } 78 | 79 | // .template-header { 80 | // padding-top: 4rem; 81 | // padding-bottom: 4rem; 82 | // text-align: center; 83 | 84 | // @include breakpoint($breakpoint-alpha) { 85 | // padding-bottom: 11.5rem; 86 | // padding-top: 14rem; 87 | // } 88 | 89 | // h1, 90 | // .subhead { 91 | // margin-top: 0; 92 | // } 93 | 94 | // *:last-child { 95 | // margin-bottom: 0; 96 | // } 97 | 98 | // .wp-post-image { 99 | // margin-top:3rem; 100 | 101 | // @include breakpoint($breakpoint-alpha) { 102 | // margin-top:8rem; 103 | // } 104 | // } 105 | // } -------------------------------------------------------------------------------- /assets/css/base/_buttons.scss: -------------------------------------------------------------------------------- 1 | .button { 2 | background-color: $color-dark; 3 | color: $color-dark-text; 4 | border: 0; 5 | @include transition( background-color, .2s, linear ); 6 | } 7 | 8 | .button.party-blue { 9 | background: $color-accent-alternate; 10 | color: $default-light-color; 11 | padding: 10px; 12 | margin: 2em 0 0 0; 13 | text-align: center; 14 | text-transform: uppercase; 15 | display: inline-block; 16 | min-width: 120px; 17 | &:hover { 18 | background-color: darken($color-accent-alternate, 10%); 19 | } 20 | } 21 | .button.red { 22 | display: inline-block; 23 | padding: 0.6em 3em; 24 | background-color: #B53234; 25 | text-transform: uppercase; 26 | margin: 2em 0; 27 | font-size: 1.5em; 28 | color: white; 29 | &:hover { 30 | background-color: darken(#B53234, 5%); 31 | } 32 | } 33 | .button-light { 34 | @extend .button; 35 | background-color: $color-medium-dark; 36 | } 37 | 38 | %circle-buttons { 39 | @extend %caps-text; 40 | text-transform: none; 41 | font-variant: small-caps; 42 | display: inline-block; 43 | width: 4em; 44 | height: 4em; 45 | line-height: 4em; 46 | background-size: cover; 47 | background-repeat: no-repeat; 48 | color: #fff; 49 | border-radius: 50%; 50 | &:hover { 51 | opacity: .5; 52 | text-decoration: none; 53 | } 54 | 55 | @include breakpoint($breakpoint-bravo) { 56 | width: 5.5em; 57 | height: 5.5em; 58 | line-height: 5.5em; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /assets/css/base/_fonts.scss: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: tenup; 3 | src: url('../fonts/10up.eot'); 4 | src: url('../fonts/10up.eot?#iefix') format('embedded-opentype'), url('../fonts/10up.ttf') format('truetype'), url('../fonts/10up.woff') format('woff'), url('../fonts/10up.svg#10up') format('svg'); 5 | font-weight: normal; 6 | font-style: normal; 7 | } 8 | -------------------------------------------------------------------------------- /assets/css/base/_normalize.scss: -------------------------------------------------------------------------------- 1 | /*! normalize.css v2.1.3 | MIT License | git.io/normalize */ 2 | 3 | /* ========================================================================== 4 | HTML5 display definitions 5 | ========================================================================== */ 6 | 7 | /** 8 | * Correct `block` display not defined in IE 8/9. 9 | */ 10 | 11 | article, 12 | aside, 13 | details, 14 | figcaption, 15 | figure, 16 | footer, 17 | header, 18 | hgroup, 19 | main, 20 | nav, 21 | section, 22 | summary { 23 | display: block; 24 | } 25 | 26 | /** 27 | * Correct `inline-block` display not defined in IE 8/9. 28 | */ 29 | 30 | audio, 31 | canvas, 32 | video { 33 | display: inline-block; 34 | } 35 | 36 | /** 37 | * Prevent modern browsers from displaying `audio` without controls. 38 | * Remove excess height in iOS 5 devices. 39 | */ 40 | 41 | audio:not([controls]) { 42 | display: none; 43 | height: 0; 44 | } 45 | 46 | /** 47 | * Address `[hidden]` styling not present in IE 8/9. 48 | * Hide the `template` element in IE, Safari, and Firefox < 22. 49 | */ 50 | 51 | [hidden], 52 | template { 53 | display: none; 54 | } 55 | 56 | /* ========================================================================== 57 | Base 58 | ========================================================================== */ 59 | 60 | /** 61 | * 1. Set default font family to sans-serif. 62 | * 2. Prevent iOS text size adjust after orientation change, without disabling 63 | * user zoom. 64 | */ 65 | 66 | html { 67 | font-family: sans-serif; /* 1 */ 68 | -ms-text-size-adjust: 100%; /* 2 */ 69 | -webkit-text-size-adjust: 100%; /* 2 */ 70 | } 71 | 72 | /** 73 | * Remove default margin. 74 | */ 75 | 76 | body { 77 | margin: 0; 78 | } 79 | 80 | /* ========================================================================== 81 | Links 82 | ========================================================================== */ 83 | 84 | /** 85 | * Remove the gray background color from active links in IE 10. 86 | */ 87 | 88 | a { 89 | background: transparent; 90 | } 91 | 92 | /** 93 | * Address `outline` inconsistency between Chrome and other browsers. 94 | */ 95 | 96 | a:focus { 97 | outline: thin dotted; 98 | } 99 | 100 | /** 101 | * Improve readability when focused and also mouse hovered in all browsers. 102 | */ 103 | 104 | a:active, 105 | a:hover { 106 | outline: 0; 107 | } 108 | 109 | /* ========================================================================== 110 | Typography 111 | ========================================================================== */ 112 | 113 | /** 114 | * Address variable `h1` font-size and margin within `section` and `article` 115 | * contexts in Firefox 4+, Safari 5, and Chrome. 116 | */ 117 | 118 | h1 { 119 | font-size: 2em; 120 | margin: 0.67em 0; 121 | } 122 | 123 | /** 124 | * Address styling not present in IE 8/9, Safari 5, and Chrome. 125 | */ 126 | 127 | abbr[title] { 128 | border-bottom: 1px dotted; 129 | } 130 | 131 | /** 132 | * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. 133 | */ 134 | 135 | b, 136 | strong { 137 | font-weight: bold; 138 | } 139 | 140 | /** 141 | * Address styling not present in Safari 5 and Chrome. 142 | */ 143 | 144 | dfn { 145 | font-style: italic; 146 | } 147 | 148 | /** 149 | * Address differences between Firefox and other browsers. 150 | */ 151 | 152 | hr { 153 | -moz-box-sizing: content-box; 154 | box-sizing: content-box; 155 | height: 0; 156 | } 157 | 158 | /** 159 | * Address styling not present in IE 8/9. 160 | */ 161 | 162 | mark { 163 | background: #ff0; 164 | color: #000; 165 | } 166 | 167 | /** 168 | * Correct font family set oddly in Safari 5 and Chrome. 169 | */ 170 | 171 | code, 172 | kbd, 173 | pre, 174 | samp { 175 | font-family: monospace, serif; 176 | font-size: 1em; 177 | } 178 | 179 | /** 180 | * Improve readability of pre-formatted text in all browsers. 181 | */ 182 | 183 | pre { 184 | white-space: pre-wrap; 185 | } 186 | 187 | /** 188 | * Set consistent quote types. 189 | */ 190 | 191 | q { 192 | quotes: "\201C" "\201D" "\2018" "\2019"; 193 | } 194 | 195 | /** 196 | * Address inconsistent and variable font size in all browsers. 197 | */ 198 | 199 | small { 200 | font-size: 80%; 201 | } 202 | 203 | /** 204 | * Prevent `sub` and `sup` affecting `line-height` in all browsers. 205 | */ 206 | 207 | sub, 208 | sup { 209 | font-size: 75%; 210 | line-height: 0; 211 | position: relative; 212 | vertical-align: baseline; 213 | } 214 | 215 | sup { 216 | top: -0.5em; 217 | } 218 | 219 | sub { 220 | bottom: -0.25em; 221 | } 222 | 223 | /* ========================================================================== 224 | Embedded content 225 | ========================================================================== */ 226 | 227 | /** 228 | * Remove border when inside `a` element in IE 8/9. 229 | */ 230 | 231 | img { 232 | border: 0; 233 | } 234 | 235 | /** 236 | * Correct overflow displayed oddly in IE 9. 237 | */ 238 | 239 | svg:not(:root) { 240 | overflow: hidden; 241 | } 242 | 243 | /* ========================================================================== 244 | Figures 245 | ========================================================================== */ 246 | 247 | /** 248 | * Address margin not present in IE 8/9 and Safari 5. 249 | */ 250 | 251 | figure { 252 | margin: 0; 253 | } 254 | 255 | /* ========================================================================== 256 | Forms 257 | ========================================================================== */ 258 | 259 | /** 260 | * Define consistent border, margin, and padding. 261 | */ 262 | 263 | fieldset { 264 | border: 1px solid #c0c0c0; 265 | margin: 0 2px; 266 | padding: 0.35em 0.625em 0.75em; 267 | } 268 | 269 | /** 270 | * 1. Correct `color` not being inherited in IE 8/9. 271 | * 2. Remove padding so people aren't caught out if they zero out fieldsets. 272 | */ 273 | 274 | legend { 275 | border: 0; /* 1 */ 276 | padding: 0; /* 2 */ 277 | } 278 | 279 | /** 280 | * 1. Correct font family not being inherited in all browsers. 281 | * 2. Correct font size not being inherited in all browsers. 282 | * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. 283 | */ 284 | 285 | button, 286 | input, 287 | select, 288 | textarea { 289 | font-family: inherit; /* 1 */ 290 | font-size: 100%; /* 2 */ 291 | margin: 0; /* 3 */ 292 | } 293 | 294 | /** 295 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in 296 | * the UA stylesheet. 297 | */ 298 | 299 | button, 300 | input { 301 | line-height: normal; 302 | } 303 | 304 | /** 305 | * Address inconsistent `text-transform` inheritance for `button` and `select`. 306 | * All other form control elements do not inherit `text-transform` values. 307 | * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. 308 | * Correct `select` style inheritance in Firefox 4+ and Opera. 309 | */ 310 | 311 | button, 312 | select { 313 | text-transform: none; 314 | } 315 | 316 | /** 317 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 318 | * and `video` controls. 319 | * 2. Correct inability to style clickable `input` types in iOS. 320 | * 3. Improve usability and consistency of cursor style between image-type 321 | * `input` and others. 322 | */ 323 | 324 | button, 325 | html input[type="button"], /* 1 */ 326 | input[type="reset"], 327 | input[type="submit"] { 328 | -webkit-appearance: button; /* 2 */ 329 | cursor: pointer; /* 3 */ 330 | } 331 | 332 | /** 333 | * Re-set default cursor for disabled elements. 334 | */ 335 | 336 | button[disabled], 337 | html input[disabled] { 338 | cursor: default; 339 | } 340 | 341 | /** 342 | * 1. Address box sizing set to `content-box` in IE 8/9/10. 343 | * 2. Remove excess padding in IE 8/9/10. 344 | */ 345 | 346 | input[type="checkbox"], 347 | input[type="radio"] { 348 | box-sizing: border-box; /* 1 */ 349 | padding: 0; /* 2 */ 350 | } 351 | 352 | /** 353 | * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 354 | * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome 355 | * (include `-moz` to future-proof). 356 | */ 357 | 358 | input[type="search"] { 359 | -webkit-appearance: textfield; /* 1 */ 360 | -moz-box-sizing: content-box; 361 | -webkit-box-sizing: content-box; /* 2 */ 362 | box-sizing: content-box; 363 | } 364 | 365 | /** 366 | * Remove inner padding and search cancel button in Safari 5 and Chrome 367 | * on OS X. 368 | */ 369 | 370 | input[type="search"]::-webkit-search-cancel-button, 371 | input[type="search"]::-webkit-search-decoration { 372 | -webkit-appearance: none; 373 | } 374 | 375 | /** 376 | * Remove inner padding and border in Firefox 4+. 377 | */ 378 | 379 | button::-moz-focus-inner, 380 | input::-moz-focus-inner { 381 | border: 0; 382 | padding: 0; 383 | } 384 | 385 | /** 386 | * 1. Remove default vertical scrollbar in IE 8/9. 387 | * 2. Improve readability and alignment in all browsers. 388 | */ 389 | 390 | textarea { 391 | overflow: auto; /* 1 */ 392 | vertical-align: top; /* 2 */ 393 | } 394 | 395 | /* ========================================================================== 396 | Tables 397 | ========================================================================== */ 398 | 399 | /** 400 | * Remove most spacing between table cells. 401 | */ 402 | 403 | table { 404 | border-collapse: collapse; 405 | border-spacing: 0; 406 | } -------------------------------------------------------------------------------- /assets/css/base/_typography.scss: -------------------------------------------------------------------------------- 1 | h1, h2, h3, h4, h5, h6 { 2 | -ms-word-wrap: break-word; 3 | word-wrap: break-word; 4 | } 5 | 6 | em { 7 | font-style: normal; 8 | font-weight: 600; 9 | } 10 | 11 | blockquote { 12 | margin-bottom: 25px; 13 | margin-top: 25px; 14 | font-size: 32px; 15 | line-height: 50px; 16 | text-align: left; 17 | text-indent: 16px; 18 | color: rgba(140, 138, 138, 1.00); 19 | } 20 | 21 | h1 { 22 | font-size: 3.4rem; 23 | line-height: 1.4; 24 | // font-family: $font-family-serif; 25 | font-family: $font-family-sans; 26 | font-weight: 300; 27 | font-style: normal; 28 | margin: 0px 0px 12px 0px; 29 | 30 | @include breakpoint($breakpoint-alpha) { 31 | font-size: 4.9rem; 32 | } 33 | 34 | @include breakpoint($breakpoint-bravo) { 35 | font-size: 6.4rem; 36 | } 37 | } 38 | 39 | h2 { 40 | font-size: 2.2rem; 41 | font-weight: 300; 42 | line-height: 1.4; 43 | text-transform: none; 44 | margin: 36px 0px 12px 0px; 45 | 46 | @include breakpoint($breakpoint-alpha) { 47 | font-size: 2.8rem; 48 | } 49 | } 50 | 51 | h3 { 52 | font-size: 2.4rem; 53 | font-weight: 300; 54 | line-height: 1.5; 55 | } 56 | 57 | h4 { 58 | font-size: 2rem; 59 | font-weight: 300; 60 | } 61 | 62 | h5 { 63 | font-size: 1.5rem; 64 | font-weight: 300; 65 | } 66 | 67 | p, ul, ol { 68 | text-indent: 0em; 69 | font-size: 1.6rem; 70 | font-weight: 300; 71 | line-height: 1.7; 72 | margin: 14px 0px 18px 0px; 73 | 74 | @include breakpoint($breakpoint-bravo) { 75 | font-size: 1.8rem; 76 | } 77 | } 78 | 79 | p.intro { 80 | text-indent: 0px; 81 | line-height: 48px; 82 | font-size: 24px; 83 | letter-spacing: 0px; 84 | font-family: $font-family-serif; 85 | font-weight: 400; 86 | font-style: normal; 87 | margin: 30px 0px; 88 | } 89 | 90 | p.first { 91 | font-family: $font-family-sans; 92 | font-weight: 400; 93 | font-style: italic; 94 | line-height: 30px; 95 | margin: 12px 0px 36px 0px; 96 | } 97 | 98 | p.callout { 99 | text-indent: 0em; 100 | font-size: 28px; 101 | line-height: 42px; 102 | padding: 0px; 103 | font-family: $font-family-serif; 104 | font-weight: 400; 105 | font-style: italic; 106 | //width: 655px; 107 | text-align: center; 108 | margin: 36px 0px 42px 0px; 109 | } 110 | 111 | p.intro:after { 112 | border-bottom: 1px solid #111; 113 | width: 30%; 114 | } 115 | 116 | p.intro a { 117 | text-decoration: none; 118 | color: inherit; 119 | } 120 | 121 | p.intro a:hover { 122 | text-decoration: underline; 123 | color: inherit; 124 | border-bottom: 3px; 125 | } 126 | 127 | h1.pagetitle { 128 | text-align: center; 129 | margin: 0px; 130 | } 131 | 132 | .subhead { 133 | text-align: center; 134 | font-size: 24px; 135 | line-height: 36px; 136 | letter-spacing: 1px; 137 | } 138 | 139 | -------------------------------------------------------------------------------- /assets/css/components/_code-block.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Code 3 | */ 4 | 5 | code, 6 | pre { 7 | font-family: "PT Mono", Menlo, "Courier New", monospace; 8 | font-size: .8em; 9 | } 10 | 11 | code { 12 | padding: .25em .5em; 13 | color: #005980; 14 | background-color: #efefef; 15 | border-radius: .2rem; 16 | } 17 | 18 | pre { 19 | display: block; 20 | line-height: 1.4; 21 | margin: 0 0 1rem; 22 | overflow: auto; 23 | white-space: pre; 24 | } 25 | 26 | pre code { 27 | padding: 0; 28 | color: inherit; 29 | background-color: transparent; 30 | border: 0; 31 | } 32 | 33 | .highlight pre { 34 | margin-bottom: 0; 35 | font-size: 1.6rem; 36 | } 37 | 38 | .highlight + .highlight { 39 | margin-top: 1rem; 40 | } 41 | 42 | div.highlight { 43 | background-color: #efefef; 44 | margin: 0 0 1rem; 45 | padding: 1.25rem; 46 | border-left: 20px solid #ddd; 47 | overflow-x: auto; 48 | } 49 | -------------------------------------------------------------------------------- /assets/css/components/_social-networks.scss: -------------------------------------------------------------------------------- 1 | .social-networks { 2 | 3 | .twitter { 4 | @include icon("twitter"); 5 | } 6 | 7 | .facebook { 8 | @include icon("facebook"); 9 | } 10 | 11 | .github { 12 | @include icon("github"); 13 | } 14 | 15 | .dribbble { 16 | @include icon("dribbble"); 17 | } 18 | 19 | .linkedin { 20 | @include icon("linkedin"); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /assets/css/components/_syntax-highlighter.scss: -------------------------------------------------------------------------------- 1 | /*{ background: #f0f3f3; }*/ 2 | .c { 3 | color: #999; 4 | } 5 | 6 | /* Comment */ 7 | .err { 8 | color: #AA0000; 9 | background-color: #FFAAAA 10 | } 11 | 12 | /* Error */ 13 | .k { 14 | color: #006699; 15 | } 16 | 17 | /* Keyword */ 18 | .o { 19 | color: #555555 20 | } 21 | 22 | /* Operator */ 23 | .cm { 24 | color: #999; 25 | } 26 | 27 | /* Comment.Multiline */ 28 | /* Edited to remove italics and make into comment */ 29 | .cp { 30 | color: #b8cccc; 31 | } 32 | 33 | /* Comment.Preproc */ 34 | .c1 { 35 | color: #999; 36 | } 37 | 38 | /* Comment.Single */ 39 | .cs { 40 | color: #999; 41 | } 42 | 43 | /* Comment.Special */ 44 | .gd { 45 | background-color: #FFCCCC; 46 | border: 1px solid #CC0000 47 | } 48 | 49 | /* Generic.Deleted */ 50 | .ge { 51 | font-style: italic 52 | } 53 | 54 | /* Generic.Emph */ 55 | .gr { 56 | color: #FF0000 57 | } 58 | 59 | /* Generic.Error */ 60 | .gh { 61 | color: #003300; 62 | } 63 | 64 | /* Generic.Heading */ 65 | .gi { 66 | background-color: #CCFFCC; 67 | border: 1px solid #00CC00 68 | } 69 | 70 | /* Generic.Inserted */ 71 | .go { 72 | color: #AAAAAA 73 | } 74 | 75 | /* Generic.Output */ 76 | .gp { 77 | color: #000099; 78 | } 79 | 80 | /* Generic.Prompt */ 81 | .gs { 82 | } 83 | 84 | /* Generic.Strong */ 85 | .gu { 86 | color: #003300; 87 | } 88 | 89 | /* Generic.Subheading */ 90 | .gt { 91 | color: #99CC66 92 | } 93 | 94 | /* Generic.Traceback */ 95 | .kc { 96 | color: #006699; 97 | } 98 | 99 | /* Keyword.Constant */ 100 | .kd { 101 | color: #006699; 102 | } 103 | 104 | /* Keyword.Declaration */ 105 | .kn { 106 | color: #006699; 107 | } 108 | 109 | /* Keyword.Namespace */ 110 | .kp { 111 | color: #006699 112 | } 113 | 114 | /* Keyword.Pseudo */ 115 | .kr { 116 | color: #006699; 117 | } 118 | 119 | /* Keyword.Reserved */ 120 | .kt { 121 | color: #007788; 122 | } 123 | 124 | /* Keyword.Type */ 125 | .m { 126 | color: #FF6600 127 | } 128 | 129 | /* Literal.Number */ 130 | .s { 131 | color: #d44950 132 | } 133 | 134 | /* Literal.String */ 135 | .na { 136 | color: #4f9fcf 137 | } 138 | 139 | /* Name.Attribute */ 140 | .nb { 141 | color: #336666 142 | } 143 | 144 | /* Name.Builtin */ 145 | .nc { 146 | color: #00AA88; 147 | } 148 | 149 | /* Name.Class */ 150 | .no { 151 | color: #336600 152 | } 153 | 154 | /* Name.Constant */ 155 | .nd { 156 | color: #9999FF 157 | } 158 | 159 | /* Name.Decorator */ 160 | .ni { 161 | color: #999999; 162 | } 163 | 164 | /* Name.Entity */ 165 | .ne { 166 | color: #CC0000; 167 | } 168 | 169 | /* Name.Exception */ 170 | .nf { 171 | color: #CC00FF 172 | } 173 | 174 | /* Name.Function */ 175 | .nl { 176 | color: #9999FF 177 | } 178 | 179 | /* Name.Label */ 180 | .nn { 181 | color: #00CCFF; 182 | } 183 | 184 | /* Name.Namespace */ 185 | .nt { 186 | color: #2f6f9f; 187 | } 188 | 189 | /* Name.Tag */ 190 | .nv { 191 | color: #003333 192 | } 193 | 194 | /* Name.Variable */ 195 | .ow { 196 | color: #000000; 197 | } 198 | 199 | /* Operator.Word */ 200 | .w { 201 | color: #bbbbbb 202 | } 203 | 204 | /* Text.Whitespace */ 205 | .mf { 206 | color: #FF6600 207 | } 208 | 209 | /* Literal.Number.Float */ 210 | .mh { 211 | color: #FF6600 212 | } 213 | 214 | /* Literal.Number.Hex */ 215 | .mi { 216 | color: #FF6600 217 | } 218 | 219 | /* Literal.Number.Integer */ 220 | .mo { 221 | color: #FF6600 222 | } 223 | 224 | /* Literal.Number.Oct */ 225 | .sb { 226 | color: #CC3300 227 | } 228 | 229 | /* Literal.String.Backtick */ 230 | .sc { 231 | color: #CC3300 232 | } 233 | 234 | /* Literal.String.Char */ 235 | .sd { 236 | color: #CC3300; 237 | font-style: italic 238 | } 239 | 240 | /* Literal.String.Doc */ 241 | .s2 { 242 | color: #CC3300 243 | } 244 | 245 | /* Literal.String.Double */ 246 | .se { 247 | color: #CC3300; 248 | } 249 | 250 | /* Literal.String.Escape */ 251 | .sh { 252 | color: #CC3300 253 | } 254 | 255 | /* Literal.String.Heredoc */ 256 | .si { 257 | color: #AA0000 258 | } 259 | 260 | /* Literal.String.Interpol */ 261 | .sx { 262 | color: #CC3300 263 | } 264 | 265 | /* Literal.String.Other */ 266 | .sr { 267 | color: #33AAAA 268 | } 269 | 270 | /* Literal.String.Regex */ 271 | .s1 { 272 | color: #CC3300 273 | } 274 | 275 | /* Literal.String.Single */ 276 | .ss { 277 | color: #FFCC33 278 | } 279 | 280 | /* Literal.String.Symbol */ 281 | .bp { 282 | color: #336666 283 | } 284 | 285 | /* Name.Builtin.Pseudo */ 286 | .vc { 287 | color: #003333 288 | } 289 | 290 | /* Name.Variable.Class */ 291 | .vg { 292 | color: #003333 293 | } 294 | 295 | /* Name.Variable.Global */ 296 | .vi { 297 | color: #003333 298 | } 299 | 300 | /* Name.Variable.Instance */ 301 | .il { 302 | color: #FF6600 303 | } 304 | 305 | /* Literal.Number.Integer.Long */ 306 | 307 | .css .o, 308 | .css .o + .nt, 309 | .css .nt + .nt { 310 | color: #999; 311 | } 312 | -------------------------------------------------------------------------------- /assets/css/components/_template-header.scss: -------------------------------------------------------------------------------- 1 | .template-header { 2 | -webkit-background-size: cover; 3 | background-size: cover; 4 | text-align: center; 5 | 6 | h1 { 7 | color: $default-light-color; 8 | font-weight: 800; 9 | margin: 0; 10 | } 11 | 12 | .grid-inner { 13 | padding: 2em $guaranteed-edge-standoff; 14 | max-width: none; 15 | width: 100%; 16 | @include breakpoint($breakpoint-alpha) { 17 | padding: 6em $guaranteed-edge-standoff; 18 | } 19 | } 20 | } 21 | 22 | .header-introduction, 23 | .header-installation, 24 | .header-environments, 25 | .header-wpsnapshots, 26 | .header-global-commands, 27 | .header-tools { 28 | background-image: url("../img/page-header.png"); 29 | } 30 | -------------------------------------------------------------------------------- /assets/css/global/_functions.scss: -------------------------------------------------------------------------------- 1 | // Removes units from the input 2 | // Returns a unitless number 3 | @function strip-units($number) { 4 | @return $number / ($number * 0 + 1); 5 | } 6 | 7 | // considering the base, return a color that contrasts. Either $lighter or $darker 8 | // the percentage below (60%) is the threshold. Less than 60% lightness and it uses the $lighter, otherwise $darker 9 | @function contrast($base, $lighter: $default-light-color, $darker: $default-dark-color) { 10 | @return if(lightness($base) < 60%, $lighter, $darker); 11 | } 12 | -------------------------------------------------------------------------------- /assets/css/global/_grid.scss: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | // Put things into the context of the grid — basically, max-width of the grid width. 3 | // contains floated items with clearfix. 4 | %grid-context { 5 | @extend %clearfix; 6 | max-width: $grid-width; 7 | margin: 0 auto; 8 | } 9 | 10 | // Inline block grid 11 | // 12 | // See https://github.com/CrocoDillon/JustifyGrid/ 13 | // Uses text-align justify, font-size:0, and inline-block to align items 14 | // 15 | // Quick usage: extend the placeholders %inline-block-grid and %inline-block-grid-cell 16 | // where needed outside of Media Queries. Then use the function inline-block-grid-span(), 17 | // probably inside Media Queries, to set the width on elements extending %inline-block-grid-cell 18 | // using the column span as parameter. 19 | // 20 | // For example to span 3 columns, use width: inline-block-grid-span(3);. The second parameter is only needed for nested grids. 21 | 22 | $columns: 3 !default; 23 | $column-width: 310px !default; 24 | $gutter-width: 30px !default; 25 | 26 | %inline-block-grid { 27 | @extend %grid-context; 28 | text-align: justify !important; 29 | text-justify: distribute-all-lines; 30 | font-size: 0 !important; 31 | 32 | &:after { 33 | content: ''; 34 | display: inline-block; 35 | width: 100%; 36 | } 37 | } 38 | 39 | %inline-block-grid-cell { 40 | display: inline-block; 41 | text-align: left; // reset the justify grid 42 | font-size: $base-font-size; 43 | vertical-align: top; 44 | width: 100%; 45 | } 46 | 47 | @function inline-block-grid-span($cols, $total: $columns) { 48 | @return ($column-width * $cols + $gutter-width * ($cols - 1)) / 49 | ($column-width * $total + $gutter-width * ($total - 1)) * 100%; 50 | } 51 | 52 | // content-sidebar grid. 53 | // allows consistency in a content + sidebar system. 54 | // be sure to clearfix the containing element 55 | @mixin content-sidebar-grid($content-or-sidebar, $left-or-right) { 56 | 57 | @include breakpoint($breakpoint-alpha) { 58 | float: left; 59 | display: inline-block; 60 | 61 | @if ( $left-or-right == 'left' ) { 62 | padding-right: 3%; 63 | // padding-right: percentage(25px / $grid-width); 64 | } 65 | 66 | @if ( $left-or-right == 'right' ) { 67 | padding-left: 3%; 68 | // padding-left: percentage(25px / $grid-width); 69 | } 70 | 71 | } 72 | 73 | @if( $content-or-sidebar == 'sidebar' ) { 74 | @include breakpoint($breakpoint-alpha) { 75 | width: 46%; 76 | } 77 | @include breakpoint($breakpoint-bravo) { 78 | width: 31%; 79 | // width: percentage(314px / $grid-width); 80 | } 81 | } 82 | 83 | @if ( $content-or-sidebar == 'content' ) { 84 | @include breakpoint($breakpoint-alpha) { 85 | width: 51%; 86 | } 87 | @include breakpoint($breakpoint-bravo) { 88 | width: 66%; 89 | // width: percentage(676px / $grid-width); 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /assets/css/global/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Apply to the ul element to make li items into a list of sorts 2 | // 3 | // This seems like a candidate for a placeholder instead of a mixin, but we 4 | // use it within media queries. 5 | // 6 | // Avoids these two errors: 7 | // You may not @extend an outer selector from within @media. 8 | // You may only @extend selectors within the same directive. 9 | @mixin inline-list() { 10 | padding-left: 0; 11 | li { 12 | list-style-type: none; 13 | display: inline-block; 14 | } 15 | } 16 | 17 | // Simple breakpoint mixin for "mobile-first" development. 18 | @mixin breakpoint($break) { 19 | @media screen and (min-width: $break) { 20 | @content; 21 | } 22 | } 23 | 24 | // for transitions 25 | @mixin transition($transition-property, $transition-time, $method: linear, $delay: 0) { 26 | -webkit-transition: $transition-property $transition-time $delay $method; 27 | -moz-transition: $transition-property $transition-time $delay $method; 28 | -ms-transition: $transition-property $transition-time $delay $method; 29 | -o-transition: $transition-property $transition-time $delay $method; 30 | transition: $transition-property $transition-time $delay $method; 31 | } 32 | 33 | // Allows us to select an icon. Many shared selectors in %icon (_placeholders.scss) 34 | @mixin icon($icon) { 35 | &:before { 36 | @extend %icon; 37 | 38 | @if 'dribbble' == $icon { 39 | content: "\e600"; 40 | } 41 | 42 | @if 'dribble2' == $icon { 43 | content: "\e601"; 44 | } 45 | 46 | @if 'twitter' == $icon { 47 | content: "\e602"; 48 | } 49 | 50 | @if 'instagram' == $icon { 51 | content: "\e603"; 52 | } 53 | 54 | @if 'github' == $icon { 55 | content: "\e604"; 56 | } 57 | 58 | @if 'facebook' == $icon { 59 | content: "\e605"; 60 | } 61 | 62 | @if 'share' == $icon { 63 | content: "\e606"; 64 | } 65 | 66 | @if 'search' == $icon { 67 | content: "\e607"; 68 | } 69 | 70 | @if 'menu' == $icon { 71 | content: "\e608"; 72 | } 73 | 74 | @if 'close' == $icon { 75 | content: "\e608"; 76 | } 77 | 78 | @if 'linkedin' == $icon { 79 | content: "\e609"; 80 | } 81 | 82 | @if 'calendar' == $icon { 83 | content: "\e60a"; 84 | } 85 | 86 | @if 'coin' == $icon { 87 | content: '\e60b'; 88 | } 89 | 90 | @if 'bullhorn' == $icon { 91 | content: '\e60c'; 92 | } 93 | 94 | @if 'google' == $icon { 95 | content: '\e60d'; 96 | } 97 | } 98 | } 99 | 100 | // Make a CSS arrow 101 | // 102 | // $direction: top, right, bottom, left 103 | // $color: hex, rgb or rbga 104 | // $size: any valid size for border: -- px, em, rem, etc. 105 | // 106 | // @example 107 | // .element{ 108 | // @include arrow(top, #000, 50px); 109 | // } 110 | @mixin arrow($direction, $color, $size, $pseudo-element: after) { 111 | 112 | &:#{$pseudo-element} { 113 | content: ' '; 114 | position: absolute; 115 | display: block; 116 | height: 0; 117 | width: 0; 118 | border: $size solid transparent; 119 | 120 | @if $direction == 'bottom'{ 121 | border-top-color: $color; 122 | bottom: -($size*2); 123 | left: 50%; 124 | margin-left: -($size/2); 125 | } 126 | 127 | @if $direction == 'top' { 128 | border-bottom-color: $color; 129 | top: -($size*2); 130 | left: 50%; 131 | margin-left: -($size/2); 132 | } 133 | 134 | @if $direction == 'right' { 135 | border-left-color: $color; 136 | right: -($size*2); 137 | top: 50%; 138 | margin-top: -($size/2); 139 | } 140 | 141 | @if $direction == 'left' { 142 | border-right-color: $color; 143 | left: -($size*2); 144 | top: 50%; 145 | margin-top: -($size/2); 146 | } 147 | 148 | } 149 | } 150 | 151 | // box sizing cross-browser support 152 | 153 | @mixin box-sizing($box-model) { 154 | -webkit-box-sizing: $box-model; // Safari <= 5 155 | -moz-box-sizing: $box-model; // Firefox <= 29 156 | box-sizing: $box-model; 157 | } 158 | 159 | @mixin vertical-align { 160 | position: absolute; 161 | top: 50%; 162 | -webkit-transform: translateY(-50%); 163 | -ms-transform: translateY(-50%); 164 | transform: translateY(-50%); 165 | } 166 | 167 | @mixin keyframes($name) { 168 | @-webkit-keyframes #{$name} { 169 | @content; 170 | } 171 | @-moz-keyframes #{$name} { 172 | @content; 173 | } 174 | @-ms-keyframes #{$name} { 175 | @content; 176 | } 177 | @keyframes #{$name} { 178 | @content; 179 | } 180 | } 181 | 182 | @mixin opacity($opacity) { 183 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$opacity*100)"; 184 | filter: alpha(opacity=$opacity*100); 185 | -moz-opacity: $opacity; 186 | -khtml-opacity: $opacity; 187 | opacity: $opacity; 188 | } 189 | 190 | @mixin tenup-bump($color, $bg, $position) { 191 | &:after { 192 | content: ""; 193 | width: 50px; 194 | height: 50px; 195 | display: block; 196 | -webkit-background-size: 25px; 197 | background-size: 25px; 198 | -webkit-border-radius: 100%; 199 | -moz-border-radius: 100%; 200 | border-radius: 100%; 201 | position: absolute; 202 | left: 50%; 203 | margin-left: -25px; 204 | background-repeat: no-repeat; 205 | background-position: center center; 206 | background-color: $bg; 207 | @if $position == 'top' { 208 | top: -25px; 209 | } 210 | @if $position == 'bottom' { 211 | bottom: -25px; 212 | } 213 | @if $color == 'white' { 214 | background-image: url("../img/10up-icon-reversed.svg"); 215 | } 216 | @if $color == 'red' { 217 | background-image: url("../img/10up-icon.svg"); 218 | } 219 | } 220 | } -------------------------------------------------------------------------------- /assets/css/global/_placeholders.scss: -------------------------------------------------------------------------------- 1 | // Placeholder classes 2 | // See: http://sass-lang.com/documentation/file.SASS_REFERENCE.html#placeholder_selectors_ 3 | 4 | // Make text capitalized and spaced out a bit for legibility 5 | %caps-text { 6 | text-transform: uppercase; 7 | letter-spacing: .1em; 8 | } 9 | 10 | %italic-serif { 11 | font-family: $font-family-serif; 12 | font-style: italic; 13 | } 14 | 15 | // Image replacement 16 | // https://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/ 17 | %hide-text { 18 | text-indent: 100%; 19 | white-space: nowrap; 20 | overflow: hidden; 21 | } 22 | 23 | %clearfix, .cf { 24 | &:before, 25 | &:after { 26 | content: " "; /* 1 */ 27 | display: table; /* 2 */ 28 | } 29 | &:after { 30 | clear: both; 31 | } 32 | } 33 | 34 | // Used repeatedly for menu icons. 35 | %menu-icon { 36 | font-size: 1.3rem; 37 | color: #fff; 38 | display: none; 39 | position: absolute; 40 | top: 15px; 41 | right: 0; 42 | padding: 7px; 43 | cursor: pointer; 44 | line-height: 1; 45 | z-index: 15; /* override .top-nav */ 46 | 47 | @include breakpoint($breakpoint-bravo) { 48 | font-size: 1.6rem; 49 | height: 2.8rem; 50 | width: 2.8rem; 51 | } 52 | } 53 | 54 | // Used by the "icon" mixin. 55 | %icon { 56 | font-family: tenup; 57 | speak: none; 58 | font-style: normal; 59 | font-weight: normal; 60 | font-variant: normal; 61 | text-transform: none; 62 | line-height: 1; 63 | 64 | /* Better Font Rendering =========== */ 65 | -webkit-font-smoothing: antialiased; 66 | -moz-osx-font-smoothing: grayscale; 67 | } 68 | 69 | %overlay-caption { 70 | position: absolute; 71 | bottom: 0; 72 | margin: 0; 73 | min-height: 5rem; 74 | width: 100%; 75 | padding: 1.5rem 2rem; 76 | background-color: $color-dark; 77 | color: $color-very-light; 78 | font-size: 1.25rem; 79 | //letter-spacing: 3px; // letter spacing is a design no-no on non-uppercase words 80 | font-weight: 300; 81 | font-style: normal; 82 | text-transform: uppercase; 83 | -ms-word-wrap: break-word; 84 | word-wrap: break-word; 85 | 86 | @include breakpoint($breakpoint-alpha) { 87 | font-size: 1.5rem; 88 | } 89 | } 90 | 91 | %flourish-headline { 92 | 93 | margin-top: 0; 94 | margin-bottom: 4rem; 95 | font-family: $font-family-serif; 96 | 97 | &:after { 98 | content: ' '; 99 | display: block; 100 | width: 10%; 101 | border-bottom: 2px solid $color-accent-alternate; 102 | margin-top: 1.5rem; 103 | } 104 | 105 | } -------------------------------------------------------------------------------- /assets/css/global/_sticky-footer.scss: -------------------------------------------------------------------------------- 1 | /* Flexbox Sticky Footer */ 2 | body { 3 | display: flex; 4 | min-height: 100vh; 5 | flex-direction: column; 6 | } 7 | .docs-section { 8 | flex: 1 0 auto; 9 | } 10 | -------------------------------------------------------------------------------- /assets/css/global/_variables.scss: -------------------------------------------------------------------------------- 1 | // Colors 2 | $party-blue: #54cdcd; 3 | $business-red: #b73030; 4 | $business-red-light: #b72f2f; 5 | 6 | $very-light-grey: #fefefe; 7 | $light-grey: #F9F9F9; 8 | $medium-grey: #eeeeee; /*used to be "light-grey" but needed a lighter grey added*/ 9 | $dark-grey: #545353; 10 | $very-dark-grey: #232323; 11 | $almost-black: #111; 12 | 13 | // Assign colors 14 | $default-light-color: $very-light-grey; 15 | // used in _function.scss:contrast() 16 | $default-dark-color: $very-dark-grey; 17 | // used in _function.scss:contrast() 18 | 19 | $color-background-color-default: $very-light-grey; 20 | $color-text-default: contrast($color-background-color-default); 21 | 22 | $color-dark: $very-dark-grey; 23 | $color-dark-text: contrast($color-dark); 24 | 25 | $color-medium-dark: $dark-grey; 26 | $color-medium-dark-text: contrast($color-medium-dark); 27 | 28 | $color-medium-light: $medium-grey; 29 | $color-medium-light-text: contrast($color-medium-light); 30 | 31 | $color-light: $light-grey; 32 | $color-light-text: contrast($color-light); 33 | 34 | $color-very-light: $very-light-grey; 35 | $color-very-light-text: contrast($color-very-light); 36 | 37 | $color-accent: $business-red; 38 | $color-accent-text: lighten($color-accent, 30%); 39 | 40 | $color-accent-light: $business-red-light; 41 | $color-accent-light-text: lighten($color-accent-light, 30%); 42 | 43 | $color-accent-alternate: $party-blue; 44 | $color-accent-alternate-text: lighten($color-accent-alternate, 30%); 45 | 46 | $color-button: $very-dark-grey; 47 | $color-button-text: contrast($color-button); 48 | 49 | $color-success-light: #D6E9C6; 50 | $color-success-dark: darken(saturate($color-success-light, 50%), 50%); 51 | 52 | $color-warning-light: #f2efdf; 53 | $color-warning-dark: darken(saturate($color-warning-light, 50%), 50%); 54 | 55 | $color-error-light: #f2dede; 56 | $color-error-dark: darken(saturate($color-error-light, 50%), 50%); 57 | 58 | // font stacks 59 | $base-font-size: 1.2rem; 60 | $base-line-height: 1.4; 61 | $font-family-serif: 'freight-text-pro', serif; 62 | $font-family-sans: 'proxima-nova', sans-serif; 63 | 64 | // responsive breakpoints 65 | $wpadminbar-narrow: 782px; 66 | $breakpoint-alpha: 570px; 67 | // same as the max-width of the featured grid primary 68 | $breakpoint-bravo: 768px; 69 | $breakpoint-charlie: 1024px; 70 | $breakpoint-delta: 1100px; 71 | $breakpoint-featured-grid: 512px; 72 | 73 | // Make my logo bigger cream. 74 | $header-logo-small: 60px; 75 | $header-logo-small-protrusion: $header-logo-small * .1; 76 | $header-logo-large: 80px; 77 | $header-logo-large-protrusion: $header-logo-large * .16; 78 | 79 | // grid metrics 80 | $grid-width: 990px; 81 | $grid-gutter: percentage(30px / $grid-width); 82 | $guaranteed-edge-standoff: percentage(25px / $grid-width); 83 | $guaranteed-edge-standoff: $grid-gutter; 84 | 85 | $single-max-width: 900px; 86 | 87 | $header-height-sm: 200px; 88 | $header-height: 388px; 89 | 90 | 91 | // ---------------------- 92 | // COLORS 93 | // ---------------------- -------------------------------------------------------------------------------- /assets/css/includes/_docs-section.scss: -------------------------------------------------------------------------------- 1 | .docs-section { 2 | padding: $guaranteed-edge-standoff; 3 | max-width: $single-max-width; 4 | margin: 0 auto; 5 | width: 100%; 6 | 7 | h2 { 8 | border-bottom: 1px solid $dark-grey; 9 | font-weight: 600; 10 | padding-bottom: 0.25em; 11 | } 12 | 13 | h3 { 14 | font-weight: 600; 15 | margin-bottom: 0; 16 | } 17 | 18 | .anchor-heading { 19 | padding-top: 60px; 20 | margin-top: -60px; 21 | } 22 | } 23 | 24 | .back-to-top { 25 | font-size: 0.5em; 26 | float: right; 27 | padding-top: 1.2em; 28 | } -------------------------------------------------------------------------------- /assets/css/includes/_footer-about.scss: -------------------------------------------------------------------------------- 1 | .footer-about { 2 | background-color: #3f3f3f; 3 | color: $default-light-color; 4 | 5 | .footer-about-inner { 6 | max-width: $single-max-width; 7 | padding: $guaranteed-edge-standoff $guaranteed-edge-standoff $guaranteed-edge-standoff/2 $guaranteed-edge-standoff; 8 | margin: 0 auto; 9 | } 10 | 11 | .cta-careers { 12 | margin-bottom: $gutter-width; 13 | display: inline-block; 14 | width: 48%; 15 | vertical-align: top; 16 | 17 | .button { 18 | margin-top: .5em; 19 | } 20 | } 21 | 22 | 23 | .license { 24 | display: inline-block; 25 | width: 48%; 26 | margin-left: 2%; 27 | vertical-align: top; 28 | text-align: right; 29 | 30 | p { 31 | font-size: 1rem; 32 | margin: 1rem 0; 33 | } 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /assets/css/includes/_footer.scss: -------------------------------------------------------------------------------- 1 | footer[role="contentinfo"] { 2 | padding: 0 $guaranteed-edge-standoff; 3 | background-color: #303030; 4 | position: relative; 5 | 6 | .logo-link { 7 | display: none; 8 | @extend %hide-text; 9 | @include breakpoint($breakpoint-alpha) { 10 | display: block; 11 | position: absolute; 12 | bottom: 0; 13 | left: 50%; 14 | margin-left: -$header-logo-small / 2; 15 | height: $header-logo-small; 16 | width: $header-logo-small; 17 | border-top-right-radius: 100%; 18 | border-top-left-radius: 100%; 19 | z-index: 10; /* So that it overlays any expanded .top-nav */ 20 | background: #303030 url("../img/10up-icon-reversed.svg") no-repeat center; 21 | -webkit-background-size: 42%; 22 | background-size: 42%; 23 | @include transition(background-size, 150ms, linear); 24 | } 25 | @include breakpoint($breakpoint-bravo) { 26 | margin-left: -$header-logo-large / 2; 27 | bottom: 0; 28 | height: $header-logo-large; 29 | width: $header-logo-large; 30 | } 31 | } 32 | 33 | ul { 34 | @extend %caps-text; 35 | @include inline-list(); 36 | font-size: 12px; 37 | font-weight: 600; 38 | line-height: inherit; 39 | display: inline-block; 40 | margin: 0; 41 | width: 49%; 42 | padding-right: $header-logo-large; 43 | text-align: right; 44 | } 45 | 46 | .footer-social { 47 | font-size: 1.7rem; 48 | padding-bottom: 0; 49 | display: inline-block; 50 | vertical-align: middle; 51 | width: 49%; 52 | padding-left: $header-logo-large; 53 | 54 | a { 55 | color: lighten($color-medium-dark, 10%); 56 | padding: .5em; 57 | 58 | &:hover { 59 | color: #fff; 60 | } 61 | } 62 | } 63 | 64 | li { 65 | margin: 0 0.5em; 66 | 67 | a { 68 | display: inline-block; 69 | color: $color-dark-text; 70 | padding: 21px 0 18px; 71 | // border-bottom: 3px solid transparent; 72 | 73 | position: relative; 74 | 75 | &:hover { 76 | text-decoration: none; 77 | // border-bottom-color: $color-dark-text; 78 | &:after { 79 | bottom: 7px; 80 | @include opacity(1); 81 | } 82 | } 83 | @include breakpoint($breakpoint-alpha) { 84 | &:after { 85 | content: ""; 86 | width: 100%; 87 | height: 5px; 88 | background: $color-dark-text; 89 | position: absolute; 90 | bottom: 5px; 91 | left: 0; 92 | -webkit-backface-visibility: hidden; 93 | -moz-backface-visibility: hidden; 94 | -ms-backface-visibility: hidden; 95 | backface-visibility: hidden; 96 | @include opacity(0); 97 | @include transition(all, 80ms, ease-in); 98 | } 99 | } 100 | } 101 | 102 | } 103 | 104 | } 105 | -------------------------------------------------------------------------------- /assets/css/includes/_header.scss: -------------------------------------------------------------------------------- 1 | #page-header { 2 | padding: 0 $guaranteed-edge-standoff; 3 | background: #303030; 4 | position: fixed; 5 | z-index: 9999; 6 | width: 100%; 7 | top: 0; 8 | 9 | .logo-link { 10 | position: absolute; 11 | bottom: -$header-logo-small-protrusion; 12 | left: 50%; 13 | //margin-left: -$header-logo-small / 2; 14 | margin-left: -30px; // Because menu items are not evenly sized 15 | height: $header-logo-small; 16 | width: $header-logo-small; 17 | border-radius: 100%; 18 | z-index: 10; /* So that it overlays any expanded .top-nav */ 19 | @extend %hide-text; 20 | background: #303030 url("../img/10up-logo-full.svg") no-repeat 46% 30%; 21 | -webkit-background-size: 50%; 22 | background-size: 50%; 23 | @include breakpoint($breakpoint-bravo) { 24 | //margin-left: -$header-logo-large / 2; 25 | margin-left: -30px; // Because menu items are not evenly sized 26 | bottom: -$header-logo-large-protrusion; 27 | height: $header-logo-large; 28 | width: $header-logo-large; 29 | -webkit-background-size: 45%; 30 | background-size: 45%; 31 | background-position: 46% 50%; 32 | } 33 | } 34 | 35 | .top-nav { 36 | top: 6rem; 37 | z-index: 5; /* higher than normal so it overlays content elements */ 38 | background-color: #303030; 39 | padding: 0; 40 | height: 0; 41 | position: relative; 42 | 43 | .js-mobile-expandable { 44 | display: none; 45 | 46 | &.is-open { 47 | display: block; 48 | 49 | &:before { 50 | content: ''; 51 | border: 10px solid transparent; 52 | border-bottom-color: #222; 53 | display: block; 54 | position: absolute; 55 | right: .25em; 56 | top: -20px; 57 | } 58 | } 59 | } 60 | 61 | .header-nav { 62 | background-color: #222; 63 | text-align: right; 64 | 65 | @include breakpoint($breakpoint-bravo) { 66 | background-color: transparent; 67 | text-align: center; 68 | display: block; 69 | padding-left: 6px; 70 | 71 | li:nth-child(3) { 72 | margin-right: 86px; 73 | } 74 | } 75 | 76 | .subnav li { 77 | margin-right: 0; 78 | text-align: left; 79 | } 80 | } 81 | 82 | @include transition(height, 150ms, linear); 83 | 84 | @include breakpoint($breakpoint-bravo) { 85 | display: inline-block; 86 | height: auto !important; 87 | background-color: transparent; 88 | position: relative; 89 | top: auto; 90 | width: 100%; 91 | } 92 | } 93 | } 94 | 95 | .page-header-content { 96 | // @extend %grid-context; 97 | position: relative; 98 | height: 6rem; 99 | } 100 | 101 | // handles layout and functionality for the header menus. 102 | // styling the internal bits happens in components/header/... 103 | .toggle-menu-icon { 104 | @extend %menu-icon; 105 | @include icon('menu'); 106 | display: block; 107 | font-size: 1.3rem; 108 | background-color: black; 109 | 110 | @include breakpoint($breakpoint-bravo) { 111 | display: none; 112 | } 113 | } 114 | 115 | .main-nav-supplemental-icon { 116 | @extend %menu-icon; 117 | @include icon('github'); 118 | display: block; 119 | font-size: 1.3rem; 120 | background-color: black; 121 | right: 2.5em; 122 | 123 | @include breakpoint($breakpoint-bravo) { 124 | right: 0; 125 | } 126 | } 127 | 128 | .header-nav { 129 | @extend %caps-text; 130 | color: $color-dark-text; 131 | line-height: inherit; 132 | margin: 0; 133 | padding: 0; 134 | padding-top: 1em; 135 | 136 | @include breakpoint($breakpoint-bravo) { 137 | @include inline-list(); 138 | display: block !important; 139 | padding-top: 0; 140 | } 141 | 142 | li { 143 | list-style-type: none; 144 | padding: .5em 1em; 145 | 146 | &:hover { 147 | background-color: #303030; 148 | @include breakpoint($breakpoint-bravo) { 149 | background-color: transparent; 150 | } 151 | } 152 | 153 | 154 | @include breakpoint($breakpoint-bravo) { 155 | padding: 0; 156 | margin: 0 0.3em; 157 | 158 | @include breakpoint($breakpoint-charlie) { 159 | margin: 0 0.4em; 160 | } 161 | } 162 | 163 | &.current-menu-item > a, 164 | &.current_page_parent > a { 165 | &:after { 166 | background-color: #585858; 167 | bottom: 7px; 168 | @include opacity(1); 169 | } 170 | 171 | body.home &:after { 172 | bottom: 7px; 173 | @include opacity(0); 174 | // border-top-color: transparent; 175 | } 176 | } 177 | } 178 | 179 | &.is-open { 180 | position: absolute; 181 | right: 0; 182 | top: 0; 183 | width: 100%; 184 | } 185 | } 186 | 187 | .page-header-content { 188 | li a, 189 | h1 a { 190 | display: block; 191 | padding: .8rem 0; 192 | font-size: 14px; 193 | font-weight: 400; 194 | color: $color-dark-text; 195 | 196 | @include breakpoint($breakpoint-bravo) { 197 | padding: 21px 0; 198 | font-size: 11px; 199 | position: relative; 200 | 201 | &:hover { 202 | text-decoration: none; 203 | &:after { 204 | bottom: 7px; 205 | @include opacity(1); 206 | } 207 | } 208 | &:after { 209 | content: ""; 210 | width: 100%; 211 | height: 5px; 212 | background: $color-dark-text; 213 | position: absolute; 214 | bottom: 5px; 215 | left: 0; 216 | -webkit-backface-visibility: hidden; 217 | -moz-backface-visibility: hidden; 218 | -ms-backface-visibility: hidden; 219 | backface-visibility: hidden; 220 | @include opacity(0); 221 | @include transition(all, 80ms, ease-in); 222 | } 223 | 224 | @include breakpoint($breakpoint-charlie) { 225 | font-size: 12px; 226 | font-weight: 600; 227 | } 228 | 229 | } 230 | } 231 | 232 | } 233 | -------------------------------------------------------------------------------- /assets/css/includes/_nav-dropdowns.scss: -------------------------------------------------------------------------------- 1 | .nav-dropdowns { 2 | 3 | li { 4 | position: relative; 5 | } 6 | 7 | .subnav { 8 | display: none; 9 | position: absolute; 10 | left: -1em; 11 | top: 3.35em; 12 | background-color: #222; 13 | z-index: 80; 14 | margin: 0; 15 | padding: 0; 16 | 17 | li { 18 | display: block; 19 | margin: 0; 20 | } 21 | 22 | a { 23 | position: relative; 24 | z-index: 90; 25 | padding: 1em 1.5em; 26 | text-transform: none; 27 | letter-spacing: 0; 28 | font-weight: normal; 29 | font-size: 14px; 30 | white-space: nowrap; 31 | margin-bottom: 0; 32 | } 33 | 34 | a:hover { 35 | background-color: #303030; 36 | 37 | &:after { 38 | content: none; 39 | } 40 | } 41 | 42 | &:after { 43 | content: ' '; 44 | display: block; 45 | position: absolute; 46 | z-index: 50; 47 | /* border: 1px solid red; /* Uncomment to visualize this buffer zone */ 48 | top: -10px; 49 | background: none !important; 50 | width: 150%; 51 | left: -25%; 52 | height: 140%; 53 | } 54 | } 55 | 56 | /** Only use sub-menus on desktop */ 57 | @include breakpoint($breakpoint-bravo) { 58 | li:hover .subnav { 59 | display: block; 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /assets/css/includes/_table-of-contents.scss: -------------------------------------------------------------------------------- 1 | .toc { 2 | background-color: #efefef; 3 | padding: $guaranteed-edge-standoff $guaranteed-edge-standoff; 4 | 5 | &:after { 6 | content: ''; 7 | display: block; 8 | clear: both; 9 | } 10 | 11 | .col { 12 | word-break: break-word; 13 | border-top: 1px solid darken(#efefef, 5%); 14 | margin: 0; 15 | 16 | &:first-child { 17 | border-top: none; 18 | } 19 | 20 | @include breakpoint($breakpoint-bravo) { 21 | width: 50%; 22 | float: left; 23 | vertical-align: top; 24 | border-right: 1px solid darken(#efefef, 5%); 25 | padding-right: 2%; 26 | 27 | &:nth-child(2n+1) { 28 | margin-right: 0; 29 | border-left: 1px solid darken( #efefef, 5%); 30 | border-right: none; 31 | padding-left: 2%; 32 | position: relative; 33 | left: -1px; /* middle border overlap */ 34 | } 35 | 36 | &:nth-of-type(2n+3){ 37 | clear: left; 38 | } 39 | } 40 | 41 | @include breakpoint($breakpoint-charlie) { 42 | width: 24%; 43 | border-right: none; 44 | 45 | /** reset from breakpoint-alpha **/ 46 | &:nth-of-type(2n+3) { 47 | clear: none; 48 | } 49 | 50 | &:nth-of-type(5n) { 51 | clear: left; 52 | } 53 | 54 | &:nth-child(2n+1) { 55 | border-left: none; 56 | } 57 | 58 | &:nth-of-type(9n) { 59 | clear: left; 60 | } 61 | 62 | } 63 | 64 | } 65 | 66 | h2 { 67 | margin: 0; 68 | margin-bottom: 1em; 69 | } 70 | 71 | ul { 72 | padding-left: 0; 73 | margin-top: .5em; 74 | } 75 | 76 | a { 77 | display: inline-block; 78 | padding-bottom: 1px; 79 | } 80 | 81 | a:hover { 82 | padding-bottom: 0; 83 | border-bottom: 1px solid rgba(saturate(darken($color-accent-alternate, 10%), 10%), .8); 84 | } 85 | 86 | h3 { 87 | @extend %caps-text; 88 | margin-bottom: 0; 89 | font-size: 1.2em; 90 | font-weight: 600; 91 | } 92 | 93 | li { 94 | list-style-type: none; 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /assets/css/style.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | @charset "UTF-8"; 5 | 6 | // Global 7 | @import "global/functions"; 8 | @import "global/variables"; 9 | @import "global/mixins"; 10 | @import "global/placeholders"; 11 | @import "global/grid"; 12 | @import "global/sticky-footer"; 13 | 14 | // Base 15 | @import "base/normalize"; 16 | @import "base/base"; 17 | @import "base/typography"; 18 | @import "base/fonts"; 19 | @import "base/buttons"; 20 | 21 | // Components 22 | @import "components/syntax-highlighter"; 23 | @import "components/template-header"; 24 | @import "components/code-block"; 25 | @import "components/social-networks"; 26 | 27 | // Includes 28 | @import "includes/header"; 29 | @import "includes/table-of-contents"; 30 | @import "includes/docs-section"; 31 | @import "includes/footer"; 32 | @import "includes/footer-about"; 33 | @import "includes/nav-dropdowns"; 34 | -------------------------------------------------------------------------------- /assets/fonts/10up.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/fonts/10up.eot -------------------------------------------------------------------------------- /assets/fonts/10up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /assets/fonts/10up.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/fonts/10up.ttf -------------------------------------------------------------------------------- /assets/fonts/10up.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/fonts/10up.woff -------------------------------------------------------------------------------- /assets/fonts/fontello.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/fonts/fontello.eot -------------------------------------------------------------------------------- /assets/fonts/fontello.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Copyright (C) 2014 by original authors @ fontello.com 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /assets/fonts/fontello.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/fonts/fontello.ttf -------------------------------------------------------------------------------- /assets/fonts/fontello.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/fonts/fontello.woff -------------------------------------------------------------------------------- /assets/fonts/selection.json: -------------------------------------------------------------------------------- 1 | { 2 | "IcoMoonType": "selection", 3 | "icons": [ 4 | { 5 | "icon": { 6 | "paths": [ 7 | "M437.006 818.162c0 75.068-46.39 134.392-177.758 139.176-76.984-43.786-141.49-106.952-186.908-182.866 23.69-58.496 97.692-103.046 182.316-102.114 24.022 0.252 46.41 4.114 66.744 10.7 55.908 38.866 101 63.152 112.324 107.448 2.114 8.964 3.282 18.206 3.282 27.656zM512 0c-147.94 0-281.196 62.77-374.666 163.098 36.934-20.452 80.538-32.638 126.902-32.638 67.068 0 256.438 0 256.438 0l-57.304 60.14h-67.31c47.496 27.212 72.752 83.248 72.752 145.012 0 56.692-31.416 102.38-75.78 137.058-43.28 33.802-51.492 47.966-51.492 76.734 0 24.542 51.722 61.098 75.5 78.936 82.818 62.112 99.578 101.184 99.578 178.87 0 78.726-68.936 157.104-185.866 183.742 56.348 21.338 117.426 33.048 181.248 33.048 282.77 0 512-229.23 512-512s-229.23-512-512-512zM768 384v128h-64v-128h-128v-64h128v-128h64v128h128v64h-128zM365.768 339.472c11.922 90.776-27.846 149.19-96.934 147.134-69.126-2.082-134.806-65.492-146.74-156.242-11.928-90.788 34.418-160.254 103.53-158.196 69.090 2.074 128.22 76.542 140.144 167.304zM220.886 642.068c-74.68 0-138.128 25.768-182.842 63.864-24.502-59.82-38.044-125.29-38.044-193.932 0-56.766 9.256-111.368 26.312-162.396 7.374 99.442 77.352 176.192 192.97 176.192 8.514 0 16.764-0.442 24.874-1.022-7.95 15.23-13.622 32.19-13.622 49.982 0 29.97 16.488 47.070 36.868 66.894-15.402 0-30.27 0.418-46.516 0.418z" 8 | ], 9 | "tags": [ 10 | "google plus", 11 | "social" 12 | ], 13 | "grid": 16 14 | }, 15 | "properties": { 16 | "id": 359, 17 | "order": 1, 18 | "prevSize": 32, 19 | "code": 58893, 20 | "name": "googleplus", 21 | "ligatures": "" 22 | }, 23 | "setIdx": 0, 24 | "iconIdx": 359 25 | }, 26 | { 27 | "icon": { 28 | "paths": [ 29 | "M512.002 1024c-282.32 0-512.002-229.682-512.002-512s229.682-512 512.002-512c282.322 0 511.998 229.682 511.998 512s-229.676 512-511.998 512zM943.798 582.086c-14.962-4.72-135.364-40.632-272.41-18.698 57.204 157.186 80.478 285.208 84.958 311.808 98.114-66.336 167.958-171.426 187.452-293.11zM682.832 915.238c-6.506-38.37-31.898-172.090-93.298-331.64-0.96 0.328-1.922 0.64-2.88 0.972-246.67 85.958-335.216 257.016-343.086 273.104 74.15 57.824 167.336 92.32 268.436 92.32 60.58 0 118.318-12.39 170.828-34.756zM187.098 805.078c9.908-16.96 129.93-215.684 355.476-288.594 5.704-1.84 11.448-3.57 17.236-5.2-10.98-24.844-22.94-49.714-35.456-74.216-218.398 65.36-430.324 62.63-449.46 62.236-0.132 4.442-0.222 8.89-0.222 13.366-0 112.32 42.58 214.874 112.426 292.408zM83.912 423.096c19.558 0.26 199.736 1.042 404.302-53.282-72.46-128.812-150.612-237.11-162.142-252.92-122.348 57.708-213.802 170.496-242.16 306.202zM409.518 87.5c12.088 16.184 91.518 124.348 163.18 256.014 155.508-58.284 221.34-146.77 229.208-157.974-77.23-68.518-178.782-110.2-289.902-110.2-35.29 0-69.6 4.232-102.486 12.16zM850.522 236.112c-9.216 12.474-82.504 106.418-244.202 172.434 10.178 20.832 19.934 42.018 29.016 63.344 3.216 7.56 6.354 15.084 9.418 22.57 145.518-18.298 290.104 11.028 304.526 14.078-0.968-103.224-37.85-198.010-98.758-272.426z" 30 | ], 31 | "tags": [ 32 | "dribbble", 33 | "social" 34 | ], 35 | "grid": 16 36 | }, 37 | "properties": { 38 | "order": 1, 39 | "id": 384, 40 | "prevSize": 32, 41 | "code": 58880, 42 | "name": "dribbble", 43 | "ligatures": "" 44 | }, 45 | "setIdx": 1, 46 | "iconIdx": 0 47 | }, 48 | { 49 | "icon": { 50 | "paths": [ 51 | "M765.666 226.346c-6.882 9.804-64.486 87.23-200.556 138.228-62.704-115.206-132.206-209.85-142.782-224.012 28.776-6.936 58.798-10.64 89.674-10.64 97.23 0 186.088 36.47 253.664 96.424zM538.752 515.924c-197.352 63.796-302.372 237.678-311.042 252.522-61.116-67.842-98.374-157.576-98.374-255.858 0-3.916 0.078-7.81 0.196-11.696 16.744 0.342 202.18 2.732 393.278-54.458 10.952 21.44 21.416 43.202 31.024 64.94-5.064 1.426-10.092 2.94-15.082 4.55zM512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512.002 960c-247.030 0-448.002-200.97-448.002-448 0-247.028 200.972-448 448.002-448 247.032 0 447.998 200.972 447.998 448 0 247.030-200.966 448-447.998 448zM619.918 476.902c-7.946-18.66-16.482-37.198-25.388-55.428 141.484-57.762 205.61-139.964 213.676-150.878 53.292 65.116 85.566 148.052 86.412 238.372-12.618-2.668-139.13-28.328-266.458-12.316-2.682-6.552-5.426-13.134-8.242-19.75zM491.188 387.588c-178.996 47.532-336.65 46.848-353.766 46.622 24.814-118.742 104.836-217.432 211.892-267.926 10.088 13.834 78.472 108.594 141.874 221.304zM577.32 575.5c0.84-0.292 1.68-0.564 2.522-0.852 53.724 139.606 75.942 256.612 81.636 290.186-45.946 19.568-96.466 30.41-149.476 30.41-88.464 0-170.002-30.184-234.882-80.78 6.886-14.078 84.364-163.754 300.2-238.964zM651.464 556.964c119.916-19.192 225.266 12.232 238.36 16.36-17.060 106.474-78.172 198.428-164.020 256.472-3.922-23.276-24.288-135.294-74.34-272.832z" 52 | ], 53 | "tags": [ 54 | "dribbble", 55 | "social" 56 | ], 57 | "grid": 16 58 | }, 59 | "properties": { 60 | "order": 2, 61 | "id": 386, 62 | "prevSize": 32, 63 | "code": 58881, 64 | "name": "dribbble2", 65 | "ligatures": "" 66 | }, 67 | "setIdx": 1, 68 | "iconIdx": 1 69 | }, 70 | { 71 | "icon": { 72 | "paths": [ 73 | "M1024 194.418c-37.676 16.708-78.164 28.002-120.66 33.080 43.372-26 76.686-67.17 92.372-116.23-40.596 24.078-85.556 41.56-133.41 50.98-38.32-40.83-92.922-66.34-153.346-66.34-116.022 0-210.088 94.058-210.088 210.078 0 16.466 1.858 32.5 5.44 47.878-174.6-8.764-329.402-92.4-433.018-219.506-18.084 31.028-28.446 67.116-28.446 105.618 0 72.888 37.088 137.192 93.46 174.866-34.438-1.092-66.832-10.542-95.154-26.278-0.020 0.876-0.020 1.756-0.020 2.642 0 101.788 72.418 186.696 168.522 206-17.626 4.8-36.188 7.372-55.348 7.372-13.538 0-26.698-1.32-39.528-3.772 26.736 83.46 104.32 144.206 196.252 145.896-71.9 56.35-162.486 89.934-260.916 89.934-16.958 0-33.68-0.994-50.116-2.94 92.972 59.61 203.402 94.394 322.042 94.394 386.422 0 597.736-320.124 597.736-597.744 0-9.108-0.206-18.168-0.61-27.18 41.056-29.62 76.672-66.62 104.836-108.748z" 74 | ], 75 | "tags": [ 76 | "twitter", 77 | "tweet", 78 | "social" 79 | ], 80 | "grid": 16 81 | }, 82 | "properties": { 83 | "order": 3, 84 | "id": 366, 85 | "prevSize": 32, 86 | "code": 58882, 87 | "name": "twitter", 88 | "ligatures": "" 89 | }, 90 | "setIdx": 1, 91 | "iconIdx": 2 92 | }, 93 | { 94 | "icon": { 95 | "paths": [ 96 | "M854 0h-684c-93.5 0-170 76.5-170 170v684c0 93.5 76.5 170 170 170h684c93.5 0 170-76.5 170-170v-684c0-93.5-76.5-170-170-170zM327.8 448h368.4c6.988 20.058 10.8 41.59 10.8 64 0 107.524-87.476 195-195 195-107.524 0-195-87.476-195-195 0-22.41 3.812-43.942 10.8-64zM896 448.050v255.95 128c0 35.2-28.8 64-64 64h-640c-35.2 0-64-28.8-64-64v-128-255.95-0.050h100.108c-4.642 20.602-7.108 42.016-7.108 64 0 160.458 130.542 291 291 291 160.458 0 291-130.542 291-291 0-21.984-2.464-43.398-7.108-64l100.108 0.050zM896 224c0 17.6-14.4 32-32 32h-64c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h64c17.6 0 32 14.4 32 32v64z" 97 | ], 98 | "tags": [ 99 | "instagram", 100 | "social" 101 | ], 102 | "grid": 16 103 | }, 104 | "properties": { 105 | "order": 4, 106 | "id": 365, 107 | "prevSize": 32, 108 | "code": 58883, 109 | "name": "instagram", 110 | "ligatures": "" 111 | }, 112 | "setIdx": 1, 113 | "iconIdx": 3 114 | }, 115 | { 116 | "icon": { 117 | "paths": [ 118 | "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM816.056 816.056c-39.518 39.516-85.512 70.532-136.708 92.186-13.006 5.5-26.214 10.328-39.6 14.492v-76.734c0-40.334-13.834-70-41.5-89 17.334-1.666 33.25-4 47.75-7s29.834-7.334 46-13 30.666-12.416 43.5-20.25 25.166-18 37-30.5 21.75-26.666 29.75-42.5 14.334-34.834 19-57 7-46.584 7-73.25c0-51.666-16.834-95.666-50.5-132 15.334-40 13.666-83.5-5-130.5l-12.5-1.5c-8.666-1-24.25 2.666-46.75 11s-47.75 22-75.75 41c-39.666-11-80.834-16.5-123.5-16.5-43 0-84 5.5-123 16.5-17.666-12-34.416-21.916-50.25-29.75-15.834-7.834-28.5-13.166-38-16s-18.334-4.584-26.5-5.25-13.416-0.834-15.75-0.5-4 0.666-5 1c-18.666 47.334-20.334 90.834-5 130.5-33.666 36.334-50.5 80.334-50.5 132 0 26.666 2.334 51.084 7 73.25s11 41.166 19 57 17.916 30 29.75 42.5 24.166 22.666 37 30.5 27.334 14.584 43.5 20.25 31.5 10 46 13 30.416 5.334 47.75 7c-27.334 18.666-41 48.334-41 89v78.23c-15.098-4.494-29.98-9.804-44.6-15.988-51.194-21.654-97.188-52.67-136.706-92.186-39.516-39.518-70.534-85.512-92.186-136.708-22.398-52.958-33.756-109.262-33.756-167.348s11.358-114.39 33.758-167.35c21.654-51.194 52.67-97.188 92.186-136.706s85.512-70.534 136.706-92.186c52.96-22.4 109.264-33.758 167.35-33.758s114.39 11.358 167.35 33.758c51.196 21.654 97.19 52.67 136.708 92.186 39.516 39.516 70.532 85.512 92.186 136.706 22.398 52.96 33.756 109.264 33.756 167.35s-11.358 114.39-33.758 167.35c-21.654 51.194-52.67 97.19-92.186 136.706z" 119 | ], 120 | "tags": [ 121 | "github", 122 | "octacat", 123 | "social" 124 | ], 125 | "grid": 16 126 | }, 127 | "properties": { 128 | "order": 5, 129 | "id": 395, 130 | "prevSize": 32, 131 | "code": 58884, 132 | "name": "github", 133 | "ligatures": "" 134 | }, 135 | "setIdx": 1, 136 | "iconIdx": 4 137 | }, 138 | { 139 | "icon": { 140 | "paths": [ 141 | "M512 0c282.77 0 512 229.23 512 512 0 261.094-195.438 476.53-448 508.026v-380.026h176l16-128h-192v-64c0-35.346 28.654-64 64-64h128v-128h-128c-106.040 0-192 85.96-192 192v64h-96v128h96v253 114.87 12.156c-252.562-31.496-448-246.932-448-508.026 0-282.77 229.23-512 512-512z" 142 | ], 143 | "tags": [ 144 | "facebook", 145 | "social" 146 | ], 147 | "grid": 16 148 | }, 149 | "properties": { 150 | "order": 6, 151 | "id": 364, 152 | "prevSize": 32, 153 | "code": 58885, 154 | "name": "facebook", 155 | "ligatures": "" 156 | }, 157 | "setIdx": 1, 158 | "iconIdx": 5 159 | }, 160 | { 161 | "icon": { 162 | "paths": [ 163 | "M864 704c-45.16 0-85.92 18.738-115.012 48.83l-431.004-215.502c1.314-8.252 2.016-16.706 2.016-25.328s-0.702-17.076-2.016-25.326l431.004-215.502c29.092 30.090 69.852 48.828 115.012 48.828 88.366 0 160-71.634 160-160s-71.634-160-160-160-160 71.634-160 160c0 8.622 0.704 17.076 2.016 25.326l-431.004 215.504c-29.092-30.090-69.852-48.83-115.012-48.83-88.366 0-160 71.636-160 160 0 88.368 71.634 160 160 160 45.16 0 85.92-18.738 115.012-48.828l431.004 215.502c-1.312 8.25-2.016 16.704-2.016 25.326 0 88.368 71.634 160 160 160s160-71.632 160-160c0-88.364-71.634-160-160-160z" 164 | ], 165 | "tags": [ 166 | "share", 167 | "social" 168 | ], 169 | "grid": 16 170 | }, 171 | "properties": { 172 | "order": 7, 173 | "id": 351, 174 | "prevSize": 32, 175 | "code": 58886, 176 | "name": "share", 177 | "ligatures": "" 178 | }, 179 | "setIdx": 1, 180 | "iconIdx": 6 181 | }, 182 | { 183 | "icon": { 184 | "paths": [ 185 | "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256z" 186 | ], 187 | "tags": [ 188 | "search", 189 | "magnifier", 190 | "lookup", 191 | "find" 192 | ], 193 | "grid": 16 194 | }, 195 | "properties": { 196 | "order": 8, 197 | "id": 128, 198 | "prevSize": 32, 199 | "code": 58887, 200 | "name": "search", 201 | "ligatures": "" 202 | }, 203 | "setIdx": 1, 204 | "iconIdx": 7 205 | }, 206 | { 207 | "icon": { 208 | "paths": [ 209 | "M64 192h896v192h-896zM64 448h896v192h-896zM64 704h896v192h-896z" 210 | ], 211 | "tags": [ 212 | "menu", 213 | "list", 214 | "items", 215 | "lines", 216 | "options" 217 | ], 218 | "grid": 16 219 | }, 220 | "properties": { 221 | "order": 9, 222 | "id": 185, 223 | "prevSize": 32, 224 | "code": 58888, 225 | "name": "menu", 226 | "ligatures": "" 227 | }, 228 | "setIdx": 1, 229 | "iconIdx": 8 230 | }, 231 | { 232 | "icon": { 233 | "paths": [ 234 | "M852 0h-680c-94.6 0-172 77.4-172 172v680c0 94.6 77.4 172 172 172h680c94.6 0 172-77.4 172-172v-680c0-94.6-77.4-172-172-172zM384 832h-128v-448h128v448zM320 320c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM832 832h-128v-256c0-35.346-28.654-64-64-64s-64 28.654-64 64v256h-128v-448h128v79.472c26.398-36.264 66.752-79.472 112-79.472 79.53 0 144 71.634 144 160v288z" 235 | ], 236 | "tags": [ 237 | "linkedin", 238 | "social" 239 | ], 240 | "grid": 16 241 | }, 242 | "properties": { 243 | "order": 10, 244 | "id": 416, 245 | "prevSize": 32, 246 | "code": 58889, 247 | "name": "linkedin", 248 | "ligatures": "" 249 | }, 250 | "setIdx": 1, 251 | "iconIdx": 9 252 | }, 253 | { 254 | "icon": { 255 | "paths": [ 256 | "M896 128h-96v32c0 35.29-28.71 64-64 64s-64-28.71-64-64v-32h-320v32c0 35.29-28.71 64-64 64s-64-28.71-64-64v-32h-96c-35.2 0-64 28.8-64 64v704c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64v-704c0-35.2-28.8-64-64-64zM896 895.884c-0.034 0.040-0.076 0.082-0.116 0.116h-767.77c-0.040-0.034-0.082-0.076-0.114-0.116v-575.884h768v575.884zM288 192c17.672 0 32-14.328 32-32v-128c0-17.672-14.328-32-32-32s-32 14.328-32 32v128c0 17.672 14.328 32 32 32zM736 192c17.672 0 32-14.328 32-32v-128c0-17.672-14.328-32-32-32s-32 14.328-32 32v128c0 17.672 14.328 32 32 32zM576 384h-320v64h256v128h-256v64h256v128h-256v64h320zM704 832h64v-448h-128v64h64zM872 984h-720c-35.2 0-64-20.8-64-56v32c0 35.2 28.8 64 64 64h720c35.2 0 64-28.8 64-64v-32c0 35.2-28.8 56-64 56z" 257 | ], 258 | "tags": [ 259 | "calendar", 260 | "schedule", 261 | "date", 262 | "time", 263 | "day" 264 | ], 265 | "grid": 16 266 | }, 267 | "properties": { 268 | "order": 11, 269 | "id": 80, 270 | "prevSize": 32, 271 | "code": 58890, 272 | "name": "calendar", 273 | "ligatures": "" 274 | }, 275 | "setIdx": 1, 276 | "iconIdx": 10 277 | }, 278 | { 279 | "icon": { 280 | "paths": [ 281 | "M480 64c-265.096 0-480 214.904-480 480 0 265.098 214.904 480 480 480 265.098 0 480-214.902 480-480 0-265.096-214.902-480-480-480zM480 928c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384 0 212.078-171.922 384-384 384zM512 512v-128h128v-64h-128v-64h-64v64h-128v256h128v128h-128v64h128v64h64v-64h128.002l-0.002-256h-128zM448 512h-64v-128h64v128zM576.002 704h-64.002v-128h64.002v128z" 282 | ], 283 | "tags": [ 284 | "coin", 285 | "money", 286 | "cash" 287 | ], 288 | "grid": 16 289 | }, 290 | "properties": { 291 | "order": 12, 292 | "id": 57, 293 | "prevSize": 32, 294 | "code": 58891, 295 | "name": "coin", 296 | "ligatures": "" 297 | }, 298 | "setIdx": 1, 299 | "iconIdx": 11 300 | }, 301 | { 302 | "icon": { 303 | "paths": [ 304 | "M1024 429.256c0-200.926-58.792-363.938-131.482-365.226 0.292-0.006 0.578-0.030 0.872-0.030h-82.942c0 0-194.8 146.336-475.23 203.754-8.56 45.292-14.030 99.274-14.030 161.502 0 62.228 5.466 116.208 14.030 161.5 280.428 57.418 475.23 203.756 475.23 203.756h82.942c-0.292 0-0.578-0.024-0.872-0.032 72.696-1.288 131.482-164.298 131.482-365.224zM864.824 739.252c-9.382 0-19.532-9.742-24.746-15.548-12.63-14.064-24.792-35.96-35.188-63.328-23.256-61.232-36.066-143.31-36.066-231.124 0-87.81 12.81-169.89 36.066-231.122 10.394-27.368 22.562-49.266 35.188-63.328 5.214-5.812 15.364-15.552 24.746-15.552 9.38 0 19.536 9.744 24.744 15.552 12.634 14.064 24.796 35.958 35.188 63.328 23.258 61.23 36.068 143.312 36.068 231.122 0 87.804-12.81 169.888-36.068 231.124-10.39 27.368-22.562 49.264-35.188 63.328-5.208 5.806-15.36 15.548-24.744 15.548zM251.812 429.256c0-51.95 3.81-102.43 11.052-149.094-47.372 6.554-88.942 10.324-140.34 10.324-67.058 0-67.058 0-67.058 0l-55.466 94.686v88.17l55.46 94.686c0 0 0 0 67.060 0 51.398 0 92.968 3.774 140.34 10.324-7.236-46.664-11.048-97.146-11.048-149.096zM368.15 642.172l-127.998-24.51 81.842 321.544c4.236 16.634 20.744 25.038 36.686 18.654l118.556-47.452c15.944-6.376 22.328-23.964 14.196-39.084l-123.282-229.152zM864.824 548.73c-3.618 0-7.528-3.754-9.538-5.992-4.87-5.42-9.556-13.86-13.562-24.408-8.962-23.6-13.9-55.234-13.9-89.078 0-33.844 4.938-65.478 13.9-89.078 4.006-10.548 8.696-18.988 13.562-24.408 2.010-2.24 5.92-5.994 9.538-5.994 3.616 0 7.53 3.756 9.538 5.994 4.87 5.42 9.556 13.858 13.56 24.408 8.964 23.598 13.902 55.234 13.902 89.078 0 33.842-4.938 65.478-13.902 89.078-4.004 10.548-8.696 18.988-13.56 24.408-2.008 2.238-5.92 5.992-9.538 5.992z" 305 | ], 306 | "tags": [ 307 | "bullhorn", 308 | "megaphone", 309 | "announcement", 310 | "advertisement", 311 | "news" 312 | ], 313 | "grid": 16 314 | }, 315 | "properties": { 316 | "order": 13, 317 | "id": 28, 318 | "prevSize": 32, 319 | "code": 58892, 320 | "name": "bullhorn", 321 | "ligatures": "" 322 | }, 323 | "setIdx": 1, 324 | "iconIdx": 12 325 | } 326 | ], 327 | "height": 1024, 328 | "metadata": { 329 | "name": "icomoon" 330 | }, 331 | "preferences": { 332 | "showGlyphs": true, 333 | "showQuickUse": true, 334 | "fontPref": { 335 | "prefix": "icon-", 336 | "metadata": { 337 | "fontFamily": "icomoon" 338 | }, 339 | "metrics": { 340 | "emSize": 512, 341 | "baseline": 6.25, 342 | "whitespace": 50 343 | } 344 | }, 345 | "imagePref": {}, 346 | "historySize": 100, 347 | "showCodes": true, 348 | "search": "" 349 | } 350 | } -------------------------------------------------------------------------------- /assets/img/10up-icon-reversed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/10up-logo-full.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/img/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/img/coding-documentation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/img/coding-documentation.jpg -------------------------------------------------------------------------------- /assets/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/img/favicon.ico -------------------------------------------------------------------------------- /assets/img/page-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/10up/wp-local-docker-docs/f394b5f7e633e5b001f1b17a8f9d0e7fa4f635e2/assets/img/page-header.png -------------------------------------------------------------------------------- /assets/js/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Menu Toggle 3 | */ 4 | (function(window, undefined){ 5 | 6 | var document = window.document; 7 | 8 | document.querySelector('.js-mobile-expandable-toggle').addEventListener('click', toggleMenu); 9 | 10 | /** 11 | * Toggle the menu 12 | * Open if closed, close if opened. 13 | * Accomplished by adding and removing the class .is-open 14 | */ 15 | function toggleMenu(e) { 16 | 17 | var el = document.querySelector('.js-mobile-expandable'), 18 | className = 'is-open'; 19 | 20 | if (el.classList) { 21 | el.classList.toggle(className); 22 | } else { 23 | var classes = el.className.split(' '); 24 | var existingIndex = classes.indexOf(className); 25 | 26 | if (existingIndex >= 0) 27 | classes.splice(existingIndex, 1); 28 | else 29 | classes.push(className); 30 | 31 | el.className = classes.join(' '); 32 | } 33 | 34 | return false; 35 | 36 | } 37 | 38 | })(window); -------------------------------------------------------------------------------- /environments.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | page: environments 4 | title: Managing Environments 5 | nav: Environments 6 | group: navigation 7 | weight: 4 8 | layout: default 9 | --- 10 | 11 |
    12 | {% capture env %}{% include markdown/Environments.md %}{% endcapture %} 13 | {{ env | markdownify }} 14 |
    15 | -------------------------------------------------------------------------------- /global-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | page: global-commands 4 | title: Global Commands 5 | nav: Global Commands 6 | group: navigation 7 | weight: 3 8 | layout: default 9 | --- 10 | 11 |
    12 | {% capture global %}{% include markdown/GlobalCommands.md %}{% endcapture %} 13 | {{ global | markdownify }} 14 |
    15 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | page: introduction 4 | title: Introduction 5 | nav: Home 6 | group: navigation 7 | weight: 1 8 | layout: default 9 | --- 10 | 11 |
    12 | {% capture introduction %}{% include markdown/Introduction.md %}{% endcapture %} 13 | {{ introduction | markdownify }} 14 |
    15 | -------------------------------------------------------------------------------- /installation.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | page: installation 4 | title: Installation 5 | nav: Installation 6 | group: navigation 7 | weight: 2 8 | layout: default 9 | --- 10 | 11 |
    12 | {% capture installation %}{% include markdown/Installation.md %}{% endcapture %} 13 | {{ installation | markdownify }} 14 |
    15 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # WP Local Docker V2 Documentation 2 | 3 | > WP Local Docker documentation has been moved and is now available at https://github.com/10up/wp-local-docker-v2#readme. 4 | 5 | [![Support Level](https://img.shields.io/badge/support-active-green.svg)](#support-level) [![MIT License](https://img.shields.io/github/license/10up/wp-local-docker-docs.svg)](https://github.com/10up/wp-local-docker-docs/blob/master/LICENSE.md) 6 | 7 | ## Running Locally 8 | 9 | To render these docs locally, run: 10 | 11 | `docker run -it --rm -v "$PWD":/usr/src/app -p "4000:4000" cmmarslender/ghpages:latest` 12 | 13 | ## Download WP Local Docker 14 | 15 | You can visit the [GitHub repo for WP Local Docker](https://github.com/10up/wp-local-docker-v2) or [download WP Local Docker directly ☞](https://codeload.github.com/10up/wp-local-docker-v2/zip/master). 16 | 17 | ## Support Level 18 | 19 | **Active:** 10up is actively working on this, and we expect to continue work for the foreseeable future including keeping tested up to the most recent version of WordPress. Bug reports, feature requests, questions, and pull requests are welcome. 20 | 21 | ## Like what you see? 22 | 23 | Work with us at 10up 24 | -------------------------------------------------------------------------------- /tools.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | page: tools 4 | title: Tools 5 | nav: Tools 6 | group: navigation 7 | weight: 6 8 | layout: default 9 | --- 10 | 11 |
    12 | {% capture tools %}{% include markdown/Tools.md %}{% endcapture %} 13 | {{ tools | markdownify }} 14 |
    15 | -------------------------------------------------------------------------------- /wp-snapshots.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_to: https://github.com/10up/wp-local-docker-v2#readme 3 | page: wpsnapshots 4 | title: WP Snapshots 5 | nav: WP Snapshots 6 | group: navigation 7 | weight: 5 8 | layout: default 9 | --- 10 | 11 |
    12 | {% capture snap %}{% include markdown/WPSnapshots.md %}{% endcapture %} 13 | {{ snap | markdownify }} 14 |
    15 | --------------------------------------------------------------------------------