diff --git a/.gitignore b/.gitignore index dfa7ce428c38..5d9007f05d44 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ architecture/core_concepts/images/docker-diagram.png.cache dev_guide/builds/images/chained-build.png dev_guide/builds/images/chained-build.png.cache .DS_Store +.idea .venv .gem bin diff --git a/.s2i/httpd-cfg/01-commercial.conf b/.s2i/httpd-cfg/01-commercial.conf index 85dd44991ee4..c65f60612fc6 100644 --- a/.s2i/httpd-cfg/01-commercial.conf +++ b/.s2i/httpd-cfg/01-commercial.conf @@ -127,14 +127,82 @@ AddType text/vtt vtt # Redirects for "latest" version RewriteRule ^(container-platform|enterprise)/?$ /container-platform/latest [R=301] - RewriteRule ^(container-platform|enterprise)/latest/?(.*)$ /container-platform/3.9/$2 [NE,R=301] - RewriteRule ^(dedicated|online)/(3\.0|3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7|3\.9|latest)/?(.*)$ /$1/$3 [NE,R=301] + RewriteRule ^(container-platform|enterprise)/latest/?(.*)$ /container-platform/4\.3/$2 [NE,R=301] + RewriteRule ^(online)/(3\.0|3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7|3\.9|3\.10|3\.11|latest)/?(.*)$ /$1/pro/$3 [NE,R=301] - # Welcome page redirects - RewriteRule ^(online|dedicated)/?$ /$1/welcome/index.html [L,R=301] + # Service Mesh redirect from 3 to 4 + RewriteRule ^container-platform/3\.11/servicemesh-install/servicemesh-install.html$ /container-platform/4.3/service_mesh/service_mesh_install/preparing-ossm-installation.html [NE,R=301] + + # redirects for paths using dashes + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/web-console/?(.*)$ /container-platform/$1/web_console/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/networking/multiple-networks/?(.*)$ /container-platform/$1/networking/multiple_networks/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/networking/openshift-sdn/?(.*)$ /container-platform/$1/networking/openshift_sdn/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/networking/configuring-ingress-cluster-traffic/?(.*)$ /container-platform/$1/networking/configuring_ingress_cluster_traffic/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/storage/persistent-storage/?(.*)$ /container-platform/$1/storage/persistent_storage/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/registry/configuring-registry-storage/?(.*)$ /container-platform/$1/registry/configuring_registry_storage/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/operators/understanding-olm/?(.*)$ /container-platform/$1/operators/understanding_olm/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/openshift_images/managing-images/?(.*)$ /container-platform/$1/openshift_images/managing_images/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/applications/application-life-cycle-management/?(.*)$ /container-platform/$1/applications/application_life_cycle_management/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/monitoring/cluster-monitoring/?(.*)$ /container-platform/$1/monitoring/cluster_monitoring/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/metering/configuring-metering/?(.*)$ /container-platform/$1/metering/configuring_metering/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/migration/migrating-3-4/?(.*)$ /container-platform/$1/migration/migrating_3_4/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/migration/migrating-4_1-4/?(.*)$ /container-platform/$1/migration/migrating_4_1_4/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/migration/migrating-4_2-4/?(.*)$ /container-platform/$1/migration/migrating_4_2_4/$2 [NE,R=301] + + RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/cli_reference/helm-cli/?(.*)$ /container-platform/$1/cli_reference/helm_cli/$2 [NE,R=301] + + # CNV redirects for paths using dashes + RewriteRule ^container-platform/4\.3/cnv/(cnv_install|cnv-install)/cnv-about-cnv.html/?(.*)$ /container-platform/4.3/cnv/cnv-about-cnv.html [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-install/?(.*)$ /container-platform/4.3/cnv/cnv_install/$1 [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-release-notes/?(.*)$ /container-platform/4.3/cnv/cnv_release_notes/$1 [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-virtual-machines/?(.*)$ /container-platform/4.3/cnv/cnv_virtual_machines/$1 [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-vm-templates/?(.*)$ /container-platform/4.3/cnv/cnv_vm_templates/$1 [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-live-migration/?(.*)$ /container-platform/4.3/cnv/cnv_live_migration/$1 [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-node-maintenance/?(.*)$ /container-platform/4.3/cnv/cnv_node_maintenance/$1 [NE,R=301] + + RewriteRule ^container-platform/4\.3/cnv/cnv-logging-events-monitoring/?(.*)$ /container-platform/4.3/cnv/cnv_logging_events_monitoring/$1 [NE,R=301] + + # Redirect for OSD 4.1 to OSD 4 + RewriteRule ^dedicated/4\.1/(.*)$ /dedicated/4/$1 [NE,R=301] + + # Redirect for OSD latest and version less to OSD 3 - this will change when there is no OSD 3 and go to OSD 4 + # Use "/latest" in it's own rule to prevent any ambiguity + RewriteRule ^dedicated/latest/?(.*)$ /dedicated/3/$1 [NE,R=301] + # Use a negative lookahead to prevent matching a dedicated URL that already contains "3/" or "4/" + # Lookaheads are non-capturing, so they don't affect the $N numbering + RewriteRule ^dedicated/(?!3/|4/)(.*)$ /dedicated/3/$1 [NE,R=301] + + # Welcome page redirects - could probably be reg exed better by a regex guru + RewriteRule ^online/?$ /online/welcome/index.html [L,R=301] + RewriteRule ^dedicated/(3|4)/?$ /dedicated/$1/welcome/index.html [L,R=301] RewriteRule ^enterprise/(3\.0|3\.1|3\.2)/?$ /enterprise/$1/welcome/index.html [L,R=301] RewriteRule ^enterprise/3\.3/?$ /container-platform/3.3/welcome/index.html [L,R=301] - RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7|3\.9)/?$ /container-platform/$1/welcome/index.html [L,R=301] + RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7|3\.9|3\.10|3\.11|4\.1|4\.2)/?$ /container-platform/$1/welcome/index.html [L,R=301] + + # Redirects for 4.1 + RewriteRule ^container-platform/4\.1/disaster_recovery/backing-up-etcd\.html(.*)$ container-platform/4.1/backup_and_restore/backing-up-etcd.html [L,R=301] + RewriteRule ^container-platform/4\.1/disaster_recovery/scenario-1-infra-recovery\.html(.*)$ container-platform/4.1/backup_and_restore/disaster_recovery/scenario-1-infra-recovery.html [L,R=301] + RewriteRule ^container-platform/4\.1/disaster_recovery/scenario-2-restoring-cluster-state\.html(.*)$ container-platform/4.1/backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.html [L,R=301] + RewriteRule ^container-platform/4\.1/disaster_recovery/scenario-3-expired-certs\.html(.*)$ container-platform/4.1/backup_and_restore/disaster_recovery/scenario-3-expired-certs.html [L,R=301] # Overview page has moved to Index page RewriteRule ^(.*)/overview\.html(.*)$ /$1/index.html$2 [NE,L,R=301] @@ -217,6 +285,11 @@ AddType text/vtt vtt RewriteRule ^container-platform/(3\.7)/install_config/upgrades\.html(.*)$ /container-platform/$1/upgrading/index.html$2 [NE,R=301] RewriteRule ^container-platform/(3\.7)/install_config/upgrading/(.*)$ /container-platform/$1/upgrading/$2 [NE,R=301] RewriteRule ^container-platform/(3\.7)/install_config/downgrade\.html /container-platform/3\.7/upgrading/downgrade.html [NE,R=301] + RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7|3\.9)/install_config/advanced_ldap_configuration/(.*)$ /container-platform/$1/install_config/sssd_for_ldap_failover.html [L,R=301] + + # OCP 4.1 redirects + RewriteRule ^container-platform/4\.1/installing/installing_aws_upi/installing-aws-upi\.html /container-platform/4\.1/installing/installing_aws/installing-aws-user-infra.html [NE,R=301] + diff --git a/.travis.yml b/.travis.yml index eb788e599e21..421c9e8214e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,27 +1,19 @@ language: python -python: - - 2.7 cache: pip sudo: required before_install: - - sudo gem install asciidoctor -v 1.5.4 - - sudo gem install asciidoctor-diagram -v 1.5.4 + - gem install asciidoctor + - gem install asciidoctor-diagram install: - - pip install pyyaml - - pip install aura.tar.gz + - pip3 install pyyaml + - pip3 install aura.tar.gz script: - - python build.py --distro openshift-enterprise --product "OpenShift Container Platform" --version 3 --no-upstream-fetch - - if [ "$TRAVIS_BRANCH" == "enterprise-3.9" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.10" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.11" ]; then python build.py --distro openshift-online --product "OpenShift Container Platform" --version 3 --no-upstream-fetch; fi - - if [ "$TRAVIS_BRANCH" == "enterprise-3.9" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.10" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.11" ]; then python build.py --distro openshift-dedicated --product "OpenShift Container Platform" --version 3 --no-upstream-fetch; fi - - python makeBuild.py + - python3 build.py --distro openshift-enterprise --product "OpenShift Container Platform" --version 4.7 --no-upstream-fetch && python3 makeBuild.py after_success: - - bash autopreview.sh - -after_failure: - - bash autocomment.sh +- bash ./automerge.sh diff --git a/404-commercial.html b/404-commercial.html index 26221136f7dd..e02edbf735fb 100644 --- a/404-commercial.html +++ b/404-commercial.html @@ -186,7 +186,7 @@

Not found

-

Copyright © 2019 Red Hat, Inc.

+

Copyright © 2021 Red Hat, Inc.

