wholesale copy of master docs (from #458) with version changed to 0.7.0-M2-incubating
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/ac204e2e Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/ac204e2e Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/ac204e2e Branch: refs/heads/0.7.0-M2-incubating-docs Commit: ac204e2ec320c304c5ddfcb02f9b9dc63f2f1df7 Parents: 15afabd Author: Alex Heneveld <[email protected]> Authored: Tue Jan 20 16:19:19 2015 +0000 Committer: Alex Heneveld <[email protected]> Committed: Tue Jan 20 16:19:19 2015 +0000 ---------------------------------------------------------------------- docs/.gitignore | 1 + docs/README.md | 33 +- docs/_build/build.sh | 32 +- docs/_build/htmlproof-brooklyn.sh | 19 + docs/_build/javadoc-overview.html | 21 + docs/_build/make-javadoc.sh | 14 +- docs/_build/tests/jsonball/test_jsonball.md | 2 +- docs/_config.yml | 6 + .../big_examples/global-web-fabric/index.md | 2 +- docs/_extra/big_examples/index.md | 2 +- docs/_extra/big_examples/messaging/index.md | 2 +- .../big_examples/nosql-cassandra/index.md | 2 +- docs/_extra/big_examples/simple-web-cluster.md | 2 +- docs/_extra/big_examples/webcluster.md | 2 +- docs/_extra/big_examples/webcluster/index.md | 2 +- docs/_extra/brooklyn-gpg-public-key.asc | 21 + docs/_extra/deploying-yaml.md | 37 + docs/_extra/list-of-blueprints.md | 2 +- docs/_extra/local-artifact-repo.md | 2 +- docs/_extra/meta/brooklyn-gpg-public-key.asc | 21 - docs/_extra/meta/contact.include.md | 9 - docs/_extra/meta/contact.md | 7 - docs/_extra/meta/irc.md | 31 - docs/_extra/meta/toc.json | 8 - docs/_extra/meta/versions.md | 110 -- docs/_extra/release.md | 2 +- docs/_extra/simple_java_examples/examples.md | 2 +- docs/_extra/standards.md | 15 - docs/_extra/update-docs.md | 2 +- docs/_includes/base-head.html | 4 +- docs/_includes/base-scss.scss | 32 +- docs/_includes/breadcrumbs.html | 71 - docs/_includes/feature-image.html | 4 + docs/_includes/feature-item-end.html | 14 + docs/_includes/feature-item.html | 4 + docs/_includes/footer.html | 6 +- docs/_includes/java_link.html | 18 + docs/_includes/list-children.html | 6 +- docs/_includes/sidebar.html | 77 - docs/_includes/sidemenu.html | 244 +++ docs/_includes/sitemap-item.html | 36 + docs/_includes/topbar.html | 49 - docs/_includes/topmenu.html | 20 +- docs/_layouts/base.html | 156 +- docs/_layouts/guide-base.html | 183 -- docs/_layouts/guide-normal.html | 23 - docs/_layouts/guide-old.html | 65 - docs/_layouts/website-landing.html | 9 +- docs/_layouts/website-normal.html | 61 +- docs/_plugins/brooklyn_jekyll_util.rb | 129 ++ docs/_plugins/brooklyn_metadata.rb | 19 +- docs/_plugins/site_structure.rb | 48 +- docs/guide/concepts/advanced-concepts.md | 2 +- .../concepts/application-parent-membership.md | 2 +- ...ooklyn-flow-websequencediagrams.com-w400.png | Bin 0 -> 58518 bytes .../brooklyn-flow-websequencediagrams.com.png | Bin 0 -> 106928 bytes .../concepts/configuration-sensor-effectors.md | 2 +- docs/guide/concepts/dependent-configuration.md | 2 +- docs/guide/concepts/entities.md | 2 +- docs/guide/concepts/execution.md | 6 +- .../concepts/lifecycle-managementcontext.md | 4 +- docs/guide/concepts/location.md | 2 +- docs/guide/concepts/policies.md | 2 +- docs/guide/dev/code/index.md | 9 +- docs/guide/dev/code/tests.md | 2 +- docs/guide/dev/env/ide/index.md | 5 +- docs/guide/dev/env/index.md | 2 +- docs/guide/dev/env/maven-build.md | 10 +- docs/guide/dev/index.md | 7 + .../guide/dev/tips/debugging-remote-brooklyn.md | 48 +- docs/guide/dev/tips/index.md | 6 +- docs/guide/java/archetype.md | 2 +- docs/guide/java/common-usage.md | 102 +- docs/guide/java/defining-and-deploying.md | 18 +- docs/guide/java/entities.md | 2 +- docs/guide/java/entity.md | 2 +- docs/guide/java/policies.md | 2 +- docs/guide/java/policy.md | 2 +- docs/guide/java/service-state.md | 2 +- ...topology-dependencies-management-policies.md | 2 +- docs/guide/misc/download.md | 18 +- docs/guide/misc/index.md | 2 +- docs/guide/misc/javadoc/index.md | 2 +- docs/guide/misc/known-issues.md | 2 +- docs/guide/misc/release-notes.md | 4 +- docs/guide/ops/brooklyn_properties.md | 175 ++ docs/guide/ops/catalog/index.md | 174 ++ .../guide/ops/catalog/mysql-in-catalog-w700.png | Bin 0 -> 92767 bytes docs/guide/ops/catalog/mysql-in-catalog.png | Bin 0 -> 168831 bytes docs/guide/ops/cli.md | 143 ++ docs/guide/ops/index.md | 8 +- docs/guide/ops/locations/configuring.md | 105 -- docs/guide/ops/locations/index.md | 269 ++- docs/guide/ops/locations/more-locations.md | 55 + docs/guide/ops/locations/ssh-keys.md | 85 + docs/guide/ops/logging.md | 46 + docs/guide/ops/persistence/index.md | 25 +- docs/guide/ops/webconsole/index.md | 399 ----- .../webconsole/webconsole-dashboard-w400.png | Bin 137463 -> 0 bytes .../ops/webconsole/webconsole-dashboard.png | Bin 214723 -> 0 bytes .../ops/webconsole/webconsole-detail-w400.png | Bin 111993 -> 0 bytes docs/guide/ops/webconsole/webconsole-detail.png | Bin 165359 -> 0 bytes docs/guide/start/_my-web-cluster.yaml | 10 +- docs/guide/start/blueprints.md | 72 +- docs/guide/start/config.md | 50 - docs/guide/start/index.md | 3 +- docs/guide/start/managing.md | 28 +- docs/guide/start/policies.md | 21 +- docs/guide/start/running.md | 84 +- ...ooklyn-flow-websequencediagrams.com-w400.png | Bin 58518 -> 0 bytes .../brooklyn-flow-websequencediagrams.com.png | Bin 106928 -> 0 bytes docs/guide/yaml/catalog-maintenance.md | 115 -- docs/guide/yaml/chef/about-chef.md | 2 +- .../yaml/chef/advanced-chef-integration.md | 6 +- docs/guide/yaml/chef/creating-blueprints.md | 2 +- docs/guide/yaml/chef/writing-chef.md | 2 +- docs/guide/yaml/clusters-and-policies.md | 2 +- docs/guide/yaml/clusters.md | 2 +- docs/guide/yaml/configuring-vms.md | 4 +- docs/guide/yaml/creating-yaml.md | 17 +- docs/guide/yaml/custom-entities.md | 2 +- .../vanilla-bash-netcat-w-client.yaml | 14 +- docs/guide/yaml/index.md | 1 - docs/guide/yaml/multiple-services.md | 41 +- docs/guide/yaml/mutlitple-services.md | 100 -- docs/guide/yaml/mysql-in-catalog-w700.png | Bin 92767 -> 0 bytes docs/guide/yaml/mysql-in-catalog.png | Bin 168831 -> 0 bytes docs/guide/yaml/setting-locations.md | 21 +- docs/style/css/_archive_warning.scss | 31 + docs/style/css/_basic.scss | 62 + docs/style/css/_blueprint_tour.scss | 181 ++ docs/style/css/_code_blocks.scss | 98 + docs/style/css/_feature_list.scss | 60 + docs/style/css/_footer.scss | 36 + docs/style/css/_landing.scss | 26 + docs/style/css/_main_container.scss | 84 + docs/style/css/_menu.scss | 201 +++ docs/style/css/_search.scss | 29 + docs/style/css/_tooltips.scss | 14 + docs/style/css/_util.scss | 27 + docs/style/css/base.scss | 307 ---- docs/style/css/guide-toc.css | 88 - docs/style/css/guide.css | 119 -- docs/style/css/javadoc.scss | 119 ++ docs/style/css/website.scss | 20 + docs/style/deps/font-awesome-4.2.0/_LICENSE | 1 + .../font-awesome-4.2.0/css/font-awesome.css | 1672 ++++++++++++++++++ .../font-awesome-4.2.0/css/font-awesome.min.css | 4 + .../font-awesome-4.2.0/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes .../fonts/fontawesome-webfont.svg | 520 ++++++ .../fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes .../less/bordered-pulled.less | 16 + .../deps/font-awesome-4.2.0/less/core.less | 11 + .../font-awesome-4.2.0/less/fixed-width.less | 6 + .../font-awesome-4.2.0/less/font-awesome.less | 17 + .../deps/font-awesome-4.2.0/less/icons.less | 552 ++++++ .../deps/font-awesome-4.2.0/less/larger.less | 13 + .../deps/font-awesome-4.2.0/less/list.less | 19 + .../deps/font-awesome-4.2.0/less/mixins.less | 25 + .../deps/font-awesome-4.2.0/less/path.less | 14 + .../less/rotated-flipped.less | 20 + .../deps/font-awesome-4.2.0/less/spinning.less | 29 + .../deps/font-awesome-4.2.0/less/stacked.less | 20 + .../deps/font-awesome-4.2.0/less/variables.less | 561 ++++++ .../scss/_bordered-pulled.scss | 16 + .../deps/font-awesome-4.2.0/scss/_core.scss | 11 + .../font-awesome-4.2.0/scss/_fixed-width.scss | 6 + .../deps/font-awesome-4.2.0/scss/_icons.scss | 552 ++++++ .../deps/font-awesome-4.2.0/scss/_larger.scss | 13 + .../deps/font-awesome-4.2.0/scss/_list.scss | 19 + .../deps/font-awesome-4.2.0/scss/_mixins.scss | 25 + .../deps/font-awesome-4.2.0/scss/_path.scss | 14 + .../scss/_rotated-flipped.scss | 20 + .../deps/font-awesome-4.2.0/scss/_spinning.scss | 29 + .../deps/font-awesome-4.2.0/scss/_stacked.scss | 20 + .../font-awesome-4.2.0/scss/_variables.scss | 561 ++++++ .../font-awesome-4.2.0/scss/font-awesome.scss | 17 + docs/style/deps/octicons/LICENSE.txt | 9 + docs/style/deps/octicons/README.md | 1 + docs/style/deps/octicons/octicons-local.ttf | Bin 0 -> 52764 bytes docs/style/deps/octicons/octicons.css | 235 +++ docs/style/deps/octicons/octicons.eot | Bin 0 -> 31440 bytes docs/style/deps/octicons/octicons.less | 233 +++ docs/style/deps/octicons/octicons.svg | 198 +++ docs/style/deps/octicons/octicons.ttf | Bin 0 -> 31272 bytes docs/style/deps/octicons/octicons.woff | Bin 0 -> 17492 bytes .../style/deps/octicons/sprockets-octicons.scss | 230 +++ docs/website/community/committers.md | 119 -- docs/website/community/fork-after.png | Bin 134377 -> 0 bytes docs/website/community/fork-before.png | Bin 131674 -> 0 bytes docs/website/community/fork-new.png | Bin 137626 -> 0 bytes docs/website/community/how-to-contribute.md | 90 - docs/website/community/index.md | 107 +- docs/website/community/irc.md | 14 + docs/website/community/links.md | 22 - docs/website/community/mailing-lists.md | 36 + docs/website/community/migrate-to-apache.md | 117 -- docs/website/community/pull-request.png | Bin 94166 -> 0 bytes docs/website/developers/code-standards.md | 14 + docs/website/developers/committers/index.md | 10 + .../committers/merging-contributed-code.md | 118 ++ docs/website/developers/fork-after.png | Bin 0 -> 134377 bytes docs/website/developers/fork-before.png | Bin 0 -> 131674 bytes docs/website/developers/fork-new.png | Bin 0 -> 137626 bytes docs/website/developers/how-to-contribute.md | 109 ++ docs/website/developers/index.md | 42 + docs/website/developers/links.md | 22 + docs/website/developers/pull-request.png | Bin 0 -> 94166 bytes docs/website/documentation/increase-entropy.md | 2 +- docs/website/documentation/index.md | 11 +- docs/website/documentation/install-on-server.md | 25 +- docs/website/documentation/passwordless-ssh.md | 29 - docs/website/documentation/ssh-key.md | 9 - docs/website/documentation/todo.md | 7 - docs/website/download/index.md | 23 +- docs/website/download/verify.md | 69 +- docs/website/index.md | 4 +- docs/website/learnmore/blueprint-tour.md | 191 ++ .../learnmore/features/blueprint-compose.png | Bin 0 -> 15299 bytes .../features/blueprint-machine-specs.png | Bin 0 -> 16214 bytes docs/website/learnmore/features/blueprinting.md | 24 + docs/website/learnmore/features/index.md | 18 + .../learnmore/features/java-hierarchy.png | Bin 0 -> 106962 bytes docs/website/learnmore/features/java.md | 41 + docs/website/learnmore/features/operations.md | 75 + docs/website/learnmore/features/ops-console.png | Bin 0 -> 491417 bytes docs/website/learnmore/features/ops-rest.png | Bin 0 -> 62894 bytes .../learnmore/features/policy-based-mgmt.md | 28 + docs/website/learnmore/index.md | 31 +- docs/website/learnmore/theory.md | 26 +- docs/website/learnmore/yaml-explained.md | 8 - docs/website/meta/sitemap.md | 24 +- docs/website/meta/versions.md | 10 +- 235 files changed, 9782 insertions(+), 2951 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/.gitignore ---------------------------------------------------------------------- diff --git a/docs/.gitignore b/docs/.gitignore index 1311819..3767b72 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,2 +1,3 @@ _site _config_local.yml +.sass-cache http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/README.md ---------------------------------------------------------------------- diff --git a/docs/README.md b/docs/README.md index cfac91c..5d1b386 100644 --- a/docs/README.md +++ b/docs/README.md @@ -218,6 +218,11 @@ using the instructions in `build.sh` as a guide.) A typical update consists of the following commands (or a subset), copied to `${BROOKLYN_SITE_DIR-../../incubator-brooklyn-site-public}`: + # ensure svn repo is up-to-date (very painful otherwise) + cd ${BROOKLYN_SITE_DIR-../../incubator-brooklyn-site-public} + svn up + cd - + # main website, relative to / _build/build.sh website-root --install @@ -262,34 +267,16 @@ We use some custom Jekyll plugins, in the `_plugins` dir: * include markdown files inside other files (see, for example, the `*.include.md` files which contain text which is used in multiple other files) -* parse JSON which we can loop over in our markdown docs (to do the TOC in the `guide`) -* generate the site structure (for the `website`) +* generate the site structure / menu objects +* parse JSON which we can loop over in our markdown docs (to build up models; previously used + for the TOC in the guide, but now replaced with site_structure) * trim whitespace of ends of variables -# Guide ToC - -In the `guide`, JSON table-of-contents files (toc.json) are our lightweight solution to the -problem of making the site structure navigable (the menus at left). -If you add a page, simply add the file and a title to the `toc.json` in that directory -and it will get included in the menu. - -You can also configure a special toc to show on your page, if you wish, by setting the toc variable in the header. -Most pages declare the `guide-normal` layout (in `_layouts/`) which builds a menu in the left side-bar -(`_includes/sidebar.html`) using the JSON, automatically detecting which page is active. - - -# Website ToC - -The `website` follows a different, simpler pattern, using the `site-structure` plugin -and front-matter in each page. When adding a page, simply add the relevant front matter -in the page(s) which refer to them. - - # Versions Archived versions are kept under `/v/` in the website. New versions should be added with -the appropriate directory (`guide-version` above will do this). These versions take their -own copy of the `style` files so that changes there will not affect future versions. +the appropriate directory (`_build/build.sh guide-version` above will do this). +These versions take their own copy of the `style` files so that changes there will not affect future versions. A list of available versions is in `website/meta/versions.md`. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_build/build.sh ---------------------------------------------------------------------- diff --git a/docs/_build/build.sh b/docs/_build/build.sh index eba49dd..7af75cf 100755 --- a/docs/_build/build.sh +++ b/docs/_build/build.sh @@ -32,7 +32,8 @@ function help() { echo "* --quick-javadoc : to do a quick javadoc build (for testing)" echo "* --serve : serve files from _site after building (for testing)" echo "* --install : install files from _site to the appropriate place in "'$'"BROOKLYN_SITE_DIR (or ../../incubator-brooklyn-site-public)" - echo "* --skip-test : skip the HTML Proof run on _site" + echo "* --skip-htmlproof : skip the HTML Proof run on _site" + echo "* --quick-htmlproof : do a fast HTML Proof run on _site (not checking external links)" echo "" } @@ -43,6 +44,7 @@ function parse_mode() { exit 0 ;; website-root) JEKYLL_CONFIG=_config.yml,_build/config-production.yml,_build/config-exclude-guide.yml,_build/config-website-root.yml + STYLE_SUBDIR=style DIRS_TO_MOVE[0]=website DIRS_TO_MOVE_TARGET[0]="" SKIP_JAVADOC=true @@ -55,7 +57,8 @@ function parse_mode() { DIRS_TO_MOVE[0]=guide DIRS_TO_MOVE_TARGET[0]=v/latest DIRS_TO_MOVE[1]=style - DIRS_TO_MOVE_TARGET[1]=v/latest/style + STYLE_SUBDIR=${DIRS_TO_MOVE_TARGET[0]}/style + DIRS_TO_MOVE_TARGET[1]=$STYLE_SUBDIR INSTALL_RSYNC_OPTIONS="" INSTALL_RSYNC_SUBDIR=${DIRS_TO_MOVE_TARGET[0]}/ JAVADOC_TARGET=${DIRS_TO_MOVE_TARGET[0]}/$JAVADOC_SUBPATH/ @@ -68,7 +71,8 @@ function parse_mode() { # BROOKLYN_VERSION_BELOW DIRS_TO_MOVE_TARGET[0]=v/0.7.0-M2-incubating DIRS_TO_MOVE[1]=style - DIRS_TO_MOVE_TARGET[1]=${DIRS_TO_MOVE_TARGET[0]}/style + STYLE_SUBDIR=${DIRS_TO_MOVE_TARGET[0]}/style + DIRS_TO_MOVE_TARGET[1]=$STYLE_SUBDIR INSTALL_RSYNC_OPTIONS="" INSTALL_RSYNC_SUBDIR=${DIRS_TO_MOVE_TARGET[0]}/ JAVADOC_TARGET=${DIRS_TO_MOVE_TARGET[0]}/$JAVADOC_SUBPATH/ @@ -78,6 +82,7 @@ function parse_mode() { JEKYLL_CONFIG=_config.yml,_build/config-production.yml,_build/config-exclude-all-but-guide.yml,_build/config-guide-root.yml DIRS_TO_MOVE[0]=guide DIRS_TO_MOVE_TARGET[0]="" + STYLE_SUBDIR=style JAVADOC_TARGET=$JAVADOC_SUBPATH/ SUMMARY="user guide files in the root" ;; @@ -87,6 +92,7 @@ function parse_mode() { DIRS_TO_MOVE_TARGET[0]=v/latest DIRS_TO_MOVE[1]=website DIRS_TO_MOVE_TARGET[1]="" + STYLE_SUBDIR=style JAVADOC_TARGET=${DIRS_TO_MOVE_TARGET[0]}/$JAVADOC_SUBPATH/ SUMMARY="all files, website in root and guide in /${DIRS_TO_MOVE_TARGET[0]}" ;; @@ -97,12 +103,14 @@ function parse_mode() { DIRS_TO_MOVE[1]=website DIRS_TO_MOVE_TARGET[1]=brooklyn DIRS_TO_MOVE[2]=style - DIRS_TO_MOVE_TARGET[2]=brooklyn/style + STYLE_SUBDIR=${DIRS_TO_MOVE_TARGET[1]}/style + DIRS_TO_MOVE_TARGET[2]=$STYLE_SUBDIR JAVADOC_TARGET=${DIRS_TO_MOVE_TARGET[0]}/$JAVADOC_SUBPATH/ SUMMARY="all files in /brooklyn" ;; original) JEKYLL_CONFIG=_config.yml,_build/config-production.yml + STYLE_SUBDIR=style SUMMARY="all files in their original place" ;; "") @@ -134,10 +142,14 @@ function parse_arguments() { INSTALL_AFTERWARDS=true shift ;; - "--skip-test") + "--skip-htmlproof") SKIP_TEST=true shift ;; + "--quick-htmlproof") + QUICK_TEST=true + shift + ;; *) echo "ERROR: invalid argument '"$1"'" exit 1 @@ -153,8 +165,12 @@ function test_site() { fi echo "Running htmlproof on _site" mkdir -p target - LOG="target/htmlproof.log" - htmlproof _site --href_ignore "https?://127.*" --alt_ignore ".*" 2>&1 | tee $LOG + LOG="_build/target/htmlproof.log" + HTMLPROOF_OPTS="" + if [ "$QUICK_TEST" == "true" ]; then + HTMLPROOF_OPTS="$HTMLPROOF_OPTS --disable_external" + fi + _build/htmlproof-brooklyn.sh $HTMLPROOF_OPTS 2>&1 | tee $LOG } function make_jekyll() { @@ -192,6 +208,8 @@ function make_javadoc() { return 1 fi mv _build/target/$JAVADOC_BUILD_TARGET_SUBPATH/* _site/$JAVADOC_TARGET + cat _site/${STYLE_SUBDIR}/css/javadoc.css >> _site/$JAVADOC_TARGET/stylesheet.css || return 1 + cp _site/${STYLE_SUBDIR}/img/feather.png _site/$JAVADOC_TARGET/ || return 1 fi } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_build/htmlproof-brooklyn.sh ---------------------------------------------------------------------- diff --git a/docs/_build/htmlproof-brooklyn.sh b/docs/_build/htmlproof-brooklyn.sh new file mode 100755 index 0000000..ae07065 --- /dev/null +++ b/docs/_build/htmlproof-brooklyn.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env ruby_executable_hooks + +# supports --disable_external + +require 'html/proofer' + +HTML::Proofer.new("./_site", { + :href_ignore => [ + /https?:\/\/127.*/, + /https?:\/\/github.com\/apache\/incubator-brooklyn\/edit.*/, + ], + :alt_ignore => [/.*/], + # don't scan javadoc files (too many errors) + # or autogen catalog items (their style files are wrong in some modes; reinstate when cleaner) + :disable_external => (ARGV.include? "--disable_external"), + :file_ignore => [ /.*\/(javadoc|apidoc|learnmore\/catalog)\/.*/ ] + # bug - must do above - see https://github.com/gjtorikian/html-proofer/issues/145 +# :file_ignore => [ /.*\/javadoc\/.*/, /.*\/learnmore\/catalog\/.*/ ] + }).run http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_build/javadoc-overview.html ---------------------------------------------------------------------- diff --git a/docs/_build/javadoc-overview.html b/docs/_build/javadoc-overview.html new file mode 100644 index 0000000..a429ea3 --- /dev/null +++ b/docs/_build/javadoc-overview.html @@ -0,0 +1,21 @@ +<html><body> + +<!-- BROOKLYN_VERSION --> +Javadoc for <a href="http://brooklyn.io"> Apache Brooklyn</a> 0.7.0-SNAPSHOT + +<p> + Apache Brooklyn is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the + Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the + infrastructure, communications, and decision making process have stabilized in a manner consistent with other + successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of + the code, it does indicate that the project has yet to be fully endorsed by the ASF. +</p> +<p> + Apache Brooklyn is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a>. +</p> + +<p> +This is the Javadoc for v 0.7.0-SNAPSHOT (git SHA1 hash ${SHA1STAMP}) auto-generated on ${DATESTAMP}. +</p> + +</body><html> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_build/make-javadoc.sh ---------------------------------------------------------------------- diff --git a/docs/_build/make-javadoc.sh b/docs/_build/make-javadoc.sh index 4547a2a..4ec96a9 100755 --- a/docs/_build/make-javadoc.sh +++ b/docs/_build/make-javadoc.sh @@ -19,7 +19,9 @@ fi mkdir -p target rm -rf target/$JAVADOC_TARGET1_SUBPATH/ +export YEARSTAMP=`date "+%Y"` export DATESTAMP=`date "+%Y-%m-%d"` +export SHA1STAMP=`git rev-parse HEAD` # BROOKLYN_VERSION_BELOW export BROOKLYN_JAVADOC_CLASSPATH=../../usage/all/target/brooklyn-all-0.7.0-M2-incubating-with-dependencies.jar @@ -40,8 +42,10 @@ javadoc -sourcepath $SOURCE_PATHS \ -classpath "${BROOKLYN_JAVADOC_CLASSPATH}" \ -doctitle "Apache Brooklyn" \ -windowtitle "Apache Brooklyn" \ - -header "Apache Brooklyn" \ - -footer '<b>Apache Brooklyn - Multi-Cloud Application Management</b> <br/> <a href="http://brooklyn.io/" target="_top">brooklyn.io</a>. Apache License. © '$DATESTAMP'.' \ + -notimestamp \ + -overview javadoc-overview.html \ + -header '<a href="/" class="brooklyn-header">Apache Brooklyn <div class="img"></div></a>' \ + -footer '<b>Apache Brooklyn - Multi-Cloud Application Management</b> <br/> <a href="http://brooklyn.io/" target="_top">brooklyn.io</a>. Apache License. © '$YEARSTAMP'.' \ 2>&1 1>/dev/null | tee target/javadoc.log if ((${PIPESTATUS[0]})) ; then echo ; echo ; echo "ERROR: javadoc process exited non-zero" ; exit 1 ; fi @@ -51,7 +55,11 @@ if [ ! -f target/$JAVADOC_TARGET1_SUBPATH/brooklyn/entity/Entity.html ]; then ec if [ ! -z "`grep warnings target/javadoc.log`" ] ; then echo "WARNINGs occurred during javadoc build. See target/javadoc.log for more information." ; fi -if [ -d ../_site/guide/$$JAVADOC_TARGET2_SUBPATH/ ] ; then +sed -i.bak s/'${DATESTAMP}'/"${DATESTAMP}"/ target/$JAVADOC_TARGET1_SUBPATH/overview-summary.html +sed -i.bak s/'${SHA1STAMP}'/"${SHA1STAMP}"/ target/$JAVADOC_TARGET1_SUBPATH/overview-summary.html +rm target/$JAVADOC_TARGET1_SUBPATH/*.bak + +if [ -d ../_site/guide/$JAVADOC_TARGET2_SUBPATH/ ] ; then echo "API directory detected in test structure _site, copying docs there so they can be served with serve-site.sh" cp -r target/$JAVADOC_TARGET1_SUBPATH/* ../_site/guide/$JAVADOC_TARGET2_SUBPATH/ fi http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_build/tests/jsonball/test_jsonball.md ---------------------------------------------------------------------- diff --git a/docs/_build/tests/jsonball/test_jsonball.md b/docs/_build/tests/jsonball/test_jsonball.md index ba66858..1dcc572 100644 --- a/docs/_build/tests/jsonball/test_jsonball.md +++ b/docs/_build/tests/jsonball/test_jsonball.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Test Jsonball --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_config.yml ---------------------------------------------------------------------- diff --git a/docs/_config.yml b/docs/_config.yml index 590ca30..85bc495 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -41,6 +41,12 @@ root_menu_page: /website/index.md # These files should not be included in the final build (in addition to _* contents) exclude: ['/Gemfile*','/README.md'] +sass: + sass_dir: style/css + +# used for the "verify" page +brooklyn-stable-versions: [ 0.7.0-M2-incubating ] + brooklyn-stable-version: 0.7.0-M2-incubating brooklyn-version: 0.7.0-M2-incubating # BROOKLYN_VERSION http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/global-web-fabric/index.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/global-web-fabric/index.md b/docs/_extra/big_examples/global-web-fabric/index.md index b59eae0..37c7bf6 100644 --- a/docs/_extra/big_examples/global-web-fabric/index.md +++ b/docs/_extra/big_examples/global-web-fabric/index.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Global Web Fabric toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/index.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/index.md b/docs/_extra/big_examples/index.md index f55643f..b5789a3 100644 --- a/docs/_extra/big_examples/index.md +++ b/docs/_extra/big_examples/index.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Examples toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/messaging/index.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/messaging/index.md b/docs/_extra/big_examples/messaging/index.md index c3c2254..f33cecc 100644 --- a/docs/_extra/big_examples/messaging/index.md +++ b/docs/_extra/big_examples/messaging/index.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Publish-Subscribe Messagiung toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/nosql-cassandra/index.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/nosql-cassandra/index.md b/docs/_extra/big_examples/nosql-cassandra/index.md index 88c1dce..7e7948e 100644 --- a/docs/_extra/big_examples/nosql-cassandra/index.md +++ b/docs/_extra/big_examples/nosql-cassandra/index.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Cassandra Clusters toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/simple-web-cluster.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/simple-web-cluster.md b/docs/_extra/big_examples/simple-web-cluster.md index cd2b659..2b08a37 100644 --- a/docs/_extra/big_examples/simple-web-cluster.md +++ b/docs/_extra/big_examples/simple-web-cluster.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Elastic Web Cluster toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/webcluster.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/webcluster.md b/docs/_extra/big_examples/webcluster.md index cd2b659..2b08a37 100644 --- a/docs/_extra/big_examples/webcluster.md +++ b/docs/_extra/big_examples/webcluster.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Elastic Web Cluster toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/big_examples/webcluster/index.md ---------------------------------------------------------------------- diff --git a/docs/_extra/big_examples/webcluster/index.md b/docs/_extra/big_examples/webcluster/index.md index 1fd80dd..99c6b36 100644 --- a/docs/_extra/big_examples/webcluster/index.md +++ b/docs/_extra/big_examples/webcluster/index.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Elastic Web Cluster toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/brooklyn-gpg-public-key.asc ---------------------------------------------------------------------- diff --git a/docs/_extra/brooklyn-gpg-public-key.asc b/docs/_extra/brooklyn-gpg-public-key.asc new file mode 100644 index 0000000..3b515a4 --- /dev/null +++ b/docs/_extra/brooklyn-gpg-public-key.asc @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG/MacGPG2 v2.0.18 (Darwin) +Comment: GPGTools - http://gpgtools.org + +mQENBFDsSLEBCAC2JxQHeXpL3oGN2IickcG9C49gkxIsws4hpasQModVipezrQi0 +9pLq4lkB01GgC2sfPH+XXE8rCpA9EL0e4wVA7JICz5AsLZAAJH91tKksL20tLMeU +Yrbufaq1ga7ifk3JWhF4iwvkDMBKyCjrF173nI+2TwX2XfNTQpzoQGOL1bNvS4NZ +AD9JeXGW2D996zHdSK+x3wVdY3cDECvVMuw61+5ytZrGNnyvaaWTl3lJUyydPXHQ +5TXVtbQH5WgYCLPr4E95axJ0BoY8H+fEaG1Uax1a+xLumVWhiWNp7rMvmgcZXuJO +fx+wXAIbRNlAHoJcdZ4NCReRxDIBQ+2HsU1zABEBAAG0bUJyb29rbHluIFByb2pl +Y3QgKGJyb29rbHluLmlvKSAoS2V5IHVzZWQgdG8gYXV0aGVudGljYXRlIEJyb29r +bHluIGFydGlmYWN0cykgPGJyb29rbHluLWRldkBncm91cHMuZ29vZ2xlLmNvbT6J +AT8EEwECACkFAlDsSLECGy8FCQeGH4AHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIX +gAAKCRANhinnSRLCsOdIB/4tUVShup2NHXJ9acCah8TuEN4GmN9dBiD9YsGW66SR +/ptY0Gn9XExl2wbmQW+7TQg3QUGv8uffwYLtnMwnmCp/WwgE+uSnRmcENxa9GuTu +PLlURKKGK0C9ljTAHwXtPcIYxPNN3BT4VB56ME1DTBRCgEvudaNSANs8/kT88kE2 +eMC7x0Uo3/P38Ob8XSOfR8c6G6nSz6jILcRBXZTPNNK4svyqF5XHIru65d3/0+mr +bpfcDLcUQYms0MpPmO1RCHLZWwJLsPUIxNwGGnKJc8/RNEvQinK+Ap0cf+PGUQSX +PhB6Z81ROFIVToEVZslgSiL+u4Tc7zXDfDQDY4HeLY2t +=w/CG +-----END PGP PUBLIC KEY BLOCK----- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/deploying-yaml.md ---------------------------------------------------------------------- diff --git a/docs/_extra/deploying-yaml.md b/docs/_extra/deploying-yaml.md new file mode 100644 index 0000000..265f496 --- /dev/null +++ b/docs/_extra/deploying-yaml.md @@ -0,0 +1,37 @@ +--- +title: Deploying YAML Blueprints +layout: page +toc: ../guide_toc.json +categories: [use, guide, defining-applications] +--- + +Once you've [written a YAML blueprint](creating-yaml.md), there are several ways to deploy it. +These insructions assume you have [installed]({{ site.url }}/use/guide/quickstart/) Brooklyn. +You can then: + +- Supply the YAML blueprint file on the CLI when launching the server: + +{% highlight bash %} +$ brooklyn launch --app ./blueprint.yaml +{% endhighlight %} + + +Or, assuming you've launched a server already +(usually on [http://127.0.0.1/](http://127.0.0.1/) unless you've +configured security in [`brooklyn.properties`](/use/guide/quickstart/brooklyn.properties)), +you can: + +- Curl it to the Brooklyn REST API: + +{% highlight bash %} +$ curl -T ./blueprint.yaml -X POST http://localhost:8081/v1/applications +{% endhighlight %} + + +- In the web-console, select the "YAML" tab in the "Add Application" wizard: + +[](web-console-yaml.png) + + +- The web-console also has an interactive "REST API" page, + where you can paste the YAML for uploading into the `POST` to `/v1/applications`. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/list-of-blueprints.md ---------------------------------------------------------------------- diff --git a/docs/_extra/list-of-blueprints.md b/docs/_extra/list-of-blueprints.md index 7136dd1..95a602c 100644 --- a/docs/_extra/list-of-blueprints.md +++ b/docs/_extra/list-of-blueprints.md @@ -1,6 +1,6 @@ --- title: Systems Available Out-of-the-Box -layout: guide-normal +layout: website-normal toc: ../guide_toc.json categories: [use, guide] --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/local-artifact-repo.md ---------------------------------------------------------------------- diff --git a/docs/_extra/local-artifact-repo.md b/docs/_extra/local-artifact-repo.md index 455a545..2fd777b 100644 --- a/docs/_extra/local-artifact-repo.md +++ b/docs/_extra/local-artifact-repo.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Prepopulating a Local Artifact Repository toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/meta/brooklyn-gpg-public-key.asc ---------------------------------------------------------------------- diff --git a/docs/_extra/meta/brooklyn-gpg-public-key.asc b/docs/_extra/meta/brooklyn-gpg-public-key.asc deleted file mode 100644 index 3b515a4..0000000 --- a/docs/_extra/meta/brooklyn-gpg-public-key.asc +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG/MacGPG2 v2.0.18 (Darwin) -Comment: GPGTools - http://gpgtools.org - -mQENBFDsSLEBCAC2JxQHeXpL3oGN2IickcG9C49gkxIsws4hpasQModVipezrQi0 -9pLq4lkB01GgC2sfPH+XXE8rCpA9EL0e4wVA7JICz5AsLZAAJH91tKksL20tLMeU -Yrbufaq1ga7ifk3JWhF4iwvkDMBKyCjrF173nI+2TwX2XfNTQpzoQGOL1bNvS4NZ -AD9JeXGW2D996zHdSK+x3wVdY3cDECvVMuw61+5ytZrGNnyvaaWTl3lJUyydPXHQ -5TXVtbQH5WgYCLPr4E95axJ0BoY8H+fEaG1Uax1a+xLumVWhiWNp7rMvmgcZXuJO -fx+wXAIbRNlAHoJcdZ4NCReRxDIBQ+2HsU1zABEBAAG0bUJyb29rbHluIFByb2pl -Y3QgKGJyb29rbHluLmlvKSAoS2V5IHVzZWQgdG8gYXV0aGVudGljYXRlIEJyb29r -bHluIGFydGlmYWN0cykgPGJyb29rbHluLWRldkBncm91cHMuZ29vZ2xlLmNvbT6J -AT8EEwECACkFAlDsSLECGy8FCQeGH4AHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIX -gAAKCRANhinnSRLCsOdIB/4tUVShup2NHXJ9acCah8TuEN4GmN9dBiD9YsGW66SR -/ptY0Gn9XExl2wbmQW+7TQg3QUGv8uffwYLtnMwnmCp/WwgE+uSnRmcENxa9GuTu -PLlURKKGK0C9ljTAHwXtPcIYxPNN3BT4VB56ME1DTBRCgEvudaNSANs8/kT88kE2 -eMC7x0Uo3/P38Ob8XSOfR8c6G6nSz6jILcRBXZTPNNK4svyqF5XHIru65d3/0+mr -bpfcDLcUQYms0MpPmO1RCHLZWwJLsPUIxNwGGnKJc8/RNEvQinK+Ap0cf+PGUQSX -PhB6Z81ROFIVToEVZslgSiL+u4Tc7zXDfDQDY4HeLY2t -=w/CG ------END PGP PUBLIC KEY BLOCK----- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/meta/contact.include.md ---------------------------------------------------------------------- diff --git a/docs/_extra/meta/contact.include.md b/docs/_extra/meta/contact.include.md deleted file mode 100644 index e0d1e4b..0000000 --- a/docs/_extra/meta/contact.include.md +++ /dev/null @@ -1,9 +0,0 @@ - -Contact us on the [brooklyn mailing list](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/). - -Additionally look for us on: - -* **IRC**: #brooklyncentral ([IRC??](/meta/irc.html)) -* **Twitter**: @brooklyncentral #brooklyncentral - -We'd love to hear from you! http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/meta/contact.md ---------------------------------------------------------------------- diff --git a/docs/_extra/meta/contact.md b/docs/_extra/meta/contact.md deleted file mode 100644 index c318a1f..0000000 --- a/docs/_extra/meta/contact.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: guide-normal -title: Contact -toc: /guide/toc.json ---- - -{% readj contact.include.md %} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/meta/irc.md ---------------------------------------------------------------------- diff --git a/docs/_extra/meta/irc.md b/docs/_extra/meta/irc.md deleted file mode 100644 index 9324bd2..0000000 --- a/docs/_extra/meta/irc.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: guide-normal -title: IRC -toc: /guide/toc.json ---- - -IRC is a basic group chat system used by many open source projects to enable developers to -collaborate and to help users communicate and support each other. Brooklyn has an IRC -channel where users and developers hang out. - -## Getting Help On IRC - -When you connect to the Brooklyn IRC channel, say Hi and then ask your question. It may -take a little while for someone to see and respond to your question. (Be -patient if you don't get an instant answer - unless there's already a conversation -happening folk will probably not have their eyes on the channel.) - -You may want to do other things while you wait, like reviewing the [brooklyn mailing list](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/) -lists to see if anyone has had the same issue before. - -## Brooklyn IRC Channel - -* **IRC Server:** irc.freenode.net -* **Channel/Room:** #brooklyncentral -* **Port:** 6667 (Default) - -If you are new to IRC, there is a web interface at [webchat.freenode.net](http://webchat.freenode.net/?channels=brooklyncentral) -but you may prefer to checkout the [Wikipedia IRC article](http://en.wikipedia.org/wiki/IRC#Client_software) -for an IRC application. - -You can find more information about using IRC at [irchelp.org](http://www.irchelp.org/). http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/meta/toc.json ---------------------------------------------------------------------- diff --git a/docs/_extra/meta/toc.json b/docs/_extra/meta/toc.json deleted file mode 100644 index f01fa8e..0000000 --- a/docs/_extra/meta/toc.json +++ /dev/null @@ -1,8 +0,0 @@ -[ -{ "title": "Versions", - "file": "{{ site.path.guide }}/meta/versions.html" }, -{ "title": "Verify", - "file": "{{ site.path.guide }}/meta/verify.html" }, -{ "title": "Contact", - "file": "{{ site.path.guide }}/meta/contact.html" } -] http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/meta/versions.md ---------------------------------------------------------------------- diff --git a/docs/_extra/meta/versions.md b/docs/_extra/meta/versions.md deleted file mode 100644 index 57e64a4..0000000 --- a/docs/_extra/meta/versions.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -layout: guide-normal -title: Versions -toc: /guide/toc.json ---- - -<!--- display which version we are using, based on where it is written --> - -### Brooklyn v{{ site.brooklyn-stable-version }} - - -{% if site.server %} -> **Server (debug) mode detected.** - -> *Links to other versions on this page and others will likely not work when running in server/debug mode. -Files must be copied to the brooklyncentral.github.com repo for these links to resolve correctly.* - -> *Debug page generated {{ site.time }}* -{% endif %} - - -{% if site.brooklyn-version contains 'SNAPSHOT' %} -<!--- snapshot version --> - - {% if site.path.guide == '' %} - -<!--- current version (served off root of site) is snapshot (unusual) --> - -This is the documentation for the current snapshot version of Brooklyn, -generated {{ site.time | date_to_string }}. - - {% else %} - -<!--- archive docs --> - -This is the documentation for a snapshot version of Brooklyn, -generated {{ site.time | date_to_string }}. - -[View current documentation here.](/meta/versions.html) - - - {% endif %} - -NB: "Snapshot" means it is the code at a point in time, -and that a reference to this version {{ site.brooklyn-version }} -may resolve to different code at a different point in time. -Where possible it is preferable to develop against a GA version -rather than a shapshot. - -{% else %} -<!--- not snapshot --> - - {% if site.path.guide == '' %} - -<!--- current version (served off root of site) --> - -This is the documentation for the latest stable version of Brooklyn, -generated {{ site.time | date_to_string }}. -Other versions with documentation available are listed below. - - {% else %} - -<!--- archive version --> - -This is the archived documentation for Brooklyn {{ site.brooklyn-version }} -(generated {{ site.time }}, archived under {{ site.path.guide }}). - -[View current documentation here.](/meta/versions.html) - - {% endif %} -{% endif %} - - -### Version History - -* **[0.7.0-SNAPSHOT (master)](/v/0.7.0-SNAPSHOT)**: since 0.6.0, lots of work on yaml, persistence, policies, and more supported systems - -* **[0.7.0](/v/0.7.0-M1/)**: most recent milestone release - -* **[0.6.0](/v/0.6.0/)**: use of spec objects, chef and windows support, more clouds (Nov 2013) - -* **[0.5.0](/v/0.5.0/)**: includes new JS GUI and REST API, rebind/persistence support, cleaner model and naming conventions, more entities (May 2013) - -* **[0.4.0](/v/0.4.0/)**: initial public GA release of Brooklyn to Maven Central, supporting wide range of entities and examples (Jan 2013) - -Note: To prevent accidentally referring to out-of-date information, -a banner is displayed when accessing specific versions from the archive. -You may -<a href="#" onclick="set_user_versions_all();">disable all warnings</a> or -<a href="#" onclick="clear_user_versions();">re-enable all warnings</a>. - - -### Versioning - -Brooklyn uses the [semantic versioning](http://semver.org/) guidelines. Releases will be numbered with the following format: - -`Brooklyn <major>.<minor>.<patch>` - -Breaking backward compatibility increments the `<major>` version. -New additions without breaking backward compatibility ups the `<minor>` version. -Bug fixes and misc changes bumps the `<patch>` version. -New major and minor releases zero the less significant counters. - -Additionally, Brooklyn's release process include Snapshots, Milestones and Release Candidates. - -A Snapshot (`-SNAPSHOT`) is the bleeding edge. This will not be stable. - -Milestone versions (`-Mn`) are frozen snapshots. Some code features may be stable, but the documentation and examples may not be complete. - -A Release Candidate (`-rc.n`) is a just-about-ready version. Release candidates are tested against our acceptance criteria, and qualifying builds are promoted as final. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/release.md ---------------------------------------------------------------------- diff --git a/docs/_extra/release.md b/docs/_extra/release.md index 66f730b..656412c 100644 --- a/docs/_extra/release.md +++ b/docs/_extra/release.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Release Process toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/simple_java_examples/examples.md ---------------------------------------------------------------------- diff --git a/docs/_extra/simple_java_examples/examples.md b/docs/_extra/simple_java_examples/examples.md index 851d12b..1d53ea1 100644 --- a/docs/_extra/simple_java_examples/examples.md +++ b/docs/_extra/simple_java_examples/examples.md @@ -1,6 +1,6 @@ --- title: Examples -layout: guide-normal +layout: website-normal toc: ../guide_toc.json categories: [use, guide, defining-applications] --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/standards.md ---------------------------------------------------------------------- diff --git a/docs/_extra/standards.md b/docs/_extra/standards.md deleted file mode 100644 index 66b77b0..0000000 --- a/docs/_extra/standards.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: guide-normal -title: Code Standards -toc: /guide/toc.json ---- - -Without being too restrictive about how you have to code as part of Brooklyn, -there are some style points that really make life easier when sharing code -among ourselves: - -* Use spaces (not tabs!) with 4 spaces indentation -* Keep line length <=128 -* Don't reformat code or organize imports unless there's very good - reason (this makes history and merges much harder) - http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_extra/update-docs.md ---------------------------------------------------------------------- diff --git a/docs/_extra/update-docs.md b/docs/_extra/update-docs.md index ccb573e..5abb056 100644 --- a/docs/_extra/update-docs.md +++ b/docs/_extra/update-docs.md @@ -1,5 +1,5 @@ --- -layout: guide-normal +layout: website-normal title: Updating the Docs toc: /guide/toc.json --- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/base-head.html ---------------------------------------------------------------------- diff --git a/docs/_includes/base-head.html b/docs/_includes/base-head.html index ed15d08..dc1d31f 100644 --- a/docs/_includes/base-head.html +++ b/docs/_includes/base-head.html @@ -5,11 +5,13 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="{% dependency_url bootstrap.css %}" rel="stylesheet"> +<link href="{{site.path.style}}/deps/octicons/octicons.css" rel="stylesheet"> <link href="{{site.path.style}}/deps/bootstrap-theme.css" rel="stylesheet"> <link rel="stylesheet" href="{{ site.path.style }}/css/code.css" type="text/css" media="screen" /> -<link href="{{site.path.style}}/css/base.css" rel="stylesheet"> +<link href="{{site.path.style}}/css/website.css" rel="stylesheet"> <script src="{% dependency_url jquery.js %}"></script> <script src="{% dependency_url bootstrap.js %}"></script> +<script type="text/javascript" src="{{ site.path.style }}/deps/jquery.cookie.js"></script> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/base-scss.scss ---------------------------------------------------------------------- diff --git a/docs/_includes/base-scss.scss b/docs/_includes/base-scss.scss index 85ab671..aec3e2f 100644 --- a/docs/_includes/base-scss.scss +++ b/docs/_includes/base-scss.scss @@ -1,10 +1,36 @@ -$text_color: #393939; +$fonts: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; +$header_fonts: Avenir, $fonts; + +// colors /* this green is approx what is in the logo (taken from image picker) */ $brooklyn_green: #6db34b; +$bootstrap_theme_green_gradient_upper: #5cb85c; +$bootstrap_theme_green_gradient_lower: #48a648; +$vibrant_bg_green: $bootstrap_theme_green_gradient_lower; +$vibrant_fg_green: #483; + +$white_fa: #fafafa; +$white_f5: #f5f5f5; +$white_ee: #eee; +$white_dd: #ddd; // for borders and tooltip bg +$gray_aa: #aaa; +$gray_88: #888; +$gray_66: #666; + +$blackish: #393939; + +$bootstrap_blue_border: #428bca; -$a_color: #483; +// roles for colors + +$text_color: $blackish; + +$a_color: $vibrant_fg_green; $a_hover_color: $brooklyn_green; -$code_bg_color: #e8eded; \ No newline at end of file +//$code_bg_color: #e8eded; +$code_bg_color: $white_f5; + +$footer_icon_gray: $gray_88; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/breadcrumbs.html ---------------------------------------------------------------------- diff --git a/docs/_includes/breadcrumbs.html b/docs/_includes/breadcrumbs.html deleted file mode 100644 index d3bcbea..0000000 --- a/docs/_includes/breadcrumbs.html +++ /dev/null @@ -1,71 +0,0 @@ - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you 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. ---> - -{% if page.toc %} - {% assign p = page.toc %} -{% else %} - {% assign p = 'toc.json' %} -{% endif %} -{% capture toc_string %}{% readj p %}{% endcapture %} -{% jsonball toc from var toc_string %} - -{% capture pagesiteurl %}{{ page.url }}{% endcapture %} - -{% for x in toc %} - {% if pagesiteurl == x.file %} - {% capture l1name %}{{ x.title }}{% endcapture %} - {% capture l1link %}{{ x.file }}{% endcapture %} - {% endif %} - {% if x.children %}{% for x2 in x.children %} - {% if pagesiteurl == x2.file %} - {% capture l1name %}{{ x.title }}{% endcapture %} - {% capture l1link %}{{ x.file }}{% endcapture %} - {% capture l2name %}{{ x2.title }}{% endcapture %} - {% capture l2link %}{{ x2.file }}{% endcapture %} - {% endif %} - {% if x2.children %}{% for x3 in x2.children %} - {% if pagesiteurl == x3.file %} - {% capture l1name %}{{ x.title }}{% endcapture %} - {% capture l1link %}{{ x.file }}{% endcapture %} - {% capture l2name %}{{ x2.title }}{% endcapture %} - {% capture l2link %}{{ x2.file }}{% endcapture %} - {% capture l3name %}{{ x3.title }}{% endcapture %} - {% capture l3link %}{{ x3.file }}{% endcapture %} - {% endif %} - {% endfor %}{% endif %} - {% endfor %}{% endif %} -{% endfor %} - -{% if l1name %}{% else %} - {% capture l1name %}Home{% endcapture %} - {% capture l1link %}{{ site.todo_page }}{% endcapture %} - {% capture l2name %}{{ page.title }}{% endcapture %} - {% capture l2link %}{{ pagesiteurl }}{% endcapture %} -{% endif %} - -<p id="breadcrumb"> - <a href="{{l1link}}">{{ l1name }}</a> - {% if l2name %} - » <a href="{{l2link}}">{{l2name}}</a> - {% if l3name %} - » <a href="{{l3link}}">{{l3name}}</a> - {% endif %} - {% endif %} -</p> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/feature-image.html ---------------------------------------------------------------------- diff --git a/docs/_includes/feature-image.html b/docs/_includes/feature-image.html new file mode 100644 index 0000000..89bedcd --- /dev/null +++ b/docs/_includes/feature-image.html @@ -0,0 +1,4 @@ + +<div class="feature-image"> + <img src="{{ include.src }}"/> +</div> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/feature-item-end.html ---------------------------------------------------------------------- diff --git a/docs/_includes/feature-item-end.html b/docs/_includes/feature-item-end.html new file mode 100644 index 0000000..f208df5 --- /dev/null +++ b/docs/_includes/feature-item-end.html @@ -0,0 +1,14 @@ + +{% if include.img %} +{% comment %} + does not work to do: { % include feature-image.html src='{{ include.img }}' % } + so we repeat that snippet :( +{% endcomment %} + +<div class="feature-image"> + <img src="{{ include.img }}"/> +</div> + +{% endif %} + +</div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/feature-item.html ---------------------------------------------------------------------- diff --git a/docs/_includes/feature-item.html b/docs/_includes/feature-item.html new file mode 100644 index 0000000..e91d6c2 --- /dev/null +++ b/docs/_includes/feature-item.html @@ -0,0 +1,4 @@ + +<div class="feature-item"> + <div class="feature-title">{{ include.title }}</div> + <div class="feature-body"> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/footer.html ---------------------------------------------------------------------- diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html index f9121cf..a821b5e 100644 --- a/docs/_includes/footer.html +++ b/docs/_includes/footer.html @@ -10,8 +10,10 @@ </div> <div class="col-md-2"> <a class="btn btn-sm btn-default" href="https://github.com/apache/incubator-brooklyn/edit/master/docs/{{ page.path }}">Edit This Page</a> - <br /> - <a href="{{ site.url_root }}{{ site.path.website }}/community/how-to-contribute-docs.html">help with editing</a> + <a href="{{ site.url_root }}{{ site.path.website }}/community/how-to-contribute-docs.html" + data-toggle="tooltip" data-placement="top" title="How to Edit Documentation" data-delay="400"/> + <span class="octicon octicon-question octicon-footer"></span> + </a> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/java_link.html ---------------------------------------------------------------------- diff --git a/docs/_includes/java_link.html b/docs/_includes/java_link.html new file mode 100644 index 0000000..01ac1d7 --- /dev/null +++ b/docs/_includes/java_link.html @@ -0,0 +1,18 @@ +{% comment %} + +includes a code-formatted class name with link to its javadoc and optionally its source code + +usage: + +{ % include java_link.html class_name="JcloudsLocationConfig" package_path="brooklyn/location/jclouds" project_subpath="location/jclouds" % } + + +{% endcomment %}{% if include.project_subpath %}<code>{{ include.class_name }}</code> + (<a href="{{ site.path.guide }}/misc/javadoc/{{ include.package_path }}/{{ include.class_name }}.html">javadoc</a>, + <a href="{{ site.brooklyn.url.git }}/{{ include.project_subpath }}/src/main/java/{{ include.package_path }}/{{ include.class_name }}.java">src</a>){% comment %} +{% endcomment %}{% else %}<a href="{{ site.path.guide }}/misc/javadoc/{{ include.package_path }}/{{ include.class_name }}.html"> +<code>{{ include.class_name }}</code></a> +{% endif %}{% comment %} + +must NOT have a newline at the end here, as the include is often done inline +{% endcomment %} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/list-children.html ---------------------------------------------------------------------- diff --git a/docs/_includes/list-children.html b/docs/_includes/list-children.html index 68f8b5c..0c327f3 100644 --- a/docs/_includes/list-children.html +++ b/docs/_includes/list-children.html @@ -2,6 +2,8 @@ TODO style this much better {% endcomment %} +<div class="list-children"><ul> {% for item in page.menu %} -* [{{ item.title }}]({{ item.url }}) -{% endfor %} \ No newline at end of file +<li> <a href="{{ item.url }}">{{ item.title }}</a> </li> +{% endfor %} +</ul></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/sidebar.html ---------------------------------------------------------------------- diff --git a/docs/_includes/sidebar.html b/docs/_includes/sidebar.html deleted file mode 100644 index cea3ba4..0000000 --- a/docs/_includes/sidebar.html +++ /dev/null @@ -1,77 +0,0 @@ - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you 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. ---> - - -{% if page.toc %} - {% assign p = page.toc %} -{% else %} - {% assign p = 'toc.json' %} -{% endif %} -{% capture toc_string %}{% readj p %}{% endcapture %} -{% jsonball toc from var toc_string %} - -{% capture pagesiteurl %}{{ page.url }}{% endcapture %} - -<div id="sidebar_toc"> -{% for x in toc %} - {% capture ifactive %}{% if pagesiteurl == x.file %}toc-active - {% else %}{% if x.children %}{% for x2 in x.children %} - {% if pagesiteurl == x2.file %}toc-active{% else %}{% if x2.children %}{% for x3 in x2.children %} - {% if pagesiteurl == x3.file %}toc-active{% endif %} - {% endfor %}{% endif %} - {% endif %} - {% endfor %}{% endif %} - {% endif %}{% endcapture %} - {% capture ifactive %}{{ ifactive | trim }}{% endcapture %} - - <div class="toc-1 {{ ifactive }}"> - {% if x.children %} - <a href="{{ x.file }}"><div class="toc-1-item toc-1-header {% if pagesiteurl == x.file %}{% if x.exclude %}{% else %} toc-active{% endif %}{% endif %}">{{ x.title }}</div></a> - <div class="toc-1-children"> - {% for x2 in x.children %} - {% capture ifactive %}{% if pagesiteurl == x2.file %}toc-active{% else %}{% if x2.children %}{% for x3 in x2.children %} - {% if pagesiteurl == x3.file %}toc-active{% endif %} - {% endfor %}{% endif %} - {% endif %}{% endcapture %} - {% capture ifactive %}{{ ifactive | trim }}{% endcapture %} - <div class="toc-2 {{ ifactive }}"> - {% if x2.children %} - <a href="{{ x2.file }}"><div class="toc-2-item toc-2-header{% if pagesiteurl == x2.file %}{% if x2.exclude %}{% else %} toc-active{% endif %}{% endif %}">{{ x2.title }}</div></a> - <div class="toc-2-children-popup"><div class="toc-2-children"> - {% for x3 in x2.children %} - {% capture ifactive %}{% if pagesiteurl == x3.file %}toc-active{% endif %}{% endcapture %} - <div class="toc-3 {{ ifactive }}"> - <a href="{{ x3.file }}"><div class="toc-3-item{% if pagesiteurl == x3.file %}{% if x3.exclude %}{% else %} toc-active{% endif %}{% endif %}">{{ x3.title }}</div></a> - </div> - {% endfor %} - </div></div> - {% else %} - <a href="{{ x2.file }}"><div class="toc-2-item{% if pagesiteurl == x2.file %} toc-active{% endif %}">{{ x2.title }}</div></a> - {% endif %} - </div> - {% endfor %} - </div> - {% else %} - <a href="{{ x.file }}"><div class="toc-1-item{% if pagesiteurl == x.file %} toc-active{% endif %}">{{ x.title }}</div></a> - {% endif %} - </div> -{% endfor %} -</div> -<br/> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/sidemenu.html ---------------------------------------------------------------------- diff --git a/docs/_includes/sidemenu.html b/docs/_includes/sidemenu.html new file mode 100644 index 0000000..ec3cf1c --- /dev/null +++ b/docs/_includes/sidemenu.html @@ -0,0 +1,244 @@ +<div class="list-group side-menu" id="side-menu"> +{% comment %} + + Case 1) If we're the landing page show nothing. + Case 2) If we're contained in the top (landing page) menu, show our menu if we have one. + Case 3a) Otherwise if we're contained in a menu, show that menu. + Case 3b) And if we have a menu, show our menu nested. + + Note the breadcrumbs are offset:1. This is because usually breadcrumbs include the root; + but also if we're overriding breadcrumbs it gives us a way to set a topmenu item (making it breadcrumb[0]) + while customizing the side menu (make self breadcrumb[1]). +{% endcomment %} + +{% unless page.landing %} + {% if page.menu_parent %} + {% if page.menu_parent.landing %} {% comment %} case 2 {% endcomment %} + {% for item in page.breadcrumb_pages offset:1 %} + <h4 class="{% if forloop.index0 > 0 %} with_preceding{% endif %}{% if forloop.rindex0 > 0 %} with_following{% endif %}"> + <a href="{{item.url}}" class="list-group-item{% if item.path == page.menu_path %} active{% endif %} breadcrumb breadcrumb{{ forloop.index0 }}"> + {{ item.title_in_menu }}</a></h4> + {% endfor %} + + {% for item in page.menu %} + <a href="{{item.url}}" class="list-group-item{% if page.breadcrumbs contains item %} active{% endif %}">{{ item.title_in_menu }} + {% if item.external %} <span class="octicon octicon-link-external"></span>{% endif %}</a> + {% endfor %} + + {% else %} {% comment %} case 3a {% endcomment %} + {% for item in page.menu_parent.breadcrumb_pages offset:1 %} + <h4 class="{% if forloop.index0 > 0 %} with_preceding{% endif %}{% if forloop.rindex0 > 0 %} with_following{% endif %}"> + <a href="{{item.url}}" class="list-group-item{% if item.path == page.menu_path %}{% unless item.menu_customization.force_inactive %} active{% endunless %}{% endif %} breadcrumb breadcrumb{{ forloop.index0 }}"> + {{ item.title_in_menu }} + {% if item.external %} <span class="octicon octicon-link-external"></span>{% endif %}</a></h4> + {% endfor %} + {% for item in page.menu_parent.menu %} + {% if page.breadcrumb_paths contains item.menu_path %}{% assign in_menu = true %}{% else %}{% assign in_menu = false %}{% endif %} + {% if in_menu and page.menu %} + {% comment %} case 3b {% endcomment %} + <a href="{{item.url}}" class="list-group-item active with-sub-item">{{ item.title_in_menu }} + {% if item.external %} <span class="octicon octicon-link-external"></span>{% endif %}</a> + <div class="sub-item"> + {% for item2 in page.menu %} + {% capture item_section_classes %}{% if item2.section %} section{% endif %}{% endcapture %} + <a href="{{item2.url}}" class="list-group-item sub-item {{ item_section_classes }}" {% if item2.section %}section-target="#{{ item2.section }}"{% endif %}> + {{ item2.title_in_menu }} + {% if item2.external %} <span class="octicon octicon-link-external"></span>{% endif %}</a> + {% endfor %} + </div> + {% else %} + {% comment %} case 3a side menu item {% endcomment %} + <a href="{{item.url}}" class="list-group-item{% if page.breadcrumb_paths contains item.menu_path %}{% unless item.menu_customization.force_inactive %} active{% endunless %}{% endif %}">{{ item.title_in_menu }} + {% if item.external %} <span class="octicon octicon-link-external"></span>{% endif %}</a> + {% endif %} + {% endfor %} + + {% endif %} + {% elsif page.menu %} + <!-- no pages have a menu without being in the top menu, won't come here --> + {% endif %} +{% endunless %} + +</div> +<div id="width_reference"></div> + + +<script language="JavaScript" type="application/javascript"> + +{% comment %} +the menu is css position:fixed so won't scroll; +but also it will not obey its parents width. +set the width on load and on resize. +{% endcomment %} +sidemenu_x_sizer=function(){ $('#side-menu').width($('#side-menu').parent().find('#width_reference').outerWidth()); }; +$(sidemenu_x_sizer); +$(window).resize(sidemenu_x_sizer); + +{% comment %} +also ensure the screen is big enough, else revert to non-floating menu: +check y-height, and check widths (in case it was moved to after the other column) +{% endcomment %} +sidemenu_y_nonfloater=function(){ + if ($('#side-menu').outerHeight(true) + $('#header').outerHeight(true) + $('#footer').outerHeight(true) > window.innerHeight || + $('#side-menu').width() >= $('#content_container').width()/2) { + $('#side-menu').css('position', 'inherit'); + } else { + // restore if screen has grown + $('#side-menu').css('position', 'fixed'); + } +}; +$(sidemenu_y_nonfloater); +$(window).resize(sidemenu_y_nonfloater); + +{% comment %} +auto-advance "sections" in menu on scroll +{% endcomment %} + +var sideMenu = $("#side-menu"), + sideItems = sideMenu.find("a"), + // Anchors corresponding to menu items + scrollItems = sideItems.map(function(){ + var item = $(this).attr("section-target"); + if (item && item.length) { return item; } + }); + +var highlight_section_last_top = -1; +var highlight_section_completed = false; + +var highlight_section = function() { + // Get container scroll position + var highlight_section_new_top = $(this).scrollTop(); + if (highlight_section_new_top == highlight_section_last_top) return; + var highlight_section_new_bottom = highlight_section_new_top + $(window).height(); + var scroll_advancing = (highlight_section_new_top > highlight_section_last_top); + + var last_item = null, active_item = $("#side-menu a.section#active"); + + var found_top = false; + var displayable_items = scrollItems.map(function(itemI){ + item = $(scrollItems[itemI]); + if (item && item.length) { + if (highlight_section_last_top == -1 || !highlight_section_completed) { + // just opening page - take item matching hash, or otherwise the first item visible + if (item.selector === window.location.hash || (item.offset().top > highlight_section_new_top - 20 && !found_top)) { + found_top = true; + if (item.selector === window.location.hash && item.offset().top < highlight_section_new_top + 60) { + // because of our top header, we need to scroll 64px down from any link + $('html, body').animate({scrollTop: item.offset().top - 64}, 0); + } + return item; + } + } else if (scroll_advancing) { + // if scrolling advance, pick up a section when title starts before 1/3 height + if (item.offset().top < highlight_section_new_top + $(window).height()/3) + return item; + + // or if containing div is finished (usu the whole main content) + div_containing_item = item.closest("div"); + if (div_containing_item.offset().top + div_containing_item.height() < highlight_section_new_bottom + 15) + return item; + // or when next title is visible + if (last_item && item.offset().top < highlight_section_new_bottom + 15) + return last_item; + } else { + // if scrolling back, pick up a section as soon as the title is visible, + if (item.offset().top < highlight_section_new_top) + return item; + // or if title is before the 2/3 point + // (not sure about this, probably want also to have + // "AND the id.top is <= displayable_itemsrent_active_it.top" so we don't jump FORWARD a section + // when scrolling BACK, with lots of tiny sections) + if ((item.offset().top < highlight_section_new_top + 2*$(window).height()/3) + && (!active_item || !active_item.offset() || active_item.offset().top >= item.offset().top)) + return item; + + } + last_item = item; + } + }); + if (!highlight_section_completed && document.readyState === "complete") { + highlight_section_completed = true; + } + if (!displayable_items.length) { + $("#side-menu a.section").removeClass("active"); + } else { + displayable_items = displayable_items[displayable_items.length-1]; + var id = displayable_items && displayable_items.length ? displayable_items[0].id : ""; + // Set/remove active class + new_active = $("#side-menu a.section").filter("[section-target='#"+id+"']"); + if (new_active.hasClass("active")) { + // nothing needed + } else { + $("#side-menu a.section").removeClass("active"); + $("#side-menu a.section").filter("[section-target='#"+id+"']").addClass("active"); + } + } + + highlight_section_last_top = highlight_section_new_top; +}; +var highlight_new_section = function() { + highlight_section_completed = false; + highlight_section_last_top = -1; + highlight_section(); +} + +$(window).scroll(highlight_section); +$(highlight_new_section); + +// detect link change - courtesy http://www.bennadel.com/blog/1520-binding-events-to-non-dom-objects-with-jquery.htm + ( + function( $ ){ + // Default to the current location. + var strLocation = window.location.href; + var strHash = window.location.hash; + var strPrevLocation = ""; + var strPrevHash = ""; + + // This is how often we will be checkint for + // changes on the location. + var intIntervalTime = 100; + + // This method removes the pound from the hash. + var fnCleanHash = function( strHash ){ + return( + strHash.substring( 1, strHash.length ) + ); + } + + // This will be the method that we use to check + // changes in the window location. + var fnCheckLocation = function(){ + // Check to see if the location has changed. + if (strLocation != window.location.href){ + + // Store the new and previous locations. + strPrevLocation = strLocation; + strPrevHash = strHash; + strLocation = window.location.href; + strHash = window.location.hash; + + // The location has changed. Trigger a + // change event on the location object, + // passing in the current and previous + // location values. + $( window.location ).trigger( + "change", + { + currentHref: strLocation, + currentHash: fnCleanHash( strHash ), + previousHref: strPrevLocation, + previousHash: fnCleanHash( strPrevHash ) + } + ); + + } + } + + // Set an interval to check the location changes. + setInterval( fnCheckLocation, intIntervalTime ); + } + )( jQuery ); +// and trigger highlight section on link change +$(window.location).bind("change", highlight_new_section); + +</script> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/sitemap-item.html ---------------------------------------------------------------------- diff --git a/docs/_includes/sitemap-item.html b/docs/_includes/sitemap-item.html new file mode 100644 index 0000000..e2034f5 --- /dev/null +++ b/docs/_includes/sitemap-item.html @@ -0,0 +1,36 @@ +{% pop site_items item %} +{% set_hash_entry item path item_path %} +{% set_hash_entry item url item_url %} + +{% unless item_path %} + {% unless item_url %} + {% puts error, null item_url %} + {% putp item %} + {% putv item_url %} + {% fail item missing path and url (jekyll block evaluation order can cause this) %} + {% endunless %} +{% endunless %} + +<a id="{{ item_path }}" name="{{ item_path }}" href="javascript:void(0);"></a> +<li> + {% if visited contains item_path %} + {{ item['title'] }} <a href="#{{ item_path }}"><span class="octicon octicon-link-external flip"></span></a> + {% elsif item['external'] %} + {{ item['title'] }} <a href="{{ item['url'] }}"><span class="octicon octicon-link-external"></span></a> + + {% else %} + <a href="{{ item['url'] }}">{{ item['title'] }}</a> + {% if item['menu'] %} + {% push visited item_path %} + <ul> + {% push site_items item %} + {% assign last_item = site_items[-1] %} + {% for item in last_item['menu'] %} + {% push site_items item %} + {% include sitemap-item.html %} + {% endfor %} + {% pop site_items item %} + </ul> + {% endif %} + {% endif %} +</li> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/topbar.html ---------------------------------------------------------------------- diff --git a/docs/_includes/topbar.html b/docs/_includes/topbar.html deleted file mode 100644 index 3c3cb7d..0000000 --- a/docs/_includes/topbar.html +++ /dev/null @@ -1,49 +0,0 @@ - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you 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. ---> - -{% assign p = '/guide/toc-menu.json' %} -{% capture tocm_string %}{% readj p %}{% endcapture %} -{% jsonball tocm from var tocm_string %} - -{% capture pagesiteurl %}{{ page.url }}{% endcapture %} - -<ul id="mainmenu"><!-- INSERT LINKS --> - -{% for x in tocm %} - {% capture ifactive %} - {% if pagesiteurl == x.file %}toc-active - {% else %}{% if x.children %}{% for x2 in x.children %} - {% if pagesiteurl == x2.file %}toc-active - {% else %}{% if x2.children %}{% for x3 in x2.children %} - {% if pagesiteurl == x3.file %}toc-active - {% else %}{% if x3.children %}{% for x4 in x3.children %} - {% if pagesiteurl == x4.file %}toc-active{% endif %} - {% endfor %}{% endif %} - {% endif %} - {% endfor %}{% endif %} - {% endif %} - {% endfor %}{% endif %} - {% endif %} - {% endcapture %} - {% capture ifactive %}{{ ifactive | trim }}{% endcapture %} - <li class="{{ifactive}}"><a href="{{ x.file }}">{{x.title}}</a></li> -{% endfor %} - -</ul> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_includes/topmenu.html ---------------------------------------------------------------------- diff --git a/docs/_includes/topmenu.html b/docs/_includes/topmenu.html index b9d8e6f..0275794 100644 --- a/docs/_includes/topmenu.html +++ b/docs/_includes/topmenu.html @@ -1,8 +1,10 @@ <nav class="navbar navbar-default navbar-fixed-top" id="header" role="navigation"> <div class="container-and-sidebars"> - <div class="container-sidebar-left"> - <img src="{{ site.path.style }}/img/feather.png" alt="[feather]" width="80" class="flip navbar-feather"> + <div class="container-sidebar-left feather{% if page.landing %} landing{% endif %}"> + <a href="http://www.apache.org/"> + <img src="{{ site.path.style }}/img/feather.png" alt="[Apache]" width="80" class="flip navbar-feather"> + </a> </div> <div class="container container-between-sidebars top-menu"> @@ -35,7 +37,8 @@ {% if item2.menu_customization.dropdown_new_section %} <div class="dropdown_new_section"><hr></div> {% endif %} - <a href="{{item2.url}}">{{item2.title_in_menu}}</a> + <a href="{{item2.url}}">{{item2.title_in_menu}} + {% if item2.external %} <span class="octicon octicon-link-external"></span>{% endif %}</a> {% if item2.menu_customization.dropdown_section_header %} <div class="dropdown_section_header"><hr></div> {% endif %} @@ -57,13 +60,14 @@ <div class="container-sidebar-right"> <div class="navbar-sidebar-right-icons"> <a href="https://github.com/apache/incubator-brooklyn" class="navbar-icon navbar-icon-shift icon-github" - data-toggle="tooltip" data-placement="bottom" title="GitHub: apache/incubator-brooklyn" data-delay="400"/> + data-toggle="tooltip" data-placement="bottom" title="GitHub: apache/incubator-brooklyn"/> <a href="https://twitter.com/#!/search?q=brooklyncentral" class="navbar-icon navbar-icon-shift icon-twitter" - data-toggle="tooltip" data-placement="bottom" title="Twitter: @brooklyncentral" data-delay="400"/> + data-toggle="tooltip" data-placement="bottom" title="Twitter: @brooklyncentral"/> <a href="http://webchat.freenode.net/?channels=brooklyncentral" class="navbar-icon icon-irc" - data-toggle="tooltip" data-placement="bottom" title="IRC: freenode #brooklyncentral" data-delay="400"/> - <!-- extra a element seems needed as landing page seems to copy the last element here (!?) --> - <a href="." style="width: 0px; height: 0px;"></a> + data-toggle="tooltip" data-placement="bottom" title="IRC: freenode #brooklyncentral"/> + <!-- extra a element seems needed as landing page seems to copy the last element here (!?) + --> + <a href="/" style="width: 0px; height: 0px;"></a> </div> </div> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac204e2e/docs/_layouts/base.html ---------------------------------------------------------------------- diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html index c6713b2..b803569 100644 --- a/docs/_layouts/base.html +++ b/docs/_layouts/base.html @@ -24,19 +24,161 @@ under the License. {{ content }} +<script src="//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.1/ZeroClipboard.min.js"></script> + <script language="JavaScript" type="application/javascript"> - $(window).resize(function () { + fix_padding_function = function () { $('body').css('padding-top', parseInt($('#header').css("height"))+10); $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10); + }; + $(window).resize(fix_padding_function); + $(window).load(fix_padding_function); + + $(function () { + $('[data-toggle="tooltip"]').tooltip({ delay: { show: 600, hide: 100 }}) }); - $(window).load(function () { - $('body').css('padding-top', parseInt($('#header').css("height"))+10); - $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10); +/* generate anchors for headers, a la github and http://blog.parkermoore.de/2014/08/01/header-anchor-links-in-vanilla-javascript-for-github-pages-and-jekyll/ */ +var anchorForId = function (id, text) { + var anchor = document.createElement("a"); + anchor.className = "header-link"; + anchor.href = "#" + id; + anchor.innerHTML = "<i class=\"fa fa-link\"></i>"; + return anchor; +}; + +var linkifyAnchors = function (level, containingElement) { + var headers = contentBlock.find("h" + level); + for (var h = 0; h < headers.length; h++) { + var header = headers[h]; + if (typeof header.id !== "undefined" && header.id !== "") { + header.appendChild(anchorForId(header.id, $(header).text())); + } + } +}; + +$(function () { + contentBlock = $("#content_container"); + if (!contentBlock) return; + for (var level = 1; level <= 6; level++) { + linkifyAnchors(level, contentBlock); + } +}); + +<!-- Clipboard support --> + ZeroClipboard.config({ moviePath: '//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.1/ZeroClipboard.swf' }); + +$(function() { + $('div.highlight').prepend( + $('<div class="clipboard_container" title="Copy to Clipboard">'+ + '<div class="fa clipboard_button">'+ + '<div class="on-active"><div>Copied to Clipboard</div></div>'+ + '</div></div>')); + $('div.clipboard_container').each(function(index) { + var clipboard = new ZeroClipboard(); + clipboard.clip( $(this).find(":first")[0], $(this)[0] ); + var target = $(this).next(); + var txt = target.text().trim(); + if (target.find('code.bash')) { + // Strip out bash prompts from the start of each line (i.e. '$' or '%' characters + // at the very start, or immediately following any newline). Correctly handles continuation + // lines, where a leading '$' or '%' is *not* a prompt character. + txt = txt.replace(/(^|[^\\]\n)[$%] /g, "$1"); + } + clipboard.on( 'dataRequested', function (client, args) { + client.setText( txt ); }); - $(function () { - $('[data-toggle="tooltip"]').tooltip() - }) + }); +}); + +<!-- search --> + $(function() { + $('#simple_google') + .submit(function() { + $('input[name="q"]').val("site:" + document.location.hostname + " " + $('input[name="brooklyn-search"]').val()); + return true; + }); + $('input[name="brooklyn-search"]').focus(function() { + if ($(this).val() === $(this).attr('placeholder')) { + $(this).val(''); + } + }) + .blur(function() { + if ($(this).val() === '') { + $(this).val($(this).attr('placeholder')); + } + }) + .blur(); + }); + + + <!-- analytics --> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-30530918-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + + +<!-- page warning (for archive pages) --> +{% comment %} +TODO insert the warning html at generation-time (jekyll) rather than runtime (JS) +{% endcomment %} +{% if page.path contains 'guide/' %} + $(function() { + if (document.location.pathname.replace(/^\/([^\/]*).*$/, '$1') === "v"){ + var thisversion = document.location.pathname.split("/")[2], + msg = ""; + if (thisversion != 'latest' && (!$.cookie('brooklyn_versions') || + (($.inArray('ALL', $.cookie('brooklyn_versions').split(",")) === -1) && + ($.inArray(thisversion, $.cookie('brooklyn_versions').split(",")) === -1))) ){ + msg += "<div class='warning_banner_image'><img src='{{ site.path.style }}/img/warning.png'/></div>"; + msg += "<p>You are browsing the archive site for version <strong>"+thisversion+"</strong>.</p>"; + if (thisversion.indexOf("SNAPSHOT") >= 0) { + msg += "<p>Note that SNAPSHOT versions have not been voted on and are not endorsed by the Apache Software Foundation.</p>"; + msg += "<p>Do you understand and accept the risks?</p>"; + } else { + msg += "<p>Is this deliberate?</p>"; + } + msg += "<center><p class='warning_banner_buttons'>"; + msg += "<a href = 'javascript:void(0);' onclick=\"set_user_version('"+thisversion+"');\">Yes, hide this warning</a>"; + msg += "<a href = '{{ site.path.guide }}'>No, take me to the latest version guide</a>"; + msg += "<a href = '{{ site.path.website }}/meta/versions.html'>Show all versions</a>"; + msg += "</p></center>" + + $('#page_notes').html(msg); + $('#page_notes').fadeIn('slow'); + } + } + }); +{% endif %} + function get_user_versions() { + return $.cookie("brooklyn_versions") ? $.cookie("brooklyn_versions").split(",") : []; + }; + function set_user_version(version) { + var version_cookie = get_user_versions(); + version_cookie.push(version); + $.cookie('brooklyn_versions', version_cookie, { expires: 365, path: '/' }); + $('#page_notes').fadeOut(); + event.preventDefault ? event.preventDefault() : event.returnValue = false; + }; + function set_user_versions_all() { + var version_cookie = get_user_versions(); + version_cookie.push("ALL"); + $.cookie('brooklyn_versions', version_cookie, { expires: 365, path: '/' }); + $('#page_notes').fadeOut(); + event.preventDefault ? event.preventDefault() : event.returnValue = false; + }; + function clear_user_versions() { + $.removeCookie('brooklyn_versions', { path: '/' }); + $('#page_notes').fadeIn('slow'); + event.preventDefault ? event.preventDefault() : event.returnValue = false; + }; + </script> </body>
