Initial Commit
15
.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
Gemfile.lock
|
||||
*.swp
|
||||
.asciidoctor
|
||||
_package
|
||||
_preview
|
||||
drupal-build
|
||||
architecture/core_concepts/images/docker-diagram.png
|
||||
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
|
||||
.venv
|
||||
.gem
|
||||
bin
|
||||
commercial_package
|
||||
71
.s2i/bin/assemble
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash -e
|
||||
# The assemble script builds the application artifacts from source and
|
||||
# places them into appropriate directories inside the image.
|
||||
|
||||
# Required to install `ffi` separately due to an installation issue with ffi v-1.9.21
|
||||
echo "---> Installing ffi ..."
|
||||
gem install ffi --version 1.9.18
|
||||
# `gem install` is required because `bundle install` does not properly place `asciibinder` into $PATH
|
||||
echo "---> Installing AsciiBinder ..."
|
||||
gem install ascii_binder
|
||||
|
||||
# Move git repository to local working directory
|
||||
shopt -s dotglob
|
||||
echo "---> Installing application source ..."
|
||||
mv /tmp/src/* ./
|
||||
|
||||
# Fetch and locally add all remote branches to ensure AsciiBinder is able to build the necessary branches
|
||||
echo "---> Fetching remote branches"
|
||||
# Because the s2i builder only makes the remote branch applicable to the specified branch,
|
||||
# it's necessary to enforce a * ref so that all branches are referenced
|
||||
sed -i 's%fetch = +refs.*%fetch = +refs/heads/*:refs/remotes/origin/*%' .git/config
|
||||
git fetch --all --quiet
|
||||
for remote in $(git branch -r | egrep -v "(>|$(git rev-parse --abbrev-ref HEAD))|master"); do git checkout --force --track $remote; done
|
||||
git checkout master
|
||||
|
||||
# Fixes incompatible character encodings: US-ASCII and UTF-8 error
|
||||
export LANG="en_US.UTF-8"
|
||||
|
||||
echo "---> AsciiBinder packaging commercial content ..."
|
||||
# AsciiBinder uses git to some extent and requires `user.email` to be properly set
|
||||
git config user.email "devel@openshift.com"
|
||||
# Package assets for commercial site only, without Minishift content
|
||||
asciibinder package --site=commercial
|
||||
# Move commercial content to its own directory, including commercial specific redirects and 404 page
|
||||
mkdir commercial_package
|
||||
mv _package/commercial commercial_package
|
||||
git checkout master
|
||||
mkdir commercial_package/commercial/httpd-cfg
|
||||
mv .s2i/httpd-cfg/01-commercial.conf commercial_package/commercial/httpd-cfg
|
||||
mv 404-commercial.html commercial_package/commercial/404.html
|
||||
|
||||
echo "---> Installing Minishift content ..."
|
||||
mkdir minishift
|
||||
cd minishift
|
||||
if wget http://artifacts.ci.centos.org/minishift/minishift/docs/latest/minishift-adoc.tar ; then
|
||||
tar -xvf minishift-adoc.tar --strip 1
|
||||
cat _topic_map.yml >> ../_topic_map.yml
|
||||
rm minishift-adoc.tar
|
||||
cd ..
|
||||
git add .
|
||||
git commit -am "Minishift build-time commit"
|
||||
else
|
||||
echo "WARNING: Could not retrieve minishift-adoc.tar"
|
||||
cd ..
|
||||
rmdir minishift
|
||||
fi
|
||||
|
||||
echo "---> AsciiBinder packaging community content ..."
|
||||
# Package assets for community site only, with Minishift content
|
||||
asciibinder package --site=community
|
||||
# Move community content to its own directory, including community specific redirects and 404 page
|
||||
mkdir community_package
|
||||
mv _package/community community_package
|
||||
git checkout master
|
||||
mkdir community_package/community/httpd-cfg
|
||||
mv .s2i/httpd-cfg/01-community.conf community_package/community/httpd-cfg
|
||||
mv 404-community.html community_package/community/404.html
|
||||
|
||||
# Fix source directory permissions
|
||||
echo "---> Fixing permissions ..."
|
||||
fix-permissions ./
|
||||
283
.s2i/httpd-cfg/01-commercial.conf
Normal file
@@ -0,0 +1,283 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Better website experience for IE users
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Force the latest IE version, in various cases when it may fall back to IE7 mode
|
||||
# github.com/rails/rails/commit/123eb25#commitcomment-118920
|
||||
# Use ChromeFrame if it's installed for a better experience for the poor IE folk
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
Header set X-UA-Compatible "IE=Edge,chrome=1"
|
||||
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
|
||||
<FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|woff2|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
|
||||
Header unset X-UA-Compatible
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Proper MIME type for all files
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# JavaScript
|
||||
# Normalize to standard type (it's sniffed in IE anyways)
|
||||
# tools.ietf.org/html/rfc4329#section-7.2
|
||||
AddType application/javascript js jsonp
|
||||
AddType application/json json
|
||||
|
||||
# Audio
|
||||
AddType audio/ogg oga ogg
|
||||
AddType audio/mp4 m4a f4a f4b
|
||||
|
||||
# Video
|
||||
AddType video/ogg ogv
|
||||
AddType video/mp4 mp4 m4v f4v f4p
|
||||
AddType video/webm webm
|
||||
AddType video/x-flv flv
|
||||
|
||||
# SVG
|
||||
# Required for svg webfonts on iPad
|
||||
# twitter.com/FontSquirrel/status/14855840545
|
||||
AddType image/svg+xml svg svgz
|
||||
AddEncoding gzip svgz
|
||||
|
||||
# Webfonts
|
||||
AddType application/vnd.ms-fontobject eot
|
||||
AddType application/x-font-ttf ttf ttc
|
||||
AddType font/opentype otf
|
||||
AddType application/x-font-woff woff
|
||||
AddType application/font-woff2 woff2
|
||||
|
||||
# Assorted types
|
||||
AddType image/x-icon ico
|
||||
AddType image/webp webp
|
||||
AddType text/cache-manifest appcache manifest
|
||||
AddType text/x-component htc
|
||||
AddType application/xml rss atom xml rdf
|
||||
AddType application/x-chrome-extension crx
|
||||
AddType application/x-opera-extension oex
|
||||
AddType application/x-xpinstall xpi
|
||||
AddType application/octet-stream safariextz
|
||||
AddType application/x-web-app-manifest+json webapp
|
||||
AddType text/x-vcard vcf
|
||||
AddType application/x-shockwave-flash swf
|
||||
AddType text/vtt vtt
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Gzip compression
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Compress all output labeled with one of the following MIME-types
|
||||
<IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||
application/javascript \
|
||||
application/json \
|
||||
application/rss+xml \
|
||||
application/vnd.ms-fontobject \
|
||||
application/x-font-ttf \
|
||||
application/xhtml+xml \
|
||||
application/xml \
|
||||
font/opentype \
|
||||
image/svg+xml \
|
||||
image/x-icon \
|
||||
text/css \
|
||||
text/html \
|
||||
text/plain \
|
||||
text/x-component \
|
||||
text/xml
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Start rewrite engine
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Turning on the rewrite engine is necessary for the following rules and
|
||||
# features. FollowSymLinks must be enabled for this to work.
|
||||
|
||||
# Some cloud hosting services require RewriteBase to be set: goo.gl/HOcPN
|
||||
# If using the h5bp in a subdirectory, use `RewriteBase /foo` instead where
|
||||
# 'foo' is your directory.
|
||||
|
||||
# If your web host doesn't allow the FollowSymlinks option, you may need to
|
||||
# comment it out and use `Options +SymLinksOfOwnerMatch`, but be aware of the
|
||||
# performance impact: http://goo.gl/Mluzd
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
<Directory "${HOME}">
|
||||
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride All
|
||||
Order Allow,Deny
|
||||
Allow from All
|
||||
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
|
||||
# Rules have NE added to the end in order to preserve either explicit or implicit # anchor tags
|
||||
|
||||
# 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]
|
||||
|
||||
# Welcome page redirects
|
||||
RewriteRule ^(online|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]
|
||||
|
||||
# Overview page has moved to Index page
|
||||
RewriteRule ^(.*)/overview\.html(.*)$ /$1/index.html$2 [NE,L,R=301]
|
||||
|
||||
# OCP redirects for 3.9
|
||||
RewriteRule ^container-platform/3\.9/install_config/deploying_cfme\.html(.*)$ container-platform/3.9/install_config/cfme/index.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.9/admin_solutions/index\.html(.*)$ container-platform/3.9/day_two_guide/index.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.9/admin_solutions/master_node_config\.html(.*)$ container-platform/3.9/install_config/master_node_configuration.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.9/admin_solutions/user_role_mgmt\.html(.*)$ container-platform/3.9/admin_guide/manage_users.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.9/admin_solutions/authentication\.html(.*)$ container-platform/3.9/install_config/configuring_authentication.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.9/admin_solutions/certificate_management\.html(.*)$ container-platform/3.9/day_two_guide/certificate_management.html [L,R=301]
|
||||
|
||||
# OCP redirects for 3.7
|
||||
RewriteRule ^container-platform/3\.7/install_config/deploying_cfme\.html(.*)$ container-platform/3.7/install_config/cfme/index.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.7/rest_api/(openshift|kubernetes)_v1\.html(.*)$ /container-platform/3.7/rest_api/index.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.7/admin_guide/manage_authorization_policy\.html(.*)$ /container-platform/3.7/admin_guide/manage_rbac.html [L,R=301]
|
||||
RewriteRule ^container-platform/3\.7/admin_guide/aws_cluster_labeling\.html(.*)$ /container-platform/3.7/install_config/configuring_aws.html#aws-cluster-labeling [NE,L,R=301]
|
||||
|
||||
# Online/Dedicated/OCP redirects for 3.6
|
||||
RewriteRule ^(online|dedicated|container-platform/3\.6)/architecture/additional_concepts/port_forwarding\.html(.*)$ /$1/architecture/networking/port_forwarding.html$2 [NE,L,R=301]
|
||||
RewriteRule ^(online|dedicated|container-platform/3\.6)/architecture/additional_concepts/remote_commands\.html(.*)$ /$1/architecture/networking/remote_commands.html$2 [NE,L,R=301]
|
||||
RewriteRule ^(online|dedicated|container-platform/3\.6)/architecture/additional_concepts/sdn\.html(.*)$ /$1/architecture/networking/sdn.html$2 [NE,L,R=301]
|
||||
RewriteRule ^(online|dedicated|container-platform/3\.6)/architecture/additional_concepts/networking\.html(.*)$ /$1/architecture/networking/networking.html$2 [NE,L,R=301]
|
||||
RewriteRule ^(online|dedicated|container-platform/3\.6)/architecture/core_concepts/haproxy-router\.html(.*)$ /$1/architecture/networking/haproxy-router.html$2 [NE,L,R=301]
|
||||
RewriteRule ^(online|dedicated|container-platform/3\.6)/architecture/core_concepts/routes\.html(.*)$ /$1/architecture/networking/routes.html$2 [NE,L,R=301]
|
||||
# Exempt for dedicated due to redirect later
|
||||
RewriteRule ^(online|container-platform/3\.6)/architecture/additional_concepts/f5_big_ip\.html(.*)$ /$1/architecture/networking/network_plugins.html#architecture-additional-concepts-f5-big-ip [NE,L,R=301]
|
||||
RewriteRule ^(online|container-platform/3\.6)/architecture/additional_concepts/flannel\.html(.*)$ /$1/architecture/networking/network_plugins.html#flannel-sdn [NE,L,R=301]
|
||||
|
||||
# Online/Dedicated/OCP redirects for 3.7
|
||||
RewriteRule ^dedicated/admin_guide/manage_authorization_policy\.html(.*)$ /dedicated/admin_guide/manage_rbac.html [L,R=301]
|
||||
|
||||
# Developers console redirect
|
||||
RewriteRule ^online/getting_started/developers/developers_console\.html(.*)$ /online/getting_started/index.html$1 [NE,L,R=301]
|
||||
RewriteRule ^dedicated/getting_started/developers/developers_console\.html(.*)$ /dedicated/getting_started/developers_console.html$1 [NE,L,R=301]
|
||||
RewriteRule ^(container-platform|enterprise)/(3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/getting_started/developers/developers_console\.html(.*)$ $1/$2/getting_started/developers_console.html$3 [NE,L,R=301]
|
||||
|
||||
# Deployments redirect
|
||||
RewriteRule ^(online|dedicated)/dev_guide/deployments\.html(.*)$ /$1/dev_guide/deployments/how_deployments_work.html$2 [NE,L,R=301]
|
||||
RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7)/dev_guide/deployments\.html(.*)$ /container-platform/$1/dev_guide/deployments/how_deployments_work.html$2 [NE,L,R=301]
|
||||
|
||||
# New App redirect
|
||||
RewriteRule ^(online|dedicated)/dev_guide/new_app\.html(.*)$ /$1/dev_guide/application_lifecycle/new_app.html$2 [NE,L,R=301]
|
||||
RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7)/dev_guide/new_app\.html(.*)$ /container-platform/$1/dev_guide/application_lifecycle/new_app.html$2 [NE,L,R=301]
|
||||
|
||||
# Builds redirect
|
||||
RewriteRule ^(online|dedicated)/dev_guide/builds\.html(.*)$ /$1/dev_guide/builds/index.html$2 [NE,L,R=301]
|
||||
RewriteRule ^(online|dedicated)/dev_guide/builds\.html#build-hooks$ /$1/dev_guide/builds/build_hooks.html$2 [NE,L,R=301]
|
||||
RewriteRule ^container-platform/(3\.4|3\.5|3\.6|3\.7)/dev_guide/builds\.html(.*)$ /container-platform/$1/dev_guide/builds/index.html$2 [NE,L,R=301]
|
||||
RewriteRule ^container-platform/(3\.4|3\.5|3\.6|3\.7)/dev_guide/builds\.html#build-hooks$ /container-platform/$1/dev_guide/builds/build_hooks.html$2 [NE,L,R=301]
|
||||
|
||||
# XPaaS redirect
|
||||
RewriteRule ^(online|dedicated)/using_images/xpaas_images/eap\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-eap-image/ [L,R=301]
|
||||
# Page currently missing - RewriteRule ^(online|dedicated)/using_images/xpaas_images/a_mq\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-a-mq-image/ [L,R=301]
|
||||
RewriteRule ^(online|dedicated)/using_images/xpaas_images/jws\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-jboss-web-server-image/ [L,R=301]
|
||||
RewriteRule ^(online|dedicated)/using_images/xpaas_images/fuse\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-fuse-integration-services-image/ [L,R=301]
|
||||
RewriteRule ^(online|dedicated)/using_images/xpaas_images/decision_server\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-decision-server-image/ [L,R=301]
|
||||
RewriteRule ^(online|dedicated)/using_images/xpaas_images/data_grid\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-data-grid-image/ [L,R=301]
|
||||
RewriteRule ^(online|dedicated)/using_images/xpaas_images/sso\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-sso-image/ [L,R=301]
|
||||
|
||||
# Online specific redirects
|
||||
RewriteRule ^online/creating_images/custom\.html(.*)$ /online/welcome/index.html [L,R=301]
|
||||
RewriteRule ^online/getting_started/devpreview_faq\.html(.*)$ https://www.openshift.com/pricing/index.html [L,R=301]
|
||||
RewriteRule ^online/dev_guide/daemonsets\.html(.*)$ /online/welcome/index.html [L,R=301]
|
||||
RewriteRule ^online/dev_guide/event_notifications\.html(.*)$ /online/dev_guide/notifications.html$1 [NE,L,R=301]
|
||||
|
||||
# Dedicated specific redirects
|
||||
RewriteRule ^dedicated/admin_guide/osd_imagestreams_templates\.html(.*) /dedicated/admin_guide/index.html$1 [NE,L,R=301]
|
||||
RewriteRule ^dedicated/dev_guide/getting_traffic_into_cluster\.html(.*) /dedicated/welcome/index.html$1 [NE,L,R=301]
|
||||
RewriteRule ^dedicated/architecture/additional_concepts/f5_big_ip\.html(.*) /dedicated/welcome/index.html$1 [NE,L,R=301]
|
||||
RewriteRule ^dedicated/architecture/additional_concepts/flannel\.html(.*) /dedicated/welcome/index.html$1 [NE,L,R=301]
|
||||
|
||||
# OCP specific redirects
|
||||
RewriteRule ^(container-platform|enterprise)/(3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/architecture/additional_concepts/throttling\.html(.*)$ /$1/$2/admin_guide/overcommit.html$3 [NE,L,R=301]
|
||||
RewriteRule ^(container-platform|enterprise)/(.[^/])/admin_guide/install/(advanced_install|deploy_router|docker_registry|first_steps|overview|prerequisites|quick_install|upgrades)\.html(.*)$ /$1/$2/install_config/install/$3.html$4 [NE,R=301]
|
||||
RewriteRule ^(container-platform|enterprise)/(.[^/])/admin_guide/upgrades\.html(.*) /$1/$2/install_config/upgrades.html$3 [NE,R=301]
|
||||
RewriteRule ^(container-platform|enterprise)/(3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/admin_guide/(aggregate_logging|cluster_metrics|configuring_authentication|configuring_aws|configuring_gce|configuring_openstack|http_proxies|master_node_configuration|native_container_routing|routing_from_edge_lb|syncing_groups_with_ldap|web_console_customization)\.html(.*)$ /$1/$2/install_config/$3.html$4 [NE,R=301]
|
||||
RewriteRule ^(container-platform|enterprise)/(3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/admin_guide/selfprovisioned_projects\.html(.*)$ /$1/$2/admin_guide/managing_projects.html$3 [NE,R=301]
|
||||
RewriteRule ^(container-platform|enterprise)/(3\.1|3\.2|3\.3|3\.4|3\.5|3\.6)/install_config/upgrades\.html(.*)$ /$1/$2/install_config/upgrading/index.html$3 [NE,R=301]
|
||||
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]
|
||||
|
||||
</Directory>
|
||||
</IfModule>
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Prevent 404 errors for non-existing redirected folders
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the
|
||||
# same name does not exist.
|
||||
# webmasterworld.com/apache/3808792.htm
|
||||
|
||||
Options -MultiViews
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Custom 404 page
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# You can add custom pages to handle 500 or 403 pretty easily, if you like.
|
||||
# If you are hosting your site in subdirectory, adjust this accordingly
|
||||
# e.g. ErrorDocument 404 /subdir/404.html
|
||||
ErrorDocument 404 /404.html
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# UTF-8 encoding
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Use UTF-8 encoding for anything served text/plain or text/html
|
||||
AddDefaultCharset utf-8
|
||||
|
||||
# Force UTF-8 for a number of file formats
|
||||
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# A little more security
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# "-Indexes" will have Apache block users from browsing folders without a
|
||||
# default document Usually you should leave this activated, because you
|
||||
# shouldn't allow everybody to surf through every folder on your server (which
|
||||
# includes rather private places like CMS system folders).
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
# Block access to "hidden" directories or files whose names begin with a
|
||||
# period. This includes directories used by version control systems such as
|
||||
# Subversion or Git.
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||
RewriteCond %{SCRIPT_FILENAME} -f
|
||||
RewriteRule "(^|/)\." - [F]
|
||||
</IfModule>
|
||||
|
||||
# Block access to backup and source files. These files may be left by some
|
||||
# text/html editors and pose a great security danger, when anyone can access
|
||||
# them.
|
||||
<FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$">
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Satisfy All
|
||||
</FilesMatch>
|
||||
218
.s2i/httpd-cfg/01-community.conf
Normal file
@@ -0,0 +1,218 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Better website experience for IE users
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Force the latest IE version, in various cases when it may fall back to IE7 mode
|
||||
# github.com/rails/rails/commit/123eb25#commitcomment-118920
|
||||
# Use ChromeFrame if it's installed for a better experience for the poor IE folk
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
Header set X-UA-Compatible "IE=Edge,chrome=1"
|
||||
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
|
||||
<FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|woff2|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
|
||||
Header unset X-UA-Compatible
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Proper MIME type for all files
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# JavaScript
|
||||
# Normalize to standard type (it's sniffed in IE anyways)
|
||||
# tools.ietf.org/html/rfc4329#section-7.2
|
||||
AddType application/javascript js jsonp
|
||||
AddType application/json json
|
||||
|
||||
# Audio
|
||||
AddType audio/ogg oga ogg
|
||||
AddType audio/mp4 m4a f4a f4b
|
||||
|
||||
# Video
|
||||
AddType video/ogg ogv
|
||||
AddType video/mp4 mp4 m4v f4v f4p
|
||||
AddType video/webm webm
|
||||
AddType video/x-flv flv
|
||||
|
||||
# SVG
|
||||
# Required for svg webfonts on iPad
|
||||
# twitter.com/FontSquirrel/status/14855840545
|
||||
AddType image/svg+xml svg svgz
|
||||
AddEncoding gzip svgz
|
||||
|
||||
# Webfonts
|
||||
AddType application/vnd.ms-fontobject eot
|
||||
AddType application/x-font-ttf ttf ttc
|
||||
AddType font/opentype otf
|
||||
AddType application/x-font-woff woff
|
||||
AddType application/font-woff2 woff2
|
||||
|
||||
# Assorted types
|
||||
AddType image/x-icon ico
|
||||
AddType image/webp webp
|
||||
AddType text/cache-manifest appcache manifest
|
||||
AddType text/x-component htc
|
||||
AddType application/xml rss atom xml rdf
|
||||
AddType application/x-chrome-extension crx
|
||||
AddType application/x-opera-extension oex
|
||||
AddType application/x-xpinstall xpi
|
||||
AddType application/octet-stream safariextz
|
||||
AddType application/x-web-app-manifest+json webapp
|
||||
AddType text/x-vcard vcf
|
||||
AddType application/x-shockwave-flash swf
|
||||
AddType text/vtt vtt
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Gzip compression
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Compress all output labeled with one of the following MIME-types
|
||||
<IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||
application/javascript \
|
||||
application/json \
|
||||
application/rss+xml \
|
||||
application/vnd.ms-fontobject \
|
||||
application/x-font-ttf \
|
||||
application/xhtml+xml \
|
||||
application/xml \
|
||||
font/opentype \
|
||||
image/svg+xml \
|
||||
image/x-icon \
|
||||
text/css \
|
||||
text/html \
|
||||
text/plain \
|
||||
text/x-component \
|
||||
text/xml
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Start rewrite engine
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Turning on the rewrite engine is necessary for the following rules and
|
||||
# features. FollowSymLinks must be enabled for this to work.
|
||||
|
||||
# Some cloud hosting services require RewriteBase to be set: goo.gl/HOcPN
|
||||
# If using the h5bp in a subdirectory, use `RewriteBase /foo` instead where
|
||||
# 'foo' is your directory.
|
||||
|
||||
# If your web host doesn't allow the FollowSymlinks option, you may need to
|
||||
# comment it out and use `Options +SymLinksOfOwnerMatch`, but be aware of the
|
||||
# performance impact: http://goo.gl/Mluzd
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
<Directory "${HOME}">
|
||||
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride All
|
||||
Order Allow,Deny
|
||||
Allow from All
|
||||
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
|
||||
# Rules have NE added to the end in order to preserve either explicit or implicit # anchor tags
|
||||
|
||||
# Redirects for "latest" version
|
||||
RewriteRule ^origin-m4/?$ /latest/ [R=301]
|
||||
|
||||
# Welcome page redirects
|
||||
RewriteRule ^(latest|[0-9.]+)/?$ /$1/welcome/index.html [L,R=301]
|
||||
|
||||
# Overview page has moved to Index page
|
||||
RewriteRule ^(.*)/overview\.html(.*)$ /$1/index.html$2 [NE,L,R=301]
|
||||
|
||||
# Developers console redirect
|
||||
RewriteRule ^(latest|[0-9.]+)/getting_started/developers/developers_console\.html(.*)$ /$1/getting_started/developers_console.html$2 [NE,L,R=301]
|
||||
|
||||
# Deployments redirect
|
||||
RewriteRule ^(latest|[0-9.]+)/dev_guide/deployments\.html(.*)$ /$1/dev_guide/deployments/how_deployments_work.html$2 [NE,L,R=301]
|
||||
|
||||
# Builds redirect
|
||||
RewriteRule ^(latest|[0-9.]+)/dev_guide/builds\.html(.*)$ /$1/dev_guide/builds/index.html$2 [NE,L,R=301]
|
||||
|
||||
# Other specific redirects
|
||||
RewriteRule ^latest/admin_guide/build_defaults_overrides\.html(.*)$ /latest/install_config/build_defaults_overrides.html$1 [NE,L,R=301]
|
||||
RewriteRule ^latest/admin_guide/install/(advanced_install|deploy_router|docker_registry|first_steps|overview|prerequisites|quick_install|upgrades)\.html(.*)$ /latest/install_config/install/$1.html$2 [NE,R=301]
|
||||
RewriteRule ^(latest|[0-9.]+)/admin_guide/upgrades\.html(.*) /$1/install_config/upgrades.html$2 [NE,R=301]
|
||||
RewriteRule ^(latest|[0-9.]+)/admin_guide/(aggregate_logging|cluster_metrics|configuring_authentication|configuring_aws|configuring_gce|configuring_openstack|http_proxies|master_node_configuration|native_container_routing|routing_from_edge_lb|syncing_groups_with_ldap|web_console_customization)\.html(.*)$ /$1/install_config/$2.html$3 [NE,R=301]
|
||||
RewriteRule ^(latest|[0-9.]+)/admin_guide/persistent_storage/(persistent_storage_aws|persistent_storage_cinder|persistent_storage_gce|persistent_storage_glusterfs|persistent_storage_nfs)\.html(.*)$ /$1/install_config/persistent_storage/$2.html$3 [NE,R=301]
|
||||
RewriteRule ^latest/admin_guide/selfprovisioned_projects\.html(.*)$ /$1/$2/admin_guide/managing_projects.html$3 [NE,R=301]
|
||||
RewriteRule ^latest/install_config/upgrades\.html(.*)$ /latest/install_config/upgrading/index.html$1 [NE,R=301]
|
||||
RewriteRule ^latest/install_config/upgrading/(.*)$ /latest/upgrading/$1 [NE,R=301]
|
||||
|
||||
</Directory>
|
||||
</IfModule>
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Prevent 404 errors for non-existing redirected folders
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the
|
||||
# same name does not exist.
|
||||
# webmasterworld.com/apache/3808792.htm
|
||||
|
||||
Options -MultiViews
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Custom 404 page
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# You can add custom pages to handle 500 or 403 pretty easily, if you like.
|
||||
# If you are hosting your site in subdirectory, adjust this accordingly
|
||||
# e.g. ErrorDocument 404 /subdir/404.html
|
||||
ErrorDocument 404 /404.html
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# UTF-8 encoding
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Use UTF-8 encoding for anything served text/plain or text/html
|
||||
AddDefaultCharset utf-8
|
||||
|
||||
# Force UTF-8 for a number of file formats
|
||||
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# A little more security
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# "-Indexes" will have Apache block users from browsing folders without a
|
||||
# default document Usually you should leave this activated, because you
|
||||
# shouldn't allow everybody to surf through every folder on your server (which
|
||||
# includes rather private places like CMS system folders).
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
# Block access to "hidden" directories or files whose names begin with a
|
||||
# period. This includes directories used by version control systems such as
|
||||
# Subversion or Git.
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||
RewriteCond %{SCRIPT_FILENAME} -f
|
||||
RewriteRule "(^|/)\." - [F]
|
||||
</IfModule>
|
||||
|
||||
# Block access to backup and source files. These files may be left by some
|
||||
# text/html editors and pose a great security danger, when anyone can access
|
||||
# them.
|
||||
<FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$">
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Satisfy All
|
||||
</FilesMatch>
|
||||
13
.travis.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
language: ruby
|
||||
cache: bundler
|
||||
rvm:
|
||||
- 2.3.1
|
||||
gemfile: Gemfile
|
||||
after_install: gem list
|
||||
script: bundle exec rake build
|
||||
notifications:
|
||||
email:
|
||||
#recipients:
|
||||
# - dev@lists.openshift.redhat.com
|
||||
irc:
|
||||
- "irc.freenode.org#openshift-dev"
|
||||
218
404-commercial.html
Normal file
@@ -0,0 +1,218 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="ie8"><![endif]-->
|
||||
<!--[if IE 9]><html class="ie9"><![endif]-->
|
||||
<!--[if gt IE 9]><!-->
|
||||
<html>
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="google-site-verification" content="MCaLEYfZB8HfZSTyMQYZyBeRMXGoKt46uvrwEp-KN3M">
|
||||
<title>404 | Red Hat OpenShift Documentation</title>
|
||||
<link href="https:/docs.openshift.com/" rel="canonical">
|
||||
<link href="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" rel="apple-touch-icon-precomposed" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/subdomain/favicon32x32.png" rel="shortcut icon" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/osh-nav-footer.css" rel="stylesheet" type="text/css" media="screen, print" />
|
||||
<link href="https://assets.openshift.net/content/subdomain.css" rel="stylesheet" media="screen, print">
|
||||
<link href="_stylesheets/commercial-home.css" rel="stylesheet">
|
||||
<!--[if IE]><link rel="shortcut icon" href="https://assets.openshift.net/content/subdomain/favicon.ico"><![endif]-->
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://assets.openshift.net/content/html5shiv.js"></script>
|
||||
<script src="https://assets.openshift.net/content/respond.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IE8 requires jQuery and Bootstrap JS to load in head to prevent rendering bugs -->
|
||||
<!-- IE8 requires jQuery v1.x -->
|
||||
<script src="https://assets.openshift.net/content/modernizr.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/subdomain.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/nav-tertiary.js" type="text/javascript"></script>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-PMDVKG');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
|
||||
<!-- End Adobe DTM -->
|
||||
</head>
|
||||
<body class="docs docs-home">
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PMDVKG"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
||||
<nav id="main">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="navbar navbar-default navbar-openshift" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<a href="#nav-main" class="dropdown-toggle navbar-menu-toggle hidden visible-xs" data-toggle="collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="navbar-brand" target="_blank" href="https://www.openshift.com"></a>
|
||||
</div>
|
||||
<div id="nav-main" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Products <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/">Overview</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/features/">Features</a></li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/online/">Online</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/online/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftOnline_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>The fastest way for developers to build, host and scale applications in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/dedicated/">Dedicated</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/dedicated/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftDedicated_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Single-tenant, high-availability Kubernetes clusters in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/container-platform/">Container Platform</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/container-platform/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftContainerPlatform_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Build, deploy and manage your applications across cloud- and on-premise infrastructure</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/quay/">Quay</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/pricing/">Pricing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Learn <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/what-is-openshift/">What Is OpenShift</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/get-started/">Get Started</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Technology Topics <span class="fa fa-angle-right"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="display: none;">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/security/">Security</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/kubernetes/">Kubernetes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/partners/">Partners</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/success-stories/">Customer success stories</a></li>
|
||||
<li><a target="_blank" href="https://blog.openshift.com">Blog</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/resources/">Resources</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Community <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://commons.openshift.org">OpenShift Commons</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.org">Open Source (Origin)</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/startups/">Startups</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/grants/">Grants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Support <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://help.openshift.com">Help Center</a></li>
|
||||
<li><a href="https://docs.openshift.com">OpenShift Docs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a class="nav-sign-up" target="_blank" href="https://www.openshift.com/trial/">Free Trial</a></li>
|
||||
|
||||
<li><a target="_blank" href="https://manage.openshift.com" class="nav-log-in">Sign In <span class="fa fa-angle-right"></span></a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<h1>Not found</h1>
|
||||
<p>Sorry, but the page you were trying to view does not exist.</p>
|
||||
<p>It looks like this was the result of either:</p>
|
||||
<ul>
|
||||
<li>a mistyped address</li>
|
||||
<li>an out-of-date link</li>
|
||||
</ul>
|
||||
<p><a role="button" class="btn btn-default" href="/"><i class="fa fa-arrow-circle-o-left"></i> Docs</a></p>
|
||||
<script>
|
||||
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
|
||||
</script>
|
||||
<script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer id="rh">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<img src="https://assets.openshift.net/content/subdomain/redhat_logo.svg" class="img-fluid" alt="Red Hat" style="height: 40px;">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<p>Copyright © 2018 <span class="text-nowrap">Red Hat, Inc.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<nav class="nav">
|
||||
<a href="https://www.redhat.com/en/about/privacy-policy" class="nav-link">Privacy statement</a>
|
||||
<a href="https://www.openshift.com/legal/terms/" class="nav-link">Terms of use</a>
|
||||
<a href="https://www.redhat.com/en/about/all-policies-guidelines" class="nav-link">All policies and guidelines</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="hidden-sm col-sm-2 powered-by">
|
||||
<a href="https://www.openshift.com/" title="Powered by OpenShift Online">
|
||||
<img src="https://www.openshift.com/images/logos/powered_by_openshift_reverse.png" alt="Powered by OpenShift Online">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script type="text/javascript">
|
||||
if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {
|
||||
_satellite.pageBottom();
|
||||
}
|
||||
</script>
|
||||
<!-- End Adobe DTM -->
|
||||
</body>
|
||||
</html>
|
||||
69
404-community.html
Normal file
@@ -0,0 +1,69 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]> <html class="ie8"> <![endif]-->
|
||||
<!--[if IE 9]> <html class="ie9"> <![endif]-->
|
||||
<!--[if gt IE 9]><!-->
|
||||
<html>
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title>404 | OpenShift Origin Documentation</title>
|
||||
<link href="https://assets.openshift.net/content/subdomain.css" rel="stylesheet" type="text/css">
|
||||
<link href="latest/_stylesheets/docs.css" rel="stylesheet" />
|
||||
<link href="latest/_stylesheets/search.css" rel="stylesheet" />
|
||||
<link href="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" rel="apple-touch-icon-precomposed" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/subdomain/favicon32x32.png" rel="shortcut icon" type="text/css">
|
||||
<!--[if IE]><link rel="shortcut icon" href="https://assets.openshift.net/content/subdomain/favicon.ico"><![endif]-->
|
||||
<!-- or, set /favicon.ico for IE10 win -->
|
||||
<meta content="OpenShift" name="application-name">
|
||||
<meta content="#000000" name="msapplication-TileColor">
|
||||
<meta content="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" name="msapplication-TileImage">
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://assets.openshift.net/content/html5shiv.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/respond.js" type="text/javascript"></script>
|
||||
<link href="https://assets.openshift.net/content/vendor/respond-js/respond-proxy.html" id="respond-proxy" rel="respond-proxy">
|
||||
<link href="latest/_images/respond.proxy.gif" id="respond-redirect" rel="respond-redirect">
|
||||
<script src="latest/_javascripts/respond.proxy.js" type="text/javascript"></script>
|
||||
<![endif]-->
|
||||
<script src="https://assets.openshift.net/content/modernizr.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/subdomain.js" type="text/javascript"></script>
|
||||
<script src="latest/_javascripts/bootstrap-offcanvas.js" type="text/javascript"></script>
|
||||
<script src="latest/_javascripts/reformat-html.js" type="text/javascript"></script>
|
||||
<script src="latest/_javascripts/hc-search.js" type="text/javascript"></script>
|
||||
<script async src="//www.google-analytics.com/analytics.js" type="text/javascript"></script>
|
||||
<script>
|
||||
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||||
ga('create', 'UA-40375612-1', 'openshift.org');
|
||||
ga('set', 'forceSSL', true);
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="navbar navbar-default navbar-openshift navbar-origin" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand origin" href="/"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<h1>Not found</h1>
|
||||
<p>Sorry, but the page you were trying to view does not exist.</p>
|
||||
<p>It looks like this was the result of either:</p>
|
||||
<ul>
|
||||
<li>a mistyped address</li>
|
||||
<li>an out-of-date link</li>
|
||||
</ul>
|
||||
<p><a role="button" class="btn btn-default" href="/"><i class="fa fa-arrow-circle-o-left"></i> Docs</a></p>
|
||||
<script>
|
||||
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
|
||||
</script>
|
||||
<script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
Gemfile
Normal file
@@ -0,0 +1,3 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem 'ascii_binder', '~>0.1.5'
|
||||
3
Guardfile
Normal file
@@ -0,0 +1,3 @@
|
||||
require 'ascii_binder'
|
||||
gem_dir = Gem::Specification.find_by_name("ascii_binder").lib_dirs_glob
|
||||
instance_eval(File.read(File.join(gem_dir, 'ascii_binder/tasks/guards.rb')))
|
||||
117
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env groovy
|
||||
|
||||
// Pipeline variables
|
||||
def isPR=false // true if the branch being tested belongs to a PR
|
||||
def project="" // project where build and deploy will occur
|
||||
def projectCreated=false // true if a project was created by this build and needs to be cleaned up
|
||||
def repoUrl="" // the URL of this project's repository
|
||||
def appName="openshift-docs" // name of application to create
|
||||
def approved=false // true if the preview was approved
|
||||
|
||||
// uniqueName returns a name with a 16-character random character suffix
|
||||
def uniqueName = { String prefix ->
|
||||
sh "cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 16 | head -n 1 > suffix"
|
||||
suffix = readFile("suffix").trim()
|
||||
return prefix + suffix
|
||||
}
|
||||
|
||||
// setBuildStatus sets a status item on a GitHub commit
|
||||
def setBuildStatus = { String url, String context, String message, String state, String backref ->
|
||||
step([
|
||||
$class: "GitHubCommitStatusSetter",
|
||||
reposSource: [$class: "ManuallyEnteredRepositorySource", url: url ],
|
||||
contextSource: [$class: "ManuallyEnteredCommitContextSource", context: context ],
|
||||
errorHandlers: [[$class: "ChangingBuildStatusErrorHandler", result: "UNSTABLE"]],
|
||||
statusBackrefSource: [ $class: "ManuallyEnteredBackrefSource", backref: backref ],
|
||||
statusResultSource: [ $class: "ConditionalStatusResultSource", results: [
|
||||
[$class: "AnyBuildResult", message: message, state: state]] ]
|
||||
]);
|
||||
}
|
||||
|
||||
// getRepoURL retrieves the origin URL of the current source repository
|
||||
def getRepoURL = {
|
||||
sh "git config --get remote.origin.url > originurl"
|
||||
return readFile("originurl").trim()
|
||||
}
|
||||
|
||||
// getRouteHostname retrieves the host name from the given route in an
|
||||
// OpenShift namespace
|
||||
def getRouteHostname = { String routeName, String projectName ->
|
||||
sh "oc get route ${routeName} -n ${projectName} -o jsonpath='{ .spec.host }' > apphost"
|
||||
return readFile("apphost").trim()
|
||||
}
|
||||
|
||||
// setPreviewStatus sets a status item for each openshift-docs release
|
||||
def setPreviewStatus = { String url, String message, String state, String host, boolean includeLink ->
|
||||
setBuildStatus(url, "ci/app-preview/origin", message, state, includeLink ? "http://${host}/openshift-origin/latest/welcome/index.html" : "")
|
||||
setBuildStatus(url, "ci/app-preview/enterprise", message, state, includeLink ? "http://${host}/openshift-enterprise/master/welcome/index.html" : "")
|
||||
setBuildStatus(url, "ci/app-preview/online", message, state, includeLink ? "http://${host}/openshift-online/master/welcome/index.html" : "")
|
||||
setBuildStatus(url, "ci/app-preview/dedicated", message, state, includeLink ? "http://${host}/openshift-dedicated/master/welcome/index.html" : "")
|
||||
}
|
||||
|
||||
try { // Use a try block to perform cleanup in a finally block when the build fails
|
||||
|
||||
node {
|
||||
// Initialize variables in default node context
|
||||
isPR = env.BRANCH_NAME ? env.BRANCH_NAME.startsWith("PR") : false
|
||||
baseProject = env.PROJECT_NAME
|
||||
project = env.PROJECT_NAME
|
||||
|
||||
stage ('Checkout') {
|
||||
checkout scm
|
||||
repoUrl = getRepoURL()
|
||||
}
|
||||
|
||||
// When testing a PR, create a new project to perform the build
|
||||
// and deploy artifacts.
|
||||
if (isPR) {
|
||||
stage ('Create PR Project') {
|
||||
setPreviewStatus(repoUrl, "Building application", "PENDING", "", false)
|
||||
setBuildStatus(repoUrl, "ci/approve", "Aprove after testing", "PENDING", "")
|
||||
project = uniqueName("${appName}-")
|
||||
sh "oc new-project ${project}"
|
||||
projectCreated=true
|
||||
sh "oc policy add-role-to-group view system:authenticated -n ${project}"
|
||||
}
|
||||
}
|
||||
|
||||
stage ('Apply object configurations') {
|
||||
sh "oc process -f _openshift/docs-template.yaml -n ${project} | oc apply -f - -n ${project}"
|
||||
}
|
||||
|
||||
stage ('Build') {
|
||||
sh "oc start-build ${appName} -n ${project} --from-repo=. --follow"
|
||||
}
|
||||
|
||||
|
||||
if (isPR) {
|
||||
stage ('Verify Service') {
|
||||
openshiftVerifyService serviceName: appName, namespace: project
|
||||
}
|
||||
def appHostName = getRouteHostname(appName, project)
|
||||
setPreviewStatus(repoUrl, "The application is available", "SUCCESS", "${appHostName}", true)
|
||||
setBuildStatus(repoUrl, "ci/approve", "Approve after testing", "PENDING", "${env.BUILD_URL}input/")
|
||||
stage ('Manual Test') {
|
||||
timeout(time:2, unit:'DAYS') {
|
||||
input "Is everything OK?"
|
||||
}
|
||||
}
|
||||
approved = true
|
||||
setPreviewStatus(repoUrl, "Application previewed", "SUCCESS", "", false)
|
||||
setBuildStatus(repoUrl, "ci/approve", "Manually approved", "SUCCESS", "")
|
||||
}
|
||||
}
|
||||
}
|
||||
finally {
|
||||
if (projectCreated) {
|
||||
node {
|
||||
stage('Delete PR Project') {
|
||||
if (!approved) {
|
||||
setPreviewStatus(repoUrl, "Application previewed", "FAILURE", "", false)
|
||||
setBuildStatus(repoUrl, "ci/approve", "Rejected", "FAILURE", "")
|
||||
}
|
||||
sh "oc delete project ${project}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
569
LICENSE
Normal file
@@ -0,0 +1,569 @@
|
||||
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/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
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/.
|
||||
43
README.adoc
Normal file
@@ -0,0 +1,43 @@
|
||||
= OpenShift Documentation
|
||||
Welcome to the OpenShift documentation GitHub repository that contains the source files for the technical documentation for the following products:
|
||||
|
||||
* http://origin.openshift.com/[OpenShift Origin]
|
||||
* http://openshift.com/[OpenShift Online]
|
||||
* http://www.redhat.com/products/cloud-computing/openshift-enterprise/[OpenShift Enterprise]
|
||||
* https://www.openshift.com/dedicated/index.html[OpenShift Dedicated]
|
||||
|
||||
All OpenShift documentation is sourced in http://www.methods.co.nz/asciidoc/[AsciiDoc] and transformed into HTML/CSS and other formats through automation that is based on http://asciidoctor.org/[AsciiDoctor].
|
||||
|
||||
The documentation published from these source files can be viewed at http://docs.openshift.com.
|
||||
|
||||
== Contributing to OpenShift documentation
|
||||
If you are interested in contributing to OpenShift technical documentation, you can view all our link:./contributing_to_docs[resources] that will help you get set up and provide more information.
|
||||
|
||||
|
||||
The following table provides quick links to help you get started.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
|
||||
|Question |Link
|
||||
|
||||
|I'm interested, how do I contribute?
|
||||
|See the link:/contributing_to_docs/contributing.adoc[contributing] topic to learn more about this repository and how you can contribute.
|
||||
|
||||
|Are there any basic guidelines to help me?
|
||||
|The link:/contributing_to_docs/doc_guidelines.adoc[documentation guidelines] topic provides some basic guidelines to help us keep our content consistent, and includes other style information.
|
||||
|
||||
|How do I set up my workstation?
|
||||
|See the link:/contributing_to_docs/tools_and_setup.adoc[tools and setup] topic to set up your workstation.
|
||||
|
||||
|How do I edit an existing topic, or create new content?
|
||||
|See the link:/contributing_to_docs/create_or_edit_content.adoc[create or edit content] topic to get started.
|
||||
|===
|
||||
|
||||
== Contacts
|
||||
|
||||
For questions or comments about OpenShift documentation:
|
||||
|
||||
* OpenShift team members can be found on the http://webchat.freenode.net/?randomnick=1&channels=openshift&uio=d4[#openshift] and http://webchat.freenode.net/?randomnick=1&channels=openshift-dev&uio=d4[#openshift-dev] channels on http://www.freenode.net/[FreeNode].
|
||||
* You can also join the http://lists.openshift.redhat.com/openshiftmm/listinfo/users[Users] or http://lists.openshift.redhat.com/openshiftmm/listinfo/dev[Developers] mailing list.
|
||||
* Send an email to the OpenShift documentation team at openshift-docs@redhat.com.
|
||||
11
_distro_map.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
--
|
||||
openshift-enterprise:
|
||||
name: OpenShift Container Platform
|
||||
author: OpenShift Documentation Project <dev@lists.openshift.redhat.com>
|
||||
site: commercial
|
||||
site_name: Documentation
|
||||
site_url: https://docs.openshift.com/
|
||||
branches:
|
||||
enterprise-3.12:
|
||||
name: '3.12'
|
||||
dir: container-platform/3.12
|
||||
102
_images/asciibinder_web_logo.svg
Normal file
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="140px"
|
||||
height="33.444px" viewBox="200.005 47.745 140 33.444" enable-background="new 200.005 47.745 140 33.444" xml:space="preserve">
|
||||
<g id="Layer_2">
|
||||
<path fill="#FFFFFF" d="M340.005,79.115c0,1.146-0.929,2.074-2.074,2.074H202.08c-1.146,0-2.074-0.929-2.074-2.074V49.819
|
||||
c0-1.146,0.928-2.074,2.074-2.074h135.852c1.146,0,2.074,0.928,2.074,2.074V79.115z"/>
|
||||
</g>
|
||||
<g id="svg3452" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" sodipodi:docname="asciibinder_web_logo.svg" inkscape:version="0.91 r13725" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||
|
||||
<sodipodi:namedview id="base" inkscape:window-maximized="1" inkscape:window-y="0" inkscape:window-x="1920" inkscape:window-height="1409" inkscape:window-width="2560" fit-margin-bottom="3" fit-margin-right="4" fit-margin-left="4" fit-margin-top="4" showgrid="false" inkscape:current-layer="layer1" inkscape:document-units="px" inkscape:cy="-21.169069" inkscape:cx="326.39545" inkscape:zoom="1.1545455" inkscape:pageshadow="2" inkscape:pageopacity="0.0" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff">
|
||||
</sodipodi:namedview>
|
||||
<g id="layer1" transform="translate(-45.651797,-348.92496)" inkscape:groupmode="layer" inkscape:label="Layer 1">
|
||||
<g id="g4305" transform="matrix(1.1624734,0,0,1.1624734,1406.9902,-264.01854)">
|
||||
<path id="path4231" inkscape:connector-curvature="0" d="M-958.525,587.977c0.063,0.156,0.22,0.251,0.361,0.251
|
||||
c0.047,0,0.079-0.016,0.142-0.016c0.188-0.079,0.282-0.314,0.204-0.502l-3.815-10.189c-0.047-0.141-0.204-0.236-0.377-0.236
|
||||
c-0.157,0-0.314,0.094-0.377,0.236l-3.815,10.189c-0.078,0.188,0.031,0.423,0.22,0.502c0.047,0,0.11,0.016,0.141,0.016
|
||||
c0.157,0,0.298-0.095,0.361-0.251l0.973-2.591h5.008L-958.525,587.977L-958.525,587.977z M-961.994,578.713l2.213,5.903h-4.443
|
||||
L-961.994,578.713z"/>
|
||||
<path id="path4233" inkscape:connector-curvature="0" d="M-956.021,587.128c0.628,0.502,1.602,1.084,2.842,1.1
|
||||
c0.754,0,1.382-0.22,1.915-0.612c0.518-0.393,0.879-0.911,0.879-1.554c0-0.644-0.361-1.241-0.864-1.57
|
||||
c-0.534-0.298-1.13-0.518-1.868-0.628h-0.031c-0.707-0.11-1.225-0.298-1.57-0.533c-0.298-0.236-0.44-0.455-0.44-0.77
|
||||
s0.173-0.628,0.487-0.88c0.33-0.266,0.832-0.439,1.46-0.439c0.754,0,1.319,0.392,1.884,0.77c0.172,0.11,0.408,0.063,0.518-0.11
|
||||
s0.063-0.408-0.11-0.534c-0.596-0.377-1.303-0.832-2.292-0.832c-0.785,0-1.429,0.204-1.884,0.518
|
||||
c-0.487,0.361-0.832,0.895-0.832,1.507c0,0.596,0.345,1.099,0.832,1.381c0.44,0.314,1.052,0.472,1.743,0.597l0.031,0.016
|
||||
c0.754,0.125,1.303,0.313,1.633,0.565c0.392,0.33,0.533,0.581,0.549,0.943c0,0.345-0.204,0.691-0.581,0.942
|
||||
c-0.346,0.282-0.864,0.471-1.46,0.471c-0.974,0-1.821-0.503-2.355-0.896c-0.173-0.141-0.408-0.11-0.534,0.047
|
||||
C-956.194,586.783-956.178,586.987-956.021,587.128L-956.021,587.128z"/>
|
||||
<path id="path4235" inkscape:connector-curvature="0" d="M-944.4,588.228L-944.4,588.228c0.91,0,1.774-0.314,2.417-0.817
|
||||
c0.189-0.142,0.22-0.377,0.079-0.549c-0.126-0.141-0.345-0.188-0.518-0.063c-0.549,0.423-1.24,0.675-1.978,0.675
|
||||
c-1.79,0-3.203-1.382-3.203-3.109c0-1.695,1.413-3.093,3.203-3.093c0.738,0,1.429,0.251,1.978,0.691
|
||||
c0.173,0.125,0.392,0.078,0.518-0.063c0.141-0.173,0.11-0.408-0.047-0.518c-0.675-0.533-1.539-0.848-2.449-0.848
|
||||
c-2.198,0-3.956,1.696-3.956,3.831C-948.356,586.532-946.598,588.228-944.4,588.228L-944.4,588.228z"/>
|
||||
<path id="path4237" inkscape:connector-curvature="0" d="M-938.837,587.851c0,0.204,0.172,0.377,0.377,0.377
|
||||
c0.219,0,0.392-0.173,0.392-0.377v-6.939c0-0.22-0.173-0.377-0.392-0.377c-0.205,0-0.377,0.157-0.377,0.377V587.851z
|
||||
M-938.837,578.76c0,0.22,0.172,0.408,0.377,0.408c0.219,0,0.392-0.188,0.392-0.408V578.4c0-0.204-0.173-0.377-0.392-0.377
|
||||
c-0.205,0-0.377,0.173-0.377,0.377V578.76z"/>
|
||||
<path id="path4239" inkscape:connector-curvature="0" d="M-934.422,587.851c0,0.204,0.173,0.377,0.377,0.377
|
||||
c0.219,0,0.392-0.173,0.392-0.377v-6.939c0-0.22-0.173-0.377-0.392-0.377c-0.204,0-0.377,0.157-0.377,0.377V587.851z
|
||||
M-934.422,578.76c0,0.22,0.173,0.408,0.377,0.408c0.219,0,0.392-0.188,0.392-0.408V578.4c0-0.204-0.173-0.377-0.392-0.377
|
||||
c-0.204,0-0.377,0.173-0.377,0.377V578.76z"/>
|
||||
<path id="path4241" inkscape:connector-curvature="0" fill="#FF580D" d="M-928.986,588.228c0.016,0,0.016-0.016,0.047-0.016
|
||||
c0,0,0,0.016,0.016,0.016h2.779c1.852,0,3.359-1.507,3.359-3.375c0-1.194-0.643-2.246-1.585-2.842
|
||||
c0.376-0.502,0.596-1.115,0.596-1.79c0-1.649-1.334-2.983-2.982-2.983h-2.167c-0.016,0-0.016,0-0.016,0c-0.031,0-0.031,0-0.047,0
|
||||
c-0.471,0-0.864,0.377-0.864,0.864v9.262C-929.849,587.836-929.457,588.228-928.986,588.228z M-928.106,578.98h1.35
|
||||
c0.691,0,1.24,0.549,1.24,1.24c0,0.691-0.549,1.271-1.24,1.271h-1.35V578.98L-928.106,578.98z M-928.106,583.235h1.962
|
||||
c0.895,0.016,1.616,0.722,1.616,1.618c0,0.91-0.722,1.616-1.616,1.632h-1.962V583.235z"/>
|
||||
<path id="path4243" inkscape:connector-curvature="0" fill="#FF580D" d="M-919.621,580.393c-0.471,0-0.848,0.361-0.848,0.864
|
||||
v6.122c0,0.471,0.376,0.849,0.848,0.849c0.487,0,0.849-0.377,0.849-0.849v-6.122
|
||||
C-918.772,580.755-919.133,580.393-919.621,580.393z M-918.772,578.086c0-0.471-0.361-0.848-0.849-0.848
|
||||
c-0.471,0-0.848,0.377-0.848,0.848v0.329c0,0.471,0.376,0.864,0.848,0.864c0.487,0,0.849-0.392,0.849-0.864V578.086z"/>
|
||||
<path id="path4245" inkscape:connector-curvature="0" fill="#FF580D" d="M-912.803,580.378c-0.612,0-1.194,0.189-1.664,0.487
|
||||
c-0.141-0.298-0.44-0.487-0.77-0.487c-0.471,0-0.832,0.377-0.832,0.832v2.433l0,0v3.753c0,0.455,0.36,0.833,0.832,0.833
|
||||
c0.408,0,0.754-0.298,0.832-0.675c0.032-0.063,0.032-0.11,0.032-0.157v-3.753c0-0.879,0.691-1.585,1.57-1.585
|
||||
c0.895,0,1.632,0.706,1.632,1.585v3.753c0,0.455,0.392,0.833,0.833,0.833c0.454,0,0.816-0.377,0.816-0.833v-3.753
|
||||
C-909.522,581.87-910.981,580.378-912.803,580.378L-912.803,580.378z"/>
|
||||
<path id="path4247" inkscape:connector-curvature="0" fill="#FF580D" d="M-899.635,584.318L-899.635,584.318
|
||||
c0-0.016,0-0.016,0-0.016v-6.217c0-0.456-0.377-0.848-0.848-0.848c-0.487,0-0.864,0.392-0.864,0.848v2.951
|
||||
c-0.581-0.408-1.334-0.659-2.104-0.659c-2.12,0-3.815,1.79-3.815,3.941c0,2.12,1.695,3.91,3.815,3.91
|
||||
c0.785,0,1.539-0.267,2.135-0.675c0.079,0.377,0.408,0.675,0.833,0.675c0.47,0,0.848-0.392,0.848-0.849V584.318z
|
||||
M-901.974,582.733c0.392,0.392,0.628,0.958,0.628,1.585c0,0.596-0.235,1.162-0.628,1.554c-0.392,0.408-0.895,0.644-1.476,0.644
|
||||
c-0.565,0-1.083-0.235-1.475-0.644c-0.392-0.392-0.628-0.958-0.628-1.554c0-0.628,0.236-1.193,0.628-1.585
|
||||
c0.392-0.408,0.91-0.644,1.475-0.644C-902.869,582.089-902.366,582.325-901.974,582.733z"/>
|
||||
<path id="path4249" inkscape:connector-curvature="0" fill="#FF580D" d="M-893.347,588.228c1.115,0,2.041-0.33,2.81-1.037
|
||||
c0.361-0.329,0.204-0.801,0-1.021c-0.204-0.25-0.848-0.298-1.178,0.047c-0.392,0.298-1.067,0.439-1.632,0.392
|
||||
c-0.549-0.047-1.178-0.329-1.507-0.706c-0.283-0.266-0.455-0.675-0.534-1.036h4.993c0.44,0,0.77-0.251,0.817-0.628
|
||||
c0.016-0.032,0.016-0.11,0.016-0.141l0,0l0,0c0-0.032,0-0.064,0-0.079c-0.125-2.12-1.743-3.643-3.784-3.643
|
||||
c-2.151,0-3.815,1.79-3.831,3.925C-897.161,586.438-895.497,588.212-893.347,588.228L-893.347,588.228z M-893.347,581.87
|
||||
c1.366,0.109,2.167,1.036,2.324,1.664h-4.443C-895.341,582.889-894.681,581.932-893.347,581.87z"/>
|
||||
<path id="path4251" inkscape:connector-curvature="0" fill="#FF580D" d="M-883.395,580.393c-0.785-0.016-1.459,0.267-1.978,0.612
|
||||
c-0.109,0.079-0.235,0.204-0.329,0.314v-0.11c0-0.455-0.392-0.816-0.864-0.816c-0.455,0-0.832,0.361-0.832,0.816v6.186
|
||||
c0,0.455,0.376,0.833,0.832,0.833c0.471,0,0.864-0.377,0.864-0.833v-2.983c0.079-0.219,0.267-0.817,0.643-1.319
|
||||
c0.189-0.298,0.424-0.565,0.722-0.754c0.267-0.204,0.581-0.298,0.942-0.298c0.471,0,0.833-0.392,0.833-0.832
|
||||
C-882.563,580.755-882.924,580.393-883.395,580.393L-883.395,580.393z"/>
|
||||
</g>
|
||||
<path id="path4327" inkscape:connector-curvature="0" fill="#FF580D" d="M255.854,399.778c-3.088,0-5.575,2.486-5.575,5.575v16.08
|
||||
c0,3.089,2.486,5.575,5.575,5.575h16.08c3.088,0,5.575-2.486,5.575-5.575v-16.08c0-3.088-2.487-5.575-5.575-5.575H255.854z
|
||||
M258.238,403.025c1.247,0,2.494,0.475,3.442,1.424c0.949,0.948,1.341,2.118,1.487,3.443s0.065,2.822,0.065,4.534
|
||||
c0,0.19-0.155,0.345-0.345,0.345l0,0c-2.225,0-3.748,0.07-4.978-0.068s-2.179-0.514-3.103-1.358
|
||||
c-1.995-1.823-1.909-4.997-0.011-6.895C255.745,403.499,256.992,403.025,258.238,403.025L258.238,403.025z M269.549,403.025
|
||||
c1.247,0,2.493,0.475,3.442,1.424c1.898,1.898,1.983,5.071-0.011,6.895c-0.924,0.845-1.873,1.22-3.103,1.358
|
||||
s-2.753,0.068-4.978,0.068c-0.191,0-0.345-0.154-0.345-0.345c0-1.712-0.082-3.209,0.065-4.534s0.539-2.495,1.487-3.443
|
||||
C267.056,403.499,268.303,403.025,269.549,403.025L269.549,403.025z M258.238,403.711c-1.068,0-2.137,0.409-2.955,1.226
|
||||
c-1.634,1.634-1.704,4.35-0.011,5.897c0.832,0.76,1.576,1.054,2.715,1.182c1.071,0.12,2.533,0.072,4.559,0.066
|
||||
c0.008-1.578,0.063-2.964-0.064-4.115c-0.137-1.239-0.471-2.212-1.289-3.03C260.376,404.119,259.307,403.711,258.238,403.711
|
||||
L258.238,403.711z M269.549,403.711c-1.069,0-2.137,0.409-2.955,1.226c-0.818,0.818-1.152,1.792-1.289,3.03
|
||||
c-0.127,1.151-0.073,2.538-0.064,4.115c2.025,0.006,3.487,0.054,4.559-0.066c1.139-0.128,1.883-0.422,2.715-1.182
|
||||
c1.693-1.547,1.623-4.263-0.011-5.897C271.686,404.119,270.618,403.711,269.549,403.711L269.549,403.711z M257.881,413.996h5.03
|
||||
c0.19,0,0.345,0.154,0.345,0.345v4.712c0.004,0.19-0.147,0.348-0.338,0.352c-0.19,0.004-0.348-0.147-0.352-0.338
|
||||
c0-0.005,0-0.009,0-0.014v-3.92l-7.975,7.975c-0.131,0.139-0.349,0.146-0.488,0.015c-0.138-0.131-0.145-0.349-0.014-0.487
|
||||
c0.005-0.006,0.009-0.01,0.014-0.015l7.934-7.934h-4.156c-0.191,0.004-0.348-0.147-0.353-0.338
|
||||
c-0.004-0.19,0.148-0.349,0.338-0.353C257.871,413.996,257.876,413.996,257.881,413.996z M267.761,413.997L267.761,413.997
|
||||
c0.812,0,1.501,0.017,2.116,0.086c1.23,0.139,2.179,0.514,3.103,1.358c1.995,1.824,1.909,4.996,0.011,6.895s-4.986,1.898-6.885,0
|
||||
c-0.949-0.948-1.34-2.118-1.487-3.442c-0.146-1.325-0.065-2.822-0.065-4.534c0-0.19,0.154-0.345,0.345-0.345
|
||||
C266.011,414.015,266.948,413.997,267.761,413.997L267.761,413.997z M267.761,414.689c-0.707,0-1.572,0.011-2.52,0.014
|
||||
c-0.009,1.577-0.063,2.964,0.064,4.115c0.137,1.238,0.471,2.213,1.289,3.03c1.635,1.635,4.275,1.635,5.909,0
|
||||
c1.634-1.634,1.703-4.35,0.011-5.896c-0.832-0.761-1.576-1.054-2.715-1.183C269.23,414.705,268.564,414.689,267.761,414.689
|
||||
L267.761,414.689L267.761,414.689z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
BIN
_images/commercial-masthead.png
Normal file
|
After Width: | Height: | Size: 974 KiB |
BIN
_images/origin-masthead.jpg
Normal file
|
After Width: | Height: | Size: 186 KiB |
BIN
_images/origin_logo.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
98
_images/redhat.svg
Normal file
@@ -0,0 +1,98 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" width="128px" height="42px" viewBox="122.431 337.623 128 42" xml:space="preserve">
|
||||
<g id="logo_1_">
|
||||
<g id="white">
|
||||
<path fill="#FFFFFF" d="M160.233,369.79c-0.792-0.182-1.632-0.296-2.481-0.296c-1.453,0-2.775,0.251-3.751,0.658
|
||||
c-0.107,0.053-0.184,0.166-0.184,0.293c0,0.047,0.012,0.094,0.029,0.134c0.115,0.333-0.074,0.696-1.018,0.904
|
||||
c-1.399,0.307-2.283,1.751-2.788,2.23c-0.594,0.564-2.271,0.91-2.018,0.574c0.197-0.262,0.952-1.082,1.411-1.967
|
||||
c0.411-0.792,0.776-1.017,1.28-1.772c0.147-0.221,0.72-1,0.887-1.615c0.187-0.601,0.124-1.355,0.196-1.666
|
||||
c0.103-0.448,0.526-1.419,0.558-1.968c0.019-0.311-1.296,0.443-1.919,0.443s-1.23-0.374-1.788-0.4
|
||||
c-0.689-0.032-1.132,0.532-1.756,0.433c-0.355-0.057-0.656-0.371-1.278-0.394c-0.886-0.032-1.969,0.493-4.003,0.428
|
||||
c-2-0.065-3.849-2.529-4.101-2.921c-0.295-0.459-0.657-0.459-1.05-0.098c-0.394,0.36-0.879,0.077-1.018-0.166
|
||||
c-0.262-0.458-0.963-1.8-2.05-2.082c-1.503-0.39-2.264,0.832-2.165,1.804c0.101,0.986,0.738,1.263,1.034,1.788
|
||||
c0.295,0.525,0.446,0.862,1.002,1.095c0.394,0.165,0.54,0.407,0.423,0.731c-0.103,0.281-0.513,0.346-0.782,0.359
|
||||
c-0.572,0.027-0.974-0.128-1.267-0.314c-0.34-0.218-0.617-0.519-0.915-1.03c-0.344-0.564-0.885-0.811-1.516-0.811
|
||||
c-0.301,0-0.582,0.079-0.832,0.208c-0.989,0.515-2.165,0.819-3.432,0.819l-1.429,0.001c2.74,8.125,10.423,13.977,19.473,13.977
|
||||
C150.214,379.167,156.572,375.435,160.233,369.79z"/>
|
||||
</g>
|
||||
<g id="black">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M163.322,368.693h0.186l0.28,0.459h0.18l-0.303-0.468c0.157-0.019,0.276-0.101,0.276-0.29
|
||||
c0-0.21-0.124-0.302-0.374-0.302h-0.404v1.06h0.16V368.693L163.322,368.693z M163.322,368.557v-0.329h0.219
|
||||
c0.111,0,0.231,0.025,0.231,0.156c0,0.163-0.121,0.173-0.257,0.173H163.322L163.322,368.557z"/>
|
||||
<path fill="#FFFFFF" d="M164.551,368.624c0,0.572-0.465,1.038-1.038,1.038c-0.573,0-1.039-0.466-1.039-1.038
|
||||
c0-0.573,0.466-1.039,1.039-1.039C164.086,367.585,164.551,368.051,164.551,368.624z M163.513,367.769
|
||||
c-0.472,0-0.855,0.383-0.855,0.855c0,0.471,0.383,0.852,0.855,0.852c0.471,0,0.854-0.381,0.854-0.852
|
||||
C164.366,368.152,163.984,367.769,163.513,367.769z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M160.233,369.792c-0.792-0.183-1.632-0.296-2.481-0.296c-1.453,0-2.775,0.252-3.751,0.657
|
||||
c-0.107,0.054-0.184,0.166-0.184,0.294c0,0.046,0.012,0.095,0.029,0.133c0.115,0.334-0.074,0.697-1.018,0.904
|
||||
c-1.399,0.308-2.283,1.751-2.788,2.232c-0.594,0.562-2.271,0.91-2.018,0.574c0.197-0.263,0.952-1.083,1.411-1.968
|
||||
c0.411-0.791,0.776-1.017,1.28-1.771c0.147-0.222,0.72-1,0.887-1.616c0.187-0.601,0.124-1.355,0.196-1.666
|
||||
c0.103-0.448,0.526-1.419,0.558-1.968c0.019-0.31-1.296,0.442-1.919,0.442s-1.23-0.373-1.788-0.4
|
||||
c-0.689-0.033-1.132,0.532-1.756,0.433c-0.355-0.057-0.656-0.37-1.278-0.394c-0.886-0.033-1.969,0.493-4.003,0.427
|
||||
c-2-0.064-3.849-2.528-4.101-2.919c-0.295-0.46-0.657-0.46-1.05-0.099c-0.394,0.36-0.879,0.077-1.018-0.165
|
||||
c-0.262-0.459-0.963-1.802-2.05-2.083c-1.503-0.39-2.264,0.832-2.165,1.804c0.101,0.986,0.738,1.263,1.034,1.787
|
||||
c0.295,0.525,0.446,0.865,1.002,1.097c0.394,0.163,0.54,0.407,0.423,0.73c-0.103,0.282-0.513,0.346-0.782,0.359
|
||||
c-0.572,0.027-0.974-0.128-1.267-0.316c-0.34-0.216-0.617-0.518-0.915-1.03c-0.344-0.564-0.885-0.81-1.516-0.81
|
||||
c-0.301,0-0.582,0.08-0.832,0.208c-0.989,0.514-2.165,0.819-3.432,0.819h-1.429c-0.696-2.062-1.072-4.271-1.072-6.568
|
||||
c0-11.347,9.199-20.545,20.545-20.545c11.347,0,20.545,9.198,20.545,20.545C163.53,362.741,162.319,366.575,160.233,369.792z"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M174.003,359.919c0-1.884-0.039-3.27-0.115-4.523h3.082l0.132,2.673h0.101
|
||||
c0.692-1.981,2.334-2.992,3.853-2.992c0.348,0,0.55,0.013,0.834,0.077v3.353c-0.333-0.066-0.644-0.102-1.072-0.102
|
||||
c-1.696,0-2.873,1.079-3.19,2.692c-0.06,0.313-0.092,0.69-0.092,1.074v7.299h-3.562L174.003,359.919z"/>
|
||||
<path fill="#FFFFFF" d="M186.187,363.392c0.094,2.55,2.068,3.667,4.348,3.667c1.637,0,2.808-0.256,3.884-0.652l0.527,2.449
|
||||
c-1.204,0.511-2.876,0.893-4.918,0.893c-4.571,0-7.249-2.823-7.249-7.135c0-3.885,2.356-7.561,6.884-7.561
|
||||
c4.577,0,6.066,3.764,6.066,6.846c0,0.661-0.059,1.192-0.126,1.521L186.187,363.392z M192.377,360.912
|
||||
c0.016-1.304-0.551-3.43-2.935-3.43c-2.191,0-3.102,1.988-3.262,3.43H192.377z"/>
|
||||
<path fill="#FFFFFF" d="M207.506,363.368c0,0.373-0.026,0.721-0.108,1.038c-0.358,1.541-1.618,2.533-3.073,2.533
|
||||
c-2.241,0-3.523-1.889-3.523-4.476c0-2.611,1.271-4.632,3.563-4.632c1.601,0,2.746,1.128,3.061,2.499
|
||||
c0.061,0.288,0.08,0.644,0.08,0.928V363.368z M211.062,349.976l-3.557-1.003v7.939h-0.059c-0.629-1.04-2.018-1.833-3.944-1.833
|
||||
c-3.385,0-6.332,2.801-6.311,7.517c0,4.327,2.662,7.193,6.023,7.193c2.031,0,3.729-0.968,4.57-2.544h0.063l0.159,2.229h3.171
|
||||
c-0.065-0.957-0.117-2.507-0.117-3.948V349.976L211.062,349.976z"/>
|
||||
<path fill="#FFFFFF" d="M220.474,355.062c-1.072,0-2.032,0.309-2.839,0.807c-0.838,0.491-1.519,1.248-1.925,2.032h-0.056v-6.588
|
||||
l-1.394-0.412v18.57h1.394v-8.615c0-0.572,0.043-0.97,0.189-1.388c0.602-1.753,2.253-3.19,4.249-3.19
|
||||
c2.884,0,3.882,2.313,3.882,4.85v8.343h1.392v-8.497C225.367,355.728,221.809,355.062,220.474,355.062z"/>
|
||||
<path fill="#FFFFFF" d="M237.871,366.125c0,1.114,0.045,2.268,0.206,3.346h-1.283l-0.205-2.019h-0.066
|
||||
c-0.683,1.085-2.252,2.339-4.491,2.339c-2.834,0-4.153-1.993-4.153-3.872c0-3.251,2.87-5.21,8.601-5.15v-0.376
|
||||
c0-1.394-0.271-4.173-3.603-4.151c-1.233,0-2.517,0.33-3.536,1.049l-0.443-1.013c1.287-0.872,2.858-1.217,4.132-1.217
|
||||
c4.065,0,4.843,3.052,4.843,5.569V366.125L237.871,366.125z M236.478,361.942c-3.067-0.088-7.118,0.376-7.118,3.759
|
||||
c0,2.024,1.336,2.934,2.804,2.934c2.348,0,3.682-1.453,4.168-2.824c0.101-0.301,0.146-0.603,0.146-0.844V361.942L236.478,361.942z
|
||||
"/>
|
||||
<path fill="#FFFFFF" d="M243.418,352.28v3.104h4.016v1.13h-4.016v9.156c0,1.791,0.556,2.913,2.07,2.913
|
||||
c0.726,0,1.239-0.095,1.6-0.221l0.169,1.079c-0.455,0.191-1.094,0.339-1.944,0.339c-1.028,0-1.88-0.324-2.431-1
|
||||
c-0.638-0.74-0.856-1.922-0.856-3.359v-8.908h-2.378v-1.13h2.378v-2.59L243.418,352.28z"/>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M249.194,368.722h0.185l0.279,0.458h0.181l-0.302-0.468c0.157-0.019,0.276-0.101,0.276-0.29
|
||||
c0-0.21-0.125-0.302-0.375-0.302h-0.404v1.06h0.161V368.722L249.194,368.722z M249.194,368.585v-0.329h0.218
|
||||
c0.11,0,0.231,0.024,0.231,0.155c0,0.163-0.121,0.173-0.258,0.173L249.194,368.585L249.194,368.585z"/>
|
||||
<path fill="#FFFFFF" d="M250.423,368.651c0,0.573-0.466,1.038-1.039,1.038c-0.572,0-1.038-0.465-1.038-1.038
|
||||
c0-0.573,0.467-1.038,1.038-1.038C249.958,367.613,250.423,368.078,250.423,368.651z M249.384,367.796
|
||||
c-0.473,0-0.854,0.383-0.854,0.855c0,0.471,0.381,0.852,0.854,0.852c0.472,0,0.854-0.381,0.854-0.852
|
||||
C250.238,368.179,249.855,367.796,249.384,367.796z"/>
|
||||
</g>
|
||||
<path d="M147.51,367.907c0.105,0.103,0.288,0.451,0.065,0.89c-0.125,0.233-0.259,0.397-0.5,0.589
|
||||
c-0.289,0.232-0.854,0.499-1.629,0.008c-0.416-0.264-0.441-0.354-1.017-0.279c-0.411,0.054-0.574-0.36-0.427-0.706
|
||||
c0.148-0.344,0.755-0.623,1.509-0.18c0.34,0.199,0.869,0.621,1.333,0.248c0.192-0.154,0.307-0.256,0.573-0.565
|
||||
c0.013-0.013,0.029-0.021,0.048-0.021C147.483,367.891,147.499,367.898,147.51,367.907z"/>
|
||||
</g>
|
||||
<path id="red" fill="#CC0000" d="M141.386,347.861c-2.373,0.171-2.619,0.428-3.064,0.901c-0.627,0.667-1.453-0.866-1.453-0.866
|
||||
c-0.495-0.104-1.096-0.903-0.772-1.649c0.319-0.738,0.909-0.516,1.094-0.287c0.225,0.28,0.705,0.737,1.328,0.721
|
||||
c0.623-0.016,1.342-0.147,2.344-0.147c1.016,0,1.699,0.379,1.737,0.705C142.632,347.517,142.517,347.779,141.386,347.861z
|
||||
M143.879,343.94c-0.003,0-0.007,0-0.011,0c-0.037,0-0.066-0.028-0.066-0.062c0-0.025,0.015-0.046,0.038-0.057
|
||||
c0.46-0.243,1.146-0.437,1.932-0.517c0.236-0.024,0.466-0.036,0.688-0.038c0.039,0,0.078,0,0.117,0
|
||||
c1.317,0.03,2.371,0.553,2.355,1.168c-0.016,0.617-1.095,1.092-2.412,1.062c-0.426-0.01-0.827-0.072-1.171-0.171
|
||||
c-0.041-0.011-0.07-0.045-0.07-0.086s0.03-0.077,0.071-0.087c0.822-0.19,1.376-0.501,1.337-0.794
|
||||
c-0.051-0.389-1.126-0.602-2.4-0.473C144.147,343.901,144.011,343.919,143.879,343.94z M154.579,353.157
|
||||
c-0.204,0.683-0.492,1.555-1.776,2.215c-0.188,0.096-0.259-0.062-0.172-0.209c0.485-0.825,0.572-1.032,0.713-1.357
|
||||
c0.197-0.477,0.301-1.154-0.092-2.567c-0.773-2.781-2.385-6.498-3.557-7.703c-1.13-1.164-3.179-1.491-5.031-1.016
|
||||
c-0.683,0.175-2.016,0.869-4.491,0.312c-4.282-0.965-4.917,1.18-5.162,2.113c-0.246,0.935-0.836,3.589-0.836,3.589
|
||||
c-0.197,1.082-0.454,2.962,6.195,4.229c3.098,0.589,3.255,1.39,3.392,1.966c0.247,1.032,0.639,1.623,1.082,1.918
|
||||
c0.442,0.296,0,0.54-0.491,0.59c-1.319,0.137-6.195-1.261-9.08-2.9c-2.36-1.442-2.399-2.741-1.859-3.842
|
||||
c-3.565-0.386-6.241,0.334-6.725,2.021c-0.833,2.896,6.367,7.844,14.566,10.327c8.604,2.605,17.454,0.786,18.438-4.622
|
||||
C160.139,355.762,158.069,353.944,154.579,353.157z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.8 KiB |
BIN
_images/respond.proxy.gif
Normal file
|
After Width: | Height: | Size: 35 B |
6
_javascripts/bootstrap-offcanvas.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
$(document).ready(function () {
|
||||
$('[data-toggle="offcanvas"]').click(function () {
|
||||
$('.sidebar').show();
|
||||
$('.row-offcanvas').toggleClass('active');
|
||||
});
|
||||
});
|
||||
51
_javascripts/hc-search.js
Normal file
@@ -0,0 +1,51 @@
|
||||
function hcSearchCategory(label, version) {
|
||||
// optional version filters search results for a single specific product version
|
||||
// currently can be used with OCP and Origin 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");
|
||||
|
||||
// pressing enter in the input = search btn click
|
||||
query.addEventListener("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);
|
||||
}
|
||||
}
|
||||
|
||||
// hide search modal
|
||||
closeModal.onclick = function() {
|
||||
modalSearch.style.display = "none";
|
||||
}
|
||||
|
||||
window.onclick = function(event) {
|
||||
if (event.target == modalSearch) {
|
||||
modalSearch.style.display = "none";
|
||||
}
|
||||
}
|
||||
} // hcSearchCategory(label)
|
||||
6
_javascripts/reformat-html.js
Normal file
@@ -0,0 +1,6 @@
|
||||
$(document).ready(function () {
|
||||
// Reformat all tables as Bootstrap responsive tables
|
||||
$('table.tableblock').each(function(){
|
||||
$(this).addClass('table').wrap("<div class='table-responsive'></div>");
|
||||
});
|
||||
});
|
||||
129
_javascripts/respond.proxy.js
Normal file
@@ -0,0 +1,129 @@
|
||||
/*! Respond.js: min/max-width media query polyfill. Remote proxy (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
|
||||
(function(win, doc, undefined){
|
||||
var docElem = doc.documentElement,
|
||||
proxyURL = doc.getElementById("respond-proxy").href,
|
||||
redirectURL = (doc.getElementById("respond-redirect") || location).href,
|
||||
baseElem = doc.getElementsByTagName("base")[0],
|
||||
urls = [],
|
||||
refNode;
|
||||
|
||||
function encode(url){
|
||||
return win.encodeURIComponent(url);
|
||||
}
|
||||
|
||||
function fakejax( url, callback ){
|
||||
|
||||
var iframe,
|
||||
AXO;
|
||||
|
||||
// All hail Google http://j.mp/iKMI19
|
||||
// Behold, an iframe proxy without annoying clicky noises.
|
||||
if ( "ActiveXObject" in win ) {
|
||||
AXO = new ActiveXObject( "htmlfile" );
|
||||
AXO.open();
|
||||
AXO.write( '<iframe id="x"></iframe>' );
|
||||
AXO.close();
|
||||
iframe = AXO.getElementById( "x" );
|
||||
} else {
|
||||
iframe = doc.createElement( "iframe" );
|
||||
iframe.style.cssText = "position:absolute;top:-99em";
|
||||
docElem.insertBefore(iframe, docElem.firstElementChild || docElem.firstChild );
|
||||
}
|
||||
|
||||
iframe.src = checkBaseURL(proxyURL) + "?url=" + encode(redirectURL) + "&css=" + encode(checkBaseURL(url));
|
||||
|
||||
function checkFrameName() {
|
||||
var cssText;
|
||||
|
||||
try {
|
||||
cssText = iframe.contentWindow.name;
|
||||
}
|
||||
catch (e) { }
|
||||
|
||||
if (cssText) {
|
||||
// We've got what we need. Stop the iframe from loading further content.
|
||||
iframe.src = "about:blank";
|
||||
iframe.parentNode.removeChild(iframe);
|
||||
iframe = null;
|
||||
|
||||
|
||||
// Per http://j.mp/kn9EPh, not taking any chances. Flushing the ActiveXObject
|
||||
if (AXO) {
|
||||
AXO = null;
|
||||
|
||||
if (win.CollectGarbage) {
|
||||
win.CollectGarbage();
|
||||
}
|
||||
}
|
||||
|
||||
callback(cssText);
|
||||
}
|
||||
else{
|
||||
win.setTimeout(checkFrameName, 100);
|
||||
}
|
||||
}
|
||||
|
||||
win.setTimeout(checkFrameName, 500);
|
||||
}
|
||||
|
||||
// http://stackoverflow.com/a/472729
|
||||
function checkBaseURL(href) {
|
||||
var el = document.createElement('div'),
|
||||
escapedURL = href.split('&').join('&').
|
||||
split('<').join('<').
|
||||
split('"').join('"');
|
||||
|
||||
el.innerHTML = '<a href="' + escapedURL + '">x</a>';
|
||||
return el.firstChild.href;
|
||||
}
|
||||
|
||||
function checkRedirectURL() {
|
||||
// IE6 & IE7 don't build out absolute urls in <link /> attributes.
|
||||
// So respond.proxy.gif remains relative instead of http://example.com/respond.proxy.gif.
|
||||
// This trickery resolves that issue.
|
||||
if (~ !redirectURL.indexOf(location.host)) {
|
||||
|
||||
var fakeLink = doc.createElement("div");
|
||||
|
||||
fakeLink.innerHTML = '<a href="' + redirectURL + '"></a>';
|
||||
docElem.insertBefore(fakeLink, docElem.firstElementChild || docElem.firstChild );
|
||||
|
||||
// Grab the parsed URL from that dummy object
|
||||
redirectURL = fakeLink.firstChild.href;
|
||||
|
||||
// Clean up
|
||||
fakeLink.parentNode.removeChild(fakeLink);
|
||||
fakeLink = null;
|
||||
}
|
||||
}
|
||||
|
||||
function buildUrls(){
|
||||
var links = doc.getElementsByTagName( "link" );
|
||||
|
||||
for( var i = 0, linkl = links.length; i < linkl; i++ ){
|
||||
|
||||
var thislink = links[i],
|
||||
href = links[i].href,
|
||||
extreg = (/^([a-zA-Z:]*\/\/(www\.)?)/).test( href ),
|
||||
ext = (baseElem && !extreg) || extreg;
|
||||
|
||||
//make sure it's an external stylesheet
|
||||
if( thislink.rel.indexOf( "stylesheet" ) >= 0 && ext ){
|
||||
(function( link ){
|
||||
fakejax( href, function( css ){
|
||||
link.styleSheet.rawCssText = css;
|
||||
respond.update();
|
||||
} );
|
||||
})( thislink );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if( !respond.mediaQueriesSupported ){
|
||||
checkRedirectURL();
|
||||
buildUrls();
|
||||
}
|
||||
|
||||
})( window, document );
|
||||
27
_snippets/glusterfs.adoc
Normal file
@@ -0,0 +1,27 @@
|
||||
////
|
||||
How to use this file:
|
||||
|
||||
* Use `include::_snippets/glusterfs.adoc[]` to enable the variables on a given
|
||||
page.
|
||||
* When discussing the storage technology itself, just use "GlusterFS", e.g.
|
||||
"GlusterFS volumes". It is incorrect to say, for example, "Red Hat Gluster
|
||||
Storage volumes".
|
||||
* When discussing the base project or product, use `{gluster}`.
|
||||
* When discussing configurations of {gluster} that are managed by heketi, use
|
||||
`{gluster-native}` if {gluster} is containerized and `{gluster-external}` if
|
||||
it is not containerized.
|
||||
////
|
||||
:gluster: GlusterFS
|
||||
:gluster-native: Containerized GlusterFS
|
||||
:gluster-external: External GlusterFS
|
||||
: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[]
|
||||
:gluster: Red Hat Gluster Storage
|
||||
:gluster-native: Container-Native Storage
|
||||
:gluster-external: Container-Ready Storage
|
||||
:gluster-install-link: https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.3/html/installation_guide/
|
||||
:gluster-admin-link: https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.3/html/administration_guide/
|
||||
:cns-link: https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.3/html/container-native_storage_for_openshift_container_platform/
|
||||
endif::[]
|
||||
1
_stylesheets/bootstrap_default.min.css
vendored
Normal file
337
_stylesheets/commercial-home.css
Normal file
@@ -0,0 +1,337 @@
|
||||
.masthead-docs{
|
||||
background:url(../_images/commercial-masthead.png) repeat-x scroll 50% 0 / cover #60605b;
|
||||
margin-top: -20px;
|
||||
padding: 20px 0 80px;
|
||||
}
|
||||
|
||||
.masthead-docs h1{
|
||||
font-size: 45px; margin-bottom: 60px; color: #333;
|
||||
}
|
||||
|
||||
.footer-openshift .powered-by {
|
||||
margin-top: -22px;
|
||||
}
|
||||
|
||||
.docs-home h2 {
|
||||
color: #cc0000;
|
||||
}
|
||||
|
||||
.docs-home .landing h2 {
|
||||
margin: 25px 0 15px;
|
||||
}
|
||||
|
||||
.docs-home .landing .list-group .list-group-item-heading {
|
||||
font-size: 18px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.docs-home .landing .list-group .list-group-item-text {
|
||||
font-weight: 300;
|
||||
margin-bottom: 15px;
|
||||
font-size: 16px;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
.masthead-docs .search-container{
|
||||
float: none;
|
||||
}
|
||||
|
||||
.landing-docs {
|
||||
background-color: #F0F0EF;
|
||||
}
|
||||
|
||||
.landing-docs .center-block {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.form-control{
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
.masthead-docs h1 {
|
||||
font-size: 37px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Search Results */
|
||||
.search-results table {
|
||||
border: 0px solid #fff;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.search-results .gsc-control-cse {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
font-family: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
padding: 0
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-tabhActive {
|
||||
background-color: #e7e7e7;
|
||||
border: 0;
|
||||
color: #131313
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-tabhActive:after {
|
||||
border-color: #e7e7e7 transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 5px 0;
|
||||
bottom: -9px;
|
||||
content: "";
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 0
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-tabhActive:hover {
|
||||
text-decoration: none
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-table-result {
|
||||
font-family: "Open Sans", Helvetica, Arial, sans-serif
|
||||
}
|
||||
.search-results .gsc-result-info {
|
||||
color: #bdbdbd;
|
||||
padding-left: 0
|
||||
}
|
||||
.search-results .gsc-selected-option,
|
||||
.search-results .gsc-selected-option-container {
|
||||
font-weight: normal;
|
||||
line-height: 24px;
|
||||
width: auto !important
|
||||
}
|
||||
.search-results .gsc-tabHeader {
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
height: auto;
|
||||
line-height: 1;
|
||||
margin: 0 30px 12px 0;
|
||||
padding: 6px 8px 4px
|
||||
}
|
||||
.search-results .gsc-tabHeader:active,
|
||||
.search-results .gsc-tabHeader:focus {
|
||||
outline: 0
|
||||
}
|
||||
.search-results .gsc-tabHeader:hover {
|
||||
text-decoration: underline
|
||||
}
|
||||
.search-results .gsc-tabsArea {
|
||||
border-color: #e7e7e7;
|
||||
height: auto;
|
||||
margin: 24px 0 12px;
|
||||
padding: 0 0 12px
|
||||
}
|
||||
.search-results .gsc-tabsArea>div {
|
||||
height: auto
|
||||
}
|
||||
.search-results .gsc-webResult.gsc-result,
|
||||
.search-results .gsc-results .gsc-imageResult,
|
||||
.search-results .gsc-webResult.gsc-result:hover,
|
||||
.search-results .gsc-imageResult:hover {
|
||||
border-color: #FFFFFF;
|
||||
background-color: #FFFFFF
|
||||
}
|
||||
.search-results .gs-webResult.gs-result a.gs-title:link,
|
||||
.search-results .gs-webResult.gs-result a.gs-title:link b,
|
||||
.search-results .gs-imageResult a.gs-title:link,
|
||||
.search-results .gs-imageResult a.gs-title:link b {
|
||||
color: #2275b4;
|
||||
text-decoration: none
|
||||
}
|
||||
.search-results .gs-webResult.gs-result a.gs-title:visited,
|
||||
.search-results .gs-webResult.gs-result a.gs-title:visited b,
|
||||
.search-results .gs-imageResult a.gs-title:visited,
|
||||
.search-results .gs-imageResult a.gs-title:visited b {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gs-webResult.gs-result a.gs-title:hover,
|
||||
.search-results .gs-webResult.gs-result a.gs-title:hover b,
|
||||
.search-results .gs-imageResult a.gs-title:hover,
|
||||
.search-results .gs-imageResult a.gs-title:hover b {
|
||||
color: #1c6094;
|
||||
text-decoration: underline
|
||||
}
|
||||
.search-results .gs-webResult.gs-result a.gs-title:active,
|
||||
.search-results .gs-webResult.gs-result a.gs-title:active b,
|
||||
.search-results .gs-imageResult a.gs-title:active,
|
||||
.search-results .gs-imageResult a.gs-title:active b {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gsc-cursor-page {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results a.gsc-trailing-more-results:link {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gs-webResult .gs-snippet,
|
||||
.search-results .gs-imageResult .gs-snippet,
|
||||
.search-results .gs-fileFormatType {
|
||||
color: inherit
|
||||
}
|
||||
.search-results .gs-webResult div.gs-visibleUrl,
|
||||
.search-results .gs-imageResult div.gs-visibleUrl {
|
||||
color: #929292
|
||||
}
|
||||
.search-results .gs-webResult div.gs-visibleUrl-short {
|
||||
color: #929292
|
||||
}
|
||||
.search-results .gs-webResult div.gs-visibleUrl-short {
|
||||
display: none
|
||||
}
|
||||
.search-results .gs-webResult div.gs-visibleUrl-long {
|
||||
display: block
|
||||
}
|
||||
.search-results .gs-promotion div.gs-visibleUrl-short {
|
||||
display: none
|
||||
}
|
||||
.search-results .gs-promotion div.gs-visibleUrl-long {
|
||||
display: block
|
||||
}
|
||||
.search-results .gsc-cursor-box {
|
||||
border-color: #FFFFFF
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box .gsc-cursor-page {
|
||||
border-color: #FFFFFF;
|
||||
background-color: #FFFFFF;
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
|
||||
border-color: #e7e7e7;
|
||||
background-color: #e7e7e7;
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gsc-webResult.gsc-result.gsc-promotion {
|
||||
border-color: #F6F6F6;
|
||||
background-color: #F6F6F6
|
||||
}
|
||||
.search-results .gsc-completion-title {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gsc-completion-snippet {
|
||||
color: #333333
|
||||
}
|
||||
.search-results .gs-promotion a.gs-title:link,
|
||||
.search-results .gs-promotion a.gs-title:link *,
|
||||
.search-results .gs-promotion .gs-snippet a:link {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gs-promotion a.gs-title:visited,
|
||||
.search-results .gs-promotion a.gs-title:visited *,
|
||||
.search-results .gs-promotion .gs-snippet a:visited {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gs-promotion a.gs-title:hover,
|
||||
.search-results .gs-promotion a.gs-title:hover *,
|
||||
.search-results .gs-promotion .gs-snippet a:hover {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gs-promotion a.gs-title:active,
|
||||
.search-results .gs-promotion a.gs-title:active *,
|
||||
.search-results .gs-promotion .gs-snippet a:active {
|
||||
color: #2275b4
|
||||
}
|
||||
.search-results .gs-promotion .gs-snippet,
|
||||
.search-results .gs-promotion .gs-title .gs-promotion-title-right,
|
||||
.search-results .gs-promotion .gs-title .gs-promotion-title-right * {
|
||||
color: #333333
|
||||
}
|
||||
.search-results .gs-promotion .gs-visibleUrl,
|
||||
.search-results .gs-promotion .gs-visibleUrl-short {
|
||||
color: #929292
|
||||
}
|
||||
.search-results .gsc-input input.gsc-input {
|
||||
background: none repeat scroll 0% 0% white !important
|
||||
}
|
||||
.search-results .gsc-control-cse td {
|
||||
padding: 0
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-above-wrapper-area {
|
||||
border-bottom: 0;
|
||||
color: #bdbdbd
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-above-wrapper-area-container td,
|
||||
.search-results .gsc-control-cse .gsc-resultsHeader td,
|
||||
.search-results .gsc-control-cse .gsc-table-result td {
|
||||
border-color: #fff
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-table-result,
|
||||
.search-results .gsc-control-cse .gsc-thumbnail-inside,
|
||||
.search-results .gsc-control-cse .gsc-url-top {
|
||||
padding-left: 0;
|
||||
padding-right: 0
|
||||
}
|
||||
.search-results .gsc-control-cse .gsc-webResult .gsc-result {
|
||||
padding: 10px 0 10px 0
|
||||
}
|
||||
.search-results .gsc-control-cse table.gsc-table-result {
|
||||
border-collapse: initial
|
||||
}
|
||||
.search-results .gsc-control-cse .gs-result a.gs-visibleUrl,
|
||||
.search-results .gsc-control-cse .gs-result .gs-visibleUrl {
|
||||
font-size: 12px;
|
||||
padding-top: 4px
|
||||
}
|
||||
.search-results .gsc-control-cse div.gs-title {
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
text-decoration: none
|
||||
}
|
||||
.search-results .gsc-control-cse .gs-snippet {
|
||||
font-size: 13px
|
||||
}
|
||||
.search-results .gsc-completion-container span {
|
||||
font-family: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
padding: 0 16px
|
||||
}
|
||||
.search-results .gsc-control-cse .gs-spelling,
|
||||
.search-results .gsc-control-cse .gs-result .gs-title,
|
||||
.search-results .gsc-control-cse .gs-result .gs-title * {
|
||||
font-size: 18px;
|
||||
font-weight: 300
|
||||
}
|
||||
.search-results .gs-per-result-labels {
|
||||
color: #929292;
|
||||
font-size: 12px;
|
||||
margin-top: 4px
|
||||
}
|
||||
.search-results .gs-webResult div.gs-per-result-labels a.gs-label {
|
||||
color: #787878
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box {
|
||||
margin: 30px 0 0
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-page {
|
||||
position: relative;
|
||||
float: left;
|
||||
padding: 6px 12px;
|
||||
line-height: 1.428571429;
|
||||
text-decoration: none;
|
||||
color: #2275b4;
|
||||
background-color: white;
|
||||
border: 1px solid #dddddd;
|
||||
margin: 0 0 0 -1px
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-page:first-child {
|
||||
margin-left: 0;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-top-left-radius: 4px
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-page:hover,
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-page:focus {
|
||||
color: #1c6094;
|
||||
background-color: #e7e7e7;
|
||||
border-color: #dddddd
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-page:last-child {
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-right-radius: 4px
|
||||
}
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-current-page,
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-current-page:hover,
|
||||
.search-results .gsc-results .gsc-cursor-box>.gsc-cursor>.gsc-cursor-current-page:focus {
|
||||
z-index: 2;
|
||||
color: white;
|
||||
background-color: #337ab7;
|
||||
border-color: #337ab7;
|
||||
cursor: default
|
||||
}
|
||||
173
_stylesheets/community-home.css
Normal file
@@ -0,0 +1,173 @@
|
||||
/*
|
||||
* Globals
|
||||
*/
|
||||
|
||||
/* Links */
|
||||
a,
|
||||
a:focus,
|
||||
a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Custom default button */
|
||||
.btn-default,
|
||||
.btn-default:hover,
|
||||
.btn-default:focus {
|
||||
color: #333;
|
||||
text-shadow: none; /* Prevent inheritence from `body` */
|
||||
background-color: #fff;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
.dropdown-menu {
|
||||
text-shadow: none; /* Prevent inheritence from `body` */
|
||||
}
|
||||
|
||||
/*
|
||||
* Base structure
|
||||
*/
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
background-color: #1f3447;
|
||||
}
|
||||
body {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
text-shadow: 0 1px 3px rgba(0,0,0,.5);
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #fff;
|
||||
font-size: 36px;
|
||||
}
|
||||
.lead{
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Extra markup and styles for table-esque vertical and horizontal centering */
|
||||
.site-wrapper {
|
||||
display: table;
|
||||
width: 100%;
|
||||
height: 100%; /* For at least Firefox */
|
||||
min-height: 100%;
|
||||
-webkit-box-shadow: inset 0 0 100px rgba(0,0,0,.5);
|
||||
box-shadow: inset 0 0 100px rgba(0,0,0,.5);
|
||||
}
|
||||
.site-wrapper-inner {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
.cover-container {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* Padding for spacing */
|
||||
.inner {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Header
|
||||
*/
|
||||
.masthead-brand {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.masthead-nav > li {
|
||||
display: inline-block;
|
||||
}
|
||||
.masthead-nav > li + li {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.masthead-nav > li > a {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #fff; /* IE8 proofing */
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
.masthead-nav > li > a:hover,
|
||||
.masthead-nav > li > a:focus {
|
||||
background-color: transparent;
|
||||
border-bottom-color: #a9a9a9;
|
||||
border-bottom-color: rgba(255,255,255,.25);
|
||||
}
|
||||
.masthead-nav > .active > a,
|
||||
.masthead-nav > .active > a:hover,
|
||||
.masthead-nav > .active > a:focus {
|
||||
color: #fff;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.masthead-brand {
|
||||
float: left;
|
||||
}
|
||||
.masthead-nav {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Cover
|
||||
*/
|
||||
|
||||
.cover {
|
||||
padding: 0 20px;
|
||||
}
|
||||
.cover .btn-lg {
|
||||
padding: 10px 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Footer
|
||||
*/
|
||||
|
||||
.mastfoot {
|
||||
color: #999; /* IE8 proofing */
|
||||
color: rgba(255,255,255,.5);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Affix and center
|
||||
*/
|
||||
|
||||
@media (min-width: 768px) {
|
||||
/* Pull out the header and footer */
|
||||
.masthead {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
}
|
||||
.mastfoot {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
}
|
||||
/* Start the vertical centering */
|
||||
.site-wrapper-inner {
|
||||
vertical-align: middle;
|
||||
}
|
||||
/* Handle the widths */
|
||||
.masthead,
|
||||
.mastfoot,
|
||||
.cover-container {
|
||||
width: 100%; /* Must be percentage or pixels for horizontal alignment */
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.masthead,
|
||||
.mastfoot,
|
||||
.cover-container {
|
||||
width: 700px;
|
||||
}
|
||||
}
|
||||
709
_stylesheets/docs.css
Normal file
@@ -0,0 +1,709 @@
|
||||
nav#main {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.navbar.navbar-default.navbar-openshift.navbar-origin {
|
||||
background:
|
||||
linear-gradient(
|
||||
rgba(0, 61, 110, 0.34),
|
||||
rgba(0, 61, 110, 0.34)
|
||||
),
|
||||
url("../_images/origin-masthead.jpg") 20% 25% repeat-x;
|
||||
background-size: 150rem;
|
||||
border: 0;
|
||||
height: 90px;
|
||||
}
|
||||
|
||||
.navbar.navbar-default.navbar-openshift .navbar-brand.origin {
|
||||
background: url("../_images/origin_logo.png") no-repeat scroll 0% 95%;
|
||||
background-size: 140px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/* Tweaks for the Google-generated search widget */
|
||||
.cse .gsc-control-cse, .gsc-control-cse, table.gsc-search-box td.gsc-input {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
td.gsc-clear-button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.gsc-option-menu-container > div.gsc-selected-option-container {
|
||||
width: auto !important
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
Image: "Spin" https://www.flickr.com/photos/eflon/3655695161/
|
||||
Author: eflon https://www.flickr.com/photos/eflon/
|
||||
License: https://creativecommons.org/licenses/by/2.0/
|
||||
---------------------------------------------------------------*/
|
||||
.attribution {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
bottom: -20px;
|
||||
}
|
||||
.attribution .btn {
|
||||
color: #808080;
|
||||
color: rgba(175,175,175, .65);
|
||||
font-size: 11px;
|
||||
}
|
||||
.attribution .btn:hover {
|
||||
text-decoration: none;
|
||||
color: #aaa;
|
||||
}
|
||||
.popover-content {
|
||||
font-size: 12px;
|
||||
line-height: 1.3;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* Footer Edits 12/11/2015 */
|
||||
@media screen and (max-width: 768px) {
|
||||
.footer-openshift {
|
||||
height: 190px;
|
||||
}
|
||||
}
|
||||
.footer-openshift a {
|
||||
top: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
.footer-origin-docs {
|
||||
padding: 20px;
|
||||
color: #ccc;
|
||||
background-color: #1b2a38;
|
||||
border: none;
|
||||
height: auto;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.footer-origin-docs a {
|
||||
text-decoration: none;
|
||||
}
|
||||
#footer_social {
|
||||
text-align: center;
|
||||
margin: 10px 0 20px;
|
||||
}
|
||||
#footer_social a {
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
#footer_logo {
|
||||
margin-left: 0;
|
||||
}
|
||||
#powered_by_openshift img {
|
||||
text-align: center;
|
||||
}
|
||||
#built_with_asciibinder img {
|
||||
width: 140px;
|
||||
}
|
||||
@media screen and (min-width: 769px) {
|
||||
body {
|
||||
margin-bottom: 200px;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 768px) {
|
||||
body, html {
|
||||
overflow-x: hidden;
|
||||
height: 100%;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.sidebar {
|
||||
border-right: 1px solid #e7e7e7;
|
||||
background: #fff;
|
||||
}
|
||||
.footer-origin-docs,
|
||||
.footer-openshift {
|
||||
display: none; /* hide absolute positioned footer at mobile */
|
||||
}
|
||||
.visible-xs-block .footer-origin-docs,
|
||||
.visible-xs-block .footer-openshift {
|
||||
/* show alternate footer positioned relative at mobile */
|
||||
display: block;
|
||||
position: relative;
|
||||
margin-top: 50px;
|
||||
}
|
||||
footer {
|
||||
text-align: center;
|
||||
}
|
||||
footer img {
|
||||
margin: 10px 0;
|
||||
}
|
||||
footer .text-right {
|
||||
text-align: center !important;
|
||||
}
|
||||
#footer_social > a {
|
||||
top: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
/* End footer edits */
|
||||
|
||||
|
||||
.fa-inverse:hover {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
margin: 0;
|
||||
padding: 3px 0 20px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.breadcrumb {
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.collapse a.active {
|
||||
background-color: #DEEAF4;
|
||||
color: #000;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.collapse a.active:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.collapse a.active:before {
|
||||
background-color: #A0C3E5;
|
||||
content: "";
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 3px;
|
||||
}
|
||||
|
||||
.main h2, .main .h2 {
|
||||
border-top: 0px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.page-header h1 {
|
||||
font-size: 28px;
|
||||
font-weight: 300;
|
||||
letter-spacing: inherit;
|
||||
color: inherit;
|
||||
margin: 40px 0 10px 0;
|
||||
padding: 10px 0 0 0;
|
||||
}
|
||||
|
||||
.ulist p,
|
||||
.olist p {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.nav > li > a.hover{
|
||||
background-color: none;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
h2 > a.anchor, h3 > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin-left: -1.5ex;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
text-decoration: none !important;
|
||||
visibility: hidden;
|
||||
width: 1.5ex;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
h2 > a.anchor:before, h3 > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before {
|
||||
content: "\f0c1";
|
||||
display: block;
|
||||
font-family: FontAwesome;
|
||||
font-size: 0.7em;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
padding-top: 0.2em;
|
||||
}
|
||||
|
||||
h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
h2:hover > a.anchor,
|
||||
h2 > a.anchor:hover,
|
||||
h3:hover > a.anchor,
|
||||
h3 > a.anchor:hover,
|
||||
h4:hover > a.anchor,
|
||||
h4 > a.anchor:hover,
|
||||
h5:hover > a.anchor,
|
||||
h5 > a.anchor:hover,
|
||||
h6:hover > a.anchor,
|
||||
h6 > a.anchor:hover {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.main {
|
||||
border-left: 1px solid #e7e7e7;
|
||||
margin-left: -1px;
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.main {
|
||||
padding-left: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Sidebar
|
||||
*/
|
||||
|
||||
.nav-header {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.nav-header ul {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.nav-header ul li a {
|
||||
display: block;
|
||||
padding: 5px 20px 5px 25px;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.nav-sidebar .fa {
|
||||
text-align: center;
|
||||
top: -1px;
|
||||
width: 14px;
|
||||
}
|
||||
|
||||
.nav-sidebar li a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.nav-sidebar li a:hover {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.nav-sidebar ul li ul.nav-tertiary li a {
|
||||
padding-left: 50px;
|
||||
}
|
||||
|
||||
.nav-sidebar > li > a {
|
||||
padding: 7px 0;
|
||||
}
|
||||
|
||||
.nav-sidebar > li > a:focus, .nav-sidebar > li > a:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
font-weight: 300;
|
||||
display: none;
|
||||
padding-top: 13px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.sidebar {
|
||||
padding-left: 30px;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.sidebar {
|
||||
border-right: 1px solid #e7e7e7;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Off Canvas
|
||||
* --------------------------------------------------
|
||||
*/
|
||||
|
||||
body, html {
|
||||
overflow-x: hidden; /* Prevent scroll on narrow devices */
|
||||
}
|
||||
|
||||
.toggle-nav {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.row-offcanvas {
|
||||
position: relative;
|
||||
-webkit-transition: all .25s ease-out;
|
||||
-o-transition: all .25s ease-out;
|
||||
transition: all .25s ease-out;
|
||||
}
|
||||
|
||||
.row-offcanvas-right {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.row-offcanvas-left {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.row-offcanvas-right
|
||||
.sidebar-offcanvas {
|
||||
right: -75%; /* 8 columns */
|
||||
}
|
||||
|
||||
.row-offcanvas-left
|
||||
.sidebar-offcanvas {
|
||||
left: -75%; /* 8 columns */
|
||||
}
|
||||
|
||||
.row-offcanvas-right.active {
|
||||
right: 75%; /* 8 columns */
|
||||
}
|
||||
|
||||
.row-offcanvas-left.active {
|
||||
left: 75%; /* 8 columns */
|
||||
}
|
||||
|
||||
.sidebar-offcanvas {
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 75%; /* 8 columns */
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 1.6em;
|
||||
}
|
||||
|
||||
/* for code lines inside tables*/
|
||||
table > tbody > tr > td> p > code {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/* for codeblocks inside tables*/
|
||||
table > tbody > tr > td > div > div > div > pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
/* for column code lines inside tables*/
|
||||
table > tbody > tr > td > div > div > p > code {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/* 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: small; }
|
||||
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; }
|
||||
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.6; }
|
||||
.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
|
||||
.clearfix:after, .float-group:after { clear: both; }
|
||||
*:not(pre) > code { font-size: inherit; 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; padding-bottom: 1.25em; }
|
||||
#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; font-family: "Roboto Mono", monospace; }
|
||||
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: #c00; }
|
||||
.conum[data-value] { display: inline-block; color: white !important; background-color: #c00; -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; } }
|
||||
4
_stylesheets/font-awesome.min.css
vendored
Normal file
578
_stylesheets/foundation.css
vendored
Normal file
@@ -0,0 +1,578 @@
|
||||
@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css);
|
||||
|
||||
/* Adapted for OpenShift Origin from the 'foundation' style sheet at */
|
||||
/* https://github.com/asciidoctor/asciidoctor-stylesheet-factory/blob/master/sass/foundation.scss */
|
||||
|
||||
/* normalize.css v2.1.1 | MIT License | git.io/normalize */
|
||||
/* ========================================================================== HTML5 display definitions ========================================================================== */
|
||||
/** Correct `block` display not defined in IE 8/9. */
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
|
||||
|
||||
/** Correct `inline-block` display not defined in IE 8/9. */
|
||||
audio, canvas, video { display: inline-block; }
|
||||
|
||||
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
|
||||
audio:not([controls]) { display: none; height: 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9. */
|
||||
[hidden] { display: none; }
|
||||
|
||||
/* ========================================================================== Base ========================================================================== */
|
||||
/** 1. Prevent system color scheme's background color being used in Firefox, IE, and Opera. 2. Prevent system color scheme's text color being used in Firefox, IE, and Opera. 3. Set default font family to sans-serif. 4. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
|
||||
html { background: #fff; /* 1 */ color: #000; /* 2 */ font-family: sans-serif; /* 3 */ -ms-text-size-adjust: 100%; /* 4 */ -webkit-text-size-adjust: 100%; /* 4 */ }
|
||||
|
||||
/** Remove default margin. */
|
||||
body { margin: 0; }
|
||||
|
||||
/* ========================================================================== Links ========================================================================== */
|
||||
/** Address `outline` inconsistency between Chrome and other browsers. */
|
||||
a:focus { outline: thin dotted; }
|
||||
|
||||
/** Improve readability when focused and also mouse hovered in all browsers. */
|
||||
a:active, a:hover { outline: 0; }
|
||||
|
||||
/* ========================================================================== Typography ========================================================================== */
|
||||
/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
|
||||
h1 { font-size: 2em; margin: 0.67em 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
|
||||
abbr[title] { border-bottom: 1px dotted; }
|
||||
|
||||
/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
|
||||
b, strong { font-weight: bold; }
|
||||
|
||||
/** Address styling not present in Safari 5 and Chrome. */
|
||||
dfn { font-style: italic; }
|
||||
|
||||
/** Address differences between Firefox and other browsers. */
|
||||
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9. */
|
||||
mark { background: #ff0; color: #000; }
|
||||
|
||||
/** Correct font family set oddly in Safari 5 and Chrome. */
|
||||
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
|
||||
|
||||
/** Improve readability of pre-formatted text in all browsers. */
|
||||
pre { white-space: pre-wrap; }
|
||||
|
||||
/** Set consistent quote types. */
|
||||
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
|
||||
|
||||
/** Address inconsistent and variable font size in all browsers. */
|
||||
small { font-size: 80%; }
|
||||
|
||||
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
|
||||
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
||||
|
||||
sup { top: -0.5em; }
|
||||
|
||||
sub { bottom: -0.25em; }
|
||||
|
||||
/* ========================================================================== Embedded content ========================================================================== */
|
||||
/** Remove border when inside `a` element in IE 8/9. */
|
||||
img { border: 0; }
|
||||
|
||||
/** Correct overflow displayed oddly in IE 9. */
|
||||
svg:not(:root) { overflow: hidden; }
|
||||
|
||||
/* ========================================================================== Figures ========================================================================== */
|
||||
/** Address margin not present in IE 8/9 and Safari 5. */
|
||||
figure { margin: 0; }
|
||||
|
||||
/* ========================================================================== Forms ========================================================================== */
|
||||
/** Define consistent border, margin, and padding. */
|
||||
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
|
||||
|
||||
/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
|
||||
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
|
||||
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
|
||||
|
||||
/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
|
||||
button, input { line-height: normal; }
|
||||
|
||||
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
|
||||
button, select { text-transform: none; }
|
||||
|
||||
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
|
||||
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
|
||||
|
||||
/** Re-set default cursor for disabled elements. */
|
||||
button[disabled], html input[disabled] { cursor: default; }
|
||||
|
||||
/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
|
||||
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
|
||||
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
|
||||
|
||||
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
|
||||
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
|
||||
|
||||
/** Remove inner padding and border in Firefox 4+. */
|
||||
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
|
||||
|
||||
/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
|
||||
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
|
||||
|
||||
/* ========================================================================== Tables ========================================================================== */
|
||||
/** Remove most spacing between table cells. */
|
||||
table { border-collapse: collapse; border-spacing: 0; }
|
||||
|
||||
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
|
||||
|
||||
html, body { font-size: 100%; }
|
||||
|
||||
body { background: white; color: #222222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
|
||||
|
||||
a:hover { cursor: pointer; }
|
||||
|
||||
a:focus { outline: none; }
|
||||
|
||||
img, object, embed { max-width: 100%; height: auto; }
|
||||
|
||||
object, embed { height: 100%; }
|
||||
|
||||
img { -ms-interpolation-mode: bicubic; }
|
||||
|
||||
#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; }
|
||||
|
||||
.antialiased, body { -webkit-font-smoothing: antialiased; }
|
||||
|
||||
img { display: inline-block; vertical-align: middle; }
|
||||
|
||||
textarea { height: auto; min-height: 50px; }
|
||||
|
||||
select { width: 100%; }
|
||||
|
||||
p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; }
|
||||
|
||||
.subheader, .admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .ulist > .title, .olist > .title, .dlist > .title, .qlist > .title, .tableblock > caption { line-height: 1.4; color: #6f6f6f; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
|
||||
|
||||
/* Typography resets */
|
||||
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
|
||||
|
||||
/* Default Link Styles */
|
||||
a { color: #2ba6cb; text-decoration: none; line-height: inherit; }
|
||||
a:hover, a:focus { color: #2795b6; }
|
||||
a img { border: none; }
|
||||
|
||||
/* Default paragraph styles */
|
||||
p { font-family: inherit; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
|
||||
p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
|
||||
|
||||
/* Default header styles */
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: bold; font-style: normal; color: #222222; text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.2125em; }
|
||||
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #6f6f6f; line-height: 0; }
|
||||
|
||||
h1 { font-size: 2.125em; }
|
||||
|
||||
h2 { font-size: 1.6875em; }
|
||||
|
||||
h3, #toctitle { font-size: 1.375em; }
|
||||
|
||||
h4, .sidebarblock > .content > .title { font-size: 1.125em; }
|
||||
|
||||
h5 { font-size: 1.125em; }
|
||||
|
||||
h6 { font-size: 1em; }
|
||||
|
||||
hr { border: solid #dddddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
|
||||
|
||||
/* Helpful Typography Defaults */
|
||||
em, i { font-style: italic; line-height: inherit; }
|
||||
|
||||
strong, b { font-weight: bold; line-height: inherit; }
|
||||
|
||||
small { font-size: 60%; line-height: inherit; }
|
||||
|
||||
code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: bold; color: #7f0a0c; }
|
||||
|
||||
/* Lists */
|
||||
ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
|
||||
|
||||
ul, ol { margin-left: 1.5em; }
|
||||
|
||||
/* Unordered Lists */
|
||||
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
|
||||
ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
|
||||
ul.square { list-style-type: square; }
|
||||
ul.circle { list-style-type: circle; }
|
||||
ul.disc { list-style-type: disc; }
|
||||
ul.no-bullet { list-style: none; }
|
||||
|
||||
/* Ordered Lists */
|
||||
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
|
||||
|
||||
/* Definition Lists */
|
||||
dl dt { margin-bottom: 0.3125em; font-weight: bold; }
|
||||
dl dd { margin-bottom: 1.25em; }
|
||||
|
||||
/* Abbreviations */
|
||||
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222222; border-bottom: 1px dotted #dddddd; cursor: help; }
|
||||
|
||||
abbr { text-transform: none; }
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #dddddd; }
|
||||
blockquote cite { display: block; font-size: 0.8125em; color: #555555; }
|
||||
blockquote cite:before { content: "\2014 \0020"; }
|
||||
blockquote cite a, blockquote cite a:visited { color: #555555; }
|
||||
|
||||
blockquote, blockquote p { line-height: 1.6; color: #6f6f6f; }
|
||||
|
||||
/* Microformats */
|
||||
.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #dddddd; padding: 0.625em 0.75em; }
|
||||
.vcard li { margin: 0; display: block; }
|
||||
.vcard .fn { font-weight: bold; font-size: 0.9375em; }
|
||||
|
||||
.vevent .summary { font-weight: bold; }
|
||||
.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
|
||||
h1 { font-size: 2.75em; }
|
||||
h2 { font-size: 2.3125em; }
|
||||
h3, #toctitle { font-size: 1.6875em; }
|
||||
h4, .sidebarblock > .content > .title { font-size: 1.4375em; } }
|
||||
/* Print styles. Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
|
||||
*/
|
||||
.print-only { display: none !important; }
|
||||
|
||||
@media print { * { background: transparent !important; color: #000 !important; /* Black prints faster: h5bp.com/s */ box-shadow: none !important; text-shadow: none !important; }
|
||||
a, a:visited { text-decoration: underline; }
|
||||
a[href]:after { content: " (" attr(href) ")"; }
|
||||
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
|
||||
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
||||
thead { display: table-header-group; /* h5bp.com/t */ }
|
||||
tr, img { page-break-inside: avoid; }
|
||||
img { max-width: 100% !important; }
|
||||
@page { margin: 0.5cm; }
|
||||
p, h2, h3, #toctitle, .sidebarblock > .content > .title { orphans: 3; widows: 3; }
|
||||
h2, h3, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
|
||||
.hide-on-print { display: none !important; }
|
||||
.print-only { display: block !important; }
|
||||
.hide-for-print { display: none !important; }
|
||||
.show-for-print { display: inherit !important; } }
|
||||
/* Tables */
|
||||
table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
|
||||
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: #222222; text-align: left; }
|
||||
table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
|
||||
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.4; }
|
||||
|
||||
code { font-size: inherit; padding: 0; white-space: nowrap; background-color: inherit; border: 0 solid #dddddd; -webkit-border-radius: 0; border-radius: 0; text-shadow: none; }
|
||||
|
||||
kbd.keyseq { color: #555555; }
|
||||
|
||||
kbd:not(.keyseq) { display: inline-block; color: #222222; 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; }
|
||||
|
||||
kbd kbd:first-child { margin-left: 0; }
|
||||
|
||||
kbd kbd:last-child { margin-right: 0; }
|
||||
|
||||
.menuseq, .menu { color: #090909; }
|
||||
|
||||
#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; }
|
||||
|
||||
#header { margin-bottom: 2.5em; background-image: url('./_images/origin_logo.png'); background-repeat: no-repeat; background-attachment: scroll; background-position: 100% 50px; }
|
||||
#header > h1 { color: black; font-weight: bold; border-bottom: 1px solid #dddddd; margin-bottom: -28px; padding-bottom: 32px; margin-top: 150px; }
|
||||
#header span { color: #6f6f6f; }
|
||||
#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: 1px solid #dddddd; padding-bottom: 1.25em; }
|
||||
#toc > ul, #toc > ol { margin-left: 0.25em; }
|
||||
#toc ul.sectlevel0 > li > a, #toc ol.sectlevel0 > li > a { font-style: italic; }
|
||||
#toc ul.sectlevel0 ul.sectlevel1, #toc ol.sectlevel0 ol.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
|
||||
#toc ul, #toc ol { list-style-type: none; }
|
||||
|
||||
#toctitle { color: #6f6f6f; }
|
||||
|
||||
@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; }
|
||||
#toc.toc2 { position: fixed; width: 20em; left: 0; top: 0; border-right: 1px solid #dddddd; border-bottom: 0; z-index: 1000; padding: 1em; height: 100%; overflow: auto; }
|
||||
#toc.toc2 #toctitle { margin-top: 0; }
|
||||
#toc.toc2 > ul, #toc.toc2 > ol { font-size: .95em; }
|
||||
#toc.toc2 ul ul, #toc.toc2 ol ol { margin-left: 0; padding-left: 1.25em; }
|
||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1, #toc.toc2 ol.sectlevel0 ol.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } }
|
||||
#footer { max-width: 100%; background-color: #222222; padding: 1.25em; }
|
||||
|
||||
#footer-text { color: #dddddd; line-height: 1.44; }
|
||||
|
||||
.sect1 { border-bottom: 1px solid #dddddd; padding-bottom: 1.25em; }
|
||||
|
||||
.sect1:last-of-type { border-bottom: 0; }
|
||||
|
||||
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; width: 1em; margin-left: -1em; display: block; text-decoration: none; visibility: hidden; text-align: center; font-weight: normal; }
|
||||
#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: '\00A7'; font-size: .85em; vertical-align: text-top; display: block; margin-top: 0.05em; }
|
||||
#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
|
||||
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #222222; text-decoration: none; }
|
||||
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #151515; }
|
||||
|
||||
.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .ulist > .title, .olist > .title, .dlist > .title, .qlist > .title { text-align: left; font-weight: bold; }
|
||||
|
||||
.tableblock > caption { text-align: left; font-weight: bold; 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: bold; text-transform: uppercase; }
|
||||
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; }
|
||||
.admonitionblock > table td.content > .paragraph:last-child > p { 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: 0; border-radius: 0; }
|
||||
.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 > .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 { margin-bottom: 0; }
|
||||
|
||||
.exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #d9d9d9; box-shadow: 0 1px 8px #d9d9d9; }
|
||||
|
||||
.sidebarblock { border-style: solid; border-width: 1px; border-color: #d9d9d9; margin-bottom: 1.25em; padding: 1.25em; background: #f2f2f2; -webkit-border-radius: 0; border-radius: 0; }
|
||||
.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: #6f6f6f; margin-top: 0; line-height: 1.6; }
|
||||
.sidebarblock > .content > .paragraph:last-child p { margin-bottom: 0; }
|
||||
|
||||
pre { color: black; font-family: monospace, serif; overflow-x: auto; line-height: 1.4; }
|
||||
|
||||
.verseblock { margin-bottom: 1.25em; }
|
||||
|
||||
.literalblock, .listingblock { margin-bottom: 1.25em; }
|
||||
.literalblock > .content > pre, .listingblock > .content > pre { background: #eeeeee; color: black; font-family: monospace, serif; border-width: 1px; border-style: solid; border-color: #cccccc; -webkit-border-radius: 0; border-radius: 0; padding: 0.8em 0.8em 0.6em 0.8em; word-wrap: break-word; line-height: 1.4; }
|
||||
.literalblock > .content > pre.nowrap, .listingblock > .content > pre.nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }
|
||||
.literalblock > .content > pre > code, .listingblock > .content > pre > code { font-size: 1em; white-space: inherit; color: black; font-family: monospace, serif; padding: 0; background: none; font-weight: normal; border: none; }
|
||||
@media only screen { .literalblock > .content > pre, .listingblock > .content > pre { font-size: 0.72em; } }
|
||||
@media only screen and (min-width: 768px) { .literalblock > .content > pre, .listingblock > .content > pre { font-size: 0.81em; } }
|
||||
@media only screen and (min-width: 1280px) { .literalblock > .content > pre, .listingblock > .content > pre { font-size: 0.9em; } }
|
||||
|
||||
.listingblock:hover .xml:before { content: "xml"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .html:before { content: "html"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .ruby:before { content: "ruby"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .asciidoc:before { content: "asciidoc"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .java:before { content: "java"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .javascript:before { content: "javascript"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .css:before { content: "css"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .scss:before { content: "scss"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
|
||||
.quoteblock { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #dddddd; }
|
||||
.quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.5625em 0; border: 0; }
|
||||
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
|
||||
.quoteblock .attribution { margin-top: -.25em; padding-bottom: 0.5625em; font-size: 0.8125em; color: #555555; }
|
||||
.quoteblock .attribution br { display: none; }
|
||||
.quoteblock .attribution cite { display: block; margin-bottom: 0.625em; }
|
||||
|
||||
table thead th, table tfoot th { font-weight: bold; }
|
||||
|
||||
table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 0; border-radius: 0; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; }
|
||||
|
||||
table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; }
|
||||
|
||||
table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; }
|
||||
|
||||
table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; }
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
|
||||
|
||||
th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
|
||||
|
||||
th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; }
|
||||
|
||||
th.tableblock.halign-top, td.tableblock.halign-top { vertical-align: top; }
|
||||
|
||||
th.tableblock.halign-bottom, td.tableblock.halign-bottom { vertical-align: bottom; }
|
||||
|
||||
th.tableblock.halign-middle, td.tableblock.halign-middle { vertical-align: middle; }
|
||||
|
||||
p.tableblock.header { color: #222222; font-weight: bold; }
|
||||
|
||||
td > div.verse { white-space: pre; }
|
||||
|
||||
ol { margin-left: 1.75em; }
|
||||
|
||||
ul li ol { margin-left: 1.5em; }
|
||||
|
||||
dl dd { margin-left: 1.125em; }
|
||||
|
||||
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
.unstyled dl dt { font-weight: normal; font-style: normal; }
|
||||
|
||||
ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .olist, .olist .ulist { margin-bottom: 0.625em; }
|
||||
|
||||
ul.unstyled, ol.unnumbered, ul.checklist { list-style-type: none; margin-left: 0.625em; }
|
||||
|
||||
ol.arabic { list-style-type: decimal; }
|
||||
|
||||
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; }
|
||||
|
||||
.hdlist > table, .colist > table { border: 0; background: none; }
|
||||
.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
|
||||
|
||||
.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
|
||||
|
||||
.colist > table tr > td:first-of-type { padding: 0 .8em; line-height: 1; }
|
||||
.colist > table tr > td:last-of-type { padding: 0.25em 0; }
|
||||
|
||||
td.hdlist1 { vertical-align: top; padding-right: .8em; font-weight: bold; }
|
||||
|
||||
.qanda > ol > li > p:first-child { color: #2795b6; }
|
||||
|
||||
.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 { margin-bottom: 1.25em; }
|
||||
.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; }
|
||||
|
||||
span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; }
|
||||
span.footnote a, span.footnoteref a { text-decoration: none; }
|
||||
|
||||
#footnotes { padding: 0.75em 0.375em; margin-bottom: 1.25em; #border-top: 1px solid #dddddd; }
|
||||
#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; }
|
||||
#footnotes .footnote { line-height: 1.3; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; }
|
||||
#footnotes .footnote a { font-weight: bold; text-decoration: none; }
|
||||
#footnotes .footnote:last-of-type { margin-bottom: 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; }
|
||||
|
||||
.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; }
|
||||
|
||||
.admonitionblock td.icon [class^="icon-"]:before { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; }
|
||||
.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #2ba6cb; color: #207c98; }
|
||||
.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
|
||||
.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
|
||||
.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
|
||||
.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
|
||||
|
||||
.conum { display: inline-block; color: white !important; background-color: #222222; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; font-weight: bold; line-height: 20px; font-family: Arial, sans-serif; font-style: normal; position: relative; top: -2px; letter-spacing: -1px; }
|
||||
.conum * { color: white !important; }
|
||||
.conum:empty { display: none; }
|
||||
|
||||
pre .comment .conum { left: -20px; }
|
||||
|
||||
/* Missing alignment styles */
|
||||
.halign-left { text-align: left }
|
||||
.halign-center { text-align: center }
|
||||
.halign-right { text-align: right }
|
||||
|
||||
.valign-top { vertical-align: top }
|
||||
.valign-middle { vertical-align: middle }
|
||||
.valign-bottom { vertical-align: bottom }
|
||||
624
_stylesheets/origin.css
Normal file
@@ -0,0 +1,624 @@
|
||||
@import url(http://openshift.redhat.com/app/assets/overpass.css);
|
||||
@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css);
|
||||
/*
|
||||
Origin theme source file
|
||||
|
||||
To build it:
|
||||
- clone the asciidoctor-stylesheet-factory repo
|
||||
- copy this theme file to the sass folder inside the repo
|
||||
- copy the settings file to the sass/settings file inside the repo
|
||||
- cd to the cloned repo
|
||||
- bundle install
|
||||
- compass compile
|
||||
- compiled stylesheet is in the stylesheets/ directory
|
||||
*/
|
||||
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on July 24, 2013 */
|
||||
@font-face { font-family: 'source_code_pro'; src: url("fonts/sourcecodepro-regular-webfont.eot"); src: url("fonts/sourcecodepro-regular-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/sourcecodepro-regular-webfont.woff") format("woff"), url("fonts/sourcecodepro-regular-webfont.ttf") format("truetype"), url("sourcecodepro-regular-webfont.svg#source_code_proregular") format("svg"); font-weight: normal; font-style: normal; }
|
||||
|
||||
/*
|
||||
Settings and overrides for the Origin theme
|
||||
*/
|
||||
/* normalize.css v2.1.1 | MIT License | git.io/normalize */
|
||||
/* ========================================================================== HTML5 display definitions ========================================================================== */
|
||||
/** Correct `block` display not defined in IE 8/9. */
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
|
||||
|
||||
/** Correct `inline-block` display not defined in IE 8/9. */
|
||||
audio, canvas, video { display: inline-block; }
|
||||
|
||||
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
|
||||
audio:not([controls]) { display: none; height: 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9. */
|
||||
[hidden] { display: none; }
|
||||
|
||||
/* ========================================================================== Base ========================================================================== */
|
||||
/** 1. Prevent system color scheme's background color being used in Firefox, IE, and Opera. 2. Prevent system color scheme's text color being used in Firefox, IE, and Opera. 3. Set default font family to sans-serif. 4. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
|
||||
html { background: #fff; /* 1 */ color: #000; /* 2 */ font-family: sans-serif; /* 3 */ -ms-text-size-adjust: 100%; /* 4 */ -webkit-text-size-adjust: 100%; /* 4 */ }
|
||||
|
||||
/** Remove default margin. */
|
||||
body { margin: 0; }
|
||||
|
||||
/* ========================================================================== Links ========================================================================== */
|
||||
/** Address `outline` inconsistency between Chrome and other browsers. */
|
||||
a:focus { outline: thin dotted; }
|
||||
|
||||
/** Improve readability when focused and also mouse hovered in all browsers. */
|
||||
a:active, a:hover { outline: 0; }
|
||||
|
||||
/* ========================================================================== Typography ========================================================================== */
|
||||
/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
|
||||
h1 { font-size: 2em; margin: 0.67em 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
|
||||
abbr[title] { border-bottom: 1px dotted; }
|
||||
|
||||
/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
|
||||
b, strong { font-weight: bold; }
|
||||
|
||||
/** Address styling not present in Safari 5 and Chrome. */
|
||||
dfn { font-style: italic; }
|
||||
|
||||
/** Address differences between Firefox and other browsers. */
|
||||
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9. */
|
||||
mark { background: #ff0; color: #000; }
|
||||
|
||||
/** Correct font family set oddly in Safari 5 and Chrome. */
|
||||
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
|
||||
|
||||
/** Improve readability of pre-formatted text in all browsers. */
|
||||
pre { white-space: pre-wrap; }
|
||||
|
||||
/** Set consistent quote types. */
|
||||
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
|
||||
|
||||
/** Address inconsistent and variable font size in all browsers. */
|
||||
small { font-size: 80%; }
|
||||
|
||||
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
|
||||
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
||||
|
||||
sup { top: -0.5em; }
|
||||
|
||||
sub { bottom: -0.25em; }
|
||||
|
||||
/* ========================================================================== Embedded content ========================================================================== */
|
||||
/** Remove border when inside `a` element in IE 8/9. */
|
||||
img { border: 0; }
|
||||
|
||||
/** Correct overflow displayed oddly in IE 9. */
|
||||
svg:not(:root) { overflow: hidden; }
|
||||
|
||||
/* ========================================================================== Figures ========================================================================== */
|
||||
/** Address margin not present in IE 8/9 and Safari 5. */
|
||||
figure { margin: 0; }
|
||||
|
||||
/* ========================================================================== Forms ========================================================================== */
|
||||
/** Define consistent border, margin, and padding. */
|
||||
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
|
||||
|
||||
/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
|
||||
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
|
||||
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
|
||||
|
||||
/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
|
||||
button, input { line-height: normal; }
|
||||
|
||||
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
|
||||
button, select { text-transform: none; }
|
||||
|
||||
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
|
||||
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
|
||||
|
||||
/** Re-set default cursor for disabled elements. */
|
||||
button[disabled], html input[disabled] { cursor: default; }
|
||||
|
||||
/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
|
||||
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
|
||||
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
|
||||
|
||||
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
|
||||
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
|
||||
|
||||
/** Remove inner padding and border in Firefox 4+. */
|
||||
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
|
||||
|
||||
/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
|
||||
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
|
||||
|
||||
/* ========================================================================== Tables ========================================================================== */
|
||||
/** Remove most spacing between table cells. */
|
||||
table { border-collapse: collapse; border-spacing: 0; }
|
||||
|
||||
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
|
||||
|
||||
html, body { font-size: 100%; }
|
||||
|
||||
body { background: white; color: #222222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
|
||||
|
||||
a:hover { cursor: pointer; }
|
||||
|
||||
a:focus { outline: none; }
|
||||
|
||||
img, object, embed { max-width: 100%; height: auto; }
|
||||
|
||||
object, embed { height: 100%; }
|
||||
|
||||
img { -ms-interpolation-mode: bicubic; }
|
||||
|
||||
#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; }
|
||||
|
||||
.antialiased, body { -webkit-font-smoothing: antialiased; }
|
||||
|
||||
img { display: inline-block; vertical-align: middle; }
|
||||
|
||||
textarea { height: auto; min-height: 50px; }
|
||||
|
||||
select { width: 100%; }
|
||||
|
||||
p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; }
|
||||
|
||||
.subheader, .admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .ulist > .title, .olist > .title, .dlist > .title, .qlist > .title, .tableblock > caption { line-height: 1.4; color: #6f6f6f; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
|
||||
|
||||
/* Typography resets */
|
||||
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
|
||||
|
||||
/* Default Link Styles */
|
||||
a { color: #006699; text-decoration: none; line-height: inherit; }
|
||||
a:hover, a:focus { color: #005580; }
|
||||
a img { border: none; }
|
||||
|
||||
/* Default paragraph styles */
|
||||
p { font-family: inherit; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
|
||||
p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
|
||||
|
||||
/* Default header styles */
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Overpass, sans-serif; font-weight: bold; font-style: normal; color: #222222; text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.2125em; }
|
||||
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #6f6f6f; line-height: 0; }
|
||||
|
||||
h1 { font-size: 2.125em; }
|
||||
|
||||
h2 { font-size: 1.6875em; }
|
||||
|
||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
|
||||
|
||||
h4 { font-size: 1.125em; }
|
||||
|
||||
h5 { font-size: 1.125em; }
|
||||
|
||||
h6 { font-size: 1em; }
|
||||
|
||||
hr { border: solid #dddddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
|
||||
|
||||
/* Helpful Typography Defaults */
|
||||
em, i { font-style: italic; line-height: inherit; }
|
||||
|
||||
strong, b { font-weight: bold; line-height: inherit; }
|
||||
|
||||
small { font-size: 60%; line-height: inherit; }
|
||||
|
||||
code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: bold; color: #7f0a0c; }
|
||||
|
||||
/* Lists */
|
||||
ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
|
||||
|
||||
ul, ol { margin-left: 1.5em; }
|
||||
|
||||
/* Unordered Lists */
|
||||
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
|
||||
ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
|
||||
ul.square { list-style-type: square; }
|
||||
ul.circle { list-style-type: circle; }
|
||||
ul.disc { list-style-type: disc; }
|
||||
ul.no-bullet { list-style: none; }
|
||||
|
||||
/* Ordered Lists */
|
||||
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
|
||||
|
||||
/* Definition Lists */
|
||||
dl dt { margin-bottom: 0.3125em; font-weight: bold; }
|
||||
dl dd { margin-bottom: 1.25em; }
|
||||
|
||||
/* Abbreviations */
|
||||
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222222; border-bottom: 1px dotted #dddddd; cursor: help; }
|
||||
|
||||
abbr { text-transform: none; }
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #dddddd; }
|
||||
blockquote cite { display: block; font-size: 0.8125em; color: #555555; }
|
||||
blockquote cite:before { content: "\2014 \0020"; }
|
||||
blockquote cite a, blockquote cite a:visited { color: #555555; }
|
||||
|
||||
blockquote, blockquote p { line-height: 1.6; color: #6f6f6f; }
|
||||
|
||||
/* Microformats */
|
||||
.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #dddddd; padding: 0.625em 0.75em; }
|
||||
.vcard li { margin: 0; display: block; }
|
||||
.vcard .fn { font-weight: bold; font-size: 0.9375em; }
|
||||
|
||||
.vevent .summary { font-weight: bold; }
|
||||
.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
|
||||
h1 { font-size: 2.75em; }
|
||||
h2 { font-size: 2.3125em; }
|
||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
|
||||
h4 { font-size: 1.4375em; } }
|
||||
/* Print styles. Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
|
||||
*/
|
||||
.print-only { display: none !important; }
|
||||
|
||||
@media print { * { background: transparent !important; color: #000 !important; /* Black prints faster: h5bp.com/s */ box-shadow: none !important; text-shadow: none !important; }
|
||||
a, a:visited { text-decoration: underline; }
|
||||
a[href]:after { content: " (" attr(href) ")"; }
|
||||
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
|
||||
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
||||
thead { display: table-header-group; /* h5bp.com/t */ }
|
||||
tr, img { page-break-inside: avoid; }
|
||||
img { max-width: 100% !important; }
|
||||
@page { margin: 0.5cm; }
|
||||
p, h2, h3, #toctitle, .sidebarblock > .content > .title { orphans: 3; widows: 3; }
|
||||
h2, h3, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
|
||||
.hide-on-print { display: none !important; }
|
||||
.print-only { display: block !important; }
|
||||
.hide-for-print { display: none !important; }
|
||||
.show-for-print { display: inherit !important; } }
|
||||
/* Tables */
|
||||
table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
|
||||
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: #222222; text-align: left; }
|
||||
table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
|
||||
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.4; }
|
||||
|
||||
/*
|
||||
.clearfix,
|
||||
.floatend { zoom: 1; &:before, &:after { content: " "; display: table; } &:after { clear: both; }
|
||||
}
|
||||
*/
|
||||
code { font-size: inherit; padding: 0; white-space: nowrap; background-color: inherit; border: 0 solid #dddddd; -webkit-border-radius: 0; border-radius: 0; text-shadow: none; }
|
||||
|
||||
kbd.keyseq { color: #555555; }
|
||||
|
||||
kbd:not(.keyseq) { display: inline-block; color: #222222; 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; }
|
||||
|
||||
kbd kbd:first-child { margin-left: 0; }
|
||||
|
||||
kbd kbd:last-child { margin-right: 0; }
|
||||
|
||||
.menuseq, .menu { color: #090909; }
|
||||
|
||||
#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; }
|
||||
|
||||
#header { margin-bottom: 2.5em; }
|
||||
#header > h1 { color: #222222; font-weight: bold; border-bottom: 1px solid #dddddd; margin-bottom: -28px; padding-bottom: 32px; }
|
||||
#header span { color: #6f6f6f; }
|
||||
#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: 0 solid #dddddd; padding-bottom: 1.25em; }
|
||||
#toc > ul, #toc > ol { margin-left: 0.25em; }
|
||||
#toc ul.sectlevel0 > li > a, #toc ol.sectlevel0 > li > a { font-style: italic; }
|
||||
#toc ul.sectlevel0 ul.sectlevel1, #toc ol.sectlevel0 ol.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
|
||||
#toc ul, #toc ol { list-style-type: none; }
|
||||
|
||||
#toctitle { color: #6f6f6f; }
|
||||
|
||||
@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; }
|
||||
#toc.toc2 { position: fixed; width: 20em; left: 0; top: 0; border-right: 1px solid #dddddd; border-bottom: 0; z-index: 1000; padding: 1em; height: 100%; overflow: auto; }
|
||||
#toc.toc2 #toctitle { margin-top: 0; }
|
||||
#toc.toc2 > ul, #toc.toc2 > ol { font-size: .95em; }
|
||||
#toc.toc2 ul ul, #toc.toc2 ol ol { margin-left: 0; padding-left: 1.25em; }
|
||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1, #toc.toc2 ol.sectlevel0 ol.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
|
||||
body.toc2.toc-right { padding-left: 0; padding-right: 20em; }
|
||||
body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid #dddddd; left: auto; right: 0; } }
|
||||
#footer { max-width: 100%; background-color: #222222; padding: 1.25em; }
|
||||
|
||||
#footer-text { color: #dddddd; line-height: 1.44; }
|
||||
|
||||
.sect1 { padding-bottom: 1.25em; }
|
||||
|
||||
.sect1 + .sect1 { border-top: 0 solid #dddddd; }
|
||||
|
||||
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; width: 1em; margin-left: -1em; display: block; text-decoration: none; visibility: hidden; text-align: center; font-weight: normal; }
|
||||
#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: '\00A7'; font-size: .85em; vertical-align: text-top; display: block; margin-top: 0.05em; }
|
||||
#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
|
||||
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #222222; text-decoration: none; }
|
||||
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #151515; }
|
||||
|
||||
.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .ulist > .title, .olist > .title, .dlist > .title, .qlist > .title { text-align: left; font-weight: bold; }
|
||||
|
||||
.tableblock > caption { text-align: left; font-weight: bold; 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: bold; text-transform: uppercase; }
|
||||
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; }
|
||||
.admonitionblock > table td.content > .paragraph:last-child > p { 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: 0; border-radius: 0; }
|
||||
.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 > .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 { margin-bottom: 0; }
|
||||
|
||||
.exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #d9d9d9; box-shadow: 0 1px 8px #d9d9d9; }
|
||||
|
||||
.sidebarblock { border-style: solid; border-width: 1px; border-color: #d9d9d9; margin-bottom: 1.25em; padding: 1.25em; background: #f2f2f2; -webkit-border-radius: 0; border-radius: 0; }
|
||||
.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: #6f6f6f; margin-top: 0; line-height: 1.6; }
|
||||
.sidebarblock > .content > .paragraph:last-child p { margin-bottom: 0; }
|
||||
|
||||
pre { color: black; font-family: source_code_pro, monospace, serif; overflow-x: auto; line-height: 1.4; }
|
||||
|
||||
.verseblock { margin-bottom: 1.25em; }
|
||||
|
||||
.literalblock, .listingblock { margin-bottom: 1.25em; }
|
||||
.literalblock > .content > pre, .listingblock > .content > pre { background: #eeeeee; color: black; font-family: source_code_pro, monospace, serif; border-width: 0; padding: 0.8em 0.8em 0.6em 0.8em; word-wrap: break-word; line-height: 1.4; }
|
||||
.literalblock > .content > pre.nowrap, .listingblock > .content > pre.nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }
|
||||
.literalblock > .content > pre > code, .listingblock > .content > pre > code { font-size: 1em; white-space: inherit; color: black; font-family: source_code_pro, monospace, serif; padding: 0; background: none; font-weight: normal; border: none; }
|
||||
@media only screen { .literalblock > .content > pre, .listingblock > .content > pre { font-size: 0.8em; } }
|
||||
@media only screen and (min-width: 768px) { .literalblock > .content > pre, .listingblock > .content > pre { font-size: 0.9em; } }
|
||||
@media only screen and (min-width: 1280px) { .literalblock > .content > pre, .listingblock > .content > pre { font-size: 1em; } }
|
||||
|
||||
.listingblock:hover .xml:before { content: "xml"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .html:before { content: "html"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .ruby:before { content: "ruby"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .asciidoc:before { content: "asciidoc"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .java:before { content: "java"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .javascript:before { content: "javascript"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .css:before { content: "css"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
.listingblock:hover .scss:before { content: "scss"; text-transform: uppercase; float: right; font-size: 0.9em; color: #999; }
|
||||
|
||||
.quoteblock { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #dddddd; }
|
||||
.quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.5625em 0; border: 0; }
|
||||
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
|
||||
.quoteblock .attribution { margin-top: -.25em; padding-bottom: 0.5625em; font-size: 0.8125em; color: #555555; }
|
||||
.quoteblock .attribution br { display: none; }
|
||||
.quoteblock .attribution cite { display: block; margin-bottom: 0.625em; }
|
||||
|
||||
table thead th, table tfoot th { font-weight: bold; }
|
||||
|
||||
table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 0; border-radius: 0; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; }
|
||||
|
||||
table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; }
|
||||
|
||||
table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; }
|
||||
|
||||
table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; }
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
|
||||
|
||||
th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
|
||||
|
||||
th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; }
|
||||
|
||||
th.tableblock.halign-top, td.tableblock.halign-top { vertical-align: top; }
|
||||
|
||||
th.tableblock.halign-bottom, td.tableblock.halign-bottom { vertical-align: bottom; }
|
||||
|
||||
th.tableblock.halign-middle, td.tableblock.halign-middle { vertical-align: middle; }
|
||||
|
||||
p.tableblock.header { color: #222222; font-weight: bold; }
|
||||
|
||||
td > div.verse { white-space: pre; }
|
||||
|
||||
ol { margin-left: 1.75em; }
|
||||
|
||||
ul li ol { margin-left: 1.5em; }
|
||||
|
||||
dl dd { margin-left: 1.125em; }
|
||||
|
||||
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
.unstyled dl dt { font-weight: normal; font-style: normal; }
|
||||
|
||||
ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .olist, .olist .ulist { margin-bottom: 0.625em; }
|
||||
|
||||
ul.unstyled, ol.unnumbered, ul.checklist { list-style-type: none; margin-left: 0.625em; }
|
||||
|
||||
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; }
|
||||
|
||||
.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
|
||||
|
||||
.colist > table tr > td:first-of-type { padding: 0 .8em; line-height: 1; }
|
||||
.colist > table tr > td:last-of-type { padding: 0.25em 0; }
|
||||
|
||||
td.hdlist1 { vertical-align: top; padding-right: .8em; font-weight: bold; }
|
||||
|
||||
.qanda > ol > li > p:first-child { color: #005580; }
|
||||
|
||||
.thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: none; box-shadow: none; }
|
||||
|
||||
.imageblock { margin-bottom: 1.25em; }
|
||||
.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; }
|
||||
|
||||
span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; }
|
||||
span.footnote a, span.footnoteref a { text-decoration: none; }
|
||||
|
||||
#footnotes { padding: 0.75em 0.375em; margin-bottom: 1.25em; }
|
||||
#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; }
|
||||
#footnotes .footnote { 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; }
|
||||
|
||||
.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; }
|
||||
|
||||
.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; }
|
||||
|
||||
.admonitionblock td.icon [class^="icon-"]:before { font-size: 2.5em; text-shadow: none; cursor: default; }
|
||||
.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #006699; color: #004c73; }
|
||||
.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
|
||||
.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
|
||||
.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
|
||||
.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
|
||||
|
||||
.conum { display: inline-block; color: white !important; background-color: #222222; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; font-weight: bold; line-height: 20px; font-family: Arial, sans-serif; font-style: normal; position: relative; top: -2px; letter-spacing: -1px; }
|
||||
.conum * { color: white !important; }
|
||||
.conum + b { display: none; }
|
||||
.conum:after { content: attr(data-value); }
|
||||
.conum:not([data-value]):empty { display: none; }
|
||||
|
||||
nav.global { background: #222; width: 100%; height: 4em; }
|
||||
nav.global ul { list-style-type: none; margin: 0; }
|
||||
nav.global li { display: inline-block; }
|
||||
nav.global a { display: block; padding: .5em 1em; font-family: Overpass; font-size: 1.1em; color: white; }
|
||||
nav.global a:hover { color: #ef2e32; }
|
||||
nav.global a img { margin-top: .25em; height: 2.75em; }
|
||||
|
||||
#header > h1 { border: none; }
|
||||
|
||||
#toc { background: #eee; border-right: none; }
|
||||
#toc.toc2 { box-shadow: 1px 0 1px rgba(0, 0, 0, 0.3); }
|
||||
|
||||
code { font-family: source_code_pro; }
|
||||
|
||||
.admonitionblock td.icon .icon-tip:before { color: #cc6; text-shadow: none; }
|
||||
|
||||
#footer { background-image: url("_images/panda.png"); background-position: right bottom; background-repeat: no-repeat; }
|
||||
|
||||
/* Alignment Styles */
|
||||
.halign-left { text-align: left }
|
||||
.halign-center { text-align: center }
|
||||
.halign-right { text-align: right }
|
||||
|
||||
.valign-top { vertical-align: top }
|
||||
.valign-middle { vertical-align: middle }
|
||||
.valign-bottom { vertical-align: bottom }
|
||||
BIN
_stylesheets/respond.proxy.gif
Normal file
|
After Width: | Height: | Size: 35 B |
129
_stylesheets/respond.proxy.js
Normal file
@@ -0,0 +1,129 @@
|
||||
/*! Respond.js: min/max-width media query polyfill. Remote proxy (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
|
||||
(function(win, doc, undefined){
|
||||
var docElem = doc.documentElement,
|
||||
proxyURL = doc.getElementById("respond-proxy").href,
|
||||
redirectURL = (doc.getElementById("respond-redirect") || location).href,
|
||||
baseElem = doc.getElementsByTagName("base")[0],
|
||||
urls = [],
|
||||
refNode;
|
||||
|
||||
function encode(url){
|
||||
return win.encodeURIComponent(url);
|
||||
}
|
||||
|
||||
function fakejax( url, callback ){
|
||||
|
||||
var iframe,
|
||||
AXO;
|
||||
|
||||
// All hail Google http://j.mp/iKMI19
|
||||
// Behold, an iframe proxy without annoying clicky noises.
|
||||
if ( "ActiveXObject" in win ) {
|
||||
AXO = new ActiveXObject( "htmlfile" );
|
||||
AXO.open();
|
||||
AXO.write( '<iframe id="x"></iframe>' );
|
||||
AXO.close();
|
||||
iframe = AXO.getElementById( "x" );
|
||||
} else {
|
||||
iframe = doc.createElement( "iframe" );
|
||||
iframe.style.cssText = "position:absolute;top:-99em";
|
||||
docElem.insertBefore(iframe, docElem.firstElementChild || docElem.firstChild );
|
||||
}
|
||||
|
||||
iframe.src = checkBaseURL(proxyURL) + "?url=" + encode(redirectURL) + "&css=" + encode(checkBaseURL(url));
|
||||
|
||||
function checkFrameName() {
|
||||
var cssText;
|
||||
|
||||
try {
|
||||
cssText = iframe.contentWindow.name;
|
||||
}
|
||||
catch (e) { }
|
||||
|
||||
if (cssText) {
|
||||
// We've got what we need. Stop the iframe from loading further content.
|
||||
iframe.src = "about:blank";
|
||||
iframe.parentNode.removeChild(iframe);
|
||||
iframe = null;
|
||||
|
||||
|
||||
// Per http://j.mp/kn9EPh, not taking any chances. Flushing the ActiveXObject
|
||||
if (AXO) {
|
||||
AXO = null;
|
||||
|
||||
if (win.CollectGarbage) {
|
||||
win.CollectGarbage();
|
||||
}
|
||||
}
|
||||
|
||||
callback(cssText);
|
||||
}
|
||||
else{
|
||||
win.setTimeout(checkFrameName, 100);
|
||||
}
|
||||
}
|
||||
|
||||
win.setTimeout(checkFrameName, 500);
|
||||
}
|
||||
|
||||
// http://stackoverflow.com/a/472729
|
||||
function checkBaseURL(href) {
|
||||
var el = document.createElement('div'),
|
||||
escapedURL = href.split('&').join('&').
|
||||
split('<').join('<').
|
||||
split('"').join('"');
|
||||
|
||||
el.innerHTML = '<a href="' + escapedURL + '">x</a>';
|
||||
return el.firstChild.href;
|
||||
}
|
||||
|
||||
function checkRedirectURL() {
|
||||
// IE6 & IE7 don't build out absolute urls in <link /> attributes.
|
||||
// So respond.proxy.gif remains relative instead of http://example.com/respond.proxy.gif.
|
||||
// This trickery resolves that issue.
|
||||
if (~ !redirectURL.indexOf(location.host)) {
|
||||
|
||||
var fakeLink = doc.createElement("div");
|
||||
|
||||
fakeLink.innerHTML = '<a href="' + redirectURL + '"></a>';
|
||||
docElem.insertBefore(fakeLink, docElem.firstElementChild || docElem.firstChild );
|
||||
|
||||
// Grab the parsed URL from that dummy object
|
||||
redirectURL = fakeLink.firstChild.href;
|
||||
|
||||
// Clean up
|
||||
fakeLink.parentNode.removeChild(fakeLink);
|
||||
fakeLink = null;
|
||||
}
|
||||
}
|
||||
|
||||
function buildUrls(){
|
||||
var links = doc.getElementsByTagName( "link" );
|
||||
|
||||
for( var i = 0, linkl = links.length; i < linkl; i++ ){
|
||||
|
||||
var thislink = links[i],
|
||||
href = links[i].href,
|
||||
extreg = (/^([a-zA-Z:]*\/\/(www\.)?)/).test( href ),
|
||||
ext = (baseElem && !extreg) || extreg;
|
||||
|
||||
//make sure it's an external stylesheet
|
||||
if( thislink.rel.indexOf( "stylesheet" ) >= 0 && ext ){
|
||||
(function( link ){
|
||||
fakejax( href, function( css ){
|
||||
link.styleSheet.rawCssText = css;
|
||||
respond.update();
|
||||
} );
|
||||
})( thislink );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if( !respond.mediaQueriesSupported ){
|
||||
checkRedirectURL();
|
||||
buildUrls();
|
||||
}
|
||||
|
||||
})( window, document );
|
||||
1
_stylesheets/sass/fonts/_overpass.scss
Normal file
@@ -0,0 +1 @@
|
||||
@import url(http://openshift.redhat.com/app/assets/overpass.css);
|
||||
13
_stylesheets/sass/fonts/_sourcecode.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on July 24, 2013 */
|
||||
|
||||
@font-face {
|
||||
font-family: 'source_code_pro';
|
||||
src: url('fonts/sourcecodepro-regular-webfont.eot');
|
||||
src: url('fonts/sourcecodepro-regular-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/sourcecodepro-regular-webfont.woff') format('woff'),
|
||||
url('fonts/sourcecodepro-regular-webfont.ttf') format('truetype'),
|
||||
url('sourcecodepro-regular-webfont.svg#source_code_proregular') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
81
_stylesheets/sass/origin.scss
Normal file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
Origin theme source file
|
||||
|
||||
To build it:
|
||||
- clone the asciidoctor-stylesheet-factory repo
|
||||
- copy this theme file to the sass folder inside the repo
|
||||
- copy the settings file to the sass/settings file inside the repo
|
||||
- cd to the cloned repo
|
||||
- bundle install
|
||||
- compass compile
|
||||
- compiled stylesheet is in the stylesheets/ directory
|
||||
*/
|
||||
|
||||
@import "fonts/overpass";
|
||||
@import "fonts/sourcecode";
|
||||
@import "settings/origin";
|
||||
@import "components/asciidoc";
|
||||
@import "components/awesome-icons";
|
||||
|
||||
|
||||
nav.global {
|
||||
background: #222;
|
||||
width: 100%;
|
||||
height: 4em;
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
}
|
||||
a {
|
||||
display: block;
|
||||
padding: .5em 1em;
|
||||
font-family: Overpass;
|
||||
font-size: 1.1em;
|
||||
color: white;
|
||||
|
||||
&:hover {
|
||||
color: #ef2e32;
|
||||
}
|
||||
|
||||
img {
|
||||
margin-top: .25em;
|
||||
height: 2.75em;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#header > h1 {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#toc {
|
||||
background: #eee;
|
||||
border-right: none;
|
||||
|
||||
&.toc2 {
|
||||
box-shadow: 1px 0 1px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
font-family: source_code_pro;
|
||||
}
|
||||
|
||||
.admonitionblock td.icon .icon-tip:before {
|
||||
color: #cc6;
|
||||
text-shadow: $icon-text-shadow;
|
||||
}
|
||||
|
||||
#footer {
|
||||
background-image: url('_images/panda.png');
|
||||
background-position: right bottom;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
68
_stylesheets/sass/settings/_origin.scss
Normal file
@@ -0,0 +1,68 @@
|
||||
@import "defaults";
|
||||
|
||||
// Body
|
||||
|
||||
$em-base: 16px;
|
||||
$primary-color: #006699;
|
||||
//$alert-color: lighten(#6d180b, 15%);
|
||||
$global-radius: 0;
|
||||
$body-font-family: "Helvetica Neue",Helvetica,"Liberation Sans",Arial,sans-serif;
|
||||
|
||||
// Title
|
||||
$title-font-color: #222;
|
||||
|
||||
// Headings
|
||||
$header-font-family: Overpass, sans-serif;
|
||||
//$header-font-weight: normal;
|
||||
$header-font-color: #222;
|
||||
$header-top-margin: 1em;
|
||||
//$subheader-font-color: darken($header-font-color, 15%);
|
||||
$sect-divider-size: 0;
|
||||
$sect-divider-style: solid;
|
||||
$sect-divider-color: #ddd;
|
||||
|
||||
// Paragraphs
|
||||
|
||||
// Inline Code
|
||||
|
||||
// Code Blocks
|
||||
// *Recommended highlight.js themes: foundation
|
||||
|
||||
$pre-font-size: 1em;
|
||||
$pre-font-family: source_code_pro, monospace, serif;
|
||||
$pre-bg: #eee;
|
||||
$pre-line-height: 1.4;
|
||||
$pre-border-size: 0;
|
||||
$pre-border-color: #ccc;
|
||||
$pre-border-style: solid;
|
||||
$pre-font-color: black;
|
||||
$pre-padding: .8em .8em .6em .8em;
|
||||
|
||||
// Links
|
||||
|
||||
//$anchor-text-decoration: underline;
|
||||
|
||||
// Lists
|
||||
$list-side-margin: emCalc(24px);
|
||||
$definition-list-header-margin-bottom: emCalc(5px);
|
||||
$definition-list-margin-bottom: emCalc(20px);
|
||||
// FIXME need to account for nested definition list
|
||||
//$definition-list-content-margin-left: 0;
|
||||
|
||||
// Blockquotes
|
||||
|
||||
//$blockquote-font-color: lighten($body-font-color, 30%);
|
||||
//$blockquote-cite-font-size: inherit;
|
||||
//$blockquote-cite-font-color: darken($blockquote-font-color, 10%);
|
||||
|
||||
// Tables
|
||||
|
||||
$table-head-font-size: inherit;
|
||||
$table-row-font-size: inherit;
|
||||
$table-line-height: 1.4;
|
||||
|
||||
//Icons
|
||||
$icon-text-shadow: none;
|
||||
|
||||
//Images
|
||||
$thumb-box-shadow: none;
|
||||
48
_stylesheets/search.css
Normal file
@@ -0,0 +1,48 @@
|
||||
#hc-search-input {
|
||||
font-size: 12px;
|
||||
height: 25px;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
#hc-search-btn {
|
||||
font-size: 12px;
|
||||
height: 25px;
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
#hc-search-modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1;
|
||||
padding-top: 5%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgb(0,0,0);
|
||||
background-color: rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
#hc-modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
height: 80vh;
|
||||
}
|
||||
|
||||
#hc-modal-close {
|
||||
color: #aaaaaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#hc-modal-close:hover,
|
||||
#hc-modal-close:focus {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
1
_templates/_analytics.html.erb
Normal file
@@ -0,0 +1 @@
|
||||
<%= render(distro_key == 'openshift-origin' ? "_templates/_analytics_origin.html" : "_templates/_analytics_other.html") %>
|
||||
7
_templates/_analytics_origin.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<script async src="//www.google-analytics.com/analytics.js" type="text/javascript"></script>
|
||||
<script>
|
||||
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||||
ga('create', 'UA-40375612-1', 'openshift.org');
|
||||
ga('set', 'forceSSL', true);
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
11
_templates/_analytics_other.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-PMDVKG');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script src="//www.redhat.com/dtm.js" type="text/javascript"></script>
|
||||
<!-- End Adobe DTM -->
|
||||
1
_templates/_footer.html.erb
Normal file
@@ -0,0 +1 @@
|
||||
<%= render((distro_key == 'openshift-origin' ? "_templates/_footer_origin.html.erb" : "_templates/_footer_other.html.erb"), :images_path => images_path) %>
|
||||
21
_templates/_footer_atomic.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<footer>
|
||||
<hr class='visible-print'>
|
||||
|
||||
© 2014–2016 Project Atomic. Sponsored by Red Hat, Inc.
|
||||
<div class='edit-this-page pull-right'>
|
||||
<a href="https://github.com/openshift/openshift-docs#contributing-to-openshift-documentation"><i class="icon fa fa-fw fa-github"></i>Edit this page on GitHub</a>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var _paq = _paq || [];
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://piwik-osasteam.rhcloud.com/piwik/";
|
||||
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
||||
_paq.push(['setSiteId', 4]);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript';
|
||||
g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<noscript><p><img src="https://piwik-osasteam.rhcloud.com/piwik/piwik.php?idsite=4" style="border:0;" alt="" /></p></noscript>
|
||||
</footer>
|
||||
62
_templates/_footer_origin.html.erb
Normal file
@@ -0,0 +1,62 @@
|
||||
<footer class="footer-origin-docs">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div id="footer_social">
|
||||
<a href="https://twitter.com/openshift" class="first">
|
||||
<span>
|
||||
<i class="fa fa-twitter-square fa-2x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
<a href="https://github.com/openshift/origin">
|
||||
<span>
|
||||
<i class="fa fa-github fa-2x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
<a href="https://plus.google.com/communities/114361859072744017486">
|
||||
<span>
|
||||
<i class="fa fa-google-plus-square fa-2x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
<a href="https://www.facebook.com/openshift">
|
||||
<span>
|
||||
<i class="fa fa-facebook-square fa-2x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<a id="footer_logo" href="https://www.redhat.com/">
|
||||
<img alt="Red Hat" src="https://assets.openshift.net/app/assets/redhat.svg">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 text-center">
|
||||
<a id="powered_by_openshift" title="Powered by OpenShift Online" href="https://www.openshift.com/">
|
||||
<img src="https://www.openshift.com/sites/default/files/images/powered-transparent-white.png" alt="Powered by OpenShift Online">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 text-right">
|
||||
<a id="built_with_asciibinder" title="Built with AsciiBinder docs management system" href="http://asciibinder.org/">
|
||||
<img src="<%= File.join(images_path, 'asciibinder_web_logo.svg') %>" alt="AsciiBinder">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="attribution">
|
||||
<button type="button" class="btn btn-link" data-html="true" data-container="body" data-toggle="popover" data-placement="top" data-content="
|
||||
'<a target='_blank' href='https://www.flickr.com/photos/eflon/3655695161/'>Spin</a>' by <a target='_blank' href='https://www.flickr.com/photos/eflon/'>eflon</a>,</br> used under <a target='_blank' href='https://creativecommons.org/licenses/by/2.0/'>CC BY 2.0</a> </br>Color tint added to original">
|
||||
Image attribution
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('[data-toggle="popover"]').popover()
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
</footer>
|
||||
35
_templates/_footer_other.html.erb
Normal file
@@ -0,0 +1,35 @@
|
||||
<footer id="rh">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<img src="https://assets.openshift.net/content/subdomain/redhat_logo.svg" class="img-fluid" alt="Red Hat" style="height: 40px;">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<p>Copyright © 2018 <span class="text-nowrap">Red Hat, Inc.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<nav class="nav">
|
||||
<a href="https://www.redhat.com/en/about/privacy-policy" class="nav-link">Privacy statement</a>
|
||||
<a href="https://www.openshift.com/legal/terms/" class="nav-link">Terms of use</a>
|
||||
<a href="https://www.redhat.com/en/about/all-policies-guidelines" class="nav-link">All policies and guidelines</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="hidden-sm col-sm-2 powered-by">
|
||||
<a href="https://www.openshift.com/" title="Powered by OpenShift Online">
|
||||
<img src="https://www.openshift.com/images/logos/powered_by_openshift_reverse.png" alt="Powered by OpenShift Online">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script type="text/javascript">
|
||||
if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {
|
||||
_satellite.pageBottom();
|
||||
}
|
||||
</script>
|
||||
<!-- End Adobe DTM -->
|
||||
28
_templates/_nav_atomic.html.erb
Normal file
@@ -0,0 +1,28 @@
|
||||
<ul class='docbrowser nav nav-vertical'>
|
||||
<%- navigation.each.with_index do |topic_group, groupidx| -%>
|
||||
<%- current_group = topic_group[:id] == group_id -%>
|
||||
<li class='disabled'>
|
||||
<h3><%= topic_group[:name] %></h3>
|
||||
</li>
|
||||
<%- topic_group[:topics].each.with_index do |topic, topicidx| -%>
|
||||
<%- if not topic.has_key?(:topics) -%>
|
||||
<%- current_topic = current_group && (topic[:id] == topic_id) -%>
|
||||
<li role="menuitem" class="<%= current_topic ? ' active' : '' %>"><a href="<%= subtopic_shim %><%= topic[:path] %>"><%= topic[:name] %></a></li>
|
||||
<%- else -%>
|
||||
<%- current_subgroup = topic[:id] == subgroup_id -%>
|
||||
<!-- <li role="menuitem"><a><%= topic[:name] %></a></li> -->
|
||||
<li role="menuitem" class="<%= current_topic ? ' active' : '' %>">
|
||||
<a class="" href="javascript:void(0);" data-toggle="collapse" data-target="#topicSubGroup-<%= groupidx %>-<%= topicidx %>">
|
||||
<span id="sgSpan-<%= groupidx %>-<%= topicidx %>" class="fa <%= current_subgroup ? 'fa-caret-down' : 'fa-caret-right' %>"></span> <%= topic[:name] %>
|
||||
</a>
|
||||
<ul id="topicSubGroup-<%= groupidx %>-<%= topicidx %>" class="nav-tertiary list-unstyled collapse<%= current_subgroup ? ' in' : '' %>">
|
||||
<%- topic[:topics].each do |subtopic| -%>
|
||||
<%- current_subtopic = current_group && current_subgroup && (subtopic[:id] == topic_id) %>
|
||||
<li class="<%= current_subtopic ? ' active' : '' %>"> <a role="menuitem" href="<%= subtopic_shim %><%= subtopic[:path] %>"><%= subtopic[:name] %></strong></a><li>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
</li>
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
31
_templates/_nav_openshift.html.erb
Normal file
@@ -0,0 +1,31 @@
|
||||
<ul class="nav nav-sidebar">
|
||||
<%- navigation.each.with_index do |topic_group, groupidx| -%>
|
||||
<%- current_group = topic_group[:id] == group_id -%>
|
||||
<li class="nav-header">
|
||||
<a class="" href="javascript:void(0);" data-toggle="collapse" data-target="#topicGroup<%= groupidx %>">
|
||||
<span id="tgSpan<%= groupidx %>" class="fa <%= current_group ? 'fa-angle-down' : 'fa-angle-right' %>"></span><%= topic_group[:name] %>
|
||||
</a>
|
||||
<ul id="topicGroup<%= groupidx %>" class="collapse <%= current_group ? 'in' : '' %> list-unstyled">
|
||||
<%- topic_group[:topics].each.with_index do |topic, topicidx| -%>
|
||||
<%- if not topic.has_key?(:topics) -%>
|
||||
<%- current_topic = current_group && (topic[:id] == topic_id) -%>
|
||||
<li><a class="<%= current_topic ? ' active' : '' %>" href="<%= subtopic_shim %><%= topic[:path] %>"><%= topic[:name] %></a></li>
|
||||
<%- else -%>
|
||||
<%- current_subgroup = topic[:id] == subgroup_id -%>
|
||||
<li class="nav-header">
|
||||
<a class="" href="javascript:void(0);" data-toggle="collapse" data-target="#topicSubGroup-<%= groupidx %>-<%= topicidx %>">
|
||||
<span id="sgSpan-<%= groupidx %>-<%= topicidx %>" class="fa <%= current_subgroup ? 'fa-caret-down' : 'fa-caret-right' %>"></span> <%= topic[:name] %>
|
||||
</a>
|
||||
<ul id="topicSubGroup-<%= groupidx %>-<%= topicidx %>" class="nav-tertiary list-unstyled collapse<%= current_subgroup ? ' in' : '' %>">
|
||||
<%- topic[:topics].each do |subtopic| -%>
|
||||
<%- current_subtopic = current_group && current_subgroup && (subtopic[:id] == topic_id) %>
|
||||
<li><a class="<%= current_subtopic ? ' active' : '' %>" href="<%= subtopic_shim %><%= subtopic[:path] %>"><%= subtopic[:name] %></a></li>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
</li>
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
</li>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
111
_templates/_page_openshift.html.erb
Normal file
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]> <html class="ie8"> <![endif]-->
|
||||
<!--[if IE 9]> <html class="ie9"> <![endif]-->
|
||||
<!--[if gt IE 9]><!-->
|
||||
<html>
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title><%= [topic_title, subgroup_title].compact.join(' - ') %> | <%= group_title %> | <%= distro %> <%= version %></title>
|
||||
<link href="https://assets.openshift.net/content/subdomain.css" rel="stylesheet" type="text/css">
|
||||
<link href="<%= File.join(css_path, 'docs.css') %>" rel="stylesheet" />
|
||||
<link href="<%= File.join(css_path, 'search.css') %>" rel="stylesheet" />
|
||||
<link href="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" rel="apple-touch-icon-precomposed" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/subdomain/favicon32x32.png" rel="shortcut icon" type="text/css">
|
||||
<link href="https://assets.openshift.net/content/osh-nav-footer.css" rel="stylesheet" type="text/css" media="screen, print" />
|
||||
<!--[if IE]><link rel="shortcut icon" href="https://assets.openshift.net/content/subdomain/favicon.ico"><![endif]-->
|
||||
<!-- or, set /favicon.ico for IE10 win -->
|
||||
<meta content="OpenShift" name="application-name">
|
||||
<meta content="#000000" name="msapplication-TileColor">
|
||||
<meta content="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" name="msapplication-TileImage">
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://assets.openshift.net/content/html5shiv.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/respond.js" type="text/javascript"></script>
|
||||
<link href="https://assets.openshift.net/content/vendor/respond-js/respond-proxy.html" id="respond-proxy" rel="respond-proxy">
|
||||
<link href="<%= File.join(images_path, "respond.proxy.gif") %>" id="respond-redirect" rel="respond-redirect">
|
||||
<script src="<%= File.join(javascripts_path, "respond.proxy.js") %>" type="text/javascript"></script>
|
||||
<![endif]-->
|
||||
<script src="https://assets.openshift.net/content/modernizr.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/subdomain.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/nav-tertiary.js" type="text/javascript"></script>
|
||||
<script src="<%= File.join(javascripts_path, "bootstrap-offcanvas.js") %>" type="text/javascript"></script>
|
||||
<script src="<%= File.join(javascripts_path, "reformat-html.js") %>" type="text/javascript"></script>
|
||||
<script src="<%= File.join(javascripts_path, "hc-search.js") %>" type="text/javascript"></script>
|
||||
<%= render("_templates/_analytics.html.erb", :distro_key => distro_key) %>
|
||||
</head>
|
||||
<body>
|
||||
<%= render("_templates/_topnav.html.erb", :distro_key => distro_key) %>
|
||||
<div class="container">
|
||||
<p class="toggle-nav visible-xs pull-left">
|
||||
<button class="btn btn-default btn-sm" type="button" data-toggle="offcanvas">Toggle nav</button>
|
||||
</p>
|
||||
<ol class="breadcrumb">
|
||||
<li class="sitename">
|
||||
<a href="<%= site_home_path %>"><%= site_name %></a>
|
||||
</li>
|
||||
<li class="hidden-xs active">
|
||||
<%= breadcrumb_root %>
|
||||
</li>
|
||||
<li class="hidden-xs active">
|
||||
<%= breadcrumb_group %>
|
||||
</li>
|
||||
<%= breadcrumb_subgroup_block %>
|
||||
<li class="hidden-xs active">
|
||||
<%= breadcrumb_topic %>
|
||||
</li>
|
||||
<% if (distro_key != "openshift-origin") %>
|
||||
<span text-align="right" style="float: right !important">
|
||||
<a href="https://github.com/openshift/openshift-docs/commits/enterprise-<%= (distro_key == "openshift-enterprise") ? version : ((distro_key == "openshift-dedicated") ? "3.7" : "3.7") %>/<%= repo_path %>">
|
||||
Page history
|
||||
</a>
|
||||
/
|
||||
<a href="https://github.com/openshift/openshift-docs/issues/new?title=<%= (distro_key == "openshift-enterprise") ? "[enterprise-#{version}] Edit suggested in file #{repo_path}" :
|
||||
((distro_key == "openshift-dedicated") ? "[dedicated] Edit suggested in file #{repo_path}" : "[online] Edit suggested in file #{repo_path}") %>">
|
||||
Suggest an edit
|
||||
</a>
|
||||
</span>
|
||||
<% end %>
|
||||
</ol>
|
||||
<div class="row row-offcanvas row-offcanvas-left">
|
||||
<div class="col-xs-8 col-sm-3 col-md-3 sidebar sidebar-offcanvas">
|
||||
<div class="row-fluid">
|
||||
<%= render("_templates/_search.html.erb", :distro_key => distro_key, :version => version) %>
|
||||
</div>
|
||||
<%= render("_templates/_nav_openshift.html.erb", :navigation => navigation, :group_id => group_id, :topic_id => topic_id, :subgroup_id => subgroup_id, :subtopic_shim => subtopic_shim) %>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-9 col-md-9 main">
|
||||
<div class="page-header">
|
||||
<h1><%= article_title %></h1>
|
||||
</div>
|
||||
<%= content %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/*<![CDATA[*/
|
||||
$(document).ready(function() {
|
||||
$("[id^='topicGroup']").on('show.bs.collapse', function (event) {
|
||||
if (!($(event.target).attr('id').match(/^topicSubGroup/))) {
|
||||
$(this).parent().find("[id^='tgSpan']").toggleClass("fa-angle-right fa-angle-down");
|
||||
}
|
||||
});
|
||||
$("[id^='topicGroup']").on('hide.bs.collapse', function (event) {
|
||||
if (!($(event.target).attr('id').match(/^topicSubGroup/))) {
|
||||
$(this).parent().find("[id^='tgSpan']").toggleClass("fa-angle-right fa-angle-down");
|
||||
}
|
||||
});
|
||||
$("[id^='topicSubGroup']").on('show.bs.collapse', function () {
|
||||
$(this).parent().find("[id^='sgSpan']").toggleClass("fa-caret-right fa-caret-down");
|
||||
});
|
||||
$("[id^='topicSubGroup']").on('hide.bs.collapse', function () {
|
||||
$(this).parent().find("[id^='sgSpan']").toggleClass("fa-caret-right fa-caret-down");
|
||||
});
|
||||
});
|
||||
/*]]>*/
|
||||
</script>
|
||||
<%= render("_templates/_footer.html.erb", :distro_key => distro_key, :images_path => images_path) %>
|
||||
</body>
|
||||
</html>
|
||||
11
_templates/_search.html.erb
Normal file
@@ -0,0 +1,11 @@
|
||||
<% if distro_key == 'openshift-origin' %>
|
||||
<%= render("_templates/_search_origin.html.erb", :version => version) %>
|
||||
<% elsif distro_key == 'openshift-dedicated' %>
|
||||
<%= render("_templates/_search_dedicated.html.erb") %>
|
||||
<% elsif distro_key == 'openshift-online' %>
|
||||
<%= render("_templates/_search_online.html") %>
|
||||
<% elsif distro_key == 'openshift-enterprise' %>
|
||||
<%= render("_templates/_search_enterprise.html.erb", :version => version) %>
|
||||
<% else %>
|
||||
<%= render("_templates/_search_other.html") %>
|
||||
<% end %>
|
||||
15
_templates/_search_dedicated.html.erb
Normal file
@@ -0,0 +1,15 @@
|
||||
<div id="hc-search">
|
||||
<input id="hc-search-input" type="text">
|
||||
<button id="hc-search-btn">Search</button>
|
||||
</div>
|
||||
|
||||
<div id="hc-search-modal">
|
||||
<div id="hc-modal-content">
|
||||
<span id="hc-modal-close">×</span>
|
||||
<div id="hc-search-results"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
hcSearchCategory("docs_dedicated");
|
||||
</script>
|
||||
15
_templates/_search_enterprise.html.erb
Normal file
@@ -0,0 +1,15 @@
|
||||
<div id="hc-search">
|
||||
<input id="hc-search-input" type="text">
|
||||
<button id="hc-search-btn">Search</button>
|
||||
</div>
|
||||
|
||||
<div id="hc-search-modal">
|
||||
<div id="hc-modal-content">
|
||||
<span id="hc-modal-close">×</span>
|
||||
<div id="hc-search-results"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
hcSearchCategory("docs_cp", "<%= version %>");
|
||||
</script>
|
||||
15
_templates/_search_online.html
Normal file
@@ -0,0 +1,15 @@
|
||||
<div id="hc-search">
|
||||
<input id="hc-search-input" type="text">
|
||||
<button id="hc-search-btn">Search</button>
|
||||
</div>
|
||||
|
||||
<div id="hc-search-modal">
|
||||
<div id="hc-modal-content">
|
||||
<span id="hc-modal-close">×</span>
|
||||
<div id="hc-search-results"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
hcSearchCategory("docs_online");
|
||||
</script>
|
||||
15
_templates/_search_origin.html.erb
Normal file
@@ -0,0 +1,15 @@
|
||||
<div id="hc-search">
|
||||
<input id="hc-search-input" type="text">
|
||||
<button id="hc-search-btn">Search</button>
|
||||
</div>
|
||||
|
||||
<div id="hc-search-modal">
|
||||
<div id="hc-modal-content">
|
||||
<span id="hc-modal-close">×</span>
|
||||
<div id="hc-search-results"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
hcSearchCategory("docs_origin", "<%= version %>");
|
||||
</script>
|
||||
15
_templates/_search_other.html
Normal file
@@ -0,0 +1,15 @@
|
||||
<div id="hc-search">
|
||||
<input id="hc-search-input" type="text">
|
||||
<button id="hc-search-btn">Search</button>
|
||||
</div>
|
||||
|
||||
<div id="hc-search-modal">
|
||||
<div id="hc-modal-content">
|
||||
<span id="hc-modal-close">×</span>
|
||||
<div id="hc-search-results"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
hcSearchCategory("docs");
|
||||
</script>
|
||||
1
_templates/_topnav.html.erb
Normal file
@@ -0,0 +1 @@
|
||||
<%= render(distro_key == 'openshift-origin' ? "_templates/_topnav_origin.html" : "_templates/_topnav_other.html") %>
|
||||
34
_templates/_topnav_atomic.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<div class='row'>
|
||||
<div class='col-md-3 col-lg-2' id='sidebar'>
|
||||
<div id='nav-primary'>
|
||||
<nav class='navbar navbar-default' role='navigation'>
|
||||
<div class='navbar-header'>
|
||||
<button class='navbar-toggle' data-target='.navbar-ex1-collapse' data-toggle='collapse'>
|
||||
<span class='sr-only'>
|
||||
Toggle navigation
|
||||
</span>
|
||||
<span class='icon-bar'></span>
|
||||
<span class='icon-bar'></span>
|
||||
<span class='icon-bar'></span>
|
||||
</button>
|
||||
<a class='navbar-brand' href='http://www.projectatomic.io/'>
|
||||
Project Atomic
|
||||
</a>
|
||||
</div>
|
||||
<div class='collapse navbar-collapse navbar-ex1-collapse'>
|
||||
<ul class='nav navbar-nav'>
|
||||
<li><a class="get-started" href="http://www.projectatomic.io/download">Get Started</a></li>
|
||||
<li><a class="documentation" href="http://www.projectatomic.io/docs">Documentation</a></li>
|
||||
<li><a class="developer-community" href="http://www.projectatomic.io/community">Developer Community</a></li>
|
||||
<li><a class="on-github" href="https://github.com/projectatomic/">On GitHub</a></li>
|
||||
<li><a class="ask" href="http://ask.projectatomic.io/">Ask</a></li>
|
||||
<li><a class="blog" href="http://www.projectatomic.io/blog">Blog</a></li>
|
||||
<li><a class="twitter" href="http://www.twitter.com/projectatomic">Twitter</a></li>
|
||||
<li><a class="facebook" href="https://www.facebook.com/projectatomic">Facebook</a></li>
|
||||
<li><a class="google" href="https://plus.google.com/108727025270662383247/posts">Google+</a></li>
|
||||
<li><a class="rss" href="http://www.projectatomic.io/blog/feed.xml">RSS</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
5
_templates/_topnav_origin.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<div class="navbar navbar-default navbar-openshift navbar-origin" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand origin" href="/"></a>
|
||||
</div>
|
||||
</div>
|
||||
121
_templates/_topnav_other.html
Normal file
@@ -0,0 +1,121 @@
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-PMDVKG"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
||||
<nav id="main">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="navbar navbar-default navbar-openshift" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<a href="#nav-main" class="dropdown-toggle navbar-menu-toggle hidden visible-xs" data-toggle="collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="navbar-brand" target="_blank" href="https://www.openshift.com"></a>
|
||||
</div>
|
||||
<div id="nav-main" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Products <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/">Overview</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/features/">Features</a></li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/online/">Online</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/online/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftOnline_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>The fastest way for developers to build, host and scale applications in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/dedicated/">Dedicated</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/dedicated/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftDedicated_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Single-tenant, high-availability Kubernetes clusters in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/container-platform/">Container Platform</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/container-platform/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftContainerPlatform_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Build, deploy and manage your applications across cloud- and on-premise infrastructure</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/quay/">Quay</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/pricing/">Pricing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Learn <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/what-is-openshift/">What Is OpenShift</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/get-started/">Get Started</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Technology Topics <span class="fa fa-angle-right"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="display: none;">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/security/">Security</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/kubernetes/">Kubernetes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/partners/">Partners</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/success-stories/">Customer success stories</a></li>
|
||||
<li><a target="_blank" href="https://blog.openshift.com">Blog</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/resources/">Resources</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Community <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://commons.openshift.org">OpenShift Commons</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.org">Open Source (Origin)</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/startups/">Startups</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/grants/">Grants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Support <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://help.openshift.com">Help Center</a></li>
|
||||
<li><a href="https://docs.openshift.com">OpenShift Docs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a class="nav-sign-up" target="_blank" href="https://www.openshift.com/trial/">Free Trial</a></li>
|
||||
|
||||
<li><a target="_blank" href="https://manage.openshift.com" class="nav-log-in">Sign In <span class="fa fa-angle-right"></span></a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
25
_templates/page.html.erb
Normal file
@@ -0,0 +1,25 @@
|
||||
<%= render((distro_key['atomic'] ? "_templates/_page_atomic.html.erb" : "_templates/_page_openshift.html.erb"),
|
||||
:distro_key => distro_key,
|
||||
:distro => distro,
|
||||
:version => version,
|
||||
:site_name => site_name,
|
||||
:group_id => group_id,
|
||||
:group_title => group_title,
|
||||
:subgroup_id => subgroup_id,
|
||||
:subgroup_title => subgroup_title,
|
||||
:topic_id => topic_id,
|
||||
:topic_title => topic_title,
|
||||
:article_title => article_title,
|
||||
:content => content,
|
||||
:navigation => navigation,
|
||||
:css_path => css_path,
|
||||
:javascripts_path => javascripts_path,
|
||||
:images_path => images_path,
|
||||
:template_path => template_path,
|
||||
:site_home_path => site_home_path,
|
||||
:breadcrumb_group => breadcrumb_group,
|
||||
:breadcrumb_root => breadcrumb_root,
|
||||
:breadcrumb_subgroup_block => breadcrumb_subgroup_block,
|
||||
:breadcrumb_topic => breadcrumb_topic,
|
||||
:subtopic_shim => subtopic_shim,
|
||||
:repo_path => repo_path) %>
|
||||
29
_topic_map.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
# This configuration file dictates the organization of the topic groups and
|
||||
# topics on the main page of the doc site for this branch. Each record
|
||||
# consists of the following:
|
||||
#
|
||||
# --- <= Record delimiter
|
||||
# Name: Origin of the Species <= Display name of topic group
|
||||
# Dir: origin_of_the_species <= Directory name of topic group
|
||||
# Topics:
|
||||
# - Name: The Majestic Marmoset <= Topic name
|
||||
# File: the_majestic_marmoset <= Topic file under group dir +/- .adoc
|
||||
# - Name: The Curious Crocodile <= Topic 2 name
|
||||
# File: the_curious_crocodile <= Topic 2 file
|
||||
# - Name: The Numerous Nematodes <= Sub-topic group name
|
||||
# Dir: the_numerous_nematodes <= Sub-topic group dir
|
||||
# Topics:
|
||||
# - Name: The Wily Worm <= Sub-topic name
|
||||
# File: the_wily_worm <= Sub-topic file under <group dir>/<subtopic dir>
|
||||
# - Name: The Acrobatic Ascarid <= Sub-topic 2 name
|
||||
# File: the_acrobatic_ascarid <= Sub-topic 2 file under <group dir>/<subtopic dir>
|
||||
#
|
||||
# The ordering of the records in this document determines the ordering of the
|
||||
# topic groups and topics on the main page.
|
||||
---
|
||||
Name: Mod Docs Guide
|
||||
Dir: mod_docs_guide
|
||||
Distros: openshift-*
|
||||
Topics:
|
||||
- Name: Welcome
|
||||
File: index
|
||||
70
_update_rest_api.py
Executable file
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python2
|
||||
|
||||
import collections
|
||||
import os
|
||||
import shutil
|
||||
import yaml
|
||||
import yaml.dumper
|
||||
|
||||
|
||||
# maintain order of yaml dictionaries
|
||||
def dict_representer(dumper, data):
|
||||
return dumper.represent_dict(data.iteritems())
|
||||
|
||||
|
||||
def dict_constructor(loader, node):
|
||||
return collections.OrderedDict(loader.construct_pairs(node))
|
||||
|
||||
|
||||
yaml.add_representer(collections.OrderedDict, dict_representer)
|
||||
yaml.add_constructor(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
|
||||
dict_constructor)
|
||||
|
||||
|
||||
def main():
|
||||
origin = os.environ.get("ORIGIN_REPO", "../origin")
|
||||
|
||||
# clear out all subdirectories under rest_api
|
||||
for f in os.listdir("rest_api"):
|
||||
f = os.path.join("rest_api", f)
|
||||
if os.path.isdir(f):
|
||||
shutil.rmtree(f)
|
||||
|
||||
# copy in subdirectories under rest_api from origin
|
||||
for f in os.listdir(os.path.join(origin, "api/docs")):
|
||||
srcp = os.path.join(origin, "api/docs", f)
|
||||
dstp = os.path.join("rest_api", f)
|
||||
if os.path.isdir(srcp):
|
||||
shutil.copytree(srcp, dstp)
|
||||
|
||||
# read rest_api topics snippet from origin
|
||||
with open(os.path.join(origin, "api/docs/_topic_map.yml")) as f:
|
||||
topics = yaml.load(f)
|
||||
|
||||
# read in existing _topic_map.yml
|
||||
preamble = ""
|
||||
with open("_topic_map.yml") as f:
|
||||
while True:
|
||||
line = f.readline()
|
||||
preamble += line
|
||||
if line == "" or line.strip() == "---":
|
||||
break
|
||||
|
||||
docs = list(yaml.load_all(f))
|
||||
|
||||
for doc in docs:
|
||||
if doc["Dir"] == "rest_api":
|
||||
# remove existing topics referencing subdirectories of rest_api
|
||||
doc["Topics"] = [t for t in doc["Topics"] if "Dir" not in t]
|
||||
|
||||
# add rest_api topics snippet from origin
|
||||
doc["Topics"].extend(topics)
|
||||
|
||||
# write out modified _topic_map.yml
|
||||
with open("_topic_map.yml", "w") as f:
|
||||
f.write(preamble)
|
||||
yaml.dump_all(docs, f, default_flow_style=False)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
479
asciibinder-template.yml
Normal file
@@ -0,0 +1,479 @@
|
||||
---
|
||||
kind: "Template"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "public-asciibinder-website"
|
||||
annotations:
|
||||
openshift.io/display-name: "Public AsciiBinder Static Website"
|
||||
description: "Takes files created for static site generator AsciiBinder (http://asciibinder.org/) from a public source repo, builds them in Ruby, and deploys them in a PHP container."
|
||||
tags: "ruby,asciibinder"
|
||||
iconClass: "icon-shadowman"
|
||||
template.openshift.io/long-description: "This template defines resources needed to develop an AsciiBinder application, including a build configuration and application deployment configuration."
|
||||
template.openshift.io/provider-display-name: "Red Hat, Inc."
|
||||
message: "The following service(s) have been created in your project: ${NAME}."
|
||||
labels:
|
||||
template: "asciibinder-website"
|
||||
objects:
|
||||
- kind: "Service"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "commercial-${NAME}"
|
||||
annotations:
|
||||
description: "Exposes and load balances the frontend application pods for the commercial deployment"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
ports:
|
||||
- name: "https"
|
||||
port: 8443
|
||||
targetPort: 8080
|
||||
selector:
|
||||
name: "commercial-${NAME}"
|
||||
|
||||
- kind: "Service"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "community-${NAME}"
|
||||
annotations:
|
||||
description: "Exposes and load balances the frontend application pods for the community deployment"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
ports:
|
||||
- name: "https"
|
||||
port: 8443
|
||||
targetPort: 8080
|
||||
selector:
|
||||
name: "community-${NAME}"
|
||||
|
||||
- kind: "Route"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "commercial-${NAME}"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
host: "${COMMERCIAL_APPLICATION_DOMAIN}"
|
||||
to:
|
||||
kind: "Service"
|
||||
name: "commercial-${NAME}"
|
||||
weight: 1
|
||||
port:
|
||||
targetPort: "https"
|
||||
tls:
|
||||
termination: "edge"
|
||||
insecureEdgeTerminationPolicy: "Redirect"
|
||||
|
||||
- kind: "Route"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "community-${NAME}"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
host: "${COMMUNITY_APPLICATION_DOMAIN}"
|
||||
to:
|
||||
kind: "Service"
|
||||
name: "community-${NAME}"
|
||||
weight: 1
|
||||
port:
|
||||
targetPort: "https"
|
||||
tls:
|
||||
termination: "edge"
|
||||
insecureEdgeTerminationPolicy: "Redirect"
|
||||
|
||||
- kind: "ImageStream"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "stg1-${NAME}"
|
||||
annotations:
|
||||
description: "Keeps track of changes in the stg1-${NAME} application image"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
|
||||
- kind: "ImageStream"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "final-commercial-${NAME}"
|
||||
annotations:
|
||||
description: "Keeps track of changes in the final-commercial-${NAME} application image"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
|
||||
- kind: "ImageStream"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "final-community-${NAME}"
|
||||
annotations:
|
||||
description: "Keeps track of changes in the final-community-${NAME} application image"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
|
||||
- kind: "ImageStream"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "httpd-24-rhel7"
|
||||
annotations:
|
||||
description: "Upstream httpd 2.4 s2i image"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
lookupPolicy:
|
||||
local: false
|
||||
tags:
|
||||
- annotations: null
|
||||
from:
|
||||
kind: "DockerImage"
|
||||
name: "registry.access.redhat.com/rhscl/httpd-24-rhel7"
|
||||
generation: 0
|
||||
importPolicy:
|
||||
scheduled: true
|
||||
name: "latest"
|
||||
referencePolicy:
|
||||
type: "Source"
|
||||
|
||||
- kind: "BuildConfig"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "stg1-${NAME}"
|
||||
annotations:
|
||||
description: "Defines how to perform stage 1 build for ${NAME}"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
nodeSelector:
|
||||
source:
|
||||
type: "Git"
|
||||
git:
|
||||
uri: "${SOURCE_REPOSITORY_URL}"
|
||||
ref: "${SOURCE_REPOSITORY_REF}"
|
||||
contextDir: "${CONTEXT_DIR}"
|
||||
strategy:
|
||||
type: "Source"
|
||||
sourceStrategy:
|
||||
from:
|
||||
kind: "ImageStreamTag"
|
||||
namespace: "${NAMESPACE}"
|
||||
name: "ruby:2.3"
|
||||
output:
|
||||
to:
|
||||
kind: "ImageStreamTag"
|
||||
name: "stg1-${NAME}:latest"
|
||||
triggers:
|
||||
- type: "ImageChange"
|
||||
- type: "ConfigChange"
|
||||
- type: "GitHub"
|
||||
github:
|
||||
secret: "${GITHUB_WEBHOOK_SECRET}"
|
||||
|
||||
- kind: "BuildConfig"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "final-commercial-${NAME}"
|
||||
annotations:
|
||||
description: "Defines how to perform final commercial build for ${NAME} before deployment"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
nodeSelector:
|
||||
source:
|
||||
type: "Images"
|
||||
images:
|
||||
- from:
|
||||
kind: "ImageStreamTag"
|
||||
name: "stg1-${NAME}:latest"
|
||||
paths:
|
||||
- sourcePath: "/opt/app-root/src/commercial_package/commercial/."
|
||||
destinationDir: "."
|
||||
strategy:
|
||||
type: "Source"
|
||||
sourceStrategy:
|
||||
from:
|
||||
kind: "ImageStreamTag"
|
||||
name: "httpd-24-rhel7:latest"
|
||||
output:
|
||||
to:
|
||||
kind: "ImageStreamTag"
|
||||
name: "final-commercial-${NAME}:latest"
|
||||
triggers:
|
||||
- imageChange:
|
||||
from:
|
||||
kind: ImageStreamTag
|
||||
name: 'stg1-${NAME}:latest'
|
||||
type: "ImageChange"
|
||||
- type: "ConfigChange"
|
||||
|
||||
- kind: "BuildConfig"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "final-community-${NAME}"
|
||||
annotations:
|
||||
description: "Defines how to perform final community build for ${NAME} before deployment"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
nodeSelector:
|
||||
source:
|
||||
type: "Images"
|
||||
images:
|
||||
- from:
|
||||
kind: "ImageStreamTag"
|
||||
name: "stg1-${NAME}:latest"
|
||||
paths:
|
||||
- sourcePath: "/opt/app-root/src/community_package/community/."
|
||||
destinationDir: "."
|
||||
strategy:
|
||||
type: "Source"
|
||||
sourceStrategy:
|
||||
from:
|
||||
kind: "ImageStreamTag"
|
||||
name: "httpd-24-rhel7:latest"
|
||||
output:
|
||||
to:
|
||||
kind: "ImageStreamTag"
|
||||
name: "final-community-${NAME}:latest"
|
||||
triggers:
|
||||
- imageChange:
|
||||
from:
|
||||
kind: ImageStreamTag
|
||||
name: 'stg1-${NAME}:latest'
|
||||
type: "ImageChange"
|
||||
- type: "ConfigChange"
|
||||
|
||||
- kind: "DeploymentConfig"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "commercial-${NAME}"
|
||||
annotations:
|
||||
description: "Defines how to deploy the ${COMMERCIAL_APPLICATION_DOMAIN} domain"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
strategy:
|
||||
type: "Rolling"
|
||||
triggers:
|
||||
- type: "ImageChange"
|
||||
imageChangeParams:
|
||||
automatic: true
|
||||
containerNames:
|
||||
- "commercial-${NAME}"
|
||||
from:
|
||||
kind: "ImageStreamTag"
|
||||
name: "final-commercial-${NAME}:latest"
|
||||
- type: "ConfigChange"
|
||||
replicas: 1
|
||||
test: false
|
||||
selector:
|
||||
name: "commercial-${NAME}"
|
||||
template:
|
||||
metadata:
|
||||
name: "commercial-${NAME}"
|
||||
labels:
|
||||
name: "commercial-${NAME}"
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
containers:
|
||||
- name: "commercial-${NAME}"
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
readinessProbe:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 10
|
||||
httpGet:
|
||||
path: "/${HEALTHCHECK_PATH}"
|
||||
port: 8080
|
||||
livenessProbe:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 30
|
||||
httpGet:
|
||||
path: "/${HEALTHCHECK_PATH}"
|
||||
port: 8080
|
||||
resources:
|
||||
requests:
|
||||
cpu: "${CPU_REQUEST}"
|
||||
memory: "${MEMORY_REQUEST}"
|
||||
limits:
|
||||
cpu: "${CPU_LIMIT}"
|
||||
memory: "${MEMORY_LIMIT}"
|
||||
|
||||
- kind: "DeploymentConfig"
|
||||
apiVersion: "v1"
|
||||
metadata:
|
||||
name: "community-${NAME}"
|
||||
annotations:
|
||||
description: "Defines how to deploy the ${COMMUNITY_APPLICATION_DOMAIN} domain"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
strategy:
|
||||
type: "Rolling"
|
||||
triggers:
|
||||
- type: "ImageChange"
|
||||
imageChangeParams:
|
||||
automatic: true
|
||||
containerNames:
|
||||
- "community-${NAME}"
|
||||
from:
|
||||
kind: "ImageStreamTag"
|
||||
name: "final-community-${NAME}:latest"
|
||||
- type: "ConfigChange"
|
||||
replicas: 1
|
||||
test: false
|
||||
selector:
|
||||
name: "community-${NAME}"
|
||||
template:
|
||||
metadata:
|
||||
name: "community-${NAME}"
|
||||
labels:
|
||||
name: "community-${NAME}"
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
containers:
|
||||
- name: "community-${NAME}"
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
readinessProbe:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 10
|
||||
httpGet:
|
||||
path: "/${HEALTHCHECK_PATH}"
|
||||
port: 8080
|
||||
livenessProbe:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 30
|
||||
httpGet:
|
||||
path: "/${HEALTHCHECK_PATH}"
|
||||
port: 8080
|
||||
resources:
|
||||
requests:
|
||||
cpu: "${CPU_REQUEST}"
|
||||
memory: "${MEMORY_REQUEST}"
|
||||
limits:
|
||||
cpu: "${CPU_LIMIT}"
|
||||
memory: "${MEMORY_LIMIT}"
|
||||
|
||||
- kind: "HorizontalPodAutoscaler"
|
||||
apiVersion: "extensions/v1beta1"
|
||||
metadata:
|
||||
name: "commercial-${NAME}"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
scaleRef:
|
||||
kind: DeploymentConfig
|
||||
name: "commercial-${NAME}"
|
||||
apiVersion: "v1"
|
||||
subresource: "scale"
|
||||
minReplicas: ${MIN_REPLICAS}
|
||||
maxReplicas: ${MAX_REPLICAS}
|
||||
cpuUtilization:
|
||||
targetPercentage: ${TARGET_PERCENTAGE}
|
||||
|
||||
- kind: "HorizontalPodAutoscaler"
|
||||
apiVersion: "extensions/v1beta1"
|
||||
metadata:
|
||||
name: "community-${NAME}"
|
||||
labels:
|
||||
app: "${NAME}"
|
||||
spec:
|
||||
scaleRef:
|
||||
kind: DeploymentConfig
|
||||
name: "community-${NAME}"
|
||||
apiVersion: "v1"
|
||||
subresource: "scale"
|
||||
minReplicas: ${MIN_REPLICAS}
|
||||
maxReplicas: ${MAX_REPLICAS}
|
||||
cpuUtilization:
|
||||
targetPercentage: ${TARGET_PERCENTAGE}
|
||||
|
||||
parameters:
|
||||
- name: "NAME"
|
||||
displayName: "Application name"
|
||||
description: "The name assigned to all of the application components defined in this template."
|
||||
required: true
|
||||
|
||||
- name: "COMMERCIAL_APPLICATION_DOMAIN"
|
||||
displayName: "Commercial Application Hostname"
|
||||
description: "The exposed hostname that will route to the httpd service for commercial content."
|
||||
value: ""
|
||||
|
||||
- name: "COMMUNITY_APPLICATION_DOMAIN"
|
||||
displayName: "Community Application Hostname"
|
||||
description: "The exposed hostname that will route to the httpd service for community content."
|
||||
value: ""
|
||||
|
||||
- name: "HEALTHCHECK_PATH"
|
||||
displayName: "URI path to a known, working web page."
|
||||
description: "The URI path to a known, working web page for testing liveness and readiness probes. Exclude leading '/'"
|
||||
required: true
|
||||
value: "index.html"
|
||||
|
||||
- name: "SOURCE_REPOSITORY_URL"
|
||||
displayName: "Git Repository URL"
|
||||
description: "The URL of the repository with your application source code."
|
||||
required: true
|
||||
value: "https://github.com/openshift/openshift-docs.git"
|
||||
|
||||
- name: "SOURCE_REPOSITORY_REF"
|
||||
displayName: "Git Reference"
|
||||
description: "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
|
||||
|
||||
- name: "CONTEXT_DIR"
|
||||
displayName: "Context Directory"
|
||||
description: "Set this to the relative path to your project if it is not in the root of your repository."
|
||||
|
||||
- name: "CPU_REQUEST"
|
||||
displayName: "CPU Request"
|
||||
description: "Requested amount of CPU the httpd container will use."
|
||||
required: true
|
||||
value: "200m"
|
||||
|
||||
- name: "CPU_LIMIT"
|
||||
displayName: "CPU Limit"
|
||||
description: "Maximum amount of CPU the httpd container can use."
|
||||
required: true
|
||||
value: "2"
|
||||
|
||||
- name: "MEMORY_REQUEST"
|
||||
displayName: "Memory Request"
|
||||
description: "Requested amount of memory the httpd container will use."
|
||||
required: true
|
||||
value: "1Gi"
|
||||
|
||||
- name: "MEMORY_LIMIT"
|
||||
displayName: "Memory Limit"
|
||||
description: "Maximum amount of memory the httpd container can use."
|
||||
required: true
|
||||
value: "2Gi"
|
||||
|
||||
- name: "MIN_REPLICAS"
|
||||
displayName: "Minimum pod replicas"
|
||||
description: "The minimum number of replicas to run in autoscaling."
|
||||
required: true
|
||||
value: "2"
|
||||
|
||||
- name: "MAX_REPLICAS"
|
||||
displayName: "Maximum pod replicas"
|
||||
description: "The maximum number of replicas to run in autoscaling."
|
||||
required: true
|
||||
value: "10"
|
||||
|
||||
- name: "TARGET_PERCENTAGE"
|
||||
displayName: "Autoscaling target CPU percentage (as an integer)."
|
||||
description: "The percentage of the requested CPU that each pod should ideally be using."
|
||||
required: true
|
||||
value: "80"
|
||||
|
||||
- name: "NAMESPACE"
|
||||
displayName: "Namespace"
|
||||
description: "The OpenShift Namespace where the Ruby s2i builder ImageStream resides."
|
||||
required: true
|
||||
value: "openshift"
|
||||
|
||||
- name: "GITHUB_WEBHOOK_SECRET"
|
||||
displayName: "GitHub Webhook Secret"
|
||||
description: "A secret string used to configure the GitHub webhook."
|
||||
generate: "expression"
|
||||
from: "[a-zA-Z0-9]{40}"
|
||||
212
contributing_to_docs/contributing.adoc
Normal file
@@ -0,0 +1,212 @@
|
||||
[[contributing-to-docs-contributing]]
|
||||
= Contribute to OpenShift documentation
|
||||
:icons:
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
:toclevels: 1
|
||||
:description: Basic information about the OpenShift GitHub repository
|
||||
|
||||
toc::[]
|
||||
|
||||
== Different ways to contribute
|
||||
There are a few different ways you can contribute to OpenShift documentation:
|
||||
|
||||
* Submit comments at the bottom of each topic (still awaiting implementation)
|
||||
* Email the OpenShift documentation team openshift-docs@redhat.com
|
||||
* https://github.com/openshift/openshift-docs/issues/new[Create an issue in
|
||||
GitHub]
|
||||
* If you would like to do the work yourself, or if it is a substantial change,
|
||||
then you you should clone the repository, make your changes, and submit a PR.
|
||||
Each PR should have closely-related changes.
|
||||
In particular, it is a good idea to use separate PRs
|
||||
for bugfix changes (for an old or current release)
|
||||
vs enhancement changes (for an upcoming new release).
|
||||
|
||||
*What happens when you submit a PR?*
|
||||
|
||||
If you make a substantial change and submit a PR in GitHub, your PR will be
|
||||
reviewed by our
|
||||
https://github.com/orgs/openshift/teams/team-documentation[documentation team].
|
||||
If there are any further changes, updates, or corrections required, we will
|
||||
inform you in the PR. When the PR has been reviewed and all changes have been
|
||||
accepted by our documentation team, your PR will be merged.
|
||||
|
||||
== Repository organization
|
||||
Each top directory in the OpenShift documentation repository can include a
|
||||
collection of top level topics, and/or subdirectories that further contain a
|
||||
second level of topics. The exceptions to this rule are directories whose names
|
||||
start with an underscore (like `_builder_lib` and `_javascripts`), which contain
|
||||
the assets used to generate the finished documentation.
|
||||
|
||||
Each top level `<topic>` directory contains the topics as AsciiDoc files, any
|
||||
`<subtopic>` subdirectories, and an `images` directory where all images for that
|
||||
topic are stored.
|
||||
|
||||
----
|
||||
/
|
||||
/topic_dir1
|
||||
/subtopic_dir1
|
||||
/subtopic_dirN
|
||||
/topic_dir/topic1.adoc
|
||||
/topic_dir/topicN.adoc
|
||||
/topic_dir/subtopic_dir1/topic1.adoc
|
||||
/topic_dir/subtopic_dirN/topicN.adoc
|
||||
/topic_dir/images
|
||||
/topic_dir/images/img1.png
|
||||
/topic_dir/images/imgN.png
|
||||
...
|
||||
/topic_dir2
|
||||
----
|
||||
|
||||
== Version management
|
||||
Most of the content applies to all four OpenShift products: Origin, Online, Dedicated and
|
||||
Enterprise (some versions of Enterprise), so approximately 80% of the content is reused. In many cases, this
|
||||
means that individual topics may need to include or exclude individual
|
||||
paragraphs with respect to a specific OpenShift product. While it is _possible_
|
||||
to accomplish this solely with Git branches to maintain slightly different
|
||||
versions of a given topic, doing so would make the task of maintaining internal
|
||||
consistency extremely difficult for content contributors.
|
||||
|
||||
Git branching is still extremely valuable, and serves the important role of
|
||||
tracking the release versions of documentation for the various OpenShift
|
||||
products.
|
||||
|
||||
=== Conditional text between products
|
||||
OpenShift documentation uses AsciiDoc's `ifdef/endif` macro to conditionalize
|
||||
and reuse content across the different OpenShift products, down to the
|
||||
single-line level.
|
||||
|
||||
The supported distribution attributes used with the OpenShift build mechanism
|
||||
are:
|
||||
|
||||
* _openshift-origin_
|
||||
* _openshift-online_
|
||||
* _openshift-enterprise_
|
||||
* _openshift-dedicated_
|
||||
|
||||
These attributes can be used by themselves, or in conjunction to conditionalize
|
||||
text within a topic document.
|
||||
|
||||
Here is an example of this concept in use:
|
||||
|
||||
----
|
||||
This first line is unconditionalized, and will appear for all versions.
|
||||
|
||||
\ifdef::openshift-online[]
|
||||
This line will only appear for OpenShift Online.
|
||||
endif::[]
|
||||
|
||||
\ifdef::openshift-enterprise[]
|
||||
This line will only appear for OpenShift Enterprise.
|
||||
endif::[]
|
||||
|
||||
\ifdef::openshift-origin,openshift-enterprise[]
|
||||
This line will appear for OpenShift Origin and Enterprise, but not for OpenShift Online or OpenShift Dedicated.
|
||||
endif::[]
|
||||
----
|
||||
|
||||
Note that the following limitations exist when conditionalizing text:
|
||||
|
||||
1. The `ifdef/endif` blocks have no size limit, however they should not be used
|
||||
to conditionalize an entire topic. If an entire topic file is specific to a
|
||||
given OpenShift distribution, see the xref:how-it-all-comes-together[How it all
|
||||
comes together] section for information on how to conditionalize whole topics
|
||||
with the metadata `yaml` file.
|
||||
|
||||
2. Avoid using `ifndef/endif`. As of writing, it's use is broken and buggy.
|
||||
|
||||
== Release branches
|
||||
With the combination of conditionalizing content within topics with
|
||||
`ifdef/endif` and conditionalizing whole topics with the
|
||||
xref:how-it-all-comes-together[metadata `yaml` file], the `master` branch of
|
||||
this repository always contains a complete set of documentation for all three
|
||||
OpenShift products. However, when and as new versions of an OpenShift product
|
||||
are released, the `master` branch is merged down to new or existing release
|
||||
branches. Here is the general naming scheme used in the branches:
|
||||
|
||||
* `master` - OpenShift Origin latest code; essentially, this is our *working*
|
||||
branch
|
||||
* `enterprise-N.N` - OpenShift Enterprise support releases
|
||||
* The `dedicated` and `online` branches are built using the enterprise version that they correspond to.
|
||||
|
||||
On a 6 hourly basis, the documentation web sites are rebuilt for each of these
|
||||
branches. This way the published content for each released version of an
|
||||
OpenShift product will remain the same while development continues on the
|
||||
`master` branch. Additionally, any corrections or additions that are
|
||||
"cherry-picked" into the release branches will show up in the published
|
||||
documentation after 6 hours.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
All OpenShift content development occurs on the `master`, or *working* branch.
|
||||
Therefore, when submitting your work the PR must be created against the `master`
|
||||
branch. Once it is reviewed that content will then migrate to the corresponding
|
||||
release branches.
|
||||
====
|
||||
|
||||
[[how-it-all-comes-together]]
|
||||
== How it all comes together
|
||||
The documentation build system reads the `_distro_map.yml` to figure out which branches to build and then the `_topic_map.yml` metadata file for each of the branches
|
||||
to construct the content from the source files and publish to the relevant
|
||||
product site at https://docs.openshift.com. The build system _only_ reads this
|
||||
file to determine which topic files to include. Therefore, all new topics that
|
||||
are created must be included in the `_topic_map.yml` metadata file in
|
||||
order to be processed by the build system.
|
||||
|
||||
=== Metadata file format
|
||||
The format of this file is as indicated:
|
||||
|
||||
----
|
||||
--- //<1>
|
||||
Name: Origin of the Species <2>
|
||||
Dir: origin_of_the_species <3>
|
||||
Distros: all <4>
|
||||
Topics:
|
||||
- Name: The Majestic Marmoset <5>
|
||||
File: the_majestic_marmoset <6>
|
||||
Distros: all
|
||||
- Name: The Curious Crocodile
|
||||
File: the_curious_crocodile
|
||||
Distros: openshift-online,openshift-enterprise <7>
|
||||
- Name: The Numerous Nematodes
|
||||
Dir: the_numerous_nematodes <8>
|
||||
Topics:
|
||||
- Name: The Wily Worm <9>
|
||||
File: the_wily_worm
|
||||
- Name: The Acrobatic Ascarid <= Sub-topic 2 name
|
||||
File: the_acrobatic_ascarid <= Sub-topic 2 file under <group dir>/<subtopic dir>
|
||||
----
|
||||
<1> Record separator at the top of each topic group
|
||||
<2> Display name of topic group
|
||||
<3> Directory name of topic group
|
||||
<4> Which OpenShift versions this topic group is part of
|
||||
<5> Topic name
|
||||
<6> Topic file under the topic group dir without `.adoc`
|
||||
<7> Which OpenShift versions this topic is part of
|
||||
<8> This topic is actually a subtopic group. Instead of a `File` path it has a
|
||||
`Dir` path and `Topics`, just like a top-level topic group.
|
||||
<9> Topics belonging to a subtopic group are listed just like regular topics
|
||||
with a `Name` and `File`.
|
||||
|
||||
****
|
||||
Notes on *Distros* metadata attribute
|
||||
|
||||
* The *Distros* setting is optional for topic groups and topic items. By
|
||||
default, if the *Distros* setting is not used, it is process as if it was set
|
||||
to *Distros: all* for that particular topic or topic group. This means that
|
||||
topic or topic group will appear in all three product documentation.
|
||||
* The *all* value for *Distros* is a synonym for
|
||||
_openshift-origin,openshift-enterprise,openshift-online,openshift-dedicated_.
|
||||
* The *all* value overrides other values, so _openshift-online,all_ is processed
|
||||
as *all*.
|
||||
****
|
||||
|
||||
== Next steps
|
||||
* First, you should link:tools_and_setup.adoc[Install and set up the tools and
|
||||
software] on your workstation so that you can contribute.
|
||||
* Next, we recommend that you link:doc_guidelines.adoc[review the documentation
|
||||
guidelines] to understand some basic guidelines to keep things consistent
|
||||
across our content.
|
||||
* If you are ready to create new content, or want to edit existing content, the
|
||||
link:create_or_edit_content.adoc[create or edit content] topic describes how
|
||||
you can do this by creating a working branch.
|
||||
235
contributing_to_docs/create_or_edit_content.adoc
Normal file
@@ -0,0 +1,235 @@
|
||||
[[contributing-to-docs-create-or-edit-content]]
|
||||
= Create new content or edit existing content
|
||||
:icons:
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
:toclevels: 1
|
||||
:description: Create working branch to contribute new content or updates
|
||||
|
||||
toc::[]
|
||||
|
||||
== Before you begin
|
||||
Before you proceed, we recommend that you have completed the following:
|
||||
|
||||
* Read and reviewed the link:contributing.adoc[Contribute to OpenShift
|
||||
documentation] topic to understand some basics
|
||||
* link:tools_and_setup.adoc[Installed and set up the tools and software]
|
||||
required to contribute
|
||||
* Read and reviewed the link:doc_guidelines.adoc[Documentation guidelines] topic
|
||||
to understand the basic guidelines for consistency
|
||||
|
||||
== Ensure your local repository is in sync with the remote
|
||||
Before you create a local working branch, it is good practice to ensure that
|
||||
your local `master` branch is in sync with the remote and that you have all the
|
||||
latest changes. You must also ensure that your forked repository is also in sync
|
||||
with the remote repository.
|
||||
|
||||
1. From your local repository, make sure you have the `master` branch checked
|
||||
out:
|
||||
+
|
||||
----
|
||||
$ git checkout master
|
||||
----
|
||||
|
||||
2. Fetch the current state of the OpenShift documentation repository:
|
||||
+
|
||||
----
|
||||
$ git fetch upstream
|
||||
----
|
||||
|
||||
3. Incorporate the commits from the remote repository, in this case
|
||||
`openshift/openshift-docs`, into your local repository:
|
||||
+
|
||||
----
|
||||
$ git rebase upstream/master
|
||||
----
|
||||
|
||||
4. Push the latest updates to your forked repository so that it is also in sync
|
||||
with the remote:
|
||||
+
|
||||
----
|
||||
$ git push origin master
|
||||
----
|
||||
|
||||
== Add new topics or update existing content on local branch
|
||||
With your local and forked repositories in sync with the remote, you can now
|
||||
create a local working branch where you will make all your updates, or create
|
||||
any new content.
|
||||
|
||||
*Step 1:* Create local branch
|
||||
|
||||
The following command creates a new local branch from the branch that you are currently on, and checks it out
|
||||
automatically. Be sure to replace `<working_branch>` with a suitable name.
|
||||
Also, be sure that the changes made on this branch are closely related and
|
||||
do indeed reflect that name.
|
||||
In particular, it is a good idea to use separate PRs
|
||||
for bugfix changes (for an old or current release)
|
||||
vs enhancement changes (for an upcoming new release).
|
||||
|
||||
----
|
||||
$ git checkout -b <working_branch>
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
This command creates a new specified branch and also checks it out, so you will
|
||||
automatically switch to the new branch.
|
||||
====
|
||||
|
||||
*Step 2:* Create new content or update existing content as required
|
||||
|
||||
With the local branch created and checked out, you can now edit any content, or
|
||||
start adding new content.
|
||||
|
||||
If you are creating a new topic, it is best to use the topic templates so that
|
||||
all of the required metadata is included:
|
||||
|
||||
* For an Overview topic, use the
|
||||
https://github.com/openshift/openshift-docs/blob/master/contributing_to_docs/templates/overview_topic_template.adoc[Overview
|
||||
topic template].
|
||||
* For all other topics, use the
|
||||
https://github.com/openshift/openshift-docs/blob/master/contributing_to_docs/templates/topic_template.adoc[normal
|
||||
topic template].
|
||||
|
||||
Otherwise, ensure that any new topic contains the required metadata as described
|
||||
in the link:doc_guidelines.adoc[documentation guidelines] topic, including
|
||||
naming and title conventions.
|
||||
|
||||
*Step 3:* Add all of your changes to a pending commit
|
||||
|
||||
When you are finished making all of your changes, and have tested the updated or
|
||||
new content, the following command adds those changes to a pending commit:
|
||||
|
||||
----
|
||||
$ git add .
|
||||
----
|
||||
|
||||
*Step 4:* Commit your changes
|
||||
|
||||
After adding your changes to a pending commit, the following command commits
|
||||
those changes locally:
|
||||
|
||||
----
|
||||
$ git commit -am "Detailed comments about what changes were made; for example, fixed typo"
|
||||
----
|
||||
|
||||
*Step 5:* Rebase updates from `master` into your working branch
|
||||
|
||||
If you fetched the latest changes from `master` before you created your local
|
||||
branch, this step may not be necessary. However, it is good practice to fetch
|
||||
the latest changes from `master` and rebase those onto your working branch.
|
||||
|
||||
Remember, that you should rebase against the branch that you created this working branch from. In most cases, it will be the master branch.
|
||||
|
||||
----
|
||||
$ git rebase upstream/master
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
If you find any conflicts you must fix those, and repeat steps 3 and 4.
|
||||
====
|
||||
|
||||
*Step 6:* Push all changes to your GitHub account
|
||||
|
||||
After you have rebased, fixed any conflicts, and committed your changes, you can
|
||||
push them to your GitHub account. This command adds your local working branch to
|
||||
your GitHub repository:
|
||||
|
||||
----
|
||||
$ git push origin <working_branch>
|
||||
----
|
||||
|
||||
== Submit PR to merge your work
|
||||
When you have pushed your changes to your GitHub account, you can submit a PR to
|
||||
have your work from your GitHub fork to the `master` branch of the OpenShift
|
||||
documentation repository. The documentation team will review the work, advise of
|
||||
any further changes that may or may not be required, and finally merge your
|
||||
work.
|
||||
|
||||
1. Go to your forked GitHub repository on the GitHub website, and you should see
|
||||
your local branch that includes all of your work.
|
||||
2. Click on *Pull Request* to submit the PR against the `master` branch of the
|
||||
`openshift-docs` repository.
|
||||
3. Attach labels to your *Pull Request* to indicate to the DOCS team which branches your PR might apply to. Some requests may only apply to the origin distro (origin-only), and some may only apply to a specific version of the enterprise (branch/enterprise-3.4, branch/enterprise-3.5, branch/enterprise-3.6) or dedicated (branch/dedicated) or online (branch/online) docs. If a request applies to multiple versions of a distro, then specify the minimum version (branch/enterprise-3.5 and above, for example). The docs team maintains these branches for all active and future distros and your PR will be applied to one or more these.
|
||||
4. Tag the documentation team with @openshift/team-documentation.
|
||||
|
||||
*If you don't have permissions to apply labels, make sure to leave that information as a comment.*
|
||||
|
||||
== Confirm your changes have been merged
|
||||
When your PR has been merged into the `master` branch, you should confirm and
|
||||
then sync your local and GitHub repositories with the `master` branch.
|
||||
|
||||
1. On your workstation, switch to the `master` branch:
|
||||
+
|
||||
----
|
||||
$ git checkout master
|
||||
----
|
||||
|
||||
2. Pull the latest changes from `master`:
|
||||
+
|
||||
----
|
||||
$ git fetch upstream
|
||||
----
|
||||
|
||||
3. Incorporate the commits from the remote repository, in this case
|
||||
`openshift/openshift-docs`, into your local repository:
|
||||
+
|
||||
----
|
||||
$ git rebase upstream/master
|
||||
----
|
||||
|
||||
4. After confirming in your rebased local repository that your changes have been
|
||||
merged, push the latest changes, including your work, to your GitHub account:
|
||||
+
|
||||
----
|
||||
$ git push origin master
|
||||
----
|
||||
|
||||
== Add changes to an existing PR, if required
|
||||
In some cases you might have to make changes to a PR that you have already
|
||||
submitted. A PR can contain multiple commits, and we strive to preserve the
|
||||
review history and all discussions that occur around those commits. The
|
||||
following instructions describe how to make changes to an existing PR you have
|
||||
already submitted.
|
||||
|
||||
1. Commit whatever updates you have made to the working branch by creating a new
|
||||
commit:
|
||||
+
|
||||
----
|
||||
$ git commit -am "Detailed message as noted earlier"
|
||||
----
|
||||
|
||||
2. To keep the Git history clean, you may be asked to rebase your PR and squash
|
||||
multiple commits into one commit. Before you push your changes in the next step,
|
||||
follow the instructions here to rebase:
|
||||
https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request
|
||||
|
||||
3. After you have rebased, push the latest updates to the local working branch
|
||||
to your GitHub account.
|
||||
+
|
||||
----
|
||||
$ git push origin <working_branch> --force
|
||||
----
|
||||
|
||||
The `--force` flag ignores whatever is on the remote server and replaces
|
||||
everything with the local copy. You should now see the new commits in the
|
||||
existing PR. Sometimes a refresh of your browser may be required.
|
||||
|
||||
== Delete the local working branch
|
||||
When you have confirmed that all of your changes have been accepted and merged,
|
||||
and you have pulled the latest changes on `master` and pushed them to your
|
||||
GitHub account, you can delete the local working branch. Ensure you are in your
|
||||
local repository before proceeding.
|
||||
|
||||
1. Delete the local working branch from your workstation.
|
||||
+
|
||||
----
|
||||
$ git branch -D <working_branch>
|
||||
----
|
||||
|
||||
2. Delete the working branch from your GitHub account:
|
||||
+
|
||||
----
|
||||
$ git push origin :<working_branch>
|
||||
----
|
||||
726
contributing_to_docs/doc_guidelines.adoc
Normal file
@@ -0,0 +1,726 @@
|
||||
[[contributing-to-docs-doc-guidelines]]
|
||||
= Documentation Guidelines
|
||||
:icons:
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
:toclevels: 1
|
||||
:description: These are basic guidelines for creating technical documentation for OpenShift.
|
||||
|
||||
toc::[]
|
||||
|
||||
== Topic Metadata
|
||||
Every topic file should contain the following metadata at the top, with no line spacing in between, except where noted:
|
||||
|
||||
----
|
||||
= Document/Topic Title <1>
|
||||
:data-uri: <2>
|
||||
:icons: <3>
|
||||
:toc: macro <4>
|
||||
:toc-title: <5>
|
||||
-----------intentional blank line--------------
|
||||
toc::[] <6>
|
||||
----
|
||||
|
||||
<1> Human readable title of document/topic title line (notice the '=' top-level header)
|
||||
<2> AsciiDoctor attribute to embed all images directly in the HTML
|
||||
<3> AsciiDoctor attribute for icons used in admonitions and such (TIP, NOTE, WARNING, etc.)
|
||||
<4> Adds a table of contents (TOC) with manual placement.
|
||||
<5> Overrides the default title of TOC and removes the title.
|
||||
<6> Placement of the TOC.
|
||||
|
||||
After the heading block and a single whitespace line, you can include any content for the topic.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
The topic title, which is the first line of the document, is the only level 1 ( = ) title. Section headers within the topic must be level 2 ( == ) or lower.
|
||||
====
|
||||
|
||||
*All titles must have a unique (within the OpenShift docs suite) section anchor*, and this anchor must be all lowercase letters, with no line spaces between the anchor and the section title:
|
||||
|
||||
----
|
||||
[[section-anchor-name]]
|
||||
=== Section Title
|
||||
----
|
||||
|
||||
== Topic File Names
|
||||
|
||||
Try to shorten the topic file name as much as possible _without_ abbreviating
|
||||
important terms that may cause confusion. For example, the
|
||||
`managing_authorization_policies.adoc` file name would be appropriate for a
|
||||
topic titled "Managing Authorization Policies".
|
||||
|
||||
== Topic Titles and Section Headings
|
||||
|
||||
Use sentence case in all topic titles and section headings. See http://www.titlecase.com/ or
|
||||
https://convertcase.net/ for a conversion tool.
|
||||
|
||||
Try to be as descriptive as possible with the topic title or section headings
|
||||
without making them unnecessarily too long. Use a verb form in headings. Some
|
||||
suggestions:
|
||||
|
||||
* Creating
|
||||
* Managing
|
||||
* Using
|
||||
* Understanding
|
||||
|
||||
Use "Overview" as a heading sparingly. Choose a more descriptive heading
|
||||
instead.
|
||||
|
||||
=== Unique IDs
|
||||
|
||||
The content in this repo is used to build docs that publish to multiple
|
||||
locations (e.g., docs.openshift.com, docs.openshift.org, and the Red Hat
|
||||
Customer Portal). While heading IDs will be created automatically from any
|
||||
section titles (e.g., "Managing Authorization Policies" would generate an ID of
|
||||
`managing-authorization-policies`, which would act as an anchor reference), we
|
||||
should not rely on this automatic generation because the IDs need to be unique
|
||||
across all topics in the repo. This is mainly to avoid build failures for the
|
||||
Customer Portal docs, due to ID collision.
|
||||
|
||||
Therefore, always add a unique ID manually, and check the repo to make sure that
|
||||
it is unique and not already in use (for example, check with `CTRL+F` to search
|
||||
the repo if using Atom).
|
||||
|
||||
Manual IDs use the following syntax:
|
||||
|
||||
----
|
||||
[[managing-authorization-policies]]
|
||||
== Managing Authorization Policies
|
||||
----
|
||||
|
||||
=== Discrete Headings
|
||||
|
||||
If you have a section heading that you do not want to appear in the TOC (like if you think that some section is not worth showing up or if there are already too many nested levels), you can use a discrete (or floating) heading:
|
||||
|
||||
http://asciidoctor.org/docs/user-manual/#discrete-or-floating-section-titles
|
||||
|
||||
A discrete heading also will not get a section number in the Customer Portal
|
||||
build of hte doc. Previously, we would use plain bold mark-up around a heading
|
||||
like this, but discrete headings also allow you to ignore section nesting rules
|
||||
(like jumping from a `==` section level to a `====` level if you wanted for some
|
||||
style reason).
|
||||
|
||||
To use a discrete heading, just add `[discrete]` to the line before your unique
|
||||
ID. For example:
|
||||
|
||||
----
|
||||
[discrete]
|
||||
[[managing-authorization-policies]]
|
||||
== Managing Authorization Policies
|
||||
----
|
||||
|
||||
== Product Name & Version Attributes
|
||||
|
||||
When possible, generalize references to the product name and/or version using
|
||||
the `{product-title}` and/or `{product-version}` attributes. These attributes
|
||||
are pulled from distro mapping definitions in the
|
||||
https://github.com/openshift/openshift-docs/blob/master/_distro_map.yml[distro_map.yml]
|
||||
file.
|
||||
|
||||
The `{product-title}` comes from the first `name:` field in a distro mapping,
|
||||
while the associated `{product-version}` comes from the `name:` fields on any
|
||||
`branches:` defined.
|
||||
|
||||
How these attributes render is dependent on which distro and branch build you
|
||||
are viewing. The following table shows the current slate of distros and the
|
||||
possible values for `{product-title}` and `{product-version}`.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
|Distro |`{product-title}` |`{product-version}`
|
||||
|
||||
|`openshift-origin`
|
||||
|OpenShift Origin
|
||||
|Latest
|
||||
|
||||
|`openshift-enterprise`
|
||||
|OpenShift Enterprise
|
||||
|3.1, 3.0
|
||||
|
||||
|`openshift-dedicated`
|
||||
|OpenShift Dedicated
|
||||
|3.1, 3.0
|
||||
|
||||
|`openshift-online`
|
||||
|OpenShift Online
|
||||
|Latest
|
||||
|===
|
||||
|
||||
For example:
|
||||
|
||||
----
|
||||
You can deploy applications on {product-title}.
|
||||
----
|
||||
|
||||
This is a safe statement that could appear in probably any of the builds, so an
|
||||
https://github.com/openshift/openshift-docs/blob/master/contributing_to_docs/contributing.adoc#conditional-text-between-products[ifdef/endif
|
||||
statement] is not necessary. For example, if you were viewing a build for the
|
||||
`openshift-enterprise` distro (for any of the distro-defined branches), this
|
||||
would render as:
|
||||
|
||||
"You can deploy applications on OpenShift Enterprise."
|
||||
|
||||
And for the `openshift-origin` distro:
|
||||
|
||||
"You can deploy applications on OpenShift Origin."
|
||||
|
||||
Considering that we use distinct branches to keep content for product versions
|
||||
separated, global use of `{product-version}` across all branches is probably
|
||||
less useful, but it is available if you come across a need for it. Just consider
|
||||
how it will render across any branches that the content appears in.
|
||||
|
||||
Do not use markup in headings.
|
||||
|
||||
== Links, Hyperlinks, and Cross References
|
||||
Links can be used to cross-reference internal topics, or send customers to external information resources for further reading.
|
||||
|
||||
In OpenShift docs:
|
||||
|
||||
* all links to internal topics are created using `xref` and **must have an anchor ID**.
|
||||
* all links to external websites are created using `link`.
|
||||
|
||||
[IMPORTANT]
|
||||
====
|
||||
Do not split link paths across lines when wrapping text. This will cause issues with the doc builds.
|
||||
====
|
||||
|
||||
=== Example URLs
|
||||
To provide an example URL path that you do not want to render as a hyperlink, use this format:
|
||||
|
||||
....
|
||||
`\https://www.example.com`
|
||||
....
|
||||
|
||||
=== Internal Cross-References
|
||||
Whenever possible the link to another topic should be part of the actual sentence. Avoid creating links as a separate sentence that begins with "See [this topic] for more information on x".
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
Use the relative file path (from the file you are editing, to the file you are linking to), even if you are linking to the same directory that you are writing in. This makes search and replace operations to fix broken links much easier.
|
||||
|
||||
For example, if you are writing in *_architecture/core_concepts/deployments.adoc_* and you want to link to *_architecture/core_concepts/routes.adoc_* then you would need to include the path back to the first level of the topic directory:
|
||||
|
||||
----
|
||||
xref:../../architecture/networking/routes.adoc#architecture-core-concepts-routes
|
||||
----
|
||||
====
|
||||
|
||||
.Markup example of cross-referencing to internal topics
|
||||
----
|
||||
Rollbacks revert part of an application back to a previous deployment. Rollbacks can be performed using the REST API or
|
||||
the xref:../cli_reference/get_started_cli.adoc#installing-the-cli[OpenShift CLI].
|
||||
|
||||
Before you can create a domain, you must first xref:../dev_guide/application_lifecycle/new_app.adoc#dev-guide-new-app[create an application].
|
||||
----
|
||||
|
||||
.Rendered output of cross-referencing to internal topics:
|
||||
====
|
||||
Rollbacks revert part of an application back to a previous deployment. Rollbacks can be performed using the REST API or the xref:../cli_reference/get_started_cli.adoc#installing-the-cli[OpenShift CLI].
|
||||
|
||||
Before you can create a domain, you must first xref:../dev_guide/application_lifecycle/new_app.adoc#dev-guide-new-app[create an application].
|
||||
====
|
||||
|
||||
=== Links to External Websites
|
||||
|
||||
If you want to link to a different website, use:
|
||||
|
||||
----
|
||||
link:http://othersite.com/otherpath[friendly reference text]
|
||||
----
|
||||
|
||||
IMPORTANT: You must use `link:` before the start of the URL.
|
||||
|
||||
TIP: If you want to build a link from a URL _without_ changing the text from the actual URL, just print the URL without adding a `[friendly text]` block at the end; it will automatically be rendered as a link.
|
||||
|
||||
=== Links to Internal Topics
|
||||
There probably are three scenarios for linking to other content:
|
||||
|
||||
1. Link to another topic file that exists in the same topic group, or directory.
|
||||
2. Link to another topic file that exists in a separate topic group, or directory.
|
||||
|
||||
The following examples use the example directory structure shown here:
|
||||
....
|
||||
/
|
||||
/foo
|
||||
/foo/bar.adoc
|
||||
/baz
|
||||
/baz/zig.adoc
|
||||
/baz/zag.adoc
|
||||
....
|
||||
|
||||
*Link to topic in same topic group directory*
|
||||
|
||||
----
|
||||
xref:<filename>#anchor-id[friendly title]
|
||||
----
|
||||
|
||||
You must use the `.adoc` file extension. The document processor will correctly link this to the resulting HTML file.
|
||||
|
||||
For example, using the above syntax, if you are working on `zig.adoc` and want to link to `zag.adoc`, do it this way:
|
||||
|
||||
----
|
||||
xref:../zag.adoc#baz-zag[comment]
|
||||
----
|
||||
|
||||
where `baz-zag` is the anchor ID at the top of the file `zag.adoc`.
|
||||
|
||||
*Link to topic in different topic group directory*
|
||||
|
||||
----
|
||||
xref:../dir/<filename>.adoc[friendly title]
|
||||
----
|
||||
|
||||
For example, if you are working on `bar.adoc` and you want to link to `zig.adoc`, do it this way:
|
||||
|
||||
----
|
||||
xref:../baz/zig.adoc#baz-zig[see the ZIG manual for more]
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
You must use the .adoc extension in order for the link to work correctly and you must specify an anchor ID.
|
||||
====
|
||||
|
||||
*Link to a subtopic within a topic file*
|
||||
|
||||
To link to a subtopic within a topic file, use the following syntax:
|
||||
|
||||
----
|
||||
xref:../baz/zig/#subtopic
|
||||
----
|
||||
|
||||
*Link to a subtopic within the same topic file*
|
||||
|
||||
To link to a subtopic within the same topic file, use the following syntax:
|
||||
|
||||
----
|
||||
xref:subtopic
|
||||
----
|
||||
|
||||
Note: There is no `#` used when linking to a subtopic within the same topic.
|
||||
|
||||
== Sharing Content Between Files
|
||||
|
||||
If you want to share content from one topic so that it appears in another topic,
|
||||
you can use the `include` directive. See the Asciidoctor documentation for
|
||||
details:
|
||||
|
||||
http://asciidoctor.org/docs/user-manual/#include-partial
|
||||
|
||||
If you find that you need to include content from one topic multiple times into
|
||||
another topic, see the following usage:
|
||||
|
||||
http://asciidoctor.org/docs/user-manual/#include-multiple
|
||||
|
||||
== Writing Concepts
|
||||
A _concept_ is a topic (full .adoc file) or section (individual heading within a
|
||||
topic) that supports the things that users want to do and should not include
|
||||
task information like commands or numbered steps. Consider topic/section titles
|
||||
with a verb like "Understanding <concept>" if it is solely concept-based.
|
||||
|
||||
== Writing Tasks
|
||||
A _task_ is a topic (full .adoc file) or section (individual heading within a
|
||||
topic) that supports the things that users want to do and includes procedural
|
||||
information like commands and numbered steps. Write tasks in the following
|
||||
format.
|
||||
|
||||
*Task Title*: Use a verb in the task title (for example, Create or Creating).
|
||||
|
||||
Include a paragraph explaining why the user must perform this task. This should be 1-2 sentences maximum.
|
||||
|
||||
If applicable, include any gotchas (things that could trip up the user or cause the task to fail).
|
||||
|
||||
|
||||
*Before You Begin*
|
||||
|
||||
* A bulleted list of pre-requisites that MUST be performed before the user can complete this task. Skip if there isn't any related information.
|
||||
|
||||
*Procedure*
|
||||
|
||||
. Step 1 - One command per step.
|
||||
|
||||
. Step 2 - One command per step.
|
||||
|
||||
. Step N
|
||||
|
||||
*After You Finish*
|
||||
|
||||
You can explain any other tasks that MUST be completed after this task. You can skip this if there are none.
|
||||
|
||||
*Related Information*
|
||||
|
||||
* A bulleted list of links to related information about this task. Skip if there isn't any related information.
|
||||
|
||||
== Images
|
||||
If you want to link to an image:
|
||||
|
||||
1. Put it in `<topic_dir>/images`
|
||||
2. In the topic document, use this format to link to an image:
|
||||
|
||||
----
|
||||
image::<name_of_image>[image]
|
||||
----
|
||||
|
||||
You only need to specify `<name_of_image>`. The build mechanism automatically specifies the file path.
|
||||
|
||||
=== AsciiDoctor Diagram Extension
|
||||
AsciiDoctor provides a set of http://asciidoctor.org/docs/asciidoctor-diagram/[extensions to embed diagrams] written using http://plantuml.sourceforge.net/[PlantUML], http://www.graphviz.org/[Graphviz], http://ditaa.sourceforge.net/[ditaa], or https://github.com/christiangoltz/shaape[Shaape] syntax inside your AsciiDoc documents. The diagram extension generates an SVG, PNG, or TXT file from the source text. The image file that's generated then gets inserted into the rendered document.
|
||||
|
||||
[IMPORTANT]
|
||||
====
|
||||
The AsciiDoctor diagram extension serves a starting point for creating images in OpenShift documentation. In most cases these images will be professionally enhanced to meet our internal standards and guidelines.
|
||||
====
|
||||
|
||||
See the http://asciidoctor.org/docs/asciidoctor-diagram/[AsciiDoctor diagram extension] documentation for instructions on how to install and use it.
|
||||
|
||||
|
||||
We will mostly use the `ditaa` block in OpenShift documentation. The `png` file from the `ditaa` block is generated in the same directory as the source file with a checksum as the filename. However, you can specify the path of the generated `png` file with the second attribute in the `ditaa` block.
|
||||
|
||||
For example, in our case we would want our images in the *topic_dir/_images_* folder of the main topic directory:
|
||||
|
||||
----
|
||||
....
|
||||
[ditaa, "images/name_of_image"]
|
||||
....
|
||||
----
|
||||
|
||||
== Formatting
|
||||
|
||||
For all of the system blocks including table delimiters, use four characters. For example:
|
||||
|
||||
....
|
||||
|=== for tables
|
||||
---- for code blocks
|
||||
....
|
||||
|
||||
|
||||
=== Code Blocks
|
||||
Code blocks are used to show examples of command screen outputs, or
|
||||
configuration files. When using command blocks, always use the actual values for
|
||||
any items that a user would normally replace. Code blocks should represent
|
||||
exactly what a customer would see on their screen. If you need to expand or
|
||||
provide information on what some of the contents of a screen output or
|
||||
configuration file represent, then use callouts to provide that information.
|
||||
|
||||
Follow these general guidelines when using code blocks:
|
||||
|
||||
* Do NOT use any markup in code blocks; code blocks generally do not accept any markup.
|
||||
|
||||
* For all code blocks, you must include an empty line above a code block.
|
||||
+
|
||||
Acceptable:
|
||||
+
|
||||
....
|
||||
Lorem ipsum
|
||||
|
||||
----
|
||||
$ lorem.sh
|
||||
----
|
||||
....
|
||||
+
|
||||
Not acceptable:
|
||||
+
|
||||
....
|
||||
Lorem ipsum
|
||||
----
|
||||
$ lorem.sh
|
||||
----
|
||||
....
|
||||
+
|
||||
Without the line spaces, the content is likely to be not parsed correctly.
|
||||
|
||||
* It is recommended to include source tags for the programming language used in the code block to enable syntax highlighting. For example, use the source tags
|
||||
`[source, bash]`, `[source, yaml]`, `[source, javascript]`.
|
||||
+
|
||||
....
|
||||
Lorem ipsum
|
||||
|
||||
[source, bash]
|
||||
----
|
||||
$ lorem.sh
|
||||
----
|
||||
....
|
||||
|
||||
* Try to use callouts to provide information on what the output represents when required.
|
||||
+
|
||||
Use this format when embedding callouts into the code block:
|
||||
+
|
||||
[subs=-callouts]
|
||||
....
|
||||
[source, bash]
|
||||
----
|
||||
code example 1 <1>
|
||||
code example 2 <2>
|
||||
----
|
||||
<1> A note about the first example value.
|
||||
<2> A note about the second example value.
|
||||
....
|
||||
|
||||
* For long lines of code that you want to break up among multiple lines, use a
|
||||
backslash to show the line break. For example:
|
||||
+
|
||||
[source, bash]
|
||||
----
|
||||
$ oc get endpoints --all-namespaces --template \
|
||||
'{{ range .items }}{{ .metadata.namespace }}:{{ .metadata.name }} \
|
||||
{{ range .subsets }}{{ range .addresses }}{{ .ip }} \
|
||||
{{ end }}{{ end }}{{ "\n" }}{{ end }}' | awk '/ 172\.30\./ { print $1 }'
|
||||
----
|
||||
|
||||
* If the user must run a command as root, use a number sign, `#`, at the start of the command instead of a dollar sign, `$`. For example:
|
||||
+
|
||||
[source, bash]
|
||||
----
|
||||
# sudo ./openshift start
|
||||
----
|
||||
|
||||
=== Inline Code or Commands
|
||||
Do NOT show full commands or command syntax inline within a sentence. The next section covers how to show commands and command syntax.
|
||||
|
||||
Only use case for inline commands would be general commands and operations, without replaceables and command options. In this case an inline command is marked up using the back ticks:
|
||||
|
||||
....
|
||||
Use the `GET` operation to do x.
|
||||
....
|
||||
|
||||
This renders as:
|
||||
|
||||
Use the `GET` operation to do x.
|
||||
|
||||
=== Command Syntax and Examples
|
||||
The main distinction between showing command syntax and example is that a command syntax should just show customers how to use the command without real values. An example on the other hand should show the command with actual values with an example output of that command, where applicable.
|
||||
|
||||
==== Command Syntax
|
||||
To markup command syntax, use the code block and wrap the replaceables in <> with the required command parameters, as shown in the following example. Do NOT use commands or command syntax inline with sentences.
|
||||
|
||||
....
|
||||
The following command returns a list of objects for the specified object type:
|
||||
|
||||
[source, bash]
|
||||
----
|
||||
$ oc get <object_type> <object_id>
|
||||
----
|
||||
....
|
||||
|
||||
This would render as follows:
|
||||
|
||||
The following command returns a list of objects for the specified object type:
|
||||
|
||||
[source, bash]
|
||||
----
|
||||
$ oc get <object_type> <object_id>
|
||||
----
|
||||
|
||||
==== Examples
|
||||
As mentioned an example of a command should use actual values and also show an output of the command, as shown in the following example. In some a heading may not be required.
|
||||
|
||||
|
||||
....
|
||||
In the following example the `oc get` operation returns a complete list of services that are currently defined.
|
||||
|
||||
.Example Title
|
||||
|
||||
[source, bash]
|
||||
----
|
||||
$ oc get se
|
||||
NAME LABELS SELECTOR IP PORT
|
||||
kubernetes component=apiserver,provider=kubernetes <none> 172.30.17.96 443
|
||||
kubernetes-ro component=apiserver,provider=kubernetes <none> 172.30.17.77 80
|
||||
docker-registry <none> name=registrypod 172.30.17.158 5001
|
||||
----
|
||||
....
|
||||
|
||||
This would render as shown:
|
||||
|
||||
In the following example the `oc get` operation returns a complete list of services that are currently defined.
|
||||
|
||||
.Example Title
|
||||
|
||||
[source, bash]
|
||||
----
|
||||
$ oc get se
|
||||
NAME LABELS SELECTOR IP PORT
|
||||
kubernetes component=apiserver,provider=kubernetes <none> 172.30.17.96 443
|
||||
kubernetes-ro component=apiserver,provider=kubernetes <none> 172.30.17.77 80
|
||||
docker-registry <none> name=registrypod 172.30.17.158 5001
|
||||
----
|
||||
|
||||
=== Lists
|
||||
Lists are created as shown in this example:
|
||||
|
||||
....
|
||||
. Item 1 (2 spaces between the period and the first character)
|
||||
|
||||
. Item 2
|
||||
|
||||
. Item 3
|
||||
....
|
||||
|
||||
This will render as such:
|
||||
|
||||
. Item 1
|
||||
|
||||
. Item 2
|
||||
|
||||
. Item 3
|
||||
|
||||
If you need to add any text, admonitions, or code blocks you need to add the continuous +, as shown in the example:
|
||||
|
||||
....
|
||||
. Item 1
|
||||
+
|
||||
----
|
||||
some code block
|
||||
----
|
||||
|
||||
. Item 2
|
||||
|
||||
. Item 3
|
||||
....
|
||||
|
||||
This renders as shown:
|
||||
|
||||
. Item 1
|
||||
+
|
||||
----
|
||||
some code block
|
||||
----
|
||||
|
||||
. Item 2
|
||||
|
||||
. Item 3
|
||||
|
||||
==== Quick Reference
|
||||
.User accounts and info
|
||||
[option="header"]
|
||||
|===
|
||||
|Markup in command syntax |Description |Substitute value in Example block
|
||||
|
||||
|<username>
|
||||
|Name of user account
|
||||
|user@example.com
|
||||
|
||||
|<password>
|
||||
|User password
|
||||
|password
|
||||
|===
|
||||
|
||||
.Projects and applications
|
||||
[option="header"]
|
||||
|===
|
||||
|Markup in command syntax |Description |Substitute value in Example block
|
||||
|
||||
|<project>
|
||||
|Name of project
|
||||
|myproject
|
||||
|
||||
|<app>
|
||||
|Name of an application
|
||||
|myapp
|
||||
|===
|
||||
|
||||
== Admonitions
|
||||
Admonitions such as notes and warnings are formatted as shown:
|
||||
|
||||
....
|
||||
[ADMONITION]
|
||||
====
|
||||
Text for admonition
|
||||
====
|
||||
....
|
||||
|
||||
== Quick Markup Reference
|
||||
|
||||
|===
|
||||
|Convention |Markup |Example rendered output
|
||||
|
||||
|Code blocks
|
||||
a|....
|
||||
Use the following syntax for the `oc` command:
|
||||
|
||||
----
|
||||
$ oc <action> <object_type> <object_name_or_id>
|
||||
----
|
||||
....
|
||||
|
||||
a|Use the following syntax for the `oc` command:
|
||||
|
||||
----
|
||||
$ oc <action> <object_type> <object_name_or_id>
|
||||
----
|
||||
|
||||
|Inline commands, operations, literal values, variables, parameters, settings,
|
||||
flags, environment variables, and user input.
|
||||
|
||||
In general (when inline within sentences), something that either operates or
|
||||
acts on something else, or when referencing some item from a file or code block /
|
||||
example.
|
||||
a|$$`oc get`$$
|
||||
|
||||
$$`GET`$$
|
||||
|
||||
$$Set the `upgrade` variable to `true`.$$
|
||||
|
||||
$$Answer by typing `Yes` or `No` when prompted.$$
|
||||
|
||||
$$Use the `--amend` flag.$$
|
||||
|
||||
a|Use the `oc get` command to get a list of services that are currently defined.
|
||||
|
||||
The `GET` operation can be used to do something.
|
||||
|
||||
Set the `upgrade` variable to `true`.
|
||||
|
||||
Answer by typing `Yes` or `No` when prompted.
|
||||
|
||||
Use the `--amend` flag.
|
||||
|
||||
|System or software variable to be replaced by the user
|
||||
a|$$`<project>`$$
|
||||
|
||||
$$`<deployment>`$$
|
||||
|
||||
a|
|
||||
Use the following command to roll back a deployment, specifying the deployment name:
|
||||
|
||||
`oc rollback <deployment>`
|
||||
|
||||
|System term/item, user names, unique or example names for individual API objects/resources (e.g., a pod named "mypod"), GUI menu items and buttons, daemon, service, or software package.
|
||||
|
||||
In general (when inline within sentences), something that can be operated or
|
||||
acted upon, or unique or example names for system terms/items in general.
|
||||
|
||||
a|$$*system item*$$
|
||||
|
||||
$$*daemon*$$
|
||||
|
||||
$$*service*$$
|
||||
|
||||
$$*software package*$$
|
||||
|
||||
a|*cluster-admin* user
|
||||
|
||||
*atomic-openshift-master-api* service
|
||||
|
||||
*HTTPD*
|
||||
|
||||
*NetworkManager*
|
||||
|
||||
*RubyGems*
|
||||
|
||||
|Filenames or directory paths
|
||||
a|$$*_filename_*$$
|
||||
|
||||
$$*_directory_*$$
|
||||
a|Edit the *_kubeconfig_* file as required and save your changes.
|
||||
|
||||
The *_express.conf_* configuration file is located in the *_/usr/share_* directory.
|
||||
|
||||
|Emphasis for a term
|
||||
|only emphasize $$_first_$$ time
|
||||
|only emphasize _first_ time
|
||||
|
||||
|Footnotes
|
||||
|A footnote is created with the footnote macro. If you plan to reference a footnote more than once, use the ID footnoteref macro. The customer portal does not support spaces in the footnoteref. For example, "dynamic PV" should be "dynamicPV".
|
||||
|See link:http://asciidoctor.org/docs/user-manual/#user-footnotes[Footnotes] for the footnote and footnoteref syntax.
|
||||
|===
|
||||
32
contributing_to_docs/templates/overview_topic_template.adoc
Normal file
@@ -0,0 +1,32 @@
|
||||
[[contributing-to-docs-templates-overview-topic-template]]
|
||||
= Overview
|
||||
{product-author}
|
||||
{product-version}
|
||||
:icons: font
|
||||
:experimental:
|
||||
|
||||
Start with a clear introduction to the topic directory/category of topics and what information customers can expect to find in the included topics
|
||||
|
||||
////
|
||||
|
||||
////
|
||||
|
||||
== Quick Links
|
||||
////
|
||||
This section is a way to provide quick links to popular topics that we think will be of most interest to our customers. The example below would be in the Overview topic of the Administration Guide, and shows links to the Managing Nodes topic in that topic category. Note that this is just one example to show how we can help customers to find the information they need. This section may or may not be required. Use the table below as a template and remove this text.
|
||||
////
|
||||
|
||||
[option="header"]
|
||||
|===
|
||||
|How do I? |Links to relevant topics
|
||||
|
||||
.^|Add, view, or delete nodes in my OpenShift environment
|
||||
|
||||
a|link:../admin_guide/manage_nodes.html#adding-nodes[Add a node]
|
||||
|
||||
link:../admin_guide/manage_nodes.html#viewing-nodes[View a node]
|
||||
|
||||
link:../admin_guide/manage_nodes.html#deleting-nodes[Delete a node]
|
||||
|
||||
|Do something else as an admin
|
||||
|Link to topic(s)
|
||||
48
contributing_to_docs/templates/rev_history.adoc
Normal file
@@ -0,0 +1,48 @@
|
||||
[[contributing-to-docs-templates-rev-history-guide-dirname]]
|
||||
= Revision History: Full Guide Name
|
||||
{product-author}
|
||||
{product-version}
|
||||
:data-uri:
|
||||
:icons:
|
||||
:experimental:
|
||||
|
||||
// Woe be to the human who edits the following line! --the ‘do-release’ script
|
||||
// do-release: revhist-tables
|
||||
== Fri Jan 01 2016
|
||||
|
||||
OpenShift Enterprise X.Y.Z release (if publishing timed with a product release).
|
||||
|
||||
// tag::<guide_dirname>_fri_jan_01_2016[]
|
||||
[cols="1,3",options="header"]
|
||||
|===
|
||||
|
||||
|Affected Topic |Description of Change
|
||||
|
||||
|link:../path/to/topic1.html[Full Topic Title]
|
||||
|Added
|
||||
link:../path/to/topic1.html#section-anchor[Full Section Title] section to
|
||||
(include, discuss, detail, etc.) <relevant_reason>.
|
||||
|
||||
|link:../path/to/topic2.html.html[Full Topic Title]
|
||||
|New topic to (include, discuss, detail, etc.) <relevant_reason>.
|
||||
|===
|
||||
// end::<guide_dirname>_fri_jan_01_2016[]
|
||||
|
||||
== Mon Jan 11 2016
|
||||
|
||||
// tag::<guide_dirname>_mon_jan_11_2016[]
|
||||
[cols="1,3",options="header"]
|
||||
|===
|
||||
|
||||
|Affected Topic |Description of Change
|
||||
|
||||
|link:../path/to/topic3.html[Full Topic Title]
|
||||
|https://bugzilla.redhat.com/show_bug.cgi?id=#####[*BZ #####*]: Updated
|
||||
link:../path/to/topic3.html#section-anchor[Full Section Title] section to
|
||||
(fix, add, remove, etc.) <relevant_reason>.
|
||||
|
||||
|link:../path/to/subcategory/topic4.html[Subcategory Name -> Full Topic Title]
|
||||
|Clarify details about
|
||||
link:../path/to/subcategory/topic4.html#link-to-relevant-section[this or that].
|
||||
|===
|
||||
// end::<guide_dirname>_mon_jan_11_2016[]
|
||||
24
contributing_to_docs/templates/topic_template.adoc
Normal file
@@ -0,0 +1,24 @@
|
||||
[[contributing-to-docs-templates-topic-template]]
|
||||
= Replace with topic title
|
||||
:data-uri:
|
||||
:icons:
|
||||
:experimental:
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
:prewrap!:
|
||||
|
||||
toc::[]
|
||||
|
||||
== Overview
|
||||
All topics should include an Overview section that introduces the topic. Remove this and add a brief introduction here.
|
||||
|
||||
== Section Title
|
||||
Another section in the topic.
|
||||
|
||||
== Suggested Next Steps
|
||||
[Link to suggested topic]
|
||||
[Link to suggested topic]
|
||||
|
||||
////
|
||||
This would be the last section of a topic that serves as a suggestion to what topics customers can go read next. It may or may not be required.
|
||||
////
|
||||
286
contributing_to_docs/term_glossary.adoc
Normal file
@@ -0,0 +1,286 @@
|
||||
[[contributing-to-docs-term-glossary]]
|
||||
= OpenShift Glossary of Terms
|
||||
{product-author}
|
||||
{product-version}
|
||||
:data-uri:
|
||||
:icons:
|
||||
:experimental:
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
|
||||
toc::[]
|
||||
|
||||
This topic provides guidelines for referring to the various components of
|
||||
OpenShift and objects of a running OpenShift system in our documentation. The
|
||||
goal is to standardize terminology across OpenShift content and be consistent in
|
||||
the usage of our terminology when referring to OpenShift components or
|
||||
architecture.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
If you want to add terms or other content to this document, or if anything needs
|
||||
to be fixed, send an email to openshift-docs@redhat.com or submit a PR
|
||||
on GitHub.
|
||||
====
|
||||
|
||||
== Usage of OpenShift Terms
|
||||
|
||||
=== action
|
||||
|
||||
Usage: action
|
||||
|
||||
An action consists of _project_, _verb_, and _resource_:
|
||||
|
||||
* *Project* is the project containing the resource that is to be acted upon.
|
||||
* *Verb* is a get, list, create, or update operation.
|
||||
* *Resource* is the API endpoint being accessed. This is distinct from the
|
||||
referenced resource itself, which can be a pod, deployment config, build, etc.
|
||||
|
||||
''''
|
||||
=== apiserver
|
||||
|
||||
Usage: apiserver(s) as appropriate
|
||||
|
||||
A REST API endpoint for interacting with the system. New deployments and
|
||||
configurations can be created with this endpoint, and the state of the system
|
||||
can be interrogated through this endpoint as well.
|
||||
|
||||
''''
|
||||
=== application
|
||||
|
||||
Usage: _application(s)_ as appropriate; italicized
|
||||
|
||||
Although the term _application_ is no longer an official noun in OpenShift,
|
||||
customers still create and host applications on OpenShift, and using the term
|
||||
within certain contexts is acceptable. For example, the term _application_ may
|
||||
refer to some combination of an image, a Git repository, or a replication
|
||||
controller, and this _application_ may be running PHP, MySQL, Ruby, JBoss, or
|
||||
something else.
|
||||
|
||||
Do *NOT* use the term _application_ in a topic or section heading.
|
||||
|
||||
*Examples of correct usage*
|
||||
====
|
||||
_OpenShift runs your applications_.
|
||||
|
||||
_The new-app command creates a new application from the components you specify._
|
||||
|
||||
_My application has two Ruby web services connected to a database backend and a
|
||||
RabbitMQ message queue, as well as a python worker framework._
|
||||
|
||||
_You can check the health of your application by adding probes to the various
|
||||
parts._
|
||||
|
||||
_You can host a WordPress application on OpenShift._
|
||||
====
|
||||
''''
|
||||
|
||||
=== authorization
|
||||
|
||||
Usage: authorization
|
||||
|
||||
An authorization determines whether an _identity_ is allowed to perform any
|
||||
action. It consists of _identity_ and _action_.
|
||||
|
||||
''''
|
||||
|
||||
=== build
|
||||
|
||||
Usage: build(s) as appropriate
|
||||
|
||||
''''
|
||||
|
||||
=== cluster
|
||||
|
||||
Usage: cluster
|
||||
|
||||
The collection of controllers, pods, and services and related DNS and networking
|
||||
routing configuration that are defined on the system.
|
||||
|
||||
''''
|
||||
=== container
|
||||
|
||||
Usage: container(s) as appropriate
|
||||
|
||||
''''
|
||||
|
||||
=== container group
|
||||
|
||||
Usage: container group
|
||||
|
||||
''''
|
||||
|
||||
=== deployment
|
||||
|
||||
Usage: deployment
|
||||
|
||||
A deployment is a statement of intent by a user to roll out a new version of a
|
||||
config. A replication controller can be used for that and other purposes. All
|
||||
deployments are replication controllers, but all replication controllers are not
|
||||
deployments.
|
||||
|
||||
To avoid confusion, do not refer to an overall OpenShift installation / instance /
|
||||
cluster as an "OpenShift deployment".
|
||||
|
||||
''''
|
||||
=== deployment controller
|
||||
|
||||
Usage: deployment controller(s) as appropriate
|
||||
|
||||
Kubernetes object that creates a replication controller from a given pod
|
||||
template. If that pod template is modified, the deployment controller creates
|
||||
a new replication controller based on the modified pod template and replaces the
|
||||
old replication controller with this new one.
|
||||
|
||||
''''
|
||||
=== Dockerfile
|
||||
|
||||
Usage: Dockerfile; wrapped with [filename] markup. See
|
||||
link:doc_guidelines.html[Documentation Guidelines] for markup information.
|
||||
|
||||
Docker can build images automatically by reading the instructions from a
|
||||
Dockerfile. A Dockerfile is a text document that contains all the commands you
|
||||
would normally execute manually in order to build a Docker image.
|
||||
|
||||
Source: https://docs.docker.com/reference/builder/
|
||||
|
||||
.Examples of correct usage
|
||||
====
|
||||
Open the [filename]#Dockerfile# and make the following changes.
|
||||
|
||||
Create a [filename]#Dockerfile# at the root of your repository.
|
||||
====
|
||||
|
||||
''''
|
||||
=== identity
|
||||
|
||||
Usage: identity or identities as appropriate
|
||||
|
||||
Both the username and list of groups the user belongs to.
|
||||
|
||||
''''
|
||||
=== image
|
||||
|
||||
Usage: image(s)
|
||||
|
||||
''''
|
||||
|
||||
=== Kubelet
|
||||
|
||||
Usage: Kubelet(s) as appropriate
|
||||
|
||||
The agent that controls a Kubernetes node. Each node runs a Kubelet, which
|
||||
handles starting and stopping containers on a node, based on the desired state
|
||||
defined by the master.
|
||||
|
||||
''''
|
||||
=== Kubernetes master
|
||||
|
||||
Usage: Kubernetes master(s) as appropriate
|
||||
|
||||
The Kubernetes-native equivalent to the link:#project[OpenShift master].
|
||||
An OpenShift system runs OpenShift masters, not Kubernetes masters, and
|
||||
an OpenShift master provides a superset of the functionality of a Kubernetes
|
||||
master, so it is generally preferred to use the term OpenShift master.
|
||||
|
||||
''''
|
||||
|
||||
=== minion
|
||||
|
||||
Usage: Deprecated. Use link:#node[node] instead.
|
||||
|
||||
''''
|
||||
|
||||
=== node
|
||||
|
||||
Usage: node(s) as appropriate
|
||||
|
||||
A
|
||||
http://docs.openshift.org/latest/architecture/infrastructure_components/kubernetes_infrastructure.html#node[node]
|
||||
provides the runtime environments for containers.
|
||||
|
||||
''''
|
||||
|
||||
=== namespace
|
||||
|
||||
Usage: namespace
|
||||
|
||||
Typically synonymous with link:#project[project] in OpenShift parlance, which is
|
||||
preferred.
|
||||
|
||||
''''
|
||||
|
||||
=== OpenShift CLI
|
||||
|
||||
Usage: OpenShift CLI
|
||||
|
||||
This is the command line interface of OpenShift v3, previously referred to as
|
||||
the client tools in OpenShift v2.
|
||||
|
||||
''''
|
||||
|
||||
=== OpenShift master
|
||||
|
||||
Usage: OpenShift master(s) as appropriate
|
||||
|
||||
Provides a REST endpoint for interacting with the system and manages the state
|
||||
of the system, ensuring that all containers expected to be running are actually
|
||||
running and that other requests such as builds and deployments are serviced.
|
||||
New deployments and configurations are created with the REST API, and the state
|
||||
of the system can be interrogated through this endpoint as well. An OpenShift
|
||||
master comprises the apiserver, scheduler, and SkyDNS.
|
||||
|
||||
''''
|
||||
|
||||
=== pod
|
||||
|
||||
Usage: pod(s) as appropriate
|
||||
|
||||
Kubernetes object that groups related Docker containers that need to share
|
||||
network, filesystem, or memory together for placement on a node. Multiple
|
||||
instances of a Pod can run to provide scaling and redundancy.
|
||||
|
||||
''''
|
||||
|
||||
=== project
|
||||
|
||||
Usage: project(s) as appropriate
|
||||
|
||||
A http://docs.openshift.org/latest/dev_guide/projects.html[project] allows a
|
||||
community of users to organize and manage their content in isolation from other
|
||||
communities.
|
||||
|
||||
''''
|
||||
|
||||
=== replication controller
|
||||
|
||||
Usage: replication controller(s) as appropriate
|
||||
|
||||
Kubernetes object that ensures N (as specified by the user) instances of a given
|
||||
Pod are running at all times.
|
||||
|
||||
''''
|
||||
=== scheduler
|
||||
|
||||
Usage: scheduler(s) as appropriate
|
||||
|
||||
Component of the Kubernetes master or OpenShift master that manages the state of
|
||||
the system, places pods on nodes, and ensures that all containers that are
|
||||
expected to be running are actually running.
|
||||
|
||||
''''
|
||||
=== SkyDNS
|
||||
|
||||
Usage: SkyDNS
|
||||
|
||||
Component of the Kubernetes master or OpenShift master that provides
|
||||
cluster-wide DNS resolution of internal hostnames for services and pods.
|
||||
|
||||
''''
|
||||
=== Source-to-Image (S2I)
|
||||
|
||||
Usage: Source-to-Image for the first time reference; S2I thereafter.
|
||||
|
||||
Deprecated abbreviation (do not use): STI
|
||||
|
||||
''''
|
||||
197
contributing_to_docs/tools_and_setup.adoc
Normal file
@@ -0,0 +1,197 @@
|
||||
[[contributing-to-docs-tools-and-setup]]
|
||||
= Install and set up the tools and software
|
||||
:icons:
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
:toclevels: 1
|
||||
:linkattrs:
|
||||
:description: How to set up and install the tools to contribute
|
||||
|
||||
toc::[]
|
||||
|
||||
== Create a GitHub account
|
||||
Before you can contribute to OpenShift documentation, you must
|
||||
https://www.github.com/join[sign up for a GitHub account].
|
||||
|
||||
== Set up authentication
|
||||
When you have your account set up, follow the instructions to
|
||||
https://help.github.com/articles/generating-ssh-keys/[generate and set up SSH
|
||||
keys on GitHub] for proper authentication between your workstation and GitHub.
|
||||
|
||||
Confirm authentication is working correctly with the following command:
|
||||
|
||||
----
|
||||
$ ssh -T git@github.com
|
||||
----
|
||||
|
||||
== Fork and clone the OpenShift documentation repository
|
||||
You must fork and set up the OpenShift documentation repository on your
|
||||
workstation so that you can create PRs and contribute. These steps only need to
|
||||
be performed during initial setup.
|
||||
|
||||
1. Fork the https://github.com/openshift/openshift-docs repository into your
|
||||
GitHub account from the GitHub UI. You can do this by clicking on *Fork* in the
|
||||
upper right-hand corner.
|
||||
|
||||
2. On your workstation, clone the forked repository on your workstation with the
|
||||
following command. Be sure to change into the directory where you want to clone,
|
||||
and replace _<user_name>_ with your actual GitHub username.
|
||||
+
|
||||
----
|
||||
$ git clone git@github.com:user_name/openshift-docs.git
|
||||
----
|
||||
|
||||
3. From your local repository you just cloned, add an upstream pointer back to
|
||||
the OpenShift's remote repository, in this case _openshift-docs_.
|
||||
+
|
||||
----
|
||||
$ git remote add upstream git@github.com:openshift/openshift-docs.git
|
||||
----
|
||||
|
||||
This ensures that you are tracking the remote repository to keep your local
|
||||
repository in sync with it.
|
||||
|
||||
== Install AsciiBinder and dependencies
|
||||
When you have the documentation repository cloned and set up, you are ready to
|
||||
install the software and tools you will use to create the content. All OpenShift
|
||||
documentation is created in AsciiDoc, and is processed with http://asciibinder.org[AsciiBinder],
|
||||
which is an http://asciidoctor.org/[AsciiDoctor]-based docs management system.
|
||||
|
||||
You can work on a topic file in an editing environment that automatically
|
||||
processes and updates the rendered HTML.
|
||||
|
||||
=== What you need
|
||||
The following are minimum requirements to set up a live editing environment:
|
||||
|
||||
* A bash shell environment (Linux and OS X include a bash shell environment out
|
||||
of the box, but if you are on Windows you can use http://cygwin.com/[Cygwin])
|
||||
* https://www.ruby-lang.org/en/[Ruby]
|
||||
* http://www.git-scm.com/[Git]
|
||||
* A web browser (Firefox, Chrome, or Safari) with the
|
||||
http://livereload.com/[LiveReload] extension installed
|
||||
|
||||
=== Install the required software dependencies on a Linux system
|
||||
The following instructions describe how to install all the required tools to do
|
||||
live content editing on a Fedora Linux system.
|
||||
|
||||
1. Install the _RubyGems_ package with `yum install rubygems`
|
||||
2. Install _Ruby_ development packages with `yum install ruby-devel`
|
||||
3. Install _gcc_ with `yum install gcc-c++`
|
||||
4. Install _redhat-rpm-config_ with `yum install redhat-rpm-config`
|
||||
5. Install _make_ with `yum install make`
|
||||
6. Install the _ascii_binder_ gem with `gem install ascii_binder`
|
||||
|
||||
NOTE: If you already have AsciiBinder installed, you may be due for an update. These directions assume that you are using AsciiBinder 0.0.8 or newer. To check and update if necessary, simply run `gem update ascii_binder`. Note that you may need root permissions.
|
||||
|
||||
=== Initial setup
|
||||
After you have confirmed that you meet the minimum system requirements, or if
|
||||
you are on a Linux system you have installed the
|
||||
link:#install-the-required-software-dependencies-on-a-linux-system[required
|
||||
software dependencies], you can perform the initial setup.
|
||||
|
||||
[NOTE]
|
||||
.ditaa Support
|
||||
====
|
||||
https://github.com/stathissideris/ditaa[ditaa] requires $JAVA_HOME be set, which requires a JDK
|
||||
installed (try e.g. `yum install java-1.8.0-openjdk-devel` and `export
|
||||
JAVA_HOME=/usr/lib/jvm/java-1.8.0`).
|
||||
====
|
||||
|
||||
=== How to use LiveReload
|
||||
With the initial setup complete, you are ready to use LiveReload to edit your
|
||||
content.
|
||||
|
||||
1. From the `openshift-docs` directory, run an initial build:
|
||||
+
|
||||
----
|
||||
$ cd openshift-docs
|
||||
$ asciibinder build
|
||||
----
|
||||
2. Open the generated HTML file in your web browser. This will be located in the
|
||||
`openshift-docs/_preview/<distro>/<branch>` directory, with the same path and
|
||||
filename as the original `.adoc` file you edited, only it will be with the
|
||||
`.html` extension.
|
||||
3. Run the `watch` utility:
|
||||
+
|
||||
----
|
||||
$ asciibinder watch
|
||||
----
|
||||
+
|
||||
[TIP]
|
||||
This utility will run in the terminal where you started it, so you should leave
|
||||
it running and open new terminal windows for other tasks.
|
||||
|
||||
4. In your browser, enable the LiveReload plug-in in the same tab where the
|
||||
preview file is open; the icon should change color once activated. The following
|
||||
message will also display in your terminal window:
|
||||
+
|
||||
----
|
||||
[1] guard(main)> 17:29:22 - INFO - Browser connected.
|
||||
----
|
||||
|
||||
With this setup, a rebuild is automatically generated each time you make a change
|
||||
to the source `.adoc` file, and is immediately viewable in the corresponding
|
||||
`.html` file.
|
||||
|
||||
=== Clean up
|
||||
The `.gitignore` file is set up to prevent anything under the `_preview` and
|
||||
`_package` directories from being committed. However, you can reset the
|
||||
environment manually by running:
|
||||
|
||||
----
|
||||
$ asciibinder clean
|
||||
----
|
||||
|
||||
== Next steps
|
||||
With the repository and tools set up on your workstation, you can now either
|
||||
edit existing content or create new topics.
|
||||
|
||||
* link:doc_guidelines.adoc[Review the documentation guidelines] to understand
|
||||
some basic guidelines to keep things consistent across our content.
|
||||
* link:create_or_edit_content.adoc[Create a local working branch] on your
|
||||
workstation to edit existing topics or create new topics.
|
||||
|
||||
=== How to deploy to OpenShift
|
||||
You can deploy to OpenShift for development. This process will use your github repo to launch the website,
|
||||
and therefore your github repo must have all of the upstream branches. `master` is used for site changes,
|
||||
so assuming all your work is in `master`, you can remove all remote branches and then push the upstream branches.
|
||||
|
||||
|
||||
Removing remote branches and updating with upstream branches (this assumes remote repos called `origin` and `upstream`)
|
||||
[WARNING]
|
||||
====
|
||||
This is a destructive process, make sure that this is purely a development repo, as all local and remote branches will be deleted
|
||||
by performing the below commands.
|
||||
====
|
||||
----
|
||||
$ git fetch --all
|
||||
$ for branch in $(git branch -r | grep -v "master" | grep "^ origin"); do git push origin --delete $(echo $branch | cut -d '/' -f 2); done
|
||||
$ git branch -D $(git branch | grep -v 'master' | xargs)
|
||||
$ for branch in $(git branch -r | grep -v "master" | grep "^ upstream"); do git branch --track $(echo $branch | cut -d '/' -f 2) $(echo $branch | tr -d '[:space:]'); done
|
||||
$ for branch in $(git branch | grep -v "master"); do git push origin $(echo $branch | tr -d '[:space:]'); done
|
||||
----
|
||||
|
||||
Deploying the docs site to an OpenShift cluster
|
||||
----
|
||||
$ oc process -f asciibinder-template.yml -p NAME=docs \
|
||||
-p SOURCE_REPOSITORY_URL=$(git remote get-url origin) \
|
||||
-p SOURCE_REPOSITORY_REF=$(git rev-parse --abbrev-ref HEAD) \
|
||||
-p MEMORY_LIMIT=512Mi -p MEMORY_REQUEST=256Mi \
|
||||
| oc create -f -
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
If the build fails with "Fetch source failed" status, you can
|
||||
delete all the created objects and re-run above with an HTTP uri
|
||||
as the `SOURCE_REPOSITORY_URL`, or you can
|
||||
link:https://docs.openshift.org/latest/dev_guide/builds/build_inputs.html#source-secrets-combinations[create a source secret]
|
||||
and add it to the stg1 build, `oc set build-secret --source bc/stg1-docs <secret name>`.
|
||||
====
|
||||
|
||||
|
||||
You can delete all created objects by running
|
||||
|
||||
----
|
||||
$ oc delete all -l app=docs
|
||||
----
|
||||
277
index-commercial.html
Normal file
@@ -0,0 +1,277 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="ie8"><![endif]-->
|
||||
<!--[if IE 9]><html class="ie9"><![endif]-->
|
||||
<!--[if gt IE 9]><!-->
|
||||
<html>
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="google-site-verification" content="MCaLEYfZB8HfZSTyMQYZyBeRMXGoKt46uvrwEp-KN3M">
|
||||
<title>Home | Red Hat OpenShift Documentation</title>
|
||||
<link href="https:/docs.openshift.com/" rel="canonical">
|
||||
<link href="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" rel="apple-touch-icon-precomposed" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/subdomain/favicon32x32.png" rel="shortcut icon" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/osh-nav-footer.css" rel="stylesheet" type="text/css" media="screen, print" />
|
||||
<link href="https://assets.openshift.net/content/subdomain.css" rel="stylesheet" media="screen, print">
|
||||
<link href="_stylesheets/commercial-home.css" rel="stylesheet">
|
||||
<!--[if IE]><link rel="shortcut icon" href="https://assets.openshift.net/content/subdomain/favicon.ico"><![endif]-->
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://assets.openshift.net/content/html5shiv.js"></script>
|
||||
<script src="https://assets.openshift.net/content/respond.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IE8 requires jQuery and Bootstrap JS to load in head to prevent rendering bugs -->
|
||||
<!-- IE8 requires jQuery v1.x -->
|
||||
<script src="https://assets.openshift.net/content/modernizr.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/subdomain.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/nav-tertiary.js" type="text/javascript"></script>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-PMDVKG');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
|
||||
<!-- End Adobe DTM -->
|
||||
</head>
|
||||
<body class="docs docs-home">
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PMDVKG"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
||||
<nav id="main">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="navbar navbar-default navbar-openshift" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<a href="#nav-main" class="dropdown-toggle navbar-menu-toggle hidden visible-xs" data-toggle="collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="navbar-brand" target="_blank" href="https://www.openshift.com"></a>
|
||||
</div>
|
||||
<div id="nav-main" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Products <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/">Overview</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/features/">Features</a></li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/online/">Online</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/online/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftOnline_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>The fastest way for developers to build, host and scale applications in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/dedicated/">Dedicated</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/dedicated/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftDedicated_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Single-tenant, high-availability Kubernetes clusters in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/container-platform/">Container Platform</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/container-platform/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftContainerPlatform_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Build, deploy and manage your applications across cloud- and on-premise infrastructure</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/quay/">Quay</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/pricing/">Pricing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Learn <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/what-is-openshift/">What Is OpenShift</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/get-started/">Get Started</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Technology Topics <span class="fa fa-angle-right"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="display: none;">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/security/">Security</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/kubernetes/">Kubernetes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/partners/">Partners</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/success-stories/">Customer success stories</a></li>
|
||||
<li><a target="_blank" href="https://blog.openshift.com">Blog</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/resources/">Resources</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Community <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://commons.openshift.org">OpenShift Commons</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.org">Open Source (Origin)</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/startups/">Startups</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/grants/">Grants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Support <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://help.openshift.com">Help Center</a></li>
|
||||
<li><a href="https://docs.openshift.com">OpenShift Docs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a class="nav-sign-up" target="_blank" href="https://www.openshift.com/trial/">Free Trial</a></li>
|
||||
|
||||
<li><a target="_blank" href="https://manage.openshift.com" class="nav-log-in">Sign In <span class="fa fa-angle-right"></span></a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<header class="masthead masthead-docs text-center">
|
||||
<div class="container">
|
||||
<div class="title-inner">
|
||||
<h1>OpenShift Documentation</h1>
|
||||
<div class="row">
|
||||
<div class="col-md-7 col-sm-8 col-xs-8 center-block search-container">
|
||||
<div class="search-form">
|
||||
<form action="https://docs.openshift.com/search.html" class="search has-button" id="cse-search-form-body" method="get" role="form">
|
||||
<div class="form-group">
|
||||
<div class="search-pf-input-group">
|
||||
<input autocomplete="off" class="form-control" dir="ltr" id="cse-search-input-body" name="query" placeholder="Search Documentation" spellcheck="false" type="search" autofocus="autofocus">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-default" type="button">
|
||||
<span class="fa fa-search"></span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="landing">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-centered">
|
||||
<div class="row">
|
||||
<div class="col-sm-3 text-center">
|
||||
<h2>OpenShift Online</h2>
|
||||
<div class="list-group">
|
||||
<p class="list-group-item-text">Red Hat's public cloud application deployment and hosting platform.</p>
|
||||
<p><a role="button" class="btn btn-primary" href="online/"><i class="fa fa-arrow-circle-o-right"></i> Online</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3 text-center">
|
||||
<h2>OpenShift Container Platform</h2>
|
||||
<div class="list-group">
|
||||
<p class="list-group-item-text">Red Hat's private, on-premise cloud application deployment and hosting platform.</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Select Version<span class="caret"></span></button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a href="container-platform/3.9/"><i class="fa fa-arrow-circle-o-right"></i> Container Platform 3.9</a></li>
|
||||
<li><a href="container-platform/3.7/"><i class="fa fa-arrow-circle-o-right"></i> Container Platform 3.7</a></li>
|
||||
<li><a href="container-platform/3.6/"><i class="fa fa-arrow-circle-o-right"></i> Container Platform 3.6</a></li>
|
||||
<li><a href="container-platform/3.5/"><i class="fa fa-arrow-circle-o-right"></i> Container Platform 3.5</a></li>
|
||||
<li><a href="container-platform/3.4/"><i class="fa fa-arrow-circle-o-right"></i> Container Platform 3.4</a></li>
|
||||
<li><a href="container-platform/3.3/"><i class="fa fa-arrow-circle-o-right"></i> Container Platform 3.3</a></li>
|
||||
<li><a href="enterprise/3.2/"><i class="fa fa-arrow-circle-o-right"></i> Enterprise 3.2</a></li>
|
||||
<li><a href="enterprise/3.1/"><i class="fa fa-arrow-circle-o-right"></i> Enterprise 3.1</a></li>
|
||||
<li><a href="enterprise/3.0/"><i class="fa fa-arrow-circle-o-right"></i> Enterprise 3.0</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3 text-center">
|
||||
<h2>OpenShift Dedicated</h2>
|
||||
<div class="list-group">
|
||||
<p class="list-group-item-text">Red Hat's managed public cloud application deployment and hosting service.</p>
|
||||
<p><a role="button" class="btn btn-primary" href="dedicated/"><i class="fa fa-arrow-circle-o-right"></i> Dedicated</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3 text-center">
|
||||
<h2>OpenShift Origin</h2>
|
||||
<div class="list-group">
|
||||
<p class="list-group-item-text">OpenShift's open source, upstream project.</p>
|
||||
<p><a role="button" class="btn btn-default" href="https://docs.openshift.org/" target="_blank"><i class="fa fa-external-link"></i> Origin Documentation</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer id="rh">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<img src="https://assets.openshift.net/content/subdomain/redhat_logo.svg" class="img-fluid" alt="Red Hat" style="height: 40px;">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<p>Copyright © 2018 <span class="text-nowrap">Red Hat, Inc.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<nav class="nav">
|
||||
<a href="https://www.redhat.com/en/about/privacy-policy" class="nav-link">Privacy statement</a>
|
||||
<a href="https://www.openshift.com/legal/terms/" class="nav-link">Terms of use</a>
|
||||
<a href="https://www.redhat.com/en/about/all-policies-guidelines" class="nav-link">All policies and guidelines</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="hidden-sm col-sm-2 powered-by">
|
||||
<a href="https://www.openshift.com/" title="Powered by OpenShift Online">
|
||||
<img src="https://www.openshift.com/images/logos/powered_by_openshift_reverse.png" alt="Powered by OpenShift Online">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script type="text/javascript">
|
||||
if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {
|
||||
_satellite.pageBottom();
|
||||
}
|
||||
</script>
|
||||
<!-- End Adobe DTM -->
|
||||
</body>
|
||||
</html>
|
||||
91
index-community.html
Normal file
@@ -0,0 +1,91 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="ie8"><![endif]-->
|
||||
<!--[if IE 9]><html class="ie9"><![endif]-->
|
||||
<!--[if gt IE 9]><!-->
|
||||
<html>
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="google-site-verification" content="9jyGvNki3NSELTYJ7t_XbF-YQZ8jjfm7LqQQGNq4SSg">
|
||||
<title>Home | OpenShift Origin Documentation</title>
|
||||
<link href="https://docs.openshift.org/" rel="canonical">
|
||||
<link href="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" rel="apple-touch-icon-precomposed" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/subdomain/favicon32x32.png" rel="shortcut icon" type="image/png">
|
||||
<!--[if IE]><link rel="shortcut icon" href="https://assets.openshift.net/content/subdomain/favicon.ico"><![endif]-->
|
||||
<link href="https://assets.openshift.net/content/subdomain.css" rel="stylesheet" media="screen, print">
|
||||
<link href="_stylesheets/community-home.css" rel="stylesheet">
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://assets.openshift.net/content/html5shiv.js"></script>
|
||||
<script src="https://assets.openshift.net/content/respond.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IE8 requires jQuery and Bootstrap JS to load in head to prevent rendering bugs -->
|
||||
<!-- IE8 requires jQuery v1.x -->
|
||||
<script src="https://assets.openshift.net/content/subdomain.js"></script>
|
||||
<script async src="//www.google-analytics.com/analytics.js" type="text/javascript"></script>
|
||||
<script>
|
||||
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||||
ga('create', 'UA-40375612-1', 'openshift.org');
|
||||
ga('set', 'forceSSL', true);
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
<body class="hub hub-home">
|
||||
<div class="site-wrapper">
|
||||
|
||||
<div class="site-wrapper-inner">
|
||||
|
||||
<div class="cover-container">
|
||||
|
||||
<div class="masthead clearfix">
|
||||
<div class="inner">
|
||||
<a href="http://www.openshift.org"><img class="masthead-brand" src="_images/origin_logo.png" alt="OpenShift Logo" /></a>
|
||||
<nav>
|
||||
<ul class="nav masthead-nav">
|
||||
<li><a href="https://www.openshift.org">Origin Home</a></li>
|
||||
<li><a href="https://www.openshift.org/#contribute">Contribute</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="inner cover">
|
||||
<h1 class="cover-heading">Documentation</h1>
|
||||
<p class="lead"><strong>OpenShift Origin</strong> is an application platform where developers and teams can build, test, deploy, and run their applications. OpenShift Origin also serves as the upstream code base upon which <a href="http://www.openshift.com">OpenShift Online</a> and <a href="https://www.openshift.com/container-platform/">OpenShift Container Platform</a> are built.</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Select Version<span class="caret"></span></button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a href="latest/"><i class="fa fa-arrow-circle-o-right"></i> Origin Latest</a></li>
|
||||
<li><a href="3.9/"><i class="fa fa-arrow-circle-o-right"></i> Origin 3.9</a></li>
|
||||
<li><a href="3.7/"><i class="fa fa-arrow-circle-o-right"></i> Origin 3.7</a></li>
|
||||
<li><a href="3.6/"><i class="fa fa-arrow-circle-o-right"></i> Origin 3.6</a></li>
|
||||
<li><a href="1.5/"><i class="fa fa-arrow-circle-o-right"></i> Origin 1.5</a></li>
|
||||
<li><a href="1.4/"><i class="fa fa-arrow-circle-o-right"></i> Origin 1.4</a></li>
|
||||
<li><a href="1.3/"><i class="fa fa-arrow-circle-o-right"></i> Origin 1.3</a></li>
|
||||
<li><a href="1.2/"><i class="fa fa-arrow-circle-o-right"></i> Origin 1.2</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mastfoot">
|
||||
<div class="inner">
|
||||
<p>
|
||||
<a href="https://www.redhat.com/">
|
||||
<img src="https://assets.openshift.net/app/assets/redhat.svg" alt="Red Hat">
|
||||
</a>
|
||||
<a href="https://www.openshift.com/" title="Powered by OpenShift Online">
|
||||
<img src="https://www.openshift.com/sites/default/files/images/powered-transparent-white.png" alt="Powered by OpenShift Online">
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
10
issue_template.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<!--
|
||||
Please submit only documentation-related issues with this form, or follow the
|
||||
Contribute to OpenShift guidelines (https://github.com/openshift/openshift-docs/blob/master/contributing_to_docs/contributing.adoc) to submit a PR.
|
||||
-->
|
||||
|
||||
### Which section(s) is the issue in?
|
||||
|
||||
|
||||
|
||||
### What needs fixing?
|
||||
234
search-commercial.html
Normal file
@@ -0,0 +1,234 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="ie8"><![endif]-->
|
||||
<!--[if IE 9]><html class="ie9"><![endif]-->
|
||||
<!--[if gt IE 9]><!-->
|
||||
<html>
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="google-site-verification" content="MCaLEYfZB8HfZSTyMQYZyBeRMXGoKt46uvrwEp-KN3M">
|
||||
<title>Search Results | Red Hat OpenShift Documentation</title>
|
||||
<link href="https:/docs.openshift.com/search.html" rel="canonical">
|
||||
<link href="https://assets.openshift.net/content/subdomain/touch-icon-precomposed.png" rel="apple-touch-icon-precomposed" type="image/png">
|
||||
<link href="https://assets.openshift.net/content/subdomain/favicon32x32.png" rel="shortcut icon" type="image/png">
|
||||
<!--[if IE]><link rel="shortcut icon" href="https://assets.openshift.net/content/subdomain/favicon.ico"><![endif]-->
|
||||
<link href="https://assets.openshift.net/content/subdomain.css" rel="stylesheet" media="screen, print">
|
||||
<link href="_stylesheets/commercial-home.css" rel="stylesheet">
|
||||
<link href="https://assets.openshift.net/content/osh-nav-footer.css" rel="stylesheet" type="text/css" media="screen, print" />
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://assets.openshift.net/content/html5shiv.js"></script>
|
||||
<script src="https://assets.openshift.net/content/respond.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IE8 requires jQuery and Bootstrap JS to load in head to prevent rendering bugs -->
|
||||
<!-- IE8 requires jQuery v1.x -->
|
||||
<script src="https://assets.openshift.net/content/modernizr.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/subdomain.js" type="text/javascript"></script>
|
||||
<script src="https://assets.openshift.net/content/nav-tertiary.js" type="text/javascript"></script>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-PMDVKG');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
|
||||
<!-- Adobe DTM -->
|
||||
<script src="//www.redhat.com/dtm.js" type="text/javascript"></script>
|
||||
<!-- End Adobe DTM -->
|
||||
</head>
|
||||
<body class="docs docs-search">
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-PMDVKG"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
||||
<nav id="main">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="navbar navbar-default navbar-openshift" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<a href="#nav-main" class="dropdown-toggle navbar-menu-toggle hidden visible-xs" data-toggle="collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="navbar-brand" target="_blank" href="https://www.openshift.com"></a>
|
||||
</div>
|
||||
<div id="nav-main" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Products <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/">Overview</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/features/">Features</a></li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/online/">Online</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/online/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftOnline_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>The fastest way for developers to build, host and scale applications in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/dedicated/">Dedicated</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/dedicated/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftDedicated_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Single-tenant, high-availability Kubernetes clusters in the public cloud</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" target="_blank" href="https://www.openshift.com/products/container-platform/">Container Platform</a>
|
||||
<ul class="dropdown-menu product" style="display: none;">
|
||||
<a target="_blank" href="https://www.openshift.com/products/container-platform/">
|
||||
<li>
|
||||
<p><img src="https://assets.openshift.net/content/subdomain/Logotype_RH_OpenShiftContainerPlatform_wLogo_RGB_Gray.svg" alt="" class="img-responsive"></p>
|
||||
<p>Build, deploy and manage your applications across cloud- and on-premise infrastructure</p>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/quay/">Quay</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/products/pricing/">Pricing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
Learn <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/what-is-openshift/">What Is OpenShift</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/get-started/">Get Started</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Technology Topics <span class="fa fa-angle-right"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="display: none;">
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/security/">Security</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/topics/kubernetes/">Kubernetes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/partners/">Partners</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/success-stories/">Customer success stories</a></li>
|
||||
<li><a target="_blank" href="https://blog.openshift.com">Blog</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/learn/resources/">Resources</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Community <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://commons.openshift.org">OpenShift Commons</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.org">Open Source (Origin)</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/startups/">Startups</a></li>
|
||||
<li><a target="_blank" href="https://www.openshift.com/community/programs/grants/">Grants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Support <span class="fa fa-angle-down"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a target="_blank" href="https://help.openshift.com">Help Center</a></li>
|
||||
<li><a href="https://docs.openshift.com">OpenShift Docs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a class="nav-sign-up" target="_blank" href="https://www.openshift.com/trial/">Free Trial</a></li>
|
||||
|
||||
<li><a target="_blank" href="https://manage.openshift.com" class="nav-log-in">Sign In <span class="fa fa-angle-right"></span></a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<h1>Search Results</h1>
|
||||
<div id="hc-search-results" class="search-results clearfix"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer id="rh">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<img src="https://assets.openshift.net/content/subdomain/redhat_logo.svg" class="img-fluid" alt="Red Hat" style="height: 40px;">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<p>Copyright © 2018 <span class="text-nowrap">Red Hat, Inc.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<nav class="nav">
|
||||
<a href="https://www.redhat.com/en/about/privacy-policy" class="nav-link">Privacy statement</a>
|
||||
<a href="https://www.openshift.com/legal/terms/" class="nav-link">Terms of use</a>
|
||||
<a href="https://www.redhat.com/en/about/all-policies-guidelines" class="nav-link">All policies and guidelines</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="hidden-sm col-sm-2 powered-by">
|
||||
<a href="https://www.openshift.com/" title="Powered by OpenShift Online">
|
||||
<img src="https://www.openshift.com/images/logos/powered_by_openshift_reverse.png" alt="Powered by OpenShift Online">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="text/javascript">
|
||||
// custom help.openshift.com search
|
||||
function parseParamsFromUrl() {
|
||||
var params = {};
|
||||
var parts = window.location.search.substr(1).split('&');
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var keyValuePair = parts[i].split('=');
|
||||
var key = keyValuePair[0];
|
||||
params[key] = keyValuePair[1];
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
var urlParams = parseParamsFromUrl();
|
||||
var queryParamName = 'query';
|
||||
var searchLabel = 'docs';
|
||||
|
||||
if (urlParams[queryParamName]) {
|
||||
hciframe = document.createElement('iframe');
|
||||
hciframe.width = '100%';
|
||||
hciframe.height = 0.7 * window.innerHeight;
|
||||
hciframe.frameBorder = '0';
|
||||
hciframe.src = 'https://help.openshift.com/customsearch.html?q=' + urlParams[queryParamName] + '&l=' + searchLabel;
|
||||
document.getElementById('hc-search-results').appendChild(hciframe);
|
||||
}
|
||||
</script>
|
||||
<!-- Adobe DTM -->
|
||||
<script type="text/javascript">
|
||||
if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {
|
||||
_satellite.pageBottom();
|
||||
}
|
||||
</script>
|
||||
<!-- End Adobe DTM -->
|
||||
</body>
|
||||
</html>
|
||||