diff --git a/LICENSE b/LICENSE index 3a287cc1c0a3..261eeb9e9f8b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,9 +1,3 @@ -OpenShift documentation is licensed under the Apache License 2.0 or, -alternatively, under the Creative Commons Attribution-ShareAlike 3.0 -Unported license. - - - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -205,365 +199,3 @@ Unported license. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - - - -Creative Commons Legal Code - -Attribution-ShareAlike 3.0 Unported - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR - DAMAGES RESULTING FROM ITS USE. - -License - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE -COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY -COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS -AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE -TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY -BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS -CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND -CONDITIONS. - -1. Definitions - - a. "Adaptation" means a work based upon the Work, or upon the Work and - other pre-existing works, such as a translation, adaptation, - derivative work, arrangement of music or other alterations of a - literary or artistic work, or phonogram or performance and includes - cinematographic adaptations or any other form in which the Work may be - recast, transformed, or adapted including in any form recognizably - derived from the original, except that a work that constitutes a - Collection will not be considered an Adaptation for the purpose of - this License. For the avoidance of doubt, where the Work is a musical - work, performance or phonogram, the synchronization of the Work in - timed-relation with a moving image ("synching") will be considered an - Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as - encyclopedias and anthologies, or performances, phonograms or - broadcasts, or other works or subject matter other than works listed - in Section 1(f) below, which, by reason of the selection and - arrangement of their contents, constitute intellectual creations, in - which the Work is included in its entirety in unmodified form along - with one or more other contributions, each constituting separate and - independent works in themselves, which together are assembled into a - collective whole. A work that constitutes a Collection will not be - considered an Adaptation (as defined below) for the purposes of this - License. - c. "Creative Commons Compatible License" means a license that is listed - at https://creativecommons.org/compatiblelicenses that has been - approved by Creative Commons as being essentially equivalent to this - License, including, at a minimum, because that license: (i) contains - terms that have the same purpose, meaning and effect as the License - Elements of this License; and, (ii) explicitly permits the relicensing - of adaptations of works made available under that license under this - License or a Creative Commons jurisdiction license with the same - License Elements as this License. - d. "Distribute" means to make available to the public the original and - copies of the Work or Adaptation, as appropriate, through sale or - other transfer of ownership. - e. "License Elements" means the following high-level license attributes - as selected by Licensor and indicated in the title of this License: - Attribution, ShareAlike. - f. "Licensor" means the individual, individuals, entity or entities that - offer(s) the Work under the terms of this License. - g. "Original Author" means, in the case of a literary or artistic work, - the individual, individuals, entity or entities who created the Work - or if no individual or entity can be identified, the publisher; and in - addition (i) in the case of a performance the actors, singers, - musicians, dancers, and other persons who act, sing, deliver, declaim, - play in, interpret or otherwise perform literary or artistic works or - expressions of folklore; (ii) in the case of a phonogram the producer - being the person or legal entity who first fixes the sounds of a - performance or other sounds; and, (iii) in the case of broadcasts, the - organization that transmits the broadcast. - h. "Work" means the literary and/or artistic work offered under the terms - of this License including without limitation any production in the - literary, scientific and artistic domain, whatever may be the mode or - form of its expression including digital form, such as a book, - pamphlet and other writing; a lecture, address, sermon or other work - of the same nature; a dramatic or dramatico-musical work; a - choreographic work or entertainment in dumb show; a musical - composition with or without words; a cinematographic work to which are - assimilated works expressed by a process analogous to cinematography; - a work of drawing, painting, architecture, sculpture, engraving or - lithography; a photographic work to which are assimilated works - expressed by a process analogous to photography; a work of applied - art; an illustration, map, plan, sketch or three-dimensional work - relative to geography, topography, architecture or science; a - performance; a broadcast; a phonogram; a compilation of data to the - extent it is protected as a copyrightable work; or a work performed by - a variety or circus performer to the extent it is not otherwise - considered a literary or artistic work. - i. "You" means an individual or entity exercising rights under this - License who has not previously violated the terms of this License with - respect to the Work, or who has received express permission from the - Licensor to exercise rights under this License despite a previous - violation. - j. "Publicly Perform" means to perform public recitations of the Work and - to communicate to the public those public recitations, by any means or - process, including by wire or wireless means or public digital - performances; to make available to the public Works in such a way that - members of the public may access these Works from a place and at a - place individually chosen by them; to perform the Work to the public - by any means or process and the communication to the public of the - performances of the Work, including by public digital performance; to - broadcast and rebroadcast the Work by any means including signs, - sounds or images. - k. "Reproduce" means to make copies of the Work by any means including - without limitation by sound or visual recordings and the right of - fixation and reproducing fixations of the Work, including storage of a - protected performance or phonogram in digital form or other electronic - medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, -limit, or restrict any uses free from copyright or rights arising from -limitations or exceptions that are provided for in connection with the -copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, -Licensor hereby grants You a worldwide, royalty-free, non-exclusive, -perpetual (for the duration of the applicable copyright) license to -exercise the rights in the Work as stated below: - - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the - Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, - including any translation in any medium, takes reasonable steps to - clearly label, demarcate or otherwise identify that changes were made - to the original Work. For example, a translation could be marked "The - original work was translated from English to Spanish," or a - modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated - in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - - i. Non-waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme cannot be waived, the Licensor - reserves the exclusive right to collect such royalties for any - exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives the - exclusive right to collect such royalties for any exercise by You - of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to - collect royalties, whether individually or, in the event that the - Licensor is a member of a collecting society that administers - voluntary licensing schemes, via that society, from any exercise - by You of the rights granted under this License. - -The above rights may be exercised in all media and formats whether now -known or hereafter devised. The above rights include the right to make -such modifications as are technically necessary to exercise the rights in -other media and formats. Subject to Section 8(f), all rights not expressly -granted by Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made -subject to and limited by the following restrictions: - - a. You may Distribute or Publicly Perform the Work only under the terms - of this License. You must include a copy of, or the Uniform Resource - Identifier (URI) for, this License with every copy of the Work You - Distribute or Publicly Perform. You may not offer or impose any terms - on the Work that restrict the terms of this License or the ability of - the recipient of the Work to exercise the rights granted to that - recipient under the terms of the License. You may not sublicense the - Work. You must keep intact all notices that refer to this License and - to the disclaimer of warranties with every copy of the Work You - Distribute or Publicly Perform. When You Distribute or Publicly - Perform the Work, You may not impose any effective technological - measures on the Work that restrict the ability of a recipient of the - Work from You to exercise the rights granted to that recipient under - the terms of the License. This Section 4(a) applies to the Work as - incorporated in a Collection, but this does not require the Collection - apart from the Work itself to be made subject to the terms of this - License. If You create a Collection, upon notice from any Licensor You - must, to the extent practicable, remove from the Collection any credit - as required by Section 4(c), as requested. If You create an - Adaptation, upon notice from any Licensor You must, to the extent - practicable, remove from the Adaptation any credit as required by - Section 4(c), as requested. - b. You may Distribute or Publicly Perform an Adaptation only under the - terms of: (i) this License; (ii) a later version of this License with - the same License Elements as this License; (iii) a Creative Commons - jurisdiction license (either this or a later license version) that - contains the same License Elements as this License (e.g., - Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible - License. If you license the Adaptation under one of the licenses - mentioned in (iv), you must comply with the terms of that license. If - you license the Adaptation under the terms of any of the licenses - mentioned in (i), (ii) or (iii) (the "Applicable License"), you must - comply with the terms of the Applicable License generally and the - following provisions: (I) You must include a copy of, or the URI for, - the Applicable License with every copy of each Adaptation You - Distribute or Publicly Perform; (II) You may not offer or impose any - terms on the Adaptation that restrict the terms of the Applicable - License or the ability of the recipient of the Adaptation to exercise - the rights granted to that recipient under the terms of the Applicable - License; (III) You must keep intact all notices that refer to the - Applicable License and to the disclaimer of warranties with every copy - of the Work as included in the Adaptation You Distribute or Publicly - Perform; (IV) when You Distribute or Publicly Perform the Adaptation, - You may not impose any effective technological measures on the - Adaptation that restrict the ability of a recipient of the Adaptation - from You to exercise the rights granted to that recipient under the - terms of the Applicable License. This Section 4(b) applies to the - Adaptation as incorporated in a Collection, but this does not require - the Collection apart from the Adaptation itself to be made subject to - the terms of the Applicable License. - c. If You Distribute, or Publicly Perform the Work or any Adaptations or - Collections, You must, unless a request has been made pursuant to - Section 4(a), keep intact all copyright notices for the Work and - provide, reasonable to the medium or means You are utilizing: (i) the - name of the Original Author (or pseudonym, if applicable) if supplied, - and/or if the Original Author and/or Licensor designate another party - or parties (e.g., a sponsor institute, publishing entity, journal) for - attribution ("Attribution Parties") in Licensor's copyright notice, - terms of service or by other reasonable means, the name of such party - or parties; (ii) the title of the Work if supplied; (iii) to the - extent reasonably practicable, the URI, if any, that Licensor - specifies to be associated with the Work, unless such URI does not - refer to the copyright notice or licensing information for the Work; - and (iv) , consistent with Ssection 3(b), in the case of an - Adaptation, a credit identifying the use of the Work in the Adaptation - (e.g., "French translation of the Work by Original Author," or - "Screenplay based on original Work by Original Author"). The credit - required by this Section 4(c) may be implemented in any reasonable - manner; provided, however, that in the case of a Adaptation or - Collection, at a minimum such credit will appear, if a credit for all - contributing authors of the Adaptation or Collection appears, then as - part of these credits and in a manner at least as prominent as the - credits for the other contributing authors. For the avoidance of - doubt, You may only use the credit required by this Section for the - purpose of attribution in the manner set out above and, by exercising - Your rights under this License, You may not implicitly or explicitly - assert or imply any connection with, sponsorship or endorsement by the - Original Author, Licensor and/or Attribution Parties, as appropriate, - of You or Your use of the Work, without the separate, express prior - written permission of the Original Author, Licensor and/or Attribution - Parties. - d. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute or - Publicly Perform the Work either by itself or as part of any - Adaptations or Collections, You must not distort, mutilate, modify or - take other derogatory action in relation to the Work which would be - prejudicial to the Original Author's honor or reputation. Licensor - agrees that in those jurisdictions (e.g. Japan), in which any exercise - of the right granted in Section 3(b) of this License (the right to - make Adaptations) would be deemed to be a distortion, mutilation, - modification or other derogatory action prejudicial to the Original - Author's honor and reputation, the Licensor will waive or not assert, - as appropriate, this Section, to the fullest extent permitted by the - applicable national law, to enable You to reasonably exercise Your - right under Section 3(b) of this License (right to make Adaptations) - but not otherwise. - -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR -OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY -KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, -INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, -FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF -LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, -WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION -OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE -LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR -ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES -ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - - a. This License and the rights granted hereunder will terminate - automatically upon any breach by You of the terms of this License. - Individuals or entities who have received Adaptations or Collections - from You under this License, however, will not have their licenses - terminated provided such individuals or entities remain in full - compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will - survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is - perpetual (for the duration of the applicable copyright in the Work). - Notwithstanding the above, Licensor reserves the right to release the - Work under different license terms or to stop distributing the Work at - any time; provided, however that any such election will not serve to - withdraw this License (or any other license that has been, or is - required to be, granted under the terms of this License), and this - License will continue in full force and effect unless terminated as - stated above. - -8. Miscellaneous - - a. Each time You Distribute or Publicly Perform the Work or a Collection, - the Licensor offers to the recipient a license to the Work on the same - terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor - offers to the recipient a license to the original Work on the same - terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of - the remainder of the terms of this License, and without further action - by the parties to this agreement, such provision shall be reformed to - the minimum extent necessary to make such provision valid and - enforceable. - d. No term or provision of this License shall be deemed waived and no - breach consented to unless such waiver or consent shall be in writing - and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with - respect to the Work licensed here. There are no understandings, - agreements or representations with respect to the Work not specified - here. Licensor shall not be bound by any additional provisions that - may appear in any communication from You. This License may not be - modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this - License were drafted utilizing the terminology of the Berne Convention - for the Protection of Literary and Artistic Works (as amended on - September 28, 1979), the Rome Convention of 1961, the WIPO Copyright - Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 - and the Universal Copyright Convention (as revised on July 24, 1971). - These rights and subject matter take effect in the relevant - jurisdiction in which the License terms are sought to be enforced - according to the corresponding provisions of the implementation of - those treaty provisions in the applicable national law. If the - standard suite of rights granted under applicable copyright law - includes additional rights not granted under this License, such - additional rights are deemed to be included in the License; this - License is not intended to restrict the license of any rights under - applicable law. - - -Creative Commons Notice - - Creative Commons is not a party to this License, and makes no warranty - whatsoever in connection with the Work. Creative Commons will not be - liable to You or any party on any legal theory for any damages - whatsoever, including without limitation any general, special, - incidental or consequential damages arising in connection to this - license. Notwithstanding the foregoing two (2) sentences, if Creative - Commons has expressly identified itself as the Licensor hereunder, it - shall have all rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the - Work is licensed under the CCPL, Creative Commons does not authorize - the use by either party of the trademark "Creative Commons" or any - related trademark or logo of Creative Commons without the prior - written consent of Creative Commons. Any permitted use will be in - compliance with Creative Commons' then-current trademark usage - guidelines, as may be published on its website or otherwise made - available upon request from time to time. For the avoidance of doubt, - this trademark restriction does not form part of the License. - - Creative Commons may be contacted at https://creativecommons.org/. diff --git a/README.adoc b/README.adoc index a599a824e424..6b28832b950e 100644 --- a/README.adoc +++ b/README.adoc @@ -1,3 +1,3 @@ = OpenShift Documentation -Welcome to the OpenShift documentation GitHub repository. To contribute to OpenShift docs, see https://github.com/openshift/openshift-docs/blob/enterprise-4.1/contributing_to_docs/contributing.adoc +Welcome to the OpenShift documentation GitHub repository. To contribute to OpenShift docs, see https://github.com/openshift/openshift-docs/blob/master/contributing_to_docs/contributing.adoc diff --git a/_images/commercial-masthead.jpg b/_images/commercial-masthead.jpg new file mode 100644 index 000000000000..5793b3ae44f9 Binary files /dev/null and b/_images/commercial-masthead.jpg differ diff --git a/_images/okd_logo.svg b/_images/okd_logo.svg new file mode 100644 index 000000000000..8e470cee0e9a --- /dev/null +++ b/_images/okd_logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/_javascripts/clipboard.js b/_javascripts/clipboard.js new file mode 100644 index 000000000000..7e8a14fb4ad5 --- /dev/null +++ b/_javascripts/clipboard.js @@ -0,0 +1,47 @@ +// This file runs the Clipboard.js functionality +document.querySelectorAll('div.listingblock, div.literalblock').forEach((codeblock, index) => { + codeblock.getElementsByTagName('pre')[0].insertAdjacentHTML("beforebegin", "

"); + document.getElementsByTagName('pre')[index].setAttribute('id',`clipboard-${index}`); +}); + +document.querySelectorAll('span.clipboard-button').forEach((copybutton, index) => { + copybutton.setAttribute('data-clipboard-target',`#clipboard-${index}`); +}); + +var clipboard = new ClipboardJS('.clipboard-button', { + text: function(target) { + const targetId = target.getAttribute('data-clipboard-target').substr(1); + const clipboardText = document.getElementById(targetId).innerText.replace(/\$[ ]/g, ""); + + if (clipboardText.slice(0, 2) === "# ") { + return clipboardText.substr(2); + } + + if (clipboardText.slice(0,5) === "sh-4.") { + return clipboardText.substr(8) + } + + return clipboardText; + } +}); + +clipboard.on("success", function (e) { + const triggerId = e.trigger.getAttribute("data-clipboard-target").substr(1); + const triggerNode = document.getElementById(triggerId); + + const selection = window.getSelection(); + selection.removeAllRanges(); + + const range = document.createRange(); + range.selectNodeContents(triggerNode); + selection.addRange(range); + + e.trigger.classList.toggle("fa-clipboard"); + e.trigger.classList.toggle("fa-check"); + + setTimeout(function () { + e.clearSelection(); + e.trigger.classList.toggle("fa-clipboard"); + e.trigger.classList.toggle("fa-check"); + }, 2000); +}); diff --git a/_javascripts/collapsible.js b/_javascripts/collapsible.js new file mode 100644 index 000000000000..0a43b90aa210 --- /dev/null +++ b/_javascripts/collapsible.js @@ -0,0 +1,36 @@ +const collapsibleButtonHTML = "
Collapse all
"; + +const collapsibleDetails = document.getElementsByTagName("details"); + +for (var i=0; i < collapsibleDetails.length; i++) { + collapsibleDetails[i].insertAdjacentHTML('beforebegin', collapsibleButtonHTML); +} + +function collapseExpandAll() { + const collapseExpandButtons = document.getElementsByClassName("button-collapse-expand"); + const collapsibleTooltip = document.getElementsByClassName("span-collapse-expand-all"); + + if (collapsibleTooltip[0].innerHTML == "Collapse all") { + for (var i=0; i < collapsibleDetails.length; i++) { + collapsibleDetails[i].removeAttribute("open"); + } + for (var j=0; j < collapsibleTooltip.length; j++) { + collapsibleTooltip[j].innerHTML = "Expand all"; + } + for (var k=0; k < collapseExpandButtons.length; k++) { + collapseExpandButtons[k].classList.remove("fa-angle-double-up"); + collapseExpandButtons[k].classList.add("fa-angle-double-down"); + } + } else { + for (var i=0; i < collapsibleDetails.length; i++) { + collapsibleDetails[i].setAttribute("open", ""); + } + for (var j=0; j < collapsibleTooltip.length; j++) { + collapsibleTooltip[j].innerHTML = "Collapse all"; + } + for (var k=0; k < collapseExpandButtons.length; k++) { + collapseExpandButtons[k].classList.remove("fa-angle-double-down"); + collapseExpandButtons[k].classList.add("fa-angle-double-up"); + } + } +} diff --git a/_javascripts/hc-search.js b/_javascripts/hc-search.js index ef2a386081e3..1cebb10febaa 100644 --- a/_javascripts/hc-search.js +++ b/_javascripts/hc-search.js @@ -1,51 +1,107 @@ function hcSearchCategory(label, version) { // optional version filters search results for a single specific product version -// currently can be used with OCP and Origin only +// currently can be used with OCP and OKD docs only - var modalSearch = document.getElementById("hc-search-modal"); - var searchBtn = document.getElementById("hc-search-btn"); - var closeModal = document.getElementById("hc-modal-close"); - var searchResults = document.getElementById("hc-search-results"); - var query = document.getElementById("hc-search-input"); + // elements used repeatedly: + var modalSearch = $("#hc-search-modal"); + var searchBtn = $("#hc-search-btn"); + var closeModal = $("#hc-modal-close"); + var query = $("#hc-search-input"); // pressing enter in the input = search btn click - query.addEventListener("keyup", function(event) { + query.keyup( function(event) { event.preventDefault(); if (event.keyCode == 13) { searchBtn.click(); } }); - //prepare iframe (without source) - var iframe = document.createElement("iframe"); - iframe.frameBorder=0; - iframe.width="100%"; - iframe.height=0.7*window.innerHeight; - iframe.id="search-result-iframe"; - - // open the modal and finalize the iframe on click - searchBtn.onclick = function() { - if (query.value) { - modalSearch.style.display = "block"; - // limit search to a signle version, if specified - var urlFilter = (typeof version === "undefined" || version == "Branch Build") ? "" : (" url:*\\/" + version + "\\/*"); - var iframeSrc = "https://help.openshift.com/customsearch.html?q=" + - encodeURIComponent(query.value) + - encodeURIComponent(urlFilter) + - "&l=" + encodeURIComponent(label); - iframe.setAttribute("src", iframeSrc); - searchResults.appendChild(iframe); + // open the modal and fetch the first set of results on click + searchBtn.click(function() { + if (query.val()) { + // remove any results from previous searches + $("#hc-search-results").empty(); + var searchParams = { + si: 0, + q: query.val(), + label: label, + urlFilter: (typeof version === "undefined" || version == "Branch Build") ? "" : (" url:*\\/" + version + "\\/*") + }; + // work around the current OKD-specific version=4 and URL discrepancy + if (window.location.href.includes("docs.okd.io/latest/") && version == 4) searchParams.urlFilter = " url:*\\/latest\\/*" + modalSearch.show(); + hcsearch(searchParams); + } + }); + + // hide search modal by 'X' or by clicking outside of the modal + closeModal.click(function() { + modalSearch.hide(); + }); + $(window).click(function(event) { + if ($(event.target).is(modalSearch)) { + modalSearch.hide(); } - } + }); +} // hcSearchCategory(label, version) + +// fetch search results +function hcsearch(searchParams) { + // elements used repeatedly + var hcMoreBtn = $("#hc-search-more-btn"); + var hcSearchIndicator = $("#hc-search-progress-indicator"); + var hcSearchResult = $("#hc-search-results"); - // hide search modal - closeModal.onclick = function() { - modalSearch.style.display = "none"; - } + // the "searchprovider" is to return a JSON response in the expected format + var searchprovider = "https://search.help.openshift.com/json"; + var searchReq = { "q" : searchParams.q + searchParams.urlFilter, + "fields.label" : searchParams.label, + "start" : searchParams.si } - window.onclick = function(event) { - if (event.target == modalSearch) { - modalSearch.style.display = "none"; + hcMoreBtn.hide(); + hcSearchIndicator.show(); + $.get(searchprovider, searchReq).done(function (hcsearchresults) { + // GET success + if (hcsearchresults == "") { + // success, but no response (response code mismatch) + $("#hc-search-result").append("

An error occurred while retrieving search results. Please try again later.

"); + hcSearchIndicator.hide(); } - } -} // hcSearchCategory(label) + if (hcsearchresults.response.result) { + // if there are any results + $(hcsearchresults.response.result).each(function () { + var row = '
' + this.title + ''; + row += '

' + this.content_description.replace(/\/g, ' ') + '

'; + hcSearchResult.append(row); + }); + if (hcsearchresults.response.page_number < hcsearchresults.response.page_count) { + // if there are more results beyond the retrieved ones + // index of the first item on the next page (first item = 0, first page = 1) + searchParams.si = hcsearchresults.response.page_number * hcsearchresults.response.page_size; + // replace any existing click handler with one to fetch the next set of results + hcMoreBtn.off('click'); + hcMoreBtn.click(function() { + hcsearch(searchParams); + }); + hcMoreBtn.show(); + } else { + // no more results beyond the retrieved ones + hcSearchResult.append("

No more results.

"); + } + } else { + if (searchParams.si > 0) { + // no results reurned, but some already displayed + hcSearchResult.append("

No more results.

"); + } else { + // no results on initial search + hcSearchResult.append("

No results found. Try rewording your search.

"); + } + } + hcSearchIndicator.hide(); + }).fail(function(response) { + // GET error + hcSearchResult.append("

An error occurred while retrieving search results. Please try again later.

"); + hcSearchIndicator.hide(); + }); +} // function hcsearch() \ No newline at end of file diff --git a/_javascripts/page-loader.js b/_javascripts/page-loader.js index bc0a643d8f39..6c8f16e1e30e 100644 --- a/_javascripts/page-loader.js +++ b/_javascripts/page-loader.js @@ -48,26 +48,100 @@ function versionSelector(list) { } +// sets the current version in the drop down and sets up suggest an edit options function selectVersion(currentVersion) { + + // currentVersion = "3.11"; // for testing + + // set the version selector to what the current version is var el = document.getElementById("version-selector"); if(el) { el.value = currentVersion; } - // alert(currentVersion); - - // in enterprise branch 4, we have modules and this is an attempt to load the - // modules by double clicking on them. - if(currentVersion.charAt(0) === "4") { - var element = document.getElementsByTagName('h2'); - Object.entries(element).map(( object ) => { - object[1].addEventListener("dblclick", function() { - // alert(this.id); - // alert(this.id.split("_", 1)[0] + ".adoc"); - var fn = this.id.split("_", 1)[0] + ".adoc"; - window.open("https://github.com/openshift/openshift-docs/tree/enterprise-" + - currentVersion + "/modules/" + fn, "_new"); + + // the rest creates an suggest an edit element for h1 and h2 elements + + // only enabled at the moment on the 3.11 docs + if(currentVersion != "3.11") return; + + var is3 = (currentVersion.charAt(0) == 3); + var is4 = (currentVersion.charAt(0) == 4); + + // in version 4 and version 3 books are put together differently. In 3, + // the WYSIWYG (mostly) and there are not many includes. In 4, everything + // (mostly) is an include and the wrapper is just an assembly. + + // in version 3, there are generally no modules, and the page you are on, is + // the page you will edit, so the logic is a bit different. + + // there is always just one h1 whether you are on version 4 or 3. + // In 4, this is the main assembly, in 3, this is the file to edit. + // in version 4 it assumes that the h2 section's id is correctly named as per the file that it resides in. This is the convention. + + // we start with adding suggest an edit to the main assembly/file + var h1s = document.getElementsByTagName('h1'); + var h1 = h1s[0]; // there is only one ever + + // main file to edit is the file path after the version to the html at + // the end. + // Example: https://docs.openshift.com/container-platform/4.4/updating/updating-cluster-between-minor.html + // file path is updating/updating-cluster-between-minor.adoc + + mainFileToEdit = + window.location.pathname.substring( + window.location.pathname.lastIndexOf(currentVersion) + + currentVersion.length, window.location.pathname.length - 4); + + // rest api is put together automatically, so ignore + if(mainFileToEdit.includes("rest_api")) return; + + var fn = mainFileToEdit + "adoc"; // add adoc to file name + + var message = "message=[Suggested Edit] for " + fn + "' target='_new' id='" + fn + "' style='font-size: x-small; display: inline; visibility: hidden'>Suggest an edit"; + + // in 4, edit the file in master, so it can cped to the right places. In 3, + // edit in the branch + h1.innerHTML += " "; + + // add mouseover and out to the h2 tag to show or hide the link + // in 4, the h2 also has an 'a' tag already, so the tag we are looking for + // here is the second one ([1] and not [0]) + h2.addEventListener("mouseover", function() { + this.getElementsByTagName('a')[1].style.visibility = "visible"; }); - }); - } + h2.addEventListener("mouseout", function() { + this.getElementsByTagName('a')[1].style.visibility = "hidden"; + }); + } + } } diff --git a/_snippets/glusterfs.adoc b/_snippets/glusterfs.adoc index 84f5371154d6..bb6b2cbe2acc 100644 --- a/_snippets/glusterfs.adoc +++ b/_snippets/glusterfs.adoc @@ -17,7 +17,7 @@ How to use this file: :gluster-install-link: https://docs.gluster.org/en/latest/Install-Guide/Overview/ :gluster-admin-link: https://docs.gluster.org/en/latest/Administrator%20Guide/overview/ :gluster-role-link: https://github.com/openshift/openshift-ansible/tree/master/roles/openshift_storage_glusterfs -ifdef::openshift-enterprise[] +ifdef::openshift-enterprise,openshift-webscale[] :gluster: Red Hat Gluster Storage :gluster-native: Container-Native Storage :gluster-external: Container-Ready Storage diff --git a/_stylesheets/autumn.css b/_stylesheets/autumn.css new file mode 100644 index 000000000000..ed9090448b2a --- /dev/null +++ b/_stylesheets/autumn.css @@ -0,0 +1,67 @@ +/* From https://maxchadwick.xyz/pygments-high-contrast-stylesheets/ */ +.highlight .hll { background-color: #ffffcc; } +.highlight { background: #ffffff; } +.highlight .c { font-style: italic; color: #747474; } +.highlight .err { background-color: #FFAAAA; color: #a00000; } +.highlight .k { color: #0000aa; } +.highlight .ch { font-style: italic; color: #747474; } +.highlight .cm { font-style: italic; color: #747474; } +.highlight .cp { color: #4c8317; } +.highlight .cpf { font-style: italic; color: #747474; } +.highlight .c1 { font-style: italic; color: #747474; } +.highlight .cs { color: #0000aa; font-style: italic; } +.highlight .gd { color: #aa0000; } +.highlight .ge { font-style: italic; } +.highlight .gr { color: #aa0000; } +.highlight .gh { color: #000080; font-weight: bold; } +.highlight .gi { color: #008700; } +.highlight .go { color: #707070; } +.highlight .gp { color: #555555; } +.highlight .gs { font-weight: bold; } +.highlight .gu { color: #800080; font-weight: bold; } +.highlight .gt { color: #aa0000; } +.highlight .kc { color: #0000aa; } +.highlight .kd { color: #0000aa; } +.highlight .kn { color: #0000aa; } +.highlight .kp { color: #0000aa; } +.highlight .kr { color: #0000aa; } +.highlight .kt { color: #008282; } +.highlight .m { color: #008080; } +.highlight .s { color: #aa5500; } +.highlight .na { color: #0072eb; } +.highlight .nb { color: #008282; } +.highlight .nc { text-decoration: underline; color: #008700; } +.highlight .no { color: #aa0000; } +.highlight .nd { color: #767676; } +.highlight .ni { color: #880000; font-weight: bold; } +.highlight .nf { color: #008700; } +.highlight .nn { text-decoration: underline; color: #008282; } +.highlight .nt { font-weight: bold; color: #0072eb; } +.highlight .nv { color: #aa0000; } +.highlight .ow { color: #0000aa; } +.highlight .w { color: #767676; } +.highlight .mb { color: #008080; } +.highlight .mf { color: #008080; } +.highlight .mh { color: #008080; } +.highlight .mi { color: #008080; } +.highlight .mo { color: #008080; } +.highlight .sa { color: #aa5500; } +.highlight .sb { color: #aa5500; } +.highlight .sc { color: #aa5500; } +.highlight .dl { color: #aa5500; } +.highlight .sd { color: #aa5500; } +.highlight .s2 { color: #aa5500; } +.highlight .se { color: #aa5500; } +.highlight .sh { color: #aa5500; } +.highlight .si { color: #aa5500; } +.highlight .sx { color: #aa5500; } +.highlight .sr { color: #008080; } +.highlight .s1 { color: #aa5500; } +.highlight .ss { color: #0000aa; } +.highlight .bp { color: #008282; } +.highlight .fm { color: #008700; } +.highlight .vc { color: #aa0000; } +.highlight .vg { color: #aa0000; } +.highlight .vi { color: #aa0000; } +.highlight .vm { color: #aa0000; } +.highlight .il { color: #008080; } diff --git a/_stylesheets/docs.css b/_stylesheets/docs.css index ecfb59b03f13..b964398e5937 100644 --- a/_stylesheets/docs.css +++ b/_stylesheets/docs.css @@ -16,7 +16,7 @@ nav#main { } .navbar.navbar-default.navbar-openshift .navbar-brand.origin { - background: url("../_images/origin_logo.png") no-repeat scroll 0% 95%; + background: url("../_images/okd_logo.svg") no-repeat scroll 0% 95%; background-size: 140px; margin-left: 20px; } @@ -110,11 +110,6 @@ License: https://creativecommons.org/licenses/by/2.0/ } } @media screen and (max-width: 768px) { - body, html { - overflow-x: hidden; - height: 100%; - margin-bottom: 0; - } .sidebar { border-right: 1px solid #e7e7e7; background: #fff; @@ -146,6 +141,38 @@ License: https://creativecommons.org/licenses/by/2.0/ /* End footer edits */ +/* ClipboardJS */ +p.clipboard-button-container { + position: relative; +} + +span.clipboard-button { + position: absolute; + right: 0px; + bottom: -28px; + z-index: 1; + display: block; + width: 30px; + padding: 5px; + text-align: center; +} + +span.clipboard-button:hover { + cursor: pointer; +} + +.fa-clipboard { + color: #404040; +} + +.fa-clipboard:hover { + color: #AAAAAA; +} + +.fa-check { + color: #73804E; +} +/* End ClipboardJS edits */ .fa-inverse:hover { color: #ccc; @@ -196,8 +223,8 @@ License: https://creativecommons.org/licenses/by/2.0/ } .page-header h1 { - font-size: 28px; - font-weight: 300; + font-size: 30px; + font-weight: 400; letter-spacing: inherit; color: inherit; margin: 10px 0 0 0; @@ -215,6 +242,7 @@ License: https://creativecommons.org/licenses/by/2.0/ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { position: relative; + text-transform: none; } h2 > a.anchor, h3 > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { @@ -298,6 +326,7 @@ h6 > a.anchor:hover { .nav-sidebar li a { line-height: 1.3; color: inherit; + font-size: 0.92em; } .nav-sidebar li a:hover { @@ -320,6 +349,7 @@ h6 > a.anchor:hover { font-weight: 300; display: none; padding-top: 13px; + overflow-wrap: break-word; } @media screen and (max-width: 767px) { @@ -341,8 +371,8 @@ h6 > a.anchor:hover { * -------------------------------------------------- */ -body, html { - overflow-x: hidden; /* Prevent scroll on narrow devices */ +body > .container { + overflow-x: hidden; } .toggle-nav { @@ -415,305 +445,1290 @@ table > tbody > tr > td > div > div > p > code { /* Remnants of Asciidoctor default stylesheet - remove styles as needed */ -#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } -.left { float: left !important; } -.right { float: right !important; } -.text-left { text-align: left !important; } -.text-right { text-align: right !important; } -.text-center { text-align: center !important; } -.text-justify { text-align: justify !important; } -.hide { display: none; } -.subheader, #content #toctitle, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } -abbr, acronym { text-transform: uppercase; font-size: 90%; color: #333333; border-bottom: 1px dotted #dddddd; cursor: help; } -abbr { text-transform: none; } -blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; } -blockquote cite { display: block; font-size: inherit; color: #454545; } -blockquote cite:before { content: "\2014 \0020"; } -blockquote cite a, blockquote cite a:visited { color: #454545; } -blockquote, blockquote p { line-height: 1.6; color: #6e6e6e; } -@media only screen and (min-width: 768px) { - #toctitle, .sidebarblock > .content > .title { line-height: 1.4; } - #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } -} -table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; font-size: 15px; } -table thead, table tfoot { background: whitesmoke; font-weight: bold; } -table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #333333; text-align: left; } -table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #333333; font-weight: 400;} -table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f9f9f9; } -table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.8; } -.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } -.clearfix:after, .float-group:after { clear: both; } -*:not(pre) > code { padding: 0; white-space: nowrap; background-color: #e7e7e7; border: 0 solid #dddddd; -webkit-border-radius: 0px; border-radius: 0px; text-shadow: none; line-height: 1; } -pre code { text-shadow: none; } -.keyseq { color: #666666; } -kbd:not(.keyseq) { display: inline-block; color: #333333; font-size: 0.75em; line-height: 1.4; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; } -.keyseq kbd:first-child { margin-left: 0; } -.keyseq kbd:last-child { margin-right: 0; } -.menuseq, .menu { color: #1a1a1a; } -b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } -b.button:before { content: "["; padding: 0 3px 0 2px; } -b.button:after { content: "]"; padding: 0 2px 0 3px; } -p a > code:hover { color: #561309; } -#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; } -#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } -#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } -#content:before { content: none; } -#header { margin-bottom: 2.5em; } -#header > h1 { color: black; font-weight: 300; border-bottom: 1px solid #d8d8d8; margin-bottom: -28px; padding-bottom: 32px; } -#header span { color: #6e6e6e; } -#header #revnumber { text-transform: capitalize; } -#header br { display: none; } -#header br + span { padding-left: 3px; } -#header br + span:before { content: "\2013 \0020"; } -#header br + span.author { padding-left: 0; } -#header br + span.author:before { content: ", "; } -#toc { border-bottom: 3px double #e5e5e5; padding-top: 1em; margin-bottom: 1.05em;} -#toc > ul { margin-left: 0.25em; } -#toc ul.sectlevel0 > li > a { font-style: italic; } -#toc ul.sectlevel0 ul.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } -#toc ul { font-family: "Open Sans", "DejaVu Sans", "Sans", sans-serif; list-style-type: none; } -#toc a { text-decoration: none; } -#toc a:active { text-decoration: underline; } -#toctitle { color: #7a2518; } -@media only screen and (min-width: 768px) { body.toc2 { padding-left: 15em; padding-right: 0; } - #toc.toc2 { background-color: #fafaf9; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #e5e5e5; border-bottom: 0; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } - #toc.toc2 #toctitle { margin-top: 0; font-size: 1.2em; } - #toc.toc2 > ul { font-size: .90em; margin-bottom: 0; } - #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } - #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } - body.toc2.toc-right { padding-left: 0; padding-right: 15em; } - body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid #e5e5e5; left: auto; right: 0; } } -@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } - #toc.toc2 { width: 20em; } - #toc.toc2 #toctitle { font-size: 1.375em; } - #toc.toc2 > ul { font-size: 0.95em; } - #toc.toc2 ul ul { padding-left: 1.25em; } - body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } -#content #toc { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-bottom: 1.25em; padding: 1.25em; background: #fafaf9; border-width: 0; -webkit-border-radius: 4px; border-radius: 4px; } -#content #toc > :first-child { margin-top: 0; } -#content #toc > :last-child { margin-bottom: 0; } -#content #toctitle { font-size: 1.375em; } -#footer { max-width: 100%; background-color: #333333; padding: 1.25em; } -#footer-text { color: #cccccc; line-height: 1.44; } -.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .verseblock, .videoblock { margin-bottom: 2.5em; } -.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Noto Serif", "DejaVu Serif", "Serif", serif; font-weight: normal; font-style: italic; } -table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } -table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } -.admonitionblock > table { border: 0; background: none; width: 100%; } -.admonitionblock > table td.icon { text-align: center; width: 80px; } -.admonitionblock > table td.icon img { max-width: none; } -.admonitionblock > table td.icon .title { font-weight: 300; text-transform: uppercase; } -.admonitionblock > table td.content { padding-left: 0; padding-right: 1.25em; color: #6e6e6e; } -.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } -.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 4px; border-radius: 4px; } -.exampleblock > .content > :first-child { margin-top: 0; } -.exampleblock > .content > :last-child { margin-bottom: 0; } -.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6, .exampleblock > .content p { color: #333333; } -.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6 { line-height: 1; margin-bottom: 0.625em; } -.exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, .exampleblock > .content h3.subheader, .exampleblock > .content .subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, .exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, .exampleblock > .content h6.subheader { line-height: 1.4; } -.exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #e3e3dd; box-shadow: 0 1px 8px #e3e3dd; } -.sidebarblock { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-top: -1.0em; margin-bottom: 1.6em; padding: .5em; background: #F1F3F5; -webkit-border-radius: 4px; border-radius: 4px; overflow-x: auto; } -.sidebarblock > :first-child { margin-top: 0; } -.sidebarblock > :last-child { margin-bottom: 0; } -.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6, .sidebarblock p { color: #333333; } -.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6 { line-height: 1; margin-bottom: 0.625em; } -.sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > .subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, .sidebarblock h6.subheader { line-height: 1.4; } -.sidebarblock > .content > .title { color: #7a2518; margin-top: 0; line-height: 1.6; } -.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } -.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0px; background-color: #e7e7e7; -webkit-border-radius: 0px; border-radius: 0px; padding: 1.5em 2.5em; word-wrap: break-word; color: #404040; font-family: "Roboto Mono", monospace; } -.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } -.literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > code, .listingblock pre[class] > code { display: block; } -.listingblock > .content { position: relative; } -.listingblock:hover code[class*=" language-"]:before { text-transform: uppercase; font-size: 0.9em; color: #999; position: absolute; top: 0.375em; right: 0.375em; } -.listingblock:hover code.asciidoc:before { content: "asciidoc"; } -.listingblock:hover code.clojure:before { content: "clojure"; } -.listingblock:hover code.css:before { content: "css"; } -.listingblock:hover code.go:before { content: "go"; } -.listingblock:hover code.groovy:before { content: "groovy"; } -.listingblock:hover code.html:before { content: "html"; } -.listingblock:hover code.java:before { content: "java"; } -.listingblock:hover code.javascript:before { content: "javascript"; } -.listingblock:hover code.python:before { content: "python"; } -.listingblock:hover code.ruby:before { content: "ruby"; } -.listingblock:hover code.sass:before { content: "sass"; } -.listingblock:hover code.scss:before { content: "scss"; } -.listingblock:hover code.xml:before { content: "xml"; } -.listingblock:hover code.yaml:before { content: "yaml"; } -.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } -.listingblock.terminal pre .command:not([data-prompt]):before { content: '$'; } -table.pyhltable { border: 0; margin-bottom: 0; } -table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; } -table.pyhltable td.code { padding-left: .75em; padding-right: 0; } -.highlight.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #d8d8d8; } -.highlight.pygments .lineno { display: inline-block; margin-right: .25em; } -table.pyhltable .linenodiv { background-color: transparent !important; padding-right: 0 !important; } -.quoteblock { margin: 0 0 1.25em 0; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; } -.quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.625em 0; border: 0; } -.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } -.quoteblock .attribution { margin-top: -0.625em; padding-bottom: 0.625em; font-size: inherit; color: #454545; line-height: 1.6; } -.quoteblock .attribution br { display: none; } -.quoteblock .attribution cite { display: block; } -table.tableblock { max-width: 100%; } -table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } -/*for fixing table width 100%*/ -table.spread { table-layout: fixed; } -table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dddddd; } -table.grid-all th.tableblock, table.grid-all td.tableblock { border-width: 0 1px 1px 0; } -table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { border-width: 1px 1px 0 0; } -table.grid-cols th.tableblock, table.grid-cols td.tableblock { border-width: 0 1px 0 0; } -table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { border-right-width: 0; } -table.grid-rows th.tableblock, table.grid-rows td.tableblock { border-width: 0 0 1px 0; } -table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { border-bottom-width: 0; } -table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { border-width: 1px 0 0 0; } -table.frame-all { border-width: 1px; } -table.frame-sides { border-width: 0 1px; } -table.frame-topbot { border-width: 1px 0; } -table.tableblock th.halign-left, table.tableblock td.halign-left { text-align: left; } -table.tableblock th.halign-right, table.tableblock td.halign-right { text-align: right; } -table.tableblock th.halign-center, table.tableblock td.halign-center { text-align: center; } -table.tableblock th.valign-top, table.tableblock td.valign-top { vertical-align: top; } -table.tableblock th.valign-bottom, table.tableblock td.valign-bottom { vertical-align: bottom; } -table.tableblock th.valign-middle, table.tableblock td.valign-middle { vertical-align: middle; } -table thead th, table tfoot th { font-weight: bold; } -tbody tr th { display: table-cell; line-height: 1.6; background: whitesmoke; } -tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #333333; font-weight: bold; } -td > div.verse { white-space: pre; } -ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; } -ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; } -ul.checklist li > p:first-child > .fa-check-square-o:first-child, ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } -ul.checklist li > p:first-child > input[type="checkbox"]:first-child { position: relative; top: 1px; } -ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 0; padding: 0; list-style: none; overflow: hidden; } -ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: block; } -ul.inline > li > * { display: block; } -.unstyled dl dt { font-weight: normal; font-style: normal; } -ol.arabic { list-style-type: decimal; } -ol.decimal { list-style-type: decimal-leading-zero; } -ol.loweralpha { list-style-type: lower-alpha; } -ol.upperalpha { list-style-type: upper-alpha; } -ol.lowerroman { list-style-type: lower-roman; } -ol.upperroman { list-style-type: upper-roman; } -ol.lowergreek { list-style-type: lower-greek; } -.hdlist > table, .colist > table { border: 0; background: none; } -.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } -td.hdlist1 { padding-right: .75em; font-weight: bold; } -td.hdlist1, td.hdlist2 { vertical-align: top; } -.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } -.colist > table tr > td:first-of-type { padding: 0 .75em; line-height: 1; vertical-align: top} -.colist > table tr > td:last-of-type { padding: 0 0 1em 0; } -.qanda > ol > li > p > em:only-child { color: #1d4b8f; } -.thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; } -.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } -.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } -.imageblock > .title { margin-bottom: 0; } -.imageblock.thumb, .imageblock.th { border-width: 6px; } -.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } -.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } -.image.left { margin-right: 0.625em; } -.image.right { margin-left: 0.625em; } -a.image { text-decoration: none; } -span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; } -span.footnote a, span.footnoteref a { text-decoration: none; } -span.footnote a:active, span.footnoteref a:active { text-decoration: underline; } -#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } -#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; } -#footnotes .footnote { padding: 0 0.375em; line-height: 1.3; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; } -#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; } -#footnotes .footnote:last-of-type { margin-bottom: 0; } -#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } -.gist .file-data > table { border: none; background: #fff; width: 100%; margin-bottom: 0; } -.gist .file-data > table td.line-data { width: 99%; } -div.unbreakable { page-break-inside: avoid; } -code { color: #404040; background-color: #e7e7e7; font-weight: bold; font-family: "Roboto Mono", monospace;} -h5 { color: #404040; } -strong { color: #404040; font-weight: bold; } -a strong { color: inherit; } -a code { color: inherit; } -.replaceable { font-style: italic; font-color: inherit; font-family: inherit; } -.parameter { font-style: italic; font-family: monospace; } -.userinput { font-weight: bold; font-family: monospace; } -.envar { font-weight: bold; font-family: monospace; font-size: 90%; } -.sysitem { font-weight: bold; font-size: 90%; } -.package { font-weight: bold; font-size: 90%; } -.filename { font-weight: bold; font-style: italic; font-size: 90%; } -.big { font-size: larger; } -.small { font-size: smaller; } -.underline { text-decoration: underline; } -.overline { text-decoration: overline; } -.line-through { text-decoration: line-through; } -.aqua { color: #00bfbf; } -.aqua-background { background-color: #00fafa; } -.black { color: black; } -.black-background { background-color: black; } -.blue { color: #0000bf; } -.blue-background { background-color: #0000fa; } -.fuchsia { color: #bf00bf; } -.fuchsia-background { background-color: #fa00fa; } -.gray { color: #606060; } -.gray-background { background-color: #7d7d7d; } -.green { color: #006000; } -.green-background { background-color: #007d00; } -.lime { color: #00bf00; } -.lime-background { background-color: #00fa00; } -.maroon { color: #600000; } -.maroon-background { background-color: #7d0000; } -.navy { color: #000060; } -.navy-background { background-color: #00007d; } -.olive { color: #606000; } -.olive-background { background-color: #7d7d00; } -.purple { color: #600060; } -.purple-background { background-color: #7d007d; } -.red { color: #bf0000; } -.red-background { background-color: #fa0000; } -.silver { color: #909090; } -.silver-background { background-color: #bcbcbc; } -.teal { color: #006060; } -.teal-background { background-color: #007d7d; } -.white { color: #bfbfbf; } -.white-background { background-color: #fafafa; } -.yellow { color: #bfbf00; } -.yellow-background { background-color: #fafa00; } -span.icon > .fa { cursor: default; } -.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; cursor: default; } -.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #4E9FDD; } -.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; color: #2C8596; } -.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #ec7a08; } -.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #ec7a08; } -.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #e00; } -.conum[data-value] { display: inline-block; color: white !important; background-color: #e00; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; line-height: 20px; font-family: "Open Sans", "Sans", sans-serif; font-style: normal; font-weight: bold; text-indent: -1px; } -.conum[data-value] * { color: white !important; } -.conum[data-value] + b { display: none; } -.conum[data-value]:after { content: attr(data-value); } -pre .conum[data-value] { text-shadow: 0 0; position: relative; top: -2px; } -b.conum * { color: inherit !important; } -.conum:not([data-value]):empty { display: none; } -.print-only { display: none !important; } -@media print { @page { margin: 1.25cm 0.75cm; } - * { -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; } - a, a:visited { color: inherit !important; text-decoration: underline !important; } - a[href^="http:"]:after, a[href^="https:"]:after { content: " (" attr(href) ")"; } - a[href^="#"], a[href^="#"]:visited, a[href^="mailto:"], a[href^="mailto:"]:visited { text-decoration: none !important; } - abbr[title]:after { content: " (" attr(title) ")"; } - pre, blockquote { page-break-inside: avoid; } - code { color: #191919; } - thead { display: table-header-group; } - tr, img { page-break-inside: avoid; } - img { max-width: 100% !important; } - p { orphans: 3; widows: 3; } - h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; } - #toc, .sidebarblock { background: none !important; } - #toc { border-bottom: 1px solid #d8d8d8 !important; padding-bottom: 0 !important; } - .sect1 { padding-bottom: 0 !important; } - .sect1 + .sect1 { border: none !important; } - body.book #header { text-align: center; } - body.book #header > h1 { border: none !important; margin: 2.5em 0 1em 0; padding: 0; } - body.book #header span { line-height: 1.6; } - body.book #header br { display: block; } - body.book #header br + span { padding-left: 0; } - body.book #header br + span:before { content: none !important; } - body.book #toc { border: none !important; text-align: left !important; padding: 0 !important; } - #footer { background: none !important; } - #footer-text { color: #333333 !important; } - .hide-on-print { display: none !important; } - .print-only { display: block !important; } - .hide-for-print { display: none !important; } - .show-for-print { display: inherit !important; } } +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { + max-width: none !important; +} + .left { + float: left !important; +} + .right { + float: right !important; +} + .text-left { + text-align: left !important; +} + .text-right { + text-align: right !important; +} + .text-center { + text-align: center !important; +} + .text-justify { + text-align: justify !important; +} + .hide { + display: none; +} + .subheader, #content #toctitle, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { + line-height: 1.4; + color: #7a2518; + font-weight: 300; + margin-top: 0.2em; + margin-bottom: 0.5em; +} + abbr, acronym { + text-transform: uppercase; + font-size: 90%; + color: #333333; + border-bottom: 1px dotted #dddddd; + cursor: help; +} + abbr { + text-transform: none; +} + blockquote { + margin: 0 0 1.25em; + padding: 0.5625em 1.25em 0 1.1875em; + border-left: 3px solid #487c58; +} + blockquote cite { + display: block; + font-size: inherit; + color: #454545; +} + blockquote cite:before { + content: "\2014 \0020"; +} + blockquote cite a, blockquote cite a:visited { + color: #454545; +} + blockquote, blockquote p { + line-height: 1.6; + color: #6e6e6e; +} +/* Collapsible content */ +details { + width: 100%; + margin-bottom: 10px; +} + details > summary { + font-size: 0.92em; + padding: 4px 6px; + background-color: #f9f9f9; + border: none; + box-shadow: 2px 2px 2px #8a8a8a; + cursor: pointer; + margin-top: 0.8em; +} + details > div { + border-radius: 0 0 5px 5px; + background-color: #f9f9f9; + padding: 4px 6px; + margin: 0.5em 0.7em; + box-shadow: 2px 2px 2px #8a8a8a; +} +#collapsibleButtonDiv { + position: relative; + width: 100%; + padding: 1em 0em; + font-size: .92em; +} +button[name="button-collapse-expand-all"] { + position: absolute; + right: 100px; + bottom: 0px; + margin-right: 10px; + z-index: 1; +} +.span-collapse-expand-all { + display:inline-block; + width: 100px; + position: absolute; + right: 0px; + bottom: 0px; + text-align: justify; + z-index: 1; +} +.span-collapse-expand-all:hover { + cursor: pointer; +} +/* END Collapsible content */ + @media only screen and (min-width: 768px) { + #toctitle, .sidebarblock > .content > .title { + line-height: 1.4; + } + #toctitle, .sidebarblock > .content > .title { + font-size: 1.6875em; + } +} + table { + background: white; + margin-bottom: 1.25em; + border: solid 1px #dddddd; + font-size: 15px; +} + table thead, table tfoot { + background: whitesmoke; + font-weight: bold; +} + table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { + padding: 0.5em 0.625em 0.625em; + font-size: inherit; + color: #333333; + text-align: left; +} + table tr th, table tr td { + padding: 0.5625em 0.625em; + font-size: 14px; + color: #545454; + font-weight: 400; +} + table tr.even, table tr.alt, table tr:nth-of-type(even) { + background: #f9f9f9; +} + table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { + display: table-cell; + line-height: 1.8; +} + .clearfix:before, .clearfix:after, .float-group:before, .float-group:after { + content: " "; + display: table; +} + .clearfix:after, .float-group:after { + clear: both; +} + *:not(pre) > code { + white-space: nowrap; + background-color: #f9f9f9; + border: 0 solid #dddddd; + -webkit-border-radius: 0px; + border-radius: 0px; + text-shadow: none; + line-height: 1; + font-weight: 400; /* normal */ + vertical-align: baseline; + padding: 2px 4px; +} + pre code { + text-shadow: none; +} + .keyseq { + color: #666666; +} + kbd:not(.keyseq) { + display: inline-block; + color: #333333; + font-size: 0.75em; + line-height: 1.4; + background-color: #f7f7f7; + border: 1px solid #ccc; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; + margin: -0.15em 0.15em 0 0.15em; + padding: 0.2em 0.6em 0.2em 0.5em; + vertical-align: middle; + white-space: nowrap; +} + .keyseq kbd:first-child { + margin-left: 0; +} + .keyseq kbd:last-child { + margin-right: 0; +} + .menuseq, .menu { + color: #1a1a1a; +} + b.button:before, b.button:after { + position: relative; + top: -1px; + font-weight: normal; +} + b.button:before { + content: "["; + padding: 0 3px 0 2px; +} + b.button:after { + content: "]"; + padding: 0 2px 0 3px; +} + p a > code:hover { + color: #561309; +} + #header, #content, #footnotes, #footer { + width: 100%; + margin-left: auto; + margin-right: auto; + margin-top: 0; + margin-bottom: 0; + max-width: 62.5em; + *zoom: 1; + position: relative; + padding-left: 0.9375em; + padding-right: 0.9375em; +} + #header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { + content: " "; + display: table; +} + #header:after, #content:after, #footnotes:after, #footer:after { + clear: both; +} + #content:before { + content: none; +} + #header { + margin-bottom: 2.5em; +} + #header > h1 { + color: black; + font-weight: 300; + border-bottom: 1px solid #d8d8d8; + margin-bottom: -28px; + padding-bottom: 32px; +} + #header span { + color: #6e6e6e; +} + #header #revnumber { + text-transform: capitalize; +} + #header br { + display: none; +} + #header br + span { + padding-left: 3px; +} + #header br + span:before { + content: "\2013 \0020"; +} + #header br + span.author { + padding-left: 0; +} + #header br + span.author:before { + content: ", "; +} + #toc { + border-bottom: 3px double #e5e5e5; + padding-top: 1em; + margin-bottom: 1.05em; +} + #toc > ul { + margin-left: 0.25em; +} + #toc ul.sectlevel0 > li > a { + font-style: italic; +} + #toc ul.sectlevel0 ul.sectlevel1 { + margin-left: 0; + margin-top: 0.5em; + margin-bottom: 0.5em; +} + #toc ul { + font-family: "Open Sans", "DejaVu Sans", "Sans", sans-serif; + list-style-type: none; +} + #toc a { + text-decoration: none; + font-size: 0.92em; +} + #toc a:active { + text-decoration: underline; +} + #toctitle { + color: #7a2518; +} + @media only screen and (min-width: 768px) { + body.toc2 { + padding-left: 15em; + padding-right: 0; + } + #toc.toc2 { + background-color: #fafaf9; + position: fixed; + width: 15em; + left: 0; + top: 0; + border-right: 1px solid #e5e5e5; + border-bottom: 0; + z-index: 1000; + padding: 1.25em 1em; + height: 100%; + overflow: auto; + } + #toc.toc2 #toctitle { + margin-top: 0; + font-size: 1.2em; + } + #toc.toc2 > ul { + font-size: .90em; + margin-bottom: 0; + } + #toc.toc2 ul ul { + margin-left: 0; + padding-left: 1em; + } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { + padding-left: 0; + margin-top: 0.5em; + margin-bottom: 0.5em; + } + body.toc2.toc-right { + padding-left: 0; + padding-right: 15em; + } + body.toc2.toc-right #toc.toc2 { + border-right: 0; + border-left: 1px solid #e5e5e5; + left: auto; + right: 0; + } +} + @media only screen and (min-width: 1280px) { + body.toc2 { + padding-left: 20em; + padding-right: 0; + } + #toc.toc2 { + width: 20em; + } + #toc.toc2 #toctitle { + font-size: 1.375em; + } + #toc.toc2 > ul { + font-size: 0.95em; + } + #toc.toc2 ul ul { + padding-left: 1.25em; + } + body.toc2.toc-right { + padding-left: 0; + padding-right: 20em; + } +} + #content #toc { + border-style: solid; + border-width: 1px; + border-color: #e3e3dd; + margin-bottom: 1.25em; + padding: 1.25em; + background: #fafaf9; + border-width: 0; + -webkit-border-radius: 4px; + border-radius: 4px; +} + #content #toc > :first-child { + margin-top: 0; +} + #content #toc > :last-child { + margin-bottom: 0; +} + #content #toctitle { + font-size: 1.375em; +} + #footer { + max-width: 100%; + background-color: #333333; + padding: 1.25em; +} + #footer-text { + color: #cccccc; + line-height: 1.44; +} +/* code blocks */ + .audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .verseblock, .videoblock { + margin-bottom: 1em; +} + .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { + text-rendering: optimizeLegibility; + text-align: left; + font-family: "Noto Serif", "DejaVu Serif", "Serif", serif; + font-weight: normal; + font-style: italic; + font-size: 16px; +} + table.tableblock > caption.title { + white-space: nowrap; + overflow: visible; + max-width: 0; +} + table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { + font-size: inherit; +} + .admonitionblock > table { + border: 0; + background: none; + width: 100%; +} + .admonitionblock.note { + background: #4e9fde15; + border-left: solid #4e9fde; +} + .admonitionblock.important { + background: #ee210015; + border-left: solid #ee2100; +} + .admonitionblock.warning { + background: #ec7a0915; + border-left: solid #ec7a09; +} + .admonitionblock.caution { + background: #ec7a0915; + border-left: solid #ec7a09; +} + .admonitionblock.tip { + background: #32859615; + border-left: solid #328596; +} + .admonitionblock > table td.icon { + vertical-align: top; + text-align: center; + width: 80px; +} + .admonitionblock > table td.icon img { + max-width: none; +} + .admonitionblock > table td.icon .title { + font-weight: 300; + text-transform: uppercase; +} + .admonitionblock > table td.content { + padding-left: 0; + padding-right: 1.25em; + color: #6e6e6e; + font-size: .85rem; +} + .admonitionblock.note td.content:before { + content: "NOTE\a"; + white-space: pre; + color: #404040; + font-weight: bold; +} + .admonitionblock.important td.content:before { + content: "IMPORTANT\a"; + white-space: pre; + color: #404040; + font-weight: bold; +} + .admonitionblock.warning td.content:before { + content: "WARNING\a"; + white-space: pre; + color: #404040; + font-weight: bold; +} + .admonitionblock.tip td.content:before { + content: "TIP\a"; + white-space: pre; + color: #404040; + font-weight: bold; +} + .admonitionblock.caution td.content:before { + content: "CAUTION\a"; + white-space: pre; + color: #404040; + font-weight: bold; +} + .admonitionblock > table td.content > :last-child > :last-child { + margin-bottom: 0; +} + .exampleblock > .content { + border-style: solid; + border-width: 1px; + border-color: #e6e6e6; + margin-bottom: 1.25em; + padding: 1.25em; + background: white; + -webkit-border-radius: 4px; + border-radius: 4px; +} + .exampleblock > .content > :first-child { + margin-top: 0; +} + .exampleblock > .content > :last-child { + margin-bottom: 0; +} + .exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6, .exampleblock > .content p { + color: #333333; +} + .exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6 { + line-height: 1; + margin-bottom: 0.625em; +} + .exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, .exampleblock > .content h3.subheader, .exampleblock > .content .subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, .exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, .exampleblock > .content h6.subheader { + line-height: 1.4; +} + .exampleblock.result > .content { + -webkit-box-shadow: 0 1px 8px #e3e3dd; + box-shadow: 0 1px 8px #e3e3dd; +} + .sidebarblock { + border-style: solid; + border-width: 1px; + border-color: #e3e3dd; + margin-top: -1.0em; + margin-bottom: 1.6em; + padding: .5em; + background: #F1F3F5; + -webkit-border-radius: 4px; + border-radius: 4px; + overflow-x: auto; +} + .sidebarblock > :first-child { + margin-top: 0; +} + .sidebarblock > :last-child { + margin-bottom: 0; +} + .sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6, .sidebarblock p { + color: #333333; +} + .sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6 { + line-height: 1; + margin-bottom: 0.625em; +} + .sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > .subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, .sidebarblock h6.subheader { + line-height: 1.4; +} + .sidebarblock > .content > .title { + color: #7a2518; + margin-top: 0; + line-height: 1.6; +} + .exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { + margin-bottom: 0; +} +/* For this only we do not want padding */ +.listingblock pre.rouge, .listingblock pre.rouge code { + padding: 0; +} +/* source code appears in pre blocks */ + .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { + background-color: #f9f9f9; + border: 1px #aab7b8 solid; + padding: 1.75em 2em; + word-wrap: break-word; + color: #404040; + font-family: "Roboto Mono", monospace; +} + .literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { + overflow-x: auto; + white-space: pre; + word-wrap: normal; +} + .literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > code, .listingblock pre[class] > code { + display: block; +} +/* this adds overflow for code blocks */ +/* negative padding undoes the parent padding for .iteralblock pre */ +.listingblock pre.rouge code { + padding: 22px; + margin: -1.75em -2em; + white-space: pre; + overflow-x: auto; +} + .listingblock > .content { + position: relative; +} + .listingblock:hover code[class*=" language-"]:before { + text-transform: uppercase; + font-size: 0.9em; + color: #999; + position: absolute; + top: 0.375em; + right: 0.375em; +} + .listingblock:hover code.asciidoc:before { + content: "asciidoc"; +} + .listingblock:hover code.clojure:before { + content: "clojure"; +} + .listingblock:hover code.css:before { + content: "css"; +} + .listingblock:hover code.go:before { + content: "go"; +} + .listingblock:hover code.groovy:before { + content: "groovy"; +} + .listingblock:hover code.html:before { + content: "html"; +} + .listingblock:hover code.java:before { + content: "java"; +} + .listingblock:hover code.javascript:before { + content: "javascript"; +} + .listingblock:hover code.python:before { + content: "python"; +} + .listingblock:hover code.ruby:before { + content: "ruby"; +} + .listingblock:hover code.sass:before { + content: "sass"; +} + .listingblock:hover code.scss:before { + content: "scss"; +} + .listingblock:hover code.xml:before { + content: "xml"; +} + .listingblock:hover code.yaml:before { + content: "yaml"; +} + .listingblock.terminal pre .command:before { + content: attr(data-prompt); + padding-right: 0.5em; + color: #999; +} + .listingblock.terminal pre .command:not([data-prompt]):before { + content: '$'; +} + table.pyhltable { + border: 0; + margin-bottom: 0; +} + table.pyhltable td { + vertical-align: top; + padding-top: 0; + padding-bottom: 0; +} + table.pyhltable td.code { + padding-left: .75em; + padding-right: 0; +} + .highlight.pygments .lineno, table.pyhltable td:not(.code) { + color: #999; + padding-left: 0; + padding-right: .5em; + border-right: 1px solid #d8d8d8; +} + .highlight.pygments .lineno { + display: inline-block; + margin-right: .25em; +} + table.pyhltable .linenodiv { + background-color: transparent !important; + padding-right: 0 !important; +} + .quoteblock { + margin: 0 0 1.25em 0; + padding: 0.5625em 1.25em 0 1.1875em; + border-left: 3px solid #487c58; +} + .quoteblock blockquote { + margin: 0 0 1.25em 0; + padding: 0 0 0.625em 0; + border: 0; +} + .quoteblock blockquote > .paragraph:last-child p { + margin-bottom: 0; +} + .quoteblock .attribution { + margin-top: -0.625em; + padding-bottom: 0.625em; + font-size: inherit; + color: #454545; + line-height: 1.6; +} + .quoteblock .attribution br { + display: none; +} + .quoteblock .attribution cite { + display: block; +} + table.tableblock { + max-width: 100%; +} + table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { + margin-bottom: 0; +} + table.tableblock, th.tableblock, td.tableblock { + border: 0 solid #dddddd; +} + table.grid-all th.tableblock, table.grid-all td.tableblock { + border-width: 0 1px 1px 0; +} + table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { + border-width: 1px 1px 0 0; +} + table.grid-cols th.tableblock, table.grid-cols td.tableblock { + border-width: 0 1px 0 0; +} + table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { + border-right-width: 0; +} + table.grid-rows th.tableblock, table.grid-rows td.tableblock { + border-width: 0 0 1px 0; +} + table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { + border-bottom-width: 0; +} + table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { + border-width: 1px 0 0 0; +} + table.frame-all { + border-width: 1px; +} + table.frame-sides { + border-width: 0 1px; +} + table.frame-topbot { + border-width: 1px 0; +} + table.tableblock th.halign-left, table.tableblock td.halign-left { + text-align: left; +} + table.tableblock th.halign-right, table.tableblock td.halign-right { + text-align: right; +} + table.tableblock th.halign-center, table.tableblock td.halign-center { + text-align: center; +} + table.tableblock th.valign-top, table.tableblock td.valign-top { + vertical-align: top; +} + table.tableblock th.valign-bottom, table.tableblock td.valign-bottom { + vertical-align: bottom; +} + table.tableblock th.valign-middle, table.tableblock td.valign-middle { + vertical-align: middle; +} + table thead th, table tfoot th { + font-weight: bold; +} + tbody tr th { + display: table-cell; + line-height: 1.6; + background: whitesmoke; +} + tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { + color: #333333; + font-weight: bold; +} + td > div.verse { + white-space: pre; +} + ul.unstyled, ol.unnumbered, ul.checklist, ul.none { + list-style-type: none; +} + ul.unstyled, ol.unnumbered, ul.checklist { + margin-left: 0.625em; +} + ul.checklist li > p:first-child > .fa-check-square-o:first-child, ul.checklist li > p:first-child > input[type="checkbox"]:first-child { + margin-right: 0.25em; +} + ul.checklist li > p:first-child > input[type="checkbox"]:first-child { + position: relative; + top: 1px; +} + ul.inline { + margin: 0 auto 0.625em auto; + margin-left: -1.375em; + margin-right: 0; + padding: 0; + list-style: none; + overflow: hidden; +} + ul.inline > li { + list-style: none; + float: left; + margin-left: 1.375em; + display: block; +} + ul.inline > li > * { + display: block; +} + .unstyled dl dt { + font-weight: normal; + font-style: normal; +} + ol.arabic { + list-style-type: decimal; +} + ol.decimal { + list-style-type: decimal-leading-zero; +} + ol.loweralpha { + list-style-type: lower-alpha; +} + ol.upperalpha { + list-style-type: upper-alpha; +} + ol.lowerroman { + list-style-type: lower-roman; +} + ol.upperroman { + list-style-type: upper-roman; +} + ol.lowergreek { + list-style-type: lower-greek; +} + .hdlist > table, .colist > table { + border: 0; + background: none; + margin-bottom: 0; +} + .hdlist > table > tbody > tr, .colist > table > tbody > tr { + background: none; +} + td.hdlist1 { + padding-right: .75em; + font-weight: bold; +} + td.hdlist1, td.hdlist2 { + vertical-align: top; +} + .literalblock + .colist, .listingblock + .colist { + margin-top: -0.5em; +} + .colist > table tr > td:first-of-type { + padding: 0 .75em; + line-height: 1; + vertical-align: top +} + .colist > table tr > td:last-of-type { + padding: 0 0 0.5em 0; +} +/* Fix subsequent paras for same bullet */ +.colist .paragraph p { + font-size: 14px; + line-height: 1.8; + margin: 0.5em 0; +} +.colist .admonitionblock { + margin-top: 0.5em; + padding-top: 0.75em; +} +.qanda > ol > li > p > em:only-child { + color: #1d4b8f; +} + .thumb, .th { + line-height: 0; + display: inline-block; + border: solid 4px white; + -webkit-box-shadow: 0 0 0 1px #dddddd; + box-shadow: 0 0 0 1px #dddddd; +} + .imageblock.left, .imageblock[style*="float: left"] { + margin: 0.25em 0.625em 1.25em 0; +} + .imageblock.right, .imageblock[style*="float: right"] { + margin: 0.25em 0 1.25em 0.625em; +} + .imageblock > .title { + margin-bottom: 0; +} + .imageblock.thumb, .imageblock.th { + border-width: 6px; +} + .imageblock.thumb > .title, .imageblock.th > .title { + padding: 0 0.125em; +} + .image.left, .image.right { + margin-top: 0.25em; + margin-bottom: 0.25em; + display: inline-block; + line-height: 0; +} + .image.left { + margin-right: 0.625em; +} + .image.right { + margin-left: 0.625em; +} + a.image { + text-decoration: none; +} + span.footnote, span.footnoteref { + vertical-align: super; + font-size: 0.875em; +} + span.footnote a, span.footnoteref a { + text-decoration: none; +} + span.footnote a:active, span.footnoteref a:active { + text-decoration: underline; +} +.dlist dt { + padding-bottom: 0.5em; +} +/* This overrides the 0 margin from subdomain.css */ +.dlist dd { + margin-left: 1.5em; +} + #footnotes { + padding-top: 0.75em; + padding-bottom: 0.75em; + margin-bottom: 0.625em; +} + #footnotes hr { + width: 20%; + min-width: 6.25em; + margin: -.25em 0 .75em 0; + border-width: 1px 0 0 0; +} + #footnotes .footnote { + padding: 0 0.375em; + line-height: 1.3; + font-size: 0.875em; + margin-left: 1.2em; + text-indent: -1.2em; + margin-bottom: .2em; +} + #footnotes .footnote a:first-of-type { + font-weight: bold; + text-decoration: none; +} + #footnotes .footnote:last-of-type { + margin-bottom: 0; +} + #content #footnotes { + margin-top: -0.625em; + margin-bottom: 0; + padding: 0.75em 0; +} + .gist .file-data > table { + border: none; + background: #fff; + width: 100%; + margin-bottom: 0; +} + .gist .file-data > table td.line-data { + width: 99%; +} + div.unbreakable { + page-break-inside: avoid; +} + code { + color: #404040; + background-color: #e7e7e7; + font-weight: bold; + font-family: "Roboto Mono", monospace; +} + h5 { + color: #404040; +} + strong { + color: #404040; + font-weight: bold; +} + a strong { + color: inherit; +} + a code { + color: inherit; +} + .replaceable { + font-style: italic; + font-family: inherit; +} + .parameter { + font-style: italic; + font-family: monospace; +} + .userinput { + font-weight: bold; + font-family: monospace; +} + .envar { + font-weight: bold; + font-family: monospace; + font-size: 90%; +} + .sysitem { + font-weight: bold; + font-size: 90%; +} + .package { + font-weight: bold; + font-size: 90%; +} + .filename { + font-weight: bold; + font-style: italic; + font-size: 90%; +} + .big { + font-size: larger; +} + .small { + font-size: smaller; +} + .underline { + text-decoration: underline; +} + .overline { + text-decoration: overline; +} + .line-through { + text-decoration: line-through; +} + .aqua { + color: #00bfbf; +} + .aqua-background { + background-color: #00fafa; +} + .black { + color: black; +} + .black-background { + background-color: black; +} + .blue { + color: #0000bf; +} + .blue-background { + background-color: #0000fa; +} + .fuchsia { + color: #bf00bf; +} + .fuchsia-background { + background-color: #fa00fa; +} + .gray { + color: #606060; +} + .gray-background { + background-color: #7d7d7d; +} + .green { + color: #006000; +} + .green-background { + background-color: #007d00; +} + .lime { + color: #00bf00; +} + .lime-background { + background-color: #00fa00; +} + .maroon { + color: #600000; +} + .maroon-background { + background-color: #7d0000; +} + .navy { + color: #000060; +} + .navy-background { + background-color: #00007d; +} + .olive { + color: #606000; +} + .olive-background { + background-color: #7d7d00; +} + .purple { + color: #600060; +} + .purple-background { + background-color: #7d007d; +} + .red { + color: #bf0000; +} + .red-background { + background-color: #fa0000; +} + .silver { + color: #909090; +} + .silver-background { + background-color: #bcbcbc; +} + .teal { + color: #006060; +} + .teal-background { + background-color: #007d7d; +} + .white { + color: #bfbfbf; +} + .white-background { + background-color: #fafafa; +} + .yellow { + color: #bfbf00; +} + .yellow-background { + background-color: #fafa00; +} + span.icon > .fa { + cursor: default; +} + .admonitionblock td.icon [class^="fa icon-"] { + font-size: 2.5em; + cursor: default; + padding-top: .125em; +} + .admonitionblock td.icon .icon-note:before { + content: "\f05a"; + color: #4E9FDD; +} + .admonitionblock td.icon .icon-tip:before { + content: "\f0eb"; + color: #2C8596; +} + .admonitionblock td.icon .icon-warning:before { + content: "\f071"; + color: #ec7a08; +} + .admonitionblock td.icon .icon-caution:before { + content: "\f06d"; + color: #ec7a08; +} + .admonitionblock td.icon .icon-important:before { + content: "\f06a"; + color: #e00; +} + .conum[data-value] { + display: inline-block; + color: white !important; + background-color: #394b54; + -webkit-border-radius: 100px; + border-radius: 100px; + text-align: center; + width: 20px; + height: 20px; + font-size: 12px; + line-height: 20px; + font-family: "Open Sans", "Sans", sans-serif; + font-style: normal; + font-weight: bold; + text-indent: -1px; +} + .conum[data-value] * { + color: white !important; +} + .conum[data-value] + b { + display: none; +} + .conum[data-value]:after { + content: attr(data-value); +} + pre .conum[data-value] { + text-shadow: 0 0; + position: relative; + top: -2px; +} + b.conum * { + color: inherit !important; +} + .conum:not([data-value]):empty { + display: none; +} + .print-only { + display: none !important; +} + @media print { + @page { + margin: 1.25cm 0.75cm; + } + * { + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, a:visited { + color: inherit !important; + text-decoration: underline !important; + } + a[href^="http:"]:after, a[href^="https:"]:after { + content: " (" attr(href) ")"; + } + a[href^="#"], a[href^="#"]:visited, a[href^="mailto:"], a[href^="mailto:"]:visited { + text-decoration: none !important; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + pre, blockquote { + page-break-inside: avoid; + } + code { + color: #191919; + } + thead { + display: table-header-group; + } + tr, img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p { + orphans: 3; + widows: 3; + } + h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { + page-break-after: avoid; + } + #toc, .sidebarblock { + background: none !important; + } + #toc { + border-bottom: 1px solid #d8d8d8 !important; + padding-bottom: 0 !important; + } + .sect1 { + padding-bottom: 0 !important; + } + .sect1 + .sect1 { + border: none !important; + } + body.book #header { + text-align: center; + } + body.book #header > h1 { + border: none !important; + margin: 2.5em 0 1em 0; + padding: 0; + } + body.book #header span { + line-height: 1.6; + } + body.book #header br { + display: block; + } + body.book #header br + span { + padding-left: 0; + } + body.book #header br + span:before { + content: none !important; + } + body.book #toc { + border: none !important; + text-align: left !important; + padding: 0 !important; + } + #footer { + background: none !important; + } + #footer-text { + color: #333333 !important; + } + .hide-on-print { + display: none !important; + } + .print-only { + display: block !important; + } + .hide-for-print { + display: none !important; + } + .show-for-print { + display: inherit !important; + } +} diff --git a/_templates/_footer_other.html.erb b/_templates/_footer_other.html.erb index 4bbe9c774cbb..4682994b4db8 100644 --- a/_templates/_footer_other.html.erb +++ b/_templates/_footer_other.html.erb @@ -6,7 +6,7 @@
-

Copyright © 2019 Red Hat, Inc.

+

Copyright © 2021 Red Hat, Inc.

diff --git a/_templates/_nav_openshift.html.erb b/_templates/_nav_openshift.html.erb index 64a05d518d72..e1e2ddb5f71c 100644 --- a/_templates/_nav_openshift.html.erb +++ b/_templates/_nav_openshift.html.erb @@ -1,25 +1,127 @